From 35471da55b4575ce1dcfab9159e41037104e5ee3 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sat, 28 Jun 2025 10:37:38 +0800 Subject: [PATCH] Optimize fluidOnEyes update Co-Authored-By: MrlingXD <90316914+wling-art@users.noreply.github.com> --- ... 0156-Remove-stream-in-matchingSlot.patch} | 0 ...6-Remove-stream-in-updateFluidOnEyes.patch | 77 ----- ...entity-mountedOrDismounted-changes-.patch} | 0 ...tive-effects-map-with-optimized-col.patch} | 0 ...erion-map-with-optimized-collection.patch} | 0 ...rain-maps-with-optimized-collection.patch} | 0 ...=> 0161-Reduce-worldgen-allocations.patch} | 0 ...e-for-kickPermission-instead-of-usi.patch} | 0 ...-place-player-if-the-server-is-full.patch} | 0 ...MC-65198.patch => 0164-Fix-MC-65198.patch} | 0 ...-200418.patch => 0165-Fix-MC-200418.patch} | 0 ...-119417.patch => 0166-Fix-MC-119417.patch} | 0 ...-223153.patch => 0167-Fix-MC-223153.patch} | 0 ...onfigurable-player-knockback-zombie.patch} | 0 ...during-inactive-ticks-for-non-aware.patch} | 0 ...zombie-reinforcements-loading-chunk.patch} | 0 ...aperPR-Fix-some-beacon-event-issues.patch} | 0 ...72-Dont-send-useless-entity-packets.patch} | 0 ...patch => 0173-Multithreaded-Tracker.patch} | 0 ...0174-Nitori-Async-playerdata-saving.patch} | 0 ...e-nearby-alive-players-for-spawning.patch} | 0 ...> 0176-Cache-blockstate-cache-array.patch} | 0 ....patch => 0177-Asynchronous-locator.patch} | 0 ...tities-in-NearestLivingEntitySensor.patch} | 0 ...uce-memory-footprint-of-CompoundTag.patch} | 0 ... 0180-Optimize-Entity-distanceToSqr.patch} | 2 +- ...e-snapshots-for-TileEntity-getOwner.patch} | 0 ... => 0182-Cache-tile-entity-position.patch} | 0 ...patch => 0183-TT20-Lag-compensation.patch} | 0 ...tch => 0184-C2ME-Reduce-Allocations.patch} | 0 ...cessary-calculations-if-player-is-n.patch} | 0 ...til.patch => 0186-Lithium-fast-util.patch} | 0 ...187-Lithium-cached-iterate-outwards.patch} | 0 ...read-safe-ban-list-date-format-pars.patch} | 0 ...> 0189-C2ME-Optimize-world-gen-math.patch} | 0 ...k-key.patch => 0190-Cache-chunk-key.patch} | 0 ...0191-Cache-random-tick-block-status.patch} | 0 ...2-Cache-part-of-canHoldFluid-result.patch} | 0 ... => 0193-Configurable-tripwire-dupe.patch} | 0 ...7075-Block-Entities-Unload-Lag-Spik.patch} | 0 ...Rearrange-the-attackable-conditions.patch} | 0 ...-dirty-stats-copy-when-requesting-p.patch} | 0 ...t-dirty-flag-when-loading-maps-from.patch} | 0 ...hecking-nearby-players-for-spawning.patch} | 0 ...> 0199-Cache-supporting-block-check.patch} | 2 +- ...ue-clear-on-LevelTicks-cleanupAfter.patch} | 0 ...ivity-maps-with-optimized-collectio.patch} | 0 ... => 0202-Remove-stream-in-villagers.patch} | 0 ... 0203-Optimize-baby-villager-sensor.patch} | 0 ....patch => 0204-Only-player-pushable.patch} | 0 ...205-Remove-iterators-from-Inventory.patch} | 0 ...eligible-players-for-despawn-checks.patch} | 0 ...-Slightly-optimise-getNearestPlayer.patch} | 0 ...writeLongArray-during-chunk-loading.patch} | 0 ...9-Improve-sorting-in-SortedArraySet.patch} | 0 ... 0210-Make-removeIf-slightly-faster.patch} | 0 ...atch => 0211-Optimize-LinearPalette.patch} | 0 ...212-Slightly-optimized-VarInt-write.patch} | 0 ...te-ClientboundLightUpdatePacketData.patch} | 0 ...send.patch => 0214-Async-chunk-send.patch} | 0 ...atch => 0215-Spawner-Configurations.patch} | 0 ...SparklyPaper-Parallel-world-ticking.patch} | 2 +- ...-SparklyPaper-Track-each-world-MSPT.patch} | 0 ...lled-Projectile-Events-still-consum.patch} | 0 ...ndInteract-and-NearestVisibleLiving.patch} | 0 ...emove-streams-on-InsideBrownianWalk.patch} | 0 ...=> 0221-Use-BFS-on-getSlopeDistance.patch} | 0 ...r-PR-Throttle-failed-spawn-attempts.patch} | 0 ...BlockEntity-ticking-isRemoved-check.patch} | 0 ...4-Raytrace-AntiXray-SDK-integration.patch} | 0 ...timize-addOrUpdateTransientModifier.patch} | 0 ... => 0226-Optimize-ContextMap.create.patch} | 0 ...Micro-optimizations-for-random-tick.patch} | 0 ...n-updateConnectedPlayersWithinRange.patch} | 0 ...29-Remove-streams-on-PlayerDetector.patch} | 0 ...se-direct-iteration-on-Sensing.tick.patch} | 0 ...1-Optimise-non-flush-packet-sending.patch} | 0 ...unk-retrieving-in-entity-fluid-push.patch} | 2 +- ...-Null-handling-on-MultifaceSpreader.patch} | 0 ....patch => 0234-More-virtual-threads.patch} | 0 ....patch => 0235-Async-target-finding.patch} | 0 ...imize-ThreadedTicketLevelPropagator.patch} | 0 ...EffectUtil-getDigSpeedAmplification.patch} | 0 ...patch => 0238-Optimise-chunkUnloads.patch} | 0 ...39-Optimize-BlockEntityType-isValid.patch} | 0 ...t-on-player-join-to-avoid-chunk-loa.patch} | 0 ...heck-inside-blocks-and-traverse-blo.patch} | 2 +- ...yList-implementation-to-BasicEntity.patch} | 0 ...ol-Core.patch => 0243-Protocol-Core.patch} | 0 ... => 0244-Reduce-PlayerChunk-Updates.patch} | 0 ... 0245-Async-switch-connection-state.patch} | 0 ...timize-BlockEntities-tickersInLevel.patch} | 0 ...e-cactus-can-even-survive-being-pla.patch} | 0 ...0248-Flush-location-while-knockback.patch} | 0 ...tch => 0249-Only-tick-items-at-hand.patch} | 0 ...art-sort-items-in-NearestItemSensor.patch} | 0 ...251-Optimise-player-movement-checks.patch} | 2 +- ...=> 0252-Remove-streams-in-MobSensor.patch} | 0 ...53-Remove-streams-in-TemptingSensor.patch} | 0 ...0254-Use-HashedList-on-WeightedList.patch} | 0 ...-death-item-drop-knockback-settings.patch} | 0 ...-Optimize-getScaledTrackingDistance.patch} | 0 ...ptimize-SynchedEntityData-packDirty.patch} | 0 .../features/0258-Optimize-isEyeInFluid.patch | 315 ++++++++++++++++++ ...patch => 0259-Cache-block-path-type.patch} | 0 .../features/0259-Optimize-isEyeInFluid.patch | 77 ----- ...ch => 0260-optimize-getEntityStatus.patch} | 0 ...on-optimized-PoweredRailBlock-logic.patch} | 0 ...2-optimise-ChunkGenerator-getMobsAt.patch} | 0 ...ome.patch => 0263-optimise-getBiome.patch} | 0 ...patch => 0264-optimize-mob-spawning.patch} | 0 ...atch => 0265-optimize-structure-map.patch} | 0 ...patch => 0266-throttle-mob-spawning.patch} | 0 ... => 0267-Add-BlockExplosionHitEvent.patch} | 0 ...last-Protection-explosion-knockback.patch} | 0 ...> 0269-Use-UUID-for-cure-reputation.patch} | 0 ...-Cache-potential-behaviors-in-Brain.patch} | 0 ...-ActivationList-on-runningBehaviors.patch} | 0 ... 0272-Paper-Fix-excess-slot-updates.patch} | 0 ...ing-parsing-unknown-command-message.patch} | 0 ...-Paper-Rewrite-dataconverter-system.patch} | 0 ....patch => 0275-optimize-random-tick.patch} | 0 ...nvalid-flatten-text-component-parse.patch} | 0 ...-Fast-BiomeManager-seed-obfuscation.patch} | 0 ...tion.patch => 0278-Paw-optimization.patch} | 12 +- ... => 0279-Paper-Improve-Fix-MC-44654.patch} | 4 +- ...> 0280-Paper-Cleanup-Primed-TNT-Fix.patch} | 0 ...llager-ominus-banner-pickup-mechani.patch} | 0 .../java/me/titaniumtown/ArrayConstants.java | 1 + .../config/modules/opt/EyeFluidCache.java | 21 -- 130 files changed, 330 insertions(+), 189 deletions(-) rename leaf-server/minecraft-patches/features/{0157-Remove-stream-in-matchingSlot.patch => 0156-Remove-stream-in-matchingSlot.patch} (100%) delete mode 100644 leaf-server/minecraft-patches/features/0156-Remove-stream-in-updateFluidOnEyes.patch rename leaf-server/minecraft-patches/features/{0158-Remove-stream-in-entity-mountedOrDismounted-changes-.patch => 0157-Remove-stream-in-entity-mountedOrDismounted-changes-.patch} (100%) rename leaf-server/minecraft-patches/features/{0159-Replace-Entity-active-effects-map-with-optimized-col.patch => 0158-Replace-Entity-active-effects-map-with-optimized-col.patch} (100%) rename leaf-server/minecraft-patches/features/{0160-Replace-criterion-map-with-optimized-collection.patch => 0159-Replace-criterion-map-with-optimized-collection.patch} (100%) rename leaf-server/minecraft-patches/features/{0161-Replace-brain-maps-with-optimized-collection.patch => 0160-Replace-brain-maps-with-optimized-collection.patch} (100%) rename leaf-server/minecraft-patches/features/{0162-Reduce-worldgen-allocations.patch => 0161-Reduce-worldgen-allocations.patch} (100%) rename leaf-server/minecraft-patches/features/{0163-Use-caffeine-cache-for-kickPermission-instead-of-usi.patch => 0162-Use-caffeine-cache-for-kickPermission-instead-of-usi.patch} (100%) rename leaf-server/minecraft-patches/features/{0164-Do-not-place-player-if-the-server-is-full.patch => 0163-Do-not-place-player-if-the-server-is-full.patch} (100%) rename leaf-server/minecraft-patches/features/{0165-Fix-MC-65198.patch => 0164-Fix-MC-65198.patch} (100%) rename leaf-server/minecraft-patches/features/{0166-Fix-MC-200418.patch => 0165-Fix-MC-200418.patch} (100%) rename leaf-server/minecraft-patches/features/{0167-Fix-MC-119417.patch => 0166-Fix-MC-119417.patch} (100%) rename leaf-server/minecraft-patches/features/{0168-Fix-MC-223153.patch => 0167-Fix-MC-223153.patch} (100%) rename leaf-server/minecraft-patches/features/{0169-Configurable-player-knockback-zombie.patch => 0168-Configurable-player-knockback-zombie.patch} (100%) rename leaf-server/minecraft-patches/features/{0170-Paper-PR-Skip-AI-during-inactive-ticks-for-non-aware.patch => 0169-Paper-PR-Skip-AI-during-inactive-ticks-for-non-aware.patch} (100%) rename leaf-server/minecraft-patches/features/{0171-Paper-PR-Prevent-zombie-reinforcements-loading-chunk.patch => 0170-Paper-PR-Prevent-zombie-reinforcements-loading-chunk.patch} (100%) rename leaf-server/minecraft-patches/features/{0172-PaperPR-Fix-some-beacon-event-issues.patch => 0171-PaperPR-Fix-some-beacon-event-issues.patch} (100%) rename leaf-server/minecraft-patches/features/{0173-Dont-send-useless-entity-packets.patch => 0172-Dont-send-useless-entity-packets.patch} (100%) rename leaf-server/minecraft-patches/features/{0174-Multithreaded-Tracker.patch => 0173-Multithreaded-Tracker.patch} (100%) rename leaf-server/minecraft-patches/features/{0175-Nitori-Async-playerdata-saving.patch => 0174-Nitori-Async-playerdata-saving.patch} (100%) rename leaf-server/minecraft-patches/features/{0176-Optimize-nearby-alive-players-for-spawning.patch => 0175-Optimize-nearby-alive-players-for-spawning.patch} (100%) rename leaf-server/minecraft-patches/features/{0177-Cache-blockstate-cache-array.patch => 0176-Cache-blockstate-cache-array.patch} (100%) rename leaf-server/minecraft-patches/features/{0178-Asynchronous-locator.patch => 0177-Asynchronous-locator.patch} (100%) rename leaf-server/minecraft-patches/features/{0179-Smart-sort-entities-in-NearestLivingEntitySensor.patch => 0178-Smart-sort-entities-in-NearestLivingEntitySensor.patch} (100%) rename leaf-server/minecraft-patches/features/{0180-Further-reduce-memory-footprint-of-CompoundTag.patch => 0179-Further-reduce-memory-footprint-of-CompoundTag.patch} (100%) rename leaf-server/minecraft-patches/features/{0181-Optimize-Entity-distanceToSqr.patch => 0180-Optimize-Entity-distanceToSqr.patch} (97%) rename leaf-server/minecraft-patches/features/{0182-EMC-Don-t-use-snapshots-for-TileEntity-getOwner.patch => 0181-EMC-Don-t-use-snapshots-for-TileEntity-getOwner.patch} (100%) rename leaf-server/minecraft-patches/features/{0183-Cache-tile-entity-position.patch => 0182-Cache-tile-entity-position.patch} (100%) rename leaf-server/minecraft-patches/features/{0184-TT20-Lag-compensation.patch => 0183-TT20-Lag-compensation.patch} (100%) rename leaf-server/minecraft-patches/features/{0185-C2ME-Reduce-Allocations.patch => 0184-C2ME-Reduce-Allocations.patch} (100%) rename leaf-server/minecraft-patches/features/{0186-Lithium-Skip-unnecessary-calculations-if-player-is-n.patch => 0185-Lithium-Skip-unnecessary-calculations-if-player-is-n.patch} (100%) rename leaf-server/minecraft-patches/features/{0187-Lithium-fast-util.patch => 0186-Lithium-fast-util.patch} (100%) rename leaf-server/minecraft-patches/features/{0188-Lithium-cached-iterate-outwards.patch => 0187-Lithium-cached-iterate-outwards.patch} (100%) rename leaf-server/minecraft-patches/features/{0189-Use-faster-and-thread-safe-ban-list-date-format-pars.patch => 0188-Use-faster-and-thread-safe-ban-list-date-format-pars.patch} (100%) rename leaf-server/minecraft-patches/features/{0190-C2ME-Optimize-world-gen-math.patch => 0189-C2ME-Optimize-world-gen-math.patch} (100%) rename leaf-server/minecraft-patches/features/{0191-Cache-chunk-key.patch => 0190-Cache-chunk-key.patch} (100%) rename leaf-server/minecraft-patches/features/{0192-Cache-random-tick-block-status.patch => 0191-Cache-random-tick-block-status.patch} (100%) rename leaf-server/minecraft-patches/features/{0193-Cache-part-of-canHoldFluid-result.patch => 0192-Cache-part-of-canHoldFluid-result.patch} (100%) rename leaf-server/minecraft-patches/features/{0194-Configurable-tripwire-dupe.patch => 0193-Configurable-tripwire-dupe.patch} (100%) rename leaf-server/minecraft-patches/features/{0195-PaperPR-Fix-MC-117075-Block-Entities-Unload-Lag-Spik.patch => 0194-PaperPR-Fix-MC-117075-Block-Entities-Unload-Lag-Spik.patch} (100%) rename leaf-server/minecraft-patches/features/{0196-Sepals-Rearrange-the-attackable-conditions.patch => 0195-Sepals-Rearrange-the-attackable-conditions.patch} (100%) rename leaf-server/minecraft-patches/features/{0197-SparklyPaper-Skip-dirty-stats-copy-when-requesting-p.patch => 0196-SparklyPaper-Skip-dirty-stats-copy-when-requesting-p.patch} (100%) rename leaf-server/minecraft-patches/features/{0198-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch => 0197-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch} (100%) rename leaf-server/minecraft-patches/features/{0199-Optimize-checking-nearby-players-for-spawning.patch => 0198-Optimize-checking-nearby-players-for-spawning.patch} (100%) rename leaf-server/minecraft-patches/features/{0200-Cache-supporting-block-check.patch => 0199-Cache-supporting-block-check.patch} (96%) rename leaf-server/minecraft-patches/features/{0201-Avoid-useless-deque-clear-on-LevelTicks-cleanupAfter.patch => 0200-Avoid-useless-deque-clear-on-LevelTicks-cleanupAfter.patch} (100%) rename leaf-server/minecraft-patches/features/{0202-Replace-brain-activity-maps-with-optimized-collectio.patch => 0201-Replace-brain-activity-maps-with-optimized-collectio.patch} (100%) rename leaf-server/minecraft-patches/features/{0203-Remove-stream-in-villagers.patch => 0202-Remove-stream-in-villagers.patch} (100%) rename leaf-server/minecraft-patches/features/{0204-Optimize-baby-villager-sensor.patch => 0203-Optimize-baby-villager-sensor.patch} (100%) rename leaf-server/minecraft-patches/features/{0205-Only-player-pushable.patch => 0204-Only-player-pushable.patch} (100%) rename leaf-server/minecraft-patches/features/{0206-Remove-iterators-from-Inventory.patch => 0205-Remove-iterators-from-Inventory.patch} (100%) rename leaf-server/minecraft-patches/features/{0207-Cache-eligible-players-for-despawn-checks.patch => 0206-Cache-eligible-players-for-despawn-checks.patch} (100%) rename leaf-server/minecraft-patches/features/{0208-Slightly-optimise-getNearestPlayer.patch => 0207-Slightly-optimise-getNearestPlayer.patch} (100%) rename leaf-server/minecraft-patches/features/{0209-Bulk-writes-to-writeLongArray-during-chunk-loading.patch => 0208-Bulk-writes-to-writeLongArray-during-chunk-loading.patch} (100%) rename leaf-server/minecraft-patches/features/{0210-Improve-sorting-in-SortedArraySet.patch => 0209-Improve-sorting-in-SortedArraySet.patch} (100%) rename leaf-server/minecraft-patches/features/{0211-Make-removeIf-slightly-faster.patch => 0210-Make-removeIf-slightly-faster.patch} (100%) rename leaf-server/minecraft-patches/features/{0212-Optimize-LinearPalette.patch => 0211-Optimize-LinearPalette.patch} (100%) rename leaf-server/minecraft-patches/features/{0213-Slightly-optimized-VarInt-write.patch => 0212-Slightly-optimized-VarInt-write.patch} (100%) rename leaf-server/minecraft-patches/features/{0214-Rewrite-ClientboundLightUpdatePacketData.patch => 0213-Rewrite-ClientboundLightUpdatePacketData.patch} (100%) rename leaf-server/minecraft-patches/features/{0215-Async-chunk-send.patch => 0214-Async-chunk-send.patch} (100%) rename leaf-server/minecraft-patches/features/{0216-Spawner-Configurations.patch => 0215-Spawner-Configurations.patch} (100%) rename leaf-server/minecraft-patches/features/{0217-SparklyPaper-Parallel-world-ticking.patch => 0216-SparklyPaper-Parallel-world-ticking.patch} (99%) rename leaf-server/minecraft-patches/features/{0218-SparklyPaper-Track-each-world-MSPT.patch => 0217-SparklyPaper-Track-each-world-MSPT.patch} (100%) rename leaf-server/minecraft-patches/features/{0219-PaperPR-Fix-cancelled-Projectile-Events-still-consum.patch => 0218-PaperPR-Fix-cancelled-Projectile-Events-still-consum.patch} (100%) rename leaf-server/minecraft-patches/features/{0220-Optimize-SetLookAndInteract-and-NearestVisibleLiving.patch => 0219-Optimize-SetLookAndInteract-and-NearestVisibleLiving.patch} (100%) rename leaf-server/minecraft-patches/features/{0221-Remove-streams-on-InsideBrownianWalk.patch => 0220-Remove-streams-on-InsideBrownianWalk.patch} (100%) rename leaf-server/minecraft-patches/features/{0222-Use-BFS-on-getSlopeDistance.patch => 0221-Use-BFS-on-getSlopeDistance.patch} (100%) rename leaf-server/minecraft-patches/features/{0223-Paper-PR-Throttle-failed-spawn-attempts.patch => 0222-Paper-PR-Throttle-failed-spawn-attempts.patch} (100%) rename leaf-server/minecraft-patches/features/{0224-Improve-BlockEntity-ticking-isRemoved-check.patch => 0223-Improve-BlockEntity-ticking-isRemoved-check.patch} (100%) rename leaf-server/minecraft-patches/features/{0225-Raytrace-AntiXray-SDK-integration.patch => 0224-Raytrace-AntiXray-SDK-integration.patch} (100%) rename leaf-server/minecraft-patches/features/{0226-Optimize-addOrUpdateTransientModifier.patch => 0225-Optimize-addOrUpdateTransientModifier.patch} (100%) rename leaf-server/minecraft-patches/features/{0227-Optimize-ContextMap.create.patch => 0226-Optimize-ContextMap.create.patch} (100%) rename leaf-server/minecraft-patches/features/{0228-Micro-optimizations-for-random-tick.patch => 0227-Micro-optimizations-for-random-tick.patch} (100%) rename leaf-server/minecraft-patches/features/{0229-Remove-streams-on-updateConnectedPlayersWithinRange.patch => 0228-Remove-streams-on-updateConnectedPlayersWithinRange.patch} (100%) rename leaf-server/minecraft-patches/features/{0230-Remove-streams-on-PlayerDetector.patch => 0229-Remove-streams-on-PlayerDetector.patch} (100%) rename leaf-server/minecraft-patches/features/{0231-Use-direct-iteration-on-Sensing.tick.patch => 0230-Use-direct-iteration-on-Sensing.tick.patch} (100%) rename leaf-server/minecraft-patches/features/{0232-Optimise-non-flush-packet-sending.patch => 0231-Optimise-non-flush-packet-sending.patch} (100%) rename leaf-server/minecraft-patches/features/{0233-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch => 0232-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch} (96%) rename leaf-server/minecraft-patches/features/{0234-Null-handling-on-MultifaceSpreader.patch => 0233-Null-handling-on-MultifaceSpreader.patch} (100%) rename leaf-server/minecraft-patches/features/{0235-More-virtual-threads.patch => 0234-More-virtual-threads.patch} (100%) rename leaf-server/minecraft-patches/features/{0236-Async-target-finding.patch => 0235-Async-target-finding.patch} (100%) rename leaf-server/minecraft-patches/features/{0237-Optimize-ThreadedTicketLevelPropagator.patch => 0236-Optimize-ThreadedTicketLevelPropagator.patch} (100%) rename leaf-server/minecraft-patches/features/{0238-Optimise-MobEffectUtil-getDigSpeedAmplification.patch => 0237-Optimise-MobEffectUtil-getDigSpeedAmplification.patch} (100%) rename leaf-server/minecraft-patches/features/{0239-Optimise-chunkUnloads.patch => 0238-Optimise-chunkUnloads.patch} (100%) rename leaf-server/minecraft-patches/features/{0240-Optimize-BlockEntityType-isValid.patch => 0239-Optimize-BlockEntityType-isValid.patch} (100%) rename leaf-server/minecraft-patches/features/{0241-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch => 0240-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch} (100%) rename leaf-server/minecraft-patches/features/{0242-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch => 0241-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch} (98%) rename leaf-server/minecraft-patches/features/{0243-Sakura-copy-EntityList-implementation-to-BasicEntity.patch => 0242-Sakura-copy-EntityList-implementation-to-BasicEntity.patch} (100%) rename leaf-server/minecraft-patches/features/{0244-Protocol-Core.patch => 0243-Protocol-Core.patch} (100%) rename leaf-server/minecraft-patches/features/{0245-Reduce-PlayerChunk-Updates.patch => 0244-Reduce-PlayerChunk-Updates.patch} (100%) rename leaf-server/minecraft-patches/features/{0246-Async-switch-connection-state.patch => 0245-Async-switch-connection-state.patch} (100%) rename leaf-server/minecraft-patches/features/{0247-Optimize-BlockEntities-tickersInLevel.patch => 0246-Optimize-BlockEntities-tickersInLevel.patch} (100%) rename leaf-server/minecraft-patches/features/{0248-Pluto-Check-if-the-cactus-can-even-survive-being-pla.patch => 0247-Pluto-Check-if-the-cactus-can-even-survive-being-pla.patch} (100%) rename leaf-server/minecraft-patches/features/{0249-Flush-location-while-knockback.patch => 0248-Flush-location-while-knockback.patch} (100%) rename leaf-server/minecraft-patches/features/{0250-Only-tick-items-at-hand.patch => 0249-Only-tick-items-at-hand.patch} (100%) rename leaf-server/minecraft-patches/features/{0251-Smart-sort-items-in-NearestItemSensor.patch => 0250-Smart-sort-items-in-NearestItemSensor.patch} (100%) rename leaf-server/minecraft-patches/features/{0252-Optimise-player-movement-checks.patch => 0251-Optimise-player-movement-checks.patch} (90%) rename leaf-server/minecraft-patches/features/{0253-Remove-streams-in-MobSensor.patch => 0252-Remove-streams-in-MobSensor.patch} (100%) rename leaf-server/minecraft-patches/features/{0254-Remove-streams-in-TemptingSensor.patch => 0253-Remove-streams-in-TemptingSensor.patch} (100%) rename leaf-server/minecraft-patches/features/{0255-Use-HashedList-on-WeightedList.patch => 0254-Use-HashedList-on-WeightedList.patch} (100%) rename leaf-server/minecraft-patches/features/{0256-Add-configurable-death-item-drop-knockback-settings.patch => 0255-Add-configurable-death-item-drop-knockback-settings.patch} (100%) rename leaf-server/minecraft-patches/features/{0257-Optimize-getScaledTrackingDistance.patch => 0256-Optimize-getScaledTrackingDistance.patch} (100%) rename leaf-server/minecraft-patches/features/{0258-Optimize-SynchedEntityData-packDirty.patch => 0257-Optimize-SynchedEntityData-packDirty.patch} (100%) create mode 100644 leaf-server/minecraft-patches/features/0258-Optimize-isEyeInFluid.patch rename leaf-server/minecraft-patches/features/{0260-Cache-block-path-type.patch => 0259-Cache-block-path-type.patch} (100%) delete mode 100644 leaf-server/minecraft-patches/features/0259-Optimize-isEyeInFluid.patch rename leaf-server/minecraft-patches/features/{0261-optimize-getEntityStatus.patch => 0260-optimize-getEntityStatus.patch} (100%) rename leaf-server/minecraft-patches/features/{0262-Rail-Optimization-optimized-PoweredRailBlock-logic.patch => 0261-Rail-Optimization-optimized-PoweredRailBlock-logic.patch} (100%) rename leaf-server/minecraft-patches/features/{0263-optimise-ChunkGenerator-getMobsAt.patch => 0262-optimise-ChunkGenerator-getMobsAt.patch} (100%) rename leaf-server/minecraft-patches/features/{0264-optimise-getBiome.patch => 0263-optimise-getBiome.patch} (100%) rename leaf-server/minecraft-patches/features/{0265-optimize-mob-spawning.patch => 0264-optimize-mob-spawning.patch} (100%) rename leaf-server/minecraft-patches/features/{0266-optimize-structure-map.patch => 0265-optimize-structure-map.patch} (100%) rename leaf-server/minecraft-patches/features/{0267-throttle-mob-spawning.patch => 0266-throttle-mob-spawning.patch} (100%) rename leaf-server/minecraft-patches/features/{0268-Add-BlockExplosionHitEvent.patch => 0267-Add-BlockExplosionHitEvent.patch} (100%) rename leaf-server/minecraft-patches/features/{0269-Old-Blast-Protection-explosion-knockback.patch => 0268-Old-Blast-Protection-explosion-knockback.patch} (100%) rename leaf-server/minecraft-patches/features/{0270-Use-UUID-for-cure-reputation.patch => 0269-Use-UUID-for-cure-reputation.patch} (100%) rename leaf-server/minecraft-patches/features/{0271-Cache-potential-behaviors-in-Brain.patch => 0270-Cache-potential-behaviors-in-Brain.patch} (100%) rename leaf-server/minecraft-patches/features/{0272-Use-ActivationList-on-runningBehaviors.patch => 0271-Use-ActivationList-on-runningBehaviors.patch} (100%) rename leaf-server/minecraft-patches/features/{0273-Paper-Fix-excess-slot-updates.patch => 0272-Paper-Fix-excess-slot-updates.patch} (100%) rename leaf-server/minecraft-patches/features/{0274-Fix-crash-during-parsing-unknown-command-message.patch => 0273-Fix-crash-during-parsing-unknown-command-message.patch} (100%) rename leaf-server/minecraft-patches/features/{0275-Paper-Rewrite-dataconverter-system.patch => 0274-Paper-Rewrite-dataconverter-system.patch} (100%) rename leaf-server/minecraft-patches/features/{0276-optimize-random-tick.patch => 0275-optimize-random-tick.patch} (100%) rename leaf-server/minecraft-patches/features/{0277-do-not-log-invalid-flatten-text-component-parse.patch => 0276-do-not-log-invalid-flatten-text-component-parse.patch} (100%) rename leaf-server/minecraft-patches/features/{0278-Fast-BiomeManager-seed-obfuscation.patch => 0277-Fast-BiomeManager-seed-obfuscation.patch} (100%) rename leaf-server/minecraft-patches/features/{0279-Paw-optimization.patch => 0278-Paw-optimization.patch} (98%) rename leaf-server/minecraft-patches/features/{0280-Paper-Improve-Fix-MC-44654.patch => 0279-Paper-Improve-Fix-MC-44654.patch} (93%) rename leaf-server/minecraft-patches/features/{0281-Paper-Cleanup-Primed-TNT-Fix.patch => 0280-Paper-Cleanup-Primed-TNT-Fix.patch} (100%) rename leaf-server/minecraft-patches/features/{0282-Paper-Fix-Raids-illager-ominus-banner-pickup-mechani.patch => 0281-Paper-Fix-Raids-illager-ominus-banner-pickup-mechani.patch} (100%) delete mode 100644 leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/EyeFluidCache.java diff --git a/leaf-server/minecraft-patches/features/0157-Remove-stream-in-matchingSlot.patch b/leaf-server/minecraft-patches/features/0156-Remove-stream-in-matchingSlot.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0157-Remove-stream-in-matchingSlot.patch rename to leaf-server/minecraft-patches/features/0156-Remove-stream-in-matchingSlot.patch diff --git a/leaf-server/minecraft-patches/features/0156-Remove-stream-in-updateFluidOnEyes.patch b/leaf-server/minecraft-patches/features/0156-Remove-stream-in-updateFluidOnEyes.patch deleted file mode 100644 index ad605797..00000000 --- a/leaf-server/minecraft-patches/features/0156-Remove-stream-in-updateFluidOnEyes.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Taiyou06 -Date: Mon, 11 Nov 2024 16:55:50 -0500 -Subject: [PATCH] Remove stream in updateFluidOnEyes - - -diff --git a/net/minecraft/core/Holder.java b/net/minecraft/core/Holder.java -index 6c7edbbf3935c40ccb78bee680ea75431718b9bd..a1b4dc70d555cce5e06c0298736d8b89e04a96be 100644 ---- a/net/minecraft/core/Holder.java -+++ b/net/minecraft/core/Holder.java -@@ -29,6 +29,8 @@ public interface Holder { - - Stream> tags(); - -+ Set> tagsAsSet(); // Leaf - Remove stream in updateFluidOnEyes -+ - Either, T> unwrap(); - - Optional> unwrapKey(); -@@ -105,6 +107,13 @@ public interface Holder { - public Stream> tags() { - return Stream.of(); - } -+ -+ // Leaf start - Remove stream in updateFluidOnEyes -+ @Override -+ public Set> tagsAsSet() { -+ return Set.of(); -+ } -+ // Leaf end - Remove stream in updateFluidOnEyes - } - - public static enum Kind { -@@ -238,6 +247,13 @@ public interface Holder { - return this.boundTags().stream(); - } - -+ // Leaf start - Remove stream in updateFluidOnEyes -+ @Override -+ public Set> tagsAsSet() { -+ return this.boundTags(); -+ } -+ // Leaf end - Remove stream in updateFluidOnEyes -+ - @Override - public String toString() { - return "Reference{" + this.key + "=" + this.value + "}"; -diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index ddaaf29305a9cdb6dcccd38d4ec37fac6f0a1a51..c6bb3d9e1e9c2b38845e70c308fad41c813c600e 100644 ---- a/net/minecraft/world/entity/Entity.java -+++ b/net/minecraft/world/entity/Entity.java -@@ -1980,7 +1980,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess - FluidState fluidState = this.level().getFluidState(blockPos); - double d = blockPos.getY() + fluidState.getHeight(this.level(), blockPos); - if (d > eyeY) { -- fluidState.getTags().forEach(this.fluidOnEyes::add); -+ this.fluidOnEyes.addAll(fluidState.getTagsAsSet()); // Leaf - Remove stream in updateFluidOnEyes - } - } - } -diff --git a/net/minecraft/world/level/material/FluidState.java b/net/minecraft/world/level/material/FluidState.java -index 0a5ae623a636923f3bbd3c01974497f39b7c4b62..f5bdd78b44881bd2b36b552165eca23d7dfac6b2 100644 ---- a/net/minecraft/world/level/material/FluidState.java -+++ b/net/minecraft/world/level/material/FluidState.java -@@ -167,6 +167,12 @@ public final class FluidState extends StateHolder implements - return this.owner.builtInRegistryHolder().tags(); - } - -+ // Leaf start - Remove stream in updateFluidOnEyes -+ public java.util.Set> getTagsAsSet() { -+ return this.owner.builtInRegistryHolder().tagsAsSet(); -+ } -+ // Leaf end - Remove stream in updateFluidOnEyes -+ - public void entityInside(Level level, BlockPos pos, Entity entity, InsideBlockEffectApplier effectApplier) { - this.getType().entityInside(level, pos, entity, effectApplier); - } diff --git a/leaf-server/minecraft-patches/features/0158-Remove-stream-in-entity-mountedOrDismounted-changes-.patch b/leaf-server/minecraft-patches/features/0157-Remove-stream-in-entity-mountedOrDismounted-changes-.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0158-Remove-stream-in-entity-mountedOrDismounted-changes-.patch rename to leaf-server/minecraft-patches/features/0157-Remove-stream-in-entity-mountedOrDismounted-changes-.patch diff --git a/leaf-server/minecraft-patches/features/0159-Replace-Entity-active-effects-map-with-optimized-col.patch b/leaf-server/minecraft-patches/features/0158-Replace-Entity-active-effects-map-with-optimized-col.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0159-Replace-Entity-active-effects-map-with-optimized-col.patch rename to leaf-server/minecraft-patches/features/0158-Replace-Entity-active-effects-map-with-optimized-col.patch diff --git a/leaf-server/minecraft-patches/features/0160-Replace-criterion-map-with-optimized-collection.patch b/leaf-server/minecraft-patches/features/0159-Replace-criterion-map-with-optimized-collection.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0160-Replace-criterion-map-with-optimized-collection.patch rename to leaf-server/minecraft-patches/features/0159-Replace-criterion-map-with-optimized-collection.patch diff --git a/leaf-server/minecraft-patches/features/0161-Replace-brain-maps-with-optimized-collection.patch b/leaf-server/minecraft-patches/features/0160-Replace-brain-maps-with-optimized-collection.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0161-Replace-brain-maps-with-optimized-collection.patch rename to leaf-server/minecraft-patches/features/0160-Replace-brain-maps-with-optimized-collection.patch diff --git a/leaf-server/minecraft-patches/features/0162-Reduce-worldgen-allocations.patch b/leaf-server/minecraft-patches/features/0161-Reduce-worldgen-allocations.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0162-Reduce-worldgen-allocations.patch rename to leaf-server/minecraft-patches/features/0161-Reduce-worldgen-allocations.patch diff --git a/leaf-server/minecraft-patches/features/0163-Use-caffeine-cache-for-kickPermission-instead-of-usi.patch b/leaf-server/minecraft-patches/features/0162-Use-caffeine-cache-for-kickPermission-instead-of-usi.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0163-Use-caffeine-cache-for-kickPermission-instead-of-usi.patch rename to leaf-server/minecraft-patches/features/0162-Use-caffeine-cache-for-kickPermission-instead-of-usi.patch diff --git a/leaf-server/minecraft-patches/features/0164-Do-not-place-player-if-the-server-is-full.patch b/leaf-server/minecraft-patches/features/0163-Do-not-place-player-if-the-server-is-full.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0164-Do-not-place-player-if-the-server-is-full.patch rename to leaf-server/minecraft-patches/features/0163-Do-not-place-player-if-the-server-is-full.patch diff --git a/leaf-server/minecraft-patches/features/0165-Fix-MC-65198.patch b/leaf-server/minecraft-patches/features/0164-Fix-MC-65198.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0165-Fix-MC-65198.patch rename to leaf-server/minecraft-patches/features/0164-Fix-MC-65198.patch diff --git a/leaf-server/minecraft-patches/features/0166-Fix-MC-200418.patch b/leaf-server/minecraft-patches/features/0165-Fix-MC-200418.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0166-Fix-MC-200418.patch rename to leaf-server/minecraft-patches/features/0165-Fix-MC-200418.patch diff --git a/leaf-server/minecraft-patches/features/0167-Fix-MC-119417.patch b/leaf-server/minecraft-patches/features/0166-Fix-MC-119417.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0167-Fix-MC-119417.patch rename to leaf-server/minecraft-patches/features/0166-Fix-MC-119417.patch diff --git a/leaf-server/minecraft-patches/features/0168-Fix-MC-223153.patch b/leaf-server/minecraft-patches/features/0167-Fix-MC-223153.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0168-Fix-MC-223153.patch rename to leaf-server/minecraft-patches/features/0167-Fix-MC-223153.patch diff --git a/leaf-server/minecraft-patches/features/0169-Configurable-player-knockback-zombie.patch b/leaf-server/minecraft-patches/features/0168-Configurable-player-knockback-zombie.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0169-Configurable-player-knockback-zombie.patch rename to leaf-server/minecraft-patches/features/0168-Configurable-player-knockback-zombie.patch diff --git a/leaf-server/minecraft-patches/features/0170-Paper-PR-Skip-AI-during-inactive-ticks-for-non-aware.patch b/leaf-server/minecraft-patches/features/0169-Paper-PR-Skip-AI-during-inactive-ticks-for-non-aware.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0170-Paper-PR-Skip-AI-during-inactive-ticks-for-non-aware.patch rename to leaf-server/minecraft-patches/features/0169-Paper-PR-Skip-AI-during-inactive-ticks-for-non-aware.patch diff --git a/leaf-server/minecraft-patches/features/0171-Paper-PR-Prevent-zombie-reinforcements-loading-chunk.patch b/leaf-server/minecraft-patches/features/0170-Paper-PR-Prevent-zombie-reinforcements-loading-chunk.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0171-Paper-PR-Prevent-zombie-reinforcements-loading-chunk.patch rename to leaf-server/minecraft-patches/features/0170-Paper-PR-Prevent-zombie-reinforcements-loading-chunk.patch diff --git a/leaf-server/minecraft-patches/features/0172-PaperPR-Fix-some-beacon-event-issues.patch b/leaf-server/minecraft-patches/features/0171-PaperPR-Fix-some-beacon-event-issues.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0172-PaperPR-Fix-some-beacon-event-issues.patch rename to leaf-server/minecraft-patches/features/0171-PaperPR-Fix-some-beacon-event-issues.patch diff --git a/leaf-server/minecraft-patches/features/0173-Dont-send-useless-entity-packets.patch b/leaf-server/minecraft-patches/features/0172-Dont-send-useless-entity-packets.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0173-Dont-send-useless-entity-packets.patch rename to leaf-server/minecraft-patches/features/0172-Dont-send-useless-entity-packets.patch diff --git a/leaf-server/minecraft-patches/features/0174-Multithreaded-Tracker.patch b/leaf-server/minecraft-patches/features/0173-Multithreaded-Tracker.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0174-Multithreaded-Tracker.patch rename to leaf-server/minecraft-patches/features/0173-Multithreaded-Tracker.patch diff --git a/leaf-server/minecraft-patches/features/0175-Nitori-Async-playerdata-saving.patch b/leaf-server/minecraft-patches/features/0174-Nitori-Async-playerdata-saving.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0175-Nitori-Async-playerdata-saving.patch rename to leaf-server/minecraft-patches/features/0174-Nitori-Async-playerdata-saving.patch diff --git a/leaf-server/minecraft-patches/features/0176-Optimize-nearby-alive-players-for-spawning.patch b/leaf-server/minecraft-patches/features/0175-Optimize-nearby-alive-players-for-spawning.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0176-Optimize-nearby-alive-players-for-spawning.patch rename to leaf-server/minecraft-patches/features/0175-Optimize-nearby-alive-players-for-spawning.patch diff --git a/leaf-server/minecraft-patches/features/0177-Cache-blockstate-cache-array.patch b/leaf-server/minecraft-patches/features/0176-Cache-blockstate-cache-array.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0177-Cache-blockstate-cache-array.patch rename to leaf-server/minecraft-patches/features/0176-Cache-blockstate-cache-array.patch diff --git a/leaf-server/minecraft-patches/features/0178-Asynchronous-locator.patch b/leaf-server/minecraft-patches/features/0177-Asynchronous-locator.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0178-Asynchronous-locator.patch rename to leaf-server/minecraft-patches/features/0177-Asynchronous-locator.patch diff --git a/leaf-server/minecraft-patches/features/0179-Smart-sort-entities-in-NearestLivingEntitySensor.patch b/leaf-server/minecraft-patches/features/0178-Smart-sort-entities-in-NearestLivingEntitySensor.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0179-Smart-sort-entities-in-NearestLivingEntitySensor.patch rename to leaf-server/minecraft-patches/features/0178-Smart-sort-entities-in-NearestLivingEntitySensor.patch diff --git a/leaf-server/minecraft-patches/features/0180-Further-reduce-memory-footprint-of-CompoundTag.patch b/leaf-server/minecraft-patches/features/0179-Further-reduce-memory-footprint-of-CompoundTag.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0180-Further-reduce-memory-footprint-of-CompoundTag.patch rename to leaf-server/minecraft-patches/features/0179-Further-reduce-memory-footprint-of-CompoundTag.patch diff --git a/leaf-server/minecraft-patches/features/0181-Optimize-Entity-distanceToSqr.patch b/leaf-server/minecraft-patches/features/0180-Optimize-Entity-distanceToSqr.patch similarity index 97% rename from leaf-server/minecraft-patches/features/0181-Optimize-Entity-distanceToSqr.patch rename to leaf-server/minecraft-patches/features/0180-Optimize-Entity-distanceToSqr.patch index 3547801a..aacea3d9 100644 --- a/leaf-server/minecraft-patches/features/0181-Optimize-Entity-distanceToSqr.patch +++ b/leaf-server/minecraft-patches/features/0180-Optimize-Entity-distanceToSqr.patch @@ -8,7 +8,7 @@ avoids multiple casting in Entity#distanceTo, using Math#sqrt directly instead o these methods more able to be inlined by the JIT compiler. diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index c6bb3d9e1e9c2b38845e70c308fad41c813c600e..21dbc78baae89093ef9bc3a0620ab9e557e22910 100644 +index ddaaf29305a9cdb6dcccd38d4ec37fac6f0a1a51..a3299cf2f1ac3e8794303b92a3662d3002846e96 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -2190,31 +2190,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/leaf-server/minecraft-patches/features/0182-EMC-Don-t-use-snapshots-for-TileEntity-getOwner.patch b/leaf-server/minecraft-patches/features/0181-EMC-Don-t-use-snapshots-for-TileEntity-getOwner.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0182-EMC-Don-t-use-snapshots-for-TileEntity-getOwner.patch rename to leaf-server/minecraft-patches/features/0181-EMC-Don-t-use-snapshots-for-TileEntity-getOwner.patch diff --git a/leaf-server/minecraft-patches/features/0183-Cache-tile-entity-position.patch b/leaf-server/minecraft-patches/features/0182-Cache-tile-entity-position.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0183-Cache-tile-entity-position.patch rename to leaf-server/minecraft-patches/features/0182-Cache-tile-entity-position.patch diff --git a/leaf-server/minecraft-patches/features/0184-TT20-Lag-compensation.patch b/leaf-server/minecraft-patches/features/0183-TT20-Lag-compensation.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0184-TT20-Lag-compensation.patch rename to leaf-server/minecraft-patches/features/0183-TT20-Lag-compensation.patch diff --git a/leaf-server/minecraft-patches/features/0185-C2ME-Reduce-Allocations.patch b/leaf-server/minecraft-patches/features/0184-C2ME-Reduce-Allocations.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0185-C2ME-Reduce-Allocations.patch rename to leaf-server/minecraft-patches/features/0184-C2ME-Reduce-Allocations.patch diff --git a/leaf-server/minecraft-patches/features/0186-Lithium-Skip-unnecessary-calculations-if-player-is-n.patch b/leaf-server/minecraft-patches/features/0185-Lithium-Skip-unnecessary-calculations-if-player-is-n.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0186-Lithium-Skip-unnecessary-calculations-if-player-is-n.patch rename to leaf-server/minecraft-patches/features/0185-Lithium-Skip-unnecessary-calculations-if-player-is-n.patch diff --git a/leaf-server/minecraft-patches/features/0187-Lithium-fast-util.patch b/leaf-server/minecraft-patches/features/0186-Lithium-fast-util.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0187-Lithium-fast-util.patch rename to leaf-server/minecraft-patches/features/0186-Lithium-fast-util.patch diff --git a/leaf-server/minecraft-patches/features/0188-Lithium-cached-iterate-outwards.patch b/leaf-server/minecraft-patches/features/0187-Lithium-cached-iterate-outwards.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0188-Lithium-cached-iterate-outwards.patch rename to leaf-server/minecraft-patches/features/0187-Lithium-cached-iterate-outwards.patch diff --git a/leaf-server/minecraft-patches/features/0189-Use-faster-and-thread-safe-ban-list-date-format-pars.patch b/leaf-server/minecraft-patches/features/0188-Use-faster-and-thread-safe-ban-list-date-format-pars.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0189-Use-faster-and-thread-safe-ban-list-date-format-pars.patch rename to leaf-server/minecraft-patches/features/0188-Use-faster-and-thread-safe-ban-list-date-format-pars.patch diff --git a/leaf-server/minecraft-patches/features/0190-C2ME-Optimize-world-gen-math.patch b/leaf-server/minecraft-patches/features/0189-C2ME-Optimize-world-gen-math.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0190-C2ME-Optimize-world-gen-math.patch rename to leaf-server/minecraft-patches/features/0189-C2ME-Optimize-world-gen-math.patch diff --git a/leaf-server/minecraft-patches/features/0191-Cache-chunk-key.patch b/leaf-server/minecraft-patches/features/0190-Cache-chunk-key.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0191-Cache-chunk-key.patch rename to leaf-server/minecraft-patches/features/0190-Cache-chunk-key.patch diff --git a/leaf-server/minecraft-patches/features/0192-Cache-random-tick-block-status.patch b/leaf-server/minecraft-patches/features/0191-Cache-random-tick-block-status.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0192-Cache-random-tick-block-status.patch rename to leaf-server/minecraft-patches/features/0191-Cache-random-tick-block-status.patch diff --git a/leaf-server/minecraft-patches/features/0193-Cache-part-of-canHoldFluid-result.patch b/leaf-server/minecraft-patches/features/0192-Cache-part-of-canHoldFluid-result.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0193-Cache-part-of-canHoldFluid-result.patch rename to leaf-server/minecraft-patches/features/0192-Cache-part-of-canHoldFluid-result.patch diff --git a/leaf-server/minecraft-patches/features/0194-Configurable-tripwire-dupe.patch b/leaf-server/minecraft-patches/features/0193-Configurable-tripwire-dupe.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0194-Configurable-tripwire-dupe.patch rename to leaf-server/minecraft-patches/features/0193-Configurable-tripwire-dupe.patch diff --git a/leaf-server/minecraft-patches/features/0195-PaperPR-Fix-MC-117075-Block-Entities-Unload-Lag-Spik.patch b/leaf-server/minecraft-patches/features/0194-PaperPR-Fix-MC-117075-Block-Entities-Unload-Lag-Spik.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0195-PaperPR-Fix-MC-117075-Block-Entities-Unload-Lag-Spik.patch rename to leaf-server/minecraft-patches/features/0194-PaperPR-Fix-MC-117075-Block-Entities-Unload-Lag-Spik.patch diff --git a/leaf-server/minecraft-patches/features/0196-Sepals-Rearrange-the-attackable-conditions.patch b/leaf-server/minecraft-patches/features/0195-Sepals-Rearrange-the-attackable-conditions.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0196-Sepals-Rearrange-the-attackable-conditions.patch rename to leaf-server/minecraft-patches/features/0195-Sepals-Rearrange-the-attackable-conditions.patch diff --git a/leaf-server/minecraft-patches/features/0197-SparklyPaper-Skip-dirty-stats-copy-when-requesting-p.patch b/leaf-server/minecraft-patches/features/0196-SparklyPaper-Skip-dirty-stats-copy-when-requesting-p.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0197-SparklyPaper-Skip-dirty-stats-copy-when-requesting-p.patch rename to leaf-server/minecraft-patches/features/0196-SparklyPaper-Skip-dirty-stats-copy-when-requesting-p.patch diff --git a/leaf-server/minecraft-patches/features/0198-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch b/leaf-server/minecraft-patches/features/0197-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0198-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch rename to leaf-server/minecraft-patches/features/0197-SparklyPaper-Reset-dirty-flag-when-loading-maps-from.patch diff --git a/leaf-server/minecraft-patches/features/0199-Optimize-checking-nearby-players-for-spawning.patch b/leaf-server/minecraft-patches/features/0198-Optimize-checking-nearby-players-for-spawning.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0199-Optimize-checking-nearby-players-for-spawning.patch rename to leaf-server/minecraft-patches/features/0198-Optimize-checking-nearby-players-for-spawning.patch diff --git a/leaf-server/minecraft-patches/features/0200-Cache-supporting-block-check.patch b/leaf-server/minecraft-patches/features/0199-Cache-supporting-block-check.patch similarity index 96% rename from leaf-server/minecraft-patches/features/0200-Cache-supporting-block-check.patch rename to leaf-server/minecraft-patches/features/0199-Cache-supporting-block-check.patch index a8135a84..19ebdb9d 100644 --- a/leaf-server/minecraft-patches/features/0200-Cache-supporting-block-check.patch +++ b/leaf-server/minecraft-patches/features/0199-Cache-supporting-block-check.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache supporting block check diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 21dbc78baae89093ef9bc3a0620ab9e557e22910..69521086fca0c9fbc230817062b65c4269c575fd 100644 +index a3299cf2f1ac3e8794303b92a3662d3002846e96..4cb3e182702d8fd69f880d00fa0c228cb1302ea0 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -1082,12 +1082,36 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/leaf-server/minecraft-patches/features/0201-Avoid-useless-deque-clear-on-LevelTicks-cleanupAfter.patch b/leaf-server/minecraft-patches/features/0200-Avoid-useless-deque-clear-on-LevelTicks-cleanupAfter.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0201-Avoid-useless-deque-clear-on-LevelTicks-cleanupAfter.patch rename to leaf-server/minecraft-patches/features/0200-Avoid-useless-deque-clear-on-LevelTicks-cleanupAfter.patch diff --git a/leaf-server/minecraft-patches/features/0202-Replace-brain-activity-maps-with-optimized-collectio.patch b/leaf-server/minecraft-patches/features/0201-Replace-brain-activity-maps-with-optimized-collectio.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0202-Replace-brain-activity-maps-with-optimized-collectio.patch rename to leaf-server/minecraft-patches/features/0201-Replace-brain-activity-maps-with-optimized-collectio.patch diff --git a/leaf-server/minecraft-patches/features/0203-Remove-stream-in-villagers.patch b/leaf-server/minecraft-patches/features/0202-Remove-stream-in-villagers.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0203-Remove-stream-in-villagers.patch rename to leaf-server/minecraft-patches/features/0202-Remove-stream-in-villagers.patch diff --git a/leaf-server/minecraft-patches/features/0204-Optimize-baby-villager-sensor.patch b/leaf-server/minecraft-patches/features/0203-Optimize-baby-villager-sensor.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0204-Optimize-baby-villager-sensor.patch rename to leaf-server/minecraft-patches/features/0203-Optimize-baby-villager-sensor.patch diff --git a/leaf-server/minecraft-patches/features/0205-Only-player-pushable.patch b/leaf-server/minecraft-patches/features/0204-Only-player-pushable.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0205-Only-player-pushable.patch rename to leaf-server/minecraft-patches/features/0204-Only-player-pushable.patch diff --git a/leaf-server/minecraft-patches/features/0206-Remove-iterators-from-Inventory.patch b/leaf-server/minecraft-patches/features/0205-Remove-iterators-from-Inventory.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0206-Remove-iterators-from-Inventory.patch rename to leaf-server/minecraft-patches/features/0205-Remove-iterators-from-Inventory.patch diff --git a/leaf-server/minecraft-patches/features/0207-Cache-eligible-players-for-despawn-checks.patch b/leaf-server/minecraft-patches/features/0206-Cache-eligible-players-for-despawn-checks.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0207-Cache-eligible-players-for-despawn-checks.patch rename to leaf-server/minecraft-patches/features/0206-Cache-eligible-players-for-despawn-checks.patch diff --git a/leaf-server/minecraft-patches/features/0208-Slightly-optimise-getNearestPlayer.patch b/leaf-server/minecraft-patches/features/0207-Slightly-optimise-getNearestPlayer.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0208-Slightly-optimise-getNearestPlayer.patch rename to leaf-server/minecraft-patches/features/0207-Slightly-optimise-getNearestPlayer.patch diff --git a/leaf-server/minecraft-patches/features/0209-Bulk-writes-to-writeLongArray-during-chunk-loading.patch b/leaf-server/minecraft-patches/features/0208-Bulk-writes-to-writeLongArray-during-chunk-loading.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0209-Bulk-writes-to-writeLongArray-during-chunk-loading.patch rename to leaf-server/minecraft-patches/features/0208-Bulk-writes-to-writeLongArray-during-chunk-loading.patch diff --git a/leaf-server/minecraft-patches/features/0210-Improve-sorting-in-SortedArraySet.patch b/leaf-server/minecraft-patches/features/0209-Improve-sorting-in-SortedArraySet.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0210-Improve-sorting-in-SortedArraySet.patch rename to leaf-server/minecraft-patches/features/0209-Improve-sorting-in-SortedArraySet.patch diff --git a/leaf-server/minecraft-patches/features/0211-Make-removeIf-slightly-faster.patch b/leaf-server/minecraft-patches/features/0210-Make-removeIf-slightly-faster.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0211-Make-removeIf-slightly-faster.patch rename to leaf-server/minecraft-patches/features/0210-Make-removeIf-slightly-faster.patch diff --git a/leaf-server/minecraft-patches/features/0212-Optimize-LinearPalette.patch b/leaf-server/minecraft-patches/features/0211-Optimize-LinearPalette.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0212-Optimize-LinearPalette.patch rename to leaf-server/minecraft-patches/features/0211-Optimize-LinearPalette.patch diff --git a/leaf-server/minecraft-patches/features/0213-Slightly-optimized-VarInt-write.patch b/leaf-server/minecraft-patches/features/0212-Slightly-optimized-VarInt-write.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0213-Slightly-optimized-VarInt-write.patch rename to leaf-server/minecraft-patches/features/0212-Slightly-optimized-VarInt-write.patch diff --git a/leaf-server/minecraft-patches/features/0214-Rewrite-ClientboundLightUpdatePacketData.patch b/leaf-server/minecraft-patches/features/0213-Rewrite-ClientboundLightUpdatePacketData.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0214-Rewrite-ClientboundLightUpdatePacketData.patch rename to leaf-server/minecraft-patches/features/0213-Rewrite-ClientboundLightUpdatePacketData.patch diff --git a/leaf-server/minecraft-patches/features/0215-Async-chunk-send.patch b/leaf-server/minecraft-patches/features/0214-Async-chunk-send.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0215-Async-chunk-send.patch rename to leaf-server/minecraft-patches/features/0214-Async-chunk-send.patch diff --git a/leaf-server/minecraft-patches/features/0216-Spawner-Configurations.patch b/leaf-server/minecraft-patches/features/0215-Spawner-Configurations.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0216-Spawner-Configurations.patch rename to leaf-server/minecraft-patches/features/0215-Spawner-Configurations.patch diff --git a/leaf-server/minecraft-patches/features/0217-SparklyPaper-Parallel-world-ticking.patch b/leaf-server/minecraft-patches/features/0216-SparklyPaper-Parallel-world-ticking.patch similarity index 99% rename from leaf-server/minecraft-patches/features/0217-SparklyPaper-Parallel-world-ticking.patch rename to leaf-server/minecraft-patches/features/0216-SparklyPaper-Parallel-world-ticking.patch index cc4952d3..35f9222d 100644 --- a/leaf-server/minecraft-patches/features/0217-SparklyPaper-Parallel-world-ticking.patch +++ b/leaf-server/minecraft-patches/features/0216-SparklyPaper-Parallel-world-ticking.patch @@ -731,7 +731,7 @@ index 75393b9cdd564e55ba173828c2f7b40498e8ecd7..96202ffdb73cb9d8c63351b4538c6464 serverPlayer.connection = player.connection; serverPlayer.restoreFrom(player, keepInventory); diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 69521086fca0c9fbc230817062b65c4269c575fd..82096e6b187e63ad3e848b9757ba2152e8c642b4 100644 +index 4cb3e182702d8fd69f880d00fa0c228cb1302ea0..757ac420fb46042e707d05c343d8fa71e086c634 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -3321,15 +3321,40 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/leaf-server/minecraft-patches/features/0218-SparklyPaper-Track-each-world-MSPT.patch b/leaf-server/minecraft-patches/features/0217-SparklyPaper-Track-each-world-MSPT.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0218-SparklyPaper-Track-each-world-MSPT.patch rename to leaf-server/minecraft-patches/features/0217-SparklyPaper-Track-each-world-MSPT.patch diff --git a/leaf-server/minecraft-patches/features/0219-PaperPR-Fix-cancelled-Projectile-Events-still-consum.patch b/leaf-server/minecraft-patches/features/0218-PaperPR-Fix-cancelled-Projectile-Events-still-consum.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0219-PaperPR-Fix-cancelled-Projectile-Events-still-consum.patch rename to leaf-server/minecraft-patches/features/0218-PaperPR-Fix-cancelled-Projectile-Events-still-consum.patch diff --git a/leaf-server/minecraft-patches/features/0220-Optimize-SetLookAndInteract-and-NearestVisibleLiving.patch b/leaf-server/minecraft-patches/features/0219-Optimize-SetLookAndInteract-and-NearestVisibleLiving.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0220-Optimize-SetLookAndInteract-and-NearestVisibleLiving.patch rename to leaf-server/minecraft-patches/features/0219-Optimize-SetLookAndInteract-and-NearestVisibleLiving.patch diff --git a/leaf-server/minecraft-patches/features/0221-Remove-streams-on-InsideBrownianWalk.patch b/leaf-server/minecraft-patches/features/0220-Remove-streams-on-InsideBrownianWalk.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0221-Remove-streams-on-InsideBrownianWalk.patch rename to leaf-server/minecraft-patches/features/0220-Remove-streams-on-InsideBrownianWalk.patch diff --git a/leaf-server/minecraft-patches/features/0222-Use-BFS-on-getSlopeDistance.patch b/leaf-server/minecraft-patches/features/0221-Use-BFS-on-getSlopeDistance.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0222-Use-BFS-on-getSlopeDistance.patch rename to leaf-server/minecraft-patches/features/0221-Use-BFS-on-getSlopeDistance.patch diff --git a/leaf-server/minecraft-patches/features/0223-Paper-PR-Throttle-failed-spawn-attempts.patch b/leaf-server/minecraft-patches/features/0222-Paper-PR-Throttle-failed-spawn-attempts.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0223-Paper-PR-Throttle-failed-spawn-attempts.patch rename to leaf-server/minecraft-patches/features/0222-Paper-PR-Throttle-failed-spawn-attempts.patch diff --git a/leaf-server/minecraft-patches/features/0224-Improve-BlockEntity-ticking-isRemoved-check.patch b/leaf-server/minecraft-patches/features/0223-Improve-BlockEntity-ticking-isRemoved-check.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0224-Improve-BlockEntity-ticking-isRemoved-check.patch rename to leaf-server/minecraft-patches/features/0223-Improve-BlockEntity-ticking-isRemoved-check.patch diff --git a/leaf-server/minecraft-patches/features/0225-Raytrace-AntiXray-SDK-integration.patch b/leaf-server/minecraft-patches/features/0224-Raytrace-AntiXray-SDK-integration.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0225-Raytrace-AntiXray-SDK-integration.patch rename to leaf-server/minecraft-patches/features/0224-Raytrace-AntiXray-SDK-integration.patch diff --git a/leaf-server/minecraft-patches/features/0226-Optimize-addOrUpdateTransientModifier.patch b/leaf-server/minecraft-patches/features/0225-Optimize-addOrUpdateTransientModifier.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0226-Optimize-addOrUpdateTransientModifier.patch rename to leaf-server/minecraft-patches/features/0225-Optimize-addOrUpdateTransientModifier.patch diff --git a/leaf-server/minecraft-patches/features/0227-Optimize-ContextMap.create.patch b/leaf-server/minecraft-patches/features/0226-Optimize-ContextMap.create.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0227-Optimize-ContextMap.create.patch rename to leaf-server/minecraft-patches/features/0226-Optimize-ContextMap.create.patch diff --git a/leaf-server/minecraft-patches/features/0228-Micro-optimizations-for-random-tick.patch b/leaf-server/minecraft-patches/features/0227-Micro-optimizations-for-random-tick.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0228-Micro-optimizations-for-random-tick.patch rename to leaf-server/minecraft-patches/features/0227-Micro-optimizations-for-random-tick.patch diff --git a/leaf-server/minecraft-patches/features/0229-Remove-streams-on-updateConnectedPlayersWithinRange.patch b/leaf-server/minecraft-patches/features/0228-Remove-streams-on-updateConnectedPlayersWithinRange.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0229-Remove-streams-on-updateConnectedPlayersWithinRange.patch rename to leaf-server/minecraft-patches/features/0228-Remove-streams-on-updateConnectedPlayersWithinRange.patch diff --git a/leaf-server/minecraft-patches/features/0230-Remove-streams-on-PlayerDetector.patch b/leaf-server/minecraft-patches/features/0229-Remove-streams-on-PlayerDetector.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0230-Remove-streams-on-PlayerDetector.patch rename to leaf-server/minecraft-patches/features/0229-Remove-streams-on-PlayerDetector.patch diff --git a/leaf-server/minecraft-patches/features/0231-Use-direct-iteration-on-Sensing.tick.patch b/leaf-server/minecraft-patches/features/0230-Use-direct-iteration-on-Sensing.tick.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0231-Use-direct-iteration-on-Sensing.tick.patch rename to leaf-server/minecraft-patches/features/0230-Use-direct-iteration-on-Sensing.tick.patch diff --git a/leaf-server/minecraft-patches/features/0232-Optimise-non-flush-packet-sending.patch b/leaf-server/minecraft-patches/features/0231-Optimise-non-flush-packet-sending.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0232-Optimise-non-flush-packet-sending.patch rename to leaf-server/minecraft-patches/features/0231-Optimise-non-flush-packet-sending.patch diff --git a/leaf-server/minecraft-patches/features/0233-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch b/leaf-server/minecraft-patches/features/0232-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch similarity index 96% rename from leaf-server/minecraft-patches/features/0233-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch rename to leaf-server/minecraft-patches/features/0232-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch index c7540943..3166646e 100644 --- a/leaf-server/minecraft-patches/features/0233-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch +++ b/leaf-server/minecraft-patches/features/0232-Prevent-double-chunk-retrieving-in-entity-fluid-push.patch @@ -11,7 +11,7 @@ As part of: Airplane (https://github.com/TECHNOVE/Airplane) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 82096e6b187e63ad3e848b9757ba2152e8c642b4..e0db9281f023a09d69479f28a7c8f681641f642f 100644 +index 757ac420fb46042e707d05c343d8fa71e086c634..8618a9221bb4feb459ed50c20c9dc5edb6308aec 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -4610,10 +4610,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/leaf-server/minecraft-patches/features/0234-Null-handling-on-MultifaceSpreader.patch b/leaf-server/minecraft-patches/features/0233-Null-handling-on-MultifaceSpreader.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0234-Null-handling-on-MultifaceSpreader.patch rename to leaf-server/minecraft-patches/features/0233-Null-handling-on-MultifaceSpreader.patch diff --git a/leaf-server/minecraft-patches/features/0235-More-virtual-threads.patch b/leaf-server/minecraft-patches/features/0234-More-virtual-threads.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0235-More-virtual-threads.patch rename to leaf-server/minecraft-patches/features/0234-More-virtual-threads.patch diff --git a/leaf-server/minecraft-patches/features/0236-Async-target-finding.patch b/leaf-server/minecraft-patches/features/0235-Async-target-finding.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0236-Async-target-finding.patch rename to leaf-server/minecraft-patches/features/0235-Async-target-finding.patch diff --git a/leaf-server/minecraft-patches/features/0237-Optimize-ThreadedTicketLevelPropagator.patch b/leaf-server/minecraft-patches/features/0236-Optimize-ThreadedTicketLevelPropagator.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0237-Optimize-ThreadedTicketLevelPropagator.patch rename to leaf-server/minecraft-patches/features/0236-Optimize-ThreadedTicketLevelPropagator.patch diff --git a/leaf-server/minecraft-patches/features/0238-Optimise-MobEffectUtil-getDigSpeedAmplification.patch b/leaf-server/minecraft-patches/features/0237-Optimise-MobEffectUtil-getDigSpeedAmplification.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0238-Optimise-MobEffectUtil-getDigSpeedAmplification.patch rename to leaf-server/minecraft-patches/features/0237-Optimise-MobEffectUtil-getDigSpeedAmplification.patch diff --git a/leaf-server/minecraft-patches/features/0239-Optimise-chunkUnloads.patch b/leaf-server/minecraft-patches/features/0238-Optimise-chunkUnloads.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0239-Optimise-chunkUnloads.patch rename to leaf-server/minecraft-patches/features/0238-Optimise-chunkUnloads.patch diff --git a/leaf-server/minecraft-patches/features/0240-Optimize-BlockEntityType-isValid.patch b/leaf-server/minecraft-patches/features/0239-Optimize-BlockEntityType-isValid.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0240-Optimize-BlockEntityType-isValid.patch rename to leaf-server/minecraft-patches/features/0239-Optimize-BlockEntityType-isValid.patch diff --git a/leaf-server/minecraft-patches/features/0241-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch b/leaf-server/minecraft-patches/features/0240-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0241-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch rename to leaf-server/minecraft-patches/features/0240-PaperPR-Add-ticket-on-player-join-to-avoid-chunk-loa.patch diff --git a/leaf-server/minecraft-patches/features/0242-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch b/leaf-server/minecraft-patches/features/0241-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch similarity index 98% rename from leaf-server/minecraft-patches/features/0242-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch rename to leaf-server/minecraft-patches/features/0241-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch index 28f98bad..a8ab5e52 100644 --- a/leaf-server/minecraft-patches/features/0242-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch +++ b/leaf-server/minecraft-patches/features/0241-Sakura-Optimise-check-inside-blocks-and-traverse-blo.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Sakura: Optimise check inside blocks and traverse blocks Dreeam TODO: refactor checkinsideblcoks diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index e0db9281f023a09d69479f28a7c8f681641f642f..cc6b6b442d72b4a974cedd8ceef710304e52ab18 100644 +index 8618a9221bb4feb459ed50c20c9dc5edb6308aec..9305f790bd80df1d7d14065e6ad621ec9c2e1a49 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -1701,6 +1701,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/leaf-server/minecraft-patches/features/0243-Sakura-copy-EntityList-implementation-to-BasicEntity.patch b/leaf-server/minecraft-patches/features/0242-Sakura-copy-EntityList-implementation-to-BasicEntity.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0243-Sakura-copy-EntityList-implementation-to-BasicEntity.patch rename to leaf-server/minecraft-patches/features/0242-Sakura-copy-EntityList-implementation-to-BasicEntity.patch diff --git a/leaf-server/minecraft-patches/features/0244-Protocol-Core.patch b/leaf-server/minecraft-patches/features/0243-Protocol-Core.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0244-Protocol-Core.patch rename to leaf-server/minecraft-patches/features/0243-Protocol-Core.patch diff --git a/leaf-server/minecraft-patches/features/0245-Reduce-PlayerChunk-Updates.patch b/leaf-server/minecraft-patches/features/0244-Reduce-PlayerChunk-Updates.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0245-Reduce-PlayerChunk-Updates.patch rename to leaf-server/minecraft-patches/features/0244-Reduce-PlayerChunk-Updates.patch diff --git a/leaf-server/minecraft-patches/features/0246-Async-switch-connection-state.patch b/leaf-server/minecraft-patches/features/0245-Async-switch-connection-state.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0246-Async-switch-connection-state.patch rename to leaf-server/minecraft-patches/features/0245-Async-switch-connection-state.patch diff --git a/leaf-server/minecraft-patches/features/0247-Optimize-BlockEntities-tickersInLevel.patch b/leaf-server/minecraft-patches/features/0246-Optimize-BlockEntities-tickersInLevel.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0247-Optimize-BlockEntities-tickersInLevel.patch rename to leaf-server/minecraft-patches/features/0246-Optimize-BlockEntities-tickersInLevel.patch diff --git a/leaf-server/minecraft-patches/features/0248-Pluto-Check-if-the-cactus-can-even-survive-being-pla.patch b/leaf-server/minecraft-patches/features/0247-Pluto-Check-if-the-cactus-can-even-survive-being-pla.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0248-Pluto-Check-if-the-cactus-can-even-survive-being-pla.patch rename to leaf-server/minecraft-patches/features/0247-Pluto-Check-if-the-cactus-can-even-survive-being-pla.patch diff --git a/leaf-server/minecraft-patches/features/0249-Flush-location-while-knockback.patch b/leaf-server/minecraft-patches/features/0248-Flush-location-while-knockback.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0249-Flush-location-while-knockback.patch rename to leaf-server/minecraft-patches/features/0248-Flush-location-while-knockback.patch diff --git a/leaf-server/minecraft-patches/features/0250-Only-tick-items-at-hand.patch b/leaf-server/minecraft-patches/features/0249-Only-tick-items-at-hand.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0250-Only-tick-items-at-hand.patch rename to leaf-server/minecraft-patches/features/0249-Only-tick-items-at-hand.patch diff --git a/leaf-server/minecraft-patches/features/0251-Smart-sort-items-in-NearestItemSensor.patch b/leaf-server/minecraft-patches/features/0250-Smart-sort-items-in-NearestItemSensor.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0251-Smart-sort-items-in-NearestItemSensor.patch rename to leaf-server/minecraft-patches/features/0250-Smart-sort-items-in-NearestItemSensor.patch diff --git a/leaf-server/minecraft-patches/features/0252-Optimise-player-movement-checks.patch b/leaf-server/minecraft-patches/features/0251-Optimise-player-movement-checks.patch similarity index 90% rename from leaf-server/minecraft-patches/features/0252-Optimise-player-movement-checks.patch rename to leaf-server/minecraft-patches/features/0251-Optimise-player-movement-checks.patch index fbe8c998..11b4e010 100644 --- a/leaf-server/minecraft-patches/features/0252-Optimise-player-movement-checks.patch +++ b/leaf-server/minecraft-patches/features/0251-Optimise-player-movement-checks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimise player movement checks diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index cc6b6b442d72b4a974cedd8ceef710304e52ab18..65a75480831d882e8318f702a519fb172dbc888a 100644 +index 9305f790bd80df1d7d14065e6ad621ec9c2e1a49..3bba6cd29f85bec2e98ce97313f1158e2836c6b9 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -1194,7 +1194,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/leaf-server/minecraft-patches/features/0253-Remove-streams-in-MobSensor.patch b/leaf-server/minecraft-patches/features/0252-Remove-streams-in-MobSensor.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0253-Remove-streams-in-MobSensor.patch rename to leaf-server/minecraft-patches/features/0252-Remove-streams-in-MobSensor.patch diff --git a/leaf-server/minecraft-patches/features/0254-Remove-streams-in-TemptingSensor.patch b/leaf-server/minecraft-patches/features/0253-Remove-streams-in-TemptingSensor.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0254-Remove-streams-in-TemptingSensor.patch rename to leaf-server/minecraft-patches/features/0253-Remove-streams-in-TemptingSensor.patch diff --git a/leaf-server/minecraft-patches/features/0255-Use-HashedList-on-WeightedList.patch b/leaf-server/minecraft-patches/features/0254-Use-HashedList-on-WeightedList.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0255-Use-HashedList-on-WeightedList.patch rename to leaf-server/minecraft-patches/features/0254-Use-HashedList-on-WeightedList.patch diff --git a/leaf-server/minecraft-patches/features/0256-Add-configurable-death-item-drop-knockback-settings.patch b/leaf-server/minecraft-patches/features/0255-Add-configurable-death-item-drop-knockback-settings.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0256-Add-configurable-death-item-drop-knockback-settings.patch rename to leaf-server/minecraft-patches/features/0255-Add-configurable-death-item-drop-knockback-settings.patch diff --git a/leaf-server/minecraft-patches/features/0257-Optimize-getScaledTrackingDistance.patch b/leaf-server/minecraft-patches/features/0256-Optimize-getScaledTrackingDistance.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0257-Optimize-getScaledTrackingDistance.patch rename to leaf-server/minecraft-patches/features/0256-Optimize-getScaledTrackingDistance.patch diff --git a/leaf-server/minecraft-patches/features/0258-Optimize-SynchedEntityData-packDirty.patch b/leaf-server/minecraft-patches/features/0257-Optimize-SynchedEntityData-packDirty.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0258-Optimize-SynchedEntityData-packDirty.patch rename to leaf-server/minecraft-patches/features/0257-Optimize-SynchedEntityData-packDirty.patch diff --git a/leaf-server/minecraft-patches/features/0258-Optimize-isEyeInFluid.patch b/leaf-server/minecraft-patches/features/0258-Optimize-isEyeInFluid.patch new file mode 100644 index 00000000..52a26194 --- /dev/null +++ b/leaf-server/minecraft-patches/features/0258-Optimize-isEyeInFluid.patch @@ -0,0 +1,315 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: wling-art +Date: Sat, 17 May 2025 08:25:33 +0800 +Subject: [PATCH] Optimize isEyeInFluid + + +diff --git a/net/minecraft/core/Holder.java b/net/minecraft/core/Holder.java +index 6c7edbbf3935c40ccb78bee680ea75431718b9bd..fd2f79d976c9587b00380f8b8f784b32ca294673 100644 +--- a/net/minecraft/core/Holder.java ++++ b/net/minecraft/core/Holder.java +@@ -29,6 +29,8 @@ public interface Holder { + + Stream> tags(); + ++ TagKey[] tagArray(); // Leaf - Optimize isEyeInFluid ++ + Either, T> unwrap(); + + Optional> unwrapKey(); +@@ -105,6 +107,13 @@ public interface Holder { + public Stream> tags() { + return Stream.of(); + } ++ ++ // Leaf start - Optimize isEyeInFluid ++ @Override ++ public TagKey[] tagArray() { ++ return me.titaniumtown.ArrayConstants.emptyTagKeyArray; ++ } ++ // Leaf end - Optimize isEyeInFluid + } + + public static enum Kind { +@@ -116,6 +125,7 @@ public interface Holder { + private final HolderOwner owner; + @Nullable + private Set> tags; ++ @Nullable private TagKey[] tagArray; // Leaf - Optimize isEyeInFluid + private final Holder.Reference.Type type; + @Nullable + private ResourceKey key; +@@ -173,6 +183,16 @@ public interface Holder { + } + } + ++ // Leaf start - Optimize isEyeInFluid ++ private TagKey[] boundTagArray() { ++ if (this.tags == null || this.tagArray == null) { ++ throw new IllegalStateException("Tags not bound"); ++ } else { ++ return this.tagArray; ++ } ++ } ++ // Leaf end - Optimize isEyeInFluid ++ + @Override + public boolean is(TagKey tagKey) { + return this.boundTags().contains(tagKey); +@@ -231,6 +251,7 @@ public interface Holder { + + void bindTags(Collection> tags) { + this.tags = it.unimi.dsi.fastutil.objects.ReferenceSets.unmodifiable(new it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<>(tags)); // Paper - use reference set because TagKey are interned ++ this.tagArray = this.tags.toArray(new TagKey[0]); // Leaf - Optimize isEyeInFluid + } + + @Override +@@ -238,6 +259,13 @@ public interface Holder { + return this.boundTags().stream(); + } + ++ // Leaf start - Optimize isEyeInFluid ++ @Override ++ public TagKey[] tagArray() { ++ return this.boundTagArray(); ++ } ++ // Leaf end - Optimize isEyeInFluid ++ + @Override + public String toString() { + return "Reference{" + this.key + "=" + this.value + "}"; +diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java +index 373059fcccdab0a918aa1d1a4a613fb62fef8a18..7d0a1181ac64eabd54395cff8e1b9356d4998482 100644 +--- a/net/minecraft/server/level/ServerPlayer.java ++++ b/net/minecraft/server/level/ServerPlayer.java +@@ -1877,7 +1877,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc + this.awardStat(Stats.SWIM_ONE_CM, rounded); + this.causeFoodExhaustion(this.level().spigotConfig.swimMultiplier * (float) rounded * 0.01F, org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.SWIM); // CraftBukkit - EntityExhaustionEvent // Spigot + } +- } else if (this.isEyeInFluid(FluidTags.WATER)) { ++ } else if (this.isEyeInWater()) { // Leaf - Optimize isEyeInFluid + int rounded = Math.round((float)Math.sqrt(dx * dx + dy * dy + dz * dz) * 100.0F); + if (rounded > 0) { + this.awardStat(Stats.WALK_UNDER_WATER_ONE_CM, rounded); +diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java +index 3bba6cd29f85bec2e98ce97313f1158e2836c6b9..0cad980ff4198615621a4dacf07127be822cd935 100644 +--- a/net/minecraft/world/entity/Entity.java ++++ b/net/minecraft/world/entity/Entity.java +@@ -268,7 +268,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess + public boolean wasTouchingWater; + protected Object2DoubleMap> fluidHeight = new Object2DoubleArrayMap<>(2); + protected boolean wasEyeInWater; +- private final Set> fluidOnEyes = new HashSet<>(); ++ // Leaf start - Optimize isEyeInFluid ++ // Remove original field since plugin should not direct access to it, and able to ++ // expose potential incompatibility asap. ++ // In paper api, if plugins have custom conditions, then It's more reasonable to ++ // use isEyeInFluid and their own conditions. ++ //private final Set> fluidOnEyes = null; ++ private int isInWaterOrLava; ++ // Leaf end - Optimize isEyeInFluid + public int invulnerableTime; + protected boolean firstTick = true; + protected final SynchedEntityData entityData; +@@ -2014,8 +2021,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess + } + + private void updateFluidOnEyes() { +- this.wasEyeInWater = this.isEyeInFluid(FluidTags.WATER); +- this.fluidOnEyes.clear(); ++ this.wasEyeInWater = this.isInWaterOrLava == 1; // Leaf - Optimize isEyeInFluid + double eyeY = this.getEyeY(); + if (!( + this.getVehicle() instanceof AbstractBoat abstractBoat +@@ -2027,7 +2033,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess + FluidState fluidState = this.level().getFluidState(blockPos); + double d = blockPos.getY() + fluidState.getHeight(this.level(), blockPos); + if (d > eyeY) { +- fluidState.getTags().forEach(this.fluidOnEyes::add); ++ // Leaf start - Optimize isEyeInFluid ++ TagKey[] tags = fluidState.getTagArray(); ++ this.isInWaterOrLava = tags.length == 0 ? 0 : tags[0] == FluidTags.WATER ? 1 : 2; ++ // Leaf end - Optimize isEyeInFluid + } + } + } +@@ -2107,9 +2116,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess + } + } + ++ // Leaf start - Optimize isEyeInFluid + public boolean isEyeInFluid(TagKey fluidTag) { +- return this.fluidOnEyes.contains(fluidTag); ++ if (isInWaterOrLava == 0) { ++ return false; ++ } ++ if (fluidTag == FluidTags.WATER && isInWaterOrLava == 1) { ++ return true; ++ } ++ return fluidTag == FluidTags.LAVA && isInWaterOrLava == 2; ++ } ++ ++ public boolean isEyeInWater() { ++ return isInWaterOrLava == 1; ++ } ++ ++ public boolean isEyeInLava() { ++ return isInWaterOrLava == 2; + } ++ // Leaf end - Optimize isEyeInFluid + + public boolean isInLava() { + return !this.firstTick && this.fluidHeight.getDouble(FluidTags.LAVA) > 0.0; +diff --git a/net/minecraft/world/entity/ExperienceOrb.java b/net/minecraft/world/entity/ExperienceOrb.java +index 81aa1a91a2ecda3053b22c2eb9e59f0ea2faf7b5..c31d79b7391723eb8bc682594ff187be5701ff08 100644 +--- a/net/minecraft/world/entity/ExperienceOrb.java ++++ b/net/minecraft/world/entity/ExperienceOrb.java +@@ -127,7 +127,7 @@ public class ExperienceOrb extends Entity { + } else { + super.tick(); + boolean flag = !this.level().noCollision(this.getBoundingBox()); +- if (this.isEyeInFluid(FluidTags.WATER)) { ++ if (this.isEyeInWater()) { // Leaf - Optimize isEyeInFluid + this.setUnderwaterMovement(); + } else if (!flag) { + this.applyGravity(); +diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java +index ae4d93515a28fb97e7abdfc06ce9ae31ec986fa8..00fb32361c9c24da5fed823391add6cb408cc1d4 100644 +--- a/net/minecraft/world/entity/LivingEntity.java ++++ b/net/minecraft/world/entity/LivingEntity.java +@@ -449,7 +449,7 @@ public abstract class LivingEntity extends Entity implements Attackable { + } + } + +- if (this.isEyeInFluid(FluidTags.WATER) ++ if (this.isEyeInWater() // Leaf - Optimize isEyeInFluid + && !serverLevel1.getBlockState(BlockPos.containing(this.getX(), this.getEyeY(), this.getZ())).is(Blocks.BUBBLE_COLUMN)) { + boolean flag1 = !this.canBreatheUnderwater() + && !MobEffectUtil.hasWaterBreathing(this) +diff --git a/net/minecraft/world/entity/animal/AbstractFish.java b/net/minecraft/world/entity/animal/AbstractFish.java +index 2cf95769ec3a1662443ea31e1bc2ba01cb7b523e..55dcc7f84453cf82279b0e0e1aa7a2924042d1f7 100644 +--- a/net/minecraft/world/entity/animal/AbstractFish.java ++++ b/net/minecraft/world/entity/animal/AbstractFish.java +@@ -180,7 +180,7 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable { + + @Override + public void vanillaTick() { // Purpur - Ridables +- if (this.fish.isEyeInFluid(FluidTags.WATER)) { ++ if (this.fish.isEyeInWater()) { // Leaf - Optimize isEyeInFluid + this.fish.setDeltaMovement(this.fish.getDeltaMovement().add(0.0, 0.005, 0.0)); + } + +diff --git a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +index b02ca00ff18484947aa2f4ff90ab9dda2196a679..38967590d0117b5c5bc09f2e24ceea4e38b786f4 100644 +--- a/net/minecraft/world/entity/animal/horse/SkeletonHorse.java ++++ b/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +@@ -110,7 +110,7 @@ public class SkeletonHorse extends AbstractHorse { + + @Override + public SoundEvent getAmbientSound() { +- return this.isEyeInFluid(FluidTags.WATER) ? SoundEvents.SKELETON_HORSE_AMBIENT_WATER : SoundEvents.SKELETON_HORSE_AMBIENT; ++ return this.isEyeInWater() ? SoundEvents.SKELETON_HORSE_AMBIENT_WATER : SoundEvents.SKELETON_HORSE_AMBIENT; // Leaf - Optimize isEyeInFluid + } + + @Override +diff --git a/net/minecraft/world/entity/monster/Strider.java b/net/minecraft/world/entity/monster/Strider.java +index 727effd31644432f9da04ee4e3aaa41ce45d6a2e..af9f07f7bcdd75dfa0dff975afcd30476ec5b206 100644 +--- a/net/minecraft/world/entity/monster/Strider.java ++++ b/net/minecraft/world/entity/monster/Strider.java +@@ -391,7 +391,7 @@ public class Strider extends Animal implements ItemSteerable { + + @Override + protected boolean canAddPassenger(Entity passenger) { +- return !this.isVehicle() && !this.isEyeInFluid(FluidTags.LAVA); ++ return !this.isVehicle() && !this.isEyeInLava(); // Leaf - Optimize isEyeInFluid + } + + @Override +diff --git a/net/minecraft/world/entity/monster/Witch.java b/net/minecraft/world/entity/monster/Witch.java +index 4b253ae8149f5d9505c5140a00a96d8c8850b1c4..bfb0e3381abb93bea1079fb0d476cf856fca442e 100644 +--- a/net/minecraft/world/entity/monster/Witch.java ++++ b/net/minecraft/world/entity/monster/Witch.java +@@ -178,7 +178,7 @@ public class Witch extends Raider implements RangedAttackMob { + } + } else { + Holder holder = null; +- if (this.random.nextFloat() < 0.15F && this.isEyeInFluid(FluidTags.WATER) && !this.hasEffect(MobEffects.WATER_BREATHING)) { ++ if (this.random.nextFloat() < 0.15F && this.isEyeInWater() && !this.hasEffect(MobEffects.WATER_BREATHING)) { // Leaf - Optimize isEyeInFluid + holder = Potions.WATER_BREATHING; + } else if (this.random.nextFloat() < 0.15F + && (this.isOnFire() || this.getLastDamageSource() != null && this.getLastDamageSource().is(DamageTypeTags.IS_FIRE)) +diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java +index 2fbd167126e6eb5aaf27de77f32e274c8a51df16..cdc0faa192d82a3b17591d6ec65d30f665e01be2 100644 +--- a/net/minecraft/world/entity/monster/Zombie.java ++++ b/net/minecraft/world/entity/monster/Zombie.java +@@ -287,7 +287,7 @@ public class Zombie extends Monster { + this.doUnderWaterConversion(); + } + } else if (this.convertsInWater()) { +- if (this.isEyeInFluid(FluidTags.WATER)) { ++ if (this.isEyeInWater()) { // Leaf - Optimize isEyeInFluid + this.inWaterTime++; + if (this.inWaterTime >= 600) { + this.startUnderWaterConversion(300); +diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java +index 688a63644a66c0cd3f08deb3786d756c310c079c..dfb47fd001c98312f18a4c7202be90dcc5dfe07f 100644 +--- a/net/minecraft/world/entity/player/Player.java ++++ b/net/minecraft/world/entity/player/Player.java +@@ -389,7 +389,7 @@ public abstract class Player extends LivingEntity { + this.lastItemInMainHand = mainHandItem.copy(); + } + +- if (!this.isEyeInFluid(FluidTags.WATER) && this.isEquipped(Items.TURTLE_HELMET)) { ++ if (!this.isEyeInWater() && this.isEquipped(Items.TURTLE_HELMET)) { // Leaf - Optimize isEyeInFluid + this.turtleHelmetTick(); + } + +@@ -429,8 +429,7 @@ public abstract class Player extends LivingEntity { + } + + protected boolean updateIsUnderwater() { +- this.wasUnderwater = this.isEyeInFluid(FluidTags.WATER); +- return this.wasUnderwater; ++ return this.wasUnderwater = this.isEyeInWater(); // Leaf - Optimize isEyeInFluid + } + + @Override +@@ -836,7 +835,7 @@ public abstract class Player extends LivingEntity { + } + + destroySpeed *= (float)this.getAttributeValue(Attributes.BLOCK_BREAK_SPEED); +- if (this.isEyeInFluid(FluidTags.WATER)) { ++ if (this.isEyeInWater()) { // Leaf - Optimize isEyeInFluid + destroySpeed *= (float)this.getAttribute(Attributes.SUBMERGED_MINING_SPEED).getValue(); + } + +diff --git a/net/minecraft/world/entity/vehicle/AbstractBoat.java b/net/minecraft/world/entity/vehicle/AbstractBoat.java +index 4f61c17e0a4a82773834bc21e00cac6eb75f794e..1d7cf1cec77a3916429e9be4a76e0bce523b728f 100644 +--- a/net/minecraft/world/entity/vehicle/AbstractBoat.java ++++ b/net/minecraft/world/entity/vehicle/AbstractBoat.java +@@ -790,7 +790,7 @@ public abstract class AbstractBoat extends VehicleEntity implements Leashable { + + @Override + protected boolean canAddPassenger(Entity passenger) { +- return this.getPassengers().size() < this.getMaxPassengers() && !this.isEyeInFluid(FluidTags.WATER); ++ return this.getPassengers().size() < this.getMaxPassengers() && !this.isEyeInWater(); // Leaf - Optimize isEyeInFluid + } + + protected int getMaxPassengers() { +diff --git a/net/minecraft/world/level/material/FluidState.java b/net/minecraft/world/level/material/FluidState.java +index 0a5ae623a636923f3bbd3c01974497f39b7c4b62..cc6f2f756c407630aa4e99be329f643c9994af29 100644 +--- a/net/minecraft/world/level/material/FluidState.java ++++ b/net/minecraft/world/level/material/FluidState.java +@@ -167,6 +167,12 @@ public final class FluidState extends StateHolder implements + return this.owner.builtInRegistryHolder().tags(); + } + ++ // Leaf start - Optimize isEyeInFluid ++ public TagKey[] getTagArray() { ++ return this.owner.builtInRegistryHolder().tagArray(); ++ } ++ // Leaf end - Optimize isEyeInFluid ++ + public void entityInside(Level level, BlockPos pos, Entity entity, InsideBlockEffectApplier effectApplier) { + this.getType().entityInside(level, pos, entity, effectApplier); + } diff --git a/leaf-server/minecraft-patches/features/0260-Cache-block-path-type.patch b/leaf-server/minecraft-patches/features/0259-Cache-block-path-type.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0260-Cache-block-path-type.patch rename to leaf-server/minecraft-patches/features/0259-Cache-block-path-type.patch diff --git a/leaf-server/minecraft-patches/features/0259-Optimize-isEyeInFluid.patch b/leaf-server/minecraft-patches/features/0259-Optimize-isEyeInFluid.patch deleted file mode 100644 index c3323b11..00000000 --- a/leaf-server/minecraft-patches/features/0259-Optimize-isEyeInFluid.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: wling-art -Date: Sat, 17 May 2025 08:25:33 +0800 -Subject: [PATCH] Optimize isEyeInFluid - - -diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 65a75480831d882e8318f702a519fb172dbc888a..e1a722c3ec74c0967d089ad469d7b3305bf66195 100644 ---- a/net/minecraft/world/entity/Entity.java -+++ b/net/minecraft/world/entity/Entity.java -@@ -269,6 +269,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess - protected Object2DoubleMap> fluidHeight = new Object2DoubleArrayMap<>(2); - protected boolean wasEyeInWater; - private final Set> fluidOnEyes = new HashSet<>(); -+ private static final int FLUID_WATER = 1; // Leaf - Optimize isEyeInFluid -+ private static final int FLUID_LAVA = 2; // Leaf - Optimize isEyeInFluid -+ private int fluidCache = 0; // Leaf - Optimize isEyeInFluid - public int invulnerableTime; - protected boolean firstTick = true; - protected final SynchedEntityData entityData; -@@ -2015,7 +2018,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess - - private void updateFluidOnEyes() { - this.wasEyeInWater = this.isEyeInFluid(FluidTags.WATER); -- this.fluidOnEyes.clear(); -+ if (org.dreeam.leaf.config.modules.opt.EyeFluidCache.enabled) fluidCache = 0; else this.fluidOnEyes.clear(); // Leaf - Optimize isEyeInFluid -+ - double eyeY = this.getEyeY(); - if (!( - this.getVehicle() instanceof AbstractBoat abstractBoat -@@ -2027,7 +2031,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess - FluidState fluidState = this.level().getFluidState(blockPos); - double d = blockPos.getY() + fluidState.getHeight(this.level(), blockPos); - if (d > eyeY) { -- this.fluidOnEyes.addAll(fluidState.getTagsAsSet()); // Leaf - Remove stream in updateFluidOnEyes -+ // Leaf start - Optimize isEyeInFluid -+ if (org.dreeam.leaf.config.modules.opt.EyeFluidCache.enabled) { -+ if (fluidState.is(FluidTags.WATER)) { -+ setFluidStatus(FluidTags.WATER, true); -+ } -+ if (fluidState.is(FluidTags.LAVA)) { -+ setFluidStatus(FluidTags.LAVA, true); -+ } -+ } else { -+ this.fluidOnEyes.addAll(fluidState.getTagsAsSet()); // Leaf - Remove stream in updateFluidOnEyes -+ } -+ // Leaf end - Optimize isEyeInFluid - } - } - } -@@ -2107,9 +2122,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess - } - } - -+ // Leaf start - Optimize isEyeInFluid - public boolean isEyeInFluid(TagKey fluidTag) { -- return this.fluidOnEyes.contains(fluidTag); -+ if (!org.dreeam.leaf.config.modules.opt.EyeFluidCache.enabled) { -+ return this.fluidOnEyes.contains(fluidTag); -+ } -+ return fluidTag == FluidTags.WATER ? (fluidCache & FLUID_WATER) != 0 -+ : fluidTag == FluidTags.LAVA && (fluidCache & FLUID_LAVA) != 0; -+ } -+ -+ public void setFluidStatus(TagKey fluidTag, boolean isInFluid) { -+ int bit = fluidTag == FluidTags.WATER ? FLUID_WATER -+ : fluidTag == FluidTags.LAVA ? FLUID_LAVA -+ : 0; -+ -+ if (bit == 0) return; -+ -+ fluidCache = isInFluid ? (fluidCache | bit) : (fluidCache & ~bit); - } -+ // Leaf end - Optimize isEyeInFluid - - public boolean isInLava() { - return !this.firstTick && this.fluidHeight.getDouble(FluidTags.LAVA) > 0.0; diff --git a/leaf-server/minecraft-patches/features/0261-optimize-getEntityStatus.patch b/leaf-server/minecraft-patches/features/0260-optimize-getEntityStatus.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0261-optimize-getEntityStatus.patch rename to leaf-server/minecraft-patches/features/0260-optimize-getEntityStatus.patch diff --git a/leaf-server/minecraft-patches/features/0262-Rail-Optimization-optimized-PoweredRailBlock-logic.patch b/leaf-server/minecraft-patches/features/0261-Rail-Optimization-optimized-PoweredRailBlock-logic.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0262-Rail-Optimization-optimized-PoweredRailBlock-logic.patch rename to leaf-server/minecraft-patches/features/0261-Rail-Optimization-optimized-PoweredRailBlock-logic.patch diff --git a/leaf-server/minecraft-patches/features/0263-optimise-ChunkGenerator-getMobsAt.patch b/leaf-server/minecraft-patches/features/0262-optimise-ChunkGenerator-getMobsAt.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0263-optimise-ChunkGenerator-getMobsAt.patch rename to leaf-server/minecraft-patches/features/0262-optimise-ChunkGenerator-getMobsAt.patch diff --git a/leaf-server/minecraft-patches/features/0264-optimise-getBiome.patch b/leaf-server/minecraft-patches/features/0263-optimise-getBiome.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0264-optimise-getBiome.patch rename to leaf-server/minecraft-patches/features/0263-optimise-getBiome.patch diff --git a/leaf-server/minecraft-patches/features/0265-optimize-mob-spawning.patch b/leaf-server/minecraft-patches/features/0264-optimize-mob-spawning.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0265-optimize-mob-spawning.patch rename to leaf-server/minecraft-patches/features/0264-optimize-mob-spawning.patch diff --git a/leaf-server/minecraft-patches/features/0266-optimize-structure-map.patch b/leaf-server/minecraft-patches/features/0265-optimize-structure-map.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0266-optimize-structure-map.patch rename to leaf-server/minecraft-patches/features/0265-optimize-structure-map.patch diff --git a/leaf-server/minecraft-patches/features/0267-throttle-mob-spawning.patch b/leaf-server/minecraft-patches/features/0266-throttle-mob-spawning.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0267-throttle-mob-spawning.patch rename to leaf-server/minecraft-patches/features/0266-throttle-mob-spawning.patch diff --git a/leaf-server/minecraft-patches/features/0268-Add-BlockExplosionHitEvent.patch b/leaf-server/minecraft-patches/features/0267-Add-BlockExplosionHitEvent.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0268-Add-BlockExplosionHitEvent.patch rename to leaf-server/minecraft-patches/features/0267-Add-BlockExplosionHitEvent.patch diff --git a/leaf-server/minecraft-patches/features/0269-Old-Blast-Protection-explosion-knockback.patch b/leaf-server/minecraft-patches/features/0268-Old-Blast-Protection-explosion-knockback.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0269-Old-Blast-Protection-explosion-knockback.patch rename to leaf-server/minecraft-patches/features/0268-Old-Blast-Protection-explosion-knockback.patch diff --git a/leaf-server/minecraft-patches/features/0270-Use-UUID-for-cure-reputation.patch b/leaf-server/minecraft-patches/features/0269-Use-UUID-for-cure-reputation.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0270-Use-UUID-for-cure-reputation.patch rename to leaf-server/minecraft-patches/features/0269-Use-UUID-for-cure-reputation.patch diff --git a/leaf-server/minecraft-patches/features/0271-Cache-potential-behaviors-in-Brain.patch b/leaf-server/minecraft-patches/features/0270-Cache-potential-behaviors-in-Brain.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0271-Cache-potential-behaviors-in-Brain.patch rename to leaf-server/minecraft-patches/features/0270-Cache-potential-behaviors-in-Brain.patch diff --git a/leaf-server/minecraft-patches/features/0272-Use-ActivationList-on-runningBehaviors.patch b/leaf-server/minecraft-patches/features/0271-Use-ActivationList-on-runningBehaviors.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0272-Use-ActivationList-on-runningBehaviors.patch rename to leaf-server/minecraft-patches/features/0271-Use-ActivationList-on-runningBehaviors.patch diff --git a/leaf-server/minecraft-patches/features/0273-Paper-Fix-excess-slot-updates.patch b/leaf-server/minecraft-patches/features/0272-Paper-Fix-excess-slot-updates.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0273-Paper-Fix-excess-slot-updates.patch rename to leaf-server/minecraft-patches/features/0272-Paper-Fix-excess-slot-updates.patch diff --git a/leaf-server/minecraft-patches/features/0274-Fix-crash-during-parsing-unknown-command-message.patch b/leaf-server/minecraft-patches/features/0273-Fix-crash-during-parsing-unknown-command-message.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0274-Fix-crash-during-parsing-unknown-command-message.patch rename to leaf-server/minecraft-patches/features/0273-Fix-crash-during-parsing-unknown-command-message.patch diff --git a/leaf-server/minecraft-patches/features/0275-Paper-Rewrite-dataconverter-system.patch b/leaf-server/minecraft-patches/features/0274-Paper-Rewrite-dataconverter-system.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0275-Paper-Rewrite-dataconverter-system.patch rename to leaf-server/minecraft-patches/features/0274-Paper-Rewrite-dataconverter-system.patch diff --git a/leaf-server/minecraft-patches/features/0276-optimize-random-tick.patch b/leaf-server/minecraft-patches/features/0275-optimize-random-tick.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0276-optimize-random-tick.patch rename to leaf-server/minecraft-patches/features/0275-optimize-random-tick.patch diff --git a/leaf-server/minecraft-patches/features/0277-do-not-log-invalid-flatten-text-component-parse.patch b/leaf-server/minecraft-patches/features/0276-do-not-log-invalid-flatten-text-component-parse.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0277-do-not-log-invalid-flatten-text-component-parse.patch rename to leaf-server/minecraft-patches/features/0276-do-not-log-invalid-flatten-text-component-parse.patch diff --git a/leaf-server/minecraft-patches/features/0278-Fast-BiomeManager-seed-obfuscation.patch b/leaf-server/minecraft-patches/features/0277-Fast-BiomeManager-seed-obfuscation.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0278-Fast-BiomeManager-seed-obfuscation.patch rename to leaf-server/minecraft-patches/features/0277-Fast-BiomeManager-seed-obfuscation.patch diff --git a/leaf-server/minecraft-patches/features/0279-Paw-optimization.patch b/leaf-server/minecraft-patches/features/0278-Paw-optimization.patch similarity index 98% rename from leaf-server/minecraft-patches/features/0279-Paw-optimization.patch rename to leaf-server/minecraft-patches/features/0278-Paw-optimization.patch index c2693f54..26bbac43 100644 --- a/leaf-server/minecraft-patches/features/0279-Paw-optimization.patch +++ b/leaf-server/minecraft-patches/features/0278-Paw-optimization.patch @@ -149,10 +149,10 @@ index 07f6da45a88e1630ca4249bb134fce1f95d2c39c..9fbaafaf5df6e003742cdea55da732cc private void tickPassenger(Entity ridingEntity, Entity passengerEntity, final boolean isActive) { // Paper - EAR 2 diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index e1a722c3ec74c0967d089ad469d7b3305bf66195..5fda5eadd37ec52ca6470d4aeb18a20c192811be 100644 +index 0cad980ff4198615621a4dacf07127be822cd935..5bdc73dd410877a7d84cb6c01323b44bfd4978d5 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -1144,16 +1144,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1148,16 +1148,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.onGround; } @@ -169,7 +169,7 @@ index e1a722c3ec74c0967d089ad469d7b3305bf66195..5fda5eadd37ec52ca6470d4aeb18a20c public void move(MoverType type, Vec3 movement) { // Gale start - VMP - skip entity move if movement is zero if (!this.boundingBoxChanged && movement.equals(Vec3.ZERO)) { -@@ -1161,16 +1151,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1165,16 +1155,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // Gale end - VMP - skip entity move if movement is zero final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity @@ -186,7 +186,7 @@ index e1a722c3ec74c0967d089ad469d7b3305bf66195..5fda5eadd37ec52ca6470d4aeb18a20c if (this.noPhysics) { this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { -@@ -1304,13 +1285,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1308,13 +1289,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // Gale end - skip negligible planar movement multiplication } } @@ -200,7 +200,7 @@ index e1a722c3ec74c0967d089ad469d7b3305bf66195..5fda5eadd37ec52ca6470d4aeb18a20c } private void applyMovementEmissionAndPlaySound(Entity.MovementEmission movementEmission, Vec3 movement, BlockPos pos, BlockState state) { -@@ -4862,9 +4836,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4856,9 +4830,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public void setDeltaMovement(Vec3 deltaMovement) { @@ -210,7 +210,7 @@ index e1a722c3ec74c0967d089ad469d7b3305bf66195..5fda5eadd37ec52ca6470d4aeb18a20c } public void addDeltaMovement(Vec3 addend) { -@@ -4972,9 +4944,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4966,9 +4938,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // Paper end - Fix MC-4 if (this.position.x != x || this.position.y != y || this.position.z != z) { diff --git a/leaf-server/minecraft-patches/features/0280-Paper-Improve-Fix-MC-44654.patch b/leaf-server/minecraft-patches/features/0279-Paper-Improve-Fix-MC-44654.patch similarity index 93% rename from leaf-server/minecraft-patches/features/0280-Paper-Improve-Fix-MC-44654.patch rename to leaf-server/minecraft-patches/features/0279-Paper-Improve-Fix-MC-44654.patch index 34c4fa21..a04176a2 100644 --- a/leaf-server/minecraft-patches/features/0280-Paper-Improve-Fix-MC-44654.patch +++ b/leaf-server/minecraft-patches/features/0279-Paper-Improve-Fix-MC-44654.patch @@ -15,10 +15,10 @@ Currently, this is not an issue for (all) hanging blocks since they have a fix i Note however the client does not nicely support moving these entities anyways. diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 5fda5eadd37ec52ca6470d4aeb18a20c192811be..8ef27db6cefdf63ee87b0fb3cc019803ed056b0f 100644 +index 5bdc73dd410877a7d84cb6c01323b44bfd4978d5..eaec674d1059916943fe4d810b91990df106ef55 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -4957,6 +4957,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4951,6 +4951,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } this.levelCallback.onMove(); diff --git a/leaf-server/minecraft-patches/features/0281-Paper-Cleanup-Primed-TNT-Fix.patch b/leaf-server/minecraft-patches/features/0280-Paper-Cleanup-Primed-TNT-Fix.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0281-Paper-Cleanup-Primed-TNT-Fix.patch rename to leaf-server/minecraft-patches/features/0280-Paper-Cleanup-Primed-TNT-Fix.patch diff --git a/leaf-server/minecraft-patches/features/0282-Paper-Fix-Raids-illager-ominus-banner-pickup-mechani.patch b/leaf-server/minecraft-patches/features/0281-Paper-Fix-Raids-illager-ominus-banner-pickup-mechani.patch similarity index 100% rename from leaf-server/minecraft-patches/features/0282-Paper-Fix-Raids-illager-ominus-banner-pickup-mechani.patch rename to leaf-server/minecraft-patches/features/0281-Paper-Fix-Raids-illager-ominus-banner-pickup-mechani.patch diff --git a/leaf-server/src/main/java/me/titaniumtown/ArrayConstants.java b/leaf-server/src/main/java/me/titaniumtown/ArrayConstants.java index 211c5b08..17099c50 100644 --- a/leaf-server/src/main/java/me/titaniumtown/ArrayConstants.java +++ b/leaf-server/src/main/java/me/titaniumtown/ArrayConstants.java @@ -16,4 +16,5 @@ public final class ArrayConstants { public static final org.bukkit.entity.Entity[] emptyBukkitEntityArray = new org.bukkit.entity.Entity[0]; public static final net.minecraft.world.entity.Entity[] emptyEntityArray = new net.minecraft.world.entity.Entity[0]; //public static final net.minecraft.server.level.ServerLevel[] emptyServerLevelArray = new net.minecraft.server.level.ServerLevel[0]; + public static final net.minecraft.tags.TagKey[] emptyTagKeyArray = new net.minecraft.tags.TagKey[0]; // Leaf - Optimize isEyeInFluid } diff --git a/leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/EyeFluidCache.java b/leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/EyeFluidCache.java deleted file mode 100644 index 36f3fdb9..00000000 --- a/leaf-server/src/main/java/org/dreeam/leaf/config/modules/opt/EyeFluidCache.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.dreeam.leaf.config.modules.opt; - -import org.dreeam.leaf.config.ConfigModules; -import org.dreeam.leaf.config.EnumConfigCategory; - -public class EyeFluidCache extends ConfigModules { - - public String getBasePath() { - return EnumConfigCategory.PERF.getBaseKeyName(); - } - - public static boolean enabled = false; - - @Override - public void onLoaded() { - enabled = config.getBoolean(getBasePath() + ".cache-eye-fluid-status", enabled, - config.pickStringRegionBased( - "Whether to cache the isEyeInFluid method to improve performance and reduce memory usage.", - "是否为 isEyeInFluid 方法启用缓存,以优化性能并减少内存使用.")); - } -}