From 14d11ef7be112a4235f26b3f79f92fac78de9d23 Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 20 Feb 2015 15:09:30 -0800 Subject: [PATCH] Fix teleposerBlacklist shorthand syntax I derped and forgot to support `modid:blockname` automatically using a meta of `0`. --- .../common/AlchemicalWizardryEventHooks.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java index 4fba312a..d6c5d97a 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java @@ -684,12 +684,13 @@ public class AlchemicalWizardryEventHooks for (int i = 0; i < BloodMagicConfiguration.teleposerBlacklist.length; i++) { String[] blockData = BloodMagicConfiguration.teleposerBlacklist[i].split(":"); + // If the block follows full syntax: modid:blockname:meta if (blockData.length == 3) { Block block = GameRegistry.findBlock(blockData[0], blockData[1]); int meta; - // Check if it's an int, if so, parse it. If not, set to 0 to avoid crashing. + // Check if it's an int, if so, parse it. If not, set meta to 0 to avoid crashing. if (blockData[2].matches("-?\\d+")) meta = Integer.parseInt(blockData[2]); else if (blockData[2].equals("*")) @@ -698,7 +699,17 @@ public class AlchemicalWizardryEventHooks meta = 0; if (block != null) - if (( block == event.initialBlock || block == event.finalBlock) && ( meta == event.initialMetadata || meta == event.finalMetadata || meta == OreDictionary.WILDCARD_VALUE)) + if (( block == event.initialBlock || block == event.finalBlock) && (meta == event.initialMetadata || meta == event.finalMetadata || meta == OreDictionary.WILDCARD_VALUE)) + event.setCanceled(true); + + // If the block uses shorthand syntax: modid:blockname + } else if (blockData.length == 2) { + + Block block = GameRegistry.findBlock(blockData[0], blockData[1]); + int meta = 0; + + if (block != null) + if (( block == event.initialBlock || block == event.finalBlock) && (meta == event.initialMetadata || meta == event.finalMetadata || meta == OreDictionary.WILDCARD_VALUE)) event.setCanceled(true); } }