From 43e33eb332ed55a50cfb66d9fbbf0672f043d672 Mon Sep 17 00:00:00 2001 From: Ivan Pekov Date: Sun, 10 Jan 2021 14:31:15 +0200 Subject: [PATCH 1/7] Updated Upstream and Sidestream(s) (Tuinity/Origami/Purpur/AirplaneLite) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: e76c58e Merge branch 'master' of https://github.com/Spottedleaf/Tuinity into ver/1.16.4 8954b61 Updated Upstream (Paper) Origami Changes: 2cff647 Update Paper Purpur Changes: 4a9c016 [ci-skip] Don't cancel TPSBar task if it wasn't started c32e46e Movement options for armour stands (#140) 9370140 Updated Upstream (Paper) f74bcbd [ci-skip] Update license info in readme 299b43a [ci-skip] Rebuild patches 03365bb Farmland trampling changes (#138) 984a268 Add StructureGenerateEvent (#137) 15d23a1 Add EntityTeleportHinderedEvent (#136) 8795c74 [ci-skip] Update Gradle to 6.8 e9be2a2 [ci-skip] change image link to purpur site d09cf68 [ci-skip] Stop patching symptoms. Patch the root cause dd65bd1 Fix typo 7a6e6ec Updated Upstream (Paper) bf7e290 Hide server-ip from timings be50f97 move timings config to the right place (#130) f1390cd Ignore blocks above Note Blocks (#135) c50344d Resolves #132 Add mobGriefing bypass to everything else bba9cff [ci-skip] Update README.md AirplaneLite Changes: 36cc1d3 Updated Upstream (Tuinity) bc0fef0 Don't spawn lightning on chunk load 15c06b8 Fix other comments 47f98d6 License information 4705af8 Fix comments 432cf4b Optimize random calls in chunk ticking --- AirplaneLite | 2 +- Origami | 2 +- Purpur | 2 +- Tuinity | 2 +- patches/AirplaneLite/server.txt | 2 +- ...061-Use-faster-random-implementation.patch | 0 .../server/0001-Yatopia-Server-Fixes.patch | 96 ++++++++++++++++--- ...0020-Optimize-TileEntity-load-unload.patch | 2 +- ...ze-some-stuff-in-WorldServer-ticking.patch | 12 +-- ...ghly-optimize-VillagePlace-filtering.patch | 16 ++-- patches/server/0031-Optimise-portals.patch | 6 +- ...-Fix-LightEngineThreaded-memory-leak.patch | 4 +- ...-Configurable-enchanting-table-tick.patch} | 2 +- ...tance-map-when-animal-and-mob-spawn.patch} | 4 +- ...ase-for-floodgate-and-offline-uuids.patch} | 0 ...ame-connecting-with-no-texture-bein.patch} | 0 ... => 0065-Optimised-hallowen-checker.patch} | 2 +- ...h => 0066-Smol-entity-optimisations.patch} | 0 18 files changed, 114 insertions(+), 40 deletions(-) rename patches/{ => removed}/server/0061-Use-faster-random-implementation.patch (100%) rename patches/server/{0062-Configurable-enchanting-table-tick.patch => 0061-Configurable-enchanting-table-tick.patch} (96%) rename patches/server/{0063-Do-not-update-distance-map-when-animal-and-mob-spawn.patch => 0062-Do-not-update-distance-map-when-animal-and-mob-spawn.patch} (89%) rename patches/server/{0064-Add-a-special-case-for-floodgate-and-offline-uuids.patch => 0063-Add-a-special-case-for-floodgate-and-offline-uuids.patch} (100%) rename patches/server/{0065-PaperPR-Fix-username-connecting-with-no-texture-bein.patch => 0064-PaperPR-Fix-username-connecting-with-no-texture-bein.patch} (100%) rename patches/server/{0066-Optimised-hallowen-checker.patch => 0065-Optimised-hallowen-checker.patch} (98%) rename patches/server/{0067-Smol-entity-optimisations.patch => 0066-Smol-entity-optimisations.patch} (100%) diff --git a/AirplaneLite b/AirplaneLite index 5e8ebc09..36cc1d30 160000 --- a/AirplaneLite +++ b/AirplaneLite @@ -1 +1 @@ -Subproject commit 5e8ebc09f1c090843d154e8db1160c9075be7649 +Subproject commit 36cc1d30d44e7148a9eb46230e405d000867bae5 diff --git a/Origami b/Origami index e204bb8e..2cff647f 160000 --- a/Origami +++ b/Origami @@ -1 +1 @@ -Subproject commit e204bb8e0fa441dd74d2df98c0444cc2f43854a3 +Subproject commit 2cff647f8537ebee911d8bcd52c70e3fc1cb5677 diff --git a/Purpur b/Purpur index 5c0dbf17..4a9c0163 160000 --- a/Purpur +++ b/Purpur @@ -1 +1 @@ -Subproject commit 5c0dbf179b9bad231e894fe1e47169a66404004a +Subproject commit 4a9c0163d9d5048f14c74d24a0d5e73fdaebb1f6 diff --git a/Tuinity b/Tuinity index 33b3f860..e76c58ef 160000 --- a/Tuinity +++ b/Tuinity @@ -1 +1 @@ -Subproject commit 33b3f860c233cf20cd2be93e474ee687116e180b +Subproject commit e76c58ef41cbc3df4296c367eb1ee302aa1e21ee diff --git a/patches/AirplaneLite/server.txt b/patches/AirplaneLite/server.txt index adc227aa..51102896 100644 --- a/patches/AirplaneLite/server.txt +++ b/patches/AirplaneLite/server.txt @@ -1 +1 @@ -AirplaneLite-MC-Dev-Fixes&AirplaneLite-Data-Structs&Strip-raytracing-for-EntityLiving-hasLineOfSight&Simpler-ShapelessRecipes-comparison-for-Vanilla&Use-unmodifiableMap-instead-of-making-copy&Swap-priority-of-checks-in-chunk-ticking&Reduce-projectile-chunk-loading \ No newline at end of file +AirplaneLite-MC-Dev-Fixes&AirplaneLite-Data-Structs&Strip-raytracing-for-EntityLiving-hasLineOfSight&Simpler-ShapelessRecipes-comparison-for-Vanilla&Use-unmodifiableMap-instead-of-making-copy&Swap-priority-of-checks-in-chunk-ticking&Reduce-projectile-chunk-loading&Optimize-random-calls-in-chunk-ticking \ No newline at end of file diff --git a/patches/server/0061-Use-faster-random-implementation.patch b/patches/removed/server/0061-Use-faster-random-implementation.patch similarity index 100% rename from patches/server/0061-Use-faster-random-implementation.patch rename to patches/removed/server/0061-Use-faster-random-implementation.patch diff --git a/patches/server/0001-Yatopia-Server-Fixes.patch b/patches/server/0001-Yatopia-Server-Fixes.patch index 471592aa..51b45ab0 100644 --- a/patches/server/0001-Yatopia-Server-Fixes.patch +++ b/patches/server/0001-Yatopia-Server-Fixes.patch @@ -141,6 +141,53 @@ index 2291135eaef64c403183724cb6e413cd7e472672..6fcc7ed7c129e6a33386d65b37cbba4a public static long getAdjacent(int baseX, int baseY, int baseZ, EnumDirection enumdirection) { return asLong(baseX + enumdirection.getAdjacentX(), baseY + enumdirection.getAdjacentY(), baseZ + enumdirection.getAdjacentZ()); } // Paper public static long a(long i, EnumDirection enumdirection) { return a(i, enumdirection.getAdjacentX(), enumdirection.getAdjacentY(), enumdirection.getAdjacentZ()); +diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java +index 781d74cf7e3669d71727cce781a8f8ce088c5547..bb7170e4f82f2f0d0046ceed95ac6a2622b9852f 100644 +--- a/src/main/java/net/minecraft/server/Chunk.java ++++ b/src/main/java/net/minecraft/server/Chunk.java +@@ -52,6 +52,17 @@ public class Chunk implements IChunkAccess { + private Consumer v; + private final ChunkCoordIntPair loc; public final long coordinateKey; public final int locX; public final int locZ; // Paper - cache coordinate key + private volatile boolean x; ++ ++ // AirplaneL start - instead of using a random every time the chunk is ticked, define when lightning strikes preemptively ++ private int lightningTick = -1; ++ public boolean shouldDoLightning() { ++ boolean doTick = this.lightningTick == 0; ++ if (this.lightningTick-- <= 0) { ++ this.lightningTick = this.world.random.nextInt(100000) << 1; ++ } ++ return doTick; ++ } ++ // AirplaneL end + + public Chunk(World world, ChunkCoordIntPair chunkcoordintpair, BiomeStorage biomestorage) { + this(world, chunkcoordintpair, biomestorage, ChunkConverter.a, TickListEmpty.b(), TickListEmpty.b(), 0L, (ChunkSection[]) null, (Consumer) null); +diff --git a/src/main/java/net/minecraft/server/Chunk.java.rej b/src/main/java/net/minecraft/server/Chunk.java.rej +deleted file mode 100644 +index 6a63cbff4fcd1ebcc23910a8ae4f400df0e51351..0000000000000000000000000000000000000000 +--- a/src/main/java/net/minecraft/server/Chunk.java.rej ++++ /dev/null +@@ -1,19 +0,0 @@ +-diff a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java (rejected hunks) +-@@ -53,6 +53,17 @@ public class Chunk implements IChunkAccess { +- private final ChunkCoordIntPair loc; public final long coordinateKey; // Paper - cache coordinate key +- private volatile boolean x; +- +-+ // AirplaneL start - instead of using a random every time the chunk is ticked, define when lightning strikes preemptively +-+ private int lightningTick = -1; +-+ public boolean shouldDoLightning() { +-+ boolean doTick = this.lightningTick == 0; +-+ if (this.lightningTick-- <= 0) { +-+ this.lightningTick = this.world.random.nextInt(100000) << 1; +-+ } +-+ return doTick; +-+ } +-+ // AirplaneL end +-+ +- public Chunk(World world, ChunkCoordIntPair chunkcoordintpair, BiomeStorage biomestorage) { +- this(world, chunkcoordintpair, biomestorage, ChunkConverter.a, TickListEmpty.b(), TickListEmpty.b(), 0L, (ChunkSection[]) null, (Consumer) null); +- } diff --git a/src/main/java/net/minecraft/server/CommandDispatcher.java b/src/main/java/net/minecraft/server/CommandDispatcher.java index 17753c8a997aa286460be5d8eb6508e2eaed18ce..56d5cebd155f2b5ee24c1d8b75903316e59688d1 100644 --- a/src/main/java/net/minecraft/server/CommandDispatcher.java @@ -373,7 +420,7 @@ index dd52a8fe4fd46e57a5d1af49ba1965a483cf4fcc..00000000000000000000000000000000 - IChunkAccess ichunkaccess = iworldreader.getChunkAt(chunkcoordintpair.x, chunkcoordintpair.z, ChunkStatus.STRUCTURE_STARTS, !(iworldreader instanceof World) || !((World) iworldreader).origamiConfig.onlyFindGeneratedFeatures); - if (ichunkaccess == null) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index c2b5874a77ae8a992bc668dc19f5300bebf3d239..3bbfb0117187a26354fa58ec46eeb6e62845851e 100644 +index 1ab3d205ae20a9674ee3d13c42fd7bc3c52e5503..af65e7fd2c3acac2627452f030bc973f8ad3ff54 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -96,6 +96,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -465,30 +512,57 @@ index 39dce006ebf2bd81a9d6c62c25eb9bd55d24199e..00000000000000000000000000000000 - nbttagcompound = NBTCompressedStreamTools.a((InputStream) (new FileInputStream(file))); - } - // Spigot Start +diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java +index 5ee0f3680b191e8522b07b522d073f804f2bf43e..a5eebf136e26e8c0b0b1f52e31793f1f11f27fe5 100644 +--- a/src/main/java/net/minecraft/server/WorldServer.java ++++ b/src/main/java/net/minecraft/server/WorldServer.java +@@ -181,6 +181,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { + }; + public final com.destroystokyo.paper.io.chunk.ChunkTaskManager asyncChunkTaskManager; + // Paper end ++ private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // AirplaneL + // Paper start + @Override + public boolean isChunkLoaded(int x, int z) { +diff --git a/src/main/java/net/minecraft/server/WorldServer.java.rej b/src/main/java/net/minecraft/server/WorldServer.java.rej +deleted file mode 100644 +index 06b971640f16a99b41eb07b1d0bb43f3ad300c84..0000000000000000000000000000000000000000 +--- a/src/main/java/net/minecraft/server/WorldServer.java.rej ++++ /dev/null +@@ -1,10 +0,0 @@ +-diff a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java (rejected hunks) +-@@ -978,6 +978,8 @@ public class WorldServer extends World implements GeneratorAccessSeed { +- private final com.destroystokyo.paper.util.math.ThreadUnsafeRandom randomTickRandom = new com.destroystokyo.paper.util.math.ThreadUnsafeRandom(); +- // Paper end +- +-+ private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // AirplaneL +-+ +- // AirplaneL start - create version of chunk tick that returns a bool for updating lighting +- public void a(Chunk chunk, int i) { this.abool(chunk, i); } +- public boolean abool(Chunk chunk, int i) { final int randomTickSpeed = i; // Paper diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index f5c827f7427e7b743e8ec2adbcbc478735d028d4..718528409154348733166240478e9d577aa87b6e 100644 +index 750637ecdd44dacac2b7c83a1701d795309d5583..081dc7a2a4a5d80da868b1080b212ddce2bb0bc7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java -@@ -1,5 +1,6 @@ +@@ -1,5 +1,7 @@ package net.pl3x.purpur; ++import co.aikar.timings.TimingsManager; +import com.destroystokyo.paper.PaperConfig; import com.google.common.base.Throwables; import net.minecraft.server.MinecraftServer; import net.pl3x.purpur.command.PurpurCommand; -@@ -129,11 +130,6 @@ public class PurpurConfig { +@@ -129,9 +131,7 @@ public class PurpurConfig { return config.getString(path, config.getString(path)); } - public static String timingsUrl = "https://timings.pl3x.net"; -- private static void timingsSettings() { + private static void timingsSettings() { - timingsUrl = getString("settings.timings.url", timingsUrl); -- } -- - public static double laggingThreshold = 19.0D; - private static void tickLoopSettings() { - laggingThreshold = getDouble("settings.lagging-threshold", laggingThreshold); -@@ -162,4 +158,35 @@ public class PurpurConfig { + if (!TimingsManager.hiddenConfigs.contains("server-ip")) TimingsManager.hiddenConfigs.add("server-ip"); + } + +@@ -163,4 +163,35 @@ public class PurpurConfig { InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); } diff --git a/patches/server/0020-Optimize-TileEntity-load-unload.patch b/patches/server/0020-Optimize-TileEntity-load-unload.patch index 82c56802..b0fef966 100644 --- a/patches/server/0020-Optimize-TileEntity-load-unload.patch +++ b/patches/server/0020-Optimize-TileEntity-load-unload.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize TileEntity load/unload diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 3bbfb0117187a26354fa58ec46eeb6e62845851e..ed2f75195d7a39882675af9ff0a7e8e7d208f906 100644 +index af65e7fd2c3acac2627452f030bc973f8ad3ff54..be6e09d34977b26961d964ce72ccbc93fb3d21fa 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -42,8 +42,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch b/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch index 3d5f4f21..22e84005 100644 --- a/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch +++ b/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize some stuff in WorldServer ticking Replaced some streams and some array lists with glue lists diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 79142c74bd5c9751a0c5f2f326cdf8adf8d61301..b3385a1522c82998420efcf0d27ecb87da76d039 100644 +index a5eebf136e26e8c0b0b1f52e31793f1f11f27fe5..01a9f85e84cd581a1a2c28e2b96dd6c1e6a3ba6b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -960,12 +960,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -961,12 +961,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { this.server.getPlayerList().sendAll(new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.i, this.thunderLevel)); } // */ @@ -34,7 +34,7 @@ index 79142c74bd5c9751a0c5f2f326cdf8adf8d61301..b3385a1522c82998420efcf0d27ecb87 if (flag != this.isRaining()) { // Only send weather packets to those affected for (int idx = 0; idx < this.players.size(); ++idx) { -@@ -980,10 +989,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -981,10 +990,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { } } // CraftBukkit end @@ -47,7 +47,7 @@ index 79142c74bd5c9751a0c5f2f326cdf8adf8d61301..b3385a1522c82998420efcf0d27ecb87 // CraftBukkit start long l = this.worldData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (l - l % 24000L) - this.getDayTime()); -@@ -1153,9 +1161,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1154,9 +1162,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { } private void wakeupPlayers() { @@ -59,7 +59,7 @@ index 79142c74bd5c9751a0c5f2f326cdf8adf8d61301..b3385a1522c82998420efcf0d27ecb87 } // Paper start - optimise random block ticking -@@ -1918,8 +1926,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1919,8 +1927,9 @@ public class WorldServer extends World implements GeneratorAccessSeed { // Spigot start if ( entity instanceof EntityHuman ) { @@ -70,7 +70,7 @@ index 79142c74bd5c9751a0c5f2f326cdf8adf8d61301..b3385a1522c82998420efcf0d27ecb87 for (Object o : worldData.data.values() ) { if ( o instanceof WorldMap ) -@@ -1936,7 +1945,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1937,7 +1946,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } } } diff --git a/patches/server/0030-Highly-optimize-VillagePlace-filtering.patch b/patches/server/0030-Highly-optimize-VillagePlace-filtering.patch index cd414c21..600a7781 100644 --- a/patches/server/0030-Highly-optimize-VillagePlace-filtering.patch +++ b/patches/server/0030-Highly-optimize-VillagePlace-filtering.patch @@ -192,10 +192,10 @@ index f95925f1c5d091f1a129d0437bb6e175c6ac080f..11ba5c18d761f6cc76faa3e0f5de3d5b return StreamSupport.stream(new AbstractSpliterator((long) ((l - i + 1) * (i1 - j + 1) * (j1 - k + 1)), 64) { final CursorPosition a = new CursorPosition(i, j, k, l, i1, j1); diff --git a/src/main/java/net/minecraft/server/VillagePlace.java b/src/main/java/net/minecraft/server/VillagePlace.java -index 3c9668c9c30ea57c1608e32ece27ec56d580fc62..cd9c619dd038abafede98703946d37e53595af73 100644 +index 0094babbd59cc81554b9480088464d632824ae8e..5db147b5c602a00fa758ab5ddc8f18d9a5bbb6ad 100644 --- a/src/main/java/net/minecraft/server/VillagePlace.java +++ b/src/main/java/net/minecraft/server/VillagePlace.java -@@ -46,7 +46,7 @@ public class VillagePlace extends RegionFileSection { +@@ -47,7 +47,7 @@ public class VillagePlace extends RegionFileSection { } public long a(Predicate predicate, BlockPosition blockposition, int i, VillagePlace.Occupancy villageplace_occupancy) { @@ -204,7 +204,7 @@ index 3c9668c9c30ea57c1608e32ece27ec56d580fc62..cd9c619dd038abafede98703946d37e5 } public boolean a(VillagePlaceType villageplacetype, BlockPosition blockposition) { -@@ -67,6 +67,39 @@ public class VillagePlace extends RegionFileSection { +@@ -68,6 +68,39 @@ public class VillagePlace extends RegionFileSection { }); } @@ -244,7 +244,7 @@ index 3c9668c9c30ea57c1608e32ece27ec56d580fc62..cd9c619dd038abafede98703946d37e5 public Stream c(Predicate predicate, BlockPosition blockposition, int i, VillagePlace.Occupancy villageplace_occupancy) { int j = i * i; -@@ -83,10 +116,28 @@ public class VillagePlace extends RegionFileSection { +@@ -84,10 +117,28 @@ public class VillagePlace extends RegionFileSection { }); } @@ -273,7 +273,7 @@ index 3c9668c9c30ea57c1608e32ece27ec56d580fc62..cd9c619dd038abafede98703946d37e5 public Stream b(Predicate predicate, Predicate predicate1, BlockPosition blockposition, int i, VillagePlace.Occupancy villageplace_occupancy) { return this.a(predicate, predicate1, blockposition, i, villageplace_occupancy).sorted(Comparator.comparingDouble((blockposition1) -> { return blockposition1.j(blockposition); -@@ -94,31 +145,68 @@ public class VillagePlace extends RegionFileSection { +@@ -95,31 +146,68 @@ public class VillagePlace extends RegionFileSection { } public Optional c(Predicate predicate, Predicate predicate1, BlockPosition blockposition, int i, VillagePlace.Occupancy villageplace_occupancy) { @@ -344,7 +344,7 @@ index 3c9668c9c30ea57c1608e32ece27ec56d580fc62..cd9c619dd038abafede98703946d37e5 } public boolean b(BlockPosition blockposition) { -@@ -211,7 +299,7 @@ public class VillagePlace extends RegionFileSection { +@@ -213,7 +301,7 @@ public class VillagePlace extends RegionFileSection { } private void a(ChunkSection chunksection, SectionPosition sectionposition, BiConsumer biconsumer) { @@ -353,7 +353,7 @@ index 3c9668c9c30ea57c1608e32ece27ec56d580fc62..cd9c619dd038abafede98703946d37e5 IBlockData iblockdata = chunksection.getType(SectionPosition.b(blockposition.getX()), SectionPosition.b(blockposition.getY()), SectionPosition.b(blockposition.getZ())); VillagePlaceType.b(iblockdata).ifPresent((villageplacetype) -> { -@@ -221,6 +309,16 @@ public class VillagePlace extends RegionFileSection { +@@ -223,6 +311,16 @@ public class VillagePlace extends RegionFileSection { } public void a(IWorldReader iworldreader, BlockPosition blockposition, int i) { @@ -370,7 +370,7 @@ index 3c9668c9c30ea57c1608e32ece27ec56d580fc62..cd9c619dd038abafede98703946d37e5 SectionPosition.b(new ChunkCoordIntPair(blockposition), Math.floorDiv(i, 16)).map((sectionposition) -> { return Pair.of(sectionposition, this.d(sectionposition.s())); }).filter((pair) -> { -@@ -232,6 +330,7 @@ public class VillagePlace extends RegionFileSection { +@@ -234,6 +332,7 @@ public class VillagePlace extends RegionFileSection { }).forEach((chunkcoordintpair) -> { iworldreader.getChunkAt(chunkcoordintpair.x, chunkcoordintpair.z, ChunkStatus.EMPTY); }); diff --git a/patches/server/0031-Optimise-portals.patch b/patches/server/0031-Optimise-portals.patch index daba0d16..bb547f6c 100644 --- a/patches/server/0031-Optimise-portals.patch +++ b/patches/server/0031-Optimise-portals.patch @@ -45,10 +45,10 @@ index e10995ec30dd9a10d781b3c1709fd2db5a9becdd..456af55b5908f7192a63c6b15fb93a34 return optional.map((villageplacerecord) -> { BlockPosition blockposition1 = villageplacerecord.f(); diff --git a/src/main/java/net/minecraft/server/VillagePlace.java b/src/main/java/net/minecraft/server/VillagePlace.java -index cd9c619dd038abafede98703946d37e53595af73..1ddd7c7d3a7d331e3a37c11cd345089146c112e0 100644 +index 5db147b5c602a00fa758ab5ddc8f18d9a5bbb6ad..a92bdf5ceece3160d31039360b39b935c30f3ff7 100644 --- a/src/main/java/net/minecraft/server/VillagePlace.java +++ b/src/main/java/net/minecraft/server/VillagePlace.java -@@ -80,6 +80,18 @@ public class VillagePlace extends RegionFileSection { +@@ -81,6 +81,18 @@ public class VillagePlace extends RegionFileSection { } return ret; } @@ -67,7 +67,7 @@ index cd9c619dd038abafede98703946d37e53595af73..1ddd7c7d3a7d331e3a37c11cd3450891 public java.util.List cList(Predicate predicate, BlockPosition pos, int i, VillagePlace.Occupancy occupancy) { int j = i * i; java.util.List ret = new java.util.ArrayList<>(); -@@ -333,6 +345,18 @@ public class VillagePlace extends RegionFileSection { +@@ -335,6 +347,18 @@ public class VillagePlace extends RegionFileSection { */ // Yatopia end } diff --git a/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch b/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch index 4d18b81d..fa1bf982 100644 --- a/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch +++ b/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch @@ -18,10 +18,10 @@ index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..f3494ac1ad659352ca5595adf9e6919b return this.size == 0 && this.pendingTasks.isEmpty(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index b3385a1522c82998420efcf0d27ecb87da76d039..6c39796e672a6412e85f69a6a3dfdb1037e51d30 100644 +index 01a9f85e84cd581a1a2c28e2b96dd6c1e6a3ba6b..8665081d5e545fcd43350b8f487721e05cf81aed 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1905,6 +1905,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { +@@ -1906,6 +1906,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { } // Paper end diff --git a/patches/server/0062-Configurable-enchanting-table-tick.patch b/patches/server/0061-Configurable-enchanting-table-tick.patch similarity index 96% rename from patches/server/0062-Configurable-enchanting-table-tick.patch rename to patches/server/0061-Configurable-enchanting-table-tick.patch index 412fb54d..65f1b9b1 100644 --- a/patches/server/0062-Configurable-enchanting-table-tick.patch +++ b/patches/server/0061-Configurable-enchanting-table-tick.patch @@ -19,7 +19,7 @@ index a60e0872d51aeb330bd5334e35f18ad0ed63834e..70239fa5ac05464606ad917b3c349815 this.y(); BlockPosition blockposition = this.getPosition(); diff --git a/src/main/java/net/minecraft/server/TileEntityEnchantTable.java b/src/main/java/net/minecraft/server/TileEntityEnchantTable.java -index c9066cb5f51cb2ad078aca3019e1df557062d286..46b18b6364645106b00bd4f1d721b8cd704ecabf 100644 +index 9b0c75332d9815657d96183e51e40cf14ee3ed75..e3de65b58a599b375b3be7470d918038b5379471 100644 --- a/src/main/java/net/minecraft/server/TileEntityEnchantTable.java +++ b/src/main/java/net/minecraft/server/TileEntityEnchantTable.java @@ -43,6 +43,7 @@ public class TileEntityEnchantTable extends TileEntity implements INamableTileEn diff --git a/patches/server/0063-Do-not-update-distance-map-when-animal-and-mob-spawn.patch b/patches/server/0062-Do-not-update-distance-map-when-animal-and-mob-spawn.patch similarity index 89% rename from patches/server/0063-Do-not-update-distance-map-when-animal-and-mob-spawn.patch rename to patches/server/0062-Do-not-update-distance-map-when-animal-and-mob-spawn.patch index 93eaea47..252db7d4 100644 --- a/patches/server/0063-Do-not-update-distance-map-when-animal-and-mob-spawn.patch +++ b/patches/server/0062-Do-not-update-distance-map-when-animal-and-mob-spawn.patch @@ -9,10 +9,10 @@ Licensed under Bukkit and CraftBukkit's original license, GPLv3 The following patch should be treated as it is licensed in GPLv3 diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 12d9b73ccc2f4406957932397746cac7902d650e..a0d4a175720a2285dca2eaee96fc614104a76bcc 100644 +index ecf5a01e47e2a61d88badce44adad30d6e755cfb..7ee7be7c69c80f72dadbb5296c49a6f07196f670 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -982,7 +982,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -974,7 +974,7 @@ public class ChunkProviderServer extends IChunkProvider { int l = this.chunkMapDistance.b(); // Paper start - per player mob spawning SpawnerCreature.d spawnercreature_d; // moved down diff --git a/patches/server/0064-Add-a-special-case-for-floodgate-and-offline-uuids.patch b/patches/server/0063-Add-a-special-case-for-floodgate-and-offline-uuids.patch similarity index 100% rename from patches/server/0064-Add-a-special-case-for-floodgate-and-offline-uuids.patch rename to patches/server/0063-Add-a-special-case-for-floodgate-and-offline-uuids.patch diff --git a/patches/server/0065-PaperPR-Fix-username-connecting-with-no-texture-bein.patch b/patches/server/0064-PaperPR-Fix-username-connecting-with-no-texture-bein.patch similarity index 100% rename from patches/server/0065-PaperPR-Fix-username-connecting-with-no-texture-bein.patch rename to patches/server/0064-PaperPR-Fix-username-connecting-with-no-texture-bein.patch diff --git a/patches/server/0066-Optimised-hallowen-checker.patch b/patches/server/0065-Optimised-hallowen-checker.patch similarity index 98% rename from patches/server/0066-Optimised-hallowen-checker.patch rename to patches/server/0065-Optimised-hallowen-checker.patch index f5505bb5..90bef89e 100644 --- a/patches/server/0066-Optimised-hallowen-checker.patch +++ b/patches/server/0065-Optimised-hallowen-checker.patch @@ -66,7 +66,7 @@ index 752e39ad94ea9e8254853a3fda846be2bd436918..f470650838ab0e349a7ffc79fcb4b844 this.dropChanceArmor[EnumItemSlot.HEAD.b()] = 0.0F; } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0d23591fffcda1f8121e7bc7a6aa00d088b6e80b..7b326635aac5b1e7fb6e3933d133d7e181b7541c 100644 +index 5bc6b4acb86fcc774d7d90308dc7e8d0f9c9ff77..9a16d30dccd7e73de54b3fad6447b3f59f91c1b6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1335,6 +1335,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Mon, 11 Jan 2021 11:33:17 +0200 Subject: [PATCH 2/7] Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 683b913 Updated Upstream (Paper) Purpur Changes: 475b232 Updated Upstream (Paper) --- Purpur | 2 +- Tuinity | 2 +- patches/server/0001-Yatopia-Server-Fixes.patch | 14 +++++++------- patches/server/0011-Modify-default-configs.patch | 4 ++-- patches/server/0025-Fix-lead-fall-dmg-config.patch | 2 +- ...ptimize-some-stuff-in-WorldServer-ticking.patch | 2 +- .../0036-Fix-LightEngineThreaded-memory-leak.patch | 2 +- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Purpur b/Purpur index 4a9c0163..475b2325 160000 --- a/Purpur +++ b/Purpur @@ -1 +1 @@ -Subproject commit 4a9c0163d9d5048f14c74d24a0d5e73fdaebb1f6 +Subproject commit 475b2325618cf556c8d0184090e3ea31a8f3bcb5 diff --git a/Tuinity b/Tuinity index e76c58ef..683b9139 160000 --- a/Tuinity +++ b/Tuinity @@ -1 +1 @@ -Subproject commit e76c58ef41cbc3df4296c367eb1ee302aa1e21ee +Subproject commit 683b91397dd2c2cdc8164b0f2a26e1d8963268ce diff --git a/patches/server/0001-Yatopia-Server-Fixes.patch b/patches/server/0001-Yatopia-Server-Fixes.patch index 51b45ab0..dfaa5ae6 100644 --- a/patches/server/0001-Yatopia-Server-Fixes.patch +++ b/patches/server/0001-Yatopia-Server-Fixes.patch @@ -142,14 +142,13 @@ index 2291135eaef64c403183724cb6e413cd7e472672..6fcc7ed7c129e6a33386d65b37cbba4a public static long a(long i, EnumDirection enumdirection) { return a(i, enumdirection.getAdjacentX(), enumdirection.getAdjacentY(), enumdirection.getAdjacentZ()); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 781d74cf7e3669d71727cce781a8f8ce088c5547..bb7170e4f82f2f0d0046ceed95ac6a2622b9852f 100644 +index 781d74cf7e3669d71727cce781a8f8ce088c5547..7a25349d59d454c43453726f6f44b16a3e90e681 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -52,6 +52,17 @@ public class Chunk implements IChunkAccess { - private Consumer v; +@@ -53,6 +53,17 @@ public class Chunk implements IChunkAccess { private final ChunkCoordIntPair loc; public final long coordinateKey; public final int locX; public final int locZ; // Paper - cache coordinate key private volatile boolean x; -+ + + // AirplaneL start - instead of using a random every time the chunk is ticked, define when lightning strikes preemptively + private int lightningTick = -1; + public boolean shouldDoLightning() { @@ -160,9 +159,10 @@ index 781d74cf7e3669d71727cce781a8f8ce088c5547..bb7170e4f82f2f0d0046ceed95ac6a26 + return doTick; + } + // AirplaneL end - ++ public Chunk(World world, ChunkCoordIntPair chunkcoordintpair, BiomeStorage biomestorage) { this(world, chunkcoordintpair, biomestorage, ChunkConverter.a, TickListEmpty.b(), TickListEmpty.b(), 0L, (ChunkSection[]) null, (Consumer) null); + } diff --git a/src/main/java/net/minecraft/server/Chunk.java.rej b/src/main/java/net/minecraft/server/Chunk.java.rej deleted file mode 100644 index 6a63cbff4fcd1ebcc23910a8ae4f400df0e51351..0000000000000000000000000000000000000000 @@ -244,7 +244,7 @@ index 86f1cfe454ea0a989775b49a6b88375c766ef647..da53af61d1171db3c167c6e007adf953 if (!(this.k instanceof EntityPlayer)) { throw CommandListenerWrapper.a.create(); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 77100ab382b33aef8b2194b611c0b1d454da91fd..1ece3e1e9e7a26f1ee07202916687f627c9e4c95 100644 +index 59caf8aff5e4735b59d6b826a364f77889f9ce06..e809f24a62bd554bda93b8fc1fa79a6f28307364 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -434,7 +434,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -513,7 +513,7 @@ index 39dce006ebf2bd81a9d6c62c25eb9bd55d24199e..00000000000000000000000000000000 - } - // Spigot Start diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 5ee0f3680b191e8522b07b522d073f804f2bf43e..a5eebf136e26e8c0b0b1f52e31793f1f11f27fe5 100644 +index 15ea85f42fbda6e2d25bd15009156b21571fa513..14f206d1bae202e26fd9c5ea0b9e3ff2a686c12e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -181,6 +181,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0011-Modify-default-configs.patch b/patches/server/0011-Modify-default-configs.patch index a2e0f278..ca4cd5aa 100644 --- a/patches/server/0011-Modify-default-configs.patch +++ b/patches/server/0011-Modify-default-configs.patch @@ -18,10 +18,10 @@ index ce14283dd1a1fddbea17c2fbaf1c4ef9d7a7479f..4a21a83c448355d61fb946bd0eb5d752 TimingsManager.privacy = getBoolean("timings.server-name-privacy", false); TimingsManager.hiddenConfigs = getList("timings.hidden-config-entries", Lists.newArrayList("database", "settings.bungeecord-addresses", "settings.velocity-support.secret")); diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5b2077c90e2a3010a6a596d7e3551e791e670d16..fd0f3d6ddea9d0a6f3fd3bba041d5ed60bddb13c 100644 +index 0ba5734e60467e34c73d4ed92f5a030af9817582..cbbe6349d9c1cb662a0891cf4eeb2556ff6a5294 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -624,7 +624,7 @@ public class PaperWorldConfig { +@@ -626,7 +626,7 @@ public class PaperWorldConfig { } public boolean cooldownHopperWhenFull = true; diff --git a/patches/server/0025-Fix-lead-fall-dmg-config.patch b/patches/server/0025-Fix-lead-fall-dmg-config.patch index f2c84219..459010aa 100644 --- a/patches/server/0025-Fix-lead-fall-dmg-config.patch +++ b/patches/server/0025-Fix-lead-fall-dmg-config.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix lead fall dmg config diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 1ece3e1e9e7a26f1ee07202916687f627c9e4c95..540bd5ccb01789d9130ea64a78dc125f94f94bb6 100644 +index e809f24a62bd554bda93b8fc1fa79a6f28307364..a141f8d201f7512f9a3d43217cec5edc775196b1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1301,6 +1301,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch b/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch index 22e84005..96650cb8 100644 --- a/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch +++ b/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize some stuff in WorldServer ticking Replaced some streams and some array lists with glue lists diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index a5eebf136e26e8c0b0b1f52e31793f1f11f27fe5..01a9f85e84cd581a1a2c28e2b96dd6c1e6a3ba6b 100644 +index 14f206d1bae202e26fd9c5ea0b9e3ff2a686c12e..ab7200f6febabce80239f88c9e1732b42ae53f1f 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -961,12 +961,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch b/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch index fa1bf982..3c39cb11 100644 --- a/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch +++ b/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch @@ -18,7 +18,7 @@ index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..f3494ac1ad659352ca5595adf9e6919b return this.size == 0 && this.pendingTasks.isEmpty(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 01a9f85e84cd581a1a2c28e2b96dd6c1e6a3ba6b..8665081d5e545fcd43350b8f487721e05cf81aed 100644 +index ab7200f6febabce80239f88c9e1732b42ae53f1f..3d1790125f9759c79856f62b24b8ed0f48c9e7aa 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1906,6 +1906,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { From 86c42a4fe1198dd3e4e0cfd2426a9187b9b308d8 Mon Sep 17 00:00:00 2001 From: Ivan Pekov Date: Wed, 13 Jan 2021 08:17:16 +0200 Subject: [PATCH 3/7] Updated Upstream and Sidestream(s) (Tuinity/EMC/Origami/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 53d9870 Updated Upstream (Paper) EMC Changes: 541b7328 Updated Paper Origami Changes: 14a141e Update Paper Purpur Changes: 17e9e39 Fix short enderman height - EntityTypes now loads before configs 8bfb9f5 Updated Upstream (Paper) 885092f Updated Upstream (Paper) e126e38 Fix villager boat exploit --- Empirecraft | 2 +- Origami | 2 +- Purpur | 2 +- Tuinity | 2 +- patches/server/0001-Yatopia-Server-Fixes.patch | 10 +++++----- patches/server/0003-Brandings.patch | 8 ++++---- patches/server/0007-Yatopia-configuration.patch | 2 +- .../server/0020-Optimize-TileEntity-load-unload.patch | 2 +- .../0034-Stop-wasting-resources-on-JsonList-get.patch | 6 +++--- .../0037-Respect-PlayerKickEvent-leaveMessage.patch | 4 ++-- ...ly-optimize-recipe-lookups-in-CraftingManager.patch | 4 ++-- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Empirecraft b/Empirecraft index a841b5a5..541b7328 160000 --- a/Empirecraft +++ b/Empirecraft @@ -1 +1 @@ -Subproject commit a841b5a54e163bd6c9e1f9ab3c1d7876b932521f +Subproject commit 541b73285e0206794d1bac040a8c6a6ffc92b400 diff --git a/Origami b/Origami index 2cff647f..14a141e5 160000 --- a/Origami +++ b/Origami @@ -1 +1 @@ -Subproject commit 2cff647f8537ebee911d8bcd52c70e3fc1cb5677 +Subproject commit 14a141e585046f29dca4d672b04d77736e810c3a diff --git a/Purpur b/Purpur index 475b2325..17e9e393 160000 --- a/Purpur +++ b/Purpur @@ -1 +1 @@ -Subproject commit 475b2325618cf556c8d0184090e3ea31a8f3bcb5 +Subproject commit 17e9e393700920bfa43e8437f0427c1c394b50dc diff --git a/Tuinity b/Tuinity index 683b9139..53d98709 160000 --- a/Tuinity +++ b/Tuinity @@ -1 +1 @@ -Subproject commit 683b91397dd2c2cdc8164b0f2a26e1d8963268ce +Subproject commit 53d98709f8abd035090bd4fedeb838a2939ebbdb diff --git a/patches/server/0001-Yatopia-Server-Fixes.patch b/patches/server/0001-Yatopia-Server-Fixes.patch index dfaa5ae6..8afdc7d1 100644 --- a/patches/server/0001-Yatopia-Server-Fixes.patch +++ b/patches/server/0001-Yatopia-Server-Fixes.patch @@ -420,7 +420,7 @@ index dd52a8fe4fd46e57a5d1af49ba1965a483cf4fcc..00000000000000000000000000000000 - IChunkAccess ichunkaccess = iworldreader.getChunkAt(chunkcoordintpair.x, chunkcoordintpair.z, ChunkStatus.STRUCTURE_STARTS, !(iworldreader instanceof World) || !((World) iworldreader).origamiConfig.onlyFindGeneratedFeatures); - if (ichunkaccess == null) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 1ab3d205ae20a9674ee3d13c42fd7bc3c52e5503..af65e7fd2c3acac2627452f030bc973f8ad3ff54 100644 +index d0924d78a33f397b9c334f363e6f239c5e5f85a0..2cdfcec68ee66915ea72cccded5f1a2d50c04c30 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -96,6 +96,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -600,7 +600,7 @@ index 750637ecdd44dacac2b7c83a1701d795309d5583..081dc7a2a4a5d80da868b1080b212ddc } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java.rej b/src/main/java/net/pl3x/purpur/PurpurConfig.java.rej deleted file mode 100644 -index ccee2c7ae135a3a532f76b44d7d3ad6db7e8c387..0000000000000000000000000000000000000000 +index 0635030ba4c1cea7961238bb0c0be39d8c5a7d50..0000000000000000000000000000000000000000 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java.rej +++ /dev/null @@ -1,27 +0,0 @@ @@ -611,9 +611,9 @@ index ccee2c7ae135a3a532f76b44d7d3ad6db7e8c387..00000000000000000000000000000000 - import co.aikar.timings.TimingsManager; -+import com.destroystokyo.paper.PaperConfig; - import com.google.common.base.Throwables; -- import net.minecraft.server.MinecraftServer; -- import net.pl3x.purpur.command.PurpurCommand; --@@ -130,6 +131,17 @@ public class PurpurConfig { +- import net.minecraft.server.EntitySize; +- import net.minecraft.server.EntityTypes; +-@@ -132,6 +133,17 @@ public class PurpurConfig { - return config.getString(path, config.getString(path)); - } - diff --git a/patches/server/0003-Brandings.patch b/patches/server/0003-Brandings.patch index 2abd54d9..1b68c92e 100644 --- a/patches/server/0003-Brandings.patch +++ b/patches/server/0003-Brandings.patch @@ -104,7 +104,7 @@ index 001b1e5197eaa51bfff9031aa6c69876c9a47960..bd5d7508b1c44fba776c5d7fa4454ff5 if (stream != null) { diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java -index 4d310908489953d6d061b2358f614142edacb62e..121e7cd534558dcc249fb9a3bffbd22fb436fba5 100644 +index 58d01c6f8abcd9e1792495abd08b186f9d03f834..476939bde38246eb0fd96e6a4ba8076c9d1b0ff4 100644 --- a/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java @@ -26,7 +26,7 @@ public class WatchdogThread extends Thread @@ -116,7 +116,7 @@ index 4d310908489953d6d061b2358f614142edacb62e..121e7cd534558dcc249fb9a3bffbd22f this.timeoutTime = timeoutTime; this.restart = restart; earlyWarningEvery = Math.min(PaperConfig.watchdogPrintEarlyWarningEvery, timeoutTime); // Paper -@@ -158,14 +158,14 @@ public class WatchdogThread extends Thread +@@ -162,14 +162,14 @@ public class WatchdogThread extends Thread if (isLongTimeout) { // Paper end log.log( Level.SEVERE, "------------------------------" ); @@ -134,7 +134,7 @@ index 4d310908489953d6d061b2358f614142edacb62e..121e7cd534558dcc249fb9a3bffbd22f // if ( net.minecraft.server.World.lastPhysicsProblem != null ) { -@@ -188,12 +188,12 @@ public class WatchdogThread extends Thread +@@ -192,12 +192,12 @@ public class WatchdogThread extends Thread // Paper end } else { @@ -149,7 +149,7 @@ index 4d310908489953d6d061b2358f614142edacb62e..121e7cd534558dcc249fb9a3bffbd22f ChunkTaskManager.dumpAllChunkLoadInfo(); // Paper this.dumpTickingInfo(); // Tuinity - log detailed tick information dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( server.serverThread.getId(), Integer.MAX_VALUE ), log ); -@@ -209,7 +209,7 @@ public class WatchdogThread extends Thread +@@ -213,7 +213,7 @@ public class WatchdogThread extends Thread dumpThread( thread, log ); } } else { diff --git a/patches/server/0007-Yatopia-configuration.patch b/patches/server/0007-Yatopia-configuration.patch index 563ef9c3..6debe496 100644 --- a/patches/server/0007-Yatopia-configuration.patch +++ b/patches/server/0007-Yatopia-configuration.patch @@ -67,7 +67,7 @@ index 7034da84c5534d5e1acff645dc9e7d60ddf315fb..b1fa51050ca3deb9a7cfc732d5415010 if (this.isFireProof() || this.world.isClientSide) { this.extinguish(); diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 528072b27060becb37f73fa9b50bac6e3d2b2232..d56ca11a30faeb4f1346b853f50c25f46e3bd49e 100644 +index a94f6ed40b9cb5f4b1ac021d9d3ee0d53ea7a40f..67f17d5de8affec750c6c861db48ec4d1558b58b 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -188,7 +188,7 @@ public abstract class PlayerList { diff --git a/patches/server/0020-Optimize-TileEntity-load-unload.patch b/patches/server/0020-Optimize-TileEntity-load-unload.patch index b0fef966..5c650735 100644 --- a/patches/server/0020-Optimize-TileEntity-load-unload.patch +++ b/patches/server/0020-Optimize-TileEntity-load-unload.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize TileEntity load/unload diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index af65e7fd2c3acac2627452f030bc973f8ad3ff54..be6e09d34977b26961d964ce72ccbc93fb3d21fa 100644 +index 2cdfcec68ee66915ea72cccded5f1a2d50c04c30..5759d5e472c089b57ffe9a94c617459ebce77547 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -42,8 +42,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { diff --git a/patches/server/0034-Stop-wasting-resources-on-JsonList-get.patch b/patches/server/0034-Stop-wasting-resources-on-JsonList-get.patch index 1ef598b9..7004af21 100644 --- a/patches/server/0034-Stop-wasting-resources-on-JsonList-get.patch +++ b/patches/server/0034-Stop-wasting-resources-on-JsonList-get.patch @@ -55,10 +55,10 @@ index 4094ef76b7b05de1bfcc28aa0ef13033abadeb7e..0224a6d0e47e836fa485b39e7b4ce5b8 Throwable throwable = null; diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index d56ca11a30faeb4f1346b853f50c25f46e3bd49e..d52985bc8236ba78b9530b4465e1f6de895f3b72 100644 +index 67f17d5de8affec750c6c861db48ec4d1558b58b..0fa95fa3a18c4f0e47c2becd01cf236a3acb4e82 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -638,6 +638,7 @@ public abstract class PlayerList { +@@ -647,6 +647,7 @@ public abstract class PlayerList { GameProfileBanEntry gameprofilebanentry; if (getProfileBans().isBanned(gameprofile) && (gameprofilebanentry = getProfileBans().get(gameprofile)) != null) { // Paper end @@ -66,7 +66,7 @@ index d56ca11a30faeb4f1346b853f50c25f46e3bd49e..d52985bc8236ba78b9530b4465e1f6de chatmessage = new ChatMessage("multiplayer.disconnect.banned.reason", new Object[]{gameprofilebanentry.getReason()}); if (gameprofilebanentry.getExpires() != null) { -@@ -645,7 +646,11 @@ public abstract class PlayerList { +@@ -654,7 +655,11 @@ public abstract class PlayerList { } // return chatmessage; diff --git a/patches/server/0037-Respect-PlayerKickEvent-leaveMessage.patch b/patches/server/0037-Respect-PlayerKickEvent-leaveMessage.patch index ce5ef26d..5c4d9d51 100644 --- a/patches/server/0037-Respect-PlayerKickEvent-leaveMessage.patch +++ b/patches/server/0037-Respect-PlayerKickEvent-leaveMessage.patch @@ -39,7 +39,7 @@ index 9d058ddf875e660cb3bd5209e5ddbf1a7abbd04c..63bceb9f1695ce4db5b932ca627d9445 this.minecraftServer.getPlayerList().sendMessage(CraftChatMessage.fromString(quitMessage)); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index d52985bc8236ba78b9530b4465e1f6de895f3b72..6b7209a4a5128a2fa64442365a4e53c7cf866621 100644 +index 0fa95fa3a18c4f0e47c2becd01cf236a3acb4e82..6a0634322e4b86db2e33cef94c533dfee22e3244 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -499,6 +499,11 @@ public abstract class PlayerList { @@ -54,7 +54,7 @@ index d52985bc8236ba78b9530b4465e1f6de895f3b72..6b7209a4a5128a2fa64442365a4e53c7 WorldServer worldserver = entityplayer.getWorldServer(); entityplayer.a(StatisticList.LEAVE_GAME); -@@ -589,7 +594,7 @@ public abstract class PlayerList { +@@ -598,7 +603,7 @@ public abstract class PlayerList { cserver.getScoreboardManager().removePlayer(entityplayer.getBukkitEntity()); // CraftBukkit end diff --git a/patches/server/0048-Heavily-optimize-recipe-lookups-in-CraftingManager.patch b/patches/server/0048-Heavily-optimize-recipe-lookups-in-CraftingManager.patch index 380fb622..ef79a945 100644 --- a/patches/server/0048-Heavily-optimize-recipe-lookups-in-CraftingManager.patch +++ b/patches/server/0048-Heavily-optimize-recipe-lookups-in-CraftingManager.patch @@ -152,10 +152,10 @@ index 58ecbe1e20581dc9e78cdd2f4ece29cfa014da8a..3da86dc56f33e4f1900f6b4f66ca6696 for (Recipes recipeType : IRegistry.RECIPE_TYPE) { this.recipes.put(recipeType, new Object2ObjectLinkedOpenHashMap<>()); diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 5a62ac72edc49cd032cd02fa8d007959517d063b..391421214d2fcc0cb38ac42d053cc1c57545fa73 100644 +index 3adb29f004d2fee36f3ee9b21ee5417e84b64837..376ab1d4c4f729639714b5eeedec514a2176531a 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -575,6 +575,7 @@ public final class ItemStack { +@@ -570,6 +570,7 @@ public final class ItemStack { return !this.e() ? this.doMaterialsMatch(itemstack) : !itemstack.isEmpty() && this.getItem() == itemstack.getItem(); } From 99e3c5ddd8c977c9b37579b047bcc00c942192ed Mon Sep 17 00:00:00 2001 From: Ivan Pekov Date: Fri, 15 Jan 2021 16:20:46 +0200 Subject: [PATCH 4/7] Updated Upstream and Sidestream(s) (Tuinity/EMC/Origami/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: f4f7929 Updated Upstream (Paper) EMC Changes: bdbacfb3 Updated Paper a59be75b Convert item name/lore at time of creation properly Origami Changes: eb7662a Fix legacy code being accessible when disabling legacy support Purpur Changes: 7356e48 Fix stuck in portals 7f4c8f8 Updated Upstream (Paper) --- Empirecraft | 2 +- Origami | 2 +- PATCHES.md | 4 +- Purpur | 2 +- Tuinity | 2 +- patches/Purpur/server.txt | 2 +- .../server/0001-Yatopia-Server-Fixes.patch | 85 +++++++++++++------ patches/server/0003-Brandings.patch | 4 +- .../server/0006-Add-last-tick-time-API.patch | 6 +- .../server/0011-Modify-default-configs.patch | 4 +- .../0025-Fix-lead-fall-dmg-config.patch | 2 +- ...ze-some-stuff-in-WorldServer-ticking.patch | 2 +- ...-Fix-LightEngineThreaded-memory-leak.patch | 2 +- ...st-command-for-multiple-additions-re.patch | 4 +- ...0056-Configurable-criterion-triggers.patch | 2 +- .../0057-Configurable-BlockPhysicsEvent.patch | 4 +- patches/server/0058-Infinity-No-Arrows.patch | 2 +- .../0065-Optimised-hallowen-checker.patch | 4 +- 18 files changed, 83 insertions(+), 52 deletions(-) diff --git a/Empirecraft b/Empirecraft index 541b7328..bdbacfb3 160000 --- a/Empirecraft +++ b/Empirecraft @@ -1 +1 @@ -Subproject commit 541b73285e0206794d1bac040a8c6a6ffc92b400 +Subproject commit bdbacfb3b34bb5b706921bda88b4aea5917ea4df diff --git a/Origami b/Origami index 14a141e5..eb7662a1 160000 --- a/Origami +++ b/Origami @@ -1 +1 @@ -Subproject commit 14a141e585046f29dca4d672b04d77736e810c3a +Subproject commit eb7662a1f773df0c578fe1e5d8b0ba634ddde213 diff --git a/PATCHES.md b/PATCHES.md index 2be58136..dfb418e9 100644 --- a/PATCHES.md +++ b/PATCHES.md @@ -69,6 +69,7 @@ # Patches | server | Fix exp drop of zombie pigmen (MC-56653) | Phoenix616 | | | server | Fix lead fall dmg config | tr7zw | | | server | Fix rotating UP/DOWN CW and CCW | BillyGalbreath | | +| server | Fix stuck in portals | BillyGalbreath | | | server | Fix the dead lagging the server | William Blake Galbreath | | | server | Fix vanilla command permission handler | William Blake Galbreath | | | server | Global Eula file | tr7zw | | @@ -98,6 +99,7 @@ # Patches | server | Optimize Villagers | Ivan Pekov | | | server | Optimize advancement loading | Ivan Pekov | | | server | Optimize inventory API item handling | Phoenix616 | | +| server | Optimize random calls in chunk ticking | Paul Sauve | | | server | Optimize some stuff in WorldServer ticking | MrIvanPlays | | | server | Optimize whitelist command for multiple additions / removals | Ivan Pekov | | | server | Option for simpler Villagers | tr7zw | | @@ -105,7 +107,6 @@ # Patches | server | Origami Server Config | Phoenix616 | | | server | PaperPR - Add hex color code support for console logging | Esophose | | | server | PaperPR - Fix username connecting with no texture being | Camotoy | | -| server | PaperPR - Projectile load/save limit per chunk | jmp | | | server | Per entity (type) collision settings | MrIvanPlays | tr7zw | | server | Persistent TileEntity Lore and DisplayName | jmp | | | api | PlayerAttackEntityEvent | Ivan Pekov | | @@ -133,7 +134,6 @@ # Patches | server | Swap priority of checks in chunk ticking | Paul Sauve | | | server | Swaps the predicate order of collision | ㄗㄠˋ ㄑㄧˊ | | | server | Timings stuff | William Blake Galbreath | | -| server | Use faster random implementation | Mykyta Komarnytskyy | | | server | Use offline uuids if we need to | Ivan Pekov | | | server | Use unmodifiableMap instead of making copy | Paul Sauve | | | server | Utilities | YatopiaMC | Mykyta Komarnytskyy, Ivan Pekov | diff --git a/Purpur b/Purpur index 17e9e393..7356e484 160000 --- a/Purpur +++ b/Purpur @@ -1 +1 @@ -Subproject commit 17e9e393700920bfa43e8437f0427c1c394b50dc +Subproject commit 7356e484854ce5040ae94196da5a097ea704f348 diff --git a/Tuinity b/Tuinity index 53d98709..f4f79298 160000 --- a/Tuinity +++ b/Tuinity @@ -1 +1 @@ -Subproject commit 53d98709f8abd035090bd4fedeb838a2939ebbdb +Subproject commit f4f792980f94addade84924df035df486231a83d diff --git a/patches/Purpur/server.txt b/patches/Purpur/server.txt index 4a1f098c..04471a27 100644 --- a/patches/Purpur/server.txt +++ b/patches/Purpur/server.txt @@ -1 +1 @@ -Purpur-config-files&Timings-stuff&Add-component-util&Barrels-and-enderchests-6-rows&Lagging-threshold&Configurable-villager-brain-ticks&Alternative-Keepalive-Handling&MC-168772-Fix-Add-turtle-egg-block-options&Fix-vanilla-command-permission-handler&Fix-outdated-server-showing-in-ping-before-server-fu&Dont-send-useless-entity-packets&MC-147659-Fix-non-black-cats-spawning-in-swamp-huts&Cows-eat-mushrooms&Snowman-drop-and-put-back-pumpkin&Signs-editable-on-right-click&Signs-allow-color-codes&Allow-soil-to-moisten-from-water-directly-under-it&Option-to-toggle-milk-curing-bad-omen&Fix-the-dead-lagging-the-server&Skip-events-if-there-s-no-listeners&Add-permission-for-F3-N-debug&Allow-leashing-villagers&Implement-infinite-lava&Make-lava-flow-speed-configurable&PaperPR-Projectile-load-save-limit-per-chunk&Add-5-second-tps-average-in-tps&Entity-lifespan&Squid-EAR-immunity&Allow-anvil-colors&Add-no-tick-block-list&Add-option-to-disable-dolphin-treasure-searching&Stop-squids-floating-on-top-of-water&Despawn-rate-config-options-per-projectile-type&PaperPR-Add-hex-color-code-support-for-console-loggi&Persistent-TileEntity-Lore-and-DisplayName&Infinity-bow-settings&Allow-infinite-and-mending-enchantments-together&Add-twisting-and-weeping-vines-growth-rates&Config-migration-disable-saving-projectiles-to-disk-&Spread-out-and-optimise-player-list-ticks&Implement-TPSBar&Fix-rotating-UP-DOWN-CW-and-CCW \ No newline at end of file +Purpur-config-files&Timings-stuff&Add-component-util&Barrels-and-enderchests-6-rows&Lagging-threshold&Configurable-villager-brain-ticks&Alternative-Keepalive-Handling&MC-168772-Fix-Add-turtle-egg-block-options&Fix-vanilla-command-permission-handler&Fix-outdated-server-showing-in-ping-before-server-fu&Dont-send-useless-entity-packets&MC-147659-Fix-non-black-cats-spawning-in-swamp-huts&Cows-eat-mushrooms&Snowman-drop-and-put-back-pumpkin&Signs-editable-on-right-click&Signs-allow-color-codes&Allow-soil-to-moisten-from-water-directly-under-it&Option-to-toggle-milk-curing-bad-omen&Fix-the-dead-lagging-the-server&Skip-events-if-there-s-no-listeners&Add-permission-for-F3-N-debug&Allow-leashing-villagers&Implement-infinite-lava&Make-lava-flow-speed-configurable&Add-5-second-tps-average-in-tps&Entity-lifespan&Squid-EAR-immunity&Allow-anvil-colors&Add-no-tick-block-list&Add-option-to-disable-dolphin-treasure-searching&Stop-squids-floating-on-top-of-water&Despawn-rate-config-options-per-projectile-type&PaperPR-Add-hex-color-code-support-for-console-loggi&Persistent-TileEntity-Lore-and-DisplayName&Infinity-bow-settings&Allow-infinite-and-mending-enchantments-together&Add-twisting-and-weeping-vines-growth-rates&Config-migration-disable-saving-projectiles-to-disk-&Spread-out-and-optimise-player-list-ticks&Implement-TPSBar&Fix-rotating-UP-DOWN-CW-and-CCW&Fix-stuck-in-portals \ No newline at end of file diff --git a/patches/server/0001-Yatopia-Server-Fixes.patch b/patches/server/0001-Yatopia-Server-Fixes.patch index 8afdc7d1..eceef367 100644 --- a/patches/server/0001-Yatopia-Server-Fixes.patch +++ b/patches/server/0001-Yatopia-Server-Fixes.patch @@ -244,7 +244,7 @@ index 86f1cfe454ea0a989775b49a6b88375c766ef647..da53af61d1171db3c167c6e007adf953 if (!(this.k instanceof EntityPlayer)) { throw CommandListenerWrapper.a.create(); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 59caf8aff5e4735b59d6b826a364f77889f9ce06..e809f24a62bd554bda93b8fc1fa79a6f28307364 100644 +index 59caf8aff5e4735b59d6b826a364f77889f9ce06..5c213ee7fc4ef65d118a253d306f549aba6a4d7a 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -434,7 +434,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -256,6 +256,45 @@ index 59caf8aff5e4735b59d6b826a364f77889f9ce06..e809f24a62bd554bda93b8fc1fa79a6f } protected void af() { +@@ -2409,12 +2409,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + return new Vec2F(this.pitch, this.yaw); + } + ++ public BlockPosition portalPos = BlockPosition.ZERO; // Purpur + public void d(BlockPosition blockposition) { + if (this.ai()) { ++ if (!(world.purpurConfig.playerFixStuckPortal && this instanceof EntityPlayer && !blockposition.equals(portalPos))) // Purpur + this.resetPortalCooldown(); + } else { + if (!this.world.isClientSide && !blockposition.equals(this.ac)) { + this.ac = blockposition.immutableCopy(); ++ portalPos = BlockPosition.ZERO; // Purpur + } + + this.inPortal = true; +diff --git a/src/main/java/net/minecraft/server/Entity.java.rej b/src/main/java/net/minecraft/server/Entity.java.rej +deleted file mode 100644 +index 38dc8171d74f62287c1ac9b04f90ff8d000f1bf1..0000000000000000000000000000000000000000 +--- a/src/main/java/net/minecraft/server/Entity.java.rej ++++ /dev/null +@@ -1,17 +0,0 @@ +-diff a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java (rejected hunks) +-@@ -2419,12 +2419,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +- return new Vec2F(this.pitch, this.yaw); +- } +- +-+ public BlockPosition portalPos = BlockPosition.ZERO; // Purpur +- public void d(BlockPosition blockposition) { +- if (this.ai()) { +-+ if (!(world.purpurConfig.playerFixStuckPortal && this instanceof EntityPlayer && !blockposition.equals(portalPos))) // Purpur +- this.resetPortalCooldown(); +- } else if (world.purpurConfig.entitiesCanUsePortals || this instanceof EntityPlayer) { // Purpur +- if (!this.world.isClientSide && !blockposition.equals(this.ac)) { +- this.ac = blockposition.immutableCopy(); +-+ portalPos = BlockPosition.ZERO; // Purpur +- } +- +- this.inPortal = true; diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java index 171e8553a339eb3c995369f274de86b824183ca6..4103f3c39e2ed7466824e8fecbb8d21b515b5f01 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java @@ -513,7 +552,7 @@ index 39dce006ebf2bd81a9d6c62c25eb9bd55d24199e..00000000000000000000000000000000 - } - // Spigot Start diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 15ea85f42fbda6e2d25bd15009156b21571fa513..14f206d1bae202e26fd9c5ea0b9e3ff2a686c12e 100644 +index 56623da6cef58ec3d0ab81643470ce776d8b2484..10784bc7f5e68305b7ad10afdf8cb28cbdd72ae7 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -181,6 +181,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -632,7 +671,7 @@ index 0635030ba4c1cea7961238bb0c0be39d8c5a7d50..00000000000000000000000000000000 - public static String afkBroadcastBack = "§e§o%s is no longer AFK"; - public static String afkTabListPrefix = "[AFK] "; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 361f7857e461578e90cb71e15027dadaf794cb69..5f0491a7cd6bb7e94cc5652be24d9bc111bb8035 100644 +index 361f7857e461578e90cb71e15027dadaf794cb69..e86ccbd36250f4229ce62319a59889bc0ac5befb 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1,7 +1,15 @@ @@ -651,7 +690,7 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..5f0491a7cd6bb7e94cc5652be24d9bc1 import static net.pl3x.purpur.PurpurConfig.log; public class PurpurWorldConfig { -@@ -56,4 +64,167 @@ public class PurpurWorldConfig { +@@ -56,4 +64,172 @@ public class PurpurWorldConfig { PurpurConfig.config.addDefault("world-settings.default." + path, def); return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path)); } @@ -817,40 +856,32 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..5f0491a7cd6bb7e94cc5652be24d9bc1 + lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); + lavaInfinite = getBoolean("blocks.lava.infinite-source", lavaInfinite); + lavaInfiniteRequiredSources = getInt("blocks.lava.infinite-required-sources", lavaInfiniteRequiredSources); ++ } ++ ++ public boolean playerFixStuckPortal = false; ++ private void playerFixStuckPortal() { ++ playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal); + } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java.rej b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java.rej deleted file mode 100644 -index ad57dcdf457379d3282e710874808a6cebd3c17f..0000000000000000000000000000000000000000 +index cce11dd0fb26d57015a14d56616fd4505c58237b..0000000000000000000000000000000000000000 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java.rej +++ /dev/null -@@ -1,26 +0,0 @@ +@@ -1,13 +0,0 @@ -diff a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java (rejected hunks) --@@ -1,5 +1,6 @@ -- package net.pl3x.purpur; -- --+import com.destroystokyo.paper.PaperConfig; -- import net.minecraft.server.Block; -- import net.minecraft.server.Blocks; -- import net.minecraft.server.EnumDifficulty; --@@ -84,6 +85,17 @@ public class PurpurWorldConfig { -- return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path)); +-@@ -332,6 +332,11 @@ public class PurpurWorldConfig { +- }); - } - --+ private void migrateDisableProjectileSaving() { --+ if (PurpurConfig.version < 6) { --+ final boolean saveProjectilesToDisk = PurpurConfig.config.getBoolean("world-settings." + worldName + ".gameplay-mechanics.save-projectiles-to-disk", true); --+ PurpurConfig.config.set("world-settings." + worldName + ".gameplay-mechanics.save-projectiles-to-disk", null); --+ if (!saveProjectilesToDisk) { --+ PaperConfig.config.set("world-settings." + worldName + ".projectile-load-save-per-chunk-limit", 0); --+ PaperConfig.saveConfig(); --+ } --+ } +-+ public boolean playerFixStuckPortal = false; +-+ private void playerFixStuckPortal() { +-+ playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal); -+ } -+ -- public boolean armorstandSetNameVisible = false; -- public boolean armorstandFixNametags = false; -- public float armorstandStepHeight = 0.0F; +- public boolean teleportIfOutsideBorder = false; +- private void teleportIfOutsideBorder() { +- teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 00e6b6f29e042fb48c2fc8009659c57e9a930abc..fcf2bf8962cf6bc33d4213c1101debae4afa7114 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/patches/server/0003-Brandings.patch b/patches/server/0003-Brandings.patch index 1b68c92e..1e377eac 100644 --- a/patches/server/0003-Brandings.patch +++ b/patches/server/0003-Brandings.patch @@ -39,10 +39,10 @@ index 74ed02fa9296583977bb721014b10ff8b708b43c..a13c7b2b5bc79ecaea404779149ed02c .completer(new ConsoleCommandCompleter(this.server)) ); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 97cece32f994db6ff1d88b740060996869648f3c..c929c3ecb2a8c9056cad0418b2266b47bd0bbcaf 100644 +index 788bee62121d9bbe0d68a617f3d41ff63be447dd..f998f3425c5f30908ad1d07fdaecffcdce97e318 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1519,7 +1519,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c929c3ecb2a8c9056cad0418b2266b47bd0bbcaf..a342a13f387b4079bfc983d500a0fde534891196 100644 +index f998f3425c5f30908ad1d07fdaecffcdce97e318..d4bd48f26299712b49dad06a76bc2a7322f49b63 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -931,6 +931,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 15 Jan 2021 18:01:03 +0200 Subject: [PATCH 5/7] [CI-SKIP] A way to sponsor our project Paypal donations are gonna be split. buymeacoffee directly supports me. --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..ea66723b --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ["https://www.buymeacoffee.com/MrIvanPlays", "https://paypal.me/IvanMrIvanPlays"] From 0fd5cd2d23cf257a2d88d1be77ea40f9acb1f612 Mon Sep 17 00:00:00 2001 From: Ivan Pekov Date: Sat, 16 Jan 2021 08:39:47 +0200 Subject: [PATCH 6/7] Update to 1.16.5 --- .gitmodules | 4 ++-- AirplaneLite | 2 +- Purpur | 2 +- README.md | 8 ++++---- SECURITY.md | 3 ++- Tuinity | 2 +- patches/api/0002-Modify-POM.patch | 4 ++-- .../api/0003-Add-GameProfileLookupEvent.patch | 2 +- ...005-Add-NBT-API-as-a-first-class-lib.patch | 4 ++-- .../server/0001-Yatopia-Server-Fixes.patch | 10 +++++----- patches/server/0002-Modify-POM.patch | 12 +++++------ patches/server/0003-Brandings.patch | 4 ++-- patches/server/0004-Utilities.patch | 4 ++-- .../server/0006-Add-last-tick-time-API.patch | 2 +- .../server/0007-Yatopia-configuration.patch | 2 +- ...8-Per-entity-type-collision-settings.patch | 2 +- ...010-Add-NBT-API-as-a-first-class-lib.patch | 4 ++-- .../server/0012-lithium-MixinDirection.patch | 2 +- patches/server/0014-lithium-enum_values.patch | 2 +- .../0018-Option-for-simpler-Villagers.patch | 2 +- .../0025-Fix-lead-fall-dmg-config.patch | 2 +- ...ze-some-stuff-in-WorldServer-ticking.patch | 2 +- ...0029-Use-offline-uuids-if-we-need-to.patch | 2 +- ...ghly-optimize-VillagePlace-filtering.patch | 20 +++++++++---------- patches/server/0031-Optimise-portals.patch | 4 ++-- ...-Fix-LightEngineThreaded-memory-leak.patch | 2 +- ...st-command-for-multiple-additions-re.patch | 4 ++-- .../server/0041-PlayerAttackEntityEvent.patch | 2 +- ...ze-recipe-lookups-in-CraftingManager.patch | 2 +- .../0055-Smarter-statistics-ticking.patch | 2 +- ...0056-Configurable-criterion-triggers.patch | 2 +- .../0057-Configurable-BlockPhysicsEvent.patch | 2 +- patches/server/0058-Infinity-No-Arrows.patch | 2 +- .../0065-Optimised-hallowen-checker.patch | 2 +- scripts/fetchUpstream.sh | 6 +++--- 35 files changed, 67 insertions(+), 66 deletions(-) diff --git a/.gitmodules b/.gitmodules index 4d159aca..f2e40816 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "Tuinity"] path = Tuinity url = https://github.com/YatopiaMC/Yatopia-Tuninty.git - branch = ver/1.16.4 + branch = ver/1.16.5 [submodule "Akarin"] path = Akarin url = https://github.com/Akarin-project/Akarin.git @@ -9,7 +9,7 @@ [submodule "Purpur"] path = Purpur url = https://github.com/pl3xgaming/Purpur.git - branch = ver/1.16.4 + branch = ver/1.16.5 [submodule "Empirecraft"] path = Empirecraft url = https://github.com/starlis/empirecraft.git diff --git a/AirplaneLite b/AirplaneLite index 36cc1d30..296f9531 160000 --- a/AirplaneLite +++ b/AirplaneLite @@ -1 +1 @@ -Subproject commit 36cc1d30d44e7148a9eb46230e405d000867bae5 +Subproject commit 296f9531bd40d8210d14d863bc41127bf9fcd036 diff --git a/Purpur b/Purpur index 7356e484..ba421382 160000 --- a/Purpur +++ b/Purpur @@ -1 +1 @@ -Subproject commit 7356e484854ce5040ae94196da5a097ea704f348 +Subproject commit ba4213825991acd0b14ea2930c597bd019be4de7 diff --git a/README.md b/README.md index 9f4a07ca..fdb0d9bc 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@

