Bug fixes
- Fix bug of Sepals living target cache not working when enabled in configs.
- Fix bug of entity follow range still using 1.21.3 (fixed a value) instead 1.21.4 feature (setting by entity attribute).
Other changes
- Use HashMap instead of RBTreeMap to improve entities fetch speed.
- Try to optimize item merge performance, use config key 'enableSepalsItemMerge' to toggle this feature.
Calculate cache key using long hash code value instead String to improve caching performance.
- Make compatible to mod 'Async'.
- Calculate cache key using long hash code value instead String to improve caching performance.
Mod loader
Supported to NeoForge loader with all feature of current Fabric Sepals.
Command
Will response Sepals version and count of enabled configs when run command:/sepals
.
Update minecraft version to '1.21.4'.
Changes
- Quick successes or failure in entity moving.
- Caching fire immune in item entity.
- Caching is lava and is fire flag in block.
- Completely removed kotlin depends.
Bug fixes
Fix bug of villager no AI since '1.0.5'.
Other changes
Remove 'fabric-language-kotlin' mod requirement, add fabric API mod requrement.
Known issues
Not successful removed kotlin dependencies, still need to install 'fabric-language-kotlin' mod.
This is not a bug in this version.
Bug fixes
Fix bug of unable to load chunks when sepals with moonrise.
Notice
Moonrise is not compatible with c2me, as stated on the Moonrise homepage. If you want to use it with Sepals, you need to choose either Moonrise or c2me. Don't add all at once the recommended mods as listed in this release.
Notice
This version has been founds some severe bugs, use newer version!
Bug fixes
Fix bug of unable to generating world when sepals with c2me (it seems that only in c2me-fabric-mc1.21.1-0.3.0+alpha.0.295
).
Other
- Upgrade dependencies versions.
- Client side loading.
Notice
This version has been founds some severe bugs, use newer version!
Bug fixes
- Fix entities cramming bugs.
- Fix bug of crashing with lithium that without configurations.
Enhances
- Deprecated 'entitiesCrammingAccuracy', caching as full accuracy.
Notice
This version has been founds some severe bugs, use newer version!
Changes
Fix bugs.
Notice
This version has been founds some severe bugs, use newer version!
Enhances
Make configs toggleable and savable.
Use command to toggle featrues:
/sepals <configName> <option>
Add 'temporary' then will not save to config file:
/sepals <configName> <option> temporary
For example:
/sepals enableSepalsEntitiesCramming true
/sepals enableSepalsVillager true true temporary
Valid options
Config name | Allowed value |
---|---|
forceEnableSepalsPoi | bool value |
enableSepalsVillager | bool value |
enableSepalsFrogLookAt | bool value |
enableSepalsFrogAttackableSensor | bool value |
enableSepalsLivingTargetCache | bool value |
nearestLivingEntitiesSensorUseQuickSort | bool value |
enableSepalsBiasedLongJumpTask | bool value |
enableSepalsEntitiesCramming | bool value |
entitiesCrammingAccuracy | any of [1, 10, 100, 1000, 10000] |
Notice
This version has been founds some severe bugs, use newer version!
Enhances
Cached the the entities by positions, lossed some precision to improves a lot performance, because its WIP feature, default disabled, command changes will not save to config, all flags will reset when server restarted.
use the command to enable:
/sepals entitiesCramming true
Caching precision is scaled, use the command to toggle:
/sepals entitiesCramming entitiesCrammingAccuracy <1|10|100|1000|10000>
When precision is 1000 or higer, all features of cramming is same as the vanilla.
Warning
DO NOT USE THIS VERSION IN PRODUCTION ENVIRONMENT!
- Used Catheter to replaced java stream, The newest version Catheter has more quite stunning performance and scalability than Stream
- Cached tasks, activities, running tasks and memories to improves starting and updating task
- Use sepals composite task to replaced vanilla composite task
- Whenever possible, find opportunities to skips more raycast and useless predicates
- Use 'SepalsLivingTargetCache' to replaced vanilla cache, At the cost in sensors tick make less cost in finding interaction target or look at mob task
- Rearranged predicates and extra lower cost predicate, The purpose of this is do higher cost predicate later or best don't do that, Skip the remaining high cost predicates in advance
- Copied and modified 'SerializingRegionBasedStorage' optimizations from lithium
- With more targeted task, don't use the generics to reduce useless operations
- Used binary search list to replaced hashset search
- Use quick sort (fastutil) to replaced tim sort (java std)
- Precalculate and cache any useful data, avoid unnecessary repetitive calculations
- Do more cache, space for time