plants.csv
Defining your own set of plants
How to change
Edit the plants.csv file in the plugin's configuration folder. The file is editable with a text editor but also can be edited with a spreadsheet application permitted that it creates the same format when storing.
The default plants.csv file will be installed in the plugin configuration folder when you first run the plugin.
From v7 on, plants.csv contains a VERSION marker that will allow the plugin to spot an outdated file, and will warn you when the plugin loads on the console. In doubt, please remove your plants.csv and let the plugin install a new default version for you.
How it works
At startup, the plugin reads the plants.csv file and parses each line. Each line starts with a Biome name (e.g. FOREST) and then "the plant to plant", plus some parameters. This combination allows you to plant any type of plant in any Biome, and have different densities for a plant in a forest vs. in a field, or plant something on sand instead of dirt, or even on top of gravel.
Format
Empty lines are ignored. Lines with '#" anywhere are ignored entirely. No spaces may be present in fields.
Proper entries have 5 fields. Each field has specific meaning and requirements.
the format looks like this:
<Biome>,<target-plant>:<target-byte>,<base-block-type>,<scan-block-type>:<scan-byte>,<density>
- Biome: A valid bukkit Biome enum name. You do not need to distinguish between MESA and MESA_*, as the plugin considers them equivalent, so for instance a TAIGA is considered identical to a COLD_TAIGA.
- target-plant: A valid bukkit Material enum name. Example: LONG_GRASS
- target-byte: A required data byte for target-plant. Example: for normal grass this is 1.
- base-block-type: A valid bukkit Material enum name. Example: DIRT or GRASS. The plant will only be planted if the block underneath it is exactly this Material.
- scan-block-type: A valid bukkit Material enum name. Example: LONG_GRASS. This field allows you to scan for one type of block, and plant another, allowing you to look at LEAVES but plant a SAPLING.
- scan-byte: A required data byte for scan-plant. Example: for a sunflower this is 0.
- density: A float value (0.0 to 1.0) that defines how dense this plant may be planted. If the density of this plant type is higher than the value given here, the plant will not be planted.
Biome equivalents
Many Biome's have primary and derivative sub-biomes, like TAIGA and TAIGA_HILLS. They are essentially planted in exactly the same densities and plant varieties, so Botany treats them equally. Here is a table of which Biomes are treated identical.
SWAMPLAND: SWAMPLAND_MOUNTAINS FOREST: FOREST_HILLS BIRCH_FOREST: BIRCH_FOREST_HILLS, BIRCH_FOREST_MOUNTAINS, BIRCH_FOREST_HILLS_MOUNTAINS TAIGA: TAIGA_MOUNTAINS, COLD_TAIGA, COLD_TAIGA_HILLS, MEGA_TAIGA, MEGA_TAIGA_HILLS, TAIGA_HILLS, COLD_TAIGA_MOUNTAINS, MEGA_SPRUCE_TAIGA, MEGA_SPRUCE_TAIGA_HILLS: JUNGLE: JUNGLE_HILLS, JUNGLE_EDGE, JUNGLE_MOUNTAINS, JUNGLE_EDGE_MOUNTAINS SAVANNA: SAVANNA_PLATEAU, SAVANNA_MOUNTAINS, SAVANNA_PLATEAU_MOUNTAINS MESA: MESA_PLATEAU_FOREST, MESA_PLATEAU, MESA_BRYCE, MESA_PLATEAU_FOREST_MOUNTAINS, MESA_PLATEAU_MOUNTAINS DESERT: DESERT_HILLS, DESERT_MOUNTAINS BEACH: STONE_BEACH, COLD_BEACH OCEAN: DEEP_OCEAN, FROZEN_OCEAN RIVER: FROZEN_RIVER EXTREME_HILLS: SMALL_MOUNTAINS, EXTREME_HILLS_PLUS, EXTREME_HILLS_MOUNTAINS, EXTREME_HILLS_PLUS_MOUNTAINS: ROOFED_FOREST: ROOFED_FOREST_MOUNTAINS ICE_PLAINS: ICE_MOUNTAINS MUSHROOM_ISLAND: MUSHROOM_SHORE
How to read/use this table: If you put SWAMPLAND in plants.csv, then the plant defined in that line will be planted in both SWAMPLAND and SWAMPLAND_MOUNTAINS.
Share
Please post comments on this page with new plants that you'd like to see added to the default plant.csv file! If you post them here, I can include them with plugin updates.
Comments