diff --git a/Spigot-API-Patches/Add-effect-to-block-break-naturally.patch b/Spigot-API-Patches/Add-effect-to-block-break-naturally.patch index c86f74b5b2..01ae314d0a 100644 --- a/Spigot-API-Patches/Add-effect-to-block-break-naturally.patch +++ b/Spigot-API-Patches/Add-effect-to-block-break-naturally.patch @@ -10,7 +10,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 +++ b/src/main/java/org/bukkit/block/Block.java @@ -0,0 +0,0 @@ public interface Block extends Metadatable { */ - boolean breakNaturally(@NotNull ItemStack tool); + boolean breakNaturally(@Nullable ItemStack tool); + // Paper start + /** diff --git a/Spigot-Server-Patches/Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/Spigot-Server-Patches/Add-Plugin-Tickets-to-API-Chunk-Methods.patch index 745c2b16fe..c8bc1e5932 100644 --- a/Spigot-Server-Patches/Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/Spigot-Server-Patches/Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -72,11 +72,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 public Chunk getChunkAt(Block block) { Preconditions.checkArgument(block != null, "null block"); @@ -0,0 +0,0 @@ public class CraftWorld implements World { + public boolean unloadChunkRequest(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot - net.minecraft.server.IChunkAccess chunk = world.getChunkProvider().getChunkAtIfLoadedImmediately(x, z); // Paper - if (chunk != null) { -- world.getChunkProvider().removeTicket(TicketType.PLUGIN, chunk.getPos(), 1, Unit.INSTANCE); -+ world.getChunkProvider().removeTicket(TicketType.PLUGIN, chunk.getPos(), 0, Unit.INSTANCE); // Paper + if (isChunkLoaded(x, z)) { +- world.getChunkProvider().removeTicket(TicketType.PLUGIN, new ChunkCoordIntPair(x, z), 1, Unit.INSTANCE); ++ world.getChunkProvider().removeTicket(TicketType.PLUGIN, new ChunkCoordIntPair(x, z), 0, Unit.INSTANCE); // Paper } return true; diff --git a/Spigot-Server-Patches/Add-effect-to-block-break-naturally.patch b/Spigot-Server-Patches/Add-effect-to-block-break-naturally.patch index 6ac0e0adc2..cf767a46d0 100644 --- a/Spigot-Server-Patches/Add-effect-to-block-break-naturally.patch +++ b/Spigot-Server-Patches/Add-effect-to-block-break-naturally.patch @@ -24,7 +24,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 net.minecraft.server.Block block = iblockdata.getBlock(); @@ -0,0 +0,0 @@ public class CraftBlock implements Block { // Modelled off EntityHuman#hasBlock - if (block != Blocks.AIR && (iblockdata.getMaterial().isAlwaysDestroyable() || nmsItem.canDestroySpecialBlock(iblockdata))) { + if (block != Blocks.AIR && (item == null || iblockdata.getMaterial().isAlwaysDestroyable() || nmsItem.canDestroySpecialBlock(iblockdata))) { net.minecraft.server.Block.dropItems(iblockdata, world.getMinecraftWorld(), position, world.getTileEntity(position), null, nmsItem); + if (triggerEffect) world.triggerEffect(org.bukkit.Effect.STEP_SOUND.getId(), position, net.minecraft.server.Block.getCombinedId(block.getBlockData())); // Paper result = true; diff --git a/Spigot-Server-Patches/Don-t-load-chunks-when-attempting-to-unload-a-chunk.patch b/Spigot-Server-Patches/Don-t-load-chunks-when-attempting-to-unload-a-chunk.patch deleted file mode 100644 index c1dd5c185e..0000000000 --- a/Spigot-Server-Patches/Don-t-load-chunks-when-attempting-to-unload-a-chunk.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Aikar <aikar@aikar.co> -Date: Wed, 8 Apr 2020 21:07:08 -0400 -Subject: [PATCH] Don't load chunks when attempting to unload a chunk - -Big Brain Logic - -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -0,0 +0,0 @@ public class CraftWorld implements World { - @Override - public boolean unloadChunkRequest(int x, int z) { - org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot -- net.minecraft.server.IChunkAccess chunk = world.getChunkProvider().getChunkAt(x, z, ChunkStatus.FULL, false); -+ net.minecraft.server.IChunkAccess chunk = world.getChunkProvider().getChunkAtIfLoadedImmediately(x, z); // Paper - if (chunk != null) { - world.getChunkProvider().removeTicket(TicketType.PLUGIN, chunk.getPos(), 1, Unit.INSTANCE); - } -@@ -0,0 +0,0 @@ public class CraftWorld implements World { - - private boolean unloadChunk0(int x, int z, boolean save) { - org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot -- net.minecraft.server.Chunk chunk = (net.minecraft.server.Chunk) world.getChunkProvider().getChunkAt(x, z, ChunkStatus.FULL, false); -+ net.minecraft.server.Chunk chunk = world.getChunkProvider().getChunkAtIfLoadedImmediately(x, z); // Paper - if (chunk == null) { - return true; - } diff --git a/Spigot-Server-Patches/POM-Changes.patch b/Spigot-Server-Patches/POM-Changes.patch index 33301b8118..28508323ff 100644 --- a/Spigot-Server-Patches/POM-Changes.patch +++ b/Spigot-Server-Patches/POM-Changes.patch @@ -196,7 +196,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 @@ -0,0 +0,0 @@ public class Main { } - if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { + if (false && Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { - Date buildDate = new Date(Integer.parseInt(Main.class.getPackage().getImplementationVendor()) * 1000L); + Date buildDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(Main.class.getPackage().getImplementationVendor()); // Paper diff --git a/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch index bf78f66354..a42f1c07b0 100644 --- a/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/Use-TerminalConsoleAppender-for-console-improvements.patch @@ -325,7 +325,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper } - if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { + if (false && Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { @@ -0,0 +0,0 @@ public class Main { System.out.println("Unable to read system info"); } diff --git a/Spigot-Server-Patches/improve-CraftWorld-isChunkLoaded.patch b/Spigot-Server-Patches/improve-CraftWorld-isChunkLoaded.patch index 9a9aefe365..013b83f911 100644 --- a/Spigot-Server-Patches/improve-CraftWorld-isChunkLoaded.patch +++ b/Spigot-Server-Patches/improve-CraftWorld-isChunkLoaded.patch @@ -16,8 +16,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 @Override public boolean isChunkLoaded(int x, int z) { -- net.minecraft.server.Chunk chunk = world.getChunkProvider().getChunkAt(x, z, false); -- return chunk != null; +- return world.getChunkProvider().isChunkLoaded(x, z); + return world.getChunkProvider().getChunkAtIfLoadedImmediately(x, z) != null; // Paper } diff --git a/paper b/paper index 687c3813e6..6106243b08 100755 --- a/paper +++ b/paper @@ -129,6 +129,13 @@ case "$1" in rm -rf work echo "Cleaned build files" ;; + "con" | "continue") + if [ -d ".git/rebase-apply" ]; then + git -c commit.gpgsign=false am --continue + elif [ -d ".git/rebase-merge" ]; then + git -c commit.gpgsign=false rebase --continue + fi + ;; "e" | "edit") case "$2" in "s" | "server") diff --git a/work/Bukkit b/work/Bukkit index e269963640..b2f1908c59 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit e2699636407094a6e25843907291cde511fbb19d +Subproject commit b2f1908c59d22a693ee7ef10f480081436145251 diff --git a/work/CraftBukkit b/work/CraftBukkit index 1b2830a3b3..8ea9b1386b 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 1b2830a3b3aa5ecf4d2f44696654fc028a2c53a0 +Subproject commit 8ea9b1386bc7f131c3df3ed0b87b49a5a3e811ba diff --git a/work/Spigot b/work/Spigot index 2f5d615f15..a99063f771 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 2f5d615f157752a2b28b0986b34cc708d5e77674 +Subproject commit a99063f77142a462546e31413de6c6190e913f11