From 64665c9467618fc4c63bee7c25d9cc74317aecc6 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Mon, 17 Aug 2020 17:34:33 -0500 Subject: [PATCH] Crying obsidian valid for portal frames diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java index 1fc98698b81c079ebe4a524200232db1fe143bdf..d621b11ba9029a732a819e0558d6f8a439990dbe 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -100,6 +100,7 @@ public class Block extends BlockBase implements IMaterial { return tag.isTagged(this); } + public boolean equals(Block block) { return a(block); } // Purpur - OBFHELPER public boolean a(Block block) { return this == block; } diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java index 483756316a51780da2122b68e73ffc5fc9d87df3..5550693a4ea0c1d99abb35b826d09963bc6c45fd 100644 --- a/src/main/java/net/minecraft/server/BlockBase.java +++ b/src/main/java/net/minecraft/server/BlockBase.java @@ -725,6 +725,7 @@ public abstract class BlockBase { return this.getBlock().a(tag) && predicate.test(this); } + public boolean equals(Block block) { return a(block); } // Purpur - OBFHELPER public boolean a(Block block) { return this.getBlock().a(block); } diff --git a/src/main/java/net/minecraft/server/BlockPortalShape.java b/src/main/java/net/minecraft/server/BlockPortalShape.java index 6ef81aeb4c63bc6c23163796dbd977602ca2f540..9ea3c30b679da4e77b86d96d0cc476732040f184 100644 --- a/src/main/java/net/minecraft/server/BlockPortalShape.java +++ b/src/main/java/net/minecraft/server/BlockPortalShape.java @@ -14,7 +14,7 @@ import org.bukkit.event.world.PortalCreateEvent; public class BlockPortalShape { private static final BlockBase.e a = (iblockdata, iblockaccess, blockposition) -> { - return iblockdata.a(Blocks.OBSIDIAN); + return iblockdata.equals(Blocks.OBSIDIAN) || (net.pl3x.purpur.PurpurConfig.cryingObsidianValidForPortalFrame && iblockdata.equals(Blocks.CRYING_OBSIDIAN)); // Purpur }; private final GeneratorAccess b; private final EnumDirection.EnumAxis c; diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java index 6e22d0cd05cc5f0d8d66b03b6484859aad0a387c..b71d3187e81241834827dc36352d87b0397d62b4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -176,6 +176,7 @@ public class PurpurConfig { public static boolean barrelSixRows = false; public static boolean enderChestSixRows = false; public static boolean enderChestPermissionRows = false; + public static boolean cryingObsidianValidForPortalFrame = false; private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); @@ -190,6 +191,7 @@ public class PurpurConfig { enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows); InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); + cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame); } public static boolean endermanShortHeight = false;