mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-23 08:59:31 +00:00
@@ -5,141 +5,6 @@ Subject: [PATCH] Optimize mob spawning
|
|||||||
|
|
||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
index fc27cf0cf98a8640e2a451d3f06ac1216eb9686c..217c3e1a55de3f750383707eef7af7484db2ef7f 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
@@ -315,6 +315,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
||||||
public volatile boolean abnormalExit = false; // Paper
|
|
||||||
public boolean isIteratingOverLevels = false; // Paper
|
|
||||||
|
|
||||||
+ public top.leavesmc.leaves.util.AsyncExecutor mobSpawnExecutor = new top.leavesmc.leaves.util.AsyncExecutor("MobSpawning"); // Leaves - optimize mob spawning
|
|
||||||
+
|
|
||||||
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
|
|
||||||
AtomicReference<S> atomicreference = new AtomicReference();
|
|
||||||
Thread thread = new io.papermc.paper.util.TickThread(() -> { // Paper - rewrite chunk system
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
||||||
index 90d284192f27a69f6694544c885c3e4d393081bb..094af18dda115019430a3cbacaf5508f9ffa7690 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
||||||
@@ -342,6 +342,11 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
|
||||||
DedicatedServer.LOGGER.info("JMX monitoring enabled");
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // Leaves start - optimize mob spawning
|
|
||||||
+ if (top.leavesmc.leaves.LeavesConfig.asyncMobSpawning) {
|
|
||||||
+ mobSpawnExecutor.start();
|
|
||||||
+ }
|
|
||||||
+ // Leaves end - optimize mob spawning
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
||||||
index fbe209a66c77c47935ad026dd3e45e682af91fd8..31f6791935b3f4cc1349716448d46da2bcea2f15 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
||||||
@@ -345,7 +345,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
|
||||||
this.dataRegionManager = new io.papermc.paper.chunk.SingleThreadChunkRegionManager(this.level, 2, (1.0 / 3.0), 1, 6, "Data", DataRegionData::new, DataRegionSectionData::new);
|
|
||||||
this.regionManagers.add(this.dataRegionManager);
|
|
||||||
// Paper end
|
|
||||||
- this.playerMobDistanceMap = this.level.paperConfig().entities.spawning.perPlayerMobSpawns ? new com.destroystokyo.paper.util.misc.PlayerAreaMap(this.pooledLinkedPlayerHashSets) : null; // Paper
|
|
||||||
+ this.playerMobDistanceMap = this.level.paperConfig().entities.spawning.perPlayerMobSpawns ? new top.leavesmc.leaves.util.AsyncPlayerAreaMap(this.pooledLinkedPlayerHashSets) : null; // Paper // Leaves - optimize mob spawning(actually not use)
|
|
||||||
// Paper start - use distance map to optimise entity tracker
|
|
||||||
this.playerEntityTrackerTrackMaps = new com.destroystokyo.paper.util.misc.PlayerAreaMap[TRACKING_RANGE_TYPES.length];
|
|
||||||
this.entityTrackerTrackRanges = new int[TRACKING_RANGE_TYPES.length];
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
|
||||||
index ca84eddbdb1e198b899750e5f6b3eafd25ce970f..6a2adfe51b5ea6b3290349781f41ed7818f15fe5 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
|
||||||
@@ -77,6 +77,11 @@ public class ServerChunkCache extends ChunkSource {
|
|
||||||
|
|
||||||
private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4];
|
|
||||||
|
|
||||||
+ // Leaves start - optimize countmobs
|
|
||||||
+ public boolean firstRunSpawnCounts = true;
|
|
||||||
+ public final java.util.concurrent.atomic.AtomicBoolean spawnCountsReady = new java.util.concurrent.atomic.AtomicBoolean(false);
|
|
||||||
+ // Leaves end - optimize countmobs
|
|
||||||
+
|
|
||||||
private static int getChunkCacheKey(int x, int z) {
|
|
||||||
return x & 3 | ((z & 3) << 2);
|
|
||||||
}
|
|
||||||
@@ -710,20 +715,27 @@ public class ServerChunkCache extends ChunkSource {
|
|
||||||
this.level.timings.countNaturalMobs.startTiming(); // Paper - timings
|
|
||||||
int l = this.distanceManager.getNaturalSpawnChunkCount();
|
|
||||||
// Paper start - per player mob spawning
|
|
||||||
- NaturalSpawner.SpawnState spawnercreature_d; // moved down
|
|
||||||
+ // NaturalSpawner.SpawnState spawnercreature_d; // moved down // Leaves - asynchronously
|
|
||||||
if ((this.spawnFriendlies || this.spawnEnemies) && this.chunkMap.playerMobDistanceMap != null) { // don't count mobs when animals and monsters are disabled
|
|
||||||
- // re-set mob counts
|
|
||||||
- for (ServerPlayer player : this.level.players) {
|
|
||||||
- Arrays.fill(player.mobCounts, 0);
|
|
||||||
+ // Leaves start - moved down when async processing
|
|
||||||
+ if (!top.leavesmc.leaves.LeavesConfig.asyncMobSpawning) {
|
|
||||||
+ // re-set mob counts
|
|
||||||
+ for (ServerPlayer player : this.level.players) {
|
|
||||||
+ Arrays.fill(player.mobCounts, 0);
|
|
||||||
+ }
|
|
||||||
+ lastSpawnState = NaturalSpawner.createState(l, this.level.getAllEntities(), this::getFullChunk, null, true);
|
|
||||||
}
|
|
||||||
- spawnercreature_d = NaturalSpawner.createState(l, this.level.getAllEntities(), this::getFullChunk, null, true);
|
|
||||||
+ // Leaves end - moved down when async processing
|
|
||||||
} else {
|
|
||||||
- spawnercreature_d = NaturalSpawner.createState(l, this.level.getAllEntities(), this::getFullChunk, this.chunkMap.playerMobDistanceMap == null ? new LocalMobCapCalculator(this.chunkMap) : null, false);
|
|
||||||
+ // Leaves start - this is only implemented for per-player mob spawning so this makes everything work if this setting is disabled (actually not use)
|
|
||||||
+ lastSpawnState = NaturalSpawner.createState(l, this.level.getAllEntities(), this::getFullChunk, this.chunkMap.playerMobDistanceMap == null ? new LocalMobCapCalculator(this.chunkMap) : null, false);
|
|
||||||
+ spawnCountsReady.set(true);
|
|
||||||
+ // Leaves end - this is only implemented for per-player mob spawning so this makes everything work if this setting is disabled (actually not use)
|
|
||||||
}
|
|
||||||
// Paper end
|
|
||||||
this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings
|
|
||||||
|
|
||||||
- this.lastSpawnState = spawnercreature_d;
|
|
||||||
+ // this.lastSpawnState = spawnercreature_d; // Leaves - asynchronously
|
|
||||||
gameprofilerfiller.popPush("filteringLoadedChunks");
|
|
||||||
// Paper - moved down
|
|
||||||
this.level.timings.chunkTicks.startTiming(); // Paper
|
|
||||||
@@ -761,8 +773,8 @@ public class ServerChunkCache extends ChunkSource {
|
|
||||||
|
|
||||||
if ((true || this.level.isNaturalSpawningAllowed(chunkcoordintpair)) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, false)) { // Paper - optimise anyPlayerCloseEnoughForSpawning // Paper - the chunk is known ticking
|
|
||||||
chunk1.incrementInhabitedTime(j);
|
|
||||||
- if (flag2 && (this.spawnEnemies || this.spawnFriendlies) && this.level.getWorldBorder().isWithinBounds(chunkcoordintpair) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, true)) { // Spigot // Paper - optimise anyPlayerCloseEnoughForSpawning & optimise chunk tick iteration
|
|
||||||
- NaturalSpawner.spawnForChunk(this.level, chunk1, spawnercreature_d, this.spawnFriendlies, this.spawnEnemies, flag1);
|
|
||||||
+ if (flag2 && (!top.leavesmc.leaves.LeavesConfig.asyncMobSpawning || spawnCountsReady.get()) && (this.spawnEnemies || this.spawnFriendlies) && this.level.getWorldBorder().isWithinBounds(chunkcoordintpair) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, true)) { // Spigot // Paper - optimise anyPlayerCloseEnoughForSpawning & optimise chunk tick iteration // Leaves - optimize mob spawning
|
|
||||||
+ NaturalSpawner.spawnForChunk(this.level, chunk1, lastSpawnState, this.spawnFriendlies, this.spawnEnemies, flag1); // Leaves - optimize mob spawning
|
|
||||||
}
|
|
||||||
|
|
||||||
if (true || this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) { // Paper - the chunk is known ticking
|
|
||||||
@@ -823,6 +835,30 @@ public class ServerChunkCache extends ChunkSource {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Paper end - controlled flush for entity tracker packets
|
|
||||||
+
|
|
||||||
+ // Leaves start - optimize mob spawning
|
|
||||||
+ if (top.leavesmc.leaves.LeavesConfig.asyncMobSpawning) {
|
|
||||||
+ for (ServerPlayer player : this.level.players) {
|
|
||||||
+ Arrays.fill(player.mobCounts, 0);
|
|
||||||
+ }
|
|
||||||
+ if (firstRunSpawnCounts) {
|
|
||||||
+ firstRunSpawnCounts = false;
|
|
||||||
+ spawnCountsReady.set(true);
|
|
||||||
+ }
|
|
||||||
+ if (chunkMap.playerMobDistanceMap != null && spawnCountsReady.getAndSet(false)) {
|
|
||||||
+ net.minecraft.server.MinecraftServer.getServer().mobSpawnExecutor.submit(() -> {
|
|
||||||
+ int mapped = distanceManager.getNaturalSpawnChunkCount();
|
|
||||||
+ io.papermc.paper.util.maplist.IteratorSafeOrderedReferenceSet.Iterator<Entity> objectiterator =
|
|
||||||
+ level.entityTickList.entities.iterator(io.papermc.paper.util.maplist.IteratorSafeOrderedReferenceSet.ITERATOR_FLAG_SEE_ADDITIONS);
|
|
||||||
+ top.leavesmc.leaves.util.IterableWrapper<Entity> wrappedIterator =
|
|
||||||
+ new top.leavesmc.leaves.util.IterableWrapper<Entity>(objectiterator);
|
|
||||||
+ lastSpawnState = NaturalSpawner.createState(mapped, wrappedIterator, this::getFullChunk, new LocalMobCapCalculator(this.chunkMap), true); // try add LocalMobCapCalculator
|
|
||||||
+ objectiterator.finishedIterating();
|
|
||||||
+ spawnCountsReady.set(true);
|
|
||||||
+ });
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ // Leaves end - optimize mob spawning
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
index 15d266fc97eb73338f4f6fb2cfe25d6861e79810..70773c525bcf33d4d4764ce4a16dedddc423b02b 100644
|
index 15d266fc97eb73338f4f6fb2cfe25d6861e79810..70773c525bcf33d4d4764ce4a16dedddc423b02b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
@@ -153,24 +18,11 @@ index 15d266fc97eb73338f4f6fb2cfe25d6861e79810..70773c525bcf33d4d4764ce4a16deddd
|
|||||||
// Paper end
|
// Paper end
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
Objects.requireNonNull(info);
|
Objects.requireNonNull(info);
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/entity/EntityTickList.java b/src/main/java/net/minecraft/world/level/entity/EntityTickList.java
|
|
||||||
index 4cdfc433df67afcd455422e9baf56f167dd712ae..a6e0f5dab21d806e0c7744b2a337cded2739d870 100644
|
|
||||||
--- a/src/main/java/net/minecraft/world/level/entity/EntityTickList.java
|
|
||||||
+++ b/src/main/java/net/minecraft/world/level/entity/EntityTickList.java
|
|
||||||
@@ -8,7 +8,7 @@ import javax.annotation.Nullable;
|
|
||||||
import net.minecraft.world.entity.Entity;
|
|
||||||
|
|
||||||
public class EntityTickList {
|
|
||||||
- private final io.papermc.paper.util.maplist.IteratorSafeOrderedReferenceSet<Entity> entities = new io.papermc.paper.util.maplist.IteratorSafeOrderedReferenceSet<>(true); // Paper - rewrite this, always keep this updated - why would we EVER tick an entity that's not ticking?
|
|
||||||
+ public final io.papermc.paper.util.maplist.IteratorSafeOrderedReferenceSet<Entity> entities = new io.papermc.paper.util.maplist.IteratorSafeOrderedReferenceSet<>(true); // Paper - rewrite this, always keep this updated - why would we EVER tick an entity that's not ticking? // Leaves - private -> public
|
|
||||||
|
|
||||||
private void ensureActiveIsNotIterated() {
|
|
||||||
// Paper - replace with better logic, do not delay removals
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 937e84214223e978b3b6bc6107974c61e2d0f558..170f1f964e5cd3d1f1590106e31718dced04d0ef 100644
|
index 937e84214223e978b3b6bc6107974c61e2d0f558..af84cbaf93392d90b4c74ef5a0eb7bd163b76ce5 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -226,7 +226,16 @@ public final class LeavesConfig {
|
@@ -226,7 +226,21 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
noChatSign = getBoolean("settings.misc.no-chat-sign", noChatSign);
|
noChatSign = getBoolean("settings.misc.no-chat-sign", noChatSign);
|
||||||
}
|
}
|
||||||
@@ -183,6 +35,11 @@ index 937e84214223e978b3b6bc6107974c61e2d0f558..170f1f964e5cd3d1f1590106e31718dc
|
|||||||
+ asyncMobSpawning = getBoolean("settings.performance.async-mob-spawning", asyncMobSpawning);
|
+ asyncMobSpawning = getBoolean("settings.performance.async-mob-spawning", asyncMobSpawning);
|
||||||
+ asyncMobSpawningLock = true;
|
+ asyncMobSpawningLock = true;
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
|
+ if (asyncMobSpawning) {
|
||||||
|
+ asyncMobSpawning = false;
|
||||||
|
+ LeavesLogger.LOGGER.severe("Async MobSpawning is updating, it can't work");
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
public static final class WorldConfig {
|
public static final class WorldConfig {
|
||||||
|
|||||||
@@ -52,10 +52,10 @@ index b7fd8e70413c38923d0719aff803449e392383ac..209685e67ebdb7f062bb58118242dcbf
|
|||||||
this.entity.stopSeenByPlayer(player);
|
this.entity.stopSeenByPlayer(player);
|
||||||
player.connection.send(new ClientboundRemoveEntitiesPacket(new int[]{this.entity.getId()}));
|
player.connection.send(new ClientboundRemoveEntitiesPacket(new int[]{this.entity.getId()}));
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 170f1f964e5cd3d1f1590106e31718dced04d0ef..76c382c839b904640cb92afa503d1aef1c29ffc6 100644
|
index af84cbaf93392d90b4c74ef5a0eb7bd163b76ce5..d217994b16f2f749fe48fe0b895416e0ae02eee4 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -236,6 +236,11 @@ public final class LeavesConfig {
|
@@ -241,6 +241,11 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,171 +5,11 @@ Subject: [PATCH] Multithreaded Tracker
|
|||||||
|
|
||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/io/papermc/paper/util/maplist/IteratorSafeOrderedReferenceSet.java b/src/main/java/io/papermc/paper/util/maplist/IteratorSafeOrderedReferenceSet.java
|
|
||||||
index 0fd814f1d65c111266a2b20f86561839a4cef755..28f853e93b149de9eb838f5aa3b6779d59a77e2b 100644
|
|
||||||
--- a/src/main/java/io/papermc/paper/util/maplist/IteratorSafeOrderedReferenceSet.java
|
|
||||||
+++ b/src/main/java/io/papermc/paper/util/maplist/IteratorSafeOrderedReferenceSet.java
|
|
||||||
@@ -16,6 +16,7 @@ public final class IteratorSafeOrderedReferenceSet<E> {
|
|
||||||
/* list impl */
|
|
||||||
protected E[] listElements;
|
|
||||||
protected int listSize;
|
|
||||||
+ public int getListSize() { return this.listSize; } // Leaves - expose listSize
|
|
||||||
|
|
||||||
protected final double maxFragFactor;
|
|
||||||
|
|
||||||
diff --git a/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java b/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java
|
|
||||||
index f597d65d56964297eeeed6c7e77703764178fee0..a584f2d0829db0bb220b2934ae2934dab981fdd5 100644
|
|
||||||
--- a/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java
|
|
||||||
+++ b/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java
|
|
||||||
@@ -35,7 +35,7 @@ public final class ChunkEntitySlices {
|
|
||||||
protected final EntityCollectionBySection allEntities;
|
|
||||||
protected final EntityCollectionBySection hardCollidingEntities;
|
|
||||||
protected final Reference2ObjectOpenHashMap<Class<? extends Entity>, EntityCollectionBySection> entitiesByClass;
|
|
||||||
- protected final EntityList entities = new EntityList();
|
|
||||||
+ public final EntityList entities = new EntityList(); // Leaves - protected -> public
|
|
||||||
|
|
||||||
public ChunkHolder.FullChunkStatus status;
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
||||||
index 31f6791935b3f4cc1349716448d46da2bcea2f15..6cca26640b5c392d2d1bb3ecb6b2b235937f54bd 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
|
||||||
@@ -1251,8 +1251,38 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
|
||||||
entity.tracker = null; // Paper - We're no longer tracked
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // Leaves start - multithreaded tracker
|
|
||||||
+ private @Nullable top.leavesmc.leaves.tracker.MultithreadedTracker multithreadedTracker;
|
|
||||||
+ private final java.util.concurrent.ConcurrentLinkedQueue<Runnable> trackerMainThreadTasks = new java.util.concurrent.ConcurrentLinkedQueue<>();
|
|
||||||
+ private boolean multithreadedTrackingInProgress;
|
|
||||||
+
|
|
||||||
+ public void runOnTrackerMainThread(final Runnable runnable) {
|
|
||||||
+ if (multithreadedTrackingInProgress) {
|
|
||||||
+ this.trackerMainThreadTasks.add(runnable);
|
|
||||||
+ } else {
|
|
||||||
+ runnable.run();
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ // Leaves end - multithreaded tracker
|
|
||||||
+
|
|
||||||
// Paper start - optimised tracker
|
|
||||||
private final void processTrackQueue() {
|
|
||||||
+ // Leaves start - multithreaded tracker
|
|
||||||
+ if (top.leavesmc.leaves.LeavesConfig.asyncEntityTracker) {
|
|
||||||
+ if (this.multithreadedTracker == null) {
|
|
||||||
+ this.multithreadedTracker = new top.leavesmc.leaves.tracker.MultithreadedTracker(this.level.chunkSource.entityTickingChunks, this.trackerMainThreadTasks);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ try {
|
|
||||||
+ multithreadedTrackingInProgress = true;
|
|
||||||
+ this.multithreadedTracker.tick();
|
|
||||||
+ } finally {
|
|
||||||
+ multithreadedTrackingInProgress = false;
|
|
||||||
+ }
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ // Leaves end - multithreaded tracker
|
|
||||||
+
|
|
||||||
this.level.timings.tracker1.startTiming();
|
|
||||||
try {
|
|
||||||
for (TrackedEntity tracker : this.entityMap.values()) {
|
|
||||||
@@ -1509,11 +1539,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
|
||||||
|
|
||||||
public class TrackedEntity {
|
|
||||||
|
|
||||||
- public final ServerEntity serverEntity;
|
|
||||||
- final Entity entity;
|
|
||||||
+ public final ServerEntity serverEntity; // Leaves - package -> public
|
|
||||||
+ public final Entity entity; // Leaves - package -> public
|
|
||||||
private final int range;
|
|
||||||
SectionPos lastSectionPos;
|
|
||||||
- public final Set<ServerPlayerConnection> seenBy = new ReferenceOpenHashSet<>(); // Paper - optimise map impl
|
|
||||||
+ public final Set<ServerPlayerConnection> seenBy = it.unimi.dsi.fastutil.objects.ReferenceSets.synchronize(new ReferenceOpenHashSet<>()); // Paper - optimise map impl // Leaves - sync
|
|
||||||
|
|
||||||
public TrackedEntity(Entity entity, int i, int j, boolean flag) {
|
|
||||||
this.serverEntity = new ServerEntity(ChunkMap.this.level, entity, j, flag, this::broadcast, this.seenBy); // CraftBukkit
|
|
||||||
@@ -1525,7 +1555,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
|
||||||
// Paper start - use distance map to optimise tracker
|
|
||||||
com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> lastTrackerCandidates;
|
|
||||||
|
|
||||||
- final void updatePlayers(com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> newTrackerCandidates) {
|
|
||||||
+ public final void updatePlayers(com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> newTrackerCandidates) { // Leaves - package -> public
|
|
||||||
com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> oldTrackerCandidates = this.lastTrackerCandidates;
|
|
||||||
this.lastTrackerCandidates = newTrackerCandidates;
|
|
||||||
|
|
||||||
@@ -1597,7 +1627,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
|
||||||
}
|
|
||||||
|
|
||||||
public void removePlayer(ServerPlayer player) {
|
|
||||||
- org.spigotmc.AsyncCatcher.catchOp("player tracker clear"); // Spigot
|
|
||||||
+ // org.spigotmc.AsyncCatcher.catchOp("player tracker clear"); // Spigot // Leaves - we can remove async too
|
|
||||||
if (this.seenBy.remove(player.connection)) {
|
|
||||||
this.serverEntity.removePairing(player);
|
|
||||||
}
|
|
||||||
@@ -1605,7 +1635,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updatePlayer(ServerPlayer player) {
|
|
||||||
- org.spigotmc.AsyncCatcher.catchOp("player tracker update"); // Spigot
|
|
||||||
+ // org.spigotmc.AsyncCatcher.catchOp("player tracker update"); // Spigot // Leaves - we can update async
|
|
||||||
if (player != this.entity) {
|
|
||||||
// Paper start - remove allocation of Vec3D here
|
|
||||||
// Vec3 vec3d = player.position().subtract(this.entity.position());
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerBossEvent.java b/src/main/java/net/minecraft/server/level/ServerBossEvent.java
|
|
||||||
index ca42c2642a729b90d22b968af7258f3aee72e14b..464678e973513b5c9e0cf0910cac1b3b98419720 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerBossEvent.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerBossEvent.java
|
|
||||||
@@ -13,7 +13,7 @@ import net.minecraft.util.Mth;
|
|
||||||
import net.minecraft.world.BossEvent;
|
|
||||||
|
|
||||||
public class ServerBossEvent extends BossEvent {
|
|
||||||
- private final Set<ServerPlayer> players = Sets.newHashSet();
|
|
||||||
+ private final Set<ServerPlayer> players = Sets.newConcurrentHashSet(); // Leaves - players can be removed in async tracking
|
|
||||||
private final Set<ServerPlayer> unmodifiablePlayers = Collections.unmodifiableSet(this.players);
|
|
||||||
public boolean visible = true;
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
|
||||||
index 209685e67ebdb7f062bb58118242dcbf884a3876..555f5075f5b61f7c0527289471ead1c56789d200 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
|
||||||
@@ -302,7 +302,11 @@ public class ServerEntity {
|
|
||||||
|
|
||||||
public void removePairing(ServerPlayer player) {
|
|
||||||
this.entity.stopSeenByPlayer(player);
|
|
||||||
- player.connection.send(new ClientboundRemoveEntitiesPacket(new int[]{this.entity.getId()}));
|
|
||||||
+ // Leaves start - ensure main thread
|
|
||||||
+ ((ServerLevel) this.entity.level).chunkSource.chunkMap.runOnTrackerMainThread(() ->
|
|
||||||
+ player.connection.send(new ClientboundRemoveEntitiesPacket(new int[]{this.entity.getId()}))
|
|
||||||
+ );
|
|
||||||
+ // Leaves end - ensure main thread
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addPairing(ServerPlayer player) {
|
|
||||||
@@ -425,12 +429,17 @@ public class ServerEntity {
|
|
||||||
Set<AttributeInstance> set = ((LivingEntity) this.entity).getAttributes().getDirtyAttributes();
|
|
||||||
|
|
||||||
if (!set.isEmpty()) {
|
|
||||||
+ // Leaves start - multithreaded tracker
|
|
||||||
+ List<AttributeInstance> attributesCopy = Lists.newArrayList(set);
|
|
||||||
+ ((ServerLevel) this.entity.level).chunkSource.chunkMap.runOnTrackerMainThread(() -> {
|
|
||||||
// CraftBukkit start - Send scaled max health
|
|
||||||
if (this.entity instanceof ServerPlayer) {
|
|
||||||
- ((ServerPlayer) this.entity).getBukkitEntity().injectScaledMaxHealth(set, false);
|
|
||||||
+ ((ServerPlayer) this.entity).getBukkitEntity().injectScaledMaxHealth(attributesCopy, false); // Leaves
|
|
||||||
}
|
|
||||||
// CraftBukkit end
|
|
||||||
- this.broadcastAndSend(new ClientboundUpdateAttributesPacket(this.entity.getId(), set));
|
|
||||||
+ this.broadcastAndSend(new ClientboundUpdateAttributesPacket(this.entity.getId(), attributesCopy)); // Leaves
|
|
||||||
+ });
|
|
||||||
+ // Leaves end - multithreaded tracker
|
|
||||||
}
|
|
||||||
|
|
||||||
set.clear();
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 76c382c839b904640cb92afa503d1aef1c29ffc6..3c13acaae250ddc1480a7c846097cc187038cde4 100644
|
index d217994b16f2f749fe48fe0b895416e0ae02eee4..46233c5845cffb67d89f360c4dfdcc80abdf00c8 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -241,6 +241,20 @@ public final class LeavesConfig {
|
@@ -246,6 +246,20 @@ public final class LeavesConfig {
|
||||||
dontSendUselessEntityPackets = getBoolean("settings.performance.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
|
dontSendUselessEntityPackets = getBoolean("settings.performance.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,10 +18,10 @@ index 26bf383caea68834c654b25653ced9017f1b1b22..71e3c7fc5c071e83dfeca6954771e559
|
|||||||
this.blockPos = mutableBlockPos;
|
this.blockPos = mutableBlockPos;
|
||||||
setTargetPosition(mutableBlockPos.immutable()); // Paper
|
setTargetPosition(mutableBlockPos.immutable()); // Paper
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 3c13acaae250ddc1480a7c846097cc187038cde4..78fdad3bd377da395be17efa1c20b30b427730cc 100644
|
index 46233c5845cffb67d89f360c4dfdcc80abdf00c8..549cfa4766d8ad9c78b18d86cbdac22a558a727b 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -255,6 +255,11 @@ public final class LeavesConfig {
|
@@ -260,6 +260,11 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ index 6efb8b10f17c70b05128039376d254e6beda3841..abbb75af4ffad5b82d8b785b4a747b06
|
|||||||
|
|
||||||
public static long getCoordinateKey(final ChunkPos pair) {
|
public static long getCoordinateKey(final ChunkPos pair) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 43873929f11e373186190b3ae831dc68bfa69616..2433315c13e2da90f4f208d180d487c984a087ea 100644
|
index a5842db77bdba6061e0bdd8a7118d93e16d9f793..14dc0a75043274bf0ff31f4982ca7224e8db6c19 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -291,7 +291,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -291,7 +291,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
@@ -38,10 +38,10 @@ index 43873929f11e373186190b3ae831dc68bfa69616..2433315c13e2da90f4f208d180d487c9
|
|||||||
private Vec3 deltaMovement;
|
private Vec3 deltaMovement;
|
||||||
private float yRot;
|
private float yRot;
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 78fdad3bd377da395be17efa1c20b30b427730cc..e80ab1fcd4d7a1a8b607ea17c4f4da8c6eb419b6 100644
|
index 549cfa4766d8ad9c78b18d86cbdac22a558a727b..b6bd8381f34bac1d88ea73da5284a65668093b56 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -260,6 +260,12 @@ public final class LeavesConfig {
|
@@ -265,6 +265,12 @@ public final class LeavesConfig {
|
||||||
fixPaper6045 = getBoolean("settings.performance.fix.fix-paper-6045", fixPaper6045);
|
fixPaper6045 = getBoolean("settings.performance.fix.fix-paper-6045", fixPaper6045);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimize suffocation
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index f02913ec025208dcdfe9d0f0e5b26a1d912f4797..5189762e0f9cae84b7bc60a22437cef4e95c7c36 100644
|
index bf41a901ed274fd2f5e8c861301f395825b50167..f0579a29fb4fa51aa9db8f9467f63926ea80cd3c 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -397,7 +397,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -397,7 +397,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
@@ -35,10 +35,10 @@ index f02913ec025208dcdfe9d0f0e5b26a1d912f4797..5189762e0f9cae84b7bc60a22437cef4
|
|||||||
public boolean hurt(DamageSource source, float amount) {
|
public boolean hurt(DamageSource source, float amount) {
|
||||||
if (this.isInvulnerableTo(source)) {
|
if (this.isInvulnerableTo(source)) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index e80ab1fcd4d7a1a8b607ea17c4f4da8c6eb419b6..00f49a8d6fa8fc460d276f31170d3379f06199bb 100644
|
index b6bd8381f34bac1d88ea73da5284a65668093b56..c88049b0223d90bd6bdc2eab433e78e9411280d5 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -265,6 +265,10 @@ public final class LeavesConfig {
|
@@ -270,6 +270,10 @@ public final class LeavesConfig {
|
||||||
optimizeEntityCoordinateKey = getBoolean("settings.performance.optimize-entity-coordinate-key", optimizeEntityCoordinateKey);
|
optimizeEntityCoordinateKey = getBoolean("settings.performance.optimize-entity-coordinate-key", optimizeEntityCoordinateKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Strip raytracing for EntityLiving#hasLineOfSight
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 5189762e0f9cae84b7bc60a22437cef4e95c7c36..029f456504f0229a564af937e30329ca08a1b5f9 100644
|
index f0579a29fb4fa51aa9db8f9467f63926ea80cd3c..f240f2b337524a417f6ddb57cbf063f013aa80f7 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -3618,7 +3618,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -3618,7 +3618,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
@@ -142,10 +142,10 @@ index 31f0034115a88a42b18e0b838eab8b801473bbef..8cadc9655b8876ede4ec4d2b09198445
|
|||||||
return pos.isInsideBuildHeightAndWorldBoundsHorizontal(this); // Paper - use better/optimized check
|
return pos.isInsideBuildHeightAndWorldBoundsHorizontal(this); // Paper - use better/optimized check
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 00f49a8d6fa8fc460d276f31170d3379f06199bb..ce433db220fa43111ab72e27c932cacf2ed03178 100644
|
index c88049b0223d90bd6bdc2eab433e78e9411280d5..88969f50419f7966d395d4fd3f42ce3cb9dd9581 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -270,6 +270,11 @@ public final class LeavesConfig {
|
@@ -275,6 +275,11 @@ public final class LeavesConfig {
|
||||||
enableSuffocationOptimization = getBoolean("settings.performance.enable-suffocation-optimization", enableSuffocationOptimization);
|
enableSuffocationOptimization = getBoolean("settings.performance.enable-suffocation-optimization", enableSuffocationOptimization);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,10 +45,10 @@ index f5efdf59617d43de18a2267351fa784c0be3ae83..3af66e566c7e154eda362a564c630b5c
|
|||||||
@Override
|
@Override
|
||||||
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index ce433db220fa43111ab72e27c932cacf2ed03178..240fe801ba2670f5986faa58b77c7902f0465fc6 100644
|
index 88969f50419f7966d395d4fd3f42ce3cb9dd9581..b34de11a113b4b3943c0f3cea7036a80ac4e4bd9 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -275,6 +275,11 @@ public final class LeavesConfig {
|
@@ -280,6 +280,11 @@ public final class LeavesConfig {
|
||||||
entityStripRaytracing = getBoolean("settings.performance.strip-raytracing-for-entity", entityStripRaytracing);
|
entityStripRaytracing = getBoolean("settings.performance.strip-raytracing-for-entity", entityStripRaytracing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Optimize random calls in chunk ticking
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||||
index 6a2adfe51b5ea6b3290349781f41ed7818f15fe5..928139e8d0f7b65e2376d3c89d7bea294e3ed3a2 100644
|
index ca84eddbdb1e198b899750e5f6b3eafd25ce970f..188a0e1b8b9c30ad9e3f88301a91aa4809818d2d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||||
@@ -708,6 +708,11 @@ public class ServerChunkCache extends ChunkSource {
|
@@ -703,6 +703,11 @@ public class ServerChunkCache extends ChunkSource {
|
||||||
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
|
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
|
||||||
|
|
||||||
gameprofilerfiller.push("pollingChunks");
|
gameprofilerfiller.push("pollingChunks");
|
||||||
@@ -94,10 +94,10 @@ index d190bad5d287766ed4165ed827d9901a9d878687..19012c60ea6f725248f7e4a18d78eb10
|
|||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 240fe801ba2670f5986faa58b77c7902f0465fc6..64215f03789db0555422c4b0aec32c8a4504cb4d 100644
|
index b34de11a113b4b3943c0f3cea7036a80ac4e4bd9..4acebe3a5eeef435415ba8c44e7c04ba21751c69 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -280,6 +280,15 @@ public final class LeavesConfig {
|
@@ -285,6 +285,15 @@ public final class LeavesConfig {
|
||||||
checkSpookySeasonOnceAnHour = getBoolean("settings.performance.check-spooky-season-once-an-hour", checkSpookySeasonOnceAnHour);
|
checkSpookySeasonOnceAnHour = getBoolean("settings.performance.check-spooky-season-once-an-hour", checkSpookySeasonOnceAnHour);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ index d4c91e0a0c64fcb7f1145de3f30134cb1f1f8ee6..44fc394dbab7e05a3bd7cab493300a96
|
|||||||
long2ObjectMap.long2ObjectEntrySet().removeIf((entry) -> {
|
long2ObjectMap.long2ObjectEntrySet().removeIf((entry) -> {
|
||||||
return !entry.getValue().isStillValid(time);
|
return !entry.getValue().isStillValid(time);
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 64215f03789db0555422c4b0aec32c8a4504cb4d..020659f8555e43dd71cea39747bd8f8fe8a6c5a4 100644
|
index 4acebe3a5eeef435415ba8c44e7c04ba21751c69..93bc4c20785b235cb22099ed160ef1f32290fe85 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -289,6 +289,11 @@ public final class LeavesConfig {
|
@@ -294,6 +294,11 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,10 +29,10 @@ index a7575b5ef56af6f53448d391abb4956e130148ca..e2764cbc888be39943728ff810e1e44b
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 020659f8555e43dd71cea39747bd8f8fe8a6c5a4..076074b70f95141011b3f71948b9d2581306db4e 100644
|
index 93bc4c20785b235cb22099ed160ef1f32290fe85..cefea848344060836cddea81e16e7b5613c54fb7 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -293,6 +293,11 @@ public final class LeavesConfig {
|
@@ -298,6 +298,11 @@ public final class LeavesConfig {
|
||||||
private static void skipPOIFindingInVehicle() {
|
private static void skipPOIFindingInVehicle() {
|
||||||
skipPOIFindingInVehicle = getBoolean("settings.performance.skip-poi-find-in-vehicle", skipPOIFindingInVehicle);
|
skipPOIFindingInVehicle = getBoolean("settings.performance.skip-poi-find-in-vehicle", skipPOIFindingInVehicle);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Use thread unsafe random for mob spawning
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
index dca0d9611593a0f3b921b314b4b458cc95f08ebc..612d536f8a1b4e45d7431dc8bbd1c7aa631a3575 100644
|
index 70773c525bcf33d4d4764ce4a16dedddc423b02b..7a3bd3e7aa208ade1d33f59ba684354d000dd011 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
@@ -419,12 +419,21 @@ public final class NaturalSpawner {
|
@@ -419,12 +419,21 @@ public final class NaturalSpawner {
|
||||||
@@ -38,10 +38,10 @@ index dca0d9611593a0f3b921b314b4b458cc95f08ebc..612d536f8a1b4e45d7431dc8bbd1c7aa
|
|||||||
|
|
||||||
public static boolean isValidEmptySpawnBlock(BlockGetter blockView, BlockPos pos, BlockState state, FluidState fluidState, EntityType<?> entityType) {
|
public static boolean isValidEmptySpawnBlock(BlockGetter blockView, BlockPos pos, BlockState state, FluidState fluidState, EntityType<?> entityType) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 076074b70f95141011b3f71948b9d2581306db4e..ba58171708fd3362fe76af608d657e94fd2b3c01 100644
|
index cefea848344060836cddea81e16e7b5613c54fb7..c81a7a41ae4ff73608150ac92197525b46a19212 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -299,6 +299,11 @@ public final class LeavesConfig {
|
@@ -304,6 +304,11 @@ public final class LeavesConfig {
|
||||||
entityTargetFindingOptimization = getBoolean("settings.performance.entity-target-find-optimization", entityTargetFindingOptimization);
|
entityTargetFindingOptimization = getBoolean("settings.performance.entity-target-find-optimization", entityTargetFindingOptimization);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Config to disable method profiler
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 217c3e1a55de3f750383707eef7af7484db2ef7f..13fd9744adfa5459a24fedcc6359b11e125eff42 100644
|
index fc27cf0cf98a8640e2a451d3f06ac1216eb9686c..161321c0064f55ba3623d24dfabf6a9bfd55e5ae 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -2277,6 +2277,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2275,6 +2275,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProfilerFiller getProfiler() {
|
public ProfilerFiller getProfiler() {
|
||||||
@@ -38,10 +38,10 @@ index 844ebd772c1c0b9856069356e451084a1b771324..847d1cb27da0ee06f208acec93ee6758
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index ba58171708fd3362fe76af608d657e94fd2b3c01..ff9b8b801d923e0402456987c5d71a46080982fa 100644
|
index c81a7a41ae4ff73608150ac92197525b46a19212..564310e0cf4ddcfe502f2b2ed923096beb7eba00 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -304,6 +304,11 @@ public final class LeavesConfig {
|
@@ -309,6 +309,11 @@ public final class LeavesConfig {
|
||||||
useMoreThreadUnsafeRandom = getBoolean("settings.performance.use-more-thread-unsafe-random", useMoreThreadUnsafeRandom);
|
useMoreThreadUnsafeRandom = getBoolean("settings.performance.use-more-thread-unsafe-random", useMoreThreadUnsafeRandom);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ index 02cb6b8c1d59855ff4a8aad3024fe12007eca0ee..0ba8fdb035e65bd590079a3bcb8d35a1
|
|||||||
}
|
}
|
||||||
if (this.targetSelector.inactiveTick()) {
|
if (this.targetSelector.inactiveTick()) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index ff9b8b801d923e0402456987c5d71a46080982fa..e90760d8b4657265e70f73c62623702175dcf4ee 100644
|
index 564310e0cf4ddcfe502f2b2ed923096beb7eba00..93b70e8149d98b0d29729687d66d17bf898685be 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -309,6 +309,11 @@ public final class LeavesConfig {
|
@@ -314,6 +314,11 @@ public final class LeavesConfig {
|
||||||
disableMethodProfiler = getBoolean("settings.misc.disable-method-profiler", disableMethodProfiler);
|
disableMethodProfiler = getBoolean("settings.misc.disable-method-profiler", disableMethodProfiler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,10 +28,10 @@ index 35f9b11a3a61976c952a2c1c64bb2a932538f54f..5d678cfca0a39aeed0881c3a38828fdc
|
|||||||
|
|
||||||
public boolean hasParam(LootContextParam<?> parameter) {
|
public boolean hasParam(LootContextParam<?> parameter) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index e90760d8b4657265e70f73c62623702175dcf4ee..d373eebef63a6f3edd0cdee1d06e2a992678b362 100644
|
index 93b70e8149d98b0d29729687d66d17bf898685be..bbc402ea7addd33b6d77b51c213bd8b29615caea 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -314,6 +314,11 @@ public final class LeavesConfig {
|
@@ -319,6 +319,11 @@ public final class LeavesConfig {
|
||||||
throttleInactiveGoalSelectorTick = getBoolean("settings.performance.inactive-goal-selector-disable", throttleInactiveGoalSelectorTick);
|
throttleInactiveGoalSelectorTick = getBoolean("settings.performance.inactive-goal-selector-disable", throttleInactiveGoalSelectorTick);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Reduce entity allocations
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 9c44cae6f624c845f8abd84061e2dc4157748c83..c0e7ea96effd44b75ef3afdeab29bc21277af6bd 100644
|
index 14dc0a75043274bf0ff31f4982ca7224e8db6c19..9f5b14295f85d32a8ebee44b3aab939cb7ea6230 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -416,6 +416,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -416,6 +416,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
@@ -54,10 +54,10 @@ index dd1102d5291ef6f18e82400a6d8a0a376cc071e9..53c094c8a674b2842009727569e7e1f6
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index d373eebef63a6f3edd0cdee1d06e2a992678b362..80f8fdaf3b9b208580422645d3fe3016da4f2b0e 100644
|
index bbc402ea7addd33b6d77b51c213bd8b29615caea..dedf8d67dcf389c98b67614fc75b69465c18d276 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -319,6 +319,11 @@ public final class LeavesConfig {
|
@@ -324,6 +324,11 @@ public final class LeavesConfig {
|
||||||
skipCloneLootParameters = getBoolean("settings.performance.skip-clone-loot-parameters", skipCloneLootParameters);
|
skipCloneLootParameters = getBoolean("settings.performance.skip-clone-loot-parameters", skipCloneLootParameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Remove lambda from ticking guard
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 03a4e114a3383ce779a6fc48747834b33b480f66..09f6622d9e45e16d1147a43f579d2ec7092ad4d3 100644
|
index b06a79cbf4ab0fe3ff6f2f9a2d4697e6bf237d60..b0a30f6426868b397ae73d20d57e0c3ddc03b470 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -728,7 +728,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -728,7 +728,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
@@ -36,10 +36,10 @@ index 03a4e114a3383ce779a6fc48747834b33b480f66..09f6622d9e45e16d1147a43f579d2ec7
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 80f8fdaf3b9b208580422645d3fe3016da4f2b0e..345b9ef0af9f8f08af00693e562e5f39a8ad3362 100644
|
index dedf8d67dcf389c98b67614fc75b69465c18d276..83a3d5b3324ad49c0a9e203037a793c03fb3bcfc 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -324,6 +324,11 @@ public final class LeavesConfig {
|
@@ -329,6 +329,11 @@ public final class LeavesConfig {
|
||||||
reduceEntityAllocations = getBoolean("settings.performance.reduce-entity-allocations", reduceEntityAllocations);
|
reduceEntityAllocations = getBoolean("settings.performance.reduce-entity-allocations", reduceEntityAllocations);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,10 +55,10 @@ index 27c028ab6b1edb6e413af3bbaa27bf30f2d85540..4a89ce4fbd8b19ce1cff5905d779d2e4
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 345b9ef0af9f8f08af00693e562e5f39a8ad3362..a5fece21769900d5600df3284b7d3191121f10a5 100644
|
index 83a3d5b3324ad49c0a9e203037a793c03fb3bcfc..d29d1dfcd3b5cf3c74e377acaf64186b03cf7b4a 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -329,6 +329,11 @@ public final class LeavesConfig {
|
@@ -334,6 +334,11 @@ public final class LeavesConfig {
|
||||||
removeTickGuardLambda = getBoolean("settings.performance.remove.tick-guard-lambda", removeTickGuardLambda);
|
removeTickGuardLambda = getBoolean("settings.performance.remove.tick-guard-lambda", removeTickGuardLambda);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Remove streams from getting nearby players
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index c0e7ea96effd44b75ef3afdeab29bc21277af6bd..06709144f1cd70889e358e4e4a0b0c3a92ac0f7d 100644
|
index 9f5b14295f85d32a8ebee44b3aab939cb7ea6230..cf1694ada40fab9e06f702bcf6bf3a6a07b2cee3 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -492,25 +492,50 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -492,25 +492,50 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
@@ -68,10 +68,10 @@ index c0e7ea96effd44b75ef3afdeab29bc21277af6bd..06709144f1cd70889e358e4e4a0b0c3a
|
|||||||
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
|
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index a5fece21769900d5600df3284b7d3191121f10a5..06852bda6703c077ce5b4d6bd0eaceb413e52888 100644
|
index d29d1dfcd3b5cf3c74e377acaf64186b03cf7b4a..37b6a53b8b6f09af4f8e389eb6afdb80b6494554 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -334,6 +334,11 @@ public final class LeavesConfig {
|
@@ -339,6 +339,11 @@ public final class LeavesConfig {
|
||||||
removeInventoryContainsIterators = getBoolean("settings.performance.remove.inventory-contains-iterators", removeInventoryContainsIterators);
|
removeInventoryContainsIterators = getBoolean("settings.performance.remove.inventory-contains-iterators", removeInventoryContainsIterators);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Remove streams and iterators from range check
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index 6cca26640b5c392d2d1bb3ecb6b2b235937f54bd..698ca70f42a0db81f89d67d75f23c80d816a10b0 100644
|
index fbe209a66c77c47935ad026dd3e45e682af91fd8..71d62db53b5b103c3640e1f77609445b4b3e047e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -1667,19 +1667,45 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -1637,19 +1637,45 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance);
|
return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,10 +63,10 @@ index 6cca26640b5c392d2d1bb3ecb6b2b235937f54bd..698ca70f42a0db81f89d67d75f23c80d
|
|||||||
return this.scaledRange(i);
|
return this.scaledRange(i);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 06852bda6703c077ce5b4d6bd0eaceb413e52888..317ec81396bebd72ba1b3c0cfcb421a960e32268 100644
|
index 37b6a53b8b6f09af4f8e389eb6afdb80b6494554..91087dc6d9429f0ccca1194bcf25f52bd264febb 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -339,6 +339,11 @@ public final class LeavesConfig {
|
@@ -344,6 +344,11 @@ public final class LeavesConfig {
|
||||||
removeGetNearPlayerStreams = getBoolean("settings.performance.remove.get-nearby-players-streams", removeGetNearPlayerStreams);
|
removeGetNearPlayerStreams = getBoolean("settings.performance.remove.get-nearby-players-streams", removeGetNearPlayerStreams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
|||||||
But Pufferfish patch was ported downstream from the Petal fork
|
But Pufferfish patch was ported downstream from the Petal fork
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 317ec81396bebd72ba1b3c0cfcb421a960e32268..ab7613a1ccfc6117f8b4eed72bdaa6730b8238d3 100644
|
index 91087dc6d9429f0ccca1194bcf25f52bd264febb..cf3de827f8a2f1a48546e17327e71d1fa5b7058a 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -344,6 +344,21 @@ public final class LeavesConfig {
|
@@ -349,6 +349,21 @@ public final class LeavesConfig {
|
||||||
removeRangeCheckStreams = getBoolean("settings.performance.remove.range-check-streams-and-iterators", removeRangeCheckStreams);
|
removeRangeCheckStreams = getBoolean("settings.performance.remove.range-check-streams-and-iterators", removeRangeCheckStreams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Cache climbing check for activation
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 0fea7b506a65d21161a538c68579982a98ca98c7..557a92bfaecf3f1bddd4c602a26a7d5373f9798d 100644
|
index f240f2b337524a417f6ddb57cbf063f013aa80f7..523a46eb4a23b4a4aa9e5ea38771a5953c1bdccc 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -1938,6 +1938,22 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -1938,6 +1938,22 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
@@ -46,10 +46,10 @@ index 52780192d6417f8085566e4cdf3a895a83638520..eeb3522c39dde84e497d22758e90b42f
|
|||||||
return 1; // Paper
|
return 1; // Paper
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index ab7613a1ccfc6117f8b4eed72bdaa6730b8238d3..136bd381e68318f5b2afd3616fb13e580aa0cc49 100644
|
index cf3de827f8a2f1a48546e17327e71d1fa5b7058a..c0e405bae8dfadfef5295240f6cebd0670fbdaae 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -359,6 +359,11 @@ public final class LeavesConfig {
|
@@ -364,6 +364,11 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -102,10 +102,10 @@ index 65012a12e1430956ef55ced56773e6354ac26444..fe43432da26a3570c993b5592b7b8020
|
|||||||
|
|
||||||
public boolean shouldFreeze(LevelReader world, BlockPos blockPos) {
|
public boolean shouldFreeze(LevelReader world, BlockPos blockPos) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 136bd381e68318f5b2afd3616fb13e580aa0cc49..224ff765c57b65cea7dd46806ed57e82da42a3f8 100644
|
index c0e405bae8dfadfef5295240f6cebd0670fbdaae..58a00110efb035bd893f89ab24f353d0427a6888 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -364,6 +364,15 @@ public final class LeavesConfig {
|
@@ -369,6 +369,15 @@ public final class LeavesConfig {
|
||||||
cacheClimbCheck = getBoolean("settings.performance.cache-climb-check", cacheClimbCheck);
|
cacheClimbCheck = getBoolean("settings.performance.cache-climb-check", cacheClimbCheck);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -217,10 +217,10 @@ index 1b80a91fa36c59a31b57ef7ef4a68eacbb0f17f5..62f4e7a2dcd93a5b11fb9f847c70da1b
|
|||||||
|
|
||||||
});
|
});
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 224ff765c57b65cea7dd46806ed57e82da42a3f8..ac919b7b128e23c12e00956974220872cc3a4848 100644
|
index 58a00110efb035bd893f89ab24f353d0427a6888..81763862b3e12797038920ff55b96325927049e2 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -373,6 +373,11 @@ public final class LeavesConfig {
|
@@ -378,6 +378,11 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Reduce chunk loading & lookups
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
index f4002ac7cba7d5e41b4f11b98212c625f6a92a65..6feeb3d30e45c5aba4e8204fe7e76f8f0357ad08 100644
|
index 418d6301f067803e2471e59ac2d52a68cbff249b..5659e7e61bc3ab36817d17e95a758696d08007a5 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
@@ -322,11 +322,28 @@ public class EnderMan extends Monster implements NeutralMob {
|
@@ -322,11 +322,28 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||||
@@ -42,10 +42,10 @@ index f4002ac7cba7d5e41b4f11b98212c625f6a92a65..6feeb3d30e45c5aba4e8204fe7e76f8f
|
|||||||
boolean flag1 = iblockdata.getFluidState().is(FluidTags.WATER);
|
boolean flag1 = iblockdata.getFluidState().is(FluidTags.WATER);
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index ac919b7b128e23c12e00956974220872cc3a4848..a2b13e51c96dc929ab3f0ddb89560398bbab23f5 100644
|
index 81763862b3e12797038920ff55b96325927049e2..54195078dcf4ad069bb21cd73c85509eafb85630 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -378,6 +378,11 @@ public final class LeavesConfig {
|
@@ -383,6 +383,11 @@ public final class LeavesConfig {
|
||||||
reduceEntityFluidLookup = getBoolean("settings.performance.reduce-entity-fluid-lookup", reduceEntityFluidLookup);
|
reduceEntityFluidLookup = getBoolean("settings.performance.reduce-entity-fluid-lookup", reduceEntityFluidLookup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -73,10 +73,10 @@ index f7ea77dd82d978ad307f99c743efacfb34478b3d..96be7a7b030b2f82ac91f0c5c8e66f28
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index a2b13e51c96dc929ab3f0ddb89560398bbab23f5..3207f4787b0bad1122825a9b491de03e768e16ad 100644
|
index 54195078dcf4ad069bb21cd73c85509eafb85630..ef298d46639f042780154855aca01e69257ba708 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -383,6 +383,11 @@ public final class LeavesConfig {
|
@@ -388,6 +388,11 @@ public final class LeavesConfig {
|
||||||
reduceChuckLoadAndLookup = getBoolean("settings.performance.reduce-chuck-load-and-lookup", reduceChuckLoadAndLookup);
|
reduceChuckLoadAndLookup = getBoolean("settings.performance.reduce-chuck-load-and-lookup", reduceChuckLoadAndLookup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -369,10 +369,10 @@ index 1658adddd81880f0231c714e25ebb588ca7fd3c8..e4189f444da906d89d7c910c4f0e61e0
|
|||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 3207f4787b0bad1122825a9b491de03e768e16ad..a72995e1315fe492f4c2299a5d67b077ed094509 100644
|
index ef298d46639f042780154855aca01e69257ba708..77595ddd8569251f4481d3dddbd769710c69320a 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -388,6 +388,21 @@ public final class LeavesConfig {
|
@@ -393,6 +393,21 @@ public final class LeavesConfig {
|
||||||
simplerVanillaShapelessRecipes = getBoolean("settings.performance.simpler-vanilla-shapeless-recipes", simplerVanillaShapelessRecipes);
|
simplerVanillaShapelessRecipes = getBoolean("settings.performance.simpler-vanilla-shapeless-recipes", simplerVanillaShapelessRecipes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] BBOR Protocol
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 13fd9744adfa5459a24fedcc6359b11e125eff42..a8c580c9e8ee099af1869c9aa42d3e6aaba720e4 100644
|
index 161321c0064f55ba3623d24dfabf6a9bfd55e5ae..b02c2dbed413a06d01e41a3dbd1701d070c27d5b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1595,6 +1595,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1593,6 +1593,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
this.profiler.popPush("server gui refresh");
|
this.profiler.popPush("server gui refresh");
|
||||||
|
|
||||||
@@ -95,10 +95,10 @@ index e4189f444da906d89d7c910c4f0e61e058bc31ab..97ddfc93ddcb8241135d51f742281ed6
|
|||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index a72995e1315fe492f4c2299a5d67b077ed094509..b770012135ed4e2423bdb7f44d06eedd077171ce 100644
|
index 77595ddd8569251f4481d3dddbd769710c69320a..45dfb5b52b7d8bd70463330d393ce04b89f9e1db 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -403,6 +403,11 @@ public final class LeavesConfig {
|
@@ -408,6 +408,11 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ index 847d1cb27da0ee06f208acec93ee6758ae04d6f9..53de57db1ee31761598bcaed5682d1b5
|
|||||||
this.damageSources = new DamageSources(iregistrycustom);
|
this.damageSources = new DamageSources(iregistrycustom);
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index b770012135ed4e2423bdb7f44d06eedd077171ce..a06ea69adcfba10b4f5deb0dfd1798974a862eed 100644
|
index 45dfb5b52b7d8bd70463330d393ce04b89f9e1db..9e51213a50a7638ae0c4f3e52acc73521ce14d9f 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -408,6 +408,15 @@ public final class LeavesConfig {
|
@@ -413,6 +413,15 @@ public final class LeavesConfig {
|
||||||
bborProtocol = getBoolean("settings.protocol.bbor-protocol", bborProtocol);
|
bborProtocol = getBoolean("settings.protocol.bbor-protocol", bborProtocol);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,10 +26,10 @@ index ff1ad1024419182f7f3de578442c1c033d4c9ebb..d93f3eeea17d58ccc01c6010b2d49f81
|
|||||||
|
|
||||||
default void consumeCount(int count) {
|
default void consumeCount(int count) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index a06ea69adcfba10b4f5deb0dfd1798974a862eed..383264142a2b138424fd22a65fb58fb480e721f3 100644
|
index 9e51213a50a7638ae0c4f3e52acc73521ce14d9f..21d121fceea62d9df6910a614814236eadb69da7 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -417,6 +417,11 @@ public final class LeavesConfig {
|
@@ -422,6 +422,11 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,10 +69,10 @@ index 97ddfc93ddcb8241135d51f742281ed67cd716fd..1353ac5ff7e881e2499e98e8bfc37c9a
|
|||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 383264142a2b138424fd22a65fb58fb480e721f3..35aab7f3d0d67fdbee2f438070b2a88ecd269083 100644
|
index 21d121fceea62d9df6910a614814236eadb69da7..dc08bb22abba5b050200d94a834dac7d25e2c69d 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -422,6 +422,11 @@ public final class LeavesConfig {
|
@@ -427,6 +427,11 @@ public final class LeavesConfig {
|
||||||
flattenTriangularDistribution = getBoolean("settings.modify.flatten-triangular-distribution", flattenTriangularDistribution);
|
flattenTriangularDistribution = getBoolean("settings.modify.flatten-triangular-distribution", flattenTriangularDistribution);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,10 +78,10 @@ index 4f91e4832a94c3facbc711fcae4cb5ad540a5ca0..08e456ee6a537c5cc8b6314f9f899b25
|
|||||||
public BlockState getStateForPlacement(BlockPlaceContext ctx) {
|
public BlockState getStateForPlacement(BlockPlaceContext ctx) {
|
||||||
return this.defaultBlockState();
|
return this.defaultBlockState();
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 35aab7f3d0d67fdbee2f438070b2a88ecd269083..60f21d16cd1bdac17bd8f29398edab7024b369f2 100644
|
index dc08bb22abba5b050200d94a834dac7d25e2c69d..378f70b47482ee8b619d6e8685579018e5466db9 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -427,6 +427,15 @@ public final class LeavesConfig {
|
@@ -432,6 +432,15 @@ public final class LeavesConfig {
|
||||||
jadeProtocol = getBoolean("settings.protocol.jade-protocol", jadeProtocol);
|
jadeProtocol = getBoolean("settings.protocol.jade-protocol", jadeProtocol);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ index 1d33c02088c150189d7f4b0aa27f6a1de96b11cf..1d3b2a017b2fcabb1e19fcac7856d051
|
|||||||
this.debugLogging(pos, true, sequence, reason);
|
this.debugLogging(pos, true, sequence, reason);
|
||||||
} else {
|
} else {
|
||||||
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
|
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||||
index 3ab714721b51b039291b8e8a4b4da5118e18f5b7..1ee9c431282851882cdc337ea01ee59067163903 100644
|
index 1015b3c5f6969709bb8ebfbd66eb9cede444385c..437ed8d4cba5e3393ac6370f6b8e364e4b7d9042 100644
|
||||||
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
|
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||||
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
|
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||||
@@ -32,9 +32,12 @@ import net.minecraft.world.level.block.state.StateDefinition;
|
@@ -32,9 +32,12 @@ import net.minecraft.world.level.block.state.StateDefinition;
|
||||||
@@ -132,10 +132,10 @@ index 3ab714721b51b039291b8e8a4b4da5118e18f5b7..1ee9c431282851882cdc337ea01ee590
|
|||||||
return InteractionResult.FAIL;
|
return InteractionResult.FAIL;
|
||||||
} else if (!this.placeBlock(blockactioncontext1, iblockdata)) {
|
} else if (!this.placeBlock(blockactioncontext1, iblockdata)) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 60f21d16cd1bdac17bd8f29398edab7024b369f2..929fff5e31c0d13da63991e2e532e346ab7eab46 100644
|
index 378f70b47482ee8b619d6e8685579018e5466db9..19c324a33ee43ecb9ddeeafa9e4fa0628b540cf6 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -436,6 +436,11 @@ public final class LeavesConfig {
|
@@ -441,6 +441,11 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,10 +40,10 @@ index 97fb1d2110a51498f6419841081b500b3f190370..8fb8bc48342183b978b4bfb0845f2cc2
|
|||||||
java.util.UUID spawningEntity;
|
java.util.UUID spawningEntity;
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 929fff5e31c0d13da63991e2e532e346ab7eab46..214ba777f1f6a9e81a4bdd772b4412796e1bbbfc 100644
|
index 19c324a33ee43ecb9ddeeafa9e4fa0628b540cf6..c45fa09bf1d60416621310bf5865432f963ff1dd 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -441,6 +441,11 @@ public final class LeavesConfig {
|
@@ -446,6 +446,11 @@ public final class LeavesConfig {
|
||||||
playerOperationLimiter = getBoolean("settings.modify.player-operation-limiter", playerOperationLimiter);
|
playerOperationLimiter = getBoolean("settings.modify.player-operation-limiter", playerOperationLimiter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ index 47468086c1cae252aa99c55b0065f225357dee62..bca757ea05403fe46f5bf0dfa75561b8
|
|||||||
public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
|
public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
|
||||||
return SHAPE;
|
return SHAPE;
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 214ba777f1f6a9e81a4bdd772b4412796e1bbbfc..5736bdc4bf1a6d925ca132fbb3e31d4ded9b42ab 100644
|
index c45fa09bf1d60416621310bf5865432f963ff1dd..10bb7126e0d02d0dabb2932a22beca80990f98a8 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -9,6 +9,7 @@ import org.bukkit.configuration.ConfigurationSection;
|
@@ -9,6 +9,7 @@ import org.bukkit.configuration.ConfigurationSection;
|
||||||
@@ -289,7 +289,7 @@ index 214ba777f1f6a9e81a4bdd772b4412796e1bbbfc..5736bdc4bf1a6d925ca132fbb3e31d4d
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
@@ -446,6 +447,14 @@ public final class LeavesConfig {
|
@@ -451,6 +452,14 @@ public final class LeavesConfig {
|
||||||
renewableElytra = getDouble("settings.modify.renewable-elytra", renewableElytra);
|
renewableElytra = getDouble("settings.modify.renewable-elytra", renewableElytra);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ This patch is Powered by Pufferfish
|
|||||||
(https://github.com/pufferfish-gg/Pufferfish)
|
(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
|
diff --git a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
|
||||||
index 0ffc131baf5c0edc4f2ca0f466fcdb20be4a47b8..4cd00673e887183f49075e5d3ba904de7dcd6b06 100644
|
index bf4de7b8fd630c596e096a411a8c84c64c13ebf7..72a1414efbcf62c888c3f4542985709cba108009 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
|
--- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
|
+++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
|
||||||
@@ -51,6 +51,11 @@ public abstract class FlowingFluid extends Fluid {
|
@@ -51,6 +51,11 @@ public abstract class FlowingFluid extends Fluid {
|
||||||
@@ -117,10 +117,10 @@ index 0ffc131baf5c0edc4f2ca0f466fcdb20be4a47b8..4cd00673e887183f49075e5d3ba904de
|
|||||||
|
|
||||||
public abstract Fluid getFlowing();
|
public abstract Fluid getFlowing();
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 5736bdc4bf1a6d925ca132fbb3e31d4ded9b42ab..25d2e6d0d703fdcb2f4f9b1d795b684b7170bdaa 100644
|
index 10bb7126e0d02d0dabb2932a22beca80990f98a8..f99e5fef954ac4411a03daad2de6e0dcdd19a40f 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -455,6 +455,15 @@ public final class LeavesConfig {
|
@@ -460,6 +460,15 @@ public final class LeavesConfig {
|
||||||
shulkerBoxStackSize = Integer.parseInt(stackableShulkerBoxes);
|
shulkerBoxStackSize = Integer.parseInt(stackableShulkerBoxes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] MC Technical Survival Mode
|
|||||||
Will automatically overwrite some configuration after startup
|
Will automatically overwrite some configuration after startup
|
||||||
|
|
||||||
diff --git a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java
|
diff --git a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java
|
||||||
index 9fde9ccb5d069ddce8dd837ef1bc68b93ce66434..0ceddb0ede644e082f82de6ecfa89eda6c420c1d 100644
|
index f6b9d216c24d8858802f85209fe1a869e5a9be31..fc8b373df2a8c9e54e1e80b88f87e3411f4cdb5f 100644
|
||||||
--- a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java
|
--- a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java
|
||||||
+++ b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java
|
+++ b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java
|
||||||
@@ -292,6 +292,7 @@ public class PaperConfigurations extends Configurations<GlobalConfiguration, Wor
|
@@ -292,6 +292,7 @@ public class PaperConfigurations extends Configurations<GlobalConfiguration, Wor
|
||||||
@@ -70,7 +70,7 @@ index 7a3bd3e7aa208ade1d33f59ba684354d000dd011..164dd501456542c16e2e36262ba560f9
|
|||||||
entity.spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CHUNK_GEN)) {
|
entity.spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CHUNK_GEN)) {
|
||||||
continue;
|
continue;
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 25d2e6d0d703fdcb2f4f9b1d795b684b7170bdaa..1c8f60066aa39ba673d8fdd5de2ccc3cd1e941ec 100644
|
index f99e5fef954ac4411a03daad2de6e0dcdd19a40f..5dd3cb5ff66242fca54a1a9aec9a3b1ff10ea0ab 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -2,11 +2,13 @@ package top.leavesmc.leaves;
|
@@ -2,11 +2,13 @@ package top.leavesmc.leaves;
|
||||||
@@ -87,7 +87,7 @@ index 25d2e6d0d703fdcb2f4f9b1d795b684b7170bdaa..1c8f60066aa39ba673d8fdd5de2ccc3c
|
|||||||
import top.leavesmc.leaves.bot.BotCommand;
|
import top.leavesmc.leaves.bot.BotCommand;
|
||||||
import top.leavesmc.leaves.bot.agent.Actions;
|
import top.leavesmc.leaves.bot.agent.Actions;
|
||||||
import top.leavesmc.leaves.util.MathUtils;
|
import top.leavesmc.leaves.util.MathUtils;
|
||||||
@@ -464,6 +466,24 @@ public final class LeavesConfig {
|
@@ -469,6 +471,24 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -134,10 +134,10 @@ index 523a46eb4a23b4a4aa9e5ea38771a5953c1bdccc..00d88ed58b8fe93e8655d675f9d5e4f8
|
|||||||
@Nullable
|
@Nullable
|
||||||
private DamageSource lastDamageSource;
|
private DamageSource lastDamageSource;
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 1c8f60066aa39ba673d8fdd5de2ccc3cd1e941ec..2bd740599aac161878d7e0747d49541e821d57a2 100644
|
index 5dd3cb5ff66242fca54a1a9aec9a3b1ff10ea0ab..70d46fed0485bc242889fad43b4ceca98c02bf53 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -484,6 +484,11 @@ public final class LeavesConfig {
|
@@ -489,6 +489,11 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Appleskin Protocol
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index a8c580c9e8ee099af1869c9aa42d3e6aaba720e4..eddb0f942d9104f9a623df843a3861d9a6c9cbac 100644
|
index b02c2dbed413a06d01e41a3dbd1701d070c27d5b..7c90cc6ceedd4103c210757b2cc8a6ee1f972a5b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1596,6 +1596,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1594,6 +1594,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
this.profiler.popPush("server gui refresh");
|
this.profiler.popPush("server gui refresh");
|
||||||
|
|
||||||
top.leavesmc.leaves.protocol.BBORProtocol.tick(); // Leaves - bbor
|
top.leavesmc.leaves.protocol.BBORProtocol.tick(); // Leaves - bbor
|
||||||
@@ -55,10 +55,10 @@ index 1353ac5ff7e881e2499e98e8bfc37c9a919d7e67..fb0164a3d77cf0b3042b8854c22b3b60
|
|||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 2bd740599aac161878d7e0747d49541e821d57a2..4df37e02bdc46a98fffa459b7ee0b73fad4cbade 100644
|
index 70d46fed0485bc242889fad43b4ceca98c02bf53..3ad68e2775951ea67a4761edd5d059c360afd9bf 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -489,6 +489,11 @@ public final class LeavesConfig {
|
@@ -494,6 +494,11 @@ public final class LeavesConfig {
|
||||||
netherPortalFix = getBoolean("settings.modify.return-nether-portal-fix", netherPortalFix);
|
netherPortalFix = getBoolean("settings.modify.return-nether-portal-fix", netherPortalFix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ index 3cc6351cf2d4b9102527e38e4ee895e7074ec076..58070c3661ac33d5b0e89fbf58fa6ddb
|
|||||||
// CraftBukkit start - handle player weather
|
// CraftBukkit start - handle player weather
|
||||||
// entityplayer.connection.send(new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.START_RAINING, 0.0F));
|
// entityplayer.connection.send(new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.START_RAINING, 0.0F));
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 4df37e02bdc46a98fffa459b7ee0b73fad4cbade..93084793e1598d8d08c7f23819bfc90f2585f308 100644
|
index 3ad68e2775951ea67a4761edd5d059c360afd9bf..4acc4caadcf267c9d3f41be213e90af619970893 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -20,6 +20,7 @@ import java.lang.reflect.Modifier;
|
@@ -20,6 +20,7 @@ import java.lang.reflect.Modifier;
|
||||||
@@ -28,7 +28,7 @@ index 4df37e02bdc46a98fffa459b7ee0b73fad4cbade..93084793e1598d8d08c7f23819bfc90f
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
// Powered by Tuinity(https://github.com/Tuinity/Tuinity)
|
// Powered by Tuinity(https://github.com/Tuinity/Tuinity)
|
||||||
@@ -494,6 +495,13 @@ public final class LeavesConfig {
|
@@ -499,6 +500,13 @@ public final class LeavesConfig {
|
||||||
appleskinProtocol = getBoolean("settings.protocol.appleskin-protocol", appleskinProtocol);
|
appleskinProtocol = getBoolean("settings.protocol.appleskin-protocol", appleskinProtocol);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ index c6fa6bcd66d61359124a8426b919493c6ec43f06..dd84d4d0adadb1d1cbe3670df35fc8fc
|
|||||||
String s = (String) Optional.ofNullable((String) optionset.valueOf("world")).orElse(dedicatedserversettings.getProperties().levelName);
|
String s = (String) Optional.ofNullable((String) optionset.valueOf("world")).orElse(dedicatedserversettings.getProperties().levelName);
|
||||||
LevelStorageSource convertable = LevelStorageSource.createDefault(file.toPath());
|
LevelStorageSource convertable = LevelStorageSource.createDefault(file.toPath());
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 93084793e1598d8d08c7f23819bfc90f2585f308..a8fc7f2acd879ce33684bb14c60202aa15d6a77c 100644
|
index 4acc4caadcf267c9d3f41be213e90af619970893..f1c5a63a41c7cf7aa01fbc875a06a0dc43ff81f3 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -11,6 +11,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
@@ -11,6 +11,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
@@ -42,7 +42,7 @@ index 93084793e1598d8d08c7f23819bfc90f2585f308..a8fc7f2acd879ce33684bb14c60202aa
|
|||||||
import top.leavesmc.leaves.util.MathUtils;
|
import top.leavesmc.leaves.util.MathUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -502,6 +503,18 @@ public final class LeavesConfig {
|
@@ -507,6 +508,18 @@ public final class LeavesConfig {
|
||||||
xaeroMapServerID = getInt("settings.protocol.xaero-map-server-id", xaeroMapServerID);
|
xaeroMapServerID = getInt("settings.protocol.xaero-map-server-id", xaeroMapServerID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Use vanilla random config
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 3229d81fa7e30f47a7bbee2be109b9d69d973dfb..090392d9f659f1d6e0db4aa6448b8cbafc26c4cb 100644
|
index f0b113a4da3e5f6f064e5daa50ac9171d4563078..6425a01d622d0b9b377614b95fc9d4b4b404eec0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -550,7 +550,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -550,7 +550,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
@@ -31,10 +31,10 @@ index 72eea6e512060fc622ca79ca87437f19a64604cc..f5413946fecaa0d7b9d41dd06f12c460
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index a8fc7f2acd879ce33684bb14c60202aa15d6a77c..2c75585014ffecf3d07d5a9a507e4d7d55b7bf6c 100644
|
index f1c5a63a41c7cf7aa01fbc875a06a0dc43ff81f3..a4a0255e537945f49398bf3bc76183c48ff47bb8 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -515,6 +515,15 @@ public final class LeavesConfig {
|
@@ -520,6 +520,15 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix update suppression crash
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index eddb0f942d9104f9a623df843a3861d9a6c9cbac..3d23aa307e01665f849c230820b000da7d7b5555 100644
|
index 7c90cc6ceedd4103c210757b2cc8a6ee1f972a5b..dd3a4213d978180dfc54a779253081bb34323b9e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1553,7 +1553,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1551,7 +1551,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
try {
|
try {
|
||||||
worldserver.timings.doTick.startTiming(); // Spigot
|
worldserver.timings.doTick.startTiming(); // Spigot
|
||||||
@@ -46,10 +46,10 @@ index 19faa8f5f891c1ffbed0af8391dee8202433c447..0f8d5495f9f7306f3267a0741cb6a1a6
|
|||||||
CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Block being updated");
|
CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Block being updated");
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 2c75585014ffecf3d07d5a9a507e4d7d55b7bf6c..7619428fbc95484f6251b34dd4bd1ab82cf2e341 100644
|
index a4a0255e537945f49398bf3bc76183c48ff47bb8..6be019bf5f50b9048f66808ef296f5c7c9b4cf14 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -524,6 +524,11 @@ public final class LeavesConfig {
|
@@ -529,6 +529,11 @@ public final class LeavesConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Bedrock break list
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 3d23aa307e01665f849c230820b000da7d7b5555..232fe9bde82fbd3a382aa7af08920d00edb4a721 100644
|
index dd3a4213d978180dfc54a779253081bb34323b9e..dedf518a6ebe9f5fa91d9af8be2d4148bf0f7098 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1603,6 +1603,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1601,6 +1601,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
top.leavesmc.leaves.protocol.BBORProtocol.tick(); // Leaves - bbor
|
top.leavesmc.leaves.protocol.BBORProtocol.tick(); // Leaves - bbor
|
||||||
top.leavesmc.leaves.protocol.AppleSkinProtocol.tick(); // Leaves - appleskin
|
top.leavesmc.leaves.protocol.AppleSkinProtocol.tick(); // Leaves - appleskin
|
||||||
@@ -79,10 +79,10 @@ index f456ad8a74464414f69b616a48ee9a2c1cee4d90..ab39df0ea273a5c9a67b34caa68e9262
|
|||||||
} else {
|
} else {
|
||||||
((ServerLevel)world).getChunkSource().blockChanged(headPos); // ... fix client desync
|
((ServerLevel)world).getChunkSource().blockChanged(headPos); // ... fix client desync
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 7619428fbc95484f6251b34dd4bd1ab82cf2e341..d616c090eb398d498c9f36940df5ef38ab0b7f3d 100644
|
index 6be019bf5f50b9048f66808ef296f5c7c9b4cf14..331436c240fdc73ad08e9e6f294b57df1d072d92 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -529,6 +529,15 @@ public final class LeavesConfig {
|
@@ -534,6 +534,15 @@ public final class LeavesConfig {
|
||||||
updateSuppressionCrashFix = getBoolean("settings.modify.fix-update-suppression-crash", updateSuppressionCrashFix);
|
updateSuppressionCrashFix = getBoolean("settings.modify.fix-update-suppression-crash", updateSuppressionCrashFix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user