aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
m---------CraftBukkit6
m---------Paperclip0
-rw-r--r--Spigot-API-Patches/0001-POM-changes.patch14
-rw-r--r--Spigot-API-Patches/0014-Timings-v2.patch74
-rw-r--r--Spigot-API-Patches/0022-Fix-ServerListPingEvent-flagging-as-Async.patch54
-rw-r--r--Spigot-Server-Patches/0001-POM-Changes.patch24
-rw-r--r--Spigot-Server-Patches/0003-mc-dev-imports.patch128
-rw-r--r--Spigot-Server-Patches/0042-Fix-jar-being-shaded-multiple-times.patch8
-rw-r--r--Spigot-Server-Patches/0063-Optimize-Spigot-s-Anti-X-Ray.patch16
-rw-r--r--Spigot-Server-Patches/0079-Timings-v2.patch55
-rw-r--r--Spigot-Server-Patches/0102-update-log4j.patch102
-rwxr-xr-xpaperclip.sh8
-rw-r--r--pom.xml4
13 files changed, 322 insertions, 171 deletions
diff --git a/CraftBukkit b/CraftBukkit
-Subproject e1ebe524a78e27f6a2829ed4574fded3779094e
+Subproject 741a1bdf3db8c4d5237407df2872d9857427bfa
diff --git a/Paperclip b/Paperclip
-Subproject 1b58efd4de067e40562ba01fefe70cc22a32ffe
+Subproject 2d4c7b3bbd322d8b7f3bbe2fe33ecf627251c82
diff --git a/Spigot-API-Patches/0001-POM-changes.patch b/Spigot-API-Patches/0001-POM-changes.patch
index 969036849f..162e7e615a 100644
--- a/Spigot-API-Patches/0001-POM-changes.patch
+++ b/Spigot-API-Patches/0001-POM-changes.patch
@@ -1,11 +1,11 @@
-From 5d7fe1d8ba54b000f583088bc50141a184818516 Mon Sep 17 00:00:00 2001
+From dfb45aaa99af7c1c146d40b3e5ee4c1040b5e7b1 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Tue, 6 Jan 2015 22:12:31 -0600
Subject: [PATCH] POM changes
diff --git a/pom.xml b/pom.xml
-index cb142f2..d63151f 100644
+index cb142f21..d63151f1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,35 +4,37 @@
@@ -59,10 +59,11 @@ index cb142f2..d63151f 100644
</snapshotRepository>
</distributionManagement>
-@@ -129,26 +131,6 @@
+@@ -128,26 +130,6 @@
+ </dependency>
</dependencies>
</plugin>
- <plugin>
+- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>animal-sniffer-maven-plugin</artifactId>
- <version>1.13</version>
@@ -82,10 +83,9 @@ index cb142f2..d63151f 100644
- </signature>
- </configuration>
- </plugin>
-- <plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
- <version>2.3</version>
--
-2.7.1
+2.34.0
diff --git a/Spigot-API-Patches/0014-Timings-v2.patch b/Spigot-API-Patches/0014-Timings-v2.patch
index d790637e12..f6b8b51dec 100644
--- a/Spigot-API-Patches/0014-Timings-v2.patch
+++ b/Spigot-API-Patches/0014-Timings-v2.patch
@@ -1,30 +1,30 @@
-From b5e8582ab199f61b7dcdf2520e9a921907f4e35f Mon Sep 17 00:00:00 2001
+From b3325316cc10334a1d85171a8c22c6d9f5e44e57 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 8 Jan 2016 23:12:28 -0600
Subject: [PATCH] Timings v2
diff --git a/pom.xml b/pom.xml
-index d63151f..fe9d6d2 100644
+index d63151f1..fe9d6d26 100644
--- a/pom.xml
+++ b/pom.xml
-@@ -48,6 +48,13 @@
+@@ -47,6 +47,13 @@
+ </pluginRepositories>
<dependencies>
- <dependency>
++ <dependency>
+ <groupId>net.sf.trove4j</groupId>
+ <artifactId>trove4j</artifactId>
+ <version>3.0.3</version>
+ <!-- Trove Provided by CraftBukkit -->
+ <scope>provided</scope>
+ </dependency>
-+ <dependency>
+ <dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
- <version>2.6</version>
diff --git a/src/main/java/co/aikar/timings/FullServerTickHandler.java b/src/main/java/co/aikar/timings/FullServerTickHandler.java
new file mode 100644
-index 0000000..cb4e7ba
+index 00000000..cb4e7ba8
--- /dev/null
+++ b/src/main/java/co/aikar/timings/FullServerTickHandler.java
@@ -0,0 +1,79 @@
@@ -109,7 +109,7 @@ index 0000000..cb4e7ba
+}
diff --git a/src/main/java/co/aikar/timings/NullTimingHandler.java b/src/main/java/co/aikar/timings/NullTimingHandler.java
new file mode 100644
-index 0000000..c73b617
+index 00000000..c73b617c
--- /dev/null
+++ b/src/main/java/co/aikar/timings/NullTimingHandler.java
@@ -0,0 +1,61 @@
@@ -176,7 +176,7 @@ index 0000000..c73b617
+}
diff --git a/src/main/java/co/aikar/timings/TimedEventExecutor.java b/src/main/java/co/aikar/timings/TimedEventExecutor.java
new file mode 100644
-index 0000000..e3da034
+index 00000000..e3da034f
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimedEventExecutor.java
@@ -0,0 +1,81 @@
@@ -263,7 +263,7 @@ index 0000000..e3da034
+}
diff --git a/src/main/java/co/aikar/timings/Timing.java b/src/main/java/co/aikar/timings/Timing.java
new file mode 100644
-index 0000000..4d990b1
+index 00000000..4d990b13
--- /dev/null
+++ b/src/main/java/co/aikar/timings/Timing.java
@@ -0,0 +1,72 @@
@@ -341,7 +341,7 @@ index 0000000..4d990b1
+}
diff --git a/src/main/java/co/aikar/timings/TimingData.java b/src/main/java/co/aikar/timings/TimingData.java
new file mode 100644
-index 0000000..b62e428
+index 00000000..b62e428c
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingData.java
@@ -0,0 +1,105 @@
@@ -452,7 +452,7 @@ index 0000000..b62e428
+}
diff --git a/src/main/java/co/aikar/timings/TimingHandler.java b/src/main/java/co/aikar/timings/TimingHandler.java
new file mode 100644
-index 0000000..4918a17
+index 00000000..4918a17c
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingHandler.java
@@ -0,0 +1,193 @@
@@ -651,7 +651,7 @@ index 0000000..4918a17
+}
diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java
new file mode 100644
-index 0000000..7a04770
+index 00000000..7a047709
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingHistory.java
@@ -0,0 +1,276 @@
@@ -933,7 +933,7 @@ index 0000000..7a04770
+}
diff --git a/src/main/java/co/aikar/timings/TimingHistoryEntry.java b/src/main/java/co/aikar/timings/TimingHistoryEntry.java
new file mode 100644
-index 0000000..eac4e21
+index 00000000..eac4e218
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingHistoryEntry.java
@@ -0,0 +1,59 @@
@@ -998,7 +998,7 @@ index 0000000..eac4e21
+}
diff --git a/src/main/java/co/aikar/timings/TimingIdentifier.java b/src/main/java/co/aikar/timings/TimingIdentifier.java
new file mode 100644
-index 0000000..623dda4
+index 00000000..623dda49
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingIdentifier.java
@@ -0,0 +1,102 @@
@@ -1106,7 +1106,7 @@ index 0000000..623dda4
+}
diff --git a/src/main/java/co/aikar/timings/Timings.java b/src/main/java/co/aikar/timings/Timings.java
new file mode 100644
-index 0000000..0f7be03
+index 00000000..0f7be036
--- /dev/null
+++ b/src/main/java/co/aikar/timings/Timings.java
@@ -0,0 +1,273 @@
@@ -1385,7 +1385,7 @@ index 0000000..0f7be03
+}
diff --git a/src/main/java/co/aikar/timings/TimingsCommand.java b/src/main/java/co/aikar/timings/TimingsCommand.java
new file mode 100644
-index 0000000..3dba3aa
+index 00000000..3dba3aa1
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsCommand.java
@@ -0,0 +1,110 @@
@@ -1501,7 +1501,7 @@ index 0000000..3dba3aa
+}
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
new file mode 100644
-index 0000000..fe19ea0
+index 00000000..fe19ea00
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -0,0 +1,373 @@
@@ -1880,7 +1880,7 @@ index 0000000..fe19ea0
+}
diff --git a/src/main/java/co/aikar/timings/TimingsManager.java b/src/main/java/co/aikar/timings/TimingsManager.java
new file mode 100644
-index 0000000..67c39df
+index 00000000..67c39df8
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsManager.java
@@ -0,0 +1,194 @@
@@ -2080,7 +2080,7 @@ index 0000000..67c39df
+}
diff --git a/src/main/java/co/aikar/timings/UnsafeTimingHandler.java b/src/main/java/co/aikar/timings/UnsafeTimingHandler.java
new file mode 100644
-index 0000000..e3b0ed8
+index 00000000..e3b0ed83
--- /dev/null
+++ b/src/main/java/co/aikar/timings/UnsafeTimingHandler.java
@@ -0,0 +1,51 @@
@@ -2137,7 +2137,7 @@ index 0000000..e3b0ed8
+}
diff --git a/src/main/java/co/aikar/util/JSONUtil.java b/src/main/java/co/aikar/util/JSONUtil.java
new file mode 100644
-index 0000000..5fdf7c4
+index 00000000..5fdf7c4c
--- /dev/null
+++ b/src/main/java/co/aikar/util/JSONUtil.java
@@ -0,0 +1,123 @@
@@ -2266,7 +2266,7 @@ index 0000000..5fdf7c4
+}
diff --git a/src/main/java/co/aikar/util/LoadingIntMap.java b/src/main/java/co/aikar/util/LoadingIntMap.java
new file mode 100644
-index 0000000..8d0f269
+index 00000000..8d0f2691
--- /dev/null
+++ b/src/main/java/co/aikar/util/LoadingIntMap.java
@@ -0,0 +1,63 @@
@@ -2335,7 +2335,7 @@ index 0000000..8d0f269
+}
diff --git a/src/main/java/co/aikar/util/LoadingMap.java b/src/main/java/co/aikar/util/LoadingMap.java
new file mode 100644
-index 0000000..a9f2919
+index 00000000..a9f29199
--- /dev/null
+++ b/src/main/java/co/aikar/util/LoadingMap.java
@@ -0,0 +1,332 @@
@@ -2673,7 +2673,7 @@ index 0000000..a9f2919
+}
diff --git a/src/main/java/co/aikar/util/MRUMapCache.java b/src/main/java/co/aikar/util/MRUMapCache.java
new file mode 100644
-index 0000000..3a288d2
+index 00000000..3a288d2a
--- /dev/null
+++ b/src/main/java/co/aikar/util/MRUMapCache.java
@@ -0,0 +1,100 @@
@@ -2778,7 +2778,7 @@ index 0000000..3a288d2
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 584fe11..a4396e8 100644
+index 584fe113..a4396e8b 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -533,7 +533,6 @@ public final class Bukkit {
@@ -2790,7 +2790,7 @@ index 584fe11..a4396e8 100644
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 26acdda..ae75bd4 100644
+index 26acdda0..ae75bd45 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -926,12 +926,27 @@ public interface Server extends PluginMessageRecipient {
@@ -2823,7 +2823,7 @@ index 26acdda..ae75bd4 100644
* Sends the component to the player
*
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
-index 0ba9b1c..548d570 100644
+index 0ba9b1c9..548d5709 100644
--- a/src/main/java/org/bukkit/command/Command.java
+++ b/src/main/java/org/bukkit/command/Command.java
@@ -31,7 +31,8 @@ public abstract class Command {
@@ -2853,7 +2853,7 @@ index 0ba9b1c..548d570 100644
return true;
}
diff --git a/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
-index 3f07d7f..f89ad07 100644
+index 3f07d7f4..f89ad075 100644
--- a/src/main/java/org/bukkit/command/FormattedCommandAlias.java
+++ b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
@@ -14,6 +14,7 @@ public class FormattedCommandAlias extends Command {
@@ -2875,7 +2875,7 @@ index 3f07d7f..f89ad07 100644
return i >= j && i <= k;
}
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
-index a08a49d..a300ae7 100644
+index a08a49da..a300ae7e 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -31,7 +31,7 @@ public class SimpleCommandMap implements CommandMap {
@@ -2896,7 +2896,7 @@ index a08a49d..a300ae7 100644
fallbackPrefix = fallbackPrefix.toLowerCase().trim();
boolean registered = register(label, command, false, fallbackPrefix);
diff --git a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
-index 9782a3b..80e0b0f 100644
+index 9782a3bb..80e0b0f1 100644
--- a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
@@ -33,87 +33,22 @@ import org.spigotmc.CustomTimingsHandler;
@@ -3048,7 +3048,7 @@ index 9782a3b..80e0b0f 100644
- // Spigot end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 7522d45..c0ebe65 100644
+index 7522d455..c0ebe655 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1203,6 +1203,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
@@ -3064,7 +3064,7 @@ index 7522d45..c0ebe65 100644
Spigot spigot();
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index c9d23d6..1325b03 100644
+index c9d23d63..1325b032 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -295,7 +295,6 @@ public final class SimplePluginManager implements PluginManager {
@@ -3121,7 +3121,7 @@ index c9d23d6..1325b03 100644
}
}
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index 7bf2fa6..4983ea8 100644
+index 7bf2fa6e..4983ea8f 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -39,7 +39,6 @@ import org.bukkit.plugin.PluginLoader;
@@ -3170,7 +3170,7 @@ index 7bf2fa6..4983ea8 100644
eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));
} else {
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
-index 4cffa13..b2cbf9e 100644
+index 4cffa137..b2cbf9e4 100644
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
@@ -15,7 +15,8 @@ import org.bukkit.plugin.PluginDescriptionFile;
@@ -3184,7 +3184,7 @@ index 4cffa13..b2cbf9e 100644
private final Map<String, Class<?>> classes = new java.util.concurrent.ConcurrentHashMap<String, Class<?>>(); // Spigot
private final PluginDescriptionFile description;
diff --git a/src/main/java/org/bukkit/util/CachedServerIcon.java b/src/main/java/org/bukkit/util/CachedServerIcon.java
-index 5ca863b..0480470 100644
+index 5ca863b3..04804706 100644
--- a/src/main/java/org/bukkit/util/CachedServerIcon.java
+++ b/src/main/java/org/bukkit/util/CachedServerIcon.java
@@ -12,4 +12,6 @@ import org.bukkit.event.server.ServerListPingEvent;
@@ -3196,7 +3196,7 @@ index 5ca863b..0480470 100644
+ public String getData(); // Spigot
+}
diff --git a/src/main/java/org/spigotmc/CustomTimingsHandler.java b/src/main/java/org/spigotmc/CustomTimingsHandler.java
-index 8d98297..7e89b97 100644
+index 8d982974..7e89b97b 100644
--- a/src/main/java/org/spigotmc/CustomTimingsHandler.java
+++ b/src/main/java/org/spigotmc/CustomTimingsHandler.java
@@ -1,165 +1,76 @@
@@ -3426,5 +3426,5 @@ index 8d98297..7e89b97 100644
- }
}
--
-2.7.1
+2.34.0
diff --git a/Spigot-API-Patches/0022-Fix-ServerListPingEvent-flagging-as-Async.patch b/Spigot-API-Patches/0022-Fix-ServerListPingEvent-flagging-as-Async.patch
new file mode 100644
index 0000000000..76ec3b3730
--- /dev/null
+++ b/Spigot-API-Patches/0022-Fix-ServerListPingEvent-flagging-as-Async.patch
@@ -0,0 +1,54 @@
+From 8d551e5b699b7a24a24b6edbc7f014ce1ef9875d Mon Sep 17 00:00:00 2001
+From: Aikar <[email protected]>
+Date: Wed, 24 Feb 2016 00:57:22 -0500
+Subject: [PATCH] Fix ServerListPingEvent flagging as Async
+
+This event can sometimes fire Async, set the proper boolean
+
+diff --git a/src/main/java/org/bukkit/event/server/ServerEvent.java b/src/main/java/org/bukkit/event/server/ServerEvent.java
+index eb00d6af..70416c81 100644
+--- a/src/main/java/org/bukkit/event/server/ServerEvent.java
++++ b/src/main/java/org/bukkit/event/server/ServerEvent.java
+@@ -1,9 +1,19 @@
+ package org.bukkit.event.server;
+
++import org.bukkit.Bukkit;
+ import org.bukkit.event.Event;
+
+ /**
+ * Miscellaneous server events
+ */
+ public abstract class ServerEvent extends Event {
++ // Paper start
++ public ServerEvent(boolean isAsync) {
++ super(isAsync);
++ }
++
++ public ServerEvent() {
++ super(!Bukkit.isPrimaryThread());
++ }
++ // Paper end
+ }
+diff --git a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
+index 343f238f..3c38d857 100644
+--- a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
++++ b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
+@@ -21,6 +21,7 @@ public class ServerListPingEvent extends ServerEvent implements Iterable<Player>
+ private int maxPlayers;
+
+ public ServerListPingEvent(final InetAddress address, final String motd, final int numPlayers, final int maxPlayers) {
++ super(); // Paper - Is this event being fired async?
+ Validate.isTrue(numPlayers >= 0, "Cannot have negative number of players online", numPlayers);
+ this.address = address;
+ this.motd = motd;
+@@ -38,6 +39,7 @@ public class ServerListPingEvent extends ServerEvent implements Iterable<Player>
+ * @param maxPlayers the max number of players
+ */
+ protected ServerListPingEvent(final InetAddress address, final String motd, final int maxPlayers) {
++ super(); // Paper - Is this event being fired async?
+ this.numPlayers = MAGIC_PLAYER_COUNT;
+ this.address = address;
+ this.motd = motd;
+--
+2.34.0
+
diff --git a/Spigot-Server-Patches/0001-POM-Changes.patch b/Spigot-Server-Patches/0001-POM-Changes.patch
index 38a61013f3..1a6fc22211 100644
--- a/Spigot-Server-Patches/0001-POM-Changes.patch
+++ b/Spigot-Server-Patches/0001-POM-Changes.patch
@@ -1,11 +1,11 @@
-From 9e315343a720a550c61568b70657ad2076501022 Mon Sep 17 00:00:00 2001
+From 8ebd08301a02a9ac7ca1eb8d2022782fa1358559 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Thu, 19 Mar 2015 19:41:15 -0500
Subject: [PATCH] POM Changes
diff --git a/pom.xml b/pom.xml
-index 91627ff..fd051da 100644
+index a6641f15..32593a7f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,12 +1,12 @@
@@ -55,7 +55,7 @@ index 91627ff..fd051da 100644
<version>${project.version}</version>
<type>jar</type>
<scope>compile</scope>
-@@ -96,6 +97,11 @@
+@@ -102,6 +103,11 @@
<id>spigotmc-public</id>
<url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
</pluginRepository>
@@ -67,7 +67,7 @@ index 91627ff..fd051da 100644
</pluginRepositories>
<!-- This builds a completely 'ready to start' jar with all dependencies inside -->
-@@ -103,36 +109,22 @@
+@@ -109,36 +115,22 @@
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
@@ -120,7 +120,7 @@ index 91627ff..fd051da 100644
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
-@@ -142,7 +134,7 @@
+@@ -148,7 +140,7 @@
<manifestEntries>
<Main-Class>org.bukkit.craftbukkit.Main</Main-Class>
<Implementation-Title>CraftBukkit</Implementation-Title>
@@ -129,10 +129,11 @@ index 91627ff..fd051da 100644
<Implementation-Vendor>Bukkit Team</Implementation-Vendor>
<Specification-Title>Bukkit</Specification-Title>
<Specification-Version>${api.version}</Specification-Version>
-@@ -172,26 +164,6 @@
+@@ -177,26 +169,6 @@
+ </archive>
</configuration>
</plugin>
- <plugin>
+- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>animal-sniffer-maven-plugin</artifactId>
- <version>1.13</version>
@@ -152,12 +153,11 @@ index 91627ff..fd051da 100644
- </signature>
- </configuration>
- </plugin>
-- <plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
- <version>2.3</version>
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java
-index c110e0c..5540dde 100644
+index c110e0c2..5540dde5 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java
@@ -11,7 +11,7 @@ public class PathfinderGoalNearestAttackableTarget<T extends EntityLiving> exten
@@ -170,7 +170,7 @@ index c110e0c..5540dde 100644
public PathfinderGoalNearestAttackableTarget(EntityCreature entitycreature, Class<T> oclass, boolean flag) {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
-index 9304637..3a4b142 100644
+index 93046379..3a4b1424 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning {
@@ -183,5 +183,5 @@ index 9304637..3a4b142 100644
if (stream != null) {
--
-2.7.1
+2.34.1
diff --git a/Spigot-Server-Patches/0003-mc-dev-imports.patch b/Spigot-Server-Patches/0003-mc-dev-imports.patch
index e9e03d6fcf..4a462253b0 100644
--- a/Spigot-Server-Patches/0003-mc-dev-imports.patch
+++ b/Spigot-Server-Patches/0003-mc-dev-imports.patch
@@ -1,4 +1,4 @@
-From e9f93a9efde92cdfd70b6d404621281f3761c519 Mon Sep 17 00:00:00 2001
+From f7aa342f8b6f462e4f53b5e1770cde6f07bfec28 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Mon, 25 May 2015 15:37:00 -0500
Subject: [PATCH] mc-dev imports
@@ -6,7 +6,7 @@ Subject: [PATCH] mc-dev imports
diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java
new file mode 100644
-index 0000000..0b2277c
+index 00000000..0b2277c3
--- /dev/null
+++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java
@@ -0,0 +1,85 @@
@@ -97,7 +97,7 @@ index 0000000..0b2277c
+}
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
new file mode 100644
-index 0000000..b1ae67a
+index 00000000..b1ae67ac
--- /dev/null
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
@@ -0,0 +1,489 @@
@@ -592,7 +592,7 @@ index 0000000..b1ae67a
+}
diff --git a/src/main/java/net/minecraft/server/BiomeMesa.java b/src/main/java/net/minecraft/server/BiomeMesa.java
new file mode 100644
-index 0000000..fd827f2
+index 00000000..fd827f2d
--- /dev/null
+++ b/src/main/java/net/minecraft/server/BiomeMesa.java
@@ -0,0 +1,264 @@
@@ -862,7 +862,7 @@ index 0000000..fd827f2
+}
diff --git a/src/main/java/net/minecraft/server/BlockChest.java b/src/main/java/net/minecraft/server/BlockChest.java
new file mode 100644
-index 0000000..f725aea
+index 00000000..f725aea8
--- /dev/null
+++ b/src/main/java/net/minecraft/server/BlockChest.java
@@ -0,0 +1,455 @@
@@ -1323,7 +1323,7 @@ index 0000000..f725aea
+}
diff --git a/src/main/java/net/minecraft/server/BlockFalling.java b/src/main/java/net/minecraft/server/BlockFalling.java
new file mode 100644
-index 0000000..29f8554
+index 00000000..29f85549
--- /dev/null
+++ b/src/main/java/net/minecraft/server/BlockFalling.java
@@ -0,0 +1,75 @@
@@ -1404,7 +1404,7 @@ index 0000000..29f8554
+}
diff --git a/src/main/java/net/minecraft/server/BlockFluids.java b/src/main/java/net/minecraft/server/BlockFluids.java
new file mode 100644
-index 0000000..b610450
+index 00000000..b6104502
--- /dev/null
+++ b/src/main/java/net/minecraft/server/BlockFluids.java
@@ -0,0 +1,212 @@
@@ -1622,7 +1622,7 @@ index 0000000..b610450
+}
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
new file mode 100644
-index 0000000..2bd5499
+index 00000000..2bd54991
--- /dev/null
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -0,0 +1,260 @@
@@ -1888,7 +1888,7 @@ index 0000000..2bd5499
+}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderFlat.java b/src/main/java/net/minecraft/server/ChunkProviderFlat.java
new file mode 100644
-index 0000000..d1e10c6
+index 00000000..d1e10c6e
--- /dev/null
+++ b/src/main/java/net/minecraft/server/ChunkProviderFlat.java
@@ -0,0 +1,244 @@
@@ -2138,7 +2138,7 @@ index 0000000..d1e10c6
+}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
new file mode 100644
-index 0000000..e0be3c1
+index 00000000..e0be3c12
--- /dev/null
+++ b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
@@ -0,0 +1,472 @@
@@ -2616,7 +2616,7 @@ index 0000000..e0be3c1
+}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderHell.java b/src/main/java/net/minecraft/server/ChunkProviderHell.java
new file mode 100644
-index 0000000..2f01bbf
+index 00000000..2f01bbf5
--- /dev/null
+++ b/src/main/java/net/minecraft/server/ChunkProviderHell.java
@@ -0,0 +1,393 @@
@@ -3015,7 +3015,7 @@ index 0000000..2f01bbf
+}
diff --git a/src/main/java/net/minecraft/server/EntityMinecartFurnace.java b/src/main/java/net/minecraft/server/EntityMinecartFurnace.java
new file mode 100644
-index 0000000..55f04b4
+index 00000000..55f04b47
--- /dev/null
+++ b/src/main/java/net/minecraft/server/EntityMinecartFurnace.java
@@ -0,0 +1,145 @@
@@ -3166,7 +3166,7 @@ index 0000000..55f04b4
+}
diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
new file mode 100644
-index 0000000..57b3d9d
+index 00000000..57b3d9d0
--- /dev/null
+++ b/src/main/java/net/minecraft/server/ItemBlock.java
@@ -0,0 +1,100 @@
@@ -3272,7 +3272,7 @@ index 0000000..57b3d9d
+}
diff --git a/src/main/java/net/minecraft/server/ItemMilkBucket.java b/src/main/java/net/minecraft/server/ItemMilkBucket.java
new file mode 100644
-index 0000000..91ea70d
+index 00000000..91ea70d0
--- /dev/null
+++ b/src/main/java/net/minecraft/server/ItemMilkBucket.java
@@ -0,0 +1,35 @@
@@ -3313,7 +3313,7 @@ index 0000000..91ea70d
+}
diff --git a/src/main/java/net/minecraft/server/MobEffectAttackDamage.java b/src/main/java/net/minecraft/server/MobEffectAttackDamage.java
new file mode 100644
-index 0000000..620685a
+index 00000000..620685ad
--- /dev/null
+++ b/src/main/java/net/minecraft/server/MobEffectAttackDamage.java
@@ -0,0 +1,12 @@
@@ -3331,7 +3331,7 @@ index 0000000..620685a
+}
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
new file mode 100644
-index 0000000..d5eaa24
+index 00000000..d5eaa241
--- /dev/null
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -0,0 +1,222 @@
@@ -3557,9 +3557,50 @@ index 0000000..d5eaa24
+
+ protected abstract boolean a(Vec3D vec3d, Vec3D vec3d1, int i, int j, int k);
+}
+diff --git a/src/main/java/net/minecraft/server/PacketLoginInEncryptionBegin.java b/src/main/java/net/minecraft/server/PacketLoginInEncryptionBegin.java
+new file mode 100644
+index 00000000..1d2e8556
+--- /dev/null
++++ b/src/main/java/net/minecraft/server/PacketLoginInEncryptionBegin.java
+@@ -0,0 +1,35 @@
++package net.minecraft.server;
++
++import java.io.IOException;
++import java.security.PrivateKey;
++import javax.crypto.SecretKey;
++
++public class PacketLoginInEncryptionBegin implements Packet<PacketLoginInListener> {
++
++ private byte[] a = new byte[0];
++ private byte[] b = new byte[0];
++
++ public PacketLoginInEncryptionBegin() {}
++
++ public void a(PacketDataSerializer packetdataserializer) throws IOException {
++ this.a = packetdataserializer.a();
++ this.b = packetdataserializer.a();
++ }
++
++ public void b(PacketDataSerializer packetdataserializer) throws IOException {
++ packetdataserializer.a(this.a);
++ packetdataserializer.a(this.b);
++ }
++
++ public void a(PacketLoginInListener packetlogininlistener) {
++ packetlogininlistener.a(this);
++ }
++
++ public SecretKey a(PrivateKey privatekey) {
++ return MinecraftEncryption.a(privatekey, this.a);
++ }
++
++ public byte[] b(PrivateKey privatekey) {
++ return privatekey == null ? this.b : MinecraftEncryption.b(privatekey, this.b);
++ }
++}
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutPlayerListHeaderFooter.java b/src/main/java/net/minecraft/server/PacketPlayOutPlayerListHeaderFooter.java
new file mode 100644
-index 0000000..1606d6d
+index 00000000..1606d6d9
--- /dev/null
+++ b/src/main/java/net/minecraft/server/PacketPlayOutPlayerListHeaderFooter.java
@@ -0,0 +1,33 @@
@@ -3598,7 +3639,7 @@ index 0000000..1606d6d
+}
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutTitle.java b/src/main/java/net/minecraft/server/PacketPlayOutTitle.java
new file mode 100644
-index 0000000..2711298
+index 00000000..27112986
--- /dev/null
+++ b/src/main/java/net/minecraft/server/PacketPlayOutTitle.java
@@ -0,0 +1,103 @@
@@ -3707,7 +3748,7 @@ index 0000000..2711298
+}
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
new file mode 100644
-index 0000000..6014b09
+index 00000000..6014b092
--- /dev/null
+++ b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
@@ -0,0 +1,23 @@
@@ -3736,7 +3777,7 @@ index 0000000..6014b09
+}
diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java
new file mode 100644
-index 0000000..0a14c9d
+index 00000000..0a14c9d4
--- /dev/null
+++ b/src/main/java/net/minecraft/server/PathfinderNormal.java
@@ -0,0 +1,219 @@
@@ -3961,7 +4002,7 @@ index 0000000..0a14c9d
+}
diff --git a/src/main/java/net/minecraft/server/TileEntityEnderChest.java b/src/main/java/net/minecraft/server/TileEntityEnderChest.java
new file mode 100644
-index 0000000..794cdc8
+index 00000000..794cdc80
--- /dev/null
+++ b/src/main/java/net/minecraft/server/TileEntityEnderChest.java
@@ -0,0 +1,87 @@
@@ -4054,7 +4095,7 @@ index 0000000..794cdc8
+}
diff --git a/src/main/java/net/minecraft/server/TileEntityLightDetector.java b/src/main/java/net/minecraft/server/TileEntityLightDetector.java
new file mode 100644
-index 0000000..f75e2de
+index 00000000..f75e2de6
--- /dev/null
+++ b/src/main/java/net/minecraft/server/TileEntityLightDetector.java
@@ -0,0 +1,16 @@
@@ -4074,47 +4115,6 @@ index 0000000..f75e2de
+
+ }
+}
-diff --git a/src/main/java/net/minecraft/server/PacketLoginInEncryptionBegin.java b/src/main/java/net/minecraft/server/PacketLoginInEncryptionBegin.java
-new file mode 100644
-index 0000000..1d2e855
---- /dev/null
-+++ b/src/main/java/net/minecraft/server/PacketLoginInEncryptionBegin.java
-@@ -0,0 +1,35 @@
-+package net.minecraft.server;
-+
-+import java.io.IOException;
-+import java.security.PrivateKey;
-+import javax.crypto.SecretKey;
-+
-+public class PacketLoginInEncryptionBegin implements Packet<PacketLoginInListener> {
-+
-+ private byte[] a = new byte[0];
-+ private byte[] b = new byte[0];
-+
-+ public PacketLoginInEncryptionBegin() {}
-+
-+ public void a(PacketDataSerializer packetdataserializer) throws IOException {
-+ this.a = packetdataserializer.a();
-+ this.b = packetdataserializer.a();
-+ }
-+
-+ public void b(PacketDataSerializer packetdataserializer) throws IOException {
-+ packetdataserializer.a(this.a);
-+ packetdataserializer.a(this.b);
-+ }
-+
-+ public void a(PacketLoginInListener packetlogininlistener) {
-+ packetlogininlistener.a(this);
-+ }
-+
-+ public SecretKey a(PrivateKey privatekey) {
-+ return MinecraftEncryption.a(privatekey, this.a);
-+ }
-+
-+ public byte[] b(PrivateKey privatekey) {
-+ return privatekey == null ? this.b : MinecraftEncryption.b(privatekey, this.b);
-+ }
-+}
--
-2.7.1
+2.34.0
diff --git a/Spigot-Server-Patches/0042-Fix-jar-being-shaded-multiple-times.patch b/Spigot-Server-Patches/0042-Fix-jar-being-shaded-multiple-times.patch
index 5c5a8d22b2..5a58130842 100644
--- a/Spigot-Server-Patches/0042-Fix-jar-being-shaded-multiple-times.patch
+++ b/Spigot-Server-Patches/0042-Fix-jar-being-shaded-multiple-times.patch
@@ -1,14 +1,14 @@
-From d50dae836a3d3f52e9c5be6089246adadbb71628 Mon Sep 17 00:00:00 2001
+From 6f0ca74e6526a72310e6c0f06b4e2a3e21a375f9 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <[email protected]>
Date: Thu, 30 Apr 2015 22:42:34 -0400
Subject: [PATCH] Fix jar being shaded multiple times
diff --git a/pom.xml b/pom.xml
-index 19e47f4..68073c0 100644
+index 32593a7fa..609000dfd 100644
--- a/pom.xml
+++ b/pom.xml
-@@ -130,6 +130,7 @@
+@@ -136,6 +136,7 @@
<artifactId>maven-jar-plugin</artifactId>
<version>2.5</version>
<configuration>
@@ -17,5 +17,5 @@ index 19e47f4..68073c0 100644
<manifestEntries>
<Main-Class>org.bukkit.craftbukkit.Main</Main-Class>
--
-2.7.1
+2.34.0
diff --git a/Spigot-Server-Patches/0063-Optimize-Spigot-s-Anti-X-Ray.patch b/Spigot-Server-Patches/0063-Optimize-Spigot-s-Anti-X-Ray.patch
index c43c2cc5d2..f9a9f2f663 100644
--- a/Spigot-Server-Patches/0063-Optimize-Spigot-s-Anti-X-Ray.patch
+++ b/Spigot-Server-Patches/0063-Optimize-Spigot-s-Anti-X-Ray.patch
@@ -1,11 +1,11 @@
-From 90cfceb6acf7723815e95fee4f9f6a24277bae50 Mon Sep 17 00:00:00 2001
+From 4222b417aed27fedcce9ca54c96f63fa17e504bb Mon Sep 17 00:00:00 2001
From: Iceee <[email protected]>
Date: Thu, 23 Apr 2015 17:26:21 -0400
Subject: [PATCH] Optimize Spigot's Anti X-Ray
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 06c7057..fb16a8a 100644
+index 06c70578..fb16a8ad 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -252,6 +252,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -17,7 +17,7 @@ index 06c7057..fb16a8a 100644
timings.doChunkMap.startTiming(); // Spigot
this.manager.flush();
diff --git a/src/main/java/org/spigotmc/AntiXray.java b/src/main/java/org/spigotmc/AntiXray.java
-index 7221b50..5466a61 100644
+index 7221b507..5466a61c 100644
--- a/src/main/java/org/spigotmc/AntiXray.java
+++ b/src/main/java/org/spigotmc/AntiXray.java
@@ -8,6 +8,11 @@ import net.minecraft.server.Blocks;
@@ -43,10 +43,11 @@ index 7221b50..5466a61 100644
public AntiXray(SpigotWorldConfig config)
{
-@@ -44,6 +53,25 @@ public class AntiXray
+@@ -43,6 +52,25 @@ public class AntiXray
+ replacementOres = blocks.toArray();
}
- /**
++ /**
+ * PaperSpigot - Flush queued block updates for world.
+ */
+ public void flushUpdates(World world)
@@ -65,10 +66,9 @@ index 7221b50..5466a61 100644
+ }
+ }
+
-+ /**
+ /**
* Starts the timings handler, then updates all blocks within the set radius
* of the given coordinate, revealing them if they are hidden ores.
- */
@@ -51,6 +79,13 @@ public class AntiXray
{
if ( world.spigotConfig.antiXray )
@@ -84,5 +84,5 @@ index 7221b50..5466a61 100644
updateNearbyBlocks( world, position, 2, false ); // 2 is the radius, we shouldn't change it as that would make it exponentially slower
update.stopTiming();
--
-2.6.0
+2.34.0
diff --git a/Spigot-Server-Patches/0079-Timings-v2.patch b/Spigot-Server-Patches/0079-Timings-v2.patch
index db50473570..209dd5ae7b 100644
--- a/Spigot-Server-Patches/0079-Timings-v2.patch
+++ b/Spigot-Server-Patches/0079-Timings-v2.patch
@@ -1,4 +1,4 @@
-From b031dee22afe4021b96e86b434dad0c2b8892429 Mon Sep 17 00:00:00 2001
+From d19bcfa1cb87ce084c3ddfe845cc7e3a99b270e4 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 8 Jan 2016 23:36:39 -0600
Subject: [PATCH] Timings v2
@@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2
diff --git a/src/main/java/co/aikar/timings/SpigotTimings.java b/src/main/java/co/aikar/timings/SpigotTimings.java
new file mode 100644
-index 0000000..b3cafaf
+index 00000000..b3cafafc
--- /dev/null
+++ b/src/main/java/co/aikar/timings/SpigotTimings.java
@@ -0,0 +1,111 @@
@@ -123,7 +123,7 @@ index 0000000..b3cafaf
+}
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 0000000..9ebc710
+index 00000000..9ebc710f
--- /dev/null
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -0,0 +1,69 @@
@@ -197,7 +197,7 @@ index 0000000..9ebc710
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
-index c26975a..a784e04 100644
+index c26975a0..a784e04a 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -65,6 +65,16 @@ public class Block {
@@ -218,7 +218,7 @@ index c26975a..a784e04 100644
protected double minY;
protected double minZ;
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
-index 45cea14..088beb2 100644
+index 45cea142..088beb22 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -20,7 +20,7 @@ import java.io.PrintStream;
@@ -231,7 +231,7 @@ index 45cea14..088beb2 100644
import org.bukkit.craftbukkit.util.Waitable;
import org.bukkit.event.server.RemoteServerCommandEvent;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 20cc946..ef59b40 100644
+index 20cc9469..ef59b402 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -16,7 +16,8 @@ import org.bukkit.entity.Hanging;
@@ -270,7 +270,7 @@ index 20cc946..ef59b40 100644
private void recalcPosition() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 0de13bb..19a743c 100644
+index 0de13bb0..19a743c2 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -23,7 +23,7 @@ import org.bukkit.event.entity.EntityRegainHealthEvent;
@@ -341,7 +341,7 @@ index 0de13bb..19a743c 100644
this.world.methodProfiler.b();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index eac71e8..ee09922 100644
+index eac71e82..ee099222 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -45,7 +45,7 @@ import jline.console.ConsoleReader;
@@ -403,7 +403,7 @@ index eac71e8..ee09922 100644
// Run tasks that are waiting on processing
SpigotTimings.processQueueTimer.startTiming(); // Spigot
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 2ab01a1..1138042 100644
+index 2ab01a1f..11380423 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -60,6 +60,7 @@ import org.bukkit.event.player.PlayerToggleSprintEvent;
@@ -451,7 +451,7 @@ index 2ab01a1..1138042 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index 3fc6450..fdcbf44 100644
+index 3fc6450a..fdcbf443 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -6,12 +6,13 @@ import java.util.concurrent.Callable;
@@ -471,7 +471,7 @@ index 3fc6450..fdcbf44 100644
private static Map<String, Class<? extends TileEntity>> f = Maps.newHashMap();
private static Map<Class<? extends TileEntity>, String> g = Maps.newHashMap();
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index b957bd2..a76d83c 100644
+index b957bd27..a76d83c7 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -7,13 +7,14 @@ import org.bukkit.Bukkit;
@@ -581,7 +581,7 @@ index b957bd2..a76d83c 100644
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index fb16a8a..3a2ca89 100644
+index fb16a8ad..3a2ca89c 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -245,13 +245,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -665,7 +665,7 @@ index fb16a8a..3a2ca89 100644
this.methodProfiler.b();
this.V.clear();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7da8d67..97f9f96 100644
+index 7da8d67d..97f9f96e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -329,6 +329,7 @@ public final class CraftServer implements Server {
@@ -676,14 +676,14 @@ index 7da8d67..97f9f96 100644
}
}
-@@ -1715,13 +1716,32 @@ public final class CraftServer implements Server {
+@@ -1715,12 +1716,31 @@ public final class CraftServer implements Server {
}
// PaperSpigot end
+ @Deprecated
@Override
public YamlConfiguration getConfig()
- {
++ {
+ return getBukkitConfig();
+ }
+
@@ -695,23 +695,22 @@ index 7da8d67..97f9f96 100644
+
+ @Override
+ public YamlConfiguration getSpigotConfig()
-+ {
+ {
return org.spigotmc.SpigotConfig.config;
}
- @Override
++ @Override
+ public YamlConfiguration getPaperSpigotConfig()
+ {
+ return org.github.paperspigot.PaperSpigotConfig.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 41d2d87..0000000
+index 41d2d87e..00000000
--- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
+++ /dev/null
@@ -1,173 +0,0 @@
@@ -889,7 +888,7 @@ index 41d2d87..0000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 1135f83..e8c6d5e 100644
+index 1135f83c..e8c6d5ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1496,6 +1496,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -906,7 +905,7 @@ index 1135f83..e8c6d5e 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 93d8d42..d76ec40 100644
+index 93d8d424..d76ec40a 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -186,7 +186,7 @@ public class CraftScheduler implements BukkitScheduler {
@@ -947,7 +946,7 @@ index 93d8d42..d76ec40 100644
task.getOwner().getLogger().log(
Level.WARNING,
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
-index 220e39a..4b1e352 100644
+index 220e39ab..4b1e3523 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 @@
@@ -1027,7 +1026,7 @@ index 220e39a..4b1e352 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 e52ef47..bd0b887 100644
+index e52ef47b..bd0b8873 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;
@@ -1039,7 +1038,7 @@ index e52ef47..bd0b887 100644
this.value = value;
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index 5b0c64d..d3767d2 100644
+index 5b0c64d2..d3767d2a 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -31,8 +31,8 @@ import net.minecraft.server.EntityWither;
@@ -1054,7 +1053,7 @@ index 5b0c64d..d3767d2 100644
public class ActivationRange
{
diff --git a/src/main/java/org/spigotmc/AntiXray.java b/src/main/java/org/spigotmc/AntiXray.java
-index 5466a61..c2ad90c 100644
+index 5466a61c..c2ad90c8 100644
--- a/src/main/java/org/spigotmc/AntiXray.java
+++ b/src/main/java/org/spigotmc/AntiXray.java
@@ -7,6 +7,7 @@ import net.minecraft.server.BlockPosition;
@@ -1100,7 +1099,7 @@ index 5466a61..c2ad90c 100644
}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
-index f6a67d6..b9d185d 100644
+index f6a67d68..b9d185d9 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -12,8 +12,10 @@ import java.util.HashSet;
@@ -1164,5 +1163,5 @@ index f6a67d6..b9d185d 100644
{
int count = getInt( "settings.netty-threads", 4 );
--
-2.7.1
+2.34.0
diff --git a/Spigot-Server-Patches/0102-update-log4j.patch b/Spigot-Server-Patches/0102-update-log4j.patch
new file mode 100644
index 0000000000..20075718a2
--- /dev/null
+++ b/Spigot-Server-Patches/0102-update-log4j.patch
@@ -0,0 +1,102 @@
+From 58ba50518555c19119973f40dd18501b31330f39 Mon Sep 17 00:00:00 2001
+From: sulu5890 <[email protected]>
+Date: Fri, 17 Dec 2021 12:53:42 -0600
+Subject: [PATCH] update log4j
+
+
+diff --git a/pom.xml b/pom.xml
+index 609000df..644305e6 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -44,7 +44,7 @@
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+- <version>2.8.1</version>
++ <version>2.17.0</version> <!-- Paper - Update Log4j -->
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+@@ -64,7 +64,7 @@
+ <dependency>
+ <groupId>jline</groupId>
+ <artifactId>jline</artifactId>
+- <version>2.12</version>
++ <version>2.12.1</version> <!-- Paper - Update Log4j - use this specific version as it works on both aarch64 and windows -->
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
+@@ -105,8 +105,8 @@
+ </pluginRepository>
+ <!-- PaperSpigot - Repo for gitdescribe -->
+ <pluginRepository>
+- <id>destroystokyo</id>
+- <url>https://ci.destroystokyo.com/plugin/repository/everything/</url>
++ <id>papermc</id> <!-- Paper - Update Log4j -->
++ <url>https://papermc.io/repo/repository/maven-public/</url> <!-- Paper - Update Log4j -->
+ </pluginRepository>
+ </pluginRepositories>
+
+@@ -146,6 +146,7 @@
+ <Specification-Title>Bukkit</Specification-Title>
+ <Specification-Version>${api.version}</Specification-Version>
+ <Specification-Vendor>Bukkit Team</Specification-Vendor>
++ <Multi-Release>true</Multi-Release> <!-- Paper - update log4j -->
+ </manifestEntries>
+ <manifestSections>
+ <manifestSection>
+@@ -173,7 +174,7 @@
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+- <version>2.3</version>
++ <version>3.2.4</version> <!-- Paper - Update Log4j -->
+ <executions>
+ <execution>
+ <phase>package</phase>
+@@ -181,6 +182,16 @@
+ <goal>shade</goal>
+ </goals>
+ <configuration>
++ <!-- Paper start - Update Log4j -->
++ <filters>
++ <filter>
++ <artifact>org.spigotmc:minecraft-server:**</artifact>
++ <excludes>
++ <exclude>org/apache/logging/log4j/**</exclude>
++ </excludes>
++ </filter>
++ </filters>
++ <!-- Paper end - Update Log4j -->
+ <relocations>
+ <relocation>
+ <pattern>joptsimple</pattern>
+@@ -218,7 +229,7 @@
+ <plugin>
+ <groupId>net.md-5</groupId>
+ <artifactId>specialsource-maven-plugin</artifactId>
+- <version>1.2.1</version>
++ <version>1.2.3</version> <!-- paper - bump log4j -->
+ <executions>
+ <execution>
+ <phase>package</phase>
+diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
+index 0452fbc0..63cb069f 100644
+--- a/src/main/resources/log4j2.xml
++++ b/src/main/resources/log4j2.xml
+@@ -3,10 +3,10 @@
+ <Appenders>
+ <Console name="WINDOWS_COMPAT" target="SYSTEM_OUT"></Console>
+ <Queue name="TerminalConsole">
+- <PatternLayout pattern="[%d{HH:mm:ss} %level]: %msg{nolookups}%n" />
++ <PatternLayout pattern="[%d{HH:mm:ss} %level]: %msg%n" /> <!-- Paper - update log4j -->
+ </Queue>
+ <RollingRandomAccessFile name="File" fileName="logs/latest.log" filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">
+- <PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %msg{nolookups}%n" />
++ <PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %msg%n" /> <!-- Paper - update log4j -->
+ <Policies>
+ <TimeBasedTriggeringPolicy />
+ <OnStartupTriggeringPolicy />
+--
+2.34.1
+
diff --git a/paperclip.sh b/paperclip.sh
index 7d720f9eaf..351226da50 100755
--- a/paperclip.sh
+++ b/paperclip.sh
@@ -1,14 +1,16 @@
#!/usr/bin/env bash
+basedir="$(cd "$1" && pwd -P)"
+
cp ./PaperSpigot-Server/target/paperspigot*-SNAPSHOT.jar ./Paperclip/paperspigot-1.8.8.jar
cp ./work/1.8.8/1.8.8.jar ./Paperclip/minecraft_server.1.8.8.jar
cd ./Paperclip
-mvn clean package
+mvn clean package -Dmcver=1.8.8 "-Dpaperjar=$basedir/Paperclip/paperspigot-1.8.8.jar" "-Dvanillajar=$basedir/Paperclip/minecraft_server.1.8.8.jar"
cd ..
-cp ./Paperclip/target/paperclip*-SNAPSHOT.jar ./Paperclip.jar
+cp ./Paperclip/assembly/target/paperclip*.jar ./paperclip.jar
echo ""
echo ""
echo ""
echo "Build success!"
-echo "Copied final jar to $(pwd)/Paperclip.jar" \ No newline at end of file
+echo "Copied final jar to $(pwd)/paperclip.jar"
diff --git a/pom.xml b/pom.xml
index 508f3ab479..225b90043a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
<repositories>
<repository>
<id>md_5-releases</id>
- <url>http://repo.md-5.net/content/repositories/releases/</url>
+ <url>https://repo.md-5.net/content/repositories/releases/</url>
</repository>
</repositories>
@@ -44,4 +44,4 @@
<url>https://repo.destroystokyo.com/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
-</project> \ No newline at end of file
+</project>