Bug Fixes
- Resolved null pointer exception when interacting with custom cactus-based blocks using empty hand
- Corrected improper relocation path for imaging libraries
- Added template and example configuration files for custom elytra implementation
New Features
- Removed dependency on Ignite mod - CraftEngine now functions as a standalone solution
Changes
- Fabric mod module will be migrated to a dedicated repository to ensure comprehensive version support
Breaking API Changes:
- CustomBlock and CustomFurniture classes have been converted to interfaces.
- LoadedFurniture in the craft-engine-bukkit module has been renamed to BukkitFurniture and now implements the Furniture interface.
Breaking Configuration Changes:
- Due to the new support for combined block behaviors, default configurations will be affected by this update. sugar_cane_block has been replaced with vertical_crop_block. For detailed default configuration changes, please refer to this commit: 3128fe3.
Fixed Bugs:
- Fixed client-side light remaining after breaking certain custom blocks.
- Fixed collision shapes not syncing with the client for some block types (e.g., cactus).
- Reimplemented self-host using Netty for improved stability.
- Fixed custom projectiles in always-loaded chunks not applying models correctly after restart.
- Fixed custom block tags causing water blocks to lose gravity and lava to appear as water in 1.20.5-1.21.1.
- Fixed torches and similar blocks placed on furniture breaking immediately (furniture was not designed to have support shape).
- Fixed container opening issues in early Paper 1.21.4 builds.
- Fixed replaceable blocks being able to replace themselves.
- Fixed debug stick not functioning properly.
New Features:
- Added support for combined block behaviors, allowing creation of new block types through customization.
- client-bound-data no longer requires server-side mods and now supports <arg> and <papi>.
- Enhanced <global> variable functionality, now supporting parameter passing within tags.
- <image> can now be used with other items and won't cause irreversible item corruption in creative mode (not guaranteed to work with ViaVersion).
- Added support-shape block setting.
- Added lamp_block behavior and redstone-related APIs.
- Added more condition and function types.
- Shift-clicking in the CE menu now directly gives items.
- Any item can now be used as a totem animation (requires 1.21.2+).
- Added legacy-model configuration for resource pack models compatible with 1.21.3 and below.
- Added support for merging external ZIP resource packs.
- Added blacklist for file extensions during resource pack merging.
- Refactored dependency downloads to further reduce plugin size.
- Added default configuration for copper_coil.
- Added blacklist configurations for bush_block and hanging_block.
- Introduced a memory-based resource pack generation system instead of a real file system, achieving approximately 300% faster pack generation speed.
- Implemented configuration file caching, improving configuration loading speed by approximately 20% compared to before.
- Added custom projectile item setting
- Improved item model generation for 1.21.2
- Added an option to allow dye recipes for some items
- Added original item storage for furniture
- Implemented custom data API for furniture
- Added client bound block tags for vanilla blocks
- Fixed item components not loaded on 1.20.5-1.20.6
- Refactored context system again
- Added full FAWE (FastAsyncWorldEdit) compatibility.
- Removed the deprecated delayed-serialization option, now replaced by the new cache-system.
- Added configurable injection method—choose between LevelChunkSection or Palette.
- Improved dependency management—dependencies are now downloaded only when required.
- Added full 1.21.5 component support
- Fixed team packet handling on 1.21.5
- Fixed using bone meal with dispenser on 1.21.5
- Fixed middle clicks on 1.21.5
- Fixed chunk data desync
- Refactored context system
- Block entity system implementation
- Optimized chunk system again by implementing fast injection and dirty flags.
- Added warning logs for potential errors in most configuration files to improve debugging.
- Resolved CraftBukkit compatibility issue caused by block-entity-based custom blocks.
- Fixed sound mappings generation by handling duplicate sound keys properly.
- Added grass_block behavior
New Features
- Better adventure mode experience
- Client bound item data Format Changes https://mo-mi.gitbook.io/xiaomomi-plugins/craftengine/plugin-wiki/craftengine/misc/config-format-changelog#id-0.0.48