From 58185a044c9dbbba69f6ffe8cd376e36611edc8e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 5 Apr 2019 00:35:59 -0400 Subject: [PATCH] Don't throw if a server unregisters the version cmd --- .../0002-Paper-config-files.patch | 34 +++++++++++-------- ...-MinecraftKey-Information-to-Objects.patch | 16 ++++----- ...ead-Entities-in-entityList-iteration.patch | 8 ++--- 3 files changed, 31 insertions(+), 27 deletions(-) diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index ebc2f4a3eb..3de3adca65 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -1,4 +1,4 @@ -From a5eb13cb6d15cfa42961580bceb89f8b03356609 Mon Sep 17 00:00:00 2001 +From 6d7c54049384f29cda8dc22268864a57681ed022 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 21:02:09 -0600 Subject: [PATCH] Paper config files @@ -6,10 +6,10 @@ Subject: [PATCH] Paper config files diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java new file mode 100644 -index 0000000000..961966e169 +index 000000000..2e79b0b5f --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java -@@ -0,0 +1,237 @@ +@@ -0,0 +1,241 @@ +package com.destroystokyo.paper; + +import com.google.common.base.Functions; @@ -123,8 +123,12 @@ index 0000000000..961966e169 + break; + case "ver": + case "version": -+ org.bukkit.Bukkit.getServer().getCommandMap().getCommand("version").execute(sender, commandLabel, new String[0]); -+ break; ++ Command ver = org.bukkit.Bukkit.getServer().getCommandMap().getCommand("version"); ++ if (ver != null) { ++ ver.execute(sender, commandLabel, new String[0]); ++ break; ++ } ++ // else - fall through to default + default: + sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); + return false; @@ -249,7 +253,7 @@ index 0000000000..961966e169 +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java new file mode 100644 -index 0000000000..5586575ce9 +index 000000000..5586575ce --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -0,0 +1,184 @@ @@ -439,7 +443,7 @@ index 0000000000..5586575ce9 +} diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java new file mode 100644 -index 0000000000..a738657394 +index 000000000..a73865739 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -0,0 +1,67 @@ @@ -511,7 +515,7 @@ index 0000000000..a738657394 + } +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 64a6a681fb..ad9c00bc80 100644 +index 64a6a681f..ad9c00bc8 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -192,6 +192,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -531,7 +535,7 @@ index 64a6a681fb..ad9c00bc80 100644 DedicatedServer.LOGGER.info("Generating keypair"); this.a(MinecraftEncryption.b()); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 22be0e4225..33229f45d9 100644 +index 9a8bbeea7..cd998fcfb 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -133,9 +133,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener { @@ -548,7 +552,7 @@ index 22be0e4225..33229f45d9 100644 public boolean impulse; public int portalCooldown; diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index ee16fac91e..b8abd6363f 100644 +index ee16fac91..b8abd6363 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -2,6 +2,8 @@ package net.minecraft.server; @@ -572,7 +576,7 @@ index ee16fac91e..b8abd6363f 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 90c54a73d4..9865f7f7aa 100644 +index a84a182b2..9d5b3958b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -130,6 +130,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -593,7 +597,7 @@ index 90c54a73d4..9865f7f7aa 100644 this.world = new CraftWorld((WorldServer) this, gen, env); this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a0afe05615..2bf30cd6b4 100644 +index a0afe0561..2bf30cd6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -755,6 +755,7 @@ public final class CraftServer implements Server { @@ -648,7 +652,7 @@ index a0afe05615..2bf30cd6b4 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 5ae5b7099f..24620a8b8d 100644 +index 76abec66f..a62359ba6 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -128,6 +128,14 @@ public class Main { @@ -667,7 +671,7 @@ index 5ae5b7099f..24620a8b8d 100644 }; diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java -index 2578c4957f..d3c2abc398 100644 +index 2578c4957..d3c2abc39 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -39,31 +39,31 @@ public class SpigotWorldConfig @@ -708,5 +712,5 @@ index 2578c4957f..d3c2abc398 100644 config.addDefault( "world-settings.default." + path, def ); return config.getString( "world-settings." + worldName + "." + path, config.getString( "world-settings.default." + path ) ); -- -2.20.1 +2.21.0 diff --git a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch index 985c618e2e..94554bbccb 100644 --- a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch +++ b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch @@ -1,4 +1,4 @@ -From 68a23948d30b920b302c42cd4fc9eb1ab9b47c5c Mon Sep 17 00:00:00 2001 +From ce9840a8f99f46154e941de2d8560f0333f459a8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 01:40:13 -0400 Subject: [PATCH] Add MinecraftKey Information to Objects @@ -6,10 +6,10 @@ Subject: [PATCH] Add MinecraftKey Information to Objects Stores the reference to the objects respective MinecraftKey diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index 961966e169..56700fc596 100644 +index 2e79b0b5f..f38179e98 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java -@@ -171,7 +171,7 @@ public class PaperCommand extends Command { +@@ -175,7 +175,7 @@ public class PaperCommand extends Command { List entities = world.entityList; entities.forEach(e -> { @@ -19,7 +19,7 @@ index 961966e169..56700fc596 100644 MutablePair> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ()); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 33229f45d9..c87d11da5b 100644 +index cd998fcfb..d9c9748ce 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -44,7 +44,7 @@ import org.bukkit.event.entity.EntityPortalEvent; @@ -75,7 +75,7 @@ index 33229f45d9..c87d11da5b 100644 protected abstract void a(NBTTagCompound nbttagcompound); diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index a07ee150c2..d74bfa1201 100644 +index a07ee150c..d74bfa120 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -240,6 +240,7 @@ public class EntityTypes { @@ -88,7 +88,7 @@ index a07ee150c2..d74bfa1201 100644 } diff --git a/src/main/java/net/minecraft/server/KeyedObject.java b/src/main/java/net/minecraft/server/KeyedObject.java new file mode 100644 -index 0000000000..743142d030 +index 000000000..743142d03 --- /dev/null +++ b/src/main/java/net/minecraft/server/KeyedObject.java @@ -0,0 +1,9 @@ @@ -102,7 +102,7 @@ index 0000000000..743142d030 + } +} diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 62b6e6eb38..7390061bf0 100644 +index 62b6e6eb3..7390061bf 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -7,11 +7,11 @@ import org.apache.logging.log4j.Logger; @@ -147,5 +147,5 @@ index 62b6e6eb38..7390061bf0 100644 public World getWorld() { return this.world; -- -2.20.1 +2.21.0 diff --git a/Spigot-Server-Patches/0308-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0308-Ignore-Dead-Entities-in-entityList-iteration.patch index ab9c97aed1..20ad305ac9 100644 --- a/Spigot-Server-Patches/0308-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0308-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -1,4 +1,4 @@ -From 86175d98704ba04f46d51e36b6ff3fc2ff213f32 Mon Sep 17 00:00:00 2001 +From 0e53985f8b0afb2bffb0b17aa5a014b9023db2c3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 28 Jul 2018 12:18:27 -0400 Subject: [PATCH] Ignore Dead Entities in entityList iteration @@ -11,10 +11,10 @@ This will ensure that dead entities are skipped from iteration since they shouldn't of been in the list in the first place. diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index 56700fc59..9b9c8361e 100644 +index f38179e98..8e1bda4de 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java -@@ -172,6 +172,7 @@ public class PaperCommand extends Command { +@@ -176,6 +176,7 @@ public class PaperCommand extends Command { List entities = world.entityList; entities.forEach(e -> { MinecraftKey key = e.getMinecraftKey(); @@ -71,7 +71,7 @@ index f93adc860..814950bde 100644 if (entity instanceof EntityInsentient) { EntityInsentient entityinsentient = (EntityInsentient) entity; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2fca59f8f..3fdd12ec0 100644 +index 609b91126..4594bab46 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -634,6 +634,7 @@ public class CraftWorld implements World {