Adding custom worldgen hives
Custom beehives are added using the HiveGen configuration statement.
HiveGen {id} {
{definition statements}
}
{definition statements}
}
- Id must me unique to this hive and will be used in block names and registration with Forestry
- Statements control all parameters of spawning, drops and visuals of the beehive
- All statements are optional and if not provided default values will be used
- Unless otherwise specified, repeated statements of the same type will be ignored
Definition Statements
SpawnIf {condition}
- If condition is not satisfied the hive will not be registered and will not spawn
- Can be repeated to define multiple conditions that must all be satisfied
YLevel {number} – {number}
- If specified the hive will spawn only between those levels (inclusive)
- Default is 0 – 255
SpawnChance {number}
- Spawn chance multiplier – Higher will spawn more hives; lower will spawn less
- Higher numbers may be needed for hives with special spawning conditions
- Default is 1
SpawnDebug
- Will write coordinates of spawned hives to log if present
Biome {string} [, {string}] …
Humidity {string} [, {string}] …
Temperature {string} [, {string}] …
Humidity {string} [, {string}] …
Temperature {string} [, {string}] …
- Specifies conditions in which hive can spawn
- Biome names with spaces or non-alphanumeric characters must be quoted
- Humidity values: Arid, Normal, Damp
- Temperature values: Icy, Cold, Normal, Warm, Hot, Hellish
- Multiple conditions can be specified, separated by commas
- Can be repeated – all conditions will be merged to a single list
- If not specified – hive will be able to spawn anywhere
Above (Air|Leaves|Replaceable|{StackRef} [, {StackRef} …])
Under (Air|Leaves|Replaceable|{StackRef} [, {StackRef} …])
NextTo (Air|Leaves|Replaceable|{StackRef} [, {StackRef} …])
Near (Air|Leaves|Replaceable|{StackRef} [, {StackRef} …])
Replace (Air|Leaves|Replaceable|{StackRef} [, {StackRef} …])
Under (Air|Leaves|Replaceable|{StackRef} [, {StackRef} …])
NextTo (Air|Leaves|Replaceable|{StackRef} [, {StackRef} …])
Near (Air|Leaves|Replaceable|{StackRef} [, {StackRef} …])
Replace (Air|Leaves|Replaceable|{StackRef} [, {StackRef} …])
- Specifies conditions on exact spawning locations:
- Above – Hive will only spawn above matching blocks
- Under – Hive will only spawn under matching blocks
- NextTo – Hive will only spawn next to matching blocks on the same Y level
- Near – Hive will only spawn near a matching block (on any axis)
- Replace – Hive will only spawn in place of a matching block (replacing it)
- Parameters can be
- Stack Reference (multiple can be specified separated by comas)
- Air – Specifies empty blocks or blocks that are considered air
- Leaves – Specifies any kind of leaves
- Replaceable – Specifies any block that minecraft considers replaceable (plants, etc)
- If multiple Stack References are in one condition only one has to match to satisfy the condition
- If multiple conditions are specified – all must match for a location to be considered valid
- If no replace condition is specified, the hive will default to replacing air blocks
Drops {
{chance}% {species} [({chance}% ignoble)] [+ {StackRef}] [+ {StackRef}] …
…
}
{chance}% {species} [({chance}% ignoble)] [+ {StackRef}] [+ {StackRef}] …
…
}
- Specifies drops from hive block, multiple entries can be present
- The first number is the chance for this entry to be chosen
- Species is the species allele UID in forestry
- Custom species added in Gendustry will have the form “gendustry.bee.{id}”
- You can use the /dumpalleles command (as server OP, or with cheats enabled) to get a list of all IDs
- The second number is the chance of ignoble princess drop (optional – by default all princesses will be pristine)
- Multiple additional drops can be specified by a plus sign followed by a Stack Reference
- A princess drop is guaranteed from every hive but drone and additional drops might be skipped if the chances are lower than 100%
TopTexture {string}
BottomTexture {string}
SideTexture {string}
BottomTexture {string}
SideTexture {string}
- Sets texture names for the hive block
- Texture will default to “gendustry:beehives/{id}/{top|side}” if not specified
- Bottom texture will default to the same as top if not specified
Color {number}
- Adds a color multiplier to the texture
- RGB values can be specified in hex as 0xRRGGBB
- Defaults to 0xFFFFFF if not specified (effectively multiplication by 1)
LightLevel {number}
- Sets light level emitted by hive
- Defaults to 0 if not specified
Localization
Localized name for hives must be provided – see custom localizations for more details
Examples
Example hive configuration can be found on github