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