diff --git a/patches/api/0021-Add-getPlacementBlockData-to-World.patch b/patches/api/0021-Add-getPlacementBlockData-to-World.patch new file mode 100644 index 000000000..ccdfc1bda --- /dev/null +++ b/patches/api/0021-Add-getPlacementBlockData-to-World.patch @@ -0,0 +1,33 @@ +From bbeeaa0c5fb5bd58b0d4f3326c68184f16bcda1f Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Sat, 19 Oct 2019 00:34:36 -0500 +Subject: [PATCH] Add getPlacementBlockData to World + +--- + src/main/java/org/bukkit/World.java | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java +index e1f25bdd1..15b3f9c7b 100644 +--- a/src/main/java/org/bukkit/World.java ++++ b/src/main/java/org/bukkit/World.java +@@ -3016,6 +3016,16 @@ public interface World extends PluginMessageRecipient, Metadatable { + * @param enabled True to enable + */ + void setFluidTickEventEnabled(boolean enabled); ++ ++ /** ++ * Get the hypothetical BlockData that would apply if one tries to set the given BlockData ++ * ++ * @param blockData BlockData to try ++ * @param location Location to check ++ * @return Valid BlockData for location ++ */ ++ @NotNull ++ BlockData getPlacementBlockData(@NotNull BlockData blockData, @NotNull Location location); + // Purpur end + + /** +-- +2.23.0.rc1 + diff --git a/patches/server/0073-Add-getPlacementBlockData-to-World.patch b/patches/server/0073-Add-getPlacementBlockData-to-World.patch new file mode 100644 index 000000000..1a10fb3b1 --- /dev/null +++ b/patches/server/0073-Add-getPlacementBlockData-to-World.patch @@ -0,0 +1,28 @@ +From 332af179006a86c548ce81589eaca216fd2aacfb Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Sat, 19 Oct 2019 00:34:43 -0500 +Subject: [PATCH] Add getPlacementBlockData to World + +--- + src/main/java/org/bukkit/craftbukkit/CraftWorld.java | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +index 0f33688cd5..112ad300d3 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +@@ -2361,6 +2361,11 @@ public class CraftWorld implements World { + public void setFluidTickEventEnabled(boolean enabled) { + getHandle().purpurConfig.fluidTickEvent = enabled; + } ++ ++ public BlockData getPlacementBlockData(BlockData blockdata, Location location) { ++ IBlockData validData = net.minecraft.server.Block.getValidBlockForPosition(((CraftBlockData) blockdata).getState(), getHandle(), net.minecraft.server.MCUtil.toBlockPosition(location)); ++ return CraftBlockData.fromData(validData == null ? Blocks.AIR.getBlockData() : validData); ++ } + // Purpur end + + // Paper start +-- +2.23.0.rc1 +