Postea
8 merged pull requests.
New Features
- #18 Reworks the replacement managers around a TransformerRegistry with multi-handler lists per id. Adds simple replacement, missing mapping handling, an ID registry, chunk-load fixing and example migrators. A null result now means the handler could not match. Some existing handlers in the core mod need updating. - @C0bra5
- Added: multiple handlers per item, block or tile entity, simple replacement API, missing mapping replacement API, numeric ID lookup for removed content
- Migration: addBlockReplacement and addItemReplacement are removed: register block and item handlers with addTransformationHandler and return true when the handler changed the block or stack, false otherwise. Tile entity transformers (TileEntityReplacementManager.tileEntityTransformer) return null when they do not match, and do NBT conversion through the returned BlockInfo's tile transformer.
- #17 Added TriFunction and a tileEntityTransformer overload taking (tag, world, chunk). The BiFunction overload is deprecated and wraps the new one. ChunkFixerUtility passes the chunk through. README updated. - @SuperSoupr
- Added: chunk argument for tile entity transformers, TriFunction interface
Changes
- #25 Changed targetMeta in SimpleTransformationMap.Value and put() to int, getBlockReplacement metadata to int, and removed the byte and short casts. The Damage NBT tag is still written as a short. - @Ruling-0
Bug Fixes
- #27 MixinAnvilChunkLoader.postea$chunkHook no longer uses MixinExtras @Local captures. It takes the method arguments directly and reads the chunk from the callback's return value, which avoids conflicts with other mixins on readChunkFromNBT. - @danyadev
- Fixed: crash on world load with asjcore
- #23 Replaced @Mod.EventHandler with @SubscribeEvent on chunkLoaded(ChunkEvent.Load) and registered the instance on MinecraftForge.EVENT_BUS in preInit. - @UltraProdigy
- Fixed: chunk load handler not subscribed to ChunkEvent
- #22 Adds a late mixin, MixinDataRegistryImpl, on ChunkAPI's DataRegistryImpl.readChunkFromNBT that calls ChunkFixerUtility.onChunkRead, loaded by a new PosteaLateLoadingPlugin when chunkapi is present. The writeChunkToNBT inject in MixinAnvilChunkLoader gets order 900. Dev dependencies move to chunkapi 0.8.2 and endlessids 1.7.1. - @C0bra5
- Added: Late mixin for ChunkAPI chunk reads
- Fixed: Postea world migrations not running with ChunkAPI and EndlessIDs
- #15 Postea replaces the FMLServerAboutToStartEvent handler with FMLModIdMappingEvent, which fires in GameData.injectWorldIDMap after ids are shuffled. The handler clears posteaMarkedIDs before rebuilding it. - @SuperSoupr
- Fixed: Postea using stale numeric block ids after world id remapping
Internal / Refactor
- #21 Replaces Function and BiFunction handler types with new IBlockTransformationHandler and IItemStackTransformationHandler interfaces returning boolean. Updates BlockReplacementManager, ItemStackReplacementManager, SimpleTransformationRegistry and TransformerRegistry. - @C0bra5
- Added: IBlockTransformationHandler, IItemStackTransformationHandler
- Migration: BlockReplacementManager.addBlockReplacement(String, BiFunction) and ItemStackReplacementManager.addItemReplacement(String, Function) from Postea 1.1.3 are gone. Register with addTransformationHandler(String, IBlockTransformationHandler) or addTransformationHandler(String, IItemStackTransformationHandler); apply returns a primitive boolean, true when it transformed.
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@C0bra5 (3), @Connor-Colenso (3), @Alexdoru (2), @boubou19 (2), @SuperSoupr (2), @UltraProdigy (2), @danyadev (1), @glowredman (1), @Ruling-0 (1)