Seperate out incremental saving
This fixes multiple issues, mainly cleaning up the patch as well as making save-all actually save all. (Worth noting, that you should probably be using save-all flush if you're relying on this for backups)
This commit is contained in:
parent
3a713bd57b
commit
42daaaddf6
|
@ -1,11 +1,11 @@
|
||||||
From 26a439d52fa750663f2280641d8299ec5bdbfc4b Mon Sep 17 00:00:00 2001
|
From cffcc434581178122d9cae2f3ac04815131d0840 Mon Sep 17 00:00:00 2001
|
||||||
From: Shane Freeder <theboyetronic@gmail.com>
|
From: Shane Freeder <theboyetronic@gmail.com>
|
||||||
Date: Sun, 9 Jun 2019 03:53:22 +0100
|
Date: Sun, 9 Jun 2019 03:53:22 +0100
|
||||||
Subject: [PATCH] incremental chunk saving
|
Subject: [PATCH] incremental chunk saving
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index de11a91af6..4d3c6c6b47 100644
|
index de11a91af..4d3c6c6b4 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -489,4 +489,19 @@ public class PaperWorldConfig {
|
@@ -489,4 +489,19 @@ public class PaperWorldConfig {
|
||||||
|
@ -29,7 +29,7 @@ index de11a91af6..4d3c6c6b47 100644
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||||
index ee8f801745..2003522d96 100644
|
index ee8f80174..2003522d9 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||||
@@ -42,7 +42,7 @@ public class Chunk implements IChunkAccess {
|
@@ -42,7 +42,7 @@ public class Chunk implements IChunkAccess {
|
||||||
|
@ -41,8 +41,28 @@ index ee8f801745..2003522d96 100644
|
||||||
private volatile boolean s;
|
private volatile boolean s;
|
||||||
private long t;
|
private long t;
|
||||||
@Nullable
|
@Nullable
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
|
index 9765eaf24..5fabfe87c 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
|
@@ -335,6 +335,15 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||||
|
} // Paper - Timings
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Paper start - duplicate save, but call incremental
|
||||||
|
+ public void saveIncrementally() {
|
||||||
|
+ this.tickDistanceManager();
|
||||||
|
+ try (co.aikar.timings.Timing timed = world.timings.chunkSaveData.startTiming()) { // Paper - Timings
|
||||||
|
+ this.playerChunkMap.saveIncrementally();
|
||||||
|
+ } // Paper - Timings
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
@Override
|
||||||
|
public void close() throws IOException {
|
||||||
|
this.save(true);
|
||||||
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 380c3663a6..01b389d89f 100644
|
index 380c3663a..6eef4592a 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
|
||||||
@@ -165,6 +165,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -165,6 +165,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
|
@ -70,7 +90,7 @@ index 380c3663a6..01b389d89f 100644
|
||||||
+ for (WorldServer world : getWorlds()) {
|
+ for (WorldServer world : getWorlds()) {
|
||||||
+ if (world.paperConfig.autoSavePeriod > 0) {
|
+ if (world.paperConfig.autoSavePeriod > 0) {
|
||||||
+ try {
|
+ try {
|
||||||
+ world.save(null, false, world.isSavingDisabled());
|
+ world.saveIncrementally(serverAutoSave);
|
||||||
+ } catch (ExceptionWorldConflict exceptionWorldConflict) {
|
+ } catch (ExceptionWorldConflict exceptionWorldConflict) {
|
||||||
+ MinecraftServer.LOGGER.warn(exceptionWorldConflict.getMessage());
|
+ MinecraftServer.LOGGER.warn(exceptionWorldConflict.getMessage());
|
||||||
+ }
|
+ }
|
||||||
|
@ -86,24 +106,23 @@ index 380c3663a6..01b389d89f 100644
|
||||||
this.methodProfiler.enter("snooper");
|
this.methodProfiler.enter("snooper");
|
||||||
if (((DedicatedServer) this).getDedicatedServerProperties().snooperEnabled && !this.snooper.d() && this.ticks > 100) { // Spigot
|
if (((DedicatedServer) this).getDedicatedServerProperties().snooperEnabled && !this.snooper.d() && this.ticks > 100) { // Spigot
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
index 493770bf68..17eee15b2d 100644
|
index 493770bf6..2be6fa0f0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
@@ -325,15 +325,32 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
@@ -297,6 +297,36 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||||
});
|
super.close();
|
||||||
PlayerChunkMap.LOGGER.info("ThreadedAnvilChunkStorage ({}): All chunks are saved", this.x.getName());
|
}
|
||||||
} else {
|
|
||||||
- this.visibleChunks.values().stream().filter(PlayerChunk::hasBeenLoaded).forEach((playerchunk) -> {
|
|
||||||
+ // Paper start
|
|
||||||
+ int savedThisTick = 0;
|
|
||||||
+ for (PlayerChunk playerchunk : this.visibleChunks.values()) {
|
|
||||||
+ if (!playerchunk.hasBeenLoaded()) continue;
|
|
||||||
+ // Paper end
|
|
||||||
IChunkAccess ichunkaccess = (IChunkAccess) playerchunk.getChunkSave().getNow(null); // CraftBukkit - decompile error
|
|
||||||
|
|
||||||
if (ichunkaccess instanceof ProtoChunkExtension || ichunkaccess instanceof Chunk) {
|
+ // Paper start - derived from below
|
||||||
- this.saveChunk(ichunkaccess);
|
+ protected void saveIncrementally() {
|
||||||
+ // paper start
|
+ int savedThisTick = 0;
|
||||||
|
+ for (PlayerChunk playerchunk : visibleChunks.values()) {
|
||||||
|
+ if (playerchunk.hasBeenLoaded()) {
|
||||||
|
+
|
||||||
|
+ IChunkAccess ichunkaccess = (IChunkAccess) playerchunk.getChunkSave().getNow(null); // CraftBukkit - decompile error
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+ if (ichunkaccess instanceof ProtoChunkExtension || ichunkaccess instanceof Chunk) {
|
||||||
+ boolean shouldSave = true;
|
+ boolean shouldSave = true;
|
||||||
+
|
+
|
||||||
+ if (ichunkaccess instanceof Chunk) {
|
+ if (ichunkaccess instanceof Chunk) {
|
||||||
|
@ -112,58 +131,71 @@ index 493770bf68..17eee15b2d 100644
|
||||||
+
|
+
|
||||||
+ if (shouldSave && this.saveChunk(ichunkaccess)) {
|
+ if (shouldSave && this.saveChunk(ichunkaccess)) {
|
||||||
+ ++savedThisTick;
|
+ ++savedThisTick;
|
||||||
playerchunk.m();
|
+ playerchunk.m();
|
||||||
}
|
|
||||||
|
|
||||||
- });
|
|
||||||
+ if (savedThisTick >= world.paperConfig.maxAutoSaveChunksPerTick) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ };
|
+
|
||||||
+ // paper end
|
+ if (savedThisTick >= world.paperConfig.maxAutoSaveChunksPerTick) {
|
||||||
}
|
+ return;
|
||||||
|
+ }
|
||||||
}
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ // paper end
|
||||||
|
+
|
||||||
|
protected void save(boolean flag) {
|
||||||
|
if (flag) {
|
||||||
|
List<PlayerChunk> list = (List) this.visibleChunks.values().stream().filter(PlayerChunk::hasBeenLoaded).peek(PlayerChunk::m).collect(Collectors.toList());
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
index 1003ea50d3..d709002c89 100644
|
index 1003ea50d..4148325a2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
@@ -760,8 +760,9 @@ public class WorldServer extends World {
|
@@ -756,11 +756,44 @@ public class WorldServer extends World {
|
||||||
|
return this.worldProvider.d();
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Paper start - derived from below
|
||||||
|
+ public void saveIncrementally(boolean doFull) throws ExceptionWorldConflict {
|
||||||
|
+ ChunkProviderServer chunkproviderserver = this.getChunkProvider();
|
||||||
|
+
|
||||||
|
+ if (doFull) {
|
||||||
|
+ org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld()));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) {
|
||||||
|
+ if (doFull) {
|
||||||
|
+ this.k_();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ timings.worldSaveChunks.startTiming(); // Paper
|
||||||
|
+ if (!this.isSavingDisabled()) chunkproviderserver.saveIncrementally();
|
||||||
|
+ timings.worldSaveChunks.stopTiming(); // Paper
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+ // CraftBukkit start - moved from MinecraftServer.saveChunks
|
||||||
|
+ // PAIL - rename
|
||||||
|
+ if (doFull) {
|
||||||
|
+ WorldServer worldserver1 = this;
|
||||||
|
+ WorldData worlddata = worldserver1.getWorldData();
|
||||||
|
+
|
||||||
|
+ worldserver1.getWorldBorder().a(worlddata);
|
||||||
|
+ worlddata.c(this.server.getBossBattleCustomData().c());
|
||||||
|
+ worldserver1.getDataManager().saveWorldData(worlddata, this.server.getPlayerList().r());
|
||||||
|
+ // CraftBukkit end
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
public void save(@Nullable IProgressUpdate iprogressupdate, boolean flag, boolean flag1) throws ExceptionWorldConflict {
|
||||||
ChunkProviderServer chunkproviderserver = this.getChunkProvider();
|
ChunkProviderServer chunkproviderserver = this.getChunkProvider();
|
||||||
|
|
||||||
if (!flag1) {
|
if (!flag1) {
|
||||||
- org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
|
- org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
|
||||||
+ if (flag || server.serverAutoSave) org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit // Paper - full saves only
|
+ if (flag) org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
|
||||||
try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) { // Paper
|
try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) { // Paper
|
||||||
+ if (flag || server.serverAutoSave) { // Paper
|
|
||||||
if (iprogressupdate != null) {
|
if (iprogressupdate != null) {
|
||||||
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
|
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
|
||||||
}
|
|
||||||
@@ -770,6 +771,7 @@ public class WorldServer extends World {
|
|
||||||
if (iprogressupdate != null) {
|
|
||||||
iprogressupdate.c(new ChatMessage("menu.savingChunks", new Object[0]));
|
|
||||||
}
|
|
||||||
+ } // Paper
|
|
||||||
|
|
||||||
timings.worldSaveChunks.startTiming(); // Paper
|
|
||||||
chunkproviderserver.save(flag);
|
|
||||||
@@ -777,6 +779,7 @@ public class WorldServer extends World {
|
|
||||||
} // Paper
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (flag || server.serverAutoSave) { // Paper
|
|
||||||
// CraftBukkit start - moved from MinecraftServer.saveChunks
|
|
||||||
// PAIL - rename
|
|
||||||
WorldServer worldserver1 = this;
|
|
||||||
@@ -786,6 +789,7 @@ public class WorldServer extends World {
|
|
||||||
worlddata.c(this.server.getBossBattleCustomData().c());
|
|
||||||
worldserver1.getDataManager().saveWorldData(worlddata, this.server.getPlayerList().r());
|
|
||||||
// CraftBukkit end
|
|
||||||
+ } // Paper
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void k_() throws ExceptionWorldConflict {
|
|
||||||
--
|
--
|
||||||
2.22.0
|
2.22.0
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 953d244608fe975f003f54f61d9ba343187fe6d7 Mon Sep 17 00:00:00 2001
|
From 3315876ab63c039fb2e795aae0fa079824cecd0e Mon Sep 17 00:00:00 2001
|
||||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||||
Date: Sat, 15 Jun 2019 08:54:33 -0700
|
Date: Sat, 15 Jun 2019 08:54:33 -0700
|
||||||
Subject: [PATCH] Fix World#isChunkGenerated calls
|
Subject: [PATCH] Fix World#isChunkGenerated calls
|
||||||
|
@ -8,7 +8,7 @@ This patch also adds a chunk status cache on region files (note that
|
||||||
its only purpose is to cache the status on DISK)
|
its only purpose is to cache the status on DISK)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
index 9765eaf24c..d714b8d01b 100644
|
index 5fabfe87c..2c6a164f0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||||
@@ -28,7 +28,7 @@ public class ChunkProviderServer extends IChunkProvider {
|
@@ -28,7 +28,7 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||||
|
@ -43,7 +43,7 @@ index 9765eaf24c..d714b8d01b 100644
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||||
index e778c2e857..73f93e4948 100644
|
index e778c2e85..73f93e494 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||||
@@ -410,6 +410,17 @@ public class ChunkRegionLoader {
|
@@ -410,6 +410,17 @@ public class ChunkRegionLoader {
|
||||||
|
@ -65,7 +65,7 @@ index e778c2e857..73f93e4948 100644
|
||||||
if (nbttagcompound != null) {
|
if (nbttagcompound != null) {
|
||||||
ChunkStatus chunkstatus = ChunkStatus.a(nbttagcompound.getCompound("Level").getString("Status"));
|
ChunkStatus chunkstatus = ChunkStatus.a(nbttagcompound.getCompound("Level").getString("Status"));
|
||||||
diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java
|
diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java
|
||||||
index dd1822d6ff..e324989b46 100644
|
index dd1822d6f..e324989b4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ChunkStatus.java
|
--- a/src/main/java/net/minecraft/server/ChunkStatus.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ChunkStatus.java
|
+++ b/src/main/java/net/minecraft/server/ChunkStatus.java
|
||||||
@@ -176,6 +176,7 @@ public class ChunkStatus {
|
@@ -176,6 +176,7 @@ public class ChunkStatus {
|
||||||
|
@ -95,7 +95,7 @@ index dd1822d6ff..e324989b46 100644
|
||||||
return (ChunkStatus) IRegistry.CHUNK_STATUS.get(MinecraftKey.a(s));
|
return (ChunkStatus) IRegistry.CHUNK_STATUS.get(MinecraftKey.a(s));
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||||
index 14a176d61d..98590e233a 100644
|
index 14a176d61..98590e233 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||||
@@ -70,6 +70,19 @@ public class PlayerChunk {
|
@@ -70,6 +70,19 @@ public class PlayerChunk {
|
||||||
|
@ -119,10 +119,10 @@ index 14a176d61d..98590e233a 100644
|
||||||
|
|
||||||
public CompletableFuture<Either<IChunkAccess, PlayerChunk.Failure>> getStatusFutureUnchecked(ChunkStatus chunkstatus) {
|
public CompletableFuture<Either<IChunkAccess, PlayerChunk.Failure>> getStatusFutureUnchecked(ChunkStatus chunkstatus) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
index 17eee15b2d..8dd934319d 100644
|
index 2be6fa0f0..bdadbd436 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
@@ -878,11 +878,61 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
@@ -891,11 +891,61 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
@ -187,7 +187,7 @@ index 17eee15b2d..8dd934319d 100644
|
||||||
boolean isOutsideOfRange(ChunkCoordIntPair chunkcoordintpair) {
|
boolean isOutsideOfRange(ChunkCoordIntPair chunkcoordintpair) {
|
||||||
// Spigot start
|
// Spigot start
|
||||||
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
||||||
index b0ec9edf67..41f1e15cb0 100644
|
index b0ec9edf6..41f1e15cb 100644
|
||||||
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
||||||
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
||||||
@@ -31,6 +31,30 @@ public class RegionFile implements AutoCloseable {
|
@@ -31,6 +31,30 @@ public class RegionFile implements AutoCloseable {
|
||||||
|
@ -246,7 +246,7 @@ index b0ec9edf67..41f1e15cb0 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
|
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||||
index 6f34d8aea0..d2b3289450 100644
|
index 6f34d8aea..d2b328945 100644
|
||||||
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
|
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||||
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
|
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||||
@@ -47,6 +47,12 @@ public abstract class RegionFileCache implements AutoCloseable {
|
@@ -47,6 +47,12 @@ public abstract class RegionFileCache implements AutoCloseable {
|
||||||
|
@ -279,7 +279,7 @@ index 6f34d8aea0..d2b3289450 100644
|
||||||
printOversizedLog("ChunkTooLarge even after reduction. Trying in overzealous mode.", regionfile.file, chunkX, chunkZ);
|
printOversizedLog("ChunkTooLarge even after reduction. Trying in overzealous mode.", regionfile.file, chunkX, chunkZ);
|
||||||
// Eek, major fail. We have retry logic, so reduce threshholds and fall back
|
// Eek, major fail. We have retry logic, so reduce threshholds and fall back
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
index acf151a253..a2b6c3c94a 100644
|
index acf151a25..a2b6c3c94 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -393,8 +393,22 @@ public class CraftWorld implements World {
|
@@ -393,8 +393,22 @@ public class CraftWorld implements World {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From e68ca32e6576c52834903e992f2598b875f4beae Mon Sep 17 00:00:00 2001
|
From c37c254f623531a867bcac6b5cb7cbb1d48b60da Mon Sep 17 00:00:00 2001
|
||||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||||
Date: Sat, 22 Jun 2019 04:20:47 -0700
|
Date: Sat, 22 Jun 2019 04:20:47 -0700
|
||||||
Subject: [PATCH] Use ChunkStatus cache when saving protochunks
|
Subject: [PATCH] Use ChunkStatus cache when saving protochunks
|
||||||
|
@ -7,10 +7,10 @@ The cache should contain the chunk status when saving. If not it
|
||||||
will load it.
|
will load it.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
index 86fb51b90a..36ce789127 100644
|
index bdadbd436..fbbd4d5dd 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
@@ -755,8 +755,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
@@ -768,8 +768,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||||
NBTTagCompound nbttagcompound;
|
NBTTagCompound nbttagcompound;
|
||||||
|
|
||||||
if (chunkstatus.getType() != ChunkStatus.Type.LEVELCHUNK) {
|
if (chunkstatus.getType() != ChunkStatus.Type.LEVELCHUNK) {
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
From 82e48d04c1fc9edf9bf5bc8f1a36f1fd941c2924 Mon Sep 17 00:00:00 2001
|
From b953a9e663b95822621257afde5f98387acffdb9 Mon Sep 17 00:00:00 2001
|
||||||
From: stonar96 <minecraft.stonar96@gmail.com>
|
From: stonar96 <minecraft.stonar96@gmail.com>
|
||||||
Date: Mon, 20 Aug 2018 03:03:58 +0200
|
Date: Mon, 20 Aug 2018 03:03:58 +0200
|
||||||
Subject: [PATCH] Anti-Xray
|
Subject: [PATCH] Anti-Xray
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||||
index 81987e4ad9..5942c3438e 100644
|
index 81987e4ad..5942c3438 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||||
@@ -71,8 +71,8 @@ public class PaperConfig {
|
@@ -71,8 +71,8 @@ public class PaperConfig {
|
||||||
|
@ -20,7 +20,7 @@ index 81987e4ad9..5942c3438e 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 4d3c6c6b47..929f5c3031 100644
|
index 4d3c6c6b4..929f5c303 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -1,7 +1,11 @@
|
@@ -1,7 +1,11 @@
|
||||||
|
@ -81,7 +81,7 @@ index 4d3c6c6b47..929f5c3031 100644
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java
|
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..f7e376ce6a
|
index 000000000..f7e376ce6
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java
|
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java
|
||||||
@@ -0,0 +1,46 @@
|
@@ -0,0 +1,46 @@
|
||||||
|
@ -133,7 +133,7 @@ index 0000000000..f7e376ce6a
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
|
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..23626bef3a
|
index 000000000..23626bef3
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
|
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java
|
||||||
@@ -0,0 +1,782 @@
|
@@ -0,0 +1,782 @@
|
||||||
|
@ -921,7 +921,7 @@ index 0000000000..23626bef3a
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java
|
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..a68bace353
|
index 000000000..a68bace35
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java
|
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java
|
||||||
@@ -0,0 +1,81 @@
|
@@ -0,0 +1,81 @@
|
||||||
|
@ -1008,7 +1008,7 @@ index 0000000000..a68bace353
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java
|
diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..067dfb2f14
|
index 000000000..067dfb2f1
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java
|
+++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java
|
||||||
@@ -0,0 +1,31 @@
|
@@ -0,0 +1,31 @@
|
||||||
|
@ -1045,7 +1045,7 @@ index 0000000000..067dfb2f14
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java
|
diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..cc586827aa
|
index 000000000..cc586827a
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java
|
+++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java
|
||||||
@@ -0,0 +1,56 @@
|
@@ -0,0 +1,56 @@
|
||||||
|
@ -1107,7 +1107,7 @@ index 0000000000..cc586827aa
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java
|
diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..37093419cf
|
index 000000000..37093419c
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java
|
+++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java
|
||||||
@@ -0,0 +1,84 @@
|
@@ -0,0 +1,84 @@
|
||||||
|
@ -1196,7 +1196,7 @@ index 0000000000..37093419cf
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||||
index 2003522d96..d604f96c16 100644
|
index 2003522d9..d604f96c1 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||||
@@ -315,7 +315,7 @@ public class Chunk implements IChunkAccess {
|
@@ -315,7 +315,7 @@ public class Chunk implements IChunkAccess {
|
||||||
|
@ -1209,7 +1209,7 @@ index 2003522d96..d604f96c16 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||||
index 73f93e4948..a028074112 100644
|
index 73f93e494..a02807411 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||||
@@ -74,7 +74,7 @@ public class ChunkRegionLoader {
|
@@ -74,7 +74,7 @@ public class ChunkRegionLoader {
|
||||||
|
@ -1231,7 +1231,7 @@ index 73f93e4948..a028074112 100644
|
||||||
object = protochunk;
|
object = protochunk;
|
||||||
protochunk.a(abiomebase);
|
protochunk.a(abiomebase);
|
||||||
diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
|
diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
|
||||||
index ca2bf8b770..584b3e6393 100644
|
index ca2bf8b77..584b3e639 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ChunkSection.java
|
--- a/src/main/java/net/minecraft/server/ChunkSection.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ChunkSection.java
|
+++ b/src/main/java/net/minecraft/server/ChunkSection.java
|
||||||
@@ -6,21 +6,31 @@ public class ChunkSection {
|
@@ -6,21 +6,31 @@ public class ChunkSection {
|
||||||
|
@ -1270,7 +1270,7 @@ index ca2bf8b770..584b3e6393 100644
|
||||||
|
|
||||||
public IBlockData getType(int i, int j, int k) {
|
public IBlockData getType(int i, int j, int k) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
|
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
|
||||||
index 1e2bca1e04..8fba1e2f3d 100644
|
index 1e2bca1e0..8fba1e2f3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
|
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
|
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
|
||||||
@@ -3,6 +3,7 @@ package net.minecraft.server;
|
@@ -3,6 +3,7 @@ package net.minecraft.server;
|
||||||
|
@ -1392,7 +1392,7 @@ index 1e2bca1e04..8fba1e2f3d 100644
|
||||||
|
|
||||||
if (this.h == this.b) {
|
if (this.h == this.b) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
|
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
|
||||||
index e156804f7a..96a785af27 100644
|
index e156804f7..96a785af2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/NetworkManager.java
|
--- a/src/main/java/net/minecraft/server/NetworkManager.java
|
||||||
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
|
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
|
||||||
@@ -42,7 +42,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
@@ -42,7 +42,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||||
|
@ -1455,7 +1455,7 @@ index e156804f7a..96a785af27 100644
|
||||||
public void a() {
|
public void a() {
|
||||||
this.o();
|
this.o();
|
||||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
|
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
|
||||||
index ef71a1feb3..483317608c 100644
|
index ef71a1feb..483317608 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
|
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
|
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
|
||||||
@@ -1,5 +1,6 @@
|
@@ -1,5 +1,6 @@
|
||||||
|
@ -1548,7 +1548,7 @@ index ef71a1feb3..483317608c 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||||
index 98590e233a..af934ef8bc 100644
|
index 98590e233..af934ef8b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||||
@@ -176,6 +176,11 @@ public class PlayerChunk {
|
@@ -176,6 +176,11 @@ public class PlayerChunk {
|
||||||
|
@ -1573,10 +1573,10 @@ index 98590e233a..af934ef8bc 100644
|
||||||
this.a(new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, chunk), false);
|
this.a(new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, chunk), false);
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
index 58e31380ab..8aa610bae0 100644
|
index fbbd4d5dd..fd0d2b6e6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||||
@@ -526,7 +526,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
@@ -539,7 +539,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||||
PlayerChunkMap.LOGGER.error("Couldn't load chunk {}", chunkcoordintpair, exception);
|
PlayerChunkMap.LOGGER.error("Couldn't load chunk {}", chunkcoordintpair, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1585,7 +1585,7 @@ index 58e31380ab..8aa610bae0 100644
|
||||||
}, this.executor);
|
}, this.executor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1228,7 +1228,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
@@ -1241,7 +1241,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||||
|
|
||||||
private void a(EntityPlayer entityplayer, Packet<?>[] apacket, Chunk chunk) {
|
private void a(EntityPlayer entityplayer, Packet<?>[] apacket, Chunk chunk) {
|
||||||
if (apacket[0] == null) {
|
if (apacket[0] == null) {
|
||||||
|
@ -1595,7 +1595,7 @@ index 58e31380ab..8aa610bae0 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||||
index 1c79890e3f..e5e9de542b 100644
|
index 1c79890e3..e5e9de542 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||||
@@ -253,6 +253,8 @@ public class PlayerInteractManager {
|
@@ -253,6 +253,8 @@ public class PlayerInteractManager {
|
||||||
|
@ -1608,7 +1608,7 @@ index 1c79890e3f..e5e9de542b 100644
|
||||||
|
|
||||||
public void a(BlockPosition blockposition, PacketPlayInBlockDig.EnumPlayerDigType packetplayinblockdig_enumplayerdigtype) {
|
public void a(BlockPosition blockposition, PacketPlayInBlockDig.EnumPlayerDigType packetplayinblockdig_enumplayerdigtype) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java
|
diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java
|
||||||
index 6bdd7dda04..7bad12eb00 100644
|
index 6bdd7dda0..7bad12eb0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ProtoChunk.java
|
--- a/src/main/java/net/minecraft/server/ProtoChunk.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ProtoChunk.java
|
+++ b/src/main/java/net/minecraft/server/ProtoChunk.java
|
||||||
@@ -44,16 +44,28 @@ public class ProtoChunk implements IChunkAccess {
|
@@ -44,16 +44,28 @@ public class ProtoChunk implements IChunkAccess {
|
||||||
|
@ -1651,7 +1651,7 @@ index 6bdd7dda04..7bad12eb00 100644
|
||||||
|
|
||||||
return this.j[i];
|
return this.j[i];
|
||||||
diff --git a/src/main/java/net/minecraft/server/TicketType.java b/src/main/java/net/minecraft/server/TicketType.java
|
diff --git a/src/main/java/net/minecraft/server/TicketType.java b/src/main/java/net/minecraft/server/TicketType.java
|
||||||
index 157ca6a7e6..9c114d2d37 100644
|
index 157ca6a7e..9c114d2d3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/TicketType.java
|
--- a/src/main/java/net/minecraft/server/TicketType.java
|
||||||
+++ b/src/main/java/net/minecraft/server/TicketType.java
|
+++ b/src/main/java/net/minecraft/server/TicketType.java
|
||||||
@@ -21,6 +21,7 @@ public class TicketType<T> {
|
@@ -21,6 +21,7 @@ public class TicketType<T> {
|
||||||
|
@ -1663,7 +1663,7 @@ index 157ca6a7e6..9c114d2d37 100644
|
||||||
public static <T> TicketType<T> a(String s, Comparator<T> comparator) {
|
public static <T> TicketType<T> a(String s, Comparator<T> comparator) {
|
||||||
return new TicketType<>(s, comparator, 0L);
|
return new TicketType<>(s, comparator, 0L);
|
||||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index 10c149faec..ab98c7b796 100644
|
index 10c149fae..ab98c7b79 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
+++ b/src/main/java/net/minecraft/server/World.java
|
+++ b/src/main/java/net/minecraft/server/World.java
|
||||||
@@ -2,6 +2,8 @@ package net.minecraft.server;
|
@@ -2,6 +2,8 @@ package net.minecraft.server;
|
||||||
|
@ -1700,7 +1700,7 @@ index 10c149faec..ab98c7b796 100644
|
||||||
if (iblockdata1 == null) {
|
if (iblockdata1 == null) {
|
||||||
// CraftBukkit start - remove blockstate if failed
|
// CraftBukkit start - remove blockstate if failed
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
|
||||||
index 7772d59005..4570ed9991 100644
|
index 7772d5900..4570ed999 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
|
--- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java
|
||||||
@@ -21,9 +21,11 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData {
|
@@ -21,9 +21,11 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 7b2643a897ec0574d7af42c7d004e3c643fa2e75 Mon Sep 17 00:00:00 2001
|
From 5e472e2806995e8cf0cb95ec7452ebde738dd3d8 Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 24 Mar 2019 01:01:32 -0400
|
Date: Sun, 24 Mar 2019 01:01:32 -0400
|
||||||
Subject: [PATCH] Only count Natural Spawned mobs towards natural spawn mob
|
Subject: [PATCH] Only count Natural Spawned mobs towards natural spawn mob
|
||||||
|
@ -17,7 +17,7 @@ This should fully solve all of the issues around it so that only natural
|
||||||
influences natural spawns.
|
influences natural spawns.
|
||||||
|
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
index 929f5c3031..ff520d9e86 100644
|
index 929f5c303..ff520d9e8 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||||
@@ -509,6 +509,16 @@ public class PaperWorldConfig {
|
@@ -509,6 +509,16 @@ public class PaperWorldConfig {
|
||||||
|
@ -38,10 +38,10 @@ index 929f5c3031..ff520d9e86 100644
|
||||||
public boolean asynchronous;
|
public boolean asynchronous;
|
||||||
public EngineMode engineMode;
|
public EngineMode engineMode;
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
index d709002c89..b8e964c974 100644
|
index 4148325a2..7faa5dd84 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
@@ -870,6 +870,13 @@ public class WorldServer extends World {
|
@@ -899,6 +899,13 @@ public class WorldServer extends World {
|
||||||
EnumCreatureType enumcreaturetype = entity.getEntityType().e();
|
EnumCreatureType enumcreaturetype = entity.getEntityType().e();
|
||||||
|
|
||||||
if (enumcreaturetype != EnumCreatureType.MISC && this.getChunkProvider().b(entity)) {
|
if (enumcreaturetype != EnumCreatureType.MISC && this.getChunkProvider().b(entity)) {
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
From 842e55bd71fc2a0562973af80b08b1a3b5f865ee Mon Sep 17 00:00:00 2001
|
From e932d77aab4de7670f848d83f8e50e53eae4513a Mon Sep 17 00:00:00 2001
|
||||||
From: Shane Freeder <theboyetronic@gmail.com>
|
From: Shane Freeder <theboyetronic@gmail.com>
|
||||||
Date: Sun, 28 Jul 2019 00:51:11 +0100
|
Date: Sun, 28 Jul 2019 00:51:11 +0100
|
||||||
Subject: [PATCH] Mark entities as being ticked when notifying navigation
|
Subject: [PATCH] Mark entities as being ticked when notifying navigation
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
index b8e964c97..be149b66a 100644
|
index 7faa5dd84..451ad4f32 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
@@ -1282,6 +1282,7 @@ public class WorldServer extends World {
|
@@ -1311,6 +1311,7 @@ public class WorldServer extends World {
|
||||||
VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition);
|
VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition);
|
||||||
|
|
||||||
if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) {
|
if (VoxelShapes.c(voxelshape, voxelshape1, OperatorBoolean.NOT_SAME)) {
|
||||||
|
@ -16,7 +16,7 @@ index b8e964c97..be149b66a 100644
|
||||||
Iterator iterator = this.H.iterator();
|
Iterator iterator = this.H.iterator();
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
@@ -1292,6 +1293,7 @@ public class WorldServer extends World {
|
@@ -1321,6 +1322,7 @@ public class WorldServer extends World {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue