Fix #482, unable to disguise as variants with no item equiv

This commit is contained in:
libraryaddict
2020-06-24 17:20:18 +12:00
parent 281d94fbb9
commit 0777947173
4 changed files with 16 additions and 7 deletions

View File

@@ -1446,11 +1446,19 @@ public class ReflectionManager {
public static int getCombinedIdByItemStack(ItemStack itemStack) {
try {
Object nmsItem = getNmsItem(itemStack);
Object item = getNmsMethod("ItemStack", "getItem").invoke(nmsItem);
Object nmsBlock;
Class blockClass = getNmsClass("Block");
Object nmsBlock = getNmsMethod(blockClass, "asBlock", getNmsClass("Item")).invoke(null, item);
if (NmsVersion.v1_13.isSupported()) {
nmsBlock = getCraftMethod("util.CraftMagicNumbers", "getBlock", Material.class)
.invoke(null, itemStack.getType());
} else {
Object nmsItem = getNmsItem(itemStack);
Object item = getNmsMethod("ItemStack", "getItem").invoke(nmsItem);
nmsBlock = getNmsMethod(blockClass, "asBlock", getNmsClass("Item")).invoke(null, item);
}
Object iBlockData = getNmsMethod(blockClass, "getBlockData").invoke(nmsBlock);