From 189d090276b32e7c7ce684bea339b3775e5ca705 Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Sun, 1 Jan 2023 23:54:45 +0100 Subject: [PATCH] terrestria compatibility --- gradle.properties | 2 +- .../quickiefabric/help/ClassHelper.java | 27 +++++++++++++++++++ .../quickiefabric/tools/ToolRangeableAxe.java | 6 +++-- .../quickiefabric/help/TestClassHelper.java | 18 +++++++++++++ 4 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 src/main/java/de/jottyfan/minecraft/quickiefabric/help/ClassHelper.java create mode 100644 src/test/java/de/jottyfan/minecraft/quickiefabric/help/TestClassHelper.java diff --git a/gradle.properties b/gradle.properties index f1a984c..3b64c61 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ loader_version=0.14.11 # Mod Properties - mod_version = 1.19.3.0 + mod_version = 1.19.3.1 maven_group = de.jottyfan.minecraft archives_base_name = quickiefabric diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/help/ClassHelper.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/help/ClassHelper.java new file mode 100644 index 0000000..3b91f50 --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/help/ClassHelper.java @@ -0,0 +1,27 @@ +package de.jottyfan.minecraft.quickiefabric.help; + +/** + * + * @author jotty + * + */ +public class ClassHelper { + + /** + * check if c is instance of name + * + * @param c the class + * @param name the name + * @return true or false + */ + public static final Boolean isInstanceOf(Class c, String name) { + Class[] a = c.getInterfaces(); + for (Class cl : a) { + String simpleName = cl.getSimpleName(); + if (simpleName.equals(name)) { + return true; + } + } + return false; + } +} diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolRangeableAxe.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolRangeableAxe.java index f1ba135..7e1ebe2 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolRangeableAxe.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/tools/ToolRangeableAxe.java @@ -4,9 +4,9 @@ import java.util.List; import com.google.common.collect.Lists; +import de.jottyfan.minecraft.quickiefabric.help.ClassHelper; import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.block.LeavesBlock; import net.minecraft.item.AxeItem; import net.minecraft.item.ItemStack; import net.minecraft.item.ToolMaterial; @@ -35,7 +35,9 @@ public class ToolRangeableAxe extends AxeItem implements ToolRangeable { @Override public boolean canBreakNeighbors(BlockState blockIn) { - return super.isSuitableFor(blockIn) || blockIn.getBlock() instanceof LeavesBlock; + Class c = blockIn.getBlock().getClass(); + return super.isSuitableFor(blockIn) || ClassHelper.isInstanceOf(c, "LeavesBlock") + || ClassHelper.isInstanceOf(c, "ExtendedLeavesBlock"); // from terrestria } @Override diff --git a/src/test/java/de/jottyfan/minecraft/quickiefabric/help/TestClassHelper.java b/src/test/java/de/jottyfan/minecraft/quickiefabric/help/TestClassHelper.java new file mode 100644 index 0000000..acd0ab0 --- /dev/null +++ b/src/test/java/de/jottyfan/minecraft/quickiefabric/help/TestClassHelper.java @@ -0,0 +1,18 @@ +package de.jottyfan.minecraft.quickiefabric.help; + +import org.junit.Test; + +import de.jottyfan.minecraft.quickiefabric.blocks.BlockCottonplant; + +/** + * + * @author jotty + * + */ +public class TestClassHelper { + + @Test + public void testIsInstanceOf() { + ClassHelper.isInstanceOf(BlockCottonplant.class, "Fertilizable"); + } +}