mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-19 15:09:25 +00:00
* update partial sort in despawn map * inline get pos * cache difficulty * refactor * fix fallback extract * remove test code * cleanup * direct compare * cleanup * cleanup * fix axis and remove bucket * reduce alloc * paper vertical fallback * add 2 dimension * cleanup
35 lines
2.6 KiB
Diff
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 5fc9ec3e564135013622f839e59ef5a0ddff6f71..74d0c6ed2d779b8d02870da74379887e3c460361 100644
|
|
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
|
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
|
@@ -179,7 +179,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 - optimize despawn - replace with EnumMap
|
|
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
|