electrodynamics/src/main/scala/edx/quantum/QuantumContent.scala

450 lines
18 KiB
Scala
Raw Normal View History

2015-01-14 12:06:03 +01:00
package edx.quantum
import java.util.List
import cpw.mods.fml.common.Loader
import cpw.mods.fml.common.eventhandler.{Event, SubscribeEvent}
import cpw.mods.fml.common.registry.{EntityRegistry, GameRegistry}
2015-01-24 10:38:01 +01:00
import edx.basic.fluid.tank.TileTank
import edx.core.wrapper.FluidStackWrapper._
2015-01-14 12:06:03 +01:00
import edx.core.{EDXCreativeTab, Electrodynamics, Reference, Settings}
import edx.quantum.blocks._
import edx.quantum.items._
import edx.quantum.machine.TileFunnel
import edx.quantum.machine.accelerator.{EntityParticle, TileAccelerator}
import edx.quantum.machine.boiler.TileNuclearBoiler
import edx.quantum.machine.centrifuge.TileCentrifuge
import edx.quantum.machine.extractor.TileChemicalExtractor
import edx.quantum.machine.fulmination.{FulminationHandler, TileFulmination}
import edx.quantum.machine.plasma.{TilePlasma, TilePlasmaHeater}
import edx.quantum.machine.quantum.TileQuantumAssembler
2015-01-18 14:36:34 +01:00
import edx.quantum.reactor.{TileControlRod, TileReactorCell}
2015-01-14 12:06:03 +01:00
import edx.quantum.schematic.{SchematicAccelerator, SchematicBreedingReactor, SchematicFissionReactor, SchematicFusionReactor}
import ic2.api.item.IC2Items
import net.minecraft.block.Block
import net.minecraft.block.material.Material
import net.minecraft.creativetab.CreativeTabs
import net.minecraft.init.{Blocks, Items}
import net.minecraft.item.{Item, ItemBucket, ItemStack}
import net.minecraft.tileentity.TileEntity
import net.minecraft.util.MovingObjectPosition
import net.minecraft.world.World
import net.minecraftforge.common.ForgeChunkManager.Type
import net.minecraftforge.common.{ForgeChunkManager, MinecraftForge}
import net.minecraftforge.event.entity.player.FillBucketEvent
2015-01-24 10:38:01 +01:00
import net.minecraftforge.fluids._
import net.minecraftforge.oredict.{OreDictionary, ShapelessOreRecipe}
2015-01-26 13:16:46 +01:00
import resonantengine.api.edx.recipe.QuantumAssemblerRecipes
2015-01-26 12:40:32 +01:00
import resonantengine.api.event.PlasmaEvent
import resonantengine.api.tile.IElectromagnet
import resonantengine.lib.factory.resources.block.OreGenerator
import resonantengine.lib.grid.thermal.ThermalEvent
2015-01-26 13:28:38 +01:00
import resonantengine.lib.modcontent.ExplicitContentName
2015-01-26 13:16:46 +01:00
import resonantengine.lib.schematic.SchematicRegistry
2015-01-26 12:40:32 +01:00
import resonantengine.lib.transform.vector.VectorWorld
import resonantengine.lib.utility.recipe.UniversalRecipe
import resonantengine.prefab.modcontent.ContentHolder
import scala.collection.JavaConversions._
2015-01-14 12:06:03 +01:00
object QuantumContent extends ContentHolder
{
2014-11-04 03:45:29 +01:00
//Constructor
2015-01-14 12:06:03 +01:00
manager.setTab(EDXCreativeTab).setPrefix(Reference.prefix)
2014-11-04 03:45:29 +01:00
val ENTITY_ID_PREFIX: Int = 49
val SECOND_IN_TICKS: Int = 20
// Blocks
var blockRadioactive: Block = new BlockRadioactive(Material.rock).setBlockTextureName(Reference.prefix + "radioactive").setCreativeTab(CreativeTabs.tabBlock)
var blockCentrifuge: Block = new TileCentrifuge
var blockNuclearBoiler: Block = new TileNuclearBoiler
var blockControlRod: Block = new TileControlRod
var blockFusionCore: Block = new TilePlasmaHeater
var blockPlasma: Block = new TilePlasma
var blockElectromagnet: Block = new TileElectromagnet
var blockChemicalExtractor: Block = new TileChemicalExtractor
var blockSiren: Block = new TileSiren
var blockSteamFunnel: Block = new TileFunnel
var blockAccelerator: Block = new TileAccelerator
var blockFulmination: Block = new TileFulmination
var blockQuantumAssembler: Block = new TileQuantumAssembler
var blockReactorCell: Block = new TileReactorCell
var blockUraniumOre: Block = new BlockUraniumOre
var blockToxicWaste: Block = new BlockToxicWaste().setCreativeTab(null)
//Cells
@ExplicitContentName(value = "cellEmpty")
var itemCell: Item = new ItemCell("cellEmpty")
2015-01-18 14:36:34 +01:00
var itemFissileFuel: Item = new ItemFuelRod
2014-11-04 03:45:29 +01:00
var itemBreedingRod: Item = new ItemBreederFuel
@ExplicitContentName
var itemDarkMatter: Item = new ItemCell("darkMatter")
var itemAntimatter: Item = new ItemAntimatter
@ExplicitContentName(value = "cellDeuterium")
var itemDeuteriumCell: Item = new ItemCell("cellDeuterium")
@ExplicitContentName(value = "cellTritium")
var itemTritiumCell: Item = new ItemCell("cellTritium")
@ExplicitContentName(value = "cellWater")
var itemWaterCell: Item = new ItemCell("cellWater")
@ExplicitContentName
2015-01-14 12:06:03 +01:00
var itemYellowCake: Item = new ItemRadioactive().setTextureName(Reference.prefix + "yellowcake").setCreativeTab(EDXCreativeTab)
var itemUranium: Item = new ItemUranium().setCreativeTab(EDXCreativeTab)
2014-11-04 03:45:29 +01:00
//Buckets
var itemBucketToxic: Item = null
//Hazmat suit
@ExplicitContentName
var itemHazmatMask: Item = new ItemHazmat("hazmatMask", 0)
@ExplicitContentName
var itemHazmatBody: Item = new ItemHazmat("hazmatBody", 1)
@ExplicitContentName
var itemHazmatLeggings: Item = new ItemHazmat("hazmatLeggings", 2)
@ExplicitContentName
var itemHazmatBoots: Item = new ItemHazmat("hazmatBoots", 3)
var uraniumOreGeneration: OreGenerator = null
override def preInit()
{
MinecraftForge.EVENT_BUS.register(this)
MinecraftForge.EVENT_BUS.register(FulminationHandler.INSTANCE)
//Register Fluids
2015-01-24 10:38:01 +01:00
FluidRegistry.registerFluid(QuantumContent.fluidUraniumHexaflouride)
FluidRegistry.registerFluid(QuantumContent.fluidSteam)
2015-01-14 12:06:03 +01:00
FluidRegistry.registerFluid(QuantumContent.getFluidTritium)
FluidRegistry.registerFluid(QuantumContent.FLUID_DEUTERIUM)
FluidRegistry.registerFluid(QuantumContent.getFluidToxicWaste)
FluidRegistry.registerFluid(QuantumContent.FLUID_PLASMA)
2014-11-04 03:45:29 +01:00
2015-01-24 10:38:01 +01:00
Settings.config.load()
2014-11-04 03:45:29 +01:00
super.preInit()
//Buckets
2015-01-14 12:06:03 +01:00
itemBucketToxic = manager.newItem("bucketToxicWaste", new ItemBucket(QuantumContent.blockPlasma)).setCreativeTab(EDXCreativeTab).setContainerItem(Items.bucket).setTextureName(Reference.prefix + "bucketToxicWaste")
2014-11-04 03:45:29 +01:00
//Schematics
SchematicRegistry.register("resonantInduction.atomic.accelerator", new SchematicAccelerator)
SchematicRegistry.register("resonantInduction.atomic.breedingReactor", new SchematicBreedingReactor)
SchematicRegistry.register("resonantInduction.atomic.fissionReactor", new SchematicFissionReactor)
SchematicRegistry.register("resonantInduction.atomic.fusionReactor", new SchematicFusionReactor)
//Fluid Containers
2015-01-14 12:06:03 +01:00
QuantumContent.FLUID_PLASMA.setBlock(QuantumContent.blockPlasma)
FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluid("toxicwaste"), new ItemStack(QuantumContent.itemBucketToxic), new ItemStack(Items.bucket))
FluidContainerRegistry.registerFluidContainer(FluidRegistry.WATER, new ItemStack(QuantumContent.itemWaterCell), new ItemStack(QuantumContent.itemCell))
FluidContainerRegistry.registerFluidContainer(new FluidStack(FluidRegistry.getFluid("deuterium"), 200), new ItemStack(QuantumContent.itemDeuteriumCell), new ItemStack(QuantumContent.itemCell))
FluidContainerRegistry.registerFluidContainer(new FluidStack(FluidRegistry.getFluid("tritium"), 200), new ItemStack(QuantumContent.itemTritiumCell), new ItemStack(QuantumContent.itemCell))
2014-11-04 03:45:29 +01:00
//Uranium ore Gen settings TODO re-enable
//AtomicContent.uraniumOreGeneration = new OreGenReplaceStone("Uranium Ore", new ItemStack(AtomicContent.blockUraniumOre), 25, 9, 3)
//AtomicContent.uraniumOreGeneration.enable(Settings.config)
//OreGenerator.addOre(AtomicContent.uraniumOreGeneration)
//Ore dictionary support
OreDictionary.registerOre("ingotUranium", itemUranium)
OreDictionary.registerOre("dustUranium", itemYellowCake)
OreDictionary.registerOre("breederUranium", new ItemStack(itemUranium, 1, 1))
OreDictionary.registerOre("blockRadioactive", blockRadioactive)
OreDictionary.registerOre("cellEmpty", itemCell)
OreDictionary.registerOre("cellUranium", itemFissileFuel)
OreDictionary.registerOre("cellTritium", itemTritiumCell)
OreDictionary.registerOre("cellDeuterium", itemDeuteriumCell)
OreDictionary.registerOre("cellWater", itemWaterCell)
OreDictionary.registerOre("strangeMatter", itemDarkMatter)
OreDictionary.registerOre("antimatterMilligram", new ItemStack(itemAntimatter, 1, 0))
OreDictionary.registerOre("antimatterGram", new ItemStack(itemAntimatter, 1, 1))
//Chunk loader for Accelerator
ForgeChunkManager.setForcedChunkLoadingCallback(this, new ForgeChunkManager.LoadingCallback
{
2014-11-04 03:45:29 +01:00
def ticketsLoaded(tickets: List[ForgeChunkManager.Ticket], world: World)
{
for (ticket <- tickets)
{
2015-01-24 10:38:01 +01:00
if (ticket.getType == Type.ENTITY)
2014-11-04 03:45:29 +01:00
{
if (ticket.getEntity != null)
{
2014-11-04 03:45:29 +01:00
if (ticket.getEntity.isInstanceOf[EntityParticle])
{
(ticket.getEntity.asInstanceOf[EntityParticle]).updateTicket = ticket
}
}
2014-11-04 03:45:29 +01:00
}
}
2014-11-04 03:45:29 +01:00
}
})
Settings.config.save
2014-11-04 03:45:29 +01:00
}
def FLUID_PLASMA: Fluid = new Fluid("plasma").setGaseous(true)
2015-01-24 10:38:01 +01:00
def fluidUraniumHexaflouride: Fluid =
{
var fluid: Fluid = FluidRegistry.getFluid("uraniumhexafluoride")
if (fluid == null)
{
fluid = new Fluid("uraniumhexafluoride").setGaseous(true)
FluidRegistry.registerFluid(fluid)
}
return fluid
}
def FLUID_DEUTERIUM: Fluid =
{
var fluid: Fluid = FluidRegistry.getFluid("deuterium")
if (fluid == null)
{
fluid = new Fluid("deuterium").setGaseous(true)
FluidRegistry.registerFluid(fluid)
}
return fluid
}
/** Gets the Fluid instance of Tritium */
def getFluidTritium: Fluid =
{
var fluid: Fluid = FluidRegistry.getFluid("tritium")
if (fluid == null)
{
fluid = new Fluid("tritium").setGaseous(true)
FluidRegistry.registerFluid(fluid)
}
return fluid
}
/** Gets the Fluid instance of Toxic Waste */
def getFluidToxicWaste: Fluid =
{
var fluid: Fluid = FluidRegistry.getFluid("toxicwaste")
if (fluid == null)
{
fluid = new Fluid("toxicwaste").setGaseous(true)
FluidRegistry.registerFluid(fluid)
}
return fluid
}
2014-11-04 03:45:29 +01:00
override def postInit()
{
super.postInit()
2014-12-11 01:53:31 +01:00
2014-11-04 03:45:29 +01:00
if (Loader.isModLoaded("IC2") && Settings.allowAlternateRecipes)
{
OreDictionary.registerOre("cellEmpty", IC2Items.getItem("cell"))
val cellEmptyName: String = OreDictionary.getOreName(OreDictionary.getOreID("cellEmpty"))
2014-12-11 01:53:31 +01:00
if (cellEmptyName == "Unknown")
2014-11-04 03:45:29 +01:00
{
}
2015-01-14 12:06:03 +01:00
GameRegistry.addRecipe(new ShapelessOreRecipe(QuantumContent.itemYellowCake, IC2Items.getItem("reactorUraniumSimple")))
GameRegistry.addRecipe(new ShapelessOreRecipe(IC2Items.getItem("cell"), QuantumContent.itemCell))
GameRegistry.addRecipe(new ShapelessOreRecipe(QuantumContent.itemCell, "cellEmpty"))
}
2014-12-11 01:53:31 +01:00
2014-11-04 03:45:29 +01:00
EntityRegistry.registerGlobalEntityID(classOf[EntityParticle], "ASParticle", EntityRegistry.findGlobalUniqueEntityId)
2015-01-14 12:06:03 +01:00
EntityRegistry.registerModEntity(classOf[EntityParticle], "ASParticle", ENTITY_ID_PREFIX, Electrodynamics, 80, 3, true)
2014-12-11 01:53:31 +01:00
Settings.config.load()
2014-11-04 03:45:29 +01:00
for (oreName <- OreDictionary.getOreNames)
{
2014-11-04 03:45:29 +01:00
if (oreName.startsWith("ingot"))
{
for (itemStack <- OreDictionary.getOres(oreName))
{
2014-11-04 03:45:29 +01:00
if (itemStack != null)
{
QuantumAssemblerRecipes.addRecipe(itemStack)
}
}
2014-11-04 03:45:29 +01:00
}
}
2014-12-11 01:53:31 +01:00
Settings.config.save()
2015-01-14 12:06:03 +01:00
recipes += shapeless(new ItemStack(itemAntimatter, 1, 1), itemAntimatter, itemAntimatter, itemAntimatter, itemAntimatter, itemAntimatter, QuantumContent.itemAntimatter, itemAntimatter, itemAntimatter)
recipes += shapeless(new ItemStack(itemAntimatter, 8, 0), new ItemStack(QuantumContent.itemAntimatter, 1, 1))
2014-11-04 03:45:29 +01:00
recipes += shaped(new ItemStack(blockSteamFunnel, 2), " B ", "B B", "B B", 'B', UniversalRecipe.SECONDARY_METAL.get)
recipes += shaped(new ItemStack(blockSteamFunnel, 2), " B ", "B B", "B B", 'B', "ingotIron")
2014-11-04 03:45:29 +01:00
recipes += shaped(blockQuantumAssembler, "CCC", "SXS", "SSS", 'X', blockCentrifuge, 'C', UniversalRecipe.CIRCUIT_T3.get, 'S', UniversalRecipe.PRIMARY_PLATE.get)
recipes += shaped(blockFulmination, "OSO", "SCS", "OSO", 'O', Blocks.obsidian, 'C', UniversalRecipe.CIRCUIT_T2.get, 'S', UniversalRecipe.PRIMARY_PLATE.get)
recipes += shaped(blockAccelerator, "SCS", "CMC", "SCS", 'M', UniversalRecipe.MOTOR.get, 'C', UniversalRecipe.CIRCUIT_T3.get, 'S', UniversalRecipe.PRIMARY_PLATE.get)
recipes += shaped(blockCentrifuge, "BSB", "MCM", "BSB", 'C', UniversalRecipe.CIRCUIT_T2.get, 'S', UniversalRecipe.PRIMARY_PLATE.get, 'B', UniversalRecipe.SECONDARY_METAL.get, 'M', UniversalRecipe.MOTOR.get)
recipes += shaped(blockNuclearBoiler, "S S", "FBF", "SMS", 'F', Blocks.furnace, 'S', UniversalRecipe.PRIMARY_PLATE.get, 'B', Items.bucket, 'M', UniversalRecipe.MOTOR.get)
recipes += shaped(blockChemicalExtractor, "BSB", "MCM", "BSB", 'C', UniversalRecipe.CIRCUIT_T3.get, 'S', UniversalRecipe.PRIMARY_PLATE.get, 'B', UniversalRecipe.SECONDARY_METAL.get, 'M', UniversalRecipe.MOTOR.get)
2014-11-04 03:45:29 +01:00
recipes += shaped(new ItemStack(blockSiren, 2), "NPN", 'N', Blocks.noteblock, 'P', UniversalRecipe.SECONDARY_PLATE.get)
recipes += shaped(blockReactorCell, "SCS", "MEM", "SCS", 'E', "cellEmpty", 'C', UniversalRecipe.CIRCUIT_T2.get, 'S', UniversalRecipe.PRIMARY_PLATE.get, 'M', UniversalRecipe.MOTOR.get)
2015-01-14 12:06:03 +01:00
recipes += shaped(blockFusionCore, "CPC", "PFP", "CPC", 'P', UniversalRecipe.PRIMARY_PLATE.get, 'F', QuantumContent.blockReactorCell, 'C', UniversalRecipe.CIRCUIT_T3.get)
2014-11-04 03:45:29 +01:00
recipes += shaped(new ItemStack(itemCell, 16), " T ", "TGT", " T ", 'T', "ingotTin", 'G', Blocks.glass)
recipes += shaped(blockControlRod, "I", "I", "I", 'I', Items.iron_ingot)
recipes += shaped(itemFissileFuel, "CUC", "CUC", "CUC", 'U', "ingotUranium", 'C', "cellEmpty")
recipes += shaped(itemBreedingRod, "CUC", "CUC", "CUC", 'U', "breederUranium", 'C', "cellEmpty")
2014-11-04 03:45:29 +01:00
//Hazmat recipes
recipes += shaped(itemHazmatMask, "SSS", "BAB", "SCS", 'A', Items.leather_helmet, 'C', UniversalRecipe.CIRCUIT_T1.get, 'S', Blocks.wool)
recipes += shaped(itemHazmatBody, "SSS", "BAB", "SCS", 'A', Items.leather_chestplate, 'C', UniversalRecipe.CIRCUIT_T1.get, 'S', Blocks.wool)
recipes += shaped(itemHazmatLeggings, "SSS", "BAB", "SCS", 'A', Items.leather_leggings, 'C', UniversalRecipe.CIRCUIT_T1.get, 'S', Blocks.wool)
recipes += shaped(itemHazmatBoots, "SSS", "BAB", "SCS", 'A', Items.leather_boots, 'C', UniversalRecipe.CIRCUIT_T1.get, 'S', Blocks.wool)
2014-11-04 03:45:29 +01:00
//Electro magnets
recipes += shaped(new ItemStack(blockElectromagnet, 2, 0), "BBB", "BMB", "BBB", 'B', UniversalRecipe.SECONDARY_METAL.get, 'M', UniversalRecipe.MOTOR.get)
2015-01-14 12:06:03 +01:00
recipes += shapeless(new ItemStack(QuantumContent.blockElectromagnet, 1, 1), QuantumContent.blockElectromagnet, Blocks.glass)
2015-01-14 12:06:03 +01:00
recipes += shapeless(new ItemStack(QuantumContent.itemWaterCell), "cellEmpty", Items.water_bucket)
2014-11-04 03:45:29 +01:00
}
2014-11-04 03:45:29 +01:00
@SubscribeEvent
def fillBucketEvent(evt: FillBucketEvent)
{
if (!evt.world.isRemote && evt.target != null && evt.target.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
{
2014-11-04 03:45:29 +01:00
val pos: VectorWorld = new VectorWorld(evt.world, evt.target)
2015-01-14 12:06:03 +01:00
if (pos.getBlock eq QuantumContent.blockToxicWaste)
2014-11-04 03:45:29 +01:00
{
pos.setBlockToAir
2015-01-14 12:06:03 +01:00
evt.result = new ItemStack(QuantumContent.itemBucketToxic)
2014-11-04 03:45:29 +01:00
evt.setResult(Event.Result.ALLOW)
}
}
2014-11-04 03:45:29 +01:00
}
@SubscribeEvent
2015-01-24 10:38:01 +01:00
def thermalEventHandler(evt: ThermalEvent.EventThermalUpdate)
2014-11-04 03:45:29 +01:00
{
2015-01-24 10:38:01 +01:00
val pos = evt.position
val tile = pos.getTileEntity
/**
* Heat up fluid in containers
*/
if (tile.isInstanceOf[TileTank])
{
2015-01-26 13:56:09 +01:00
val fluidStack = tile.asInstanceOf[TileTank].fluidNode.getTank.getFluid
2015-01-24 10:38:01 +01:00
if (fluidStack != null)
fluidStack.setTemperature(evt.temperature)
}
2014-11-04 03:45:29 +01:00
}
2014-11-04 03:45:29 +01:00
@SubscribeEvent
def plasmaEvent(evt: PlasmaEvent.SpawnPlasmaEvent)
{
val block: Block = evt.world.getBlock(evt.x, evt.y, evt.z)
if (block != null && block.getBlockHardness(evt.world, evt.x, evt.y, evt.z) >= 0)
{
2014-11-04 03:45:29 +01:00
val tile: TileEntity = evt.world.getTileEntity(evt.x, evt.y, evt.z)
if (tile.isInstanceOf[TilePlasma])
{
(tile.asInstanceOf[TilePlasma]).setTemperature(evt.temperature)
return
}
else if (tile.isInstanceOf[IElectromagnet])
{
return
}
else
{
evt.world.setBlockToAir(evt.x, evt.y, evt.z)
2015-01-14 12:06:03 +01:00
evt.world.setBlock(evt.x, evt.y, evt.z, QuantumContent.blockPlasma)
2014-11-04 03:45:29 +01:00
}
}
2014-11-04 03:45:29 +01:00
}
/** Is this ItemStack a cell?
*
* @param itemStack
* @return
*/
def isItemStackEmptyCell(itemStack: ItemStack): Boolean =
{
return isItemStackOreDictionaryCompatible(itemStack, "cellEmpty")
}
2015-01-27 09:15:44 +01:00
def isItemStackWaterCell(itemStack: ItemStack): Boolean =
{
return isItemStackOreDictionaryCompatible(itemStack, "cellWater")
}
def isItemStackUraniumOre(itemStack: ItemStack): Boolean =
{
return isItemStackOreDictionaryCompatible(itemStack, "dropUranium", "oreUranium")
}
2014-11-04 03:45:29 +01:00
/** Compare to Ore Dict
*
* @param itemStack
* @return
*/
def isItemStackOreDictionaryCompatible(itemStack: ItemStack, names: String*): Boolean =
{
if (itemStack != null && names != null && names.length > 0)
{
2014-11-04 03:45:29 +01:00
val name: String = OreDictionary.getOreName(OreDictionary.getOreID(itemStack))
for (compareName <- names)
{
if (name == compareName)
{
2014-11-04 03:45:29 +01:00
return true
}
2014-11-04 03:45:29 +01:00
}
}
2014-11-04 03:45:29 +01:00
return false
}
2015-01-26 12:40:32 +01:00
def isItemStackDeuteriumCell(itemStack: ItemStack): Boolean =
{
return isItemStackOreDictionaryCompatible(itemStack, "molecule_1d", "molecule_1h2", "cellDeuterium")
}
2014-11-04 03:45:29 +01:00
def isItemStackTritiumCell(itemStack: ItemStack): Boolean =
{
return isItemStackOreDictionaryCompatible(itemStack, "molecule_h3", "cellTritium")
}
def getFluidAmount(fluid: FluidStack): Int =
{
if (fluid != null)
{
return fluid.amount
}
return 0
}
2015-01-24 10:38:01 +01:00
def fluidStackWater: FluidStack = new FluidStack(FluidRegistry.WATER, 0)
2015-01-24 10:38:01 +01:00
def fluidStackUraniumHexaflouride: FluidStack = new FluidStack(QuantumContent.fluidUraniumHexaflouride, 0)
2015-01-24 10:38:01 +01:00
def fluidStackSteam: FluidStack = new FluidStack(fluidSteam, 0)
2015-01-21 14:18:00 +01:00
2015-01-27 09:15:44 +01:00
def fluidSteam: Fluid =
{
var fluid = FluidRegistry.getFluid("steam")
if (fluid == null)
{
fluid = new Fluid("steam").setGaseous(true)
FluidRegistry.registerFluid(fluid)
}
return fluid
}
2014-11-04 03:45:29 +01:00
def FLUIDSTACK_DEUTERIUM: FluidStack = new FluidStack(FLUID_DEUTERIUM, 0)
2014-11-04 03:45:29 +01:00
def getFluidStackTritium: FluidStack = new FluidStack(getFluidTritium, 0)
2014-11-04 03:45:29 +01:00
/** Gets a FluidStack of Toxic Waste */
def getStackToxicWaste: FluidStack = new FluidStack(getFluidToxicWaste, 0)
}