Sepals

Sepals

Mod

An extremely radical and experimental optimization for Minecraft server performances.

Server Optimization

522 downloads
27 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter versions...

Sepals 1.0.4

by cao-awa on Oct 23, 2024
Download
  1. Fix entities cramming bugs.
  2. Fix bug of crashing with lithium that without configurations.
  3. Deprecated 'entitiesCrammingAccuracy', caching as full accuracy.

Sepals 1.0.3

by cao-awa on Oct 15, 2024
Download

Fix bugs.

Sepals 1.0.2

by cao-awa on Oct 15, 2024
Download

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]

Sepals 1.0.1

by cao-awa on Oct 14, 2024
Download

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!

  1. Used Catheter to replaced java stream, The newest version Catheter has more quite stunning performance and scalability than Stream
  2. Cached tasks, activities, running tasks and memories to improves starting and updating task
  3. Use sepals composite task to replaced vanilla composite task
  4. Whenever possible, find opportunities to skips more raycast and useless predicates
  5. Use 'SepalsLivingTargetCache' to replaced vanilla cache, At the cost in sensors tick make less cost in finding interaction target or look at mob task
  6. 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
  7. Copied and modified 'SerializingRegionBasedStorage' optimizations from lithium
  8. With more targeted task, don't use the generics to reduce useless operations
  9. Used binary search list to replaced hashset search
  10. Use quick sort (fastutil) to replaced tim sort (java std)
  11. Precalculate and cache any useful data, avoid unnecessary repetitive calculations
  12. Do more cache, space for time

Project members

cao-awa

Member

Details

Licensed GPL-3.0-only
Published a month ago
Updated 23 days ago