diff --git a/build.gradle b/build.gradle index 9ba32ec75..72b04ecac 100644 --- a/build.gradle +++ b/build.gradle @@ -87,10 +87,22 @@ repositories { name 'weird maven repos 2' artifactPattern "https://maven.cil.li/[module]/[revision]/[module]-[revision]-[classifier].[ext]" } + maven { + name "Mobius Repo" + url "http://mobiusstrip.eu/maven" + } + maven { + name "CB Repo" + url "http://chickenbones.net/maven" + } maven { name = "ic2" url = "http://maven.ic2.player.to/" } + maven { + name = "gt" + url = "http://gregtech.overminddl1.com/" + } } configurations { @@ -137,6 +149,7 @@ dependencies { compileOnly name: 'BloodMagic', version: config.bloodmagic.version, ext: 'jar' compileOnly name: 'ExtraCells', version: config.ec.version, ext: 'jar' compileOnly name: 'ThaumicEnergistics', version: config.thaumicenergistics.version, ext: 'jar' + compileOnly "thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev" compile 'com.google.code.findbugs:jsr305:1.3.9' // Annotations used by google libs. diff --git a/build.properties b/build.properties index 63557daa4..b9a087922 100644 --- a/build.properties +++ b/build.properties @@ -10,7 +10,7 @@ bloodmagic.version=1.3.0a-1 bluepower.version=0.2.928 cc.cf=2228/723 cc.version=1.73 -ccl.version=1.1.1.104 +ccl.version=1.1.3.140 cofhlib.cf=2230/207 cofhlib.version=[1.7.10]1.0.0RC7-127 coloredlights.version=1.3.7.35 diff --git a/src/main/scala/li/cil/oc/integration/thaumcraft/ConverterAspectItem.scala b/src/main/scala/li/cil/oc/integration/thaumcraft/ConverterAspectItem.scala index d6c87a188..c90ff2bec 100644 --- a/src/main/scala/li/cil/oc/integration/thaumcraft/ConverterAspectItem.scala +++ b/src/main/scala/li/cil/oc/integration/thaumcraft/ConverterAspectItem.scala @@ -4,16 +4,41 @@ import java.util import li.cil.oc.api.driver.Converter import net.minecraft.item.ItemStack -import thaumcraft.api.aspects.AspectList +import thaumcraft.api.aspects.{AspectList, IAspectContainer} +import thaumcraft.common.items.wands.ItemWandCasting import scala.collection.convert.WrapAsScala._ object ConverterAspectItem extends Converter { override def convert(value: scala.Any, output: util.Map[AnyRef, AnyRef]): Unit = value match { case stack: ItemStack if stack.hasTagCompound => - val aspects = new AspectList() + var aspects = new AspectList() aspects.readFromNBT(stack.getTagCompound) - output += "aspects" -> aspects + if (aspects.size() > 0) + output += "aspects" -> aspects + stack.getItem match { + case wand : ItemWandCasting => + aspects = wand.getAllVis(stack) + if (aspects.size() > 0) { + output += "aspects" -> aspects + } + case _ => + } + + case container : IAspectContainer => + output += "aspects" -> container.getAspects + + case aspects : AspectList => + var i = 1 + for (aspect <- aspects.getAspects) { + if (aspect != null) { + val aspectMap = new util.HashMap[AnyRef, AnyRef]() + aspectMap += "name" -> aspect.getName + aspectMap += "amount" -> aspects.getAmount(aspect).asInstanceOf[AnyRef] + output += i.asInstanceOf[AnyRef] -> aspectMap + i += 1; + } + } case _ => } } diff --git a/src/main/scala/li/cil/oc/integration/thaumcraft/ConverterIAspectContainer.java b/src/main/scala/li/cil/oc/integration/thaumcraft/ConverterIAspectContainer.java deleted file mode 100644 index 8a407389b..000000000 --- a/src/main/scala/li/cil/oc/integration/thaumcraft/ConverterIAspectContainer.java +++ /dev/null @@ -1,32 +0,0 @@ -package li.cil.oc.integration.thaumcraft; - -import com.google.common.collect.Maps; -import li.cil.oc.api.driver.Converter; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; -import thaumcraft.api.aspects.IAspectContainer; - -import java.util.HashMap; -import java.util.Map; - -public class ConverterIAspectContainer implements Converter { - @Override - public void convert(final Object value, final Map output) { - if (value instanceof IAspectContainer) { - final IAspectContainer container = (IAspectContainer) value; - output.put("aspects", container.getAspects()); - } - - if (value instanceof AspectList) { - final AspectList aspects = (AspectList) value; - int i = 0; - for (Aspect aspect : aspects.getAspects()) { - if (aspect == null) continue; - final HashMap aspectMap = Maps.newHashMap(); - aspectMap.put("name", aspect.getName()); - aspectMap.put("amount", aspects.getAmount(aspect)); - output.put(++i, aspectMap); - } - } - } -} diff --git a/src/main/scala/li/cil/oc/integration/thaumcraft/ModThaumcraft.scala b/src/main/scala/li/cil/oc/integration/thaumcraft/ModThaumcraft.scala index dd1bbfb21..569614685 100644 --- a/src/main/scala/li/cil/oc/integration/thaumcraft/ModThaumcraft.scala +++ b/src/main/scala/li/cil/oc/integration/thaumcraft/ModThaumcraft.scala @@ -9,8 +9,6 @@ object ModThaumcraft extends ModProxy { override def initialize() { Driver.add(new DriverAspectContainer) - - Driver.add(new ConverterIAspectContainer) Driver.add(ConverterAspectItem) } } \ No newline at end of file