diff --git a/build.gradle.kts b/build.gradle.kts index f61b40e8..240782f2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,5 @@ import java.text.SimpleDateFormat -version = "1.6.0-pre3" +version = "1.6.0-pre4" plugins { `java-library` diff --git a/src/main/java/com/github/yufiriamazenta/craftorithm/item/ItemManager.java b/src/main/java/com/github/yufiriamazenta/craftorithm/item/ItemManager.java index 054d1605..6338793b 100644 --- a/src/main/java/com/github/yufiriamazenta/craftorithm/item/ItemManager.java +++ b/src/main/java/com/github/yufiriamazenta/craftorithm/item/ItemManager.java @@ -45,10 +45,7 @@ public void regItemProvider(ItemProvider itemProvider) { } itemKey = itemKey.replace(" ", ""); if (!itemKey.contains(":")) { - Material material = Material.matchMaterial(itemKey); - if (material == null) - throw new IllegalArgumentException("Can not found item " + itemKey); - return new ItemStack(material, amountScale); + return matchVanillaItem(itemKey, amountScale); } int index = itemKey.indexOf(":"); @@ -57,7 +54,7 @@ public void regItemProvider(ItemProvider itemProvider) { ItemProvider provider = itemProviderMap.get(namespace); if (provider == null) { - throw new IllegalArgumentException("Can not found item provider: " + namespace); + return matchVanillaItem(itemKey, amountScale); } item = provider.getItem(name); @@ -84,7 +81,20 @@ public String matchItemName(ItemStack item, boolean ignoreAmount) { return itemProviderEntry.getKey() + ":" + tmpName; } - return null; + return item.getType().getKey().toString(); + } + + /** + * 获取原版物品 + * @param itemKey 物品名字 + * @param amount 物品数量 + * @return 物品 + */ + public ItemStack matchVanillaItem(String itemKey, int amount) { + Material material = Material.matchMaterial(itemKey); + if (material == null) + throw new IllegalArgumentException("Can not found item " + itemKey); + return new ItemStack(material, amount); } }