Added helper create method in Resonant
This commit is contained in:
parent
0b8230f4b1
commit
fa255a469b
11 changed files with 26 additions and 26 deletions
|
@ -16,9 +16,11 @@ object ResonantPartFactory extends IPartFactory
|
||||||
|
|
||||||
def register(part: Class[_ <: TMultiPart])
|
def register(part: Class[_ <: TMultiPart])
|
||||||
{
|
{
|
||||||
partMap.put(prefix + part.getClass.getSimpleName, part)
|
partMap += (prefix + part.getSimpleName -> part)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def create[C <: TMultiPart](part: Class[C]): C = MultiPartRegistry.createPart((partMap map (_.swap)).get(part).get, false).asInstanceOf[C]
|
||||||
|
|
||||||
def init() = MultiPartRegistry.registerParts(this, partMap.keys.toArray)
|
def init() = MultiPartRegistry.registerParts(this, partMap.keys.toArray)
|
||||||
|
|
||||||
def createPart(name: String, client: Boolean): TMultiPart = partMap(name).newInstance()
|
def createPart(name: String, client: Boolean): TMultiPart = partMap(name).newInstance()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package resonantinduction.core.prefab.part
|
package resonantinduction.core.prefab.part.connector
|
||||||
|
|
||||||
import java.util
|
import java.util
|
||||||
import java.util.{Collection, HashSet, Set}
|
import java.util.{Collection, HashSet, Set}
|
|
@ -1,4 +1,4 @@
|
||||||
package resonantinduction.core.prefab.part
|
package resonantinduction.core.prefab.part.connector
|
||||||
|
|
||||||
import codechicken.lib.data.{MCDataInput, MCDataOutput}
|
import codechicken.lib.data.{MCDataInput, MCDataOutput}
|
||||||
import codechicken.multipart.TMultiPart
|
import codechicken.multipart.TMultiPart
|
|
@ -1,4 +1,4 @@
|
||||||
package resonantinduction.core.prefab.part
|
package resonantinduction.core.prefab.part.connector
|
||||||
|
|
||||||
import codechicken.lib.data.{MCDataInput, MCDataOutput}
|
import codechicken.lib.data.{MCDataInput, MCDataOutput}
|
||||||
import codechicken.multipart.TMultiPart
|
import codechicken.multipart.TMultiPart
|
|
@ -1,8 +1,7 @@
|
||||||
package resonantinduction.core.prefab.part
|
package resonantinduction.core.prefab.part.connector
|
||||||
|
|
||||||
import codechicken.lib.data.{MCDataInput, MCDataOutput}
|
import codechicken.lib.data.{MCDataInput, MCDataOutput}
|
||||||
import codechicken.multipart.TMultiPart
|
import codechicken.multipart.TMultiPart
|
||||||
import net.minecraft.item.Item
|
|
||||||
import net.minecraft.nbt.NBTTagCompound
|
import net.minecraft.nbt.NBTTagCompound
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,4 +1,4 @@
|
||||||
package resonantinduction.core.prefab.part
|
package resonantinduction.core.prefab.part.connector
|
||||||
|
|
||||||
import codechicken.multipart.{IRedstonePart, TMultiPart}
|
import codechicken.multipart.{IRedstonePart, TMultiPart}
|
||||||
import net.minecraft.item.ItemStack
|
import net.minecraft.item.ItemStack
|
|
@ -113,7 +113,8 @@ object Electrical
|
||||||
modproxies.preInit()
|
modproxies.preInit()
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler def init(evt: FMLInitializationEvent)
|
@EventHandler
|
||||||
|
def init(evt: FMLInitializationEvent)
|
||||||
{
|
{
|
||||||
Electrical.proxy.init
|
Electrical.proxy.init
|
||||||
modproxies.init()
|
modproxies.init()
|
||||||
|
|
|
@ -15,13 +15,13 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import org.lwjgl.input.Keyboard
|
import org.lwjgl.input.Keyboard
|
||||||
import resonant.lib.render.EnumColor
|
import resonant.lib.render.EnumColor
|
||||||
import resonant.lib.utility.LanguageUtility
|
import resonant.lib.utility.LanguageUtility
|
||||||
|
import resonant.lib.wrapper.WrapList._
|
||||||
import resonantinduction.core.util.MultipartUtil
|
import resonantinduction.core.util.MultipartUtil
|
||||||
import resonantinduction.core.{Reference, ResonantTab}
|
import resonantinduction.core.{Reference, ResonantPartFactory, ResonantTab}
|
||||||
import resonantinduction.electrical.wire.base.{WireMaterial, TWire}
|
import resonantinduction.electrical.wire.base.WireMaterial
|
||||||
import resonantinduction.electrical.wire.flat.{PartFlatWire, RenderFlatWire}
|
import resonantinduction.electrical.wire.flat.{PartFlatWire, RenderFlatWire}
|
||||||
import resonantinduction.electrical.wire.framed.PartFramedWire
|
import resonantinduction.electrical.wire.framed.PartFramedWire
|
||||||
import universalelectricity.api.UnitDisplay
|
import universalelectricity.api.UnitDisplay
|
||||||
import resonant.lib.wrapper.WrapList._
|
|
||||||
|
|
||||||
class ItemWire extends TItemMultiPart
|
class ItemWire extends TItemMultiPart
|
||||||
{
|
{
|
||||||
|
@ -40,7 +40,7 @@ class ItemWire extends TItemMultiPart
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
val wire = (if(ControlKeyHandler.isPressed) MultiPartRegistry.createPart("resonant_induction_framed_wire", false) else MultiPartRegistry.createPart("resonant_induction_flat_wire", false)).asInstanceOf[TWire]
|
val wire = if (ControlKeyHandler.isPressed) ResonantPartFactory.create(classOf[PartFramedWire]) else ResonantPartFactory.create(classOf[PartFlatWire])
|
||||||
|
|
||||||
if (wire != null)
|
if (wire != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,13 +5,13 @@ import codechicken.multipart.TMultiPart
|
||||||
import net.minecraft.item.{Item, ItemStack}
|
import net.minecraft.item.{Item, ItemStack}
|
||||||
import net.minecraft.nbt.NBTTagCompound
|
import net.minecraft.nbt.NBTTagCompound
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantinduction.core.prefab.part.{TColorable, TInsulatable, TMaterial, TPart}
|
import resonantinduction.core.prefab.part.connector.{TColorable, TInsulatable, TMaterial, TPart}
|
||||||
import resonantinduction.electrical.ElectricalContent
|
import resonantinduction.electrical.ElectricalContent
|
||||||
import universalelectricity.api.core.grid.INodeProvider
|
import universalelectricity.api.core.grid.INodeProvider
|
||||||
import universalelectricity.simulator.dc.DCNode
|
import universalelectricity.simulator.dc.DCNode
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Trait implemented by wires
|
* Class extended by wires
|
||||||
* @author Calclavia
|
* @author Calclavia
|
||||||
*/
|
*/
|
||||||
abstract class TWire extends TMultiPart with TPart with TMaterial[WireMaterial] with TInsulatable with TColorable
|
abstract class TWire extends TMultiPart with TPart with TMaterial[WireMaterial] with TInsulatable with TColorable
|
||||||
|
|
|
@ -2,7 +2,7 @@ package resonantinduction.mechanical.fluid.pipe
|
||||||
|
|
||||||
import codechicken.lib.data.MCDataInput
|
import codechicken.lib.data.MCDataInput
|
||||||
import codechicken.lib.render.CCRenderState
|
import codechicken.lib.render.CCRenderState
|
||||||
import codechicken.lib.vec.{Cuboid6, Vector3}
|
import codechicken.lib.vec.Vector3
|
||||||
import codechicken.multipart.{TNormalOcclusion, TSlottedPart}
|
import codechicken.multipart.{TNormalOcclusion, TSlottedPart}
|
||||||
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
||||||
import net.minecraft.client.renderer.RenderBlocks
|
import net.minecraft.client.renderer.RenderBlocks
|
||||||
|
@ -11,7 +11,7 @@ import net.minecraft.nbt.NBTTagCompound
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import net.minecraftforge.fluids._
|
import net.minecraftforge.fluids._
|
||||||
import resonant.lib.`type`.EvictingList
|
import resonant.lib.`type`.EvictingList
|
||||||
import resonantinduction.core.prefab.part.{PartFramedNode, TColorable, TMaterial}
|
import resonantinduction.core.prefab.part.connector.{PartFramedNode, TColorable, TMaterial}
|
||||||
import resonantinduction.mechanical.Mechanical
|
import resonantinduction.mechanical.Mechanical
|
||||||
import resonantinduction.mechanical.fluid.pipe.PipeMaterials.PipeMaterial
|
import resonantinduction.mechanical.fluid.pipe.PipeMaterials.PipeMaterial
|
||||||
|
|
||||||
|
@ -44,7 +44,6 @@ class PartPipe extends PartFramedNode with TMaterial[PipeMaterial] with TColorab
|
||||||
|
|
||||||
def getMaterialID: Int = material.id
|
def getMaterialID: Int = material.id
|
||||||
|
|
||||||
|
|
||||||
override def update()
|
override def update()
|
||||||
{
|
{
|
||||||
super.update()
|
super.update()
|
||||||
|
|
|
@ -5,8 +5,7 @@ import net.minecraftforge.common.util.ForgeDirection;
|
||||||
import net.minecraftforge.fluids.IFluidHandler;
|
import net.minecraftforge.fluids.IFluidHandler;
|
||||||
import resonant.lib.utility.WorldUtility;
|
import resonant.lib.utility.WorldUtility;
|
||||||
import resonantinduction.core.prefab.node.NodePressure;
|
import resonantinduction.core.prefab.node.NodePressure;
|
||||||
import resonantinduction.core.prefab.part.TColorable;
|
import resonantinduction.core.prefab.part.connector.TColorable$;
|
||||||
import resonantinduction.core.prefab.part.TColorable$;
|
|
||||||
import universalelectricity.api.core.grid.INode;
|
import universalelectricity.api.core.grid.INode;
|
||||||
import universalelectricity.api.core.grid.INodeProvider;
|
import universalelectricity.api.core.grid.INodeProvider;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue