Releases: TerraformersMC/Terraform
Terraform v11.0.0 for 1.21 and 1.21.1
- Add data version for 1.21.1
- Release stable version for 1.21/1.21.1
Several breaking changes have been made; you can read about them in the previous release notes.
Terraform v11.0.0-alpha.1 for 1.21-pre
This release supports Minecraft 1.21 pre-release 2 and contains breaking changes following deprecations in earlier releases.
In addition, the DataVersions.V_1_21
field has been added to enable support biome remapping when updating to Minecraft 1.21.
Breaking: API package migration
Many classes have been repackaged for consistency and to better mark the boundaries between API and implementation classes. The class names themselves have not been changed.
Some classes are now packaged as implementation classes. If you previously depended on these classes, please let us know by opening an issue, so that we can determine whether the current API needs to be expanded.
The full list of classes with changed classes is as follows:
Old Class | New Class |
---|---|
com.terraformersmc.terraform.dirt.DirtBlocks |
com.terraformersmc.terraform.dirt.api.DirtBlocks |
com.terraformersmc.terraform.dirt.TerraformDirtBlockTags |
com.terraformersmc.terraform.dirt.api.TerraformDirtBlockTags |
com.terraformersmc.terraform.dirt.block.TerraformDirtPathBlock |
com.terraformersmc.terraform.dirt.api.block.TerraformDirtPathBlock |
com.terraformersmc.terraform.dirt.block.TerraformFarmlandBlock |
com.terraformersmc.terraform.dirt.api.block.TerraformFarmlandBlock |
com.terraformersmc.terraform.dirt.block.TerraformGrassBlock |
com.terraformersmc.terraform.dirt.api.block.TerraformGrassBlock |
com.terraformersmc.terraform.dirt.block.TerraformSnowyBlock |
com.terraformersmc.terraform.dirt.api.block.TerraformSnowyBlock |
com.terraformersmc.terraform.dirt.TerraformDirtRegistry |
com.terraformersmc.terraform.dirt.api.registry.TerraformDirtRegistry |
com.terraformersmc.terraform.dirt.TillableBlockRegistry |
com.terraformersmc.terraform.dirt.api.registry.TillableBlockRegistry |
com.terraformersmc.terraform.tree.block.TerraformDesertSaplingBlock |
com.terraformersmc.terraform.tree.api.block.TerraformDesertSaplingBlock |
com.terraformersmc.terraform.tree.decorator.DecoratorTypes |
com.terraformersmc.terraform.tree.api.decorator.DecoratorTypes |
com.terraformersmc.terraform.tree.merchant.TerraformSaplingTradeHelper |
com.terraformersmc.terraform.tree.api.merchant.TerraformSaplingTradeHelper |
com.terraformersmc.terraform.tree.placer.PlacerTypes |
com.terraformersmc.terraform.tree.api.placer.PlacerTypes |
com.terraformersmc.terraform.leaves.block.ExtendedLeavesBlock |
com.terraformersmc.terraform.leaves.api.block.ExtendedLeavesBlock |
com.terraformersmc.terraform.leaves.block.LeafPileBlock |
com.terraformersmc.terraform.leaves.api.block.LeafPileBlock |
com.terraformersmc.terraform.leaves.block.TransparentLeavesBlock |
com.terraformersmc.terraform.leaves.api.block.TransparentLeavesBlock |
com.terraformersmc.terraform.sign.SpriteIdentifierRegistry |
com.terraformersmc.terraform.sign.api.SpriteIdentifierRegistry |
com.terraformersmc.terraform.sign.TerraformHangingSign |
com.terraformersmc.terraform.sign.api.TerraformHangingSign |
com.terraformersmc.terraform.sign.TerraformSign |
com.terraformersmc.terraform.sign.api.TerraformSign |
com.terraformersmc.terraform.sign.block.TerraformHangingSignBlock |
com.terraformersmc.terraform.sign.api.block.TerraformHangingSignBlock |
com.terraformersmc.terraform.sign.block.TerraformSignBlock |
com.terraformersmc.terraform.sign.api.block.TerraformSignBlock |
com.terraformersmc.terraform.sign.block.TerraformWallHangingSignBlock |
com.terraformersmc.terraform.sign.api.block.TerraformWallHangingSignBlock |
com.terraformersmc.terraform.sign.block.TerraformWallSignBlock |
com.terraformersmc.terraform.sign.api.block.TerraformWallSignBlock |
com.terraformersmc.terraform.wood.block.BareSmallLogBlock |
com.terraformersmc.terraform.wood.api.block.BareSmallLogBlock |
com.terraformersmc.terraform.wood.block.PillarLogHelper |
com.terraformersmc.terraform.wood.api.block.PillarLogHelper |
com.terraformersmc.terraform.wood.block.QuarterLogBlock |
com.terraformersmc.terraform.wood.api.block.QuarterLogBlock |
com.terraformersmc.terraform.wood.block.SmallLogBlock |
com.terraformersmc.terraform.wood.api.block.SmallLogBlock |
Breaking: Removal of ComposterRecipes
The ComposterRecipes
class, which was deprecated in version 9.0.0, has been removed. Instead, mods can use Fabric API's CompostingChanceRegistry
. For example:
LeavesBlock leavesBlock = new LeavesBlock(/* ... */);
BlockItem leavesItem = new BlockItem(leavesBlock, new Item.Settings());
CompostingChanceRegistry.INSTANCE.add(leavesItem, chance);
The method that did not accept a chance parameter chose values based on vanilla blocks. These values are as follows, and must be manually passed to Fabric API:
Blocks and Classes | Composting Chance |
---|---|
LeavesBlock , LeafPileBlock , SaplingBlock , SeagrassBlock |
0.3 |
Fern, large fern, FlowerBlock |
0.65 |
Consult the vanilla ComposterBlock.registerDefaultCompostableItems
method for other examples of composting chances.
Breaking: Removal of log block constructors
The deprecated constructors in the following classes, which have been replaced by factory methods and Fabric API's StrippableBlockRegistry
, have been removed:
BareSmallLogBlock(Supplier<Block>, AbstractBlock.Settings)
QuarterLogBlock(Supplier<Block>, MapColor, AbstractBlock.Settings settings)
SmallLogBlock(Block, Supplier<Block>, AbstractBlock.Settings settings)
Breaking: Miscellaneous changes
Other smaller changes have been made to reduce unintentional implementation details being exposed as part of the API. They are as follows:
- The following classes are now final:
TerraformDirtBlockTags
TillableBlockRegistry
PlacerTypes
PillarLogHelper
- The following classes now longer publicly expose a useless constructor:
PlacerTypes
PillarLogHelper
- The
TillableBlockRegistry
class no longer extendsHoeItem
Terraform v10.0.0 for 1.20.5 and 1.20.6
- Add data version for 1.20.6
- Release 10.0.0 stable for 1.20.5
Terraform v10.0.0 beta 1 for 1.20.5
- Building Terraform API now requires Java 21
- Add data version for 1.20.5 to the biome remapper
Terraform v10.0.0 alpha 9 for 1.20.5
- Add a DecoratorTypes accessor similar to PlacerTypes
Terraform v10.0.0 alpha 8 for 1.20.5
- Update to 24w13a
- PlacerTypes must now pass a MapCodec instead of Codec
Terraform v10.0.0 alpha 7 for 1.20.5
- Update to 24w11a (thanks to @Hugman76)
- Deprecate the
SpriteIdentifierRegistry
class
Terraform v10.0.0 alpha 6 for 1.20.5
- Restored use of MPO in Terraform API builds
- Functionally the same as 10.0.0-alpha.5
Terraform v10.0.0 alpha 5 for 1.20.5
- Fix remapping when building with Loom 1.5 (thanks to @modmuss50)
Terraform v10.0.0 alpha 1 for 1.20.5
- Removed grass to dirt path functionality; use Fabric's FlattenableBlockRegistry
- Use a packet codec for the boat type tracked data handler