Wand aspect list display added

This commit is contained in:
repo_alt 2020-10-01 04:36:18 +03:00
parent ad3f68a2af
commit 2546a72236
5 changed files with 42 additions and 38 deletions

View File

@ -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.

View File

@ -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

View File

@ -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 _ =>
}
}

View File

@ -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<Object, Object> 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<Object, Object> aspectMap = Maps.newHashMap();
aspectMap.put("name", aspect.getName());
aspectMap.put("amount", aspects.getAmount(aspect));
output.put(++i, aspectMap);
}
}
}
}

View File

@ -9,8 +9,6 @@ object ModThaumcraft extends ModProxy {
override def initialize() {
Driver.add(new DriverAspectContainer)
Driver.add(new ConverterIAspectContainer)
Driver.add(ConverterAspectItem)
}
}