Even more mass refactor
This commit is contained in:
parent
6bbff66710
commit
f8cab1b595
|
@ -7,8 +7,8 @@ import net.minecraft.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 resonantengine.api.tile.{IFilterable, IRotatable}
|
import resonantengine.api.tile.{IFilterable, IRotatable}
|
||||||
import resonantengine.lib.prefab.tile.mixed.TileInventory
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.mixed.TileInventory
|
||||||
|
|
||||||
object TileFilterable
|
object TileFilterable
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,8 +21,8 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
import resonantengine.api.network.IPacketReceiver
|
import resonantengine.api.network.IPacketReceiver
|
||||||
import resonantengine.core.ResonantEngine
|
import resonantengine.core.ResonantEngine
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
import resonantengine.lib.prefab.tile.spatial.{ResonantBlock, ResonantTile}
|
import resonantengine.lib.modcontent.block.{ResonantBlock, ResonantTile}
|
||||||
import resonantengine.lib.render.RenderItemOverlayUtility
|
import resonantengine.lib.render.RenderItemOverlayUtility
|
||||||
import resonantengine.lib.transform.vector.{Vector2, Vector3}
|
import resonantengine.lib.transform.vector.{Vector2, Vector3}
|
||||||
import resonantengine.lib.utility.inventory.InventoryUtility
|
import resonantengine.lib.utility.inventory.InventoryUtility
|
||||||
|
@ -61,16 +61,6 @@ class TileImprinter extends ResonantTile(Material.circuits) with ISidedInventory
|
||||||
nbt.setTag("Items", var2)
|
nbt.setTag("Items", var2)
|
||||||
}
|
}
|
||||||
|
|
||||||
def getSizeInventory: Int =
|
|
||||||
{
|
|
||||||
return this.inventory.length
|
|
||||||
}
|
|
||||||
|
|
||||||
def getStackInSlot(slot: Int): ItemStack =
|
|
||||||
{
|
|
||||||
return this.inventory(slot)
|
|
||||||
}
|
|
||||||
|
|
||||||
def read(data: ByteBuf, player: EntityPlayer, `type`: PacketType)
|
def read(data: ByteBuf, player: EntityPlayer, `type`: PacketType)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -170,19 +160,12 @@ class TileImprinter extends ResonantTile(Material.circuits) with ISidedInventory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
def openInventory
|
||||||
* Sets the given item stack to the specified slot in the inventory (can be crafting or armor
|
|
||||||
* sections).
|
|
||||||
*/
|
|
||||||
def setInventorySlotContents(slot: Int, itemStack: ItemStack)
|
|
||||||
{
|
{
|
||||||
if (slot < this.getSizeInventory)
|
this.onInventoryChanged
|
||||||
{
|
|
||||||
inventory(slot) = itemStack
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def openInventory
|
def closeInventory
|
||||||
{
|
{
|
||||||
this.onInventoryChanged
|
this.onInventoryChanged
|
||||||
}
|
}
|
||||||
|
@ -245,11 +228,6 @@ class TileImprinter extends ResonantTile(Material.circuits) with ISidedInventory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def closeInventory
|
|
||||||
{
|
|
||||||
this.onInventoryChanged
|
|
||||||
}
|
|
||||||
|
|
||||||
def getInventoryStackLimit: Int =
|
def getInventoryStackLimit: Int =
|
||||||
{
|
{
|
||||||
return 64
|
return 64
|
||||||
|
@ -270,16 +248,16 @@ class TileImprinter extends ResonantTile(Material.circuits) with ISidedInventory
|
||||||
return this.isItemValidForSlot(slot, itemstack)
|
return this.isItemValidForSlot(slot, itemstack)
|
||||||
}
|
}
|
||||||
|
|
||||||
def isItemValidForSlot(i: Int, itemstack: ItemStack): Boolean =
|
|
||||||
{
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
def canExtractItem(slot: Int, itemstack: ItemStack, side: Int): Boolean =
|
def canExtractItem(slot: Int, itemstack: ItemStack, side: Int): Boolean =
|
||||||
{
|
{
|
||||||
return this.isItemValidForSlot(slot, itemstack)
|
return this.isItemValidForSlot(slot, itemstack)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def isItemValidForSlot(i: Int, itemstack: ItemStack): Boolean =
|
||||||
|
{
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
override def renderDynamic(position: Vector3, frame: Float, pass: Int)
|
override def renderDynamic(position: Vector3, frame: Float, pass: Int)
|
||||||
{
|
{
|
||||||
GL11.glPushMatrix
|
GL11.glPushMatrix
|
||||||
|
@ -396,6 +374,28 @@ class TileImprinter extends ResonantTile(Material.circuits) with ISidedInventory
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def getStackInSlot(slot: Int): ItemStack =
|
||||||
|
{
|
||||||
|
return this.inventory(slot)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the given item stack to the specified slot in the inventory (can be crafting or armor
|
||||||
|
* sections).
|
||||||
|
*/
|
||||||
|
def setInventorySlotContents(slot: Int, itemStack: ItemStack)
|
||||||
|
{
|
||||||
|
if (slot < this.getSizeInventory)
|
||||||
|
{
|
||||||
|
inventory(slot) = itemStack
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def getSizeInventory: Int =
|
||||||
|
{
|
||||||
|
return this.inventory.length
|
||||||
|
}
|
||||||
|
|
||||||
override def onNeighborChanged(block: Block)
|
override def onNeighborChanged(block: Block)
|
||||||
{
|
{
|
||||||
val b: Block = toVectorWorld.add(ForgeDirection.getOrientation(1)).getBlock
|
val b: Block = toVectorWorld.add(ForgeDirection.getOrientation(1)).getBlock
|
||||||
|
|
|
@ -10,9 +10,9 @@ import net.minecraft.util.IIcon
|
||||||
import net.minecraft.world.{IBlockAccess, World}
|
import net.minecraft.world.{IBlockAccess, World}
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.api.tile.IRotatable
|
import resonantengine.api.tile.IRotatable
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantBlock
|
import resonantengine.lib.modcontent.block.ResonantBlock
|
||||||
import resonantengine.lib.prefab.tile.traits.TRotatable
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.traits.TRotatable
|
||||||
|
|
||||||
object TileTurntable
|
object TileTurntable
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,22 +24,22 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import net.minecraftforge.oredict.OreDictionary
|
import net.minecraftforge.oredict.OreDictionary
|
||||||
import org.apache.commons.lang3.ArrayUtils
|
import org.apache.commons.lang3.ArrayUtils
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
import resonantengine.api.gui.ISlotPickResult
|
|
||||||
import resonantengine.api.edx.recipe.{MachineRecipes, RecipeResource, RecipeType}
|
import resonantengine.api.edx.recipe.{MachineRecipes, RecipeResource, RecipeType}
|
||||||
|
import resonantengine.api.gui.ISlotPickResult
|
||||||
import resonantengine.api.network.IPacketReceiver
|
import resonantengine.api.network.IPacketReceiver
|
||||||
import resonantengine.api.tile.IRotatable
|
import resonantengine.api.tile.IRotatable
|
||||||
import resonantengine.core.ResonantEngine
|
import resonantengine.core.ResonantEngine
|
||||||
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
import resonantengine.lib.collection.Pair
|
import resonantengine.lib.collection.Pair
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
|
||||||
import resonantengine.lib.prefab.gui.ContainerDummy
|
import resonantengine.lib.prefab.gui.ContainerDummy
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockSaved
|
|
||||||
import resonantengine.lib.prefab.tile.mixed.TileInventory
|
|
||||||
import resonantengine.lib.render.RenderItemOverlayUtility
|
import resonantengine.lib.render.RenderItemOverlayUtility
|
||||||
import resonantengine.lib.transform.region.Cuboid
|
import resonantengine.lib.transform.region.Cuboid
|
||||||
import resonantengine.lib.transform.vector.{Vector2, Vector3}
|
import resonantengine.lib.transform.vector.{Vector2, Vector3}
|
||||||
import resonantengine.lib.utility.LanguageUtility
|
import resonantengine.lib.utility.LanguageUtility
|
||||||
import resonantengine.lib.utility.inventory.AutoCraftingManager.IAutoCrafter
|
import resonantengine.lib.utility.inventory.AutoCraftingManager.IAutoCrafter
|
||||||
import resonantengine.lib.utility.inventory.{AutoCraftingManager, InventoryUtility}
|
import resonantengine.lib.utility.inventory.{AutoCraftingManager, InventoryUtility}
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockSaved
|
||||||
|
import resonantengine.prefab.block.mixed.TileInventory
|
||||||
|
|
||||||
import scala.collection.JavaConversions._
|
import scala.collection.JavaConversions._
|
||||||
|
|
||||||
|
@ -252,44 +252,6 @@ class TileEngineeringTable extends TileInventory(Material.wood) with IPacketRece
|
||||||
return inventoryCrafting
|
return inventoryCrafting
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* DO NOT USE THIS INTERNALLY. FOR EXTERNAL USE ONLY!
|
|
||||||
*/
|
|
||||||
override def getStackInSlot(slot: Int): ItemStack =
|
|
||||||
{
|
|
||||||
if (slot < TileEngineeringTable.CRAFTING_MATRIX_END)
|
|
||||||
{
|
|
||||||
return this.craftingMatrix(slot)
|
|
||||||
}
|
|
||||||
else if (slot < TileEngineeringTable.CRAFTING_OUTPUT_END)
|
|
||||||
{
|
|
||||||
return outputInventory(slot - TileEngineeringTable.CRAFTING_MATRIX_END)
|
|
||||||
}
|
|
||||||
else if (slot < TileEngineeringTable.PLAYER_OUTPUT_END && invPlayer != null)
|
|
||||||
{
|
|
||||||
return this.invPlayer.getStackInSlot(slot - TileEngineeringTable.CRAFTING_OUTPUT_END)
|
|
||||||
}
|
|
||||||
else if (searchInventories)
|
|
||||||
{
|
|
||||||
var idDisplacement: Int = TileEngineeringTable.PLAYER_OUTPUT_END
|
|
||||||
for (dir <- ForgeDirection.VALID_DIRECTIONS)
|
|
||||||
{
|
|
||||||
val tile: TileEntity = toVectorWorld.add(dir).getTileEntity
|
|
||||||
if (tile.isInstanceOf[IInventory])
|
|
||||||
{
|
|
||||||
val inventory: IInventory = tile.asInstanceOf[IInventory]
|
|
||||||
val slotID: Int = slot - idDisplacement
|
|
||||||
if (slotID >= 0 && slotID < inventory.getSizeInventory)
|
|
||||||
{
|
|
||||||
return inventory.getStackInSlot(slotID)
|
|
||||||
}
|
|
||||||
idDisplacement += inventory.getSizeInventory
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
override def use(player: EntityPlayer, hitSide: Int, hit: Vector3): Boolean =
|
override def use(player: EntityPlayer, hitSide: Int, hit: Vector3): Boolean =
|
||||||
{
|
{
|
||||||
if (player.getCurrentEquippedItem != null && player.getCurrentEquippedItem.getItem.isInstanceOf[ItemHammer])
|
if (player.getCurrentEquippedItem != null && player.getCurrentEquippedItem.getItem.isInstanceOf[ItemHammer])
|
||||||
|
@ -621,6 +583,44 @@ class TileEngineeringTable extends TileInventory(Material.wood) with IPacketRece
|
||||||
return slot == optimalSlot
|
return slot == optimalSlot
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DO NOT USE THIS INTERNALLY. FOR EXTERNAL USE ONLY!
|
||||||
|
*/
|
||||||
|
override def getStackInSlot(slot: Int): ItemStack =
|
||||||
|
{
|
||||||
|
if (slot < TileEngineeringTable.CRAFTING_MATRIX_END)
|
||||||
|
{
|
||||||
|
return this.craftingMatrix(slot)
|
||||||
|
}
|
||||||
|
else if (slot < TileEngineeringTable.CRAFTING_OUTPUT_END)
|
||||||
|
{
|
||||||
|
return outputInventory(slot - TileEngineeringTable.CRAFTING_MATRIX_END)
|
||||||
|
}
|
||||||
|
else if (slot < TileEngineeringTable.PLAYER_OUTPUT_END && invPlayer != null)
|
||||||
|
{
|
||||||
|
return this.invPlayer.getStackInSlot(slot - TileEngineeringTable.CRAFTING_OUTPUT_END)
|
||||||
|
}
|
||||||
|
else if (searchInventories)
|
||||||
|
{
|
||||||
|
var idDisplacement: Int = TileEngineeringTable.PLAYER_OUTPUT_END
|
||||||
|
for (dir <- ForgeDirection.VALID_DIRECTIONS)
|
||||||
|
{
|
||||||
|
val tile: TileEntity = toVectorWorld.add(dir).getTileEntity
|
||||||
|
if (tile.isInstanceOf[IInventory])
|
||||||
|
{
|
||||||
|
val inventory: IInventory = tile.asInstanceOf[IInventory]
|
||||||
|
val slotID: Int = slot - idDisplacement
|
||||||
|
if (slotID >= 0 && slotID < inventory.getSizeInventory)
|
||||||
|
{
|
||||||
|
return inventory.getStackInSlot(slotID)
|
||||||
|
}
|
||||||
|
idDisplacement += inventory.getSizeInventory
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
override def canExtractItem(slot: Int, itemstack: ItemStack, side: Int): Boolean =
|
override def canExtractItem(slot: Int, itemstack: ItemStack, side: Int): Boolean =
|
||||||
{
|
{
|
||||||
val outputStack: ItemStack = getStackInSlot(TileEngineeringTable.CRAFTING_MATRIX_END)
|
val outputStack: ItemStack = getStackInSlot(TileEngineeringTable.CRAFTING_MATRIX_END)
|
||||||
|
|
|
@ -15,9 +15,9 @@ import net.minecraft.world.IBlockAccess
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import net.minecraftforge.fluids.{Fluid, FluidContainerRegistry, FluidRegistry, FluidStack}
|
import net.minecraftforge.fluids.{Fluid, FluidContainerRegistry, FluidRegistry, FluidStack}
|
||||||
import resonantengine.lib.mod.config.Config
|
import resonantengine.lib.mod.config.Config
|
||||||
import resonantengine.lib.prefab.tile.traits.TRotatable
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.FluidUtility
|
import resonantengine.lib.utility.FluidUtility
|
||||||
|
import resonantengine.prefab.block.traits.TRotatable
|
||||||
|
|
||||||
object TileGrate
|
object TileGrate
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,14 +12,14 @@ import net.minecraftforge.client.model.AdvancedModelLoader
|
||||||
import net.minecraftforge.oredict.OreDictionary
|
import net.minecraftforge.oredict.OreDictionary
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
import resonantengine.api.edx.recipe.{MachineRecipes, RecipeType}
|
import resonantengine.api.edx.recipe.{MachineRecipes, RecipeType}
|
||||||
|
import resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.lib.content.prefab.TInventory
|
import resonantengine.lib.content.prefab.TInventory
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.render.{RenderItemOverlayUtility, RenderUtility}
|
import resonantengine.lib.render.{RenderItemOverlayUtility, RenderUtility}
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.inventory.InventoryUtility
|
import resonantengine.lib.utility.inventory.InventoryUtility
|
||||||
import resonantengine.lib.wrapper.ByteBufWrapper._
|
import resonantengine.lib.wrapper.ByteBufWrapper._
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The workbench is meant for manual ore and wood processing.
|
* The workbench is meant for manual ore and wood processing.
|
||||||
|
|
|
@ -7,9 +7,9 @@ import net.minecraft.entity.player.EntityPlayer
|
||||||
import net.minecraft.item.ItemStack
|
import net.minecraft.item.ItemStack
|
||||||
import net.minecraft.world.World
|
import net.minecraft.world.World
|
||||||
import resonantengine.api.transform.vector.IVector3
|
import resonantengine.api.transform.vector.IVector3
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockSaved
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.nbt.NBTUtility
|
import resonantengine.lib.utility.nbt.NBTUtility
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockSaved
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The ItemBlock for the glass jar
|
* The ItemBlock for the glass jar
|
||||||
|
|
|
@ -19,12 +19,10 @@ import net.minecraftforge.client.IItemRenderer.ItemRenderType
|
||||||
import net.minecraftforge.client.model.AdvancedModelLoader
|
import net.minecraftforge.client.model.AdvancedModelLoader
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
import resonantengine.api.item.ISimpleItemRenderer
|
import resonantengine.api.item.ISimpleItemRenderer
|
||||||
|
import resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.lib.factory.resources.ResourceFactory
|
import resonantengine.lib.factory.resources.ResourceFactory
|
||||||
import resonantengine.lib.factory.resources.item.TItemResource
|
import resonantengine.lib.factory.resources.item.TItemResource
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockSaved
|
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.render.RenderUtility
|
import resonantengine.lib.render.RenderUtility
|
||||||
import resonantengine.lib.render.model.ModelCube
|
import resonantengine.lib.render.model.ModelCube
|
||||||
import resonantengine.lib.transform.region.Cuboid
|
import resonantengine.lib.transform.region.Cuboid
|
||||||
|
@ -32,6 +30,8 @@ import resonantengine.lib.transform.vector.{Vector3, VectorWorld}
|
||||||
import resonantengine.lib.utility.inventory.InventoryUtility
|
import resonantengine.lib.utility.inventory.InventoryUtility
|
||||||
import resonantengine.lib.utility.nbt.NBTUtility
|
import resonantengine.lib.utility.nbt.NBTUtility
|
||||||
import resonantengine.lib.wrapper.ByteBufWrapper._
|
import resonantengine.lib.wrapper.ByteBufWrapper._
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockSaved
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A glass jar for mixing different dusts/refined together.
|
* A glass jar for mixing different dusts/refined together.
|
||||||
|
@ -112,6 +112,20 @@ class TileGlassJar extends ResonantTile(Material.wood) with TPacketReceiver with
|
||||||
GL11.glPopMatrix()
|
GL11.glPopMatrix()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
override def renderDynamic(pos: Vector3, frame: Float, pass: Int)
|
||||||
|
{
|
||||||
|
GL11.glPushMatrix()
|
||||||
|
GL11.glTranslated(pos.x + 0.5, pos.y + 0.5, pos.z + 0.5)
|
||||||
|
renderMixture()
|
||||||
|
GL11.glPopMatrix()
|
||||||
|
|
||||||
|
GL11.glPushMatrix()
|
||||||
|
GL11.glTranslated(pos.x + 0.5, pos.y + 0.8, pos.z + 0.5)
|
||||||
|
renderJar()
|
||||||
|
GL11.glPopMatrix()
|
||||||
|
}
|
||||||
|
|
||||||
def renderMixture(itemStack: ItemStack = null)
|
def renderMixture(itemStack: ItemStack = null)
|
||||||
{
|
{
|
||||||
val alloy: Alloy =
|
val alloy: Alloy =
|
||||||
|
@ -179,20 +193,6 @@ class TileGlassJar extends ResonantTile(Material.wood) with TPacketReceiver with
|
||||||
RenderUtility.disableBlending()
|
RenderUtility.disableBlending()
|
||||||
}
|
}
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
override def renderDynamic(pos: Vector3, frame: Float, pass: Int)
|
|
||||||
{
|
|
||||||
GL11.glPushMatrix()
|
|
||||||
GL11.glTranslated(pos.x + 0.5, pos.y + 0.5, pos.z + 0.5)
|
|
||||||
renderMixture()
|
|
||||||
GL11.glPopMatrix()
|
|
||||||
|
|
||||||
GL11.glPushMatrix()
|
|
||||||
GL11.glTranslated(pos.x + 0.5, pos.y + 0.8, pos.z + 0.5)
|
|
||||||
renderJar()
|
|
||||||
GL11.glPopMatrix()
|
|
||||||
}
|
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
override protected def getTextureName: String = textureName
|
override protected def getTextureName: String = textureName
|
||||||
|
|
||||||
|
|
|
@ -7,13 +7,13 @@ import net.minecraft.entity.player.EntityPlayer
|
||||||
import net.minecraft.item.{EnumAction, ItemStack}
|
import net.minecraft.item.{EnumAction, ItemStack}
|
||||||
import net.minecraft.world.World
|
import net.minecraft.world.World
|
||||||
import resonantengine.api.edx.recipe.{MachineRecipes, RecipeType}
|
import resonantengine.api.edx.recipe.{MachineRecipes, RecipeType}
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockSaved
|
|
||||||
import resonantengine.lib.render.EnumColor
|
import resonantengine.lib.render.EnumColor
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.inventory.{ExternalInventory, InventoryUtility}
|
import resonantengine.lib.utility.inventory.{ExternalInventory, InventoryUtility}
|
||||||
import resonantengine.lib.utility.nbt.NBTUtility
|
import resonantengine.lib.utility.nbt.NBTUtility
|
||||||
import resonantengine.lib.wrapper.CollectionWrapper._
|
import resonantengine.lib.wrapper.CollectionWrapper._
|
||||||
import resonantengine.lib.wrapper.StringWrapper._
|
import resonantengine.lib.wrapper.StringWrapper._
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockSaved
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The ItemBlock for the glass jar
|
* The ItemBlock for the glass jar
|
||||||
|
|
|
@ -15,16 +15,16 @@ import net.minecraftforge.client.IItemRenderer.ItemRenderType
|
||||||
import net.minecraftforge.client.model.AdvancedModelLoader
|
import net.minecraftforge.client.model.AdvancedModelLoader
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
import resonantengine.api.item.ISimpleItemRenderer
|
import resonantengine.api.item.ISimpleItemRenderer
|
||||||
|
import resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.lib.content.prefab.TInventory
|
import resonantengine.lib.content.prefab.TInventory
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockSaved
|
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.render.{RenderItemOverlayUtility, RenderUtility}
|
import resonantengine.lib.render.{RenderItemOverlayUtility, RenderUtility}
|
||||||
import resonantengine.lib.transform.region.Cuboid
|
import resonantengine.lib.transform.region.Cuboid
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.inventory.InventoryUtility
|
import resonantengine.lib.utility.inventory.InventoryUtility
|
||||||
import resonantengine.lib.wrapper.ByteBufWrapper._
|
import resonantengine.lib.wrapper.ByteBufWrapper._
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockSaved
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
object TileSieve
|
object TileSieve
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,11 +10,11 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import net.minecraftforge.fluids._
|
import net.minecraftforge.fluids._
|
||||||
import resonantengine.api.edx.recipe.{MachineRecipes, RecipeResource, RecipeType}
|
import resonantengine.api.edx.recipe.{MachineRecipes, RecipeResource, RecipeType}
|
||||||
import resonantengine.api.network.IPacketReceiver
|
import resonantengine.api.network.IPacketReceiver
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
import resonantengine.lib.prefab.tile.mixed.TileInventory
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.FluidUtility
|
import resonantengine.lib.utility.FluidUtility
|
||||||
import resonantengine.lib.utility.inventory.InventoryUtility
|
import resonantengine.lib.utility.inventory.InventoryUtility
|
||||||
|
import resonantengine.prefab.block.mixed.TileInventory
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Turns molten fuilds into ingots.
|
* Turns molten fuilds into ingots.
|
||||||
|
|
|
@ -18,18 +18,18 @@ import net.minecraft.util.IIcon
|
||||||
import net.minecraftforge.common.MinecraftForge
|
import net.minecraftforge.common.MinecraftForge
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import net.minecraftforge.fluids._
|
import net.minecraftforge.fluids._
|
||||||
|
import resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.lib.content.prefab.{TIO, TInventory}
|
import resonantengine.lib.content.prefab.{TIO, TInventory}
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.EnergyStorage
|
import resonantengine.lib.grid.energy.EnergyStorage
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.grid.thermal.{BoilEvent, ThermalPhysics}
|
import resonantengine.lib.grid.thermal.{BoilEvent, ThermalPhysics}
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
import resonantengine.lib.modcontent.block.{ResonantBlock, ResonantTile}
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.tile.spatial.{ResonantBlock, ResonantTile}
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.FluidUtility
|
import resonantengine.lib.utility.FluidUtility
|
||||||
import resonantengine.lib.wrapper.ByteBufWrapper._
|
import resonantengine.lib.wrapper.ByteBufWrapper._
|
||||||
import resonantengine.lib.wrapper.CollectionWrapper._
|
import resonantengine.lib.wrapper.CollectionWrapper._
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Meant to replace the furnace class.
|
* Meant to replace the furnace class.
|
||||||
|
|
|
@ -11,14 +11,14 @@ import net.minecraft.item.crafting.FurnaceRecipes
|
||||||
import net.minecraft.nbt.NBTTagCompound
|
import net.minecraft.nbt.NBTTagCompound
|
||||||
import net.minecraft.util.IIcon
|
import net.minecraft.util.IIcon
|
||||||
import net.minecraft.world.IBlockAccess
|
import net.minecraft.world.IBlockAccess
|
||||||
|
import resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.lib.content.prefab.TInventory
|
import resonantengine.lib.content.prefab.TInventory
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
import resonantengine.lib.modcontent.block.{ResonantBlock, ResonantTile}
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.tile.spatial.{ResonantBlock, ResonantTile}
|
|
||||||
import resonantengine.lib.transform.region.Cuboid
|
import resonantengine.lib.transform.region.Cuboid
|
||||||
import resonantengine.lib.transform.vector.{Vector2, Vector3}
|
import resonantengine.lib.transform.vector.{Vector2, Vector3}
|
||||||
import resonantengine.lib.wrapper.ByteBufWrapper._
|
import resonantengine.lib.wrapper.ByteBufWrapper._
|
||||||
import resonantengine.lib.wrapper.RandomWrapper._
|
import resonantengine.lib.wrapper.RandomWrapper._
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For smelting items.
|
* For smelting items.
|
||||||
|
@ -85,22 +85,6 @@ class TileHotPlate extends ResonantTile(Material.iron) with TInventory with TPac
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def canSmelt(stack: ItemStack): Boolean = stack != null && FurnaceRecipes.smelting.getSmeltingResult(stack) != null
|
|
||||||
|
|
||||||
def canRun: Boolean =
|
|
||||||
{
|
|
||||||
val tileEntity = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord)
|
|
||||||
|
|
||||||
if (tileEntity.isInstanceOf[TileFirebox])
|
|
||||||
{
|
|
||||||
if ((tileEntity.asInstanceOf[TileFirebox]).isBurning)
|
|
||||||
{
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
override def randomDisplayTick()
|
override def randomDisplayTick()
|
||||||
{
|
{
|
||||||
val height = 0.2
|
val height = 0.2
|
||||||
|
@ -133,13 +117,13 @@ class TileHotPlate extends ResonantTile(Material.iron) with TInventory with TPac
|
||||||
return smeltTime(i)
|
return smeltTime(i)
|
||||||
}
|
}
|
||||||
|
|
||||||
override def getSizeInventory: Int = 4
|
|
||||||
|
|
||||||
override def isItemValidForSlot(i: Int, itemStack: ItemStack): Boolean =
|
override def isItemValidForSlot(i: Int, itemStack: ItemStack): Boolean =
|
||||||
{
|
{
|
||||||
return i < getSizeInventory && canSmelt(itemStack)
|
return i < getSizeInventory && canSmelt(itemStack)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def canSmelt(stack: ItemStack): Boolean = stack != null && FurnaceRecipes.smelting.getSmeltingResult(stack) != null
|
||||||
|
|
||||||
override def write(buf: ByteBuf, id: Int)
|
override def write(buf: ByteBuf, id: Int)
|
||||||
{
|
{
|
||||||
super.write(buf, id)
|
super.write(buf, id)
|
||||||
|
@ -173,6 +157,8 @@ class TileHotPlate extends ResonantTile(Material.iron) with TInventory with TPac
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override def getSizeInventory: Int = 4
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
override def registerIcons(iconReg: IIconRegister)
|
override def registerIcons(iconReg: IIconRegister)
|
||||||
{
|
{
|
||||||
|
@ -189,6 +175,20 @@ class TileHotPlate extends ResonantTile(Material.iron) with TInventory with TPac
|
||||||
return if (access.getBlockMetadata(xi, yi, zi) == 1) ResonantBlock.icon.get("electricHotPlate") else (if (canRun) ResonantBlock.icon.get("hotPlate_on") else ResonantBlock.icon.get(getTextureName))
|
return if (access.getBlockMetadata(xi, yi, zi) == 1) ResonantBlock.icon.get("electricHotPlate") else (if (canRun) ResonantBlock.icon.get("hotPlate_on") else ResonantBlock.icon.get(getTextureName))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def canRun: Boolean =
|
||||||
|
{
|
||||||
|
val tileEntity = worldObj.getTileEntity(xCoord, yCoord - 1, zCoord)
|
||||||
|
|
||||||
|
if (tileEntity.isInstanceOf[TileFirebox])
|
||||||
|
{
|
||||||
|
if ((tileEntity.asInstanceOf[TileFirebox]).isBurning)
|
||||||
|
{
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
override def getIcon(side: Int, meta: Int): IIcon =
|
override def getIcon(side: Int, meta: Int): IIcon =
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,12 +5,12 @@ import net.minecraft.block.material.Material
|
||||||
import net.minecraft.nbt.NBTTagCompound
|
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 resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.fluid.NodeFluid
|
import resonantengine.lib.prefab.fluid.NodeFluid
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.wrapper.ByteBufWrapper._
|
import resonantengine.lib.wrapper.ByteBufWrapper._
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A prefab class for tiles that use the fluid network.
|
* A prefab class for tiles that use the fluid network.
|
||||||
|
@ -33,20 +33,6 @@ abstract class TileFluidProvider(material: Material) extends ResonantTile(materi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def fluidNode = _fluidNode
|
|
||||||
|
|
||||||
def fluidNode_=(newNode: NodeFluid)
|
|
||||||
{
|
|
||||||
_fluidNode = newNode
|
|
||||||
fluidNode.onConnectionChanged = () =>
|
|
||||||
{
|
|
||||||
clientRenderMask = fluidNode.connectedMask
|
|
||||||
sendPacket(0)
|
|
||||||
}
|
|
||||||
fluidNode.onFluidChanged = () => if (!world.isRemote) sendPacket(1)
|
|
||||||
nodes.add(fluidNode)
|
|
||||||
}
|
|
||||||
|
|
||||||
override def write(buf: ByteBuf, id: Int)
|
override def write(buf: ByteBuf, id: Int)
|
||||||
{
|
{
|
||||||
super.write(buf, id)
|
super.write(buf, id)
|
||||||
|
@ -66,6 +52,20 @@ abstract class TileFluidProvider(material: Material) extends ResonantTile(materi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def fluidNode = _fluidNode
|
||||||
|
|
||||||
|
def fluidNode_=(newNode: NodeFluid)
|
||||||
|
{
|
||||||
|
_fluidNode = newNode
|
||||||
|
fluidNode.onConnectionChanged = () =>
|
||||||
|
{
|
||||||
|
clientRenderMask = fluidNode.connectedMask
|
||||||
|
sendPacket(0)
|
||||||
|
}
|
||||||
|
fluidNode.onFluidChanged = () => if (!world.isRemote) sendPacket(1)
|
||||||
|
nodes.add(fluidNode)
|
||||||
|
}
|
||||||
|
|
||||||
override def read(buf: ByteBuf, id: Int, packet: PacketType)
|
override def read(buf: ByteBuf, id: Int, packet: PacketType)
|
||||||
{
|
{
|
||||||
super.read(buf, id, packet)
|
super.read(buf, id, packet)
|
||||||
|
|
|
@ -4,9 +4,9 @@ import codechicken.multipart.{TMultiPart, TileMultipart}
|
||||||
import io.netty.buffer.ByteBuf
|
import io.netty.buffer.ByteBuf
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
||||||
import net.minecraft.entity.player.EntityPlayer
|
import net.minecraft.entity.player.EntityPlayer
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
import resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.prefab.network.TPacketReceiver
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.network.TPacketReceiver
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Packet handler for blocks and tile entities.
|
* Packet handler for blocks and tile entities.
|
||||||
|
@ -57,11 +57,6 @@ class PacketMultiPart extends PacketType
|
||||||
handle(player)
|
handle(player)
|
||||||
}
|
}
|
||||||
|
|
||||||
override def handleServerSide(player: EntityPlayer)
|
|
||||||
{
|
|
||||||
handle(player)
|
|
||||||
}
|
|
||||||
|
|
||||||
def handle(player: EntityPlayer)
|
def handle(player: EntityPlayer)
|
||||||
{
|
{
|
||||||
val tile = player.getEntityWorld.getTileEntity(this.x, this.y, this.z)
|
val tile = player.getEntityWorld.getTileEntity(this.x, this.y, this.z)
|
||||||
|
@ -80,4 +75,9 @@ class PacketMultiPart extends PacketType
|
||||||
throw new UnsupportedOperationException("Packet was sent to a multipart not implementing IPacketReceiver, this is a coding error [" + tile + "] in " + new Vector3(x, y, z))
|
throw new UnsupportedOperationException("Packet was sent to a multipart not implementing IPacketReceiver, this is a coding error [" + tile + "] in " + new Vector3(x, y, z))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override def handleServerSide(player: EntityPlayer)
|
||||||
|
{
|
||||||
|
handle(player)
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -5,7 +5,7 @@ import codechicken.multipart.{IRedstonePart, TMultiPart}
|
||||||
import edx.core.ResonantPartFactory
|
import edx.core.ResonantPartFactory
|
||||||
import net.minecraft.item.ItemStack
|
import net.minecraft.item.ItemStack
|
||||||
import net.minecraft.util.MovingObjectPosition
|
import net.minecraft.util.MovingObjectPosition
|
||||||
import resonantengine.lib.prefab.tile.traits.TTicker
|
import resonantengine.prefab.block.traits.TTicker
|
||||||
|
|
||||||
import scala.collection.convert.wrapAll._
|
import scala.collection.convert.wrapAll._
|
||||||
import scala.collection.mutable
|
import scala.collection.mutable
|
||||||
|
|
|
@ -9,9 +9,9 @@ import net.minecraft.client.renderer.texture.IIconRegister
|
||||||
import net.minecraft.creativetab.CreativeTabs
|
import net.minecraft.creativetab.CreativeTabs
|
||||||
import net.minecraft.item.{Item, ItemStack}
|
import net.minecraft.item.{Item, ItemStack}
|
||||||
import net.minecraft.util.IIcon
|
import net.minecraft.util.IIcon
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockMetadata
|
import resonantengine.lib.modcontent.block.ResonantBlock
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantBlock
|
|
||||||
import resonantengine.lib.wrapper.CollectionWrapper._
|
import resonantengine.lib.wrapper.CollectionWrapper._
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockMetadata
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A block used to build machines or decoration.
|
* A block used to build machines or decoration.
|
||||||
|
|
|
@ -3,7 +3,7 @@ package edx.core.resource.content
|
||||||
import edx.core.Reference
|
import edx.core.Reference
|
||||||
import net.minecraft.block.material.Material
|
import net.minecraft.block.material.Material
|
||||||
import net.minecraft.nbt.NBTTagCompound
|
import net.minecraft.nbt.NBTTagCompound
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.transform.region.Cuboid
|
import resonantengine.lib.transform.region.Cuboid
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -25,7 +25,7 @@ import net.minecraft.util.ResourceLocation
|
||||||
import net.minecraftforge.client.event.TextureStitchEvent
|
import net.minecraftforge.client.event.TextureStitchEvent
|
||||||
import net.minecraftforge.common.MinecraftForge
|
import net.minecraftforge.common.MinecraftForge
|
||||||
import net.minecraftforge.oredict.{OreDictionary, ShapelessOreRecipe}
|
import net.minecraftforge.oredict.{OreDictionary, ShapelessOreRecipe}
|
||||||
import resonantengine.api.modcontent.ExplicitContentName
|
import resonantengine.lib.modcontent.ExplicitContentName
|
||||||
import resonantengine.lib.utility.recipe.UniversalRecipe
|
import resonantengine.lib.utility.recipe.UniversalRecipe
|
||||||
import resonantengine.prefab.modcontent.ContentHolder
|
import resonantengine.prefab.modcontent.ContentHolder
|
||||||
|
|
||||||
|
|
|
@ -16,18 +16,18 @@ import net.minecraftforge.client.model.AdvancedModelLoader
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import org.lwjgl.opengl.GL11._
|
import org.lwjgl.opengl.GL11._
|
||||||
import resonantengine.api.item.ISimpleItemRenderer
|
import resonantengine.api.item.ISimpleItemRenderer
|
||||||
|
import resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.lib.content.prefab.TIO
|
import resonantengine.lib.content.prefab.TIO
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.EnergyStorage
|
import resonantengine.lib.grid.energy.EnergyStorage
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.prefab.tile.traits.TEnergyProvider
|
|
||||||
import resonantengine.lib.render.RenderUtility
|
import resonantengine.lib.render.RenderUtility
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.science.UnitDisplay
|
import resonantengine.lib.utility.science.UnitDisplay
|
||||||
import resonantengine.lib.wrapper.ByteBufWrapper._
|
import resonantengine.lib.wrapper.ByteBufWrapper._
|
||||||
|
import resonantengine.prefab.block.traits.TEnergyProvider
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
/** A modular battery box that allows shared connections with boxes next to it.
|
/** A modular battery box that allows shared connections with boxes next to it.
|
||||||
*
|
*
|
||||||
|
@ -69,15 +69,6 @@ class TileBattery extends ResonantTile(Material.iron) with TIO with TBlockNodePr
|
||||||
updateConnectionMask()
|
updateConnectionMask()
|
||||||
}
|
}
|
||||||
|
|
||||||
def updateConnectionMask()
|
|
||||||
{
|
|
||||||
electricNode.setPositives(getInputDirections())
|
|
||||||
electricNode.setNegatives(getOutputDirections())
|
|
||||||
electricNode.reconstruct()
|
|
||||||
markUpdate()
|
|
||||||
notifyChange()
|
|
||||||
}
|
|
||||||
|
|
||||||
override def update()
|
override def update()
|
||||||
{
|
{
|
||||||
super.update()
|
super.update()
|
||||||
|
@ -141,6 +132,15 @@ class TileBattery extends ResonantTile(Material.iron) with TIO with TBlockNodePr
|
||||||
updateConnectionMask()
|
updateConnectionMask()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def updateConnectionMask()
|
||||||
|
{
|
||||||
|
electricNode.setPositives(getInputDirections())
|
||||||
|
electricNode.setNegatives(getOutputDirections())
|
||||||
|
electricNode.reconstruct()
|
||||||
|
markUpdate()
|
||||||
|
notifyChange()
|
||||||
|
}
|
||||||
|
|
||||||
override def onPlaced(entityLiving: EntityLivingBase, itemStack: ItemStack)
|
override def onPlaced(entityLiving: EntityLivingBase, itemStack: ItemStack)
|
||||||
{
|
{
|
||||||
if (!world.isRemote && itemStack.getItem.isInstanceOf[ItemBlockBattery])
|
if (!world.isRemote && itemStack.getItem.isInstanceOf[ItemBlockBattery])
|
||||||
|
|
|
@ -13,10 +13,10 @@ import org.lwjgl.opengl.GL11
|
||||||
import resonantengine.lib.content.prefab.TIO
|
import resonantengine.lib.content.prefab.TIO
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.prefab.tile.traits.TRotatable
|
|
||||||
import resonantengine.lib.render.RenderUtility
|
import resonantengine.lib.render.RenderUtility
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.traits.TRotatable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A kinetic energy to electrical energy converter.
|
* A kinetic energy to electrical energy converter.
|
||||||
|
|
|
@ -9,7 +9,7 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.lib.content.prefab.TIO
|
import resonantengine.lib.content.prefab.TIO
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.prefab.tile.spatial.{ResonantBlock, ResonantTile}
|
import resonantengine.lib.modcontent.block.{ResonantBlock, ResonantTile}
|
||||||
import resonantengine.lib.render.block.RenderConnectedTexture
|
import resonantengine.lib.render.block.RenderConnectedTexture
|
||||||
import resonantengine.lib.transform.region.Cuboid
|
import resonantengine.lib.transform.region.Cuboid
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.lib.content.prefab.TIO
|
import resonantengine.lib.content.prefab.TIO
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.prefab.tile.spatial.{ResonantBlock, ResonantTile}
|
import resonantengine.lib.modcontent.block.{ResonantBlock, ResonantTile}
|
||||||
|
|
||||||
import scala.collection.convert.wrapAll._
|
import scala.collection.convert.wrapAll._
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,8 @@ import net.minecraftforge.fluids.{FluidTankInfo, IFluidHandler}
|
||||||
import resonantengine.api.graph.INodeProvider
|
import resonantengine.api.graph.INodeProvider
|
||||||
import resonantengine.api.network.IPacketReceiver
|
import resonantengine.api.network.IPacketReceiver
|
||||||
import resonantengine.api.tile.IRemovable
|
import resonantengine.api.tile.IRemovable
|
||||||
|
import resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.lib.mod.compat.energy.Compatibility
|
import resonantengine.lib.mod.compat.energy.Compatibility
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.WrenchUtility
|
import resonantengine.lib.utility.WrenchUtility
|
||||||
|
|
||||||
|
@ -54,6 +54,21 @@ class PartMultimeter extends PartFace with IRedstonePart with IPacketReceiver wi
|
||||||
getGrid.remove(this)
|
getGrid.remove(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def getGrid: GridMultimeter =
|
||||||
|
{
|
||||||
|
if (grid == null)
|
||||||
|
{
|
||||||
|
grid = new GridMultimeter
|
||||||
|
grid.add(this)
|
||||||
|
}
|
||||||
|
return grid
|
||||||
|
}
|
||||||
|
|
||||||
|
def setGrid(network: GridMultimeter)
|
||||||
|
{
|
||||||
|
grid = network
|
||||||
|
}
|
||||||
|
|
||||||
def updateDesc()
|
def updateDesc()
|
||||||
{
|
{
|
||||||
writeDesc(getWriteStream)
|
writeDesc(getWriteStream)
|
||||||
|
@ -237,37 +252,22 @@ class PartMultimeter extends PartFace with IRedstonePart with IPacketReceiver wi
|
||||||
updateServer
|
updateServer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def updateServer
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
def toggleMode
|
def toggleMode
|
||||||
{
|
{
|
||||||
detectMode = DetectModes((detectMode.id + 1) % DetectModes.values.size).asInstanceOf[DetectModes.DetectMode]
|
detectMode = DetectModes((detectMode.id + 1) % DetectModes.values.size).asInstanceOf[DetectModes.DetectMode]
|
||||||
updateServer
|
updateServer
|
||||||
}
|
}
|
||||||
|
|
||||||
def updateServer
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
def toggleDetectionValue
|
def toggleDetectionValue
|
||||||
{
|
{
|
||||||
detectType = ((detectType + 1) % getGrid.graphs.size).asInstanceOf[Byte]
|
detectType = ((detectType + 1) % getGrid.graphs.size).asInstanceOf[Byte]
|
||||||
updateServer
|
updateServer
|
||||||
}
|
}
|
||||||
|
|
||||||
def getGrid: GridMultimeter =
|
|
||||||
{
|
|
||||||
if (grid == null)
|
|
||||||
{
|
|
||||||
grid = new GridMultimeter
|
|
||||||
grid.add(this)
|
|
||||||
}
|
|
||||||
return grid
|
|
||||||
}
|
|
||||||
|
|
||||||
def setGrid(network: GridMultimeter)
|
|
||||||
{
|
|
||||||
grid = network
|
|
||||||
}
|
|
||||||
|
|
||||||
override def load(nbt: NBTTagCompound)
|
override def load(nbt: NBTTagCompound)
|
||||||
{
|
{
|
||||||
super.load(nbt)
|
super.load(nbt)
|
||||||
|
|
|
@ -17,18 +17,18 @@ import net.minecraft.tileentity.TileEntity
|
||||||
import net.minecraft.util.ChatComponentText
|
import net.minecraft.util.ChatComponentText
|
||||||
import net.minecraft.world.World
|
import net.minecraft.world.World
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
import resonantengine.lib.content.prefab.TIO
|
import resonantengine.lib.content.prefab.TIO
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.EnergyStorage
|
import resonantengine.lib.grid.energy.EnergyStorage
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.tile.multiblock.reference.{IMultiBlockStructure, MultiBlockHandler}
|
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.prefab.tile.traits.TEnergyProvider
|
|
||||||
import resonantengine.lib.render.EnumColor
|
import resonantengine.lib.render.EnumColor
|
||||||
import resonantengine.lib.transform.vector.{Vector3, VectorWorld}
|
import resonantengine.lib.transform.vector.{Vector3, VectorWorld}
|
||||||
import resonantengine.lib.utility.{LanguageUtility, LinkUtility}
|
import resonantengine.lib.utility.{LanguageUtility, LinkUtility}
|
||||||
|
import resonantengine.prefab.block.multiblock.reference.{IMultiBlockStructure, MultiBlockHandler}
|
||||||
|
import resonantengine.prefab.block.traits.TEnergyProvider
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
import scala.collection.JavaConversions._
|
import scala.collection.JavaConversions._
|
||||||
|
|
||||||
|
|
|
@ -18,9 +18,9 @@ import net.minecraft.util.{AxisAlignedBB, IIcon}
|
||||||
import net.minecraft.world.IBlockAccess
|
import net.minecraft.world.IBlockAccess
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.core.ResonantEngine
|
import resonantengine.core.ResonantEngine
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
|
import resonantengine.lib.modcontent.block.ResonantBlock
|
||||||
import resonantengine.prefab.network.TPacketReceiver
|
import resonantengine.prefab.network.TPacketReceiver
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantBlock
|
|
||||||
|
|
||||||
class TileDetector extends TileFilterable with TPacketReceiver
|
class TileDetector extends TileFilterable with TPacketReceiver
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,11 +16,11 @@ import net.minecraft.util.IIcon
|
||||||
import net.minecraft.world.IBlockAccess
|
import net.minecraft.world.IBlockAccess
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.api.network.IPacketReceiver
|
import resonantengine.api.network.IPacketReceiver
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.prefab.tile.traits.TRotatable
|
|
||||||
import resonantengine.lib.transform.vector.{Vector3, VectorWorld}
|
import resonantengine.lib.transform.vector.{Vector3, VectorWorld}
|
||||||
import resonantengine.lib.utility.inventory.InternalInventoryHandler
|
import resonantengine.lib.utility.inventory.InternalInventoryHandler
|
||||||
|
import resonantengine.prefab.block.traits.TRotatable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author tgame14
|
* @author tgame14
|
||||||
|
|
|
@ -13,15 +13,15 @@ import net.minecraft.util.{ChatComponentText, IIcon}
|
||||||
import net.minecraft.world.IBlockAccess
|
import net.minecraft.world.IBlockAccess
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
|
import resonantengine.core.network.discriminator.PacketTile
|
||||||
import resonantengine.lib.content.prefab.TInventory
|
import resonantengine.lib.content.prefab.TInventory
|
||||||
import resonantengine.lib.network.discriminator.PacketTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.prefab.network.TPacketSender
|
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.prefab.tile.traits.TRotatable
|
|
||||||
import resonantengine.lib.render.RenderItemOverlayUtility
|
import resonantengine.lib.render.RenderItemOverlayUtility
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.LanguageUtility
|
import resonantengine.lib.utility.LanguageUtility
|
||||||
import resonantengine.lib.utility.inventory.{InternalInventoryHandler, InventoryUtility}
|
import resonantengine.lib.utility.inventory.{InternalInventoryHandler, InventoryUtility}
|
||||||
|
import resonantengine.prefab.block.traits.TRotatable
|
||||||
|
import resonantengine.prefab.network.TPacketSender
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author tgame14
|
* @author tgame14
|
||||||
|
|
|
@ -5,13 +5,13 @@ import io.netty.buffer.ByteBuf
|
||||||
import net.minecraft.block.material.Material
|
import net.minecraft.block.material.Material
|
||||||
import net.minecraft.entity.player.EntityPlayer
|
import net.minecraft.entity.player.EntityPlayer
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
|
import resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.prefab.tile.traits.TRotatable
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.wrapper.ByteBufWrapper._
|
import resonantengine.lib.wrapper.ByteBufWrapper._
|
||||||
|
import resonantengine.prefab.block.traits.TRotatable
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
import scala.collection.convert.wrapAll._
|
import scala.collection.convert.wrapAll._
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@ package edx.mechanical.mech.gear
|
||||||
|
|
||||||
import codechicken.multipart.TileMultipart
|
import codechicken.multipart.TileMultipart
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.lib.prefab.tile.multiblock.reference.MultiBlockHandler
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.multiblock.reference.MultiBlockHandler
|
||||||
|
|
||||||
class GearMultiBlockHandler(wrapper: PartGear) extends MultiBlockHandler[PartGear](wrapper: PartGear)
|
class GearMultiBlockHandler(wrapper: PartGear) extends MultiBlockHandler[PartGear](wrapper: PartGear)
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,8 +16,8 @@ import net.minecraft.util.MovingObjectPosition
|
||||||
import net.minecraft.world.World
|
import net.minecraft.world.World
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.api.graph.node.INode
|
import resonantengine.api.graph.node.INode
|
||||||
import resonantengine.lib.prefab.tile.multiblock.reference.IMultiBlockStructure
|
|
||||||
import resonantengine.lib.utility.WrenchUtility
|
import resonantengine.lib.utility.WrenchUtility
|
||||||
|
import resonantengine.prefab.block.multiblock.reference.IMultiBlockStructure
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We assume all the force acting on the gear is 90 degrees.
|
* We assume all the force acting on the gear is 90 degrees.
|
||||||
|
@ -96,6 +96,8 @@ class PartGear extends PartMechanical with IMultiBlockStructure[PartGear]
|
||||||
return (primaryPos.xi == x && placementSide.offsetX == 0) || (primaryPos.yi == y && placementSide.offsetY == 0) || (primaryPos.zi == z && placementSide.offsetZ == 0)
|
return (primaryPos.xi == x && placementSide.offsetX == 0) || (primaryPos.yi == y && placementSide.offsetY == 0) || (primaryPos.zi == z && placementSide.offsetZ == 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override def getMultiBlock: GearMultiBlockHandler = multiBlock
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
override def renderDynamic(pos: Vector3, frame: Float, pass: Int)
|
override def renderDynamic(pos: Vector3, frame: Float, pass: Int)
|
||||||
{
|
{
|
||||||
|
@ -115,8 +117,6 @@ class PartGear extends PartMechanical with IMultiBlockStructure[PartGear]
|
||||||
getMultiBlock.save(nbt)
|
getMultiBlock.save(nbt)
|
||||||
}
|
}
|
||||||
|
|
||||||
override def getMultiBlock: GearMultiBlockHandler = multiBlock
|
|
||||||
|
|
||||||
override def getMultiBlockVectors: java.util.List[resonantengine.lib.transform.vector.Vector3] = new resonantengine.lib.transform.vector.Vector3().getAround(this.world, placementSide, 1)
|
override def getMultiBlockVectors: java.util.List[resonantengine.lib.transform.vector.Vector3] = new resonantengine.lib.transform.vector.Vector3().getAround(this.world, placementSide, 1)
|
||||||
|
|
||||||
def getWorld: World =
|
def getWorld: World =
|
||||||
|
|
|
@ -12,10 +12,10 @@ import net.minecraft.nbt.NBTTagCompound
|
||||||
import net.minecraft.util.AxisAlignedBB
|
import net.minecraft.util.AxisAlignedBB
|
||||||
import net.minecraft.world.World
|
import net.minecraft.world.World
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.lib.network.discriminator.PacketType
|
import resonantengine.core.network.discriminator.PacketType
|
||||||
import resonantengine.lib.prefab.tile.multiblock.reference.IMultiBlockStructure
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.wrapper.ByteBufWrapper._
|
import resonantengine.lib.wrapper.ByteBufWrapper._
|
||||||
|
import resonantengine.prefab.block.multiblock.reference.IMultiBlockStructure
|
||||||
|
|
||||||
import scala.collection.JavaConversions._
|
import scala.collection.JavaConversions._
|
||||||
|
|
||||||
|
@ -113,6 +113,11 @@ class TileTurbine extends TileMechanical(Material.wood) with IMultiBlockStructur
|
||||||
getMultiBlock.load(nbt)
|
getMultiBlock.load(nbt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def getMultiBlock: TurbineMBlockHandler =
|
||||||
|
{
|
||||||
|
return multiBlock
|
||||||
|
}
|
||||||
|
|
||||||
/** Writes a tile entity to NBT. */
|
/** Writes a tile entity to NBT. */
|
||||||
override def writeToNBT(nbt: NBTTagCompound)
|
override def writeToNBT(nbt: NBTTagCompound)
|
||||||
{
|
{
|
||||||
|
@ -122,11 +127,6 @@ class TileTurbine extends TileMechanical(Material.wood) with IMultiBlockStructur
|
||||||
getMultiBlock.save(nbt)
|
getMultiBlock.save(nbt)
|
||||||
}
|
}
|
||||||
|
|
||||||
def getMultiBlock: TurbineMBlockHandler =
|
|
||||||
{
|
|
||||||
return multiBlock
|
|
||||||
}
|
|
||||||
|
|
||||||
override def read(buf: ByteBuf, id: Int, packetType: PacketType)
|
override def read(buf: ByteBuf, id: Int, packetType: PacketType)
|
||||||
{
|
{
|
||||||
super.read(buf, id, packetType)
|
super.read(buf, id, packetType)
|
||||||
|
|
|
@ -14,9 +14,9 @@ import net.minecraft.util.Vec3
|
||||||
import net.minecraft.world.IBlockAccess
|
import net.minecraft.world.IBlockAccess
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.api.graph.INodeProvider
|
import resonantengine.api.graph.INodeProvider
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockMetadata
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.wrapper.CollectionWrapper._
|
import resonantengine.lib.wrapper.CollectionWrapper._
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockMetadata
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The vertical water turbine collects flowing water flowing on X axis.
|
* The vertical water turbine collects flowing water flowing on X axis.
|
||||||
|
|
|
@ -15,13 +15,13 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import net.minecraftforge.fluids.{Fluid, FluidStack, FluidTank, FluidTankInfo}
|
import net.minecraftforge.fluids.{Fluid, FluidStack, FluidTank, FluidTankInfo}
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
import resonantengine.api.tile.IBoilHandler
|
import resonantengine.api.tile.IBoilHandler
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockMetadata
|
|
||||||
import resonantengine.lib.render.RenderUtility
|
import resonantengine.lib.render.RenderUtility
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.MathUtility
|
import resonantengine.lib.utility.MathUtility
|
||||||
import resonantengine.lib.utility.inventory.InventoryUtility
|
import resonantengine.lib.utility.inventory.InventoryUtility
|
||||||
import resonantengine.lib.wrapper.CollectionWrapper._
|
import resonantengine.lib.wrapper.CollectionWrapper._
|
||||||
import resonantengine.lib.wrapper.NBTWrapper._
|
import resonantengine.lib.wrapper.NBTWrapper._
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockMetadata
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The vertical wind turbine collects airflow.
|
* The vertical wind turbine collects airflow.
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package edx.mechanical.mech.turbine
|
package edx.mechanical.mech.turbine
|
||||||
|
|
||||||
import net.minecraft.tileentity.TileEntity
|
import net.minecraft.tileentity.TileEntity
|
||||||
import resonantengine.lib.prefab.tile.multiblock.reference.MultiBlockHandler
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.multiblock.reference.MultiBlockHandler
|
||||||
|
|
||||||
class TurbineMBlockHandler(wrapper: TileTurbine) extends MultiBlockHandler[TileTurbine](wrapper)
|
class TurbineMBlockHandler(wrapper: TileTurbine) extends MultiBlockHandler[TileTurbine](wrapper)
|
||||||
{
|
{
|
||||||
|
|
|
@ -36,10 +36,10 @@ import net.minecraftforge.fluids._
|
||||||
import net.minecraftforge.oredict.{OreDictionary, ShapelessOreRecipe}
|
import net.minecraftforge.oredict.{OreDictionary, ShapelessOreRecipe}
|
||||||
import resonantengine.api.edx.recipe.QuantumAssemblerRecipes
|
import resonantengine.api.edx.recipe.QuantumAssemblerRecipes
|
||||||
import resonantengine.api.event.PlasmaEvent
|
import resonantengine.api.event.PlasmaEvent
|
||||||
import resonantengine.api.modcontent.ExplicitContentName
|
|
||||||
import resonantengine.api.tile.IElectromagnet
|
import resonantengine.api.tile.IElectromagnet
|
||||||
import resonantengine.lib.factory.resources.block.OreGenerator
|
import resonantengine.lib.factory.resources.block.OreGenerator
|
||||||
import resonantengine.lib.grid.thermal.ThermalEvent
|
import resonantengine.lib.grid.thermal.ThermalEvent
|
||||||
|
import resonantengine.lib.modcontent.ExplicitContentName
|
||||||
import resonantengine.lib.schematic.SchematicRegistry
|
import resonantengine.lib.schematic.SchematicRegistry
|
||||||
import resonantengine.lib.transform.vector.VectorWorld
|
import resonantengine.lib.transform.vector.VectorWorld
|
||||||
import resonantengine.lib.utility.recipe.UniversalRecipe
|
import resonantengine.lib.utility.recipe.UniversalRecipe
|
||||||
|
|
|
@ -12,12 +12,12 @@ import net.minecraft.world.IBlockAccess
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import org.lwjgl.opengl.GL11._
|
import org.lwjgl.opengl.GL11._
|
||||||
import resonantengine.api.tile.IElectromagnet
|
import resonantengine.api.tile.IElectromagnet
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockMetadata
|
import resonantengine.lib.modcontent.block.ResonantBlock
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantBlock
|
|
||||||
import resonantengine.lib.render.{RenderBlockUtility, RenderUtility}
|
import resonantengine.lib.render.{RenderBlockUtility, RenderUtility}
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.WorldUtility
|
import resonantengine.lib.utility.WorldUtility
|
||||||
import resonantengine.lib.wrapper.CollectionWrapper._
|
import resonantengine.lib.wrapper.CollectionWrapper._
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockMetadata
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Electromagnet block
|
* Electromagnet block
|
||||||
|
|
|
@ -5,7 +5,7 @@ import net.minecraft.block.material.Material
|
||||||
import net.minecraft.entity.player.EntityPlayer
|
import net.minecraft.entity.player.EntityPlayer
|
||||||
import net.minecraft.world.World
|
import net.minecraft.world.World
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantBlock
|
import resonantengine.lib.modcontent.block.ResonantBlock
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -15,10 +15,10 @@ import org.lwjgl.opengl.GL11
|
||||||
import org.lwjgl.opengl.GL11._
|
import org.lwjgl.opengl.GL11._
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.prefab.tile.traits.TRotatable
|
|
||||||
import resonantengine.lib.render.RenderUtility
|
import resonantengine.lib.render.RenderUtility
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.traits.TRotatable
|
||||||
|
|
||||||
import scala.collection.convert.wrapAll._
|
import scala.collection.convert.wrapAll._
|
||||||
|
|
||||||
|
|
|
@ -13,10 +13,10 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import org.lwjgl.opengl.GL11._
|
import org.lwjgl.opengl.GL11._
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.prefab.tile.traits.TRotatable
|
|
||||||
import resonantengine.lib.render.RenderUtility
|
import resonantengine.lib.render.RenderUtility
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.traits.TRotatable
|
||||||
|
|
||||||
import scala.collection.convert.wrapAll._
|
import scala.collection.convert.wrapAll._
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import net.minecraft.entity.EntityLivingBase
|
||||||
import net.minecraft.entity.player.EntityPlayer
|
import net.minecraft.entity.player.EntityPlayer
|
||||||
import net.minecraft.item.ItemStack
|
import net.minecraft.item.ItemStack
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -9,7 +9,7 @@ import net.minecraft.util.IIcon
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import net.minecraftforge.fluids._
|
import net.minecraftforge.fluids._
|
||||||
import resonantengine.api.tile.IBoilHandler
|
import resonantengine.api.tile.IBoilHandler
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funnel for gas.
|
* Funnel for gas.
|
||||||
|
|
|
@ -13,14 +13,14 @@ import net.minecraft.nbt.NBTTagCompound
|
||||||
import net.minecraft.util.IIcon
|
import net.minecraft.util.IIcon
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.api.tile.{IElectromagnet, IRotatable}
|
import resonantengine.api.tile.{IElectromagnet, IRotatable}
|
||||||
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
import resonantengine.lib.content.prefab.TInventory
|
import resonantengine.lib.content.prefab.TInventory
|
||||||
import resonantengine.lib.grid.energy.EnergyStorage
|
import resonantengine.lib.grid.energy.EnergyStorage
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.prefab.tile.traits.TEnergyProvider
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.BlockUtility
|
import resonantengine.lib.utility.BlockUtility
|
||||||
|
import resonantengine.prefab.block.traits.TEnergyProvider
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
import scala.collection.JavaConversions._
|
import scala.collection.JavaConversions._
|
||||||
|
|
||||||
|
|
|
@ -12,14 +12,14 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import net.minecraftforge.fluids._
|
import net.minecraftforge.fluids._
|
||||||
import resonantengine.api.network.IPacketReceiver
|
import resonantengine.api.network.IPacketReceiver
|
||||||
import resonantengine.core.ResonantEngine
|
import resonantengine.core.ResonantEngine
|
||||||
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
import resonantengine.lib.content.prefab.{TIO, TInventory}
|
import resonantengine.lib.content.prefab.{TIO, TInventory}
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.EnergyStorage
|
import resonantengine.lib.grid.energy.EnergyStorage
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.prefab.tile.traits.{TEnergyProvider, TRotatable}
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.traits.{TEnergyProvider, TRotatable}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Nuclear boiler TileEntity
|
* Nuclear boiler TileEntity
|
||||||
|
|
|
@ -12,15 +12,15 @@ import net.minecraft.tileentity.TileEntity
|
||||||
import net.minecraftforge.common.util.ForgeDirection
|
import net.minecraftforge.common.util.ForgeDirection
|
||||||
import net.minecraftforge.fluids._
|
import net.minecraftforge.fluids._
|
||||||
import resonantengine.api.network.IPacketReceiver
|
import resonantengine.api.network.IPacketReceiver
|
||||||
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
import resonantengine.lib.content.prefab.{TIO, TInventory}
|
import resonantengine.lib.content.prefab.{TIO, TInventory}
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.EnergyStorage
|
import resonantengine.lib.grid.energy.EnergyStorage
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.mod.compat.energy.Compatibility
|
import resonantengine.lib.mod.compat.energy.Compatibility
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.prefab.tile.traits.{TEnergyProvider, TRotatable}
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.traits.{TEnergyProvider, TRotatable}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Centrifuge TileEntity
|
* Centrifuge TileEntity
|
||||||
|
|
|
@ -11,8 +11,8 @@ import net.minecraftforge.fluids._
|
||||||
import resonantengine.lib.content.prefab.TIO
|
import resonantengine.lib.content.prefab.TIO
|
||||||
import resonantengine.lib.grid.energy.EnergyStorage
|
import resonantengine.lib.grid.energy.EnergyStorage
|
||||||
import resonantengine.lib.mod.compat.energy.Compatibility
|
import resonantengine.lib.mod.compat.energy.Compatibility
|
||||||
import resonantengine.lib.prefab.tile.traits.{TEnergyProvider, TRotatable}
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.traits.{TEnergyProvider, TRotatable}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Chemical extractor TileEntity
|
* Chemical extractor TileEntity
|
||||||
|
|
|
@ -6,7 +6,7 @@ import net.minecraftforge.fluids.{FluidContainerRegistry, FluidStack, FluidTank}
|
||||||
import resonantengine.api.edx.recipe.{MachineRecipes, RecipeResource}
|
import resonantengine.api.edx.recipe.{MachineRecipes, RecipeResource}
|
||||||
import resonantengine.lib.content.prefab.TInventory
|
import resonantengine.lib.content.prefab.TInventory
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* General class for all machines that do traditional recipe processing
|
* General class for all machines that do traditional recipe processing
|
||||||
|
|
|
@ -2,8 +2,8 @@ package edx.quantum.machine.fulmination
|
||||||
|
|
||||||
import net.minecraft.block.material.Material
|
import net.minecraft.block.material.Material
|
||||||
import resonantengine.lib.grid.energy.EnergyStorage
|
import resonantengine.lib.grid.energy.EnergyStorage
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.prefab.tile.traits.TEnergyProvider
|
import resonantengine.prefab.block.traits.TEnergyProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fulmination TileEntity
|
* Fulmination TileEntity
|
||||||
|
|
|
@ -14,7 +14,7 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import resonantengine.api.event.PlasmaEvent
|
import resonantengine.api.event.PlasmaEvent
|
||||||
import resonantengine.lib.grid.thermal.GridThermal
|
import resonantengine.lib.grid.thermal.GridThermal
|
||||||
import resonantengine.lib.mod.config.Config
|
import resonantengine.lib.mod.config.Config
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
|
||||||
object TilePlasma
|
object TilePlasma
|
||||||
|
|
|
@ -13,16 +13,16 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import net.minecraftforge.fluids._
|
import net.minecraftforge.fluids._
|
||||||
import resonantengine.api.network.IPacketReceiver
|
import resonantengine.api.network.IPacketReceiver
|
||||||
import resonantengine.core.ResonantEngine
|
import resonantengine.core.ResonantEngine
|
||||||
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.EnergyStorage
|
import resonantengine.lib.grid.energy.EnergyStorage
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.mod.config.Config
|
import resonantengine.lib.mod.config.Config
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.prefab.tile.traits.TEnergyProvider
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.science.UnitDisplay
|
import resonantengine.lib.utility.science.UnitDisplay
|
||||||
import resonantengine.lib.utility.{FluidUtility, LanguageUtility}
|
import resonantengine.lib.utility.{FluidUtility, LanguageUtility}
|
||||||
|
import resonantengine.prefab.block.traits.TEnergyProvider
|
||||||
|
|
||||||
object TilePlasmaHeater
|
object TilePlasmaHeater
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,14 +10,14 @@ import net.minecraft.item.{Item, ItemStack}
|
||||||
import net.minecraft.nbt.NBTTagCompound
|
import net.minecraft.nbt.NBTTagCompound
|
||||||
import resonantengine.api.edx.recipe.QuantumAssemblerRecipes
|
import resonantengine.api.edx.recipe.QuantumAssemblerRecipes
|
||||||
import resonantengine.api.network.IPacketReceiver
|
import resonantengine.api.network.IPacketReceiver
|
||||||
|
import resonantengine.core.network.discriminator.{PacketTile, PacketType}
|
||||||
import resonantengine.lib.content.prefab.TInventory
|
import resonantengine.lib.content.prefab.TInventory
|
||||||
import resonantengine.lib.grid.core.TBlockNodeProvider
|
import resonantengine.lib.grid.core.TBlockNodeProvider
|
||||||
import resonantengine.lib.grid.energy.EnergyStorage
|
import resonantengine.lib.grid.energy.EnergyStorage
|
||||||
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
import resonantengine.lib.grid.energy.electric.NodeElectricComponent
|
||||||
import resonantengine.lib.network.discriminator.{PacketTile, PacketType}
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.prefab.tile.traits.TEnergyProvider
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
|
import resonantengine.prefab.block.traits.TEnergyProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Atomic assembler of items *
|
* Atomic assembler of items *
|
||||||
|
|
|
@ -8,11 +8,11 @@ import net.minecraft.item.ItemStack
|
||||||
import net.minecraft.nbt.NBTTagCompound
|
import net.minecraft.nbt.NBTTagCompound
|
||||||
import net.minecraft.util.ChatComponentText
|
import net.minecraft.util.ChatComponentText
|
||||||
import net.minecraft.world.World
|
import net.minecraft.world.World
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockSaved
|
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.LanguageUtility
|
import resonantengine.lib.utility.LanguageUtility
|
||||||
import resonantengine.lib.utility.nbt.NBTUtility
|
import resonantengine.lib.utility.nbt.NBTUtility
|
||||||
import resonantengine.lib.wrapper.CollectionWrapper._
|
import resonantengine.lib.wrapper.CollectionWrapper._
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockSaved
|
||||||
|
|
||||||
class ItemBlockThermometer(block: Block) extends ItemBlockSaved(block: Block)
|
class ItemBlockThermometer(block: Block) extends ItemBlockSaved(block: Block)
|
||||||
{
|
{
|
||||||
|
@ -52,19 +52,6 @@ class ItemBlockThermometer(block: Block) extends ItemBlockSaved(block: Block)
|
||||||
return itemStack
|
return itemStack
|
||||||
}
|
}
|
||||||
|
|
||||||
def setSavedCoords(itemStack: ItemStack, position: Vector3)
|
|
||||||
{
|
|
||||||
val nbt: NBTTagCompound = NBTUtility.getNBTTagCompound(itemStack)
|
|
||||||
if (position != null)
|
|
||||||
{
|
|
||||||
nbt.setTag("trackCoordinate", position.writeNBT(new NBTTagCompound))
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
nbt.removeTag("trackCoordinate")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override def onItemUse(itemStack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, par7: Int, par8: Float, par9: Float, par10: Float): Boolean =
|
override def onItemUse(itemStack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, par7: Int, par8: Float, par9: Float, par10: Float): Boolean =
|
||||||
{
|
{
|
||||||
if (player.isSneaking)
|
if (player.isSneaking)
|
||||||
|
@ -78,4 +65,17 @@ class ItemBlockThermometer(block: Block) extends ItemBlockSaved(block: Block)
|
||||||
}
|
}
|
||||||
return super.onItemUse(itemStack, player, world, x, y, z, par7, par8, par9, par10)
|
return super.onItemUse(itemStack, player, world, x, y, z, par7, par8, par9, par10)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def setSavedCoords(itemStack: ItemStack, position: Vector3)
|
||||||
|
{
|
||||||
|
val nbt: NBTTagCompound = NBTUtility.getNBTTagCompound(itemStack)
|
||||||
|
if (position != null)
|
||||||
|
{
|
||||||
|
nbt.setTag("trackCoordinate", position.writeNBT(new NBTTagCompound))
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nbt.removeTag("trackCoordinate")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -16,10 +16,10 @@ import net.minecraft.nbt.NBTTagCompound
|
||||||
import net.minecraft.util.IIcon
|
import net.minecraft.util.IIcon
|
||||||
import net.minecraft.world.IBlockAccess
|
import net.minecraft.world.IBlockAccess
|
||||||
import resonantengine.lib.grid.thermal.GridThermal
|
import resonantengine.lib.grid.thermal.GridThermal
|
||||||
import resonantengine.lib.prefab.tile.item.ItemBlockSaved
|
import resonantengine.lib.modcontent.block.ResonantTile
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantTile
|
|
||||||
import resonantengine.lib.transform.vector.{Vector3, VectorWorld}
|
import resonantengine.lib.transform.vector.{Vector3, VectorWorld}
|
||||||
import resonantengine.lib.utility.inventory.InventoryUtility
|
import resonantengine.lib.utility.inventory.InventoryUtility
|
||||||
|
import resonantengine.prefab.block.itemblock.ItemBlockSaved
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Thermometer TileEntity
|
* Thermometer TileEntity
|
||||||
|
@ -81,11 +81,6 @@ class TileThermometer extends ResonantTile(Material.piston) with SimpleComponent
|
||||||
markUpdate
|
markUpdate
|
||||||
}
|
}
|
||||||
|
|
||||||
def getThreshold: Int =
|
|
||||||
{
|
|
||||||
return threshold
|
|
||||||
}
|
|
||||||
|
|
||||||
override def configure(player: EntityPlayer, side: Int, hit: Vector3): Boolean =
|
override def configure(player: EntityPlayer, side: Int, hit: Vector3): Boolean =
|
||||||
{
|
{
|
||||||
if (player.isSneaking)
|
if (player.isSneaking)
|
||||||
|
@ -141,11 +136,6 @@ class TileThermometer extends ResonantTile(Material.piston) with SimpleComponent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def isOverThreshold: Boolean =
|
|
||||||
{
|
|
||||||
return detectedTemperature >= getThreshold
|
|
||||||
}
|
|
||||||
|
|
||||||
def setTrack(track: Vector3)
|
def setTrack(track: Vector3)
|
||||||
{
|
{
|
||||||
trackCoordinate = track
|
trackCoordinate = track
|
||||||
|
@ -195,6 +185,11 @@ class TileThermometer extends ResonantTile(Material.piston) with SimpleComponent
|
||||||
return Array[Any](this.getThreshold)
|
return Array[Any](this.getThreshold)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def getThreshold: Int =
|
||||||
|
{
|
||||||
|
return threshold
|
||||||
|
}
|
||||||
|
|
||||||
@Callback
|
@Callback
|
||||||
@Optional.Method(modid = "OpenComputers")
|
@Optional.Method(modid = "OpenComputers")
|
||||||
def isAboveWarningTemperature(context: Context, args: Arguments): Array[Any] =
|
def isAboveWarningTemperature(context: Context, args: Arguments): Array[Any] =
|
||||||
|
@ -202,6 +197,11 @@ class TileThermometer extends ResonantTile(Material.piston) with SimpleComponent
|
||||||
return Array[Any](this.isOverThreshold)
|
return Array[Any](this.isOverThreshold)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def isOverThreshold: Boolean =
|
||||||
|
{
|
||||||
|
return detectedTemperature >= getThreshold
|
||||||
|
}
|
||||||
|
|
||||||
@Callback
|
@Callback
|
||||||
@Optional.Method(modid = "OpenComputers")
|
@Optional.Method(modid = "OpenComputers")
|
||||||
def setWarningTemperature(context: Context, args: Arguments): Array[Any] =
|
def setWarningTemperature(context: Context, args: Arguments): Array[Any] =
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package edx.quantum.reactor
|
package edx.quantum.reactor
|
||||||
|
|
||||||
import net.minecraft.block.material.Material
|
import net.minecraft.block.material.Material
|
||||||
import resonantengine.lib.prefab.tile.spatial.ResonantBlock
|
import resonantengine.lib.modcontent.block.ResonantBlock
|
||||||
import resonantengine.lib.transform.region.Cuboid
|
import resonantengine.lib.transform.region.Cuboid
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -21,14 +21,14 @@ import net.minecraftforge.common.util.ForgeDirection
|
||||||
import org.lwjgl.opengl.GL11
|
import org.lwjgl.opengl.GL11
|
||||||
import resonantengine.api.edx.machine.{IReactor, IReactorComponent}
|
import resonantengine.api.edx.machine.{IReactor, IReactorComponent}
|
||||||
import resonantengine.lib.grid.thermal.{GridThermal, ThermalPhysics}
|
import resonantengine.lib.grid.thermal.{GridThermal, ThermalPhysics}
|
||||||
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
|
||||||
import resonantengine.lib.prefab.poison.PoisonRadiation
|
import resonantengine.lib.prefab.poison.PoisonRadiation
|
||||||
import resonantengine.lib.prefab.tile.mixed.TileInventory
|
|
||||||
import resonantengine.lib.prefab.tile.multiblock.reference.{IMultiBlockStructure, MultiBlockHandler}
|
|
||||||
import resonantengine.lib.render.RenderUtility
|
import resonantengine.lib.render.RenderUtility
|
||||||
import resonantengine.lib.render.model.ModelCube
|
import resonantengine.lib.render.model.ModelCube
|
||||||
import resonantengine.lib.transform.vector.Vector3
|
import resonantengine.lib.transform.vector.Vector3
|
||||||
import resonantengine.lib.utility.inventory.InventoryUtility
|
import resonantengine.lib.utility.inventory.InventoryUtility
|
||||||
|
import resonantengine.prefab.block.mixed.TileInventory
|
||||||
|
import resonantengine.prefab.block.multiblock.reference.{IMultiBlockStructure, MultiBlockHandler}
|
||||||
|
import resonantengine.prefab.network.{TPacketReceiver, TPacketSender}
|
||||||
|
|
||||||
import scala.collection.convert.wrapAll._
|
import scala.collection.convert.wrapAll._
|
||||||
|
|
||||||
|
@ -115,8 +115,6 @@ class TileReactorCell extends TileInventory(Material.iron) with IMultiBlockStruc
|
||||||
return lowest
|
return lowest
|
||||||
}
|
}
|
||||||
|
|
||||||
override def getMultiBlock: MultiBlockHandler[TileReactorCell] = multiBlock
|
|
||||||
|
|
||||||
override def onNeighborChanged(block: Block)
|
override def onNeighborChanged(block: Block)
|
||||||
{
|
{
|
||||||
updatePositionStatus()
|
updatePositionStatus()
|
||||||
|
@ -245,6 +243,8 @@ class TileReactorCell extends TileInventory(Material.iron) with IMultiBlockStruc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override def getMultiBlock: MultiBlockHandler[TileReactorCell] = multiBlock
|
||||||
|
|
||||||
override def getWorld: World =
|
override def getWorld: World =
|
||||||
{
|
{
|
||||||
return worldObj
|
return worldObj
|
||||||
|
|
Loading…
Reference in a new issue