From e47fe5354ec2ddf1ce4d3546913fdb0c3b4c7072 Mon Sep 17 00:00:00 2001 From: Ivan Pekov Date: Sun, 13 Sep 2020 10:00:43 +0300 Subject: [PATCH] Nuked some patches --- PATCHES.md | 4 +- patches/Purpur/server.txt | 2 +- patches/Rainforest/server.txt | 2 +- patches/api/0001-Yatopia-API-Bundle.patch | 12 +- patches/api/0005-Add-getLastTickMs-api.patch | 4 +- .../server/0001-Yatopia-Server-Fixes.patch | 185 +++++------------- patches/server/0003-Brandings.patch | 2 +- .../server/0005-Add-getLastTickMs-api.patch | 4 +- ...g-Yatopia-command-and-basic-settings.patch | 72 ++++--- ...llow-to-change-the-piston-push-limit.patch | 9 +- .../0010-Player-saving-async-FileIO.patch | 2 +- .../server/0018-Item-stuck-sleep-config.patch | 4 +- .../0019-Option-for-simpler-Villagers.patch | 4 +- ...0021-Optimize-TileEntity-load-unload.patch | 4 +- patches/server/0023-Redirect-Configs.patch | 36 +--- .../0027-Fix-lead-fall-dmg-config.patch | 8 +- ...0033-Use-offline-uuids-if-we-need-to.patch | 4 +- ...0034-lithium-collision-optimizations.patch | 4 +- .../0040-Nuke-streams-off-BlockPosition.patch | 4 +- ...op-wasting-resources-on-JsonList-get.patch | 2 +- .../server/0046-Give-them-items-motion.patch | 4 +- ...Respect-PlayerKickEvent-leaveMessage.patch | 10 +- 22 files changed, 144 insertions(+), 238 deletions(-) diff --git a/PATCHES.md b/PATCHES.md index 0a167be0..e4e2c997 100644 --- a/PATCHES.md +++ b/PATCHES.md @@ -14,11 +14,9 @@ # Patches | server | Add GameProfileLookupEvent | tr7zw | | | api | Add NBT API as a first-class lib | tr7zw | | | server | Add NBT API as a first-class lib | tr7zw | | -| server | Add Rainforest config | Mariell Hoversholm | | | server | Add config Yatopia command and basic settings | tr7zw | | | api | Add getLastTickMs api | tr7zw | | | server | Add getLastTickMs api | tr7zw | | -| server | Add more dupe options | Mariell Hoversholm | | | server | Add no-tick block list | William Blake Galbreath | | | server | Add option to disable dolphin treasure searching | William Blake Galbreath | | | server | Add option to disable observer clocks | Phoenix616 | | @@ -42,7 +40,6 @@ # Patches | server | Configurable TPS Catchup | William Blake Galbreath | | | server | Configurable villager brain ticks | William Blake Galbreath | | | server | Cows eat mushrooms | William Blake Galbreath | | -| server | Custom brand name | Mariell Hoversholm | | | api | Default permissions | William Blake Galbreath | | | server | Disable the Snooper | Sotr | | | server | Don't load chunk with seed based feature search | Phoenix616 | | @@ -112,6 +109,7 @@ # Patches | server | Stop squids floating on top of water | William Blake Galbreath | | | server | Stop wasting resources on JsonList#get | Ivan Pekov | | | server | Swaps the predicate order of collision | ㄗㄠˋ ㄑㄧˊ | | +| server | Timings stuff | William Blake Galbreath | | | server | Tulips change fox type | William Blake Galbreath | | | server | Use arrow despawn rate for all projectiles | William Blake Galbreath | | | server | Use block distance in portal search radius | Patrick Hemmer | | diff --git a/patches/Purpur/server.txt b/patches/Purpur/server.txt index b4c5b2e4..fbf0ace9 100644 --- a/patches/Purpur/server.txt +++ b/patches/Purpur/server.txt @@ -1 +1 @@ -Purpur-config-files&Barrels-and-enderchests-6-rows&Lagging-threshold&Configurable-villager-brain-ticks&Alternative-Keepalive-Handling&MC-168772-Fix-Add-turtle-egg-block-options&MC-4-Fix-Item-position-desync&Giants-AI-settings&Illusioners-AI-settings&Zombie-horse-naturally-spawn&Charged-creeper-naturally-spawn&Rabbit-naturally-spawn-toast-and-killer&Fix-outdated-server-showing-in-ping-before-server-fu&Dont-send-useless-entity-packets&Tulips-change-fox-type&Breedable-Polar-Bears&Cows-eat-mushrooms&Snowman-drop-and-put-back-pumpkin&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&Configurable-TPS-Catchup&Villagers-follow-emerald-blocks&Allow-leashing-villagers&Add-option-to-disable-saving-projectiles-to-disk&Add-5-second-tps-average-in-tps&Phantoms-attracted-to-crystals-and-crystals-shoot-ph&Implement-bed-explosion-options&Implement-respawn-anchor-explosion-options&MC-171420-Fix-deop-kicking-non-whitelisted-player-wh&Entity-lifespan&Squid-EAR-immunity&Redstone-deactivates-spawners&Allow-anvil-colors&Add-no-tick-block-list&Add-option-to-disable-dolphin-treasure-searching&Stop-squids-floating-on-top-of-water&Use-arrow-despawn-rate-for-all-projectiles \ No newline at end of file +Purpur-config-files&Timings-stuff&Barrels-and-enderchests-6-rows&Lagging-threshold&Configurable-villager-brain-ticks&Alternative-Keepalive-Handling&MC-168772-Fix-Add-turtle-egg-block-options&MC-4-Fix-Item-position-desync&Giants-AI-settings&Illusioners-AI-settings&Zombie-horse-naturally-spawn&Charged-creeper-naturally-spawn&Rabbit-naturally-spawn-toast-and-killer&Fix-outdated-server-showing-in-ping-before-server-fu&Dont-send-useless-entity-packets&Tulips-change-fox-type&Breedable-Polar-Bears&Cows-eat-mushrooms&Snowman-drop-and-put-back-pumpkin&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&Configurable-TPS-Catchup&Villagers-follow-emerald-blocks&Allow-leashing-villagers&Add-option-to-disable-saving-projectiles-to-disk&Add-5-second-tps-average-in-tps&Phantoms-attracted-to-crystals-and-crystals-shoot-ph&Implement-bed-explosion-options&Implement-respawn-anchor-explosion-options&MC-171420-Fix-deop-kicking-non-whitelisted-player-wh&Entity-lifespan&Squid-EAR-immunity&Redstone-deactivates-spawners&Allow-anvil-colors&Add-no-tick-block-list&Add-option-to-disable-dolphin-treasure-searching&Stop-squids-floating-on-top-of-water&Use-arrow-despawn-rate-for-all-projectiles \ No newline at end of file diff --git a/patches/Rainforest/server.txt b/patches/Rainforest/server.txt index 4553c279..c4305b09 100644 --- a/patches/Rainforest/server.txt +++ b/patches/Rainforest/server.txt @@ -1 +1 @@ -Add-Rainforest-config&Apply-advancements-async&Add-more-dupe-options&Custom-brand-name \ No newline at end of file +Apply-advancements-async \ No newline at end of file diff --git a/patches/api/0001-Yatopia-API-Bundle.patch b/patches/api/0001-Yatopia-API-Bundle.patch index 0e367ba1..dc96e039 100644 --- a/patches/api/0001-Yatopia-API-Bundle.patch +++ b/patches/api/0001-Yatopia-API-Bundle.patch @@ -39,10 +39,10 @@ index bfe842364ee0a4bf39dacdbb6972477d57a4ef8a..8d172d58b7c935f608ac49d3376d5b90 + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 740a86a808bf0470a755b5f728640557733bfbca..b8f89453ed7771cc92ea6459830675b7a14f0d44 100644 +index 740a86a808bf0470a755b5f728640557733bfbca..d92d19a689c5dd928095c082a7c96680e97c6e6a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1464,6 +1464,54 @@ public interface Server extends PluginMessageRecipient { +@@ -1464,6 +1464,58 @@ public interface Server extends PluginMessageRecipient { } // Tuinity end - add config to timings report @@ -59,10 +59,14 @@ index 740a86a808bf0470a755b5f728640557733bfbca..b8f89453ed7771cc92ea6459830675b7 + // Akarin end + + // Rainforest start ++ /** ++ * @deprecated yatopia does not import akarin config anymore ++ */ ++ @Deprecated + @NotNull + public org.bukkit.configuration.file.YamlConfiguration getRainforestConfig() + { -+ throw new UnsupportedOperationException("Not supported yet."); ++ return new org.bukkit.configuration.file.YamlConfiguration(); + } + // Rainforest end + @@ -97,7 +101,7 @@ index 740a86a808bf0470a755b5f728640557733bfbca..b8f89453ed7771cc92ea6459830675b7 /** * Sends the component to the player * -@@ -1564,4 +1612,13 @@ public interface Server extends PluginMessageRecipient { +@@ -1564,4 +1616,13 @@ public interface Server extends PluginMessageRecipient { @NotNull com.destroystokyo.paper.entity.ai.MobGoals getMobGoals(); // Paper end diff --git a/patches/api/0005-Add-getLastTickMs-api.patch b/patches/api/0005-Add-getLastTickMs-api.patch index 91303081..0f2b0569 100644 --- a/patches/api/0005-Add-getLastTickMs-api.patch +++ b/patches/api/0005-Add-getLastTickMs-api.patch @@ -20,10 +20,10 @@ index 8d172d58b7c935f608ac49d3376d5b90bdf0abdd..808574e7d40346fd0b923b14b534730c + // Yatopia end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b8f89453ed7771cc92ea6459830675b7a14f0d44..12cb98afc6845a1efdd83ff3389f12d0b3b80a79 100644 +index d92d19a689c5dd928095c082a7c96680e97c6e6a..6783cb1650dae96b61de2a0e9b90854d0b05ad0a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1621,4 +1621,13 @@ public interface Server extends PluginMessageRecipient { +@@ -1625,4 +1625,13 @@ public interface Server extends PluginMessageRecipient { */ boolean isLagging(); // Purpur end diff --git a/patches/server/0001-Yatopia-Server-Fixes.patch b/patches/server/0001-Yatopia-Server-Fixes.patch index 3b816b13..1a344476 100644 --- a/patches/server/0001-Yatopia-Server-Fixes.patch +++ b/patches/server/0001-Yatopia-Server-Fixes.patch @@ -4,33 +4,6 @@ Date: Thu, 6 Aug 2020 19:47:50 -0500 Subject: [PATCH] Yatopia-Server-Fixes -diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java -index 5dfa0658838c4801cdf260eae8b98163f729e5af..b67f05f290db653cf75a89e85bd3decb5044a1e0 100644 ---- a/src/main/java/co/aikar/timings/TimingsExport.java -+++ b/src/main/java/co/aikar/timings/TimingsExport.java -@@ -231,6 +231,7 @@ public class TimingsExport extends Thread { - pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)), - pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)), // Tuinity - add config to timings report - pair("tuinity", mapAsJSON(Bukkit.spigot().getTuinityConfig(), null)) // Tuinity - add config to timings report -+ , pair("purpur", mapAsJSON(Bukkit.spigot().getPurpurConfig(), null)) // Purpur - add config to timings report - )); - - new TimingsExport(listeners, parent, history).start(); -diff --git a/src/main/java/co/aikar/timings/TimingsExport.java.rej b/src/main/java/co/aikar/timings/TimingsExport.java.rej -deleted file mode 100644 -index 572780ca665c0fb254cc7431af3dd7759a94f26c..0000000000000000000000000000000000000000 ---- a/src/main/java/co/aikar/timings/TimingsExport.java.rej -+++ /dev/null -@@ -1,9 +0,0 @@ --diff a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java (rejected hunks) --@@ -230,6 +230,7 @@ public class TimingsExport extends Thread { -- pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)), -- pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)), -- pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)) --+ , pair("rainforest", mapAsJSON(Bukkit.spigot().getRainforestConfig(), null)) // Rainforest -- )); -- -- new TimingsExport(listeners, parent, history).start(); diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java.rej b/src/main/java/com/destroystokyo/paper/PaperCommand.java.rej deleted file mode 100644 index 8f31dba6a29514aad6e74e265bf000014cd1e3c3..0000000000000000000000000000000000000000 @@ -92,19 +65,6 @@ index c9fa39c5b4b013b56720e339463ffcb5fd3c13f9..00000000000000000000000000000000 - this.timingTicking.startTiming(); - - for (final NextTickListEntry toTick : this.toTickThisTick) { -diff --git a/src/main/java/com/proximyst/rainforest/RainforestConfig.java b/src/main/java/com/proximyst/rainforest/RainforestConfig.java -index e0af5eb280dfd2ef6c9a80385e1705f7231a5338..f6623032e5d4034c104aa1fc6ff4265169e462ba 100644 ---- a/src/main/java/com/proximyst/rainforest/RainforestConfig.java -+++ b/src/main/java/com/proximyst/rainforest/RainforestConfig.java -@@ -195,7 +195,7 @@ public final class RainforestConfig { - allowSandDuping = getBoolean("allow-sand-duping", allowSandDuping); - } - -- public static String brandName = "Rainforest"; -+ public static String brandName = "Yatopia"; // Yatopia - private static void brandName() { - brandName = getString("brand-name", brandName); - } diff --git a/src/main/java/de/minebench/origami/OrigamiConfig.java b/src/main/java/de/minebench/origami/OrigamiConfig.java index fe7330fabe386966c2d203a190a00a785ea21be0..9480b7ce6ae769f5dfec258ba2c7efbf165b5ce6 100644 --- a/src/main/java/de/minebench/origami/OrigamiConfig.java @@ -703,21 +663,6 @@ index adeca862cc3a3d1001c9d515fa2083acef0520e2..00000000000000000000000000000000 - } - - public Stream d() { -diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java.rej b/src/main/java/net/minecraft/server/DedicatedServer.java.rej -deleted file mode 100644 -index 4c2d5b3e080c925d687733ec40d4fb4b22552c96..0000000000000000000000000000000000000000 ---- a/src/main/java/net/minecraft/server/DedicatedServer.java.rej -+++ /dev/null -@@ -1,9 +0,0 @@ --diff a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java (rejected hunks) --@@ -170,6 +170,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer -- com.destroystokyo.paper.PaperConfig.registerCommands(); -- com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now -- // Paper end --+ com.proximyst.rainforest.RainforestConfig.init((java.io.File) options.valueOf("rainforest-settings")); // Rainforest -- -- this.setPVP(dedicatedserverproperties.pvp); -- this.setAllowFlight(dedicatedserverproperties.allowFlight); diff --git a/src/main/java/net/minecraft/server/DispenserRegistry.java.rej b/src/main/java/net/minecraft/server/DispenserRegistry.java.rej deleted file mode 100644 index 8347faf8a7ee62d27cf5eb9f285695fddadfa624..0000000000000000000000000000000000000000 @@ -738,10 +683,10 @@ index 8347faf8a7ee62d27cf5eb9f285695fddadfa624..00000000000000000000000000000000 - - AttributeDefaults.a(); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 8755e32b44165b997739ac213820cf6715b0a757..d413574045360c4724d2c84f1bbbf4d9abe53fe4 100644 +index e8da5e4f6d7668fa2dc0361f7246b21933669206..26306687857100173e762578eb2c509370279207 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -439,7 +439,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -438,7 +438,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public void setPosition(double d0, double d1, double d2) { this.setPositionRaw(d0, d1, d2); //this.a(this.size.a(d0, d1, d2)); // Paper - move into setPositionRaw @@ -750,7 +695,7 @@ index 8755e32b44165b997739ac213820cf6715b0a757..d413574045360c4724d2c84f1bbbf4d9 } protected void ae() { -@@ -522,7 +522,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -521,7 +521,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } this.justCreated = false; @@ -759,7 +704,7 @@ index 8755e32b44165b997739ac213820cf6715b0a757..d413574045360c4724d2c84f1bbbf4d9 } public void resetPortalCooldown() { -@@ -2375,7 +2375,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2373,7 +2373,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke WorldServer worldserver1 = minecraftserver.getWorldServer(resourcekey); if (true && !this.isPassenger() && this.portalTicks++ >= i) { // CraftBukkit @@ -768,7 +713,7 @@ index 8755e32b44165b997739ac213820cf6715b0a757..d413574045360c4724d2c84f1bbbf4d9 this.portalTicks = i; this.resetPortalCooldown(); // CraftBukkit start -@@ -2385,7 +2385,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2383,7 +2383,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.b(worldserver1); } // CraftBukkit end @@ -777,7 +722,7 @@ index 8755e32b44165b997739ac213820cf6715b0a757..d413574045360c4724d2c84f1bbbf4d9 } this.inPortal = false; -@@ -2768,14 +2768,14 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2766,14 +2766,14 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // Paper end if (this.world instanceof WorldServer && !this.dead) { @@ -794,7 +739,7 @@ index 8755e32b44165b997739ac213820cf6715b0a757..d413574045360c4724d2c84f1bbbf4d9 ShapeDetectorShape shapedetectorshape = (location == null) ? this.a(worldserver) : new ShapeDetectorShape(new Vec3D(location.getX(), location.getY(), location.getZ()), Vec3D.ORIGIN, this.yaw, this.pitch, worldserver, null); // CraftBukkit if (shapedetectorshape == null) { -@@ -2808,10 +2808,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2806,10 +2806,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } this.bM(); @@ -807,7 +752,7 @@ index 8755e32b44165b997739ac213820cf6715b0a757..d413574045360c4724d2c84f1bbbf4d9 return entity; } } else { -@@ -3046,7 +3046,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3044,7 +3044,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke entity.a(entity1, Entity::teleportAndSync); } @@ -1601,10 +1546,10 @@ index d1016d22fbb2dd15042fd6ccdf2ee7848351e518..00000000000000000000000000000000 - - entitypigzombie.addEffect(new MobEffect(MobEffects.CONFUSION, 200, 0)); diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index d1953b40c6684f8ebf7fbcd6c240b66b92167794..364485a28f6273fa55c777024fac58ef1e0fd201 100644 +index 75f53d1a1c45c2313ebe0e9b7a84932cee67d284..d7a28b139c5962e7be2c9402f7011edfb67ed31d 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -765,11 +765,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -764,11 +764,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting { private void eV() { AxisAlignedBB axisalignedbb = (new AxisAlignedBB(this.getChunkCoordinates())).grow(32.0D, 10.0D, 32.0D); @@ -1621,7 +1566,7 @@ index d1953b40c6684f8ebf7fbcd6c240b66b92167794..364485a28f6273fa55c777024fac58ef } @Override -@@ -920,7 +920,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -919,7 +919,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { ShapeDetectorShape shapedetectorshape = this.a(worldserver); if (shapedetectorshape != null) { @@ -1630,7 +1575,7 @@ index d1953b40c6684f8ebf7fbcd6c240b66b92167794..364485a28f6273fa55c777024fac58ef worldserver = shapedetectorshape.world; // CraftBukkit if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event if (resourcekey == DimensionManager.OVERWORLD && worldserver.getTypeKey() == DimensionManager.THE_NETHER) { // CraftBukkit -@@ -943,8 +943,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -942,8 +942,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { worldserver = ((CraftWorld) exit.getWorld()).getHandle(); // CraftBukkit end @@ -1641,7 +1586,7 @@ index d1953b40c6684f8ebf7fbcd6c240b66b92167794..364485a28f6273fa55c777024fac58ef if (true) { // CraftBukkit this.worldChangeInvuln = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds -@@ -961,7 +961,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -960,7 +960,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { worldserver.addPlayerPortal(this); this.playerConnection.teleport(exit); // CraftBukkit - use internal teleport without event this.playerConnection.syncPosition(); // CraftBukkit - sync position after changing it (from PortalTravelAgent#findAndteleport) @@ -2404,28 +2349,26 @@ index bada470cba41cce9beb9eb04227b42c1d489d731..00000000000000000000000000000000 - private int c; - private TileEntityShulkerBox.AnimationPhase i; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 6ff36345b0fbb7e67d3b7ad29823a135ea5bb3a3..2a8db362f007c25472b2114fd7a757a40a418e82 100644 +index 00ef418aa0825dd147fedd91a552aa2437c7348f..702588cbab8aa2ced1a8f4b75d65552dd616efda 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -97,6 +97,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -96,6 +96,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public final com.tuinity.tuinity.config.TuinityConfig.WorldConfig tuinityConfig; // Tuinity - Server Config public final net.pl3x.purpur.PurpurWorldConfig purpurConfig; // Purpur + public final de.minebench.origami.OrigamiConfig.WorldConfig origamiConfig; // Origami - World config -+ public final RainforestWorldConfig rainforestConfig; // Rainforest public final co.aikar.timings.WorldTimingsHandler timings; // Paper public static BlockPosition lastPhysicsProblem; // Spigot -@@ -130,6 +132,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -129,6 +130,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig((((WorldDataServer)worlddatamutable).getName()), this.spigotConfig); // Paper this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((WorldDataServer)worlddatamutable).getName()); // Tuinity - Server Config this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((WorldDataServer)worlddatamutable).getName())); // Purpur + this.origamiConfig = new de.minebench.origami.OrigamiConfig.WorldConfig(((WorldDataServer)worlddatamutable).getName()); // Origami -+ this.rainforestConfig = new RainforestWorldConfig(((WorldDataServer)worlddatamutable).getName(), paperConfig); // Rainforest this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray this.generator = gen; this.world = new CraftWorld((WorldServer) this, gen, env); -@@ -422,9 +426,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -421,9 +423,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable { IBlockData iblockdata2 = this.getType(blockposition); if ((i & 128) == 0 && iblockdata2 != iblockdata1 && (iblockdata2.b((IBlockAccess) this, blockposition) != iblockdata1.b((IBlockAccess) this, blockposition) || iblockdata2.f() != iblockdata1.f() || iblockdata2.e() || iblockdata1.e())) { @@ -2439,28 +2382,28 @@ index 6ff36345b0fbb7e67d3b7ad29823a135ea5bb3a3..2a8db362f007c25472b2114fd7a757a4 /* diff --git a/src/main/java/net/minecraft/server/World.java.rej b/src/main/java/net/minecraft/server/World.java.rej deleted file mode 100644 -index 055f1e52a39a9a4c8406adc6f313f4ef67ee3d39..0000000000000000000000000000000000000000 +index 313aa8f7d47c53a6a0130994c9d61d7c073c95c6..0000000000000000000000000000000000000000 --- a/src/main/java/net/minecraft/server/World.java.rej +++ /dev/null @@ -1,18 +0,0 @@ -diff a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java (rejected hunks) --@@ -94,6 +95,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +-@@ -94,6 +94,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { - public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper - public final ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray - --+ public final RainforestWorldConfig rainforestConfig; // Rainforest +-+ public final de.minebench.origami.OrigamiConfig.WorldConfig origamiConfig; // Origami - World Config -+ - public final co.aikar.timings.WorldTimingsHandler timings; // Paper - public static BlockPosition lastPhysicsProblem; // Spigot - private org.spigotmc.TickLimiter entityLimiter; --@@ -125,6 +128,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +-@@ -124,6 +126,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +- protected World(WorldDataMutable worlddatamutable, ResourceKey resourcekey, final DimensionManager dimensionmanager, Supplier supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((WorldDataServer) worlddatamutable).getName()); // Spigot - this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig((((WorldDataServer)worlddatamutable).getName()), this.spigotConfig); // Paper +-+ this.origamiConfig = new de.minebench.origami.OrigamiConfig.WorldConfig(((WorldDataServer)worlddatamutable).getName()); // Origami - World Config - this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray --+ this.rainforestConfig = new RainforestWorldConfig((((WorldDataServer)worlddatamutable).getName()), this.paperConfig); // Rainforest - this.generator = gen; - this.world = new CraftWorld((WorldServer) this, gen, env); -- this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/net/minecraft/server/WorldDataServer.java b/src/main/java/net/minecraft/server/WorldDataServer.java index a7e623044aece1f46e2d039cd2dcf710120ac267..dbcee8f22389e8a1ce58539cd8839bcc4fc3c720 100644 --- a/src/main/java/net/minecraft/server/WorldDataServer.java @@ -3042,37 +2985,29 @@ index 12ee96c0bb54227dbfab7240d8b114577e0b78f3..00000000000000000000000000000000 - - public int villagerBrainTicks = 1; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bae899f354afe1819c7850f30d827a33696b00fa..74aa903d3c362351f688979daa0c4f4145e582e4 100644 +index bae899f354afe1819c7850f30d827a33696b00fa..324b3c8f85801670d501e9c58585baa395232226 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -842,6 +842,8 @@ public final class CraftServer implements Server { +@@ -842,6 +842,7 @@ public final class CraftServer implements Server { com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur -+ com.proximyst.rainforest.RainforestConfig.init((File) console.options.valueOf("rainforest-settings")); // Rainforest + de.minebench.origami.OrigamiConfig.init((File) console.options.valueOf("origami-settings")); // Origami for (WorldServer world : console.getWorlds()) { world.worldDataServer.setDifficulty(config.difficulty); world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals); -@@ -878,6 +880,8 @@ public final class CraftServer implements Server { +@@ -878,6 +879,7 @@ public final class CraftServer implements Server { world.paperConfig.init(); // Paper world.tuinityConfig.init(); // Tuinity - Server Config world.purpurConfig.init(); // Purpur -+ world.rainforestConfig.init(); // Rainforest + world.origamiConfig.init(); // Origami } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -2254,6 +2258,19 @@ public final class CraftServer implements Server { +@@ -2254,6 +2256,13 @@ public final class CraftServer implements Server { } // Purpur end -+ // Rainforest start -+ @Override -+ public YamlConfiguration getRainforestConfig() { -+ return com.proximyst.rainforest.RainforestConfig.config; -+ } -+ // Rainforest end + // Origami start + @Override + public YamlConfiguration getOrigamiConfig() { @@ -3083,7 +3018,7 @@ index bae899f354afe1819c7850f30d827a33696b00fa..74aa903d3c362351f688979daa0c4f41 @Override public void restart() { org.spigotmc.RestartCommand.restart(); -@@ -2393,4 +2410,11 @@ public final class CraftServer implements Server { +@@ -2393,4 +2402,11 @@ public final class CraftServer implements Server { return mobGoals; } // Paper end @@ -3097,56 +3032,30 @@ index bae899f354afe1819c7850f30d827a33696b00fa..74aa903d3c362351f688979daa0c4f41 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java.rej b/src/main/java/org/bukkit/craftbukkit/CraftServer.java.rej deleted file mode 100644 -index bd0dcb52322f39c6f82864b480c2fece8bd6be3a..0000000000000000000000000000000000000000 +index 9e8af19858ff226ec9a7a82c118d592f23de281f..0000000000000000000000000000000000000000 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java.rej +++ /dev/null -@@ -1,31 +0,0 @@ +@@ -1,12 +0,0 @@ -diff a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java (rejected hunks) --@@ -854,6 +854,7 @@ public final class CraftServer implements Server { -- -- org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot -- com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper --+ com.proximyst.rainforest.RainforestConfig.init((File) console.options.valueOf("rainforest-settings")); // Rainforest -- for (WorldServer world : console.getWorlds()) { -- world.worldDataServer.setDifficulty(config.difficulty); -- world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals); --@@ -888,6 +889,7 @@ public final class CraftServer implements Server { -- } -- world.spigotConfig.init(); // Spigot -- world.paperConfig.init(); // Paper --+ world.rainforestConfig.init(); // Rainforest -- } -- -- Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper --@@ -2239,6 +2241,13 @@ public final class CraftServer implements Server { -- return com.destroystokyo.paper.PaperConfig.config; -- } -- --+ // Rainforest start --+ @Override --+ public YamlConfiguration getRainforestConfig() { --+ return com.proximyst.rainforest.RainforestConfig.config; --+ } --+ // Rainforest end +-@@ -2410,5 +2410,10 @@ public final class CraftServer implements Server { +- public String getServerName() { +- return getProperties().serverName; +- } -+ -- @Override -- public void restart() { -- org.spigotmc.RestartCommand.restart(); +-+ @Override +-+ public boolean isLagging() { +-+ return getServer().lagging; +-+ } +- // Purpur end +- } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 210cb10ea75b99d3b5d7b5bce5cea44e3cc0fc20..1acfbf3a63ee0e8d4bd4773f06b4be1e4961f527 100644 +index 210cb10ea75b99d3b5d7b5bce5cea44e3cc0fc20..62012d2b780d3399bd641ca3ca4a4ac127e3bcb5 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -154,6 +154,21 @@ public class Main { +@@ -154,6 +154,14 @@ public class Main { .describedAs("Yml file"); // Purpur end -+ // Rainforest start -+ acceptsAll(asList("rainforest", "rainforest-settings"), "File for rainforest settings") -+ .withRequiredArg() -+ .ofType(File.class) -+ .defaultsTo(new File("rainforest.yml")) -+ .describedAs("Yml file"); -+ // Rainforest end + // Origami start + acceptsAll(asList("origami", "origami-settings"), "File for origami settings") + .withRequiredArg() @@ -3160,7 +3069,7 @@ index 210cb10ea75b99d3b5d7b5bce5cea44e3cc0fc20..1acfbf3a63ee0e8d4bd4773f06b4be1e .withRequiredArg() diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java.rej b/src/main/java/org/bukkit/craftbukkit/Main.java.rej deleted file mode 100644 -index 916603085d652444027e4513b77293ece84a6c4f..0000000000000000000000000000000000000000 +index 27a6c3279b77f24edcea24f3a01559145d2f4da1..0000000000000000000000000000000000000000 --- a/src/main/java/org/bukkit/craftbukkit/Main.java.rej +++ /dev/null @@ -1,16 +0,0 @@ @@ -3169,13 +3078,13 @@ index 916603085d652444027e4513b77293ece84a6c4f..00000000000000000000000000000000 - .describedAs("Yml file"); - // Paper end - --+ // Rainforest start --+ acceptsAll(asList("rainforest", "rainforest-settings"), "File for rainforest settings") +-+ // Origami Start - Server Config +-+ acceptsAll(asList("origami", "origami-settings"), "File for origami settings") -+ .withRequiredArg() -+ .ofType(File.class) --+ .defaultsTo(new File("rainforest.yml")) +-+ .defaultsTo(new File("origami.yml")) -+ .describedAs("Yml file"); --+ // Rainforest end +-+ // Origami end - Server Config -+ - // Paper start - acceptsAll(asList("server-name"), "Name of the server") diff --git a/patches/server/0003-Brandings.patch b/patches/server/0003-Brandings.patch index 17161c46..43974284 100644 --- a/patches/server/0003-Brandings.patch +++ b/patches/server/0003-Brandings.patch @@ -133,7 +133,7 @@ index 0000000000000000000000000000000000000000..fdfd1af1309df4a400b47768708bec7a +} \ No newline at end of file diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 74aa903d3c362351f688979daa0c4f4145e582e4..d7b45169369d6463d1d0b0de0a62b32079da34ce 100644 +index 324b3c8f85801670d501e9c58585baa395232226..23c3f04ea5b61ec403d70e221acb6120e7b4360c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -216,7 +216,7 @@ import javax.annotation.Nullable; // Paper diff --git a/patches/server/0005-Add-getLastTickMs-api.patch b/patches/server/0005-Add-getLastTickMs-api.patch index e4d6fef5..6511fb79 100644 --- a/patches/server/0005-Add-getLastTickMs-api.patch +++ b/patches/server/0005-Add-getLastTickMs-api.patch @@ -28,10 +28,10 @@ index 323d489b1e690500986bc0cbb4c2c93cc193bf70..5274dcde8b06200357b11b77cc72ec41 this.X = true; // Purpur start - tps catchup diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d7b45169369d6463d1d0b0de0a62b32079da34ce..521e2e4923775aa5a198fd370818a9873019c102 100644 +index 23c3f04ea5b61ec403d70e221acb6120e7b4360c..5c221dd6b6e318eaa876f6f3016c9d4d8ded13fb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2417,4 +2417,11 @@ public final class CraftServer implements Server { +@@ -2409,4 +2409,11 @@ public final class CraftServer implements Server { return getServer().lagging; } // Purpur end diff --git a/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch b/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch index d2ec359e..6910b0df 100644 --- a/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch +++ b/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch @@ -5,17 +5,26 @@ Subject: [PATCH] Add config Yatopia command and basic settings diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java -index b67f05f290db653cf75a89e85bd3decb5044a1e0..11758b6b158d971b9beb1b609d7513dab46be525 100644 +index dae2e5d70756c5b61163d57099b65f7e415b288c..21712a6691e00ffaf523f084da6ce5659fc98be9 100644 --- a/src/main/java/co/aikar/timings/TimingsExport.java +++ b/src/main/java/co/aikar/timings/TimingsExport.java -@@ -232,6 +232,7 @@ public class TimingsExport extends Thread { - pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)), // Tuinity - add config to timings report - pair("tuinity", mapAsJSON(Bukkit.spigot().getTuinityConfig(), null)) // Tuinity - add config to timings report - , pair("purpur", mapAsJSON(Bukkit.spigot().getPurpurConfig(), null)) // Purpur - add config to timings report -+ , pair("yatopia", mapAsJSON(Bukkit.spigot().getYatopiaConfig(), null)) // Yatopia - add config to timings report +@@ -234,6 +234,7 @@ public class TimingsExport extends Thread { + pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)), + pair("tuinity", mapAsJSON(Bukkit.spigot().getTuinityConfig(), null)), // Tuinity - add config to timings report + pair("purpur", mapAsJSON(Bukkit.spigot().getPurpurConfig(), null)) ++ , pair("yatopia", mapAsJSON(Bukkit.spigot().getYatopiaConfig(), null)) // Yatopia - add config to timings report + // Purpur end )); - new TimingsExport(listeners, parent, history).start(); +@@ -324,7 +325,7 @@ public class TimingsExport extends Thread { + String response = null; + String timingsURL = null; + try { +- HttpURLConnection con = (HttpURLConnection) new URL(net.pl3x.purpur.PurpurConfig.timingsUrl + "/post").openConnection(); // Purpur ++ HttpURLConnection con = (HttpURLConnection) new URL("http://timings.aikar.co/post").openConnection(); // Purpur // Yatopia + con.setDoOutput(true); + String hostName = "BrokenHost"; + try { diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java index 050e0d7ec29755590dde2f35090b96f6f2457952..dde91498e773cc6744612f780ce82bd35ad79637 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java @@ -56,6 +65,19 @@ index 7083b379568fd101bec19469b60daf062bc4d137..0a7f88de5c5c307ed01c2f4a43336571 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 c944b407df03fca1153978d0763313d44d6461c8..66d0cf7d4b0bbffbd5eff64bfc46806c6f834c21 100644 +--- a/src/main/java/net/minecraft/server/PlayerList.java ++++ b/src/main/java/net/minecraft/server/PlayerList.java +@@ -189,7 +189,7 @@ public abstract class PlayerList { + // Spigot - view distance + playerconnection.sendPacket(new PacketPlayOutLogin(entityplayer.getId(), entityplayer.playerInteractManager.getGameMode(), entityplayer.playerInteractManager.c(), BiomeManager.a(worldserver1.getSeed()), worlddata.isHardcore(), this.server.F(), this.s, worldserver1.getDimensionManager(), worldserver1.getDimensionKey(), this.getMaxPlayers(), worldserver1.getChunkProvider().playerChunkMap.getLoadViewDistance(), flag1, !flag, worldserver1.isDebugWorld(), worldserver1.isFlatWorld())); // Paper - no-tick view distance + entityplayer.getBukkitEntity().sendSupportedChannels(); // CraftBukkit +- playerconnection.sendPacket(new PacketPlayOutCustomPayload(PacketPlayOutCustomPayload.a, (new PacketDataSerializer(Unpooled.buffer())).a(this.getServer().getServerModName()))); ++ playerconnection.sendPacket(new PacketPlayOutCustomPayload(PacketPlayOutCustomPayload.a, (new PacketDataSerializer(Unpooled.buffer())).a(net.yatopia.server.YatopiaConfig.brandName))); // Yatopia + playerconnection.sendPacket(new PacketPlayOutServerDifficulty(worlddata.getDifficulty(), worlddata.isDifficultyLocked())); + playerconnection.sendPacket(new PacketPlayOutAbilities(entityplayer.abilities)); + playerconnection.sendPacket(new PacketPlayOutHeldItemSlot(entityplayer.inventory.itemInHandIndex)); diff --git a/src/main/java/net/yatopia/server/YatopiaCommand.java b/src/main/java/net/yatopia/server/YatopiaCommand.java new file mode 100644 index 0000000000000000000000000000000000000000..3a3cda53b253e42556268506e2c32b65be84bedb @@ -205,7 +227,7 @@ index 0000000000000000000000000000000000000000..3a3cda53b253e42556268506e2c32b65 +} diff --git a/src/main/java/net/yatopia/server/YatopiaConfig.java b/src/main/java/net/yatopia/server/YatopiaConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..bf91f41cee803734bbee82d783705bf7aa1cbace +index 0000000000000000000000000000000000000000..f69be0c7eef07727028c14e5ad9c859363aa19c0 --- /dev/null +++ b/src/main/java/net/yatopia/server/YatopiaConfig.java @@ -0,0 +1,213 @@ @@ -270,22 +292,18 @@ index 0000000000000000000000000000000000000000..bf91f41cee803734bbee82d783705bf7 + private static void removeLeftovers() { + // this method is only to remove non-used values in the config + -+ // leftover from akarin / rainforest ++ // leftover from rainforest + if (config.get("world-settings") != null) { + set("world-settings", null); + } -+ // unused settings getting removed -+ if (config.get("settings.disablePlayerOutOfWorldBorderCheck") != null) { -+ set("settings.disablePlayerOutOfWorldBorderCheck", null); ++ if (config.get("allow-player-item-duplication") != null) { ++ set("allow-player-item-duplication", null); + } -+ if (config.get("settings.disableEntityCollisions") != null) { -+ set("settings.disableEntityCollisions", null); ++ if (config.get("allow-ridable-chestable-duping") != null) { ++ set("allow-ridable-chestable-duping", null); + } -+ if (config.get("settings.onlyPlayerCollisions") != null) { -+ set("settings.onlyPlayerCollisions", null); -+ } -+ if (config.get("settings.disableEntityCollisionboxes") != null) { -+ set("settings.disableEntityCollisionboxes", null); ++ if (config.get("allow-sand-duping") != null) { ++ set("allow-sand-duping", null); + } + } + @@ -421,20 +439,24 @@ index 0000000000000000000000000000000000000000..bf91f41cee803734bbee82d783705bf7 + disableEntityStuckChecks = getBoolean("settings.disableEntityStuckChecks", false); + } + ++ public static String brandName = "Yatopia"; ++ private static void brandName() { ++ brandName = getString("brand-name", brandName); ++ } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 521e2e4923775aa5a198fd370818a9873019c102..c212d6069f1b9791805520a632dda2ad8770022d 100644 +index 5c221dd6b6e318eaa876f6f3016c9d4d8ded13fb..3f02309c1ede76ed69c6a95ec5e9807715949146 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -844,6 +844,7 @@ public final class CraftServer implements Server { +@@ -843,6 +843,7 @@ public final class CraftServer implements Server { + com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur - com.proximyst.rainforest.RainforestConfig.init((File) console.options.valueOf("rainforest-settings")); // Rainforest de.minebench.origami.OrigamiConfig.init((File) console.options.valueOf("origami-settings")); // Origami + net.yatopia.server.YatopiaConfig.init((File) console.options.valueOf("yatopia-settings")); // Yatopia for (WorldServer world : console.getWorlds()) { world.worldDataServer.setDifficulty(config.difficulty); world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals); -@@ -2271,6 +2272,13 @@ public final class CraftServer implements Server { +@@ -2263,6 +2264,13 @@ public final class CraftServer implements Server { } // Origami end @@ -449,10 +471,10 @@ index 521e2e4923775aa5a198fd370818a9873019c102..c212d6069f1b9791805520a632dda2ad public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 1acfbf3a63ee0e8d4bd4773f06b4be1e4961f527..4032f71f1eb916b9a004502eab9babfb0bcf0be2 100644 +index 62012d2b780d3399bd641ca3ca4a4ac127e3bcb5..dddba89eee0181c066ad979bc2b75e8de36e7458 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -169,6 +169,14 @@ public class Main { +@@ -162,6 +162,14 @@ public class Main { .describedAs("Yml file"); // Origami end diff --git a/patches/server/0008-Allow-to-change-the-piston-push-limit.patch b/patches/server/0008-Allow-to-change-the-piston-push-limit.patch index 0f196097..1ecda1e3 100644 --- a/patches/server/0008-Allow-to-change-the-piston-push-limit.patch +++ b/patches/server/0008-Allow-to-change-the-piston-push-limit.patch @@ -36,13 +36,14 @@ index 95aeaaf0bb07c5ecf7117dae3382b0f0aac6426f..71636ce642efcd3453b6c5bfb2b2ef0e } diff --git a/src/main/java/net/yatopia/server/YatopiaConfig.java b/src/main/java/net/yatopia/server/YatopiaConfig.java -index bf91f41cee803734bbee82d783705bf7aa1cbace..5b0e2d01fbcc5d15e30a05d456f1c6533cd13412 100644 +index f69be0c7eef07727028c14e5ad9c859363aa19c0..b918247b14c712f48eb0c55d2750c49fc86256df 100644 --- a/src/main/java/net/yatopia/server/YatopiaConfig.java +++ b/src/main/java/net/yatopia/server/YatopiaConfig.java -@@ -210,4 +210,8 @@ public class YatopiaConfig { - disableEntityStuckChecks = getBoolean("settings.disableEntityStuckChecks", false); +@@ -210,4 +210,9 @@ public class YatopiaConfig { + private static void brandName() { + brandName = getString("brand-name", brandName); } - ++ + public static int pistonPushLimit = 12; + private static void pistonPushLimit() { + pistonPushLimit = getInt("settings.pistonPushLimit", 12); diff --git a/patches/server/0010-Player-saving-async-FileIO.patch b/patches/server/0010-Player-saving-async-FileIO.patch index 34ff1f4a..4be0f1d9 100644 --- a/patches/server/0010-Player-saving-async-FileIO.patch +++ b/patches/server/0010-Player-saving-async-FileIO.patch @@ -77,7 +77,7 @@ index ce4ebc96c01f3dacf4e4d0569d86f52140440d43..a52c0391b171c8a57de75f87c534ce1e nbttagcompound.set("ShoulderEntityLeft", this.getShoulderEntityLeft()); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 334fd6fe58f53ad8989ac4ddf523b156a8dd264d..8bec2ac5e78f28e879db69e1673b0cd90f5abc31 100644 +index 66d0cf7d4b0bbffbd5eff64bfc46806c6f834c21..c3c3ddf7e65aaa63b8e7c65d5d513ae664526896 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1283,6 +1283,28 @@ public abstract class PlayerList { diff --git a/patches/server/0018-Item-stuck-sleep-config.patch b/patches/server/0018-Item-stuck-sleep-config.patch index 365ab164..d3ee5570 100644 --- a/patches/server/0018-Item-stuck-sleep-config.patch +++ b/patches/server/0018-Item-stuck-sleep-config.patch @@ -18,10 +18,10 @@ index 9110491fb4cf4424d737b47602a85abaa7f30bea..13a712f1c75a1d6d3a5cedb4a11b2768 if (this.noclip) { this.l(this.locX(), (this.getBoundingBox().minY + this.getBoundingBox().maxY) / 2.0D, this.locZ()); diff --git a/src/main/java/net/yatopia/server/YatopiaConfig.java b/src/main/java/net/yatopia/server/YatopiaConfig.java -index 5b0e2d01fbcc5d15e30a05d456f1c6533cd13412..bf8b625c12a37108e0a071ca628f0f67ba51754b 100644 +index b918247b14c712f48eb0c55d2750c49fc86256df..88ec22d8211276aeaadc14c5c13dc8a6fbedb382 100644 --- a/src/main/java/net/yatopia/server/YatopiaConfig.java +++ b/src/main/java/net/yatopia/server/YatopiaConfig.java -@@ -214,4 +214,9 @@ public class YatopiaConfig { +@@ -215,4 +215,9 @@ public class YatopiaConfig { private static void pistonPushLimit() { pistonPushLimit = getInt("settings.pistonPushLimit", 12); } diff --git a/patches/server/0019-Option-for-simpler-Villagers.patch b/patches/server/0019-Option-for-simpler-Villagers.patch index 0cd85f48..f179cea1 100644 --- a/patches/server/0019-Option-for-simpler-Villagers.patch +++ b/patches/server/0019-Option-for-simpler-Villagers.patch @@ -151,10 +151,10 @@ index 1104196cf6dc448dada2e190e5e9e27c9f18d2dc..da2bd7c597a3f691ec13ff37dd2ef87d MinecraftServer minecraftserver = ((WorldServer) this.world).getMinecraftServer(); diff --git a/src/main/java/net/yatopia/server/YatopiaConfig.java b/src/main/java/net/yatopia/server/YatopiaConfig.java -index bf8b625c12a37108e0a071ca628f0f67ba51754b..3499f743e875338f51c2193dff0ded5881ac70b7 100644 +index 88ec22d8211276aeaadc14c5c13dc8a6fbedb382..c60c3c4b730fe299e62c277cdd644b6afd3841e5 100644 --- a/src/main/java/net/yatopia/server/YatopiaConfig.java +++ b/src/main/java/net/yatopia/server/YatopiaConfig.java -@@ -219,4 +219,11 @@ public class YatopiaConfig { +@@ -220,4 +220,11 @@ public class YatopiaConfig { private static void itemStuckSleepTicks() { itemStuckSleepTicks = getInt("settings.itemStuckSleepTicks", 1); } diff --git a/patches/server/0021-Optimize-TileEntity-load-unload.patch b/patches/server/0021-Optimize-TileEntity-load-unload.patch index 3c1eeee7..d14e4e2d 100644 --- a/patches/server/0021-Optimize-TileEntity-load-unload.patch +++ b/patches/server/0021-Optimize-TileEntity-load-unload.patch @@ -5,10 +5,10 @@ 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 2a8db362f007c25472b2114fd7a757a40a418e82..bba4675dc090d33cac09e2868e36935e4bc2550a 100644 +index 702588cbab8aa2ced1a8f4b75d65552dd616efda..1025237084d46cce2044b17458797282923aa3c7 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -43,9 +43,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -42,9 +42,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public static final ResourceKey THE_END = ResourceKey.a(IRegistry.L, new MinecraftKey("the_end")); private static final EnumDirection[] a = EnumDirection.values(); //public final List tileEntityList = Lists.newArrayList(); // Paper - remove unused list diff --git a/patches/server/0023-Redirect-Configs.patch b/patches/server/0023-Redirect-Configs.patch index 8ec3246d..951c6800 100644 --- a/patches/server/0023-Redirect-Configs.patch +++ b/patches/server/0023-Redirect-Configs.patch @@ -4,33 +4,6 @@ Date: Wed, 5 Aug 2020 08:17:46 -0500 Subject: [PATCH] Redirect Configs -diff --git a/src/main/java/com/proximyst/rainforest/RainforestConfig.java b/src/main/java/com/proximyst/rainforest/RainforestConfig.java -index f6623032e5d4034c104aa1fc6ff4265169e462ba..4bc94e4598cff801d08e457ebbf184fbaadb3b19 100644 ---- a/src/main/java/com/proximyst/rainforest/RainforestConfig.java -+++ b/src/main/java/com/proximyst/rainforest/RainforestConfig.java -@@ -37,6 +37,8 @@ public final class RainforestConfig { - private static boolean fatalError; - - public static void init(File configFile) { -+ // Yatopia start -+ /* - CONFIG_FILE = configFile; - config = new YamlConfiguration(); - try { -@@ -56,7 +58,13 @@ public final class RainforestConfig { - - version = getInt("config-version", 1); - set("config-version", 1); -+ */ -+ config = net.yatopia.server.YatopiaConfig.config; -+ CONFIG_FILE = net.yatopia.server.YatopiaConfig.CONFIG_FILE; -+ verbose = net.yatopia.server.YatopiaConfig.verbose; -+ version = net.yatopia.server.YatopiaConfig.version; - readConfig(RainforestConfig.class, null); -+ // Yatopia end - } - - protected static void logError(String s) { diff --git a/src/main/java/de/minebench/origami/OrigamiConfig.java b/src/main/java/de/minebench/origami/OrigamiConfig.java index bbf09800b7b72bdfb75c91e4c6c77fe00e3ad436..1d98bfdee95fb1052fcd9f141a2ab82ba9dcf2f9 100644 --- a/src/main/java/de/minebench/origami/OrigamiConfig.java @@ -73,23 +46,22 @@ index bbf09800b7b72bdfb75c91e4c6c77fe00e3ad436..1d98bfdee95fb1052fcd9f141a2ab82b for (final Method method : clazz.getDeclaredMethods()) { if (method.getReturnType() != void.class || method.getParameterCount() != 0 || diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index dde91498e773cc6744612f780ce82bd35ad79637..70d22f03162df1855fa8632127ef1a3e6703c4be 100644 +index dde91498e773cc6744612f780ce82bd35ad79637..15ccdad0f46297c30ed603879db467608c410df4 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -185,6 +185,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -185,6 +185,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer return false; } net.yatopia.server.YatopiaConfig.registerCommands(); + de.minebench.origami.OrigamiConfig.init((java.io.File) options.valueOf("origami-settings")); -+ com.proximyst.rainforest.RainforestConfig.init((java.io.File) options.valueOf("rainforest-settings")); // Yatopia end this.setPVP(dedicatedserverproperties.pvp); this.setAllowFlight(dedicatedserverproperties.allowFlight); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 4032f71f1eb916b9a004502eab9babfb0bcf0be2..dcbe92898db5297c9c74b482eefbcdb9aca2c1a5 100644 +index dddba89eee0181c066ad979bc2b75e8de36e7458..2b7bfeb79200458912aef6b20ee53c4c276b3451 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -310,7 +310,7 @@ public class Main { +@@ -303,7 +303,7 @@ public class Main { } // Paper end System.setProperty( "library.jansi.version", "Paper" ); // Paper - set meaningless jansi version to prevent git builds from crashing on Windows diff --git a/patches/server/0027-Fix-lead-fall-dmg-config.patch b/patches/server/0027-Fix-lead-fall-dmg-config.patch index a32ccdd3..6fff3279 100644 --- a/patches/server/0027-Fix-lead-fall-dmg-config.patch +++ b/patches/server/0027-Fix-lead-fall-dmg-config.patch @@ -5,10 +5,10 @@ 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 d413574045360c4724d2c84f1bbbf4d9abe53fe4..67bc0a002565571c9884560a859802465847d392 100644 +index 26306687857100173e762578eb2c509370279207..c6bbc620e163acea757b610e95169e8f0cf9fd1d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1263,6 +1263,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1262,6 +1262,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.fallDistance = 0.0F; } else if (d0 < 0.0D) { this.fallDistance = (float) ((double) this.fallDistance - d0); @@ -18,10 +18,10 @@ index d413574045360c4724d2c84f1bbbf4d9abe53fe4..67bc0a002565571c9884560a85980246 } diff --git a/src/main/java/net/yatopia/server/YatopiaConfig.java b/src/main/java/net/yatopia/server/YatopiaConfig.java -index 3499f743e875338f51c2193dff0ded5881ac70b7..349834a9b367f00478448c5be8216a856b4b21c4 100644 +index c60c3c4b730fe299e62c277cdd644b6afd3841e5..c1aa37a91aef1bd2a2cafa32cb6028831f0f8c1d 100644 --- a/src/main/java/net/yatopia/server/YatopiaConfig.java +++ b/src/main/java/net/yatopia/server/YatopiaConfig.java -@@ -226,4 +226,9 @@ public class YatopiaConfig { +@@ -227,4 +227,9 @@ public class YatopiaConfig { simplerVillagerBehavior = getBoolean("settings.villager.simplerVillagerBehavior", false); villagersHideAtNight = getBoolean("settings.villager.villagersHideAtNight", false); } diff --git a/patches/server/0033-Use-offline-uuids-if-we-need-to.patch b/patches/server/0033-Use-offline-uuids-if-we-need-to.patch index d925015f..75eb4ac6 100644 --- a/patches/server/0033-Use-offline-uuids-if-we-need-to.patch +++ b/patches/server/0033-Use-offline-uuids-if-we-need-to.patch @@ -65,10 +65,10 @@ index 1496c43fc9487caf6ddb3782a9d1c79ef6ca1e94..7e486c0f326449a10700efcec7ed3d9d } diff --git a/src/main/java/net/yatopia/server/YatopiaConfig.java b/src/main/java/net/yatopia/server/YatopiaConfig.java -index 349834a9b367f00478448c5be8216a856b4b21c4..7c1b4ebf3a067045461782840566319191984f72 100644 +index c1aa37a91aef1bd2a2cafa32cb6028831f0f8c1d..256a713df5ed27fbe926ab0a124ffcd438fa431c 100644 --- a/src/main/java/net/yatopia/server/YatopiaConfig.java +++ b/src/main/java/net/yatopia/server/YatopiaConfig.java -@@ -231,4 +231,26 @@ public class YatopiaConfig { +@@ -232,4 +232,26 @@ public class YatopiaConfig { private static void fixFallDistance() { fixFallDistance = getBoolean("settings.fixFallDistance", false); } diff --git a/patches/server/0034-lithium-collision-optimizations.patch b/patches/server/0034-lithium-collision-optimizations.patch index ff084f98..83026df5 100644 --- a/patches/server/0034-lithium-collision-optimizations.patch +++ b/patches/server/0034-lithium-collision-optimizations.patch @@ -826,10 +826,10 @@ index ac6e5e3309affc830d4db07fd9b8d809c3085033..37a3b26cdeb02acb8051f0a99313de79 } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 67bc0a002565571c9884560a859802465847d392..44393c7914c390183d3baa1736b59a334eab5944 100644 +index c6bbc620e163acea757b610e95169e8f0cf9fd1d..388be69fb55c6b1cfd5ccc7635b54aa648728768 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -73,7 +73,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -72,7 +72,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } } }; diff --git a/patches/server/0040-Nuke-streams-off-BlockPosition.patch b/patches/server/0040-Nuke-streams-off-BlockPosition.patch index b3c0eb73..3682a743 100644 --- a/patches/server/0040-Nuke-streams-off-BlockPosition.patch +++ b/patches/server/0040-Nuke-streams-off-BlockPosition.patch @@ -89,10 +89,10 @@ index e6b5a21c523c598f53207d024322301fbae74825..5e0aa6e35b1d4e23fdf42add15420665 return a(MathHelper.floor(axisalignedbb.minX), MathHelper.floor(axisalignedbb.minY), MathHelper.floor(axisalignedbb.minZ), MathHelper.floor(axisalignedbb.maxX), MathHelper.floor(axisalignedbb.maxY), MathHelper.floor(axisalignedbb.maxZ)); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 44393c7914c390183d3baa1736b59a334eab5944..07ae7f9592d78b3e0f0dd7ef543e8c8ac10543ca 100644 +index 388be69fb55c6b1cfd5ccc7635b54aa648728768..71210cfb2079e92392323e9df945975fed0ac9d4 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -801,11 +801,25 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -800,11 +800,25 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke float f2 = this.getBlockSpeedFactor(); this.setMot(this.getMot().d((double) f2, 1.0D, (double) f2)); diff --git a/patches/server/0042-Stop-wasting-resources-on-JsonList-get.patch b/patches/server/0042-Stop-wasting-resources-on-JsonList-get.patch index a2dd3d09..f8326a3c 100644 --- a/patches/server/0042-Stop-wasting-resources-on-JsonList-get.patch +++ b/patches/server/0042-Stop-wasting-resources-on-JsonList-get.patch @@ -56,7 +56,7 @@ index 3fb72d6ee587d66a9b7e1dec27fc4f64b82ab4df..596815d70e69fd645bec5b6e8c1ebc7b Throwable throwable = null; diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 8bec2ac5e78f28e879db69e1673b0cd90f5abc31..2fdca1dc83ba77dbf0c84ebfac1af6cb330d52fa 100644 +index c3c3ddf7e65aaa63b8e7c65d5d513ae664526896..c571ca533153e6d554d6da2a71b380224bdc6cd4 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -634,6 +634,7 @@ public abstract class PlayerList { diff --git a/patches/server/0046-Give-them-items-motion.patch b/patches/server/0046-Give-them-items-motion.patch index 027629c3..e9621e1b 100644 --- a/patches/server/0046-Give-them-items-motion.patch +++ b/patches/server/0046-Give-them-items-motion.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Give them items motion diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 07ae7f9592d78b3e0f0dd7ef543e8c8ac10543ca..ebe17a86dc340338fb4b4f1a5112bce8cc46dfd2 100644 +index 71210cfb2079e92392323e9df945975fed0ac9d4..7981875bb6b56d3a0d085ee924f1e61269e111c6 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1548,7 +1548,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1547,7 +1547,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public void setPositionRotation(double d0, double d1, double d2, float f, float f1) { diff --git a/patches/server/0048-Respect-PlayerKickEvent-leaveMessage.patch b/patches/server/0048-Respect-PlayerKickEvent-leaveMessage.patch index 3fc2306a..7a31eab3 100644 --- a/patches/server/0048-Respect-PlayerKickEvent-leaveMessage.patch +++ b/patches/server/0048-Respect-PlayerKickEvent-leaveMessage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Respect PlayerKickEvent leaveMessage diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index e9df48f860073a0e556645a833adf282a0f7c083..f4801c4fbb43be2a36de54c3076603604a6dd63a 100644 +index cb4f173774b46793bc3744cb3242edd9272df463..4fac720564b8687fae59c0f2e4898a48b16a9105 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -309,7 +309,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -308,7 +308,7 @@ public class PlayerConnection implements PacketListenerPlayIn { this.networkManager.sendPacket(new PacketPlayOutKickDisconnect(ichatbasecomponent), (future) -> { this.networkManager.close(ichatbasecomponent); }); @@ -17,7 +17,7 @@ index e9df48f860073a0e556645a833adf282a0f7c083..f4801c4fbb43be2a36de54c307660360 this.networkManager.stopReading(); MinecraftServer minecraftserver = this.minecraftServer; NetworkManager networkmanager = this.networkManager; -@@ -1604,6 +1604,11 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1603,6 +1603,11 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(IChatBaseComponent ichatbasecomponent) { @@ -29,7 +29,7 @@ index e9df48f860073a0e556645a833adf282a0f7c083..f4801c4fbb43be2a36de54c307660360 // CraftBukkit start - Rarely it would send a disconnect line twice if (this.processedDisconnect) { return; -@@ -1619,7 +1624,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1618,7 +1623,7 @@ public class PlayerConnection implements PacketListenerPlayIn { */ this.player.p(); @@ -39,7 +39,7 @@ index e9df48f860073a0e556645a833adf282a0f7c083..f4801c4fbb43be2a36de54c307660360 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 2fdca1dc83ba77dbf0c84ebfac1af6cb330d52fa..15768537fb3695d94c20fda53a708ef779761b79 100644 +index c571ca533153e6d554d6da2a71b380224bdc6cd4..25186df83c41ae168bca30b28149005f4b9f45e9 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -500,6 +500,11 @@ public abstract class PlayerList {