diff --git a/Paper b/Paper index c034be8a8..bc447dc13 160000 --- a/Paper +++ b/Paper @@ -1 +1 @@ -Subproject commit c034be8a825df3936bca531cb4b29d90a56b0d7e +Subproject commit bc447dc137470e37c7fe27a0445b61a10fcbb7e7 diff --git a/current-paper b/current-paper index a437b8f91..2f9ffeeac 100644 --- a/current-paper +++ b/current-paper @@ -1 +1 @@ -1.15--5b66933dd600d9eed357045f53be8251eb6763ea +1.15--4318ff38293a0fb5f1f6182065d53f03ff5f7606 diff --git a/patches/server/0001-Rebrand.patch b/patches/server/0001-Rebrand.patch index 05ca237a9..370cbb8af 100644 --- a/patches/server/0001-Rebrand.patch +++ b/patches/server/0001-Rebrand.patch @@ -1,4 +1,4 @@ -From 58d81920448221d19814f2900b539bdd3409f33a Mon Sep 17 00:00:00 2001 +From 22b94a39b6069106fd8525f79d1c009e85bfef80 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 4 May 2019 01:02:11 -0500 Subject: [PATCH] Rebrand @@ -86,10 +86,10 @@ index cd6e259239..bb227bc0fb 100644 ); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index edb3a60355..f14d1b160a 100644 +index 664c48d688..8596d1c2e6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1474,7 +1474,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 1 Aug 2019 19:15:12 -0500 Subject: [PATCH] Add blacklist option for grindstone @@ -51,10 +51,10 @@ index ed88e208d0..0a5abd2e10 100644 Map map = EnchantmentManager.a(itemstack); Iterator iterator = map.entrySet().iterator(); diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 5379d0e0d8..2ab8b9a3d0 100644 +index 4ed4161270..460145bab1 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -541,6 +541,12 @@ public final class ItemStack { +@@ -540,6 +540,12 @@ public final class ItemStack { return !this.e() ? this.doMaterialsMatch(itemstack) : !itemstack.isEmpty() && this.getItem() == itemstack.getItem(); } diff --git a/patches/server/0050-Implement-AFK-API.patch b/patches/server/0050-Implement-AFK-API.patch index 699316f92..895b93602 100644 --- a/patches/server/0050-Implement-AFK-API.patch +++ b/patches/server/0050-Implement-AFK-API.patch @@ -1,4 +1,4 @@ -From 7db14bbe9478f1d5e6a9fcc77e865ee4772cd1d3 Mon Sep 17 00:00:00 2001 +From e958f6fd32c2078f4f4d0f98513001f56a7b7095 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 8 Aug 2019 15:29:15 -0500 Subject: [PATCH] Implement AFK API @@ -205,7 +205,7 @@ index cdc81ff1e2..2e74e46d5d 100644 if (from.getX() != Double.MAX_VALUE) { Location oldTo = to.clone(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 372b48fb2d..f6431f1de6 100644 +index d5a0035124..6b28d84203 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -360,7 +360,7 @@ public class WorldServer extends World { @@ -217,7 +217,7 @@ index 372b48fb2d..f6431f1de6 100644 })) { this.C = false; if (this.getGameRules().getBoolean(GameRules.DO_DAYLIGHT_CYCLE)) { -@@ -631,7 +631,7 @@ public class WorldServer extends World { +@@ -633,7 +633,7 @@ public class WorldServer extends World { while (iterator.hasNext()) { EntityPlayer entityplayer = (EntityPlayer) iterator.next(); diff --git a/patches/server/0067-Add-block-and-fluid-tick-events.patch b/patches/server/0067-Add-block-and-fluid-tick-events.patch index cc57fbf16..f12ab2e97 100644 --- a/patches/server/0067-Add-block-and-fluid-tick-events.patch +++ b/patches/server/0067-Add-block-and-fluid-tick-events.patch @@ -1,27 +1,27 @@ -From 3deb8c03cbe3d16b0906e037ebcb2be02aa17783 Mon Sep 17 00:00:00 2001 +From 5a63124266296c98b6ff07dfd11b9133476c01f8 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 18 Oct 2019 23:58:56 -0500 Subject: [PATCH] Add block and fluid tick events --- - .../java/net/minecraft/server/WorldServer.java | 8 ++++++-- + .../java/net/minecraft/server/WorldServer.java | 8 ++++---- .../net/pl3x/purpur/PurpurWorldConfig.java | 7 +++++++ .../org/bukkit/craftbukkit/CraftWorld.java | 18 ++++++++++++++++++ - 3 files changed, 31 insertions(+), 2 deletions(-) + 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f6431f1de6..e70bc4d4dc 100644 +index 6b28d84203..9279a41b60 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -580,13 +580,15 @@ public class WorldServer extends World { +@@ -580,15 +580,13 @@ public class WorldServer extends World { gameprofilerfiller.enter("randomTick"); IBlockData iblockdata = chunksection.getType(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k); - if (iblockdata.q()) { +- iblockdata.getBlock().randomTick = true; // Paper - fix MC-113809 + if (iblockdata.q() && (!purpurConfig.blockTickEvent || new net.pl3x.purpur.event.block.BlockTickEvent(getWorld(), blockposition2.x, blockposition2.y, blockposition2.z, true).callEvent())) { // Purpur -+ iblockdata.getBlock().randomTick = true; // Paper - fix MC-113809 iblockdata.b(this, blockposition2, this.random); -+ iblockdata.getBlock().randomTick = false; // Paper - fix MC-113809 +- iblockdata.getBlock().randomTick = false; // Paper - fix MC-113809 } Fluid fluid = iblockdata.getFluid(); @@ -31,7 +31,7 @@ index f6431f1de6..e70bc4d4dc 100644 fluid.b(this, blockposition2, this.random); } -@@ -675,6 +677,7 @@ public class WorldServer extends World { +@@ -677,6 +675,7 @@ public class WorldServer extends World { Fluid fluid = this.getFluid(nextticklistentry.a); if (fluid.getType() == nextticklistentry.b()) { @@ -39,14 +39,14 @@ index f6431f1de6..e70bc4d4dc 100644 fluid.a((World) this, nextticklistentry.a); } -@@ -684,6 +687,7 @@ public class WorldServer extends World { +@@ -686,6 +685,7 @@ public class WorldServer extends World { IBlockData iblockdata = this.getType(nextticklistentry.a); if (iblockdata.getBlock() == nextticklistentry.b()) { + if (purpurConfig.blockTickEvent && !new net.pl3x.purpur.event.block.BlockTickEvent(getWorld(), nextticklistentry.a.x, nextticklistentry.a.y, nextticklistentry.a.z).callEvent()) return; // Purpur - iblockdata.getBlock().randomTick = true; // Paper - fix MC-113809 iblockdata.a(this, nextticklistentry.a, this.random); - iblockdata.getBlock().randomTick = false; // Paper - fix MC-113809 + } + diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index f687444604..3ad3415c4a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java