New Features:
Optimizations & Improvements:
- Added support for Minecraft version 1.21.11.
- Introduced the Feature Placer, enabling the generation of trees, ores, features, and more in the world.
- Added a wide range of external item sources.
- New block behaviors: multi_high_block, item_frame_block, and spreading_block.
- New item behavior: range_mining_item.
- Added numerous new number types.
- New condition: is_bedrock_player.
- Added furniture setting: hit-times.
- Added image of type reference.
- Added profile item data type.
- Added debug command: /ce debug auto-state
Bug Fixes:
- Allowed folder format usage in the exclude option for optimizing resource packs.
- The glow color feature is now fully packet-based.
- Completely revamped and standardized the language file format.
- Network text formats now fully support parameter passing.
- The image tag now supports custom format parameters.
- Optimized potential block mining interruption issues under high latency.
- Furniture display elements now support the conditions.
- Enhanced how client-bound-models work on armor.
- Optimized Atlas merging logic.
- Added legacy color code support to certain configuration areas.
- When using simple model generation, default values are now set for tintable items.
- Component-based armor now supports custom paths.
API Changes:
- Fixed compatibility issues with ASP on certain versions.
- Fixed potential thread safety issues with ClientCustomBlockPacket in version 1.20.1.
- Fixed various issues caused by NPC-triggered events.
- Fixed issues with object text component processing.
- Fixed NullPointerException caused by other plugins modifying the system proxy.
- Fixed various issues on Folia servers.
- Fixed an issue in versions 1.20 to 1.20.2 where returning multiple resource packs would result in only the last one being applied.
- Fixed concurrent modification exceptions during lighting updates.
- Fixed issue where HashedStack unexpectedly broke container components.
- Fixed errors caused by other plugins sending packets at incorrect times.
- Fixed issue where block entity changes did not mark the chunk as dirty.
- Fixed incorrect collision box positioning for furniture of custom type.
- Most factory classes now require a generic parameter. Reduced visibility for most factory classes.
- ItemDataModifier has been renamed to ItemProcessor.
- Added the craft-engine-adventure API module for easier use of the relocated Adventure library.
- Merged the loot condition system with the event condition system.
- Added EntityCullingAPI.
- Custom item settings now support configuring ItemProcessor.
- Fix the issue where, in extremely rare cases, custom blocks from datapacks fail to be applied in one chunk due to asynchronous paper chunk generation.
- Fixed some translateable components not displaying correctly on 1.20.2-1.21.4
- Added debug optimize-furniture-structure command to optimize the furniture saved in structure nbt files
- Added some methods to improve compatibility with plugins that using old furniture API
New Features:
Bug Fixes:
- Refactored the furniture system, including some API changes, introducing furniture variants and ray tracing, while adding more furniture rendering element types and options.
- Simplified model texture configuration for some common items.
- Improved the order of tintable leaves in auto-state allocation.
- Enhanced snbt reading logic.
- Improved block entity state switching logic to effectively reduce visual issues.
- Enhanced template value parameter types, default values, and related processing logic.
- Added entity culling feature for better client performance.
- Added command to control entity rendering distance.
- Added strict UUID verification and intelligent download rate limiting for self-hosting.
- Added new function types: set_exp, set_level, play_totem_animation, close_inventory, clear_item, if_else, when, damage_item, cycle_block_property.
- Added new condition type: inventory_has_item.
- Added new item settings: hat-height, keep-on-death-chance, destroy-on-death-chance, drop-display, glow-color.
- Added new item behaviors: liquid_collision_furniture_item, ceiling_block_item.
- Added new smithing recipe post-processor: keep_custom_data.
- Added new block behavior: drop_exp_block.
- Added category display conditions and all-item categories.
- Added custom-model-data/image debug command.
- Added item clear command to remove CraftEngine items.
- Added %checkceitem_% placeholder variable.
- Added more direct datapack generation support, allowing direct calls to CraftEngine block IDs and generating multi-state blocks.
- Added support for Z-axis rotation in block models and removed the 90-degree limit.
- Added hardcoded property name rotation to support creating 8-16 directional blocks like banners.
- Added to-inventory parameter to support drop-loot directly dropping into inventory.
- Fixed issue where messages from some chat plugins could not apply custom image tags.
- Fixed errors caused by interacting with seat block behavior after reloads.
- Fixed issue where sometimes container doors in simple_storage_block could not close properly.
- Fixed issue where server spawn chunks did not correctly apply datapack custom blocks.
- Fixed issue where consume-replacement could not properly handle stacked items.
- Fixed startup errors caused by other plugins holding custom disc items.
- Fixed mining interruption issues caused by other plugins.
- Fixed incorrect eye height retrieval while riding entities.
- Fixed issues with ModelEngine block entity rendering.
