@screeps-arena-community/types
v1.0.3
Published
TypeScript type definitions for Screeps Arena
Maintainers
Readme
@screeps-arena-community/types
TypeScript type definitions for Screeps Arena.
Installation
npm install --save-dev @screeps-arena-community/typesQuick Start
Add the package to your tsconfig.json:
{
"compilerOptions": {
"types": ["@screeps-arena-community/types"],
"moduleResolution": "bundler",
"module": "ESNext",
"target": "ES2020"
}
}That's it! No additional configuration needed.
Usage
Core Game API
The core game API is available for all arena modes:
import { Creep, Spawn } from 'game/prototypes'
import { getObjectsByPrototype } from 'game/utils'
import { ATTACK, MOVE, HEAL } from 'game/constants'
export function loop() {
const myCreeps = getObjectsByPrototype(Creep).filter((c) => c.my)
// Your game logic here...
}Note: Import from module paths (e.g., "game/prototypes"), not from the npm package directly.
Season-Specific Types
Import types specific to your arena mode:
Season 1: Construct and Control
import {
StructureGoal,
AreaEffect,
} from 'arena/season_1/construct_and_control/basic'
import { EFFECT_DAMAGE } from 'arena/season_1/construct_and_control/basic/constants'Season 1: Portal Exploration
import { Portal } from 'arena/season_1/portal_exploration/basic'
export function loop() {
const portals = getObjectsByPrototype(Portal)
// Navigate through portals...
}Season 2: Capture the Flag
import { BodyPart } from 'arena/season_2/capture_the_flag/basic'
export function loop() {
const droppedParts = getObjectsByPrototype(BodyPart)
// Collect body parts...
}Season 2: Power Split
import { BonusFlag } from 'arena/season_2/power_split/basic'
import { EFF_CONSTRUCT_BOOST } from 'arena/season_2/power_split/basic/constants'
export function loop() {
const flags = getObjectsByPrototype(BonusFlag)
// Capture bonus flags...
}Available Arena Modes
| Season | Mode | Import Path |
| -------- | --------------------- | -------------------------------------- |
| Season 1 | Construct and Control | arena/season_1/construct_and_control |
| Season 1 | Portal Exploration | arena/season_1/portal_exploration |
| Season 2 | Capture the Flag | arena/season_2/capture_the_flag |
| Season 2 | Power Split | arena/season_2/power_split |
Package Structure
@screeps-arena-community/types/
├── src/
│ ├── index.d.ts # Main entry (core game types)
│ ├── game/ # Core game API
│ │ ├── constants.d.ts
│ │ ├── prototypes/ # Game objects (Creep, Structure, etc.)
│ │ ├── utils.d.ts
│ │ ├── path-finder.d.ts
│ │ └── visual.d.ts
│ └── arena/ # Arena-specific types
│ ├── season_1/
│ │ ├── construct_and_control/
│ │ └── portal_exploration/
│ └── season_2/
│ ├── capture_the_flag/
│ └── power_split/Version Compatibility
| Package Version | Game Version | Notes | | --------------- | ------------ | ------------------------------------------ | | 1.0.0 | Season 1 & 2 | Initial release with all major arena modes |
Documentation
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
