diff --git a/src/main/java/forestry/core/utils/StackUtils.java b/src/main/java/forestry/core/utils/StackUtils.java index 0acae8e08..6892a2fc3 100755 --- a/src/main/java/forestry/core/utils/StackUtils.java +++ b/src/main/java/forestry/core/utils/StackUtils.java @@ -471,17 +471,17 @@ public class StackUtils { return block == getBlock(stack) && meta == stack.getItemDamage(); } - public static List parseItemStackStrings(String itemStackStrings) { + public static List parseItemStackStrings(String itemStackStrings, int missingMetaValue) { String[] parts = itemStackStrings.split("(\\s*;\\s*)+"); - return parseItemStackStrings(parts); + return parseItemStackStrings(parts, missingMetaValue); } - public static List parseItemStackStrings(String[] parts) { + public static List parseItemStackStrings(String[] parts, int missingMetaValue) { List itemStacks = new ArrayList(); for (String itemStackString : parts) { - ItemStack itemStack = StackUtils.parseItemStackString(itemStackString); + ItemStack itemStack = StackUtils.parseItemStackString(itemStackString, missingMetaValue); if (itemStack != null) { itemStacks.add(itemStack); } @@ -490,7 +490,7 @@ public class StackUtils { return itemStacks; } - public static ItemStack parseItemStackString(String itemStackString) { + public static ItemStack parseItemStackString(String itemStackString, int missingMetaValue) { itemStackString = itemStackString.trim(); if (itemStackString.isEmpty()) { return null; @@ -507,7 +507,7 @@ public class StackUtils { int meta; if (parts.length == 2) { - meta = OreDictionary.WILDCARD_VALUE; + meta = missingMetaValue; } else { try { meta = parts[2].equals("*") ? OreDictionary.WILDCARD_VALUE : NumberFormat.getIntegerInstance().parse(parts[2]).intValue(); diff --git a/src/main/java/forestry/plugins/PluginApiculture.java b/src/main/java/forestry/plugins/PluginApiculture.java index 3fee153c9..e25462569 100644 --- a/src/main/java/forestry/plugins/PluginApiculture.java +++ b/src/main/java/forestry/plugins/PluginApiculture.java @@ -859,7 +859,7 @@ public class PluginApiculture extends ForestryPlugin { } private static void parseAdditionalFlowers(String list, ArrayList target) { - List flowers = StackUtils.parseItemStackStrings(list); + List flowers = StackUtils.parseItemStackStrings(list, 0); target.addAll(flowers); } diff --git a/src/main/java/forestry/plugins/PluginStorage.java b/src/main/java/forestry/plugins/PluginStorage.java index 3764ef5fa..ecdc724ef 100755 --- a/src/main/java/forestry/plugins/PluginStorage.java +++ b/src/main/java/forestry/plugins/PluginStorage.java @@ -231,7 +231,7 @@ public class PluginStorage extends ForestryPlugin { } private static void old_parseBackpackItems(String list, IBackpackDefinition backpackDefinition) { - List backpackItems = StackUtils.parseItemStackStrings(list); + List backpackItems = StackUtils.parseItemStackStrings(list, 0); backpackDefinition.addValidItems(backpackItems); } @@ -425,7 +425,7 @@ public class PluginStorage extends ForestryPlugin { backpackConf.comment = "Add itemStacks for the " + backpackName + "'s backpack here in the format 'modid:name:meta'. For wildcard metadata the format is 'modid:name'."; String[] backpackItemList = backpackConf.getStringList(); - backpackItems = StackUtils.parseItemStackStrings(backpackItemList); + backpackItems = StackUtils.parseItemStackStrings(backpackItemList, OreDictionary.WILDCARD_VALUE); } { @@ -487,7 +487,7 @@ public class PluginStorage extends ForestryPlugin { } IBackpackDefinition backpackDefinition = BackpackManager.definitions.get(tokens[0]); - List itemStacks = StackUtils.parseItemStackStrings(tokens[1]); + List itemStacks = StackUtils.parseItemStackStrings(tokens[1], 0); backpackDefinition.addValidItems(itemStacks); return true;