mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-28 23:40:49 -04:00
Merge pull request #34 from repo-alt/master-MC1.7.10
Add fluid container item converter (Volumetric flask, certus tank, universal cell, etc.)
This commit is contained in:
commit
a9faa643af
@ -1,7 +1,7 @@
|
|||||||
minecraft.version=1.7.10
|
minecraft.version=1.7.10
|
||||||
forge.version=10.13.4.1614-1.7.10
|
forge.version=10.13.4.1614-1.7.10
|
||||||
|
|
||||||
oc.version=1.7.5.14-GTNH
|
oc.version=1.7.5.15-GTNH
|
||||||
|
|
||||||
ae2.version=rv3-beta-31
|
ae2.version=rv3-beta-31
|
||||||
bc.version=7.0.9
|
bc.version=7.0.9
|
||||||
|
@ -2,6 +2,7 @@ package li.cil.oc.integration.forestry
|
|||||||
|
|
||||||
import java.util
|
import java.util
|
||||||
|
|
||||||
|
import forestry.api.circuits.{ChipsetManager, ICircuit}
|
||||||
import forestry.api.genetics.AlleleManager
|
import forestry.api.genetics.AlleleManager
|
||||||
import li.cil.oc.api.driver.Converter
|
import li.cil.oc.api.driver.Converter
|
||||||
import net.minecraft.item.ItemStack
|
import net.minecraft.item.ItemStack
|
||||||
@ -12,6 +13,11 @@ object ConverterItemStack extends Converter {
|
|||||||
override def convert(value: scala.Any, output: util.Map[AnyRef, AnyRef]): Unit = value match {
|
override def convert(value: scala.Any, output: util.Map[AnyRef, AnyRef]): Unit = value match {
|
||||||
case stack: ItemStack if AlleleManager.alleleRegistry.isIndividual(stack) =>
|
case stack: ItemStack if AlleleManager.alleleRegistry.isIndividual(stack) =>
|
||||||
output += "individual" -> AlleleManager.alleleRegistry.getIndividual(stack)
|
output += "individual" -> AlleleManager.alleleRegistry.getIndividual(stack)
|
||||||
|
case stack: ItemStack if ChipsetManager.circuitRegistry.getCircuitboard(stack) != null => {
|
||||||
|
val cc = ChipsetManager.circuitRegistry.getCircuitboard(stack).getCircuits
|
||||||
|
val names = cc.collect{case c: ICircuit => c.getName}
|
||||||
|
output += "circuits" -> names
|
||||||
|
}
|
||||||
case _ =>
|
case _ =>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,37 @@
|
|||||||
|
package li.cil.oc.integration.vanilla
|
||||||
|
|
||||||
|
import java.util
|
||||||
|
|
||||||
|
import li.cil.oc.{Settings, api}
|
||||||
|
import net.minecraft.item
|
||||||
|
import net.minecraft.item.ItemStack
|
||||||
|
import net.minecraftforge.fluids
|
||||||
|
import net.minecraftforge.fluids.FluidStack
|
||||||
|
|
||||||
|
import scala.collection.convert.WrapAsScala._
|
||||||
|
|
||||||
|
object ConverterFluidContainerItem extends api.driver.Converter {
|
||||||
|
override def convert(value: AnyRef, output: util.Map[AnyRef, AnyRef]): Unit =
|
||||||
|
value match {
|
||||||
|
case stack: item.ItemStack => stack.getItem match {
|
||||||
|
case fc: fluids.IFluidContainerItem =>
|
||||||
|
output += "capacity" -> Int.box(fc.getCapacity(stack))
|
||||||
|
val fluidStack = fc.getFluid(stack)
|
||||||
|
if (fluidStack != null && fluidStack.getFluid != null) {
|
||||||
|
val fluid = fluidStack.getFluid
|
||||||
|
if (Settings.get.insertIdsInConverters)
|
||||||
|
output += "fluid_id" -> Int.box(fluid.getID)
|
||||||
|
output += "amount" -> Int.box(fluidStack.amount)
|
||||||
|
output += "fluid_hasTag" -> Boolean.box(fluidStack.tag != null)
|
||||||
|
if (fluid != null) {
|
||||||
|
output += "fluid_name" -> fluid.getName
|
||||||
|
output += "fluid_label" -> fluid.getLocalizedName(fluidStack)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
output += "amount" -> Int.box(0)
|
||||||
|
case _ =>
|
||||||
|
}
|
||||||
|
case _ =>
|
||||||
|
}
|
||||||
|
}
|
@ -8,7 +8,7 @@ import net.minecraftforge.fluids
|
|||||||
import scala.collection.convert.WrapAsScala._
|
import scala.collection.convert.WrapAsScala._
|
||||||
|
|
||||||
object ConverterFluidTankInfo extends api.driver.Converter {
|
object ConverterFluidTankInfo extends api.driver.Converter {
|
||||||
override def convert(value: AnyRef, output: util.Map[AnyRef, AnyRef]) =
|
override def convert(value: AnyRef, output: util.Map[AnyRef, AnyRef]): Unit =
|
||||||
value match {
|
value match {
|
||||||
case tankInfo: fluids.FluidTankInfo =>
|
case tankInfo: fluids.FluidTankInfo =>
|
||||||
output += "capacity" -> Int.box(tankInfo.capacity)
|
output += "capacity" -> Int.box(tankInfo.capacity)
|
||||||
|
@ -45,6 +45,7 @@ object ModVanilla extends ModProxy with RedstoneProvider {
|
|||||||
|
|
||||||
Driver.add(ConverterFluidStack)
|
Driver.add(ConverterFluidStack)
|
||||||
Driver.add(ConverterFluidTankInfo)
|
Driver.add(ConverterFluidTankInfo)
|
||||||
|
Driver.add(ConverterFluidContainerItem)
|
||||||
Driver.add(ConverterItemStack)
|
Driver.add(ConverterItemStack)
|
||||||
Driver.add(ConverterNBT)
|
Driver.add(ConverterNBT)
|
||||||
Driver.add(ConverterWorld)
|
Driver.add(ConverterWorld)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user