Adding custom worldgen hives

 

Custom beehives are added using the HiveGen configuration statement.

HiveGen {id} {
    {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}]
  • 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} …])
  • 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}]
   
}
  • 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}
  • 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

 Posted by at 12:00 pm