| package li.cil.occ.mods.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(Object value, Map<Object, Object> output) { | |
| if (value instanceof IAspectContainer) { | |
| IAspectContainer container = (IAspectContainer) value; | |
| output.put("aspectList", container.getAspects()); | |
| } | |
| if (value instanceof AspectList) { | |
| final AspectList aspectList = (AspectList) value; | |
| int i = 0; | |
| for (Aspect aspect : aspectList.getAspects()) { | |
| if (aspect == null) continue; | |
| HashMap<Object, Object> aspectMap = Maps.newHashMap(); | |
| aspectMap.put("name", aspect.getName()); | |
| aspectMap.put("quantity", aspectList.getAmount(aspect)); | |
| output.put(++i, aspectMap); | |
| } | |
| } | |
| } | |
| } |