Yatopia

[![Github-CI](https://github.com/YatopiaMC/Yatopia/workflows/CI/badge.svg)](https://github.com/YatopiaMC/Yatopia/actions?query=workflow%3ACI) -[![CodeMC](https://ci.codemc.io/buildStatus/icon?job=YatopiaMC%2FYatopia%2Fver%252F1.16.4)](https://ci.codemc.io/job/YatopiaMC/job/Yatopia/job/ver%252F1.16.4/) +[![CodeMC](https://ci.codemc.io/buildStatus/icon?job=YatopiaMC%2FYatopia%2Fver%252F1.16.5)](https://ci.codemc.io/job/YatopiaMC/job/Yatopia/job/ver%252F1.16.5/) [![Discord](https://img.shields.io/discord/342814924310970398?color=%237289DA&label=Discord&logo=discord&logoColor=white)](https://discord.io/YatopiaMC) -[![API](https://img.shields.io/website?down_color=lightgrey&down_message=offline&label=API&up_color=green&up_message=online&url=http%3A%2F%2Fapi.yatopiamc.org%2F)](https://api.yatopiamc.org/v2/latestBuild?branch=ver/1.16.4) +[![API](https://img.shields.io/website?down_color=lightgrey&down_message=offline&label=API&up_color=green&up_message=online&url=http%3A%2F%2Fapi.yatopiamc.org%2F)](https://api.yatopiamc.org/v2/latestBuild?branch=ver/1.16.5)

Blazing fast Tuinity fork with no-compromises performance.

@@ -21,7 +21,7 @@ ## So what is Yatopia? ## Try it out -The latest stable builds of Yatopia are always available over at our [downloads page](https://yatopiamc.org/download.html). You can also download the latest development build [here](https://api.yatopiamc.org/v2/latestBuild/download?branch=ver/1.16.4). +The latest stable builds of Yatopia are always available over at our [downloads page](https://yatopiamc.org/download.html). You can also download the latest development build [here](https://api.yatopiamc.org/v2/latestBuild/download?branch=ver/1.16.5). ## Documentation @@ -69,7 +69,7 @@ ## Using Yatopia-API org.yatopiamc yatopia-api - 1.16.4-R0.1-SNAPSHOT + 1.16.5-R0.1-SNAPSHOT provided diff --git a/SECURITY.md b/SECURITY.md index fd54d16d..cbe63195 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -5,8 +5,9 @@ ## Supported Versions: | Version | Supported | | ------- | ------------------ | +| 1.16.5 | :white_check_mark: | | 1.16.4 | :white_check_mark: | -| 1.16.3 | :white_check_mark: | +| 1.16.3 | :x: | | 1.16.2 | :x: | | 1.16.1 | :x: | | 1.15.2 | :x: | diff --git a/Tuinity b/Tuinity index f4f79298..6da59b2b 160000 --- a/Tuinity +++ b/Tuinity @@ -1 +1 @@ -Subproject commit f4f792980f94addade84924df035df486231a83d +Subproject commit 6da59b2b20532c1b4434080bad351929d07b9405 diff --git a/patches/api/0002-Modify-POM.patch b/patches/api/0002-Modify-POM.patch index c3c31971..25d2201c 100644 --- a/patches/api/0002-Modify-POM.patch +++ b/patches/api/0002-Modify-POM.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Modify POM diff --git a/pom.xml b/pom.xml -index 024be926afb1219c6443c496721f4bd0a4fec222..89542d52c14cc009d8bf50f446ab2bebb8516c94 100644 +index c441d455e2273b63d2cec136872a5025182d75d6..fc54a282a6a2a77ee54a1a658358447475f25be4 100644 --- a/pom.xml +++ b/pom.xml @@ -3,18 +3,18 @@ @@ -22,7 +22,7 @@ index 024be926afb1219c6443c496721f4bd0a4fec222..89542d52c14cc009d8bf50f446ab2beb - tuinity-api + yatopia-api - 1.16.4-R0.1-SNAPSHOT + 1.16.5-R0.1-SNAPSHOT jar - Tuinity-API diff --git a/patches/api/0003-Add-GameProfileLookupEvent.patch b/patches/api/0003-Add-GameProfileLookupEvent.patch index 3699d080..37117ad7 100644 --- a/patches/api/0003-Add-GameProfileLookupEvent.patch +++ b/patches/api/0003-Add-GameProfileLookupEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add GameProfileLookupEvent diff --git a/pom.xml b/pom.xml -index 89542d52c14cc009d8bf50f446ab2bebb8516c94..3e6971d0bbc383e4639e402c076af5292ee9236a 100644 +index fc54a282a6a2a77ee54a1a658358447475f25be4..3afbd1fef5d008388351a29ed3815934a19767d1 100644 --- a/pom.xml +++ b/pom.xml @@ -52,6 +52,10 @@ diff --git a/patches/api/0005-Add-NBT-API-as-a-first-class-lib.patch b/patches/api/0005-Add-NBT-API-as-a-first-class-lib.patch index 7354d49b..28e9abee 100644 --- a/patches/api/0005-Add-NBT-API-as-a-first-class-lib.patch +++ b/patches/api/0005-Add-NBT-API-as-a-first-class-lib.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add NBT API as a first-class lib diff --git a/pom.xml b/pom.xml -index 3e6971d0bbc383e4639e402c076af5292ee9236a..0e762240836299630743f29d00db03ffa193d4ab 100644 +index 3afbd1fef5d008388351a29ed3815934a19767d1..be53996abe326464f2ca6ffa4435e018d0099686 100644 --- a/pom.xml +++ b/pom.xml @@ -56,6 +56,11 @@ @@ -22,7 +22,7 @@ index 3e6971d0bbc383e4639e402c076af5292ee9236a..0e762240836299630743f29d00db03ff @@ -170,6 +175,11 @@ asm-commons - 8.0.1 + 9.0 + + de.tr7zw diff --git a/patches/server/0001-Yatopia-Server-Fixes.patch b/patches/server/0001-Yatopia-Server-Fixes.patch index eceef367..cb5c0754 100644 --- a/patches/server/0001-Yatopia-Server-Fixes.patch +++ b/patches/server/0001-Yatopia-Server-Fixes.patch @@ -244,7 +244,7 @@ index 86f1cfe454ea0a989775b49a6b88375c766ef647..da53af61d1171db3c167c6e007adf953 if (!(this.k instanceof EntityPlayer)) { throw CommandListenerWrapper.a.create(); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 59caf8aff5e4735b59d6b826a364f77889f9ce06..5c213ee7fc4ef65d118a253d306f549aba6a4d7a 100644 +index abc04bb88eed4508e89af20ff95e570137e41794..eed59fe862ba8a6a746c396acd901b3c7f6efab0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -434,7 +434,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -296,7 +296,7 @@ index 38dc8171d74f62287c1ac9b04f90ff8d000f1bf1..00000000000000000000000000000000 - - this.inPortal = true; diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 171e8553a339eb3c995369f274de86b824183ca6..4103f3c39e2ed7466824e8fecbb8d21b515b5f01 100644 +index c034869310ca3dadbfe5425c45aaa80dac59ac88..3c94f5b5cb94af4f1089e958ad7fef15f21f155e 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -92,6 +92,13 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -552,7 +552,7 @@ index 39dce006ebf2bd81a9d6c62c25eb9bd55d24199e..00000000000000000000000000000000 - } - // Spigot Start diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 56623da6cef58ec3d0ab81643470ce776d8b2484..10784bc7f5e68305b7ad10afdf8cb28cbdd72ae7 100644 +index f394b208e85f20775f5cdea5f4ed8272c7153007..6d783cc424b39993638cb2326c0c9dc3ab493f54 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -181,6 +181,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { @@ -865,12 +865,12 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..e86ccbd36250f4229ce62319a59889bc } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java.rej b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java.rej deleted file mode 100644 -index cce11dd0fb26d57015a14d56616fd4505c58237b..0000000000000000000000000000000000000000 +index 0ee12c5b16ce479cdf86b3fd21d3cc5af6da9e9b..0000000000000000000000000000000000000000 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java.rej +++ /dev/null @@ -1,13 +0,0 @@ -diff a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java (rejected hunks) --@@ -332,6 +332,11 @@ public class PurpurWorldConfig { +-@@ -338,6 +338,11 @@ public class PurpurWorldConfig { - }); - } - diff --git a/patches/server/0002-Modify-POM.patch b/patches/server/0002-Modify-POM.patch index bc273799..74f33fda 100644 --- a/patches/server/0002-Modify-POM.patch +++ b/patches/server/0002-Modify-POM.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Modify POM diff --git a/pom.xml b/pom.xml -index 174c0b67c1c5b41d80613128ebf2d78ee27f3cee..e20489a5834e9727a8c50435768ffe0e87af2188 100644 +index e83e4241a56fe131a75fe21cc1518992c089da2c..4fb3f3183ba51e971c98d6104b9100cddc840c92 100644 --- a/pom.xml +++ b/pom.xml @@ -1,11 +1,11 @@ @@ -15,7 +15,7 @@ index 174c0b67c1c5b41d80613128ebf2d78ee27f3cee..e20489a5834e9727a8c50435768ffe0e - tuinity + yatopia jar - 1.16.4-R0.1-SNAPSHOT + 1.16.5-R0.1-SNAPSHOT - Tuinity-Server - https://github.com/Spottedleaf/Tuinity + Yatopia-Server @@ -23,7 +23,7 @@ index 174c0b67c1c5b41d80613128ebf2d78ee27f3cee..e20489a5834e9727a8c50435768ffe0e -@@ -18,16 +18,25 @@ +@@ -19,16 +19,25 @@ @@ -53,7 +53,7 @@ index 174c0b67c1c5b41d80613128ebf2d78ee27f3cee..e20489a5834e9727a8c50435768ffe0e ${project.version} compile -@@ -151,6 +160,12 @@ +@@ -159,6 +168,12 @@ 1.1.0-SNAPSHOT compile @@ -66,7 +66,7 @@ index 174c0b67c1c5b41d80613128ebf2d78ee27f3cee..e20489a5834e9727a8c50435768ffe0e -@@ -164,6 +179,20 @@ +@@ -172,6 +187,20 @@ spigotmc-public https://hub.spigotmc.org/nexus/content/groups/public/ @@ -87,7 +87,7 @@ index 174c0b67c1c5b41d80613128ebf2d78ee27f3cee..e20489a5834e9727a8c50435768ffe0e -@@ -175,15 +204,15 @@ +@@ -183,15 +212,15 @@ diff --git a/patches/server/0003-Brandings.patch b/patches/server/0003-Brandings.patch index 1e377eac..0fbbf3d1 100644 --- a/patches/server/0003-Brandings.patch +++ b/patches/server/0003-Brandings.patch @@ -39,7 +39,7 @@ index 74ed02fa9296583977bb721014b10ff8b708b43c..a13c7b2b5bc79ecaea404779149ed02c .completer(new ConsoleCommandCompleter(this.server)) ); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 788bee62121d9bbe0d68a617f3d41ff63be447dd..f998f3425c5f30908ad1d07fdaecffcdce97e318 100644 +index 679498256770c6ed0010de4f91ed82c9375d871c..23978b1c4ebe3e78d4a076d93cc34ed69ccfd3db 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1523,7 +1523,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Co-authored-by: Ivan Pekov diff --git a/pom.xml b/pom.xml -index e20489a5834e9727a8c50435768ffe0e87af2188..50fa602350b757a0444d104d5efd7b947aaf6cbd 100644 +index 4fb3f3183ba51e971c98d6104b9100cddc840c92..bf5f5ceba13f6b6eff3b58f27b28e9d8500a58ef 100644 --- a/pom.xml +++ b/pom.xml -@@ -166,6 +166,12 @@ +@@ -174,6 +174,12 @@ commons-math3 3.6.1 diff --git a/patches/server/0006-Add-last-tick-time-API.patch b/patches/server/0006-Add-last-tick-time-API.patch index e0f66073..331900c6 100644 --- a/patches/server/0006-Add-last-tick-time-API.patch +++ b/patches/server/0006-Add-last-tick-time-API.patch @@ -7,7 +7,7 @@ Original patch by: Co-authored-by: tr7zw diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f998f3425c5f30908ad1d07fdaecffcdce97e318..d4bd48f26299712b49dad06a76bc2a7322f49b63 100644 +index 23978b1c4ebe3e78d4a076d93cc34ed69ccfd3db..6f1a6ee340577d25b5edeb28eb2d2c52af511957 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -935,6 +935,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrantnet.minecraft.server net.minecraft.server.v${minecraft_version} diff --git a/patches/server/0012-lithium-MixinDirection.patch b/patches/server/0012-lithium-MixinDirection.patch index acf69e8d..d7c8c085 100644 --- a/patches/server/0012-lithium-MixinDirection.patch +++ b/patches/server/0012-lithium-MixinDirection.patch @@ -7,7 +7,7 @@ Original code by JellySquid, licensed under GNU Lesser General Public License v3 you can find the original code on https://github.com/jellysquid3/lithium-fabric/tree/1.16.x/fabric (Yarn mappings) diff --git a/src/main/java/net/minecraft/server/EnumDirection.java b/src/main/java/net/minecraft/server/EnumDirection.java -index 343eb3e9ab37730b55baeea839db6e882c3e50ae..9edc9f8eb820ba17559e796c6b42d78f038ba1db 100644 +index 060f5ab597b6469df945a854fffe57ffea3d947f..0f669e5115c20f70585ac49b1f6402d5121ba969 100644 --- a/src/main/java/net/minecraft/server/EnumDirection.java +++ b/src/main/java/net/minecraft/server/EnumDirection.java @@ -20,13 +20,13 @@ public enum EnumDirection implements INamable { diff --git a/patches/server/0014-lithium-enum_values.patch b/patches/server/0014-lithium-enum_values.patch index 93a67665..7d801866 100644 --- a/patches/server/0014-lithium-enum_values.patch +++ b/patches/server/0014-lithium-enum_values.patch @@ -39,7 +39,7 @@ index 5d3bb5f393a1e0e4a2e8b9a466530a91279697a9..7f084e7f11a829c10d113c7fb39eec0b if (enumdirection2 != EnumDirection.DOWN && world.isBlockFacePowered(blockposition1.shift(enumdirection2), enumdirection2)) { return true; diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 2f0e9e3fc184d803aa81b2d4d0b52927f575f69b..230e798c03edb57fe8733887d09150f67eb2bbfa 100644 +index c829718565e7f45811d467dd82171f04325effe1..7138756a053452746a0fd32887eb9fdb087846d6 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2591,10 +2591,12 @@ public abstract class EntityLiving extends Entity { diff --git a/patches/server/0018-Option-for-simpler-Villagers.patch b/patches/server/0018-Option-for-simpler-Villagers.patch index 5a0d3e00..639b13fc 100644 --- a/patches/server/0018-Option-for-simpler-Villagers.patch +++ b/patches/server/0018-Option-for-simpler-Villagers.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Option for simpler Villagers diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 4103f3c39e2ed7466824e8fecbb8d21b515b5f01..bb187418cb9e38f266753ae8efae61147d5ef101 100644 +index 3c94f5b5cb94af4f1089e958ad7fef15f21f155e..573e174434ca0c88c968e62874c4146ab95cba68 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -31,6 +31,7 @@ import org.bukkit.event.entity.VillagerReplenishTradeEvent; diff --git a/patches/server/0025-Fix-lead-fall-dmg-config.patch b/patches/server/0025-Fix-lead-fall-dmg-config.patch index dea8a572..fad5fb2e 100644 --- a/patches/server/0025-Fix-lead-fall-dmg-config.patch +++ b/patches/server/0025-Fix-lead-fall-dmg-config.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix lead fall dmg config diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 5c213ee7fc4ef65d118a253d306f549aba6a4d7a..5d05752de07053523a483c045c85d9ceca169a4e 100644 +index eed59fe862ba8a6a746c396acd901b3c7f6efab0..29a503fdf7cd4d312d812055bd4aecd23a921925 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1301,6 +1301,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch b/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch index 60fe9371..020a281a 100644 --- a/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch +++ b/patches/server/0026-Optimize-some-stuff-in-WorldServer-ticking.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize some stuff in WorldServer ticking Replaced some streams and some array lists with glue lists diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 10784bc7f5e68305b7ad10afdf8cb28cbdd72ae7..a6e8c158ffd868a0e99254fe22dab831030bac90 100644 +index 6d783cc424b39993638cb2326c0c9dc3ab493f54..565b41d718eb9a772872f0b8163dd4093fe35750 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -961,12 +961,21 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0029-Use-offline-uuids-if-we-need-to.patch b/patches/server/0029-Use-offline-uuids-if-we-need-to.patch index 53f512e5..28005fa6 100644 --- a/patches/server/0029-Use-offline-uuids-if-we-need-to.patch +++ b/patches/server/0029-Use-offline-uuids-if-we-need-to.patch @@ -20,7 +20,7 @@ Thanks to Gabriele C for pointing this issue to us, as he have any interest fixing this. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 3ef463e1313b9729c86437f499930ab4cd332a6d..50ba26eafcfd5024e2795f13a0b04877b2cd6688 100644 +index 9796b4e57d6680c9f0dc76decdd985572daafb7e..f2da76f2a937240168fdb02a93dfe226f5b4bf5e 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1921,7 +1921,7 @@ public abstract class EntityHuman extends EntityLiving { diff --git a/patches/server/0030-Highly-optimize-VillagePlace-filtering.patch b/patches/server/0030-Highly-optimize-VillagePlace-filtering.patch index 600a7781..ca1293c8 100644 --- a/patches/server/0030-Highly-optimize-VillagePlace-filtering.patch +++ b/patches/server/0030-Highly-optimize-VillagePlace-filtering.patch @@ -379,7 +379,7 @@ index 0094babbd59cc81554b9480088464d632824ae8e..5db147b5c602a00fa758ab5ddc8f18d9 final class a extends LightEngineGraphSection { diff --git a/src/main/java/net/minecraft/server/VillagePlaceSection.java b/src/main/java/net/minecraft/server/VillagePlaceSection.java -index f43bc1f7d693d63c6bbdba976c048d2d0c8767b1..15d2b2c21e61369b5c7897914ccf0aa950f44668 100644 +index 943a437ff27162eae09211c28bdc0d141fa6a404..b4ae140eeddb7e31b6d530e74f3c0736529e00d4 100644 --- a/src/main/java/net/minecraft/server/VillagePlaceSection.java +++ b/src/main/java/net/minecraft/server/VillagePlaceSection.java @@ -5,6 +5,10 @@ import com.google.common.collect.Maps; @@ -418,15 +418,15 @@ index f43bc1f7d693d63c6bbdba976c048d2d0c8767b1..15d2b2c21e61369b5c7897914ccf0aa9 public Stream a(Predicate predicate, VillagePlace.Occupancy villageplace_occupancy) { return this.c.entrySet().stream().filter((entry) -> { return predicate.test(entry.getKey()); -@@ -90,7 +105,7 @@ public class VillagePlaceSection { - } else { - this.b.put(short0, villageplacerecord); - ((Set) this.c.computeIfAbsent(villageplacetype, (villageplacetype1) -> { -- return Sets.newHashSet(); -+ return new ObjectOpenHashSet<>(); // Yatopia - })).add(villageplacerecord); - return true; - } +@@ -97,7 +112,7 @@ public class VillagePlaceSection { + + this.b.put(short0, villageplacerecord); + ((Set) this.c.computeIfAbsent(villageplacetype, (villageplacetype1) -> { +- return Sets.newHashSet(); ++ return new ObjectOpenHashSet<>(); // Yatopia + })).add(villageplacerecord); + return true; + } diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaChunkPos.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaChunkPos.java new file mode 100644 index 0000000000000000000000000000000000000000..de95cf5ca20abdc8f200806287fb0ba03eec1e7c diff --git a/patches/server/0031-Optimise-portals.patch b/patches/server/0031-Optimise-portals.patch index bb547f6c..85b82aa8 100644 --- a/patches/server/0031-Optimise-portals.patch +++ b/patches/server/0031-Optimise-portals.patch @@ -87,7 +87,7 @@ index 5db147b5c602a00fa758ab5ddc8f18d9a5bbb6ad..a92bdf5ceece3160d31039360b39b935 private final Long2ByteMap b = new Long2ByteOpenHashMap(); diff --git a/src/main/java/net/minecraft/server/VillagePlaceSection.java b/src/main/java/net/minecraft/server/VillagePlaceSection.java -index 15d2b2c21e61369b5c7897914ccf0aa950f44668..5bc361c60bdf58122513fef267f60bd385d4af24 100644 +index b4ae140eeddb7e31b6d530e74f3c0736529e00d4..3333795f2bdeedb9482af96cfb0ae4ae7b92f5f8 100644 --- a/src/main/java/net/minecraft/server/VillagePlaceSection.java +++ b/src/main/java/net/minecraft/server/VillagePlaceSection.java @@ -69,6 +69,19 @@ public class VillagePlaceSection { @@ -110,7 +110,7 @@ index 15d2b2c21e61369b5c7897914ccf0aa950f44668..5bc361c60bdf58122513fef267f60bd3 // Yatopia end public Stream a(Predicate predicate, VillagePlace.Occupancy villageplace_occupancy) { return this.c.entrySet().stream().filter((entry) -> { -@@ -174,6 +187,7 @@ public class VillagePlaceSection { +@@ -180,6 +193,7 @@ public class VillagePlaceSection { this.c.clear(); } diff --git a/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch b/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch index 91a32c0a..733bd5b1 100644 --- a/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch +++ b/patches/server/0036-Fix-LightEngineThreaded-memory-leak.patch @@ -18,7 +18,7 @@ index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..f3494ac1ad659352ca5595adf9e6919b return this.size == 0 && this.pendingTasks.isEmpty(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index a6e8c158ffd868a0e99254fe22dab831030bac90..a6d5a5bb1c4b8a32e5f092eca8c53e4db03f075a 100644 +index 565b41d718eb9a772872f0b8163dd4093fe35750..7961470df11789b8452c134b242d02262357df69 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1906,6 +1906,7 @@ public class WorldServer extends World implements GeneratorAccessSeed { diff --git a/patches/server/0040-Optimize-whitelist-command-for-multiple-additions-re.patch b/patches/server/0040-Optimize-whitelist-command-for-multiple-additions-re.patch index ae10fcf3..0cf26727 100644 --- a/patches/server/0040-Optimize-whitelist-command-for-multiple-additions-re.patch +++ b/patches/server/0040-Optimize-whitelist-command-for-multiple-additions-re.patch @@ -111,7 +111,7 @@ index 893d2c1c74ed28dcdb83b71762ccdcbfd50a8f9d..107091a4cae0e4eaba93f69ae91239ab private static int b(CommandListenerWrapper commandlistenerwrapper) throws CommandSyntaxException { diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 50ba26eafcfd5024e2795f13a0b04877b2cd6688..fea2e70a92bfd9798a4a8e256069dc20889e1259 100644 +index f2da76f2a937240168fdb02a93dfe226f5b4bf5e..dce54e84ded2b81be85489aab919de0ee3ca3c3b 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -77,6 +77,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -185,7 +185,7 @@ index 0224a6d0e47e836fa485b39e7b4ce5b83ea554bf..fe578d306575bbdc8ca4a993a648e889 return (String[]) this.d.keySet().toArray(new String[this.d.size()]); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d4bd48f26299712b49dad06a76bc2a7322f49b63..8dc2673ab11c932c0e435012222b36386d2ace3a 100644 +index 6f1a6ee340577d25b5edeb28eb2d2c52af511957..ab4315f7c22068aae7fe082d685adac82aeba660 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1975,6 +1975,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant recipeType : IRegistry.RECIPE_TYPE) { this.recipes.put(recipeType, new Object2ObjectLinkedOpenHashMap<>()); diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 3adb29f004d2fee36f3ee9b21ee5417e84b64837..376ab1d4c4f729639714b5eeedec514a2176531a 100644 +index afa1dc693bc2e2e68294a1d3dec1c078ea95b286..feeb6b193c47703ec217d9933c526aa2b29080d7 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -570,6 +570,7 @@ public final class ItemStack { diff --git a/patches/server/0055-Smarter-statistics-ticking.patch b/patches/server/0055-Smarter-statistics-ticking.patch index 6720a17b..371766a5 100644 --- a/patches/server/0055-Smarter-statistics-ticking.patch +++ b/patches/server/0055-Smarter-statistics-ticking.patch @@ -8,7 +8,7 @@ In vanilla, statistics that count time spent for an action (i.e. time played or With an interval of 20, this patch saves roughly 3ms per tick on a server w/ 80 players online. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index dddc6aff8c11f9f4f295c864465ef9a128d0362e..0046dedd5e5f503ee680b89ec7e3dca681c26686 100644 +index 8434e220ca8d65579eb03caa0b1fc0883ccdf874..7cb937cf03551d5c265a75cb0a52413946506402 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -163,18 +163,23 @@ public abstract class EntityHuman extends EntityLiving { diff --git a/patches/server/0056-Configurable-criterion-triggers.patch b/patches/server/0056-Configurable-criterion-triggers.patch index d4ab85a7..36a5429a 100644 --- a/patches/server/0056-Configurable-criterion-triggers.patch +++ b/patches/server/0056-Configurable-criterion-triggers.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable criterion triggers This patch adds toggles for three criterion triggers that are called every tick. These can be very unnecessary, and especially in the case of CriterionTriggerEnterBlock, quite heavy. diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 29e1848d559667da27d338555f2be599139c45de..38ff910f39aae33cc62b472ecbe51f5a66032f52 100644 +index de0923395dce3571e604b24d420da48cbe5b9cf4..f1333f2fcdf9f934645dc8b2d086f8cb2d6c72c7 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -433,6 +433,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/patches/server/0057-Configurable-BlockPhysicsEvent.patch b/patches/server/0057-Configurable-BlockPhysicsEvent.patch index 9eea9b35..2382cd83 100644 --- a/patches/server/0057-Configurable-BlockPhysicsEvent.patch +++ b/patches/server/0057-Configurable-BlockPhysicsEvent.patch @@ -8,7 +8,7 @@ Paper does alleviate this quite well by only firing if plugins are listening, bu This patch implements a hard toggle for the event. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8dc2673ab11c932c0e435012222b36386d2ace3a..3a21ed175e7bbe19b3bb7e0e430371be1e33cd3c 100644 +index ab4315f7c22068aae7fe082d685adac82aeba660..dac1e68dc8dac578605470c148fd028792d54932 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1411,7 +1411,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 16 Jan 2021 08:42:04 +0200 Subject: [PATCH 7/7] [CI-SKIP] Add 1.16.5 branches to build.yml --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 185667a7..d5408524 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,21 +6,25 @@ on: - '*.md' - 'Jenkinsfile' branches: + - ver/1.16.5 - ver/1.16.4 - ver/1.16.3 - ver/1.16.2 - ver/1.16.1 - leaflight/ver/1.16.4 + - leaflight/ver/1.16.5 pull_request: paths-ignore: - '*.md' - 'Jenkinsfile' branches: + - ver/1.16.5 - ver/1.16.4 - ver/1.16.3 - ver/1.16.1 - ver/1.16.2 - leaflight/ver/1.16.4 + - leaflight/ver/1.16.5 jobs: build: