From 80c43fc1deaa164a5eb85aa779eb26a7deca7287 Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 2 Aug 2018 20:24:56 +1000 Subject: SPIGOT-4214: Catch attempts to create BlockData for items --- src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java | 2 ++ src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java | 1 + 2 files changed, 3 insertions(+) (limited to 'src/main/java/org') diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java index 882e39be..cfe5903c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java @@ -417,6 +417,8 @@ public class CraftBlockData implements BlockData { } public static CraftBlockData newData(Material material, String data) { + Preconditions.checkArgument(material == null || material.isBlock(), "Cannot get data for not block %s", material); + IBlockData blockData; Block block = CraftMagicNumbers.getBlock(material); diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java index 045b5b41..3474536f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -84,6 +84,7 @@ public final class CraftMagicNumbers implements UnsafeValues { for (Material material : Material.values()) { MinecraftKey key = key(material); + // TODO: only register if block/item? MATERIAL_ITEM.put(material, Item.REGISTRY.get(key)); MATERIAL_BLOCK.put(material, Block.REGISTRY.get(key)); } -- cgit v1.2.3