Celebrating the release of v0.0.63! 🎉 This version introduces the concept of block entities for the first time. However, I sincerely apologize that the furniture refactoring originally planned for v0.0.63 has been postponed to v0.0.64.
After the comprehensive furniture refactoring in v0.0.64, I expect to launch the second part of the block entity update in v0.0.65. Please note that the current tick functionality of block entities does not work properly on Folia, and block entity rendering is incompatible with FastAsyncWorldEdit operations. These issues will be addressed and improved in v0.0.65.
New Features
- Added block behaviors: `change_over_time_block`, `simple_storage_block`, `toggleable_lamp_block`, `bouncing_block`, `liquid_flowable_block`
- Added item behavior: `wall_block_item`
- Added block entity types: `simple_storage`, `simple_particle`, `wall_torch_particle`
- Added visual recipe result options
- Added Gaussian distribution number type
- Added `max-damage` item data
- Added block settings: `friction`, `jump-factor`, `speed-factor`
- Added `worldguard:region` condition type
- Added function types: `teleport`, `toast`
- Added default configurations: `safe_block`, `amethyst_torch`, `sofa`
- Added option for strict player UUID validation
Bug Fixes
- Fixed errors caused by `keep_components` in smithing recipes
- Fixed player head item display errors for clients below 1.21.4 during obfuscation
- Fixed model display issues for block-based items for clients below 1.21.4 during obfuscation
- Fixed block sounds not emitting from the center of the block in some cases
- Fixed missing recipes for default configuration palm door
- Fixed mismatched keys in some language files
- Fixed `BlockBreakEvent` still dropping vanilla loots when item drops were cancelled by other plugins
- Fixed incorrect matching of `onPlace` in block behaviors for some versions
- Fixed model generation errors when using `item_model` component in specific paths on version 1.21.2
- Fixed potential death from falling anvil issues with netherite anvils
- Fixed `concrete_block` not solidifying immediately upon contact with liquid surfaces
- Fixed issues with using `minecraft:component` properties in `minecraft:condition` type item models
- Fixed errors when using workbench to repair tools on 1.20-1.20.4
Optimizations
- Optimized server-side item placement handling when players click the recipe book
- Optimized chunk and world read/write performance and thread safety
- `<global>` now supports use in other plugins
- Slightly adjusted the position of some options in `config.yml`
- Improved random ID generation logic for `attribute-modifiers`
- Improved the `enchantable` option, now also prevents items from being enchanted on anvils
- Improved the `command` function, added `as-event` and `as-op` options
- Improved the `match_block_property` condition to support vanilla block state matching
- Improved judgment logic for `liquid_collision_block_item`
- Improved lighting system tick logic, added option for asynchronous lighting updates
- Improved `external-item` construction logic, detecting potential circular build issues
- `category` now supports adding duplicate item IDs
Compatibility & Integration
- Added item source support for: `Zaphkiel`, `Slimefun`, `SX-Item`, `HeadDatabase`
- Compatible with the latest `lobfile` API
- Re-compatible with MythicMobs item generation to support variable parsing
Refactoring & API
- Refactored the client mod, please update your client mod and server plugin promptly
- Refactored the recipe system for higher performance and more accurate judgment (the only drawback is that all recipe performance consumption will be counted as generated by this plugin in `spark` :<)
- Reorganized the file structure of default configurations for better clarity
- Strictly divided dependency scope class loaders to avoid non-API related libraries being referenced by other plugins
- Added `isFirstReload` method to `CraftEngineReloadEvent`
- Added methods to `CraftEngineBlocks/Items/Furniture` to retrieve all loaded configurations
- Added APIs for block entity rendering, ticking, and storage
- Added `AsyncResourcePackCacheEvent` to support other plugins caching their own resource packs in CraftEngine and participating in resource pack generation
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }