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!
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