Skip to content

v1.8.31

Compare
Choose a tag to compare
@KnightMiner KnightMiner released this 03 Feb 03:05
· 7 commits to 1.18 since this release
857f65d

Blocks

  • Signs now register their own block entity instead of injecting into the vanilla block entity

New Utilities

  • Added generic data provider: a basic data provider for JSON generators
  • Added NamedComponentRegistry: Simple registry for a resource locaton to object registry for components of JSON files
  • Added GenericSerializerRegistry: allows registering a loader for something that reads/writes to JSON.
  • Added GenericLoaderRegistry: allows registering a loader for something that reads/writes to JSON and the packet buffer
  • Added ISafeManagerReloadListener: for registering a reload listener that safely exits if forge enters an invalid state
  • Added IEarlySafeManagerReloadListener: for registering a reload listener that runs during the first stage of reload that safely exits if forge enters an invalid state
  • Added MergingJsonDataLoader: Loads data from JSON, merging JSONs from all packs
  • Added ResourceValidator: Loads a list of present resource locations from a pack and allows checking if it exists
  • Added FluidNameIngredient: Allows referencing a fluid from another mod during datagen
  • Added FluidTagEmptyCondition: Like TagEmptyCondition but for fluids
  • Added LoggingRecipeSerializer: Recipe serializer that logs on decoder errors
  • Added cast ticker and server ticker helper to BlockEntityHelper

Utility Tweaks

  • Allow extensions of InventoryBlockEntity to opt out of saving size in NBT
  • Added utilities to register metal blocks with ingots and nuggets
  • Added way to register enum block with no items
  • Registering wood blocks now simpler, requires fewer parameters
  • Fix wood block objects not having all blocks in getValues

Renames

  • Container is now ContainerMenu
  • Inventory is now Container in most classes
  • Recipe builders
    • addCriterion is now unlockedBy
    • setGroup is now group
    • build is now save
  • Tile entity is now block entity
  • Rename IngredientWithout to IngredientDifference
  • Many repackages, ask on the SlimeKnights discord if unsure where something went

Removals

  • Remove defaultIfNull as Java added Objects.requireNonNullOrElse
  • Remove cached config values as Forge now caches them
  • Remove offhand indicator tag in favor of the boolean enable

Models

  • Make model caches concurrent

Books

  • API changes
    • Page IDs are now resource locations instead of strings
    • Recipe age size is now autodetected by default
    • Pages now have a getTitle method to make indexes simplier
    • Section transformer no longer translates both <pageName>, just <sectionName>.<pageName>
    • Fix structure page text being inconsistent with other page content types
  • Added command to open a book by ID
  • Added test book to help debug content types in dev
  • Fix book caching names for language entries when reloading contents