From 5d489ff4ee40b985352250acc69d56664a2ea2b4 Mon Sep 17 00:00:00 2001 From: Christos Miniotis Date: Thu, 2 Aug 2018 15:26:02 +0300 Subject: [PATCH] SPIGOT-3936: Add isInteractable to Material --- src/test/java/org/bukkit/PerMaterialTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/test/java/org/bukkit/PerMaterialTest.java b/src/test/java/org/bukkit/PerMaterialTest.java index dfa24769a2..98bd2fbbbf 100644 --- a/src/test/java/org/bukkit/PerMaterialTest.java +++ b/src/test/java/org/bukkit/PerMaterialTest.java @@ -26,7 +26,12 @@ import org.junit.runners.Parameterized.Parameters; import com.google.common.collect.Lists; import java.util.Map; import net.minecraft.server.Block; +import net.minecraft.server.BlockPosition; import net.minecraft.server.Blocks; +import net.minecraft.server.EntityHuman; +import net.minecraft.server.EnumDirection; +import net.minecraft.server.EnumHand; +import net.minecraft.server.IBlockData; import org.bukkit.craftbukkit.util.CraftMagicNumbers; import org.bukkit.enchantments.EnchantmentTarget; @@ -198,4 +203,16 @@ public class PerMaterialTest extends AbstractTestingBase { assertThat(material.isItem(), is(equalTo(CraftMagicNumbers.getItem(material) != null))); } } + + @Test + public void testInteractable() throws ReflectiveOperationException { + if (material.isBlock()) { + assertThat(material.isInteractable(), + is(!CraftMagicNumbers.getBlock(material).getClass() + .getMethod("interact", IBlockData.class, net.minecraft.server.World.class, BlockPosition.class, EntityHuman.class, EnumHand.class, EnumDirection.class, float.class, float.class, float.class) + .getDeclaringClass().equals(Block.class))); + } else { + assertFalse(material.isInteractable()); + } + } }