Add Rotarycraft Integration ((item stack converters for jetpacks and springpowered pumps)

This commit is contained in:
Tobias Wohlfarth 2015-09-22 15:32:39 +02:00
parent 29793e780e
commit 85f463ec0c
4 changed files with 97 additions and 0 deletions

View File

@ -63,6 +63,7 @@ object Mods {
val ProjectRedTransmission = new SimpleMod(IDs.ProjectRedTransmission)
val Railcraft = new SimpleMod(IDs.Railcraft)
val RedLogic = new SimpleMod(IDs.RedLogic)
val RotaryCraft = new SimpleMod(IDs.RotaryCraft)
val StargateTech2 = new ModBase {
def id = IDs.StargateTech2
@ -115,6 +116,7 @@ object Mods {
integration.projectred.ModProjectRed,
integration.railcraft.ModRailcraft,
integration.redlogic.ModRedLogic,
integration.rotarycraft.ModRotaryCraft,
integration.stargatetech2.ModStargateTech2,
integration.thaumcraft.ModThaumcraft,
integration.thermalexpansion.ModThermalExpansion,
@ -204,6 +206,7 @@ object Mods {
final val ProjectRedTransmission = "ProjRed|Transmission"
final val Railcraft = "Railcraft"
final val RedLogic = "RedLogic"
final val RotaryCraft = "RotaryCraft"
final val StargateTech2 = "StargateTech2"
final val Thaumcraft = "Thaumcraft"
final val ThermalExpansion = "ThermalExpansion"

View File

@ -0,0 +1,50 @@
package li.cil.oc.integration.rotarycraft;
import cpw.mods.fml.common.registry.GameRegistry;
import li.cil.oc.api.driver.Converter;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import java.util.HashMap;
import java.util.Map;
public class ConverterJetpackItem implements Converter {
@Override
public void convert(final Object value, final Map<Object, Object> output) {
if (value instanceof ItemStack) {
final ItemStack stack = (ItemStack) value;
final Item item = stack.getItem();
if (item.equals(GameRegistry.findItem("RotaryCraft", "rotarycraft_item_bedpack")) ||
item.equals(GameRegistry.findItem("RotaryCraft", "rotarycraft_item_steelpack")) ||
item.equals(GameRegistry.findItem("RotaryCraft", "rotarycraft_item_jetpack"))) {
final NBTTagCompound tag = stack.getTagCompound();
if (tag != null && tag.hasKey("fuel"))
output.put("fuel", stack.stackTagCompound.getInteger("fuel"));
else
output.put("fuel", 0);
if (tag != null && tag.hasKey("liquid")) {
output.put("fuelType", tag.getString("liquid"));
} else {
output.put("fuelType", "empty");
}
if (item.equals(GameRegistry.findItem("RotaryCraft", "rotarycraft_item_bedpack")))
output.put("chestplateMaterial", "bedrock");
else if (item.equals(GameRegistry.findItem("RotaryCraft", "rotarycraft_item_steelpack")))
output.put("chestplateMaterial", "steel");
else
output.put("chestplateMaterial", "none");
final HashMap<String, Boolean> upgrades = new HashMap<String, Boolean>();
upgrades.put("cooling", tag != null ? tag.getBoolean("cooling") : false);
upgrades.put("thrustBoost", tag != null ? tag.getBoolean("jet") : false);
upgrades.put("winged", tag != null ? tag.getBoolean("wing") : false);
output.put("upgrades", upgrades);
}
}
}
}

View File

@ -0,0 +1,31 @@
package li.cil.oc.integration.rotarycraft;
import cpw.mods.fml.common.registry.GameRegistry;
import li.cil.oc.api.driver.Converter;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import java.util.Map;
public class ConverterPumpItem implements Converter {
@Override
public void convert(final Object value, final Map<Object, Object> output) {
if (value instanceof ItemStack) {
final ItemStack stack = (ItemStack) value;
final Item item = stack.getItem();
if (stack.getItem().equals(GameRegistry.findItem("RotaryCraft", "rotarycraft_item_pump"))) {
final NBTTagCompound tag = stack.getTagCompound();
if (tag != null && tag.hasKey("liquid"))
output.put("liquid", stack.stackTagCompound.getString("liquid"));
else
output.put("liquid", "empty");
if (tag != null && tag.hasKey("lvl"))
output.put("fluidAmount", stack.stackTagCompound.getInteger("lvl"));
else
output.put("fluidAmount", 0);
}
}
}
}

View File

@ -0,0 +1,13 @@
package li.cil.oc.integration.rotarycraft
import li.cil.oc.api.Driver
import li.cil.oc.integration.{ModProxy, Mods}
object ModRotaryCraft extends ModProxy {
override def getMod = Mods.RotaryCraft
override def initialize() {
Driver.add(new ConverterJetpackItem)
Driver.add(new ConverterPumpItem)
}
}