From 475b2325618cf556c8d0184090e3ea31a8f3bcb5 Mon Sep 17 00:00:00 2001 From: jmp Date: Sun, 10 Jan 2021 14:13:05 -0800 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: ce8922b1d clone POI blockpos before dispatching 4768e3c4e Optimize Loaded Chunks Cache Lookups --- Paper | 2 +- .../server/0001-Tuinity-Server-Changes.patch | 50 +++++++++---------- patches/server/0003-Purpur-config-files.patch | 2 +- patches/server/0009-AFK-API.patch | 2 +- patches/server/0017-EntityMoveEvent.patch | 2 +- .../0029-Zombie-horse-naturally-spawn.patch | 2 +- .../0083-Add-phantom-spawning-options.patch | 2 +- ...-Add-allow-water-in-end-world-option.patch | 2 +- .../server/0105-Add-no-tick-block-list.patch | 2 +- patches/server/0109-Ridables.patch | 4 +- ...ggling-special-MobSpawners-per-world.patch | 4 +- .../0125-Configurable-daylight-cycle.patch | 2 +- ...justable-breeding-cooldown-to-config.patch | 2 +- 13 files changed, 39 insertions(+), 39 deletions(-) diff --git a/Paper b/Paper index 6bf12bff7..ce8922b1d 160000 --- a/Paper +++ b/Paper @@ -1 +1 @@ -Subproject commit 6bf12bff7188cbd4f25563a70022cc744319072c +Subproject commit ce8922b1d5aa963259695806a94f76a942135763 diff --git a/patches/server/0001-Tuinity-Server-Changes.patch b/patches/server/0001-Tuinity-Server-Changes.patch index 2c978cd2f..a598dc350 100644 --- a/patches/server/0001-Tuinity-Server-Changes.patch +++ b/patches/server/0001-Tuinity-Server-Changes.patch @@ -8350,7 +8350,7 @@ index 2d887af902a33b0e28d8f0a6ac2e59c815a7856e..2291135eaef64c403183724cb6e413cd @Override public BlockPosition immutableCopy() { diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 9c078d30afef20bd1ea5975299c5513334829b19..0a8173a5bcd7212ebeff204fef5efdf1633aac78 100644 +index af9d54ef057d5f6977cf77c57cde25b6b0d1f39d..7842e65115cf6c37322c83ebff954a06408680b5 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -91,6 +91,186 @@ public class Chunk implements IChunkAccess { @@ -8540,7 +8540,7 @@ index 9c078d30afef20bd1ea5975299c5513334829b19..0a8173a5bcd7212ebeff204fef5efdf1 public Chunk(World world, ChunkCoordIntPair chunkcoordintpair, BiomeStorage biomestorage, ChunkConverter chunkconverter, TickList ticklist, TickList ticklist1, long i, @Nullable ChunkSection[] achunksection, @Nullable Consumer consumer) { this.sections = new ChunkSection[16]; this.e = Maps.newHashMap(); -@@ -297,6 +477,11 @@ public class Chunk implements IChunkAccess { +@@ -298,6 +478,11 @@ public class Chunk implements IChunkAccess { public Chunk(World world, ProtoChunk protochunk) { this(world, protochunk.getPos(), protochunk.getBiomeIndex(), protochunk.p(), protochunk.n(), protochunk.o(), protochunk.getInhabitedTime(), protochunk.getSections(), (Consumer) null); @@ -8552,7 +8552,7 @@ index 9c078d30afef20bd1ea5975299c5513334829b19..0a8173a5bcd7212ebeff204fef5efdf1 Iterator iterator = protochunk.y().iterator(); while (iterator.hasNext()) { -@@ -547,6 +732,7 @@ public class Chunk implements IChunkAccess { +@@ -548,6 +733,7 @@ public class Chunk implements IChunkAccess { @Override public void a(Entity entity) { @@ -8560,7 +8560,7 @@ index 9c078d30afef20bd1ea5975299c5513334829b19..0a8173a5bcd7212ebeff204fef5efdf1 this.q = true; int i = MathHelper.floor(entity.locX() / 16.0D); int j = MathHelper.floor(entity.locZ() / 16.0D); -@@ -592,8 +778,8 @@ public class Chunk implements IChunkAccess { +@@ -593,8 +779,8 @@ public class Chunk implements IChunkAccess { entity.chunkX = this.loc.x; entity.chunkY = k; entity.chunkZ = this.loc.z; @@ -8571,7 +8571,7 @@ index 9c078d30afef20bd1ea5975299c5513334829b19..0a8173a5bcd7212ebeff204fef5efdf1 // Paper start if (entity instanceof EntityItem) { itemCounts[k]++; -@@ -616,6 +802,7 @@ public class Chunk implements IChunkAccess { +@@ -617,6 +803,7 @@ public class Chunk implements IChunkAccess { } public void a(Entity entity, int i) { @@ -8579,7 +8579,7 @@ index 9c078d30afef20bd1ea5975299c5513334829b19..0a8173a5bcd7212ebeff204fef5efdf1 if (i < 0) { i = 0; } -@@ -630,7 +817,7 @@ public class Chunk implements IChunkAccess { +@@ -631,7 +818,7 @@ public class Chunk implements IChunkAccess { entity.entitySlice = null; entity.inChunk = false; } @@ -8588,7 +8588,7 @@ index 9c078d30afef20bd1ea5975299c5513334829b19..0a8173a5bcd7212ebeff204fef5efdf1 return; } if (entity instanceof EntityItem) { -@@ -943,6 +1130,7 @@ public class Chunk implements IChunkAccess { +@@ -944,6 +1131,7 @@ public class Chunk implements IChunkAccess { } @@ -8948,7 +8948,7 @@ index 3c7b225edbe23dc1959002293a6f8b816287b5a8..f1c686810fb4e9c05df45d664c93af73 for (java.util.Iterator>>> iterator = this.tickets.long2ObjectEntrySet().fastIterator(); iterator.hasNext();) { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7902d650e 100644 +index 75d25576d68ec95a14372f8530f4916f2bd7c3c5..38ca1c042afd41a1f660f88e398fedde00f34e39 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -22,6 +22,12 @@ import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; // Paper @@ -8964,7 +8964,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 public class ChunkProviderServer extends IChunkProvider { private static final List b = ChunkStatus.a(); static final List getPossibleChunkStatuses() { return ChunkProviderServer.b; } // Paper - OBFHELPER -@@ -121,7 +127,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -112,7 +118,7 @@ public class ChunkProviderServer extends IChunkProvider { return (Chunk)this.getChunkAt(x, z, ChunkStatus.FULL, true); } @@ -8973,7 +8973,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 public void getEntityTickingChunkAsync(int x, int z, java.util.function.Consumer onLoad) { if (Thread.currentThread() != this.serverThread) { -@@ -183,9 +189,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -174,9 +180,9 @@ public class ChunkProviderServer extends IChunkProvider { try { if (onLoad != null) { @@ -8985,7 +8985,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 } } catch (Throwable thr) { if (thr instanceof ThreadDeath) { -@@ -210,6 +216,165 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -201,6 +207,165 @@ public class ChunkProviderServer extends IChunkProvider { } // Paper end - rewrite ticklistserver @@ -9151,7 +9151,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 public ChunkProviderServer(WorldServer worldserver, Convertable.ConversionSession convertable_conversionsession, DataFixer datafixer, DefinedStructureManager definedstructuremanager, Executor executor, ChunkGenerator chunkgenerator, int i, boolean flag, WorldLoadListener worldloadlistener, Supplier supplier) { this.world = worldserver; this.serverThreadQueue = new ChunkProviderServer.a(worldserver); -@@ -545,6 +710,8 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -536,6 +701,8 @@ public class ChunkProviderServer extends IChunkProvider { Arrays.fill(this.cacheChunk, (Object) null); } @@ -9160,7 +9160,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 private CompletableFuture> getChunkFutureMainThread(int i, int j, ChunkStatus chunkstatus, boolean flag) { // Paper start - add isUrgent - old sig left in place for dirty nms plugins return getChunkFutureMainThread(i, j, chunkstatus, flag, false); -@@ -563,9 +730,12 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -554,9 +721,12 @@ public class ChunkProviderServer extends IChunkProvider { PlayerChunk.State currentChunkState = PlayerChunk.getChunkState(playerchunk.getTicketLevel()); currentlyUnloading = (oldChunkState.isAtLeast(PlayerChunk.State.BORDER) && !currentChunkState.isAtLeast(PlayerChunk.State.BORDER)); } @@ -9173,7 +9173,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 if (isUrgent) this.chunkMapDistance.markUrgent(chunkcoordintpair); // Paper if (this.a(playerchunk, l)) { GameProfilerFiller gameprofilerfiller = this.world.getMethodProfiler(); -@@ -576,12 +746,20 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -567,12 +737,20 @@ public class ChunkProviderServer extends IChunkProvider { playerchunk = this.getChunk(k); gameprofilerfiller.exit(); if (this.a(playerchunk, l)) { @@ -9195,7 +9195,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 if (isUrgent) { future.thenAccept(either -> this.chunkMapDistance.clearUrgent(chunkcoordintpair)); } -@@ -600,8 +778,8 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -591,8 +769,8 @@ public class ChunkProviderServer extends IChunkProvider { return !this.a(playerchunk, k); } @@ -9206,7 +9206,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 long k = ChunkCoordIntPair.pair(i, j); PlayerChunk playerchunk = this.getChunk(k); -@@ -638,6 +816,8 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -629,6 +807,8 @@ public class ChunkProviderServer extends IChunkProvider { public boolean tickDistanceManager() { // Paper - private -> public if (chunkMapDistance.delayDistanceManagerTick) return false; // Paper @@ -9215,7 +9215,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 boolean flag = this.chunkMapDistance.a(this.playerChunkMap); boolean flag1 = this.playerChunkMap.b(); -@@ -647,6 +827,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -638,6 +818,7 @@ public class ChunkProviderServer extends IChunkProvider { this.clearCache(); return true; } @@ -9223,7 +9223,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 } public final boolean isInEntityTickingChunk(Entity entity) { return this.a(entity); } // Paper - OBFHELPER -@@ -735,7 +916,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -726,7 +907,7 @@ public class ChunkProviderServer extends IChunkProvider { this.world.getMethodProfiler().enter("purge"); this.world.timings.doChunkMap.startTiming(); // Spigot this.chunkMapDistance.purgeTickets(); @@ -9232,7 +9232,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 this.tickDistanceManager(); this.world.timings.doChunkMap.stopTiming(); // Spigot this.world.getMethodProfiler().exitEnter("chunks"); -@@ -745,7 +926,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -736,7 +917,7 @@ public class ChunkProviderServer extends IChunkProvider { this.world.timings.doChunkUnload.startTiming(); // Spigot this.world.getMethodProfiler().exitEnter("unload"); this.playerChunkMap.unloadChunks(booleansupplier); @@ -9241,7 +9241,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 this.world.timings.doChunkUnload.stopTiming(); // Spigot this.world.getMethodProfiler().exit(); this.clearCache(); -@@ -822,19 +1003,23 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -813,19 +994,23 @@ public class ChunkProviderServer extends IChunkProvider { //List list = Lists.newArrayList(this.playerChunkMap.f()); // Paper //Collections.shuffle(list); // Paper // Paper - moved up @@ -9273,7 +9273,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 ChunkCoordIntPair chunkcoordintpair = playerchunk.i(); if (!this.playerChunkMap.isOutsideOfRange(playerchunk, chunkcoordintpair, false)) { // Paper - optimise isOutsideOfRange -@@ -846,11 +1031,15 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -837,11 +1022,15 @@ public class ChunkProviderServer extends IChunkProvider { this.world.timings.chunkTicks.startTiming(); // Spigot // Paper this.world.a(chunk, k); this.world.timings.chunkTicks.stopTiming(); // Spigot // Paper @@ -9291,7 +9291,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 this.world.getMethodProfiler().enter("customSpawners"); if (flag1) { try (co.aikar.timings.Timing ignored = this.world.timings.miscMobSpawning.startTiming()) { // Paper - timings -@@ -862,7 +1051,25 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -853,7 +1042,25 @@ public class ChunkProviderServer extends IChunkProvider { this.world.getMethodProfiler().exit(); } @@ -9317,7 +9317,7 @@ index 6acb5f05a05c542f8257e205ef70987be2d29194..12d9b73ccc2f4406957932397746cac7 } private void a(long i, Consumer consumer) { -@@ -1002,51 +1209,18 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -993,51 +1200,18 @@ public class ChunkProviderServer extends IChunkProvider { ChunkProviderServer.this.world.getMethodProfiler().c("runTask"); super.executeTask(runnable); } @@ -15191,7 +15191,7 @@ index 5d9d58411f2fad9d5da703f964d269b4a7c2b205..f0fdfd6891e59891e7370a2d682b65c6 private double c; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 277c051f814d25dd7c57cdba268ea044873c88d5..4a17c1b8092968247ee9fa0ce2b5bd44baf2b18f 100644 +index 17fdfb11e844a53af6a4df4f5f66f24667cdd862..cd67ca19436f791f871fd2bf4c258b6342fb554e 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -94,6 +94,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -15542,7 +15542,7 @@ index f011869880fedae4b69e505491e8bdbc5f51dfba..0d10d317cd0b60fc0866ae505c7fd71f return this.j.d(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index b033ff44373ec87702946c3cefe664fb46d609f4..72452abfe1fa8eafac386e0f2e5d87296772675a 100644 +index 9c50357bb5da309b7cad74fdee15697a20e2e15f..2104c9ab5ed6fa81d29887b33313c8ff7310dd09 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -55,12 +55,13 @@ import org.bukkit.event.server.MapInitializeEvent; diff --git a/patches/server/0003-Purpur-config-files.patch b/patches/server/0003-Purpur-config-files.patch index 3de880353..a42b3ff2a 100644 --- a/patches/server/0003-Purpur-config-files.patch +++ b/patches/server/0003-Purpur-config-files.patch @@ -78,7 +78,7 @@ index 9b35c8ad9efe9241fe442bc6ef2e9f62def386d8..2c4c13b30b4533f5476f1128317d477a if (this.bF) { this.bF = false; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 4a17c1b8092968247ee9fa0ce2b5bd44baf2b18f..68dec17bbf64a60c774ab26abc326b953889aa8c 100644 +index cd67ca19436f791f871fd2bf4c258b6342fb554e..07f30b9037cf983b18f31bc5fc10328928d75aee 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -95,6 +95,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/patches/server/0009-AFK-API.patch b/patches/server/0009-AFK-API.patch index 465cb7811..aba553f79 100644 --- a/patches/server/0009-AFK-API.patch +++ b/patches/server/0009-AFK-API.patch @@ -193,7 +193,7 @@ index 5c708ed2cd3b10744b0d6d2eb2ef51d0411ce0dc..d1d4f4baf33e6b2224116f22a63b6d21 if (from.getX() != Double.MAX_VALUE) { Location oldTo = to.clone(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 72452abfe1fa8eafac386e0f2e5d87296772675a..6e34a58dd40785337b16c07e4f76566cd306db7e 100644 +index 2104c9ab5ed6fa81d29887b33313c8ff7310dd09..9d1a062d2068df8cf7cc11a3f44240afd46f7c81 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -781,7 +781,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0017-EntityMoveEvent.patch b/patches/server/0017-EntityMoveEvent.patch index 36c340bc5..1b601588d 100644 --- a/patches/server/0017-EntityMoveEvent.patch +++ b/patches/server/0017-EntityMoveEvent.patch @@ -42,7 +42,7 @@ index 3ac30bbf7ad327372b02ed365572fd3226fb6f9a..de72f058b6de539ff75858120d6d023e this.methodProfiler.a(() -> { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 6e34a58dd40785337b16c07e4f76566cd306db7e..f8a4f95f1568091fea44663d33daa06780c2a2b8 100644 +index 9d1a062d2068df8cf7cc11a3f44240afd46f7c81..f74a26ca08c574d5a99d04276e8f33a82955440a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -101,6 +101,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0029-Zombie-horse-naturally-spawn.patch b/patches/server/0029-Zombie-horse-naturally-spawn.patch index f10312ab6..7200921aa 100644 --- a/patches/server/0029-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0029-Zombie-horse-naturally-spawn.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Zombie horse naturally spawn diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f8a4f95f1568091fea44663d33daa06780c2a2b8..5ddb374c8eb7668bf4daeb516bedf351415a79f6 100644 +index f74a26ca08c574d5a99d04276e8f33a82955440a..fa671594cf4021be197fda1cdc11f000faccf24b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -996,12 +996,18 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0083-Add-phantom-spawning-options.patch b/patches/server/0083-Add-phantom-spawning-options.patch index 4554e06ed..3aaa4016f 100644 --- a/patches/server/0083-Add-phantom-spawning-options.patch +++ b/patches/server/0083-Add-phantom-spawning-options.patch @@ -233,7 +233,7 @@ index 661ad8f8e67046211e001ea40d97660d7c88f8e5..ee91c33a7a2edca02caf5c71fd6429f9 return iblockdata.r(iblockaccess, blockposition) ? false : (iblockdata.isPowerSource() ? false : (!fluid.isEmpty() ? false : (iblockdata.a((Tag) TagsBlock.PREVENT_MOB_SPAWNING_INSIDE) ? false : !entitytypes.a(iblockdata)))); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 68dec17bbf64a60c774ab26abc326b953889aa8c..f91d9a19b3d9870c99a03c86eb835b8ec68cc133 100644 +index 07f30b9037cf983b18f31bc5fc10328928d75aee..d43f703a9b6d1a6ed3423f42f54c8efb37311883 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1566,6 +1566,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/patches/server/0086-Add-allow-water-in-end-world-option.patch b/patches/server/0086-Add-allow-water-in-end-world-option.patch index cc6178712..1d6bb35ad 100644 --- a/patches/server/0086-Add-allow-water-in-end-world-option.patch +++ b/patches/server/0086-Add-allow-water-in-end-world-option.patch @@ -49,7 +49,7 @@ index 120bf8436fd82294c339add2e7bff1cda8311aea..848a185c04aa90a62e6bcc49ad68a748 return true; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f91d9a19b3d9870c99a03c86eb835b8ec68cc133..70870b0af64ff9cac7a211cce7cc6ab2497a62ea 100644 +index d43f703a9b6d1a6ed3423f42f54c8efb37311883..7a9442e89e951ed67947448d86d64d88f7880df0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1641,4 +1641,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/patches/server/0105-Add-no-tick-block-list.patch b/patches/server/0105-Add-no-tick-block-list.patch index 9308d28bc..388b7edee 100644 --- a/patches/server/0105-Add-no-tick-block-list.patch +++ b/patches/server/0105-Add-no-tick-block-list.patch @@ -22,7 +22,7 @@ index 829d4a7508e1656dbdc912096b7eafcf30cbb5b2..6aea156d7c7a9ca8a357aad6a6781d72 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 5ddb374c8eb7668bf4daeb516bedf351415a79f6..49f15f76d008ac59862994a3577962d6747d89ae 100644 +index fa671594cf4021be197fda1cdc11f000faccf24b..11893ad0f04311b028ad41352e24dcf10d55dfc7 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -321,14 +321,14 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0109-Ridables.patch b/patches/server/0109-Ridables.patch index 00fa928f0..fc51f7f77 100644 --- a/patches/server/0109-Ridables.patch +++ b/patches/server/0109-Ridables.patch @@ -5026,7 +5026,7 @@ index 5af554870bcf36e47aef43b966b141b9eda6c4d5..c59305ef7dd7847e204d4c4ed79758bf return new Vec3D(this.x * d0, this.y * d1, this.z * d2); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 70870b0af64ff9cac7a211cce7cc6ab2497a62ea..b91f3efb61575869d54d630263bb6a4c6499153e 100644 +index 7a9442e89e951ed67947448d86d64d88f7880df0..1cd1255d5e7fc907a0621e0db31c35a622fe2377 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1650,5 +1650,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -5041,7 +5041,7 @@ index 70870b0af64ff9cac7a211cce7cc6ab2497a62ea..b91f3efb61575869d54d630263bb6a4c // Purpur end } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 49f15f76d008ac59862994a3577962d6747d89ae..f34855683eb2fae8f46e3915f6dff2e585f82a1d 100644 +index 11893ad0f04311b028ad41352e24dcf10d55dfc7..21b915c0aa4f2192a3eaddbc950734c6bbcce339 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -102,6 +102,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0115-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0115-Allow-toggling-special-MobSpawners-per-world.patch index 408001595..1d6ae2451 100644 --- a/patches/server/0115-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0115-Allow-toggling-special-MobSpawners-per-world.patch @@ -29,7 +29,7 @@ index 8d89f51182444852062d549d23c00a93e601eb38..072ec40f751b19c2a78dfcc6e439c643 if (SpawnerCreature.a(EntityPositionTypes.Surface.ON_GROUND, iworldreader, blockposition2, EntityTypes.WANDERING_TRADER)) { blockposition1 = blockposition2; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index b91f3efb61575869d54d630263bb6a4c6499153e..22a5a212b8f0a223a338a8476d9fc7fd36c19df5 100644 +index 1cd1255d5e7fc907a0621e0db31c35a622fe2377..ab99bce8c0ae2efb1072c6d154d15089aed2f941 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -156,7 +156,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -42,7 +42,7 @@ index b91f3efb61575869d54d630263bb6a4c6499153e..22a5a212b8f0a223a338a8476d9fc7fd this.generator = gen; this.world = new CraftWorld((WorldServer) this, gen, env); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f34855683eb2fae8f46e3915f6dff2e585f82a1d..7c35edeca619a25c975baf73ffc8e4b561e14db0 100644 +index 21b915c0aa4f2192a3eaddbc950734c6bbcce339..f498241a31f531b74167a9f71f9871f6d620ee66 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -339,7 +339,24 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0125-Configurable-daylight-cycle.patch b/patches/server/0125-Configurable-daylight-cycle.patch index 4b48cf194..28cb5d059 100644 --- a/patches/server/0125-Configurable-daylight-cycle.patch +++ b/patches/server/0125-Configurable-daylight-cycle.patch @@ -18,7 +18,7 @@ index 1b9b43ee696575d986c25cafec07d863acb951a7..e837db171545ceacbc84a2b360cf0d95 public PacketPlayOutUpdateTime() {} diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 7c35edeca619a25c975baf73ffc8e4b561e14db0..a1ac7c5ee47a26229f2e13016cd21974bd97df82 100644 +index f498241a31f531b74167a9f71f9871f6d620ee66..0e5c5809783d0c9699e2ee0f2cb498cde9f84ab6 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -94,6 +94,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0131-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0131-Add-adjustable-breeding-cooldown-to-config.patch index 48d2287bd..132cdab00 100644 --- a/patches/server/0131-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0131-Add-adjustable-breeding-cooldown-to-config.patch @@ -33,7 +33,7 @@ index bba343542e7e6fa83ec802d97b4c139bb210ab28..d9f9e2235d091e14e5d34bb9a3273e7f int experience = this.getRandom().nextInt(7) + 1; org.bukkit.event.entity.EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, entityanimal, entityplayer, this.breedItem, experience); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 22a5a212b8f0a223a338a8476d9fc7fd36c19df5..7021875fd8f205049748fe96b945de8339f3ec58 100644 +index ab99bce8c0ae2efb1072c6d154d15089aed2f941..3c02c34a13995f7805cd0196b6e2fd150061250c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -104,6 +104,48 @@ public abstract class World implements GeneratorAccess, AutoCloseable {