Skip to content

Terraform v11.0.0-alpha.1 for 1.21-pre

Pre-release
Pre-release
Compare
Choose a tag to compare
@gniftygnome gniftygnome released this 31 May 21:57
· 5 commits to 1.21 since this release

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 extends HoeItem