Skip to content

Releases: TerraformersMC/Terraform

Terraform v11.0.0 for 1.21 and 1.21.1

09 Oct 20:17
Compare
Choose a tag to compare
  • 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

31 May 21:57
Compare
Choose a tag to compare
Pre-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

Terraform v10.0.0 for 1.20.5 and 1.20.6

10 May 20:04
Compare
Choose a tag to compare
  • 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

18 Apr 20:27
Compare
Choose a tag to compare
Pre-release
  • 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

28 Mar 02:24
Compare
Choose a tag to compare
Pre-release
  • Add a DecoratorTypes accessor similar to PlacerTypes

Terraform v10.0.0 alpha 8 for 1.20.5

27 Mar 21:07
Compare
Choose a tag to compare
Pre-release
  • Update to 24w13a
  • PlacerTypes must now pass a MapCodec instead of Codec

Terraform v10.0.0 alpha 7 for 1.20.5

15 Mar 09:48
Compare
Choose a tag to compare
Pre-release
  • Update to 24w11a (thanks to @Hugman76)
  • Deprecate the SpriteIdentifierRegistry class

Terraform v10.0.0 alpha 6 for 1.20.5

20 Feb 22:16
Compare
Choose a tag to compare
Pre-release
  • 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

20 Feb 21:31
Compare
Choose a tag to compare
Pre-release
  • Fix remapping when building with Loom 1.5 (thanks to @modmuss50)

Terraform v10.0.0 alpha 1 for 1.20.5

10 Feb 18:42
Compare
Choose a tag to compare
Pre-release
  • Removed grass to dirt path functionality; use Fabric's FlattenableBlockRegistry
  • Use a packet codec for the boat type tracked data handler