9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-19 15:09:25 +00:00
Files
Leaf/leaf-server/paper-patches/features/0059-optimize-despawn.patch
hayanesuru e32588174c optimize entity despawn (#409)
* Reapply "optimize despawn (#399)"

This reverts commit 7992f91631.

* log FMA and Vector API

* axis order XYZ to XZY

* cleanup

* fix pivot at offset + median not included & fix simd min mask
2025-07-21 00:46:34 +09:00

35 lines
2.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: hayanesuru <hayanesuru@outlook.jp>
Date: Thu, 26 Jun 2025 00:42:27 +0900
Subject: [PATCH] optimize despawn
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
index ed687b0ab589fd2ddb8bf77f42ba42cf8b1c2ea7..5d075f51baeaf775a458f459b762bf629e695f2e 100644
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
@@ -178,7 +178,7 @@ public class WorldConfiguration extends ConfigurationPart {
@MergeMap
public Reference2IntMap<MobCategory> spawnLimits = Util.make(new Reference2IntOpenHashMap<>(NaturalSpawner.SPAWNING_CATEGORIES.length), map -> Arrays.stream(NaturalSpawner.SPAWNING_CATEGORIES).forEach(mobCategory -> map.put(mobCategory, -1)));
@MergeMap
- public Map<MobCategory, DespawnRangePair> despawnRanges = Arrays.stream(MobCategory.values()).collect(Collectors.toMap(Function.identity(), category -> DespawnRangePair.createDefault()));
+ public Map<MobCategory, DespawnRangePair> despawnRanges = new java.util.EnumMap<>(Arrays.stream(MobCategory.values()).collect(Collectors.toMap(Function.identity(), category -> DespawnRangePair.createDefault()))); // Leaf - replace EnumMap optimize despawn
public DespawnRange.Shape despawnRangeShape = DespawnRange.Shape.ELLIPSOID;
@MergeMap
public Reference2IntMap<MobCategory> ticksPerSpawn = Util.make(new Reference2IntOpenHashMap<>(NaturalSpawner.SPAWNING_CATEGORIES.length), map -> Arrays.stream(NaturalSpawner.SPAWNING_CATEGORIES).forEach(mobCategory -> map.put(mobCategory, -1)));
diff --git a/src/main/java/io/papermc/paper/configuration/type/DespawnRange.java b/src/main/java/io/papermc/paper/configuration/type/DespawnRange.java
index 7779edcbbce36d7da177a92807dac73fbe24c9fa..093638ded4e35a33f34ef3d0e0fc2175efc5efaf 100644
--- a/src/main/java/io/papermc/paper/configuration/type/DespawnRange.java
+++ b/src/main/java/io/papermc/paper/configuration/type/DespawnRange.java
@@ -20,8 +20,8 @@ public final class DespawnRange {
public static final TypeSerializer<DespawnRange> SERIALIZER = new Serializer();
- private final IntOr.Default horizontalLimit;
- private final IntOr.Default verticalLimit;
+ public final IntOr.Default horizontalLimit; // Leaf - optimize despawn
+ public final IntOr.Default verticalLimit; // Leaf - optimize despawn
private final boolean wasDefinedViaLongSyntax;
// cached values