From c66ecdcf293ce3e1ec563d2076a6a0573b9a6d02 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 23 Jan 2015 14:01:10 -0600 Subject: [PATCH] Fixed MAJOR bugs in the thaumcraft aspect system. Hope this fixes things. --- .../mods/thaumcraft/ThaumcraftHelper.java | 15 ++++++++++----- .../mods/thaumcraft/handlers/Aspects.java | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/java/modtweaker/mods/thaumcraft/ThaumcraftHelper.java b/src/main/java/modtweaker/mods/thaumcraft/ThaumcraftHelper.java index 2ed0670..d0dd41f 100644 --- a/src/main/java/modtweaker/mods/thaumcraft/ThaumcraftHelper.java +++ b/src/main/java/modtweaker/mods/thaumcraft/ThaumcraftHelper.java @@ -29,29 +29,34 @@ public class ThaumcraftHelper { } public static AspectList parseAspects(AspectList list, String str) { - if (list == null) list = new AspectList(); + AspectList output=new AspectList(); + if (list != null) + output.add(list); if (str == null || str.equals("")) return list; String[] aspects = str.split(","); for (String aspect : aspects) { if (aspect.startsWith(" ")) aspect = aspect.replaceFirst(" ", ""); String[] aspct = aspect.split("\\s+"); - if (aspct.length == 2) list.add(Aspect.aspects.get(aspct[0]), Integer.parseInt(aspct[1])); + if (aspct.length == 2) output.add(Aspect.aspects.get(aspct[0]), Integer.parseInt(aspct[1])); } - return list; + return output; } public static AspectList removeAspects(AspectList list, String str) { + AspectList output=new AspectList(); + if (list != null) + output.add(list); String[] aspects = str.split(","); for (String aspect : aspects) { if (aspect.startsWith(" ")) aspect = aspect.replaceFirst(" ", ""); String[] aspct = aspect.split("\\s+"); if (aspct.length == 2) { - list.remove(Aspect.aspects.get(aspct[0]), Integer.parseInt(aspct[1])); + output.remove(Aspect.aspects.get(aspct[0]), Integer.parseInt(aspct[1])); } } - return list; + return output; } public static String getResearchTab(String key) { diff --git a/src/main/java/modtweaker/mods/thaumcraft/handlers/Aspects.java b/src/main/java/modtweaker/mods/thaumcraft/handlers/Aspects.java index c737898..7667387 100644 --- a/src/main/java/modtweaker/mods/thaumcraft/handlers/Aspects.java +++ b/src/main/java/modtweaker/mods/thaumcraft/handlers/Aspects.java @@ -198,7 +198,7 @@ public class Aspects { if (oldList != null) { newList = ThaumcraftHelper.removeAspects(oldList, aspects); ThaumcraftHelper.removeEntityAspects(entityName); - ThaumcraftApi.registerEntityTag(entityName, newList); + ThaumcraftApi.registerEntityTag(entityName, newList); } }