-
Notifications
You must be signed in to change notification settings - Fork 9
BiomeTweaker 1.18
With the port to Minecraft 1.18, many features no longer exist or their syntax has changed. Below is a list of commands currently supported by BiomeTweaker for MC 1.18. A few other notable changes are given below as well.
- The only command is now
\biometweaker outputwhich generates the output files inconfig/biometweaker/output. Output files are no longer generated on startup. - The way Minecraft handles biomes has changed massively, so the way BT approaches tweaking biomes has changed. There are likely bugs and unforeseen scenarios. Please report them!
- A lot of this is accomplishable through resource packs. BiomeTweaker simply allows you to do these tweaks more easily.
- Advanced block and replacement usage should be the same as MC 1.12.
- BiomeTweakerCore is no longer required.
- There will be no method to create biomes through BT. This is much more easily accomplished through a data pack.
- Addition of features and carvers is data-driven. See the page on the new features and carvers system.
Example scripts can be found here.
This should function the same as it did in MC 1.12, excepting that custom decorations have been removed in favor of the new features and carvers system.
Below is a list of commands that exist in BT for MC 1.18
This is the same syntax as in MC 1.12, but the various properties you can set have changed. This command takes two arguments. The first argument is a String to determine what value is set, and the second is what to set that value to. The type for the second argument depends on the first argument. Possible first argument are given below.
-
"temperature" - Sets the base temperature of a biome. Takes a float value.
-
"temperatureModifier" - Sets the modifier used to calculate height-based temperature. Valid values are
"NONE"and"FROZEN". -
"precipitation" - Sets the type of precipitation in the biome. Setting this to snow is is not enough to make it snow, it also must be sufficiently cold (<0.15). Valid values are
"NONE","RAIN", and"SNOW". -
"downfall" - Sets the downfall of the biome. Takes a float value.
-
"grassColor" - Sets the grass color of the biome. Takes a hexadecimal color code in the form
0xRRGGBBor as a converted integer. -
"foliageColor" - Sets the foliage color of the biome. This is for things like leaves. Takes a hexadecimal color code in the form
0xRRGGBBor as a converted integer. -
"waterColor" - Sets the water color of the biome. Takes a hexadecimal color code in the form
0xRRGGBBor as a converted integer. -
"waterFogColor" - Sets the fog color you see underwater. Takes a hexadecimal color code in the form
0xRRGGBBor as a converted integer. -
"fogColor" - Sets the fog color you see above water. Takes a hexadecimal color code in the form
0xRRGGBBor as a converted integer. -
"skyColor" - Sets the color of the sky. Takes a hexadecimal color code in the form
0xRRGGBBor as a converted integer. -
"spawnProbability" - Sets the probability of spawning mobs in this biome. Takes a float value.
-
"category" - Sets the category of this biome. This is used for determining various aesthetic things and a few minor functional things. Look through the biome output files for the various values this accepts. An example is
"TAIGA". -
"disableSleep" - Sets if sleep should be disabled in this biome. Players will be unable to sleep in beds in this biome if this is true. Takes a boolean value.
-
"disableBonemeal" - Sets if bonemeal should be disabled in this biome. Players will be unable to use bonemeal in this biome. Comes with a config option determining whether or not the bonemeal is till consumed despite not doing anything. Takes a boolean value.
-
"disableCropGrowth" - Sets if crops should not be allowed to grow in this biome. This may not work for modded crops and does not prevent the player from using bonemeal to grow the crop. Takes a boolean value.
-
"disableSaplingGrowth" - Sets if saplings should not be allowed to grow in this biome. This may not work for modded spalings and does prevent the player from using bonemeal to grow the sapling. Takes a boolean value.
-
"ambientLoopSound" - Sets the ambient sound effect that plays on loop in a biome. Takes a resource location for the sound event.
-
"fogShape" - The shape of rendered fog around the player. Can be either "CYLINDER" or "SPHERE".
This commands is used to add Entity spawns to a biome. It has five arguments. First the category for this spawn which can be any valid mob category. Look through the entity output files to see the valid values for this. An example is "MONSTER". Second is the resource location of the entity you wish to spawn. Third is the weight (integer). Fourth is the minimum group size (integer), and fifth is the maximum group size (integer). You can alternatively specially "ALL" for the category to add this spawn to all categories.
Example:
taigaBiome.addSpawn("MONSTER", "minecraft:zombie", 20, 1, 5)
Used to remove an entity from a biome's spawn list. It takes a String argument for the mob category and a resource location for the entity. See the addSpawn command for possible mob categories. You can specify "ALL" for either or both the category and entity.
Example:
hellBiome.removeSpawn("MONSTER", "minecraft:spider")
Sets the spawn cost of entity. This determines how many entities can spawn in a biome by subtracting from the biome's 'energy'. Takes an entity resource location, a float for the per-entity spawn cost, and a float that determines the maximum spawn cost.
Example:
hellBiome.setSpawnCost("minecraft:spider", 1.5, 6)
This is used to remove features from a biome such as ores, trees, and chorus plants. Takes a decoration stage argument, for example, "UNDERGROUND_ORES", and a feature resource location. All features can be found in the feature output. You can alternatively specify "ALL" for either or both the stage and feature. Decoration stages (in order):
RAW_GENERATION, LAKES, LOCAL_MODIFICATIONS, UNDERGROUND_STRUCTURES, SURFACE_STRUCTURES, STRONGHOLDS, UNDERGROUND_ORES, UNDERGROUND_DECORATION, FLUID_SPRINGS, VEGETAL_DECORATION, TOP_LAYER_MODIFICATION
Example:
nether.removeFeature("UNDERGROUND_ORES", "minecraft:amethyst_geode")
Registers a custom data-defined feature. Can only be used with the Tweaker script object. See the feature and carver documentation for more details. Takes a string argument leading the placed feature json file. For example, the file config/biometweaker/features/custom_feature.json will be registered as biometweaker:custom_feature by the command:
Example"
Tweaker.registerCarver("custom_feature")
This is used to add features to a biome such as custom ores and trees. Takes a decoration stage argument, for example, "UNDERGROUND_ORES", and a feature resource location. This could be a vanilla feature or your own custom feature. See the feature documentation on how to make custom features. You can alternatively specify "ALL" for the stage.
Example:
overworld.addFeature("UNDERGROUND_ORES", "biometweaker:overworld_ancient_debris")
This is used to remove carvers from a biome such as caves and canyons. Takes a carving stage argument, for example, "AIR", and a feature resource location. All carvers can be found in the carver output. You can alternatively specify "ALL" for either or both the stage and carver. Carving stages (in order):
AIR, LIQUID
Example:
nether.removeCarver("AIR", "minecraft:cave")
Registers a custom data-defined carver. Can only be used with the Tweaker script object. See the feature and carver documentation for more details. Takes a string argument leading the configured carver json file. For example, the file config/biometweaker/carvers/custom_carver.json will be registered as biometweaker:custom_carver by the command:
Example"
Tweaker.registerCarver("custom_carver")
This is used to add carvers to a biome such as custom caves or canyons. Takes a carving stage argument and a carver resource location. This could be a vanilla carver or your own custom carver. See the feature and carver documentation on how to make custom carver. You can alternatively specify "ALL" for the stage.
Example:
overworld.addCarver("AIR", "biometweaker:big_caves")
Used to add a type to the BiomeDictionary for a biome. This is mainly used by other mods to keep tabs on biomes. New types must be created by the createDicType command, and the default types can be found [here] (excepting custom values)(https://github.com/MinecraftForge/MinecraftForge/blob/master/src/main/java/net/minecraftforge/common/BiomeDictionary.java).
Example:
taigaBiome.addDicTypes("BEACH")
Used to create a biome dictionary type. Only works with the Tweaker object. Takes a string name and a variable number of string names of subtypes. Subtypes must already exist in the biome dictionary.
Example:
Tweaker.createDicType("TROPICAL", "BEACH", "JUNGLE")
A very powerful command that allows you to register replacements for any block present after early generation. With vanilla generation, the only blocks present are stone and water (lava in the nether, endstone in the end). This takes two required arguments and one optional arguments. First, optionally, a weight. If there are multiple replacements registered for the same block, you can specify a selection weight here. If none is specified, it will default to 1. Second, the block that should be replaced. Third, the block to replace with. See the page on block replacement for more advanced uses of this command.
Example
taigaBiome.registerGenBlockRep("minecraft:stone", "minecraft:andesite")
taigaBiome.registerGenBlockRep(4, "minecraft:stone", "minecraft:sandstone")
This command allows you to add ambient mob (potion) effects to biomes. The way in which these effects are applied is customizable. Takes two arguments, first is a resource location for the entity type that the effect should be applied to. You can find this in the entity output files. Second is either a resource location for a mob effect such "minecraft:strength" or a mob effect object. If you simply pass a resource location, the default values will be used; amplifer: 0, duration, 200, interval: 198, chance: 1, visibleParticles: true, showIcon: true. See the page on custom mob effects for more details.
Example
badBiome.addMobEffect("minecraft:player", "minecraft:instant_damage")
Sets the additional sound that can play in a biome. This is used, for example, to play the spooky cave sound every so often. Takes a resource location for the sound event and a float chance to play the sound.
Example
plains.setAmbientAdditions("minecraft:block.anvil.fall", 0.01)
Adds a multiplicative modifier to the near-plane distance for rendered fog. Takes three arguments: A float modifier and two integers specifying the min and max y to apply this modifier for. The integers are optional and will default to all y-values. Modifiers that apply to the same y-levels will stack multiplicatively.
Example:
plains.addNearFogModifier(0.5, 0, 60)
Adds a multiplicative modifier to the far-plane distance for fog. Identical to addNearFogModifier otherwise.
Example:
plains.addFarFogModifier(1.5, 70, 90)
Sets the background music that plays in a biome. Takes a resource location for the sound event, an integer for the minimum delay in ticks between plays, an integer for the maximum delay, and a boolean determining the music should stop the currently playing music.
Example
plains.setBackgroundMusic("music.under_water", 1200, 24000, false)
Sets the ambient particles that float in the biome. Takes a resource location for the particle and a float chance of spawning. Currently only simple particles that require no configuration are allowed.
Example
nether.setAmbientParticle("minecraft:flame", 0.01)
This command only works with the Tweaker object. Used to tell BiomeTweaker what stage of the FML lifecycle to apply tweaks. Any script lines appearing after this one and before the next setStage will be applied on the specified stage. This resets to "FINISHED_LOAD" for every script file. Takes a String argument. Valid stages are given here.
Example:
Tweaker.setScriptStage("SETUP")
This command only works with the Tweaker object. This is a very powerful command that lets you control when block replacement and decoration placement is done. Any script lines appearing after this one and before the next setPlacementStage will apply during the specified stage. Valid stages can be found here. The order in which they occur is.
PRE_SURFACE -> POST_SURFACE -> PRE_CARVERS -> POST_CARVERS -> PRE_LIQUID_CARVERS -> POST_LIQUID_CARVERS -> PRE_DECORATE -> POST_DECORATE
See the page on block replacement for more information of the block placement cycle. This resets to "PRE_SURFACE" for every script file.
Please note that heavy duty replacements may cause a noticeable slow down in generation times.
Example:
Tweaker.setPlacementStage("POST_DECORATE")
This command only works with the Tweaker object. This command lets you control what world block replacement is done in. Any script lines appearing after this one and before the next setWorld will be done in the specified world. Takes a resource location for a level. By default, there is no world selected, so replacements are applied to all worlds. This resets to all worlds for every script file, or you can reset it yourself by passing no arguments to the command. You can find a list of all known levels in the output files.
Example:
Tweaker.setWorld("minecraft:the_nether")
BiomeTweaker has been updated to 1.18. Please see the links below. Pages for previous versions can be found above.