From 09692269ca9d8e66a7577808456aa0fbf4a0d86d Mon Sep 17 00:00:00 2001 From: MiniDigger Date: Sat, 10 Mar 2018 05:14:47 +0100 Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients. (#1040) This is a port of https://github.com/PaperMC/Paper/blob/ver/1.8.8/Spigot-Server-Patches/0040-Toggleable-player-crits-helps-mitigate-hacked-client.patch Also adds me to the MIT list. --- LICENSE.md | 1 + ...002-add-Trove-and-FastUtil-to-Bukkit.patch | 14 ++-- .../0006-Add-async-chunk-load-API.patch | 14 ++-- ...d-MetadataStoreBase.removeAll-Plugin.patch | 14 ++-- ...1-Add-source-to-PlayerExpChangeEvent.patch | 13 ++-- Spigot-Server-Patches/0006-Timings-v2.patch | 71 ++++++++++--------- .../0184-String-based-Action-Bar-API.patch | 16 ++--- ...oleAppender-for-console-improvements.patch | 38 +++++----- ...-Include-Log4J2-SLF4J-implementation.patch | 20 +++--- ...r-crits-helps-mitigate-hacked-client.patch | 38 ++++++++++ 10 files changed, 140 insertions(+), 99 deletions(-) create mode 100644 Spigot-Server-Patches/0271-Toggleable-player-crits-helps-mitigate-hacked-client.patch diff --git a/LICENSE.md b/LICENSE.md index 5d8bed927d..aad02db5bd 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -29,4 +29,5 @@ chickeneer Minecrell Techcable BillyGalbreath +MiniDigger ``` diff --git a/Spigot-API-Patches/0002-add-Trove-and-FastUtil-to-Bukkit.patch b/Spigot-API-Patches/0002-add-Trove-and-FastUtil-to-Bukkit.patch index ee5cec5505..f0f5cf6ed9 100644 --- a/Spigot-API-Patches/0002-add-Trove-and-FastUtil-to-Bukkit.patch +++ b/Spigot-API-Patches/0002-add-Trove-and-FastUtil-to-Bukkit.patch @@ -1,18 +1,17 @@ -From ccc005acdc20c3e802fd5148cb10b18c674b61a5 Mon Sep 17 00:00:00 2001 +From 0ed1405b722f13790683af1131a2f730973de468 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 1 Apr 2016 00:02:47 -0400 Subject: [PATCH] add Trove and FastUtil to Bukkit diff --git a/pom.xml b/pom.xml -index 360d2f08..c6bdf44e 100644 +index 4220760..623d9ea 100644 --- a/pom.xml +++ b/pom.xml -@@ -55,6 +55,19 @@ - +@@ -56,6 +56,19 @@ -+ + + net.sf.trove4j + trove4j + 3.0.3 @@ -25,9 +24,10 @@ index 360d2f08..c6bdf44e 100644 + 1.0 + provided + - ++ commons-lang commons-lang + 2.6 -- -2.14.1 +2.7.4 diff --git a/Spigot-API-Patches/0006-Add-async-chunk-load-API.patch b/Spigot-API-Patches/0006-Add-async-chunk-load-API.patch index f3676e70a4..4e016275be 100644 --- a/Spigot-API-Patches/0006-Add-async-chunk-load-API.patch +++ b/Spigot-API-Patches/0006-Add-async-chunk-load-API.patch @@ -1,18 +1,17 @@ -From fcbdb6e87df51ee39a544433fea61dc4382325df Mon Sep 17 00:00:00 2001 +From 09eb3c8e3b1d9927cba4ef385e4a0b331ccac59c Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 17:43:33 -0600 Subject: [PATCH] Add async chunk load API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 67b0d516..21b2733f 100644 +index 9b6eb48..561ef0e 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -136,6 +136,78 @@ public interface World extends PluginMessageRecipient, Metadatable { - */ +@@ -137,6 +137,78 @@ public interface World extends PluginMessageRecipient, Metadatable { public Chunk getChunkAt(Block block); -+ /** + /** + * Used by {@link World#getChunkAtAsync(Location,ChunkLoadCallback)} methods + * to request a {@link Chunk} to be loaded, with this callback receiving + * the chunk when it is finished. @@ -84,9 +83,10 @@ index 67b0d516..21b2733f 100644 + */ + public void getChunkAtAsync(Block block, ChunkLoadCallback cb); + - /** ++ /** * Checks if the specified {@link Chunk} is loaded * + * @param chunk The chunk to check -- -2.14.1 +2.7.4 diff --git a/Spigot-API-Patches/0032-Add-MetadataStoreBase.removeAll-Plugin.patch b/Spigot-API-Patches/0032-Add-MetadataStoreBase.removeAll-Plugin.patch index 4b8bbd51b7..39bb9a1b32 100644 --- a/Spigot-API-Patches/0032-Add-MetadataStoreBase.removeAll-Plugin.patch +++ b/Spigot-API-Patches/0032-Add-MetadataStoreBase.removeAll-Plugin.patch @@ -1,4 +1,4 @@ -From 3c8b5f4e36899b160be3c561bb94fbb9e01def01 Mon Sep 17 00:00:00 2001 +From edd66133aa37abe0e3387c2dd2b0e22e7bfb4f00 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 16 Jul 2013 21:26:50 -0400 Subject: [PATCH] Add MetadataStoreBase.removeAll(Plugin) @@ -6,14 +6,13 @@ Subject: [PATCH] Add MetadataStoreBase.removeAll(Plugin) So that on reload, metadata will be cleared diff --git a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java -index 64c0f0a7..6da6abd8 100644 +index 64c0f0a..6da6abd 100644 --- a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java +++ b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java -@@ -124,6 +124,26 @@ public abstract class MetadataStoreBase { - } +@@ -125,6 +125,26 @@ public abstract class MetadataStoreBase { } -+ /** + /** + * Removes all metadata in the metadata store that originates from the + * given plugin. + * @@ -33,9 +32,10 @@ index 64c0f0a7..6da6abd8 100644 + } + } + - /** ++ /** * Creates a unique name for the object receiving metadata by combining * unique data from the subject with a metadataKey. + *

-- -2.14.1 +2.7.4 diff --git a/Spigot-API-Patches/0041-Add-source-to-PlayerExpChangeEvent.patch b/Spigot-API-Patches/0041-Add-source-to-PlayerExpChangeEvent.patch index 0aa053a7c9..9037192600 100644 --- a/Spigot-API-Patches/0041-Add-source-to-PlayerExpChangeEvent.patch +++ b/Spigot-API-Patches/0041-Add-source-to-PlayerExpChangeEvent.patch @@ -1,14 +1,14 @@ -From de084b3fedb588ce21b0ea7c3e08965804bb7971 Mon Sep 17 00:00:00 2001 +From 902e1a01df0798407c4cae98a52b05e83bffd1a7 Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Thu, 8 Sep 2016 08:47:08 -0700 Subject: [PATCH] Add source to PlayerExpChangeEvent diff --git a/src/main/java/org/bukkit/event/player/PlayerExpChangeEvent.java b/src/main/java/org/bukkit/event/player/PlayerExpChangeEvent.java -index f37491d7..30882559 100644 +index f37491d..3088255 100644 --- a/src/main/java/org/bukkit/event/player/PlayerExpChangeEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerExpChangeEvent.java -@@ -1,20 +1,42 @@ +@@ -1,21 +1,43 @@ package org.bukkit.event.player; +import org.bukkit.entity.Entity; // Paper @@ -37,7 +37,7 @@ index f37491d7..30882559 100644 exp = expAmount; } -+ /** + /** + * Get the source that provided the experience. + * + * @return The source of the experience @@ -48,9 +48,10 @@ index f37491d7..30882559 100644 + } + // Paper end + - /** ++ /** * Get the amount of experience the player will receive * + * @return The amount of experience -- -2.14.1 +2.7.4 diff --git a/Spigot-Server-Patches/0006-Timings-v2.patch b/Spigot-Server-Patches/0006-Timings-v2.patch index 3e89c00837..82e1a499ef 100644 --- a/Spigot-Server-Patches/0006-Timings-v2.patch +++ b/Spigot-Server-Patches/0006-Timings-v2.patch @@ -1,4 +1,4 @@ -From 5764072103b0e1eb4f455bdc1ee93490281abfa6 Mon Sep 17 00:00:00 2001 +From 1bd0e17cc58aee667b5a133db0cac4576de6769d Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2 diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java new file mode 100644 -index 000000000..1b33390de +index 0000000..1b33390 --- /dev/null +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -0,0 +1,125 @@ @@ -137,7 +137,7 @@ index 000000000..1b33390de +} diff --git a/src/main/java/co/aikar/timings/TimedChunkGenerator.java b/src/main/java/co/aikar/timings/TimedChunkGenerator.java new file mode 100644 -index 000000000..089154f62 +index 0000000..089154f --- /dev/null +++ b/src/main/java/co/aikar/timings/TimedChunkGenerator.java @@ -0,0 +1,131 @@ @@ -274,7 +274,7 @@ index 000000000..089154f62 +} diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java new file mode 100644 -index 000000000..e0ad559b7 +index 0000000..e0ad559 --- /dev/null +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -0,0 +1,99 @@ @@ -378,7 +378,7 @@ index 000000000..e0ad559b7 + } +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 5ab2cf6ee..b5795b6d3 100644 +index 5ab2cf6..b5795b6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit; @@ -422,7 +422,7 @@ index 5ab2cf6ee..b5795b6d3 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 2dca6dbcb..352310960 100644 +index 2dca6db..3523109 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -35,6 +35,15 @@ public class Block { @@ -442,7 +442,7 @@ index 2dca6dbcb..352310960 100644 public static int getId(Block block) { return Block.REGISTRY.a(block); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index c4d9344a7..350e0991d 100644 +index c4d9344..350e099 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -900,7 +900,7 @@ public class Chunk { @@ -490,7 +490,7 @@ index c4d9344a7..350e0991d 100644 private void z() { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index ac478fb27..69ded6aa4 100644 +index ac478fb..69ded6a 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -204,7 +204,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -503,7 +503,7 @@ index ac478fb27..69ded6aa4 100644 this.chunkLoader.saveChunk(this.world, chunk, unloaded); // Spigot } catch (IOException ioexception) { diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 50ec3adb8..a401dec60 100644 +index 50ec3ad..a401dec 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -423,7 +423,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -543,7 +543,7 @@ index 50ec3adb8..a401dec60 100644 // return chunk; // CraftBukkit } diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index e1cb96a88..8f2afcc32 100644 +index e1cb96a..8f2afcc 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -24,7 +24,7 @@ import java.io.PrintStream; @@ -596,7 +596,7 @@ index e1cb96a88..8f2afcc32 100644 return waitable.get(); } catch (java.util.concurrent.ExecutionException e) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 40f06c5bc..4c794a098 100644 +index ed39b12..e09ced1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -25,7 +25,8 @@ import org.bukkit.block.BlockFace; @@ -635,7 +635,7 @@ index 40f06c5bc..4c794a098 100644 public void recalcPosition() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ecff5fce3..756590ac0 100644 +index ecff5fc..756590a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -31,7 +31,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -706,7 +706,7 @@ index ecff5fce3..756590ac0 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java -index ce0124020..a60f94608 100644 +index ce01240..a60f946 100644 --- a/src/main/java/net/minecraft/server/EntityTracker.java +++ b/src/main/java/net/minecraft/server/EntityTracker.java @@ -175,7 +175,7 @@ public class EntityTracker { @@ -737,7 +737,7 @@ index ce0124020..a60f94608 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c1a8816b4..8d08b536a 100644 +index c1a8816..8d08b53 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -48,8 +48,8 @@ import org.bukkit.Bukkit; @@ -884,7 +884,7 @@ index c1a8816b4..8d08b536a 100644 this.methodProfiler.b(); } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index eeac34998..e4ed2e991 100644 +index eeac349..e4ed2e9 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1,5 +1,6 @@ @@ -984,7 +984,7 @@ index eeac34998..e4ed2e991 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index cd2d58bfb..da25a8bea 100644 +index cd2d58b..da25a8b 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -56,6 +56,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -1032,7 +1032,7 @@ index cd2d58bfb..da25a8bea 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java -index f74b06794..1fc632e0c 100644 +index f74b067..1fc632e 100644 --- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java +++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java @@ -1,15 +1,21 @@ @@ -1062,7 +1062,7 @@ index f74b06794..1fc632e0c 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 914f2e94a..b3321da59 100644 +index 0a0b8a4..e098a7a 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -1086,7 +1086,7 @@ index 914f2e94a..b3321da59 100644 public void addWhitelist(GameProfile gameprofile) { diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java -index 74e3f42cd..66a80a776 100644 +index 74e3f42..66a80a7 100644 --- a/src/main/java/net/minecraft/server/StructureGenerator.java +++ b/src/main/java/net/minecraft/server/StructureGenerator.java @@ -1,5 +1,7 @@ @@ -1128,7 +1128,7 @@ index 74e3f42cd..66a80a776 100644 return flag; } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 5a5a588e7..d2d4ff6fb 100644 +index 5a5a588..d2d4ff6 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -4,12 +4,13 @@ import javax.annotation.Nullable; @@ -1148,7 +1148,7 @@ index 5a5a588e7..d2d4ff6fb 100644 private static final RegistryMaterials> f = new RegistryMaterials(); protected World world; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 843320ffb..d902e2630 100644 +index 843320f..d902e26 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -19,11 +19,11 @@ import com.google.common.collect.Maps; @@ -1254,7 +1254,7 @@ index 843320ffb..d902e2630 100644 public boolean b(AxisAlignedBB axisalignedbb) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index d4f25cbf2..e492913a2 100644 +index d4f25cb..e492913 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -305,13 +305,13 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -1388,10 +1388,10 @@ index d4f25cbf2..e492913a2 100644 // CraftBukkit start diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 14851a3a5..9042deed6 100644 +index 14851a3..9042dee 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1756,12 +1756,31 @@ public final class CraftServer implements Server { +@@ -1756,6 +1756,7 @@ public final class CraftServer implements Server { private final Spigot spigot = new Spigot() { @@ -1399,10 +1399,10 @@ index 14851a3a5..9042deed6 100644 @Override public YamlConfiguration getConfig() { - return org.spigotmc.SpigotConfig.config; +@@ -1763,6 +1764,24 @@ public final class CraftServer implements Server { } -+ @Override + @Override + public YamlConfiguration getBukkitConfig() + { + return configuration; @@ -1420,12 +1420,13 @@ index 14851a3a5..9042deed6 100644 + return com.destroystokyo.paper.PaperConfig.config; + } + - @Override ++ @Override public void restart() { org.spigotmc.RestartCommand.restart(); + } diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java deleted file mode 100644 -index 4c8ab2bc9..000000000 +index 4c8ab2b..0000000 --- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java +++ /dev/null @@ -1,174 +0,0 @@ @@ -1604,7 +1605,7 @@ index 4c8ab2bc9..000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java -index 3a95b4465..b5efb9c3f 100644 +index 3a95b44..b5efb9c 100644 --- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java +++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java @@ -1,6 +1,8 @@ @@ -1648,7 +1649,7 @@ index 3a95b4465..b5efb9c3f 100644 public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2d5dc2179..916781403 100644 +index 2d5dc21..9167814 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -41,7 +41,7 @@ import org.bukkit.configuration.serialization.DelegateDeserialization; @@ -1674,7 +1675,7 @@ index 2d5dc2179..916781403 100644 public Player.Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 23d7ce26f..d50bbd2a6 100644 +index 23d7ce2..d50bbd2 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -14,6 +14,7 @@ import java.util.concurrent.atomic.AtomicInteger; @@ -1750,7 +1751,7 @@ index 23d7ce26f..d50bbd2a6 100644 private boolean isReady(final int currentTick) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java -index c37275f2a..a03f933af 100644 +index c37275f..a03f933 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java @@ -1,8 +1,8 @@ @@ -1832,7 +1833,7 @@ index c37275f2a..a03f933af 100644 - // Spigot end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java -index e52ef47b7..3d90b3426 100644 +index e52ef47..3d90b34 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java @@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon; @@ -1844,7 +1845,7 @@ index e52ef47b7..3d90b3426 100644 this.value = value; } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 2bd690fdf..38be7ed71 100644 +index 2bd690f..38be7ed 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -29,7 +29,7 @@ import net.minecraft.server.EntityWither; @@ -1906,5 +1907,5 @@ index 2bd690fdf..38be7ed71 100644 } } -- -2.16.1 +2.7.4 diff --git a/Spigot-Server-Patches/0184-String-based-Action-Bar-API.patch b/Spigot-Server-Patches/0184-String-based-Action-Bar-API.patch index b558d01339..f1e57ae7e9 100644 --- a/Spigot-Server-Patches/0184-String-based-Action-Bar-API.patch +++ b/Spigot-Server-Patches/0184-String-based-Action-Bar-API.patch @@ -1,11 +1,11 @@ -From 5bfb5e8ee90a3f325ebed6c61703c283e8a9ab9b Mon Sep 17 00:00:00 2001 +From 2d386d626a9e65f14718881154a9162ea224cea1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 27 Dec 2016 15:02:42 -0500 Subject: [PATCH] String based Action Bar API diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index a4b0901cf..02940d697 100644 +index a4b0901..02940d6 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -1,10 +1,13 @@ @@ -62,14 +62,13 @@ index a4b0901cf..02940d697 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 98e9da59a..a9186b77a 100644 +index 98e9da5..a9186b7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -169,6 +169,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - } +@@ -170,6 +170,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start -+ @Override + @Override + public void sendActionBar(String message) { + if (getHandle().playerConnection == null || message == null || message.isEmpty()) return; + getHandle().playerConnection.sendPacket(new PacketPlayOutChat(new ChatComponentText(message), ChatMessageType.GAME_INFO)); @@ -81,9 +80,10 @@ index 98e9da59a..a9186b77a 100644 + sendActionBar(org.bukkit.ChatColor.translateAlternateColorCodes(alternateChar, message)); + } + - @Override ++ @Override public void setPlayerListHeaderFooter(BaseComponent[] header, BaseComponent[] footer) { PacketPlayOutPlayerListHeaderFooter packet = new PacketPlayOutPlayerListHeaderFooter(); + packet.header = header; -- -2.16.1 +2.7.4 diff --git a/Spigot-Server-Patches/0208-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0208-Use-TerminalConsoleAppender-for-console-improvements.patch index 63ec26997a..60001cee1b 100644 --- a/Spigot-Server-Patches/0208-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0208-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From f300c987bf978cd5a1a6466e4f846a704a692809 Mon Sep 17 00:00:00 2001 +From d440f79c051cd725d7964f964782a22cc9426b28 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -20,22 +20,22 @@ Other changes: configuration diff --git a/pom.xml b/pom.xml -index 5d9f71b1d..da69bb93f 100644 +index 5d9f71b..da69bb9 100644 --- a/pom.xml +++ b/pom.xml -@@ -53,12 +53,6 @@ - 5.0.4 +@@ -54,12 +54,6 @@ compile -- + - jline - jline - 2.12.1 - compile - - +- org.xerial sqlite-jdbc + 3.21.0.1 @@ -77,6 +71,32 @@ 3.0.3 compile @@ -90,7 +90,7 @@ index 5d9f71b1d..da69bb93f 100644 org.apache.maven.plugins diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java new file mode 100644 -index 000000000..685deaa0e +index 0000000..685deaa --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java @@ -0,0 +1,17 @@ @@ -113,7 +113,7 @@ index 000000000..685deaa0e +} diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalHandler.java b/src/main/java/com/destroystokyo/paper/console/TerminalHandler.java new file mode 100644 -index 000000000..d5bc61490 +index 0000000..d5bc614 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/console/TerminalHandler.java @@ -0,0 +1,60 @@ @@ -178,7 +178,7 @@ index 000000000..d5bc61490 + +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 8f2afcc32..b3f1aa999 100644 +index 8f2afcc..b3f1aa9 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -73,7 +73,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -231,7 +231,7 @@ index 8f2afcc32..b3f1aa999 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 908a5d273..e8bddc171 100644 +index 908a5d2..e8bddc1 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -42,7 +42,6 @@ import org.apache.commons.lang3.Validate; @@ -290,7 +290,7 @@ index 908a5d273..e8bddc171 100644 public boolean a(int i, String s) { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index ff01bbff5..311c0b86f 100644 +index 6c34f85..563b0fb 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -78,8 +78,7 @@ public abstract class PlayerList { @@ -304,7 +304,7 @@ index ff01bbff5..311c0b86f 100644 this.k = new GameProfileBanList(PlayerList.a); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 27c6caddc..539f492e0 100644 +index 27c6cad..539f492 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -128,7 +128,6 @@ import io.netty.buffer.ByteBuf; @@ -330,7 +330,7 @@ index 27c6caddc..539f492e0 100644 @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index ec9508e90..d3d848f8c 100644 +index ec9508e..d3d848f 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -14,7 +14,7 @@ import java.util.logging.Logger; @@ -372,7 +372,7 @@ index ec9508e90..d3d848f8c 100644 if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { diff --git a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java b/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java deleted file mode 100644 -index 26a2fb894..000000000 +index 26a2fb8..0000000 --- a/src/main/java/org/bukkit/craftbukkit/command/ColouredConsoleSender.java +++ /dev/null @@ -1,74 +0,0 @@ @@ -451,7 +451,7 @@ index 26a2fb894..000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java -index 33e8ea02c..1e3aae3b8 100644 +index 33e8ea0..1e3aae3 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java +++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java @@ -8,17 +8,27 @@ import java.util.logging.Level; @@ -530,7 +530,7 @@ index 33e8ea02c..1e3aae3b8 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java -index 984df4083..bbb5a84f3 100644 +index 984df40..bbb5a84 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java +++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java @@ -20,7 +20,7 @@ public class ServerShutdownThread extends Thread { @@ -544,7 +544,7 @@ index 984df4083..bbb5a84f3 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java b/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java deleted file mode 100644 -index b64097113..000000000 +index b640971..0000000 --- a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleWriterThread.java +++ /dev/null @@ -1,54 +0,0 @@ @@ -603,7 +603,7 @@ index b64097113..000000000 - } -} diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml -index 5cee8f00e..08b6bb7f9 100644 +index 5cee8f0..08b6bb7 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -1,12 +1,11 @@ @@ -633,5 +633,5 @@ index 5cee8f00e..08b6bb7f9 100644 -- -2.16.1 +2.7.4 diff --git a/Spigot-Server-Patches/0238-Include-Log4J2-SLF4J-implementation.patch b/Spigot-Server-Patches/0238-Include-Log4J2-SLF4J-implementation.patch index 75e50007b0..197e295a1d 100644 --- a/Spigot-Server-Patches/0238-Include-Log4J2-SLF4J-implementation.patch +++ b/Spigot-Server-Patches/0238-Include-Log4J2-SLF4J-implementation.patch @@ -1,26 +1,26 @@ -From fa8a701f15d3ce39f3c7af65000fa2ca2b9a6475 Mon Sep 17 00:00:00 2001 +From 24feb5237d822d68fabe0bbf8ab1ceda0169eab0 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:33:35 +0200 Subject: [PATCH] Include Log4J2 SLF4J implementation diff --git a/pom.xml b/pom.xml -index 28976dae8..ffa9f5a97 100644 +index 28976da..ffa9f5a 100644 --- a/pom.xml +++ b/pom.xml -@@ -98,6 +98,12 @@ - - +@@ -100,6 +100,12 @@ -+ -+ org.apache.logging.log4j + + org.apache.logging.log4j + log4j-slf4j-impl + 2.8.1 + runtime + - - org.apache.logging.log4j ++ ++ org.apache.logging.log4j log4j-iostreams + 2.8.1 + -- -2.16.1 +2.7.4 diff --git a/Spigot-Server-Patches/0271-Toggleable-player-crits-helps-mitigate-hacked-client.patch b/Spigot-Server-Patches/0271-Toggleable-player-crits-helps-mitigate-hacked-client.patch new file mode 100644 index 0000000000..285fea8a23 --- /dev/null +++ b/Spigot-Server-Patches/0271-Toggleable-player-crits-helps-mitigate-hacked-client.patch @@ -0,0 +1,38 @@ +From fa93fba35b7fa5ee49268eac594a77e0f873ea56 Mon Sep 17 00:00:00 2001 +From: MiniDigger +Date: Sat, 10 Mar 2018 00:50:24 +0100 +Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients. + + +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index 61cc1d4..038f874 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -232,6 +232,11 @@ public class PaperWorldConfig { + disableChestCatDetection = getBoolean("game-mechanics.disable-chest-cat-detection", false); + } + ++ public boolean disablePlayerCrits; ++ private void disablePlayerCrits() { ++ disablePlayerCrits = getBoolean("game-mechanics.disable-player-crits", false); ++ } ++ + public boolean allChunksAreSlimeChunks; + private void allChunksAreSlimeChunks() { + allChunksAreSlimeChunks = getBoolean("all-chunks-are-slime-chunks", false); +diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java +index 3472370..4b82e43 100644 +--- a/src/main/java/net/minecraft/server/EntityHuman.java ++++ b/src/main/java/net/minecraft/server/EntityHuman.java +@@ -978,7 +978,7 @@ public abstract class EntityHuman extends EntityLiving { + } + + boolean flag2 = flag && this.fallDistance > 0.0F && !this.onGround && !this.m_() && !this.isInWater() && !this.hasEffect(MobEffects.BLINDNESS) && !this.isPassenger() && entity instanceof EntityLiving; +- ++ flag2 = flag2 && !world.paperConfig.disablePlayerCrits; // Paper + flag2 = flag2 && !this.isSprinting(); + if (flag2) { + f *= 1.5F; +-- +2.7.4 +