2.1 KiB
EntityDef
Overview
In id Tech 4, we have been introduced to external entity definitions. They are pretty straightforward by merely being a set of default values for an existing entity class.
This can be used in a variety of ways.
- Create new entity classes with new behaviour without any code
- Create a base class that other entityDefs can inherit from
- Create prefabs that get updated across all maps
This system can also be used in combination with MapTweaks, where an entityDef is used instead of a base class depending on the parameters you decide to test.
Syntax
Let's take a look at an example EntityDef:
entityDef item_health_small {
"spawnclass" "item_health"
"spawnflags" "1"
}
This is from the port of Deathmatch Classic, and will ensure that item_health_small from Quake III Arena gets spawned as an item_health with its spawnflags set to the one that will make it a small health pickup.
You can have as many key/value pairs as you like. However, you can only specify one spawnclass and you cannot do circular inheritance.
Special Keys
These are reserved keys and are meant to be used by the build_game.sh script to generate an entities.def file for your game.
Key | Description |
---|---|
editor_usage | Description text used by the editor. |
editor_model | Model to use in the editor. |
editor_var KEY | Description text for the specified key. |
editor_color | Normalized color vector defining the bounding box color in the editor. |
editor_mins | Vector defining the mins of the entity bounding box. |
editor_maxs | Vector defining the maxs of the entity bounding box. |