-
Notifications
You must be signed in to change notification settings - Fork 13
Comparison with other forks
Martijn edited this page Sep 23, 2023
·
26 revisions
Below is a comparison with other forks. Gale aims to include good patches other forks have, with added configuration options if gameplay is affected. Unnecessary or risky patches will not be added.
π’ = Added
Β Β Β Β Β Β Β Β Β (or a feature in Gale already does the same)
βͺ = Not added yet, but will be later
Will not be added:
π‘ = Unnecessary
π = Bad idea: can have negative effects
π΄ = Bad idea: patch is problematic
(as of 30/08/2023)
Server | ||
---|---|---|
Mirai Branding Changes | π’ | |
Mirai Configuration | π’ | |
Time Utilities | π‘ | |
Reduce constants allocations | π’ | |
lithium: fast util | ||
lithium: HashedReferenceList | ||
lithium: CompactSineLUT | π | |
lithium: fast retrieval | ||
Add last tick time API | π’ | |
Add config for logging login location | π’ | |
Global Eula file | π’ | |
Stop wasting resources on JsonList#get | ||
Configurable max bees in hive | ||
Remove TickTask | π’ | |
Make a field final | π‘ | |
Don't create new random instance | π’ | |
Completely remove bootstrapExecutor | βͺ | |
Use LinkedBlockingDeque in IAsyncTaskHandler | ||
Use MCUtil.asyncExecutor for MAIN_WORKER_EXECUTOR in SystemUtils | π’ | |
Remove 'sync-chunk-writes' in server.properties | π‘ | |
Remove Spigot tick limiter | ||
Configurable flight checks | π΄ | |
Don't save Fireworks | π’ | |
Do not drop items from Give command | ||
Do not process chat/commands before player has joined | π’ | |
Fix cow rotation when shearing mooshroom | π’ | |
End gateway should check if entity can use portal | π’ | |
Arrows should not reset despawn counter | π’ | |
Spread out and optimise player list ticksSpread out and optimise player list ticks | π’ | |
Fix vanilla command permission handler | ||
MC-147659 - Fix non black cats spawning in swamp huts | π’ | |
Fix rotating UP/DOWN CW and CCW | ||
Fix 'outdated server' showing in ping before server fully boots | π’ | |
Dont send useless entity packets | π‘ | |
Skip events if there's no listeners | π’ | |
Alternative Keepalive Handling | π’ | |
Logger settings (suppressing pointless logs) | π’ | |
Add 5 second tps average in /tps | π’ | |
Fix stuck in portals | ||
Entities can use portals configuration | ||
PaperPR Use DataConverter for itemstack/entity deserialization | π’ | |
lithium: replace AI goal set with optimized collection | π’ | |
vmp: skip entity move if movement is zero | π’ | |
Don't send fire packets if player has Fire Resistance | π’ | |
lithium: cached hashcode | π’ | |
PaperPR Fix CME in CraftPersistentDataTypeRegistry | π’ | |
lithium: store gamerules in fastutil hashmap | π’ | |
carpetfixes: BiomeAccess prediction | ||
Configurable enchantment table book animation tick | π‘ | |
Skip cloning loot parameters | π’ | |
lithium: precompute shape arrays | π’ | |
Fix MC-121706 | π’ | |
vmp: spawn_density_cap | π’ | |
lithium: entity.fast_elytra_check | ||
lithium: entity.fast_hand_swing | ||
c2me: opts math | π’ | |
lithium: entity.fast_powder_snow_check | π’ | |
lithium: collections.attributes | π’ | |
lithium: collections.entity_by_type | π’ | |
lithium: collections.entity_filtering | π’ | |
lithium: chunk.serialization | π’ | |
Configurable criterion triggers | ||
Set item stuck sleep to 15 ticks | ||
Smarter statistics ticking | π’ | |
some entity micro opts | π’ | |
Dont eat blocks in non ticking chunks | π’ | |
Fast speed check | π’ | |
lithium: cache iterate outwards | ||
lithium: ai.raid | π’ | |
lithium: block.moving_block_shapes | ||
lithium: shapes.blockstate_cache | π’ | |
lithium: gen | π’ | |
PaperPR Add more collision code skipping logic | π’ | |
vmp: use linked map for entity trackers for faster iteration | π’ | |
c2me: reduce_allocs | ||
lithium: ai.sensor.secondary_poi | π’ | |
Fix tick function tag running before load | ||
lithium: suffocation | ||
Optimize default values for configs | ||
Fix hunger saturation depleting on peaceful | π’ | |
Fix mobs attacking themselves | π’ | |
Fix brewing stands resetting their brewTime when being unloaded | π’ | |
lithium: world.tick_scheduler | ||
Save Json list asynchronously | ||
Swaps the predicate order of collision | π’ | |
Fix head rotation packet spam | π’ | |
Cache block break animation packet | π’ | |
Use more fastutil data structures | π’ | |
Optimize Math.round and Math.hypot functions |
||
Faster Sheep.getOffspringColor | π’ | |
PaperPR Optimize VarInts | π’ | |
reduce work done by game event system | βͺ | |
reduce sensor work | π’ | |
Configurable chat message signatures | ||
PaperPR Fix exact choice recipe book clicks | π’ | |
Fix MC-238526 | π’ | |
Lobotomize stuck villagers | ||
Fix legacy colors in console | π’ | |
Set multiple Team settings at once | ||
Smooth Teleports | ||
Unfreeze MappedRegistry | ||
Don't double save the json lists | π’ | |
Don't wander into non-ticking chunks | π’ | |
Optimize CraftServer.getWorld(UUID) | π’ | |
Configurable mobs from spawners picking up loot | ||
Async Pathfinding | βͺ | |
Multithreaded Tracker | βͺ |
API | ||
---|---|---|
Mirai Configuration | π’ | |
Disable reload command | π | |
Add last tick time API | π’ | |
Optimize Spigot event bus | βͺ | |
Skip event if no listeners | π’ | |
disable AnnotationTest | π‘ | |
Lobotomize stuck villagers | ||
Set multiple Team settings at once | ||
Smooth Teleports |
(as of 30/08/2023)
Server | ||
---|---|---|
MC-Dev Fixes | π’ | |
Airplane Branding Changes | π’ | |
Disable Paper timings by default | π’ | |
Airplane Configuration | π’ | |
Strip raytracing for EntityLiving#hasLineOfSight | π’ | |
Simpler ShapelessRecipes comparison for Vanilla | π’ | |
Reduce projectile chunk loading | π’ | |
Only check for spooky season once an hour | π’ | |
Optimize random calls in chunk ticking | π’ | |
Dynamic Activation of Brain | βͺ | |
Reduce chunk loading & lookups | π’ | |
Skip POI finding if stuck in vehicle | π’ | |
Airplane Profiler | ||
Remove iterators from inventory contains | π’ | |
Early return optimization for target finding | π’ | |
More debug for plugins not shutting down tasks | π’ | |
Improve fluid direction caching | π’ | |
Cache climbing check for activation | π’ | |
Config to disable method profiler | π’ | |
Use array for gamerule storage | π’ | |
Make EntityCollisionContext a live representation | π’ | |
Improve container checking with a bitset | π’ | |
Better checking for useless move packets | π’ | |
Patch Paper to use fast item merge raytracing | π’ | |
Use aging cache for biome temperatures | π’ | |
Ensure level height is inlined | π’ | |
Use thread unsafe random for mob spawning | π’ | |
Remove streams and iterators from range check | π’ | |
Remove streams from getting nearby players | π’ | |
Skip cloning loot parameters | π’ | |
Fix Paper#6045, block goal shouldn't load chunks | π’ | |
Quicker sequencing of futures for chunk gen | ||
Reduce entity allocations | π’ | |
Remove lambda from ticking guard | π’ | |
Reduce entity fluid lookups if no fluids | π’ | |
Collision cache | ||
Use normal context, which is already lazy | ||
Sentry Logging Support |
API | ||
---|---|---|
Expose findClass for profiler | ||
Ignore lookups if closed | βͺ |
(as of 30/08/2023)
Server | ||
---|---|---|
pufferfish Server Changes commit 5e6e1adeaeea640f097b826ca092130991e52d47 | Partial | |
purpur Server Changes commit 513f3bbedf663b46c1fc76cef469e804c4afc073 | Partial | |
EmpireCraft Server Changes commit e15007e4385c5852bfe25e4b17ce5db29638a9be | Partial | |
Build changes | π’ | |
(Akarin) Swaps the predicate order of collision | π’ | |
add Purpur to timings report | π’ | |
hardcode 1.19.4-R0.1-SNAPSHOT | π‘ | |
remove TickTask | π’ | |
Remove VersionFetcher | π | |
don't create new random instance | π’ | |
relocate | π | |
fix decompile error | π‘ | |
skip event if no listeners | π’ |
API | ||
---|---|---|
pufferfish API Changes commit 9771bd7e692b5f4133e5846123c2f3a9c315e75f | Partial | |
jettpack API Changes commit 6fd037c4507363ea0c35b4cb9727a1b2c33242b9 | π’ | |
purpur API Changes commit 513f3bbedf663b46c1fc76cef469e804c4afc073 | π‘ | |
Purpur dependencies | π‘ | |
Suspected plugins report | ||
Remove VersionFetcher | π | |
disable AnnotationTest | π‘ |
(as of 30/08/2023)
Server | ||
---|---|---|
Pufferfish branding | π’ | |
Pufferfish Utils | π’ | |
Pufferfish Config and Command | π’ | |
Add SIMD utilities | π’ | |
Add Sentry | ||
Add option to disable books | π’ | |
Optimize entity coordinate key | π’ | |
Optimize suffocation | π’ | |
Optimize mob spawning | βͺ | |
Disable Paper timings by default | π’ | |
Strip raytracing for EntityLiving#hasLineOfSight | π’ | |
Simpler ShapelessRecipes comparison for Vanilla | π’ | |
Reduce projectile chunk loading | π’ | |
Only check for spooky season once an hour | π’ | |
Move ThreadUnsafeRandom Initialization | π’ | |
Optimize random calls in chunk ticking | π’ | |
Dynamic Activation of Brain | βͺ | |
Reduce chunk loading & lookups | π’ | |
Skip POI finding if stuck in vehicle | π’ | |
Flare Profiler | ||
Remove iterators from inventory contains | π’ | |
Early return optimization for target finding | π’ | |
More debug for plugins not shutting down tasks | π’ | |
Improve fluid direction caching | π’ | |
Cache climbing check for activation | π’ | |
Config to disable method profiler | π’ | |
Use array for gamerule storage | π’ | |
Make EntityCollisionContext a live representation | π’ | |
Improve container checking with a bitset | π’ | |
Better checking for useless move packets | π’ | |
Patch Paper to use fast item merge raytracing | π’ | |
Use aging cache for biome temperatures | π’ | |
Ensure level height is inlined | π’ | |
Use thread unsafe random for mob spawning | π’ | |
Remove streams and iterators from range check | π’ | |
Remove streams from getting nearby players | π’ | |
Skip cloning loot parameters | π’ | |
Fix Paper#6045, block goal shouldn't load chunks | π’ | |
Reduce entity allocations | π’ | |
Remove lambda from ticking guard | π’ | |
Reduce entity fluid lookups if no fluids | π’ | |
Throttle goal selector during inactive ticking | βͺ | |
Entity TTL | βͺ | |
Add option to disable out-of-order chat | π’ | |
Option to disable end crystal dragon respawning | π’ | |
Add option to suppress null ID disconnections | π’ |
API | ||
---|---|---|
Add Sentry | ||
Expose findClass for profiler | ||
Ignore lookups if closed | βͺ | |
Add SIMD utilities | π’ | |
Optimize map rendering | π’ |
(as of 30/08/2023)
Server | ||
---|---|---|
conf: brand server to petal | π’ | |
feat: async path processing | βͺ | |
feat: multithreaded tracker | βͺ | |
feat: reduce work done by game event system | βͺ | |
feat: reduce sensor work | π’ |