Fixed firebox and hot plate particle effects
This commit is contained in:
parent
6925e226a6
commit
eb3f9d499d
|
@ -49,6 +49,7 @@ class TileFirebox extends SpatialTile(Material.rock) with IFluidHandler with TIn
|
||||||
private var heatEnergy = 0d
|
private var heatEnergy = 0d
|
||||||
private var boiledVolume = 0
|
private var boiledVolume = 0
|
||||||
|
|
||||||
|
tickRandomly = true
|
||||||
val energy = new EnergyStorage(0)
|
val energy = new EnergyStorage(0)
|
||||||
energy.setCapacity(power)
|
energy.setCapacity(power)
|
||||||
energy.setMaxTransfer((power * 2) / 20)
|
energy.setMaxTransfer((power * 2) / 20)
|
||||||
|
@ -142,6 +143,31 @@ class TileFirebox extends SpatialTile(Material.rock) with IFluidHandler with TIn
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override def randomDisplayTick(): Unit =
|
||||||
|
{
|
||||||
|
if (isBurning)
|
||||||
|
{
|
||||||
|
val f: Float = x.toFloat + 0.5F
|
||||||
|
val f1: Float = y.toFloat + 0.0F + world.rand.nextFloat() * 6.0F / 16.0F
|
||||||
|
val f2: Float = z.toFloat + 0.5F
|
||||||
|
val f3: Float = 0.52F
|
||||||
|
val f4: Float = world.rand.nextFloat() * 0.6F - 0.3F
|
||||||
|
|
||||||
|
|
||||||
|
world.spawnParticle("smoke", (f - f3).toDouble, f1.toDouble, (f2 + f4).toDouble, 0.0D, 0.0D, 0.0D)
|
||||||
|
world.spawnParticle("flame", (f - f3).toDouble, f1.toDouble, (f2 + f4).toDouble, 0.0D, 0.0D, 0.0D)
|
||||||
|
|
||||||
|
world.spawnParticle("smoke", (f + f3).toDouble, f1.toDouble, (f2 + f4).toDouble, 0.0D, 0.0D, 0.0D)
|
||||||
|
world.spawnParticle("flame", (f + f3).toDouble, f1.toDouble, (f2 + f4).toDouble, 0.0D, 0.0D, 0.0D)
|
||||||
|
|
||||||
|
world.spawnParticle("smoke", (f + f4).toDouble, f1.toDouble, (f2 - f3).toDouble, 0.0D, 0.0D, 0.0D)
|
||||||
|
world.spawnParticle("flame", (f + f4).toDouble, f1.toDouble, (f2 - f3).toDouble, 0.0D, 0.0D, 0.0D)
|
||||||
|
|
||||||
|
world.spawnParticle("smoke", (f + f4).toDouble, f1.toDouble, (f2 + f3).toDouble, 0.0D, 0.0D, 0.0D)
|
||||||
|
world.spawnParticle("flame", (f + f4).toDouble, f1.toDouble, (f2 + f3).toDouble, 0.0D, 0.0D, 0.0D)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override def getSizeInventory = 1
|
override def getSizeInventory = 1
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -294,5 +320,4 @@ class TileFirebox extends SpatialTile(Material.rock) with IFluidHandler with TIn
|
||||||
par3List.add(new ItemStack(par1, 1, 0))
|
par3List.add(new ItemStack(par1, 1, 0))
|
||||||
par3List.add(new ItemStack(par1, 1, 1))
|
par3List.add(new ItemStack(par1, 1, 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,7 +1,5 @@
|
||||||
package resonantinduction.archaic.firebox
|
package resonantinduction.archaic.firebox
|
||||||
|
|
||||||
import java.util.{ArrayList, List}
|
|
||||||
|
|
||||||
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
||||||
import io.netty.buffer.ByteBuf
|
import io.netty.buffer.ByteBuf
|
||||||
import net.minecraft.block.material.Material
|
import net.minecraft.block.material.Material
|
||||||
|
@ -15,10 +13,11 @@ import net.minecraft.world.IBlockAccess
|
||||||
import resonant.content.spatial.block.SpatialBlock
|
import resonant.content.spatial.block.SpatialBlock
|
||||||
import resonant.lib.content.prefab.java.TileInventory
|
import resonant.lib.content.prefab.java.TileInventory
|
||||||
import resonant.lib.network.ByteBufWrapper._
|
import resonant.lib.network.ByteBufWrapper._
|
||||||
import resonant.lib.network.discriminator.{PacketTile, PacketType}
|
import resonant.lib.network.discriminator.PacketType
|
||||||
import resonant.lib.network.handle.{TPacketReceiver, TPacketSender}
|
import resonant.lib.network.handle.{TPacketReceiver, TPacketSender}
|
||||||
import resonant.lib.transform.region.Cuboid
|
import resonant.lib.transform.region.Cuboid
|
||||||
import resonant.lib.transform.vector.{Vector2, Vector3}
|
import resonant.lib.transform.vector.{Vector2, Vector3}
|
||||||
|
import resonant.lib.wrapper.RandomWrapper._
|
||||||
import resonantinduction.core.Reference
|
import resonantinduction.core.Reference
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -33,14 +32,15 @@ object TileHotPlate
|
||||||
|
|
||||||
class TileHotPlate extends TileInventory(Material.iron) with TPacketSender with TPacketReceiver
|
class TileHotPlate extends TileInventory(Material.iron) with TPacketSender with TPacketReceiver
|
||||||
{
|
{
|
||||||
final val smeltTime: Array[Int] = Array[Int](0, 0, 0, 0)
|
final val smeltTime = Array[Int](0, 0, 0, 0)
|
||||||
final val stackSizeCache: Array[Int] = Array[Int](0, 0, 0, 0)
|
final val stackSizeCache = Array[Int](0, 0, 0, 0)
|
||||||
|
|
||||||
//Constructor
|
//Constructor
|
||||||
setSizeInventory(4)
|
setSizeInventory(4)
|
||||||
bounds = new Cuboid(0, 0, 0, 1, 0.2f, 1)
|
bounds = new Cuboid(0, 0, 0, 1, 0.2f, 1)
|
||||||
forceItemToRenderAsBlock = true
|
forceItemToRenderAsBlock = true
|
||||||
isOpaqueCube = false
|
isOpaqueCube = false
|
||||||
|
tickRandomly = true
|
||||||
|
|
||||||
override def update()
|
override def update()
|
||||||
{
|
{
|
||||||
|
@ -63,14 +63,15 @@ class TileHotPlate extends TileInventory(Material.iron) with TPacketSender with
|
||||||
else if (smeltTime(i) > 0)
|
else if (smeltTime(i) > 0)
|
||||||
{
|
{
|
||||||
smeltTime(i) -= 1
|
smeltTime(i) -= 1
|
||||||
|
|
||||||
if (smeltTime(i) == 0)
|
if (smeltTime(i) == 0)
|
||||||
{
|
{
|
||||||
if (!worldObj.isRemote)
|
if (!worldObj.isRemote)
|
||||||
{
|
{
|
||||||
val outputStack: ItemStack = FurnaceRecipes.smelting.getSmeltingResult(getStackInSlot(i)).copy
|
val outputStack = FurnaceRecipes.smelting.getSmeltingResult(getStackInSlot(i)).copy
|
||||||
outputStack.stackSize = stackSizeCache(i)
|
outputStack.stackSize = stackSizeCache(i)
|
||||||
setInventorySlotContents(i, outputStack)
|
setInventorySlotContents(i, outputStack)
|
||||||
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord)
|
markUpdate()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,6 +85,25 @@ class TileHotPlate extends TileInventory(Material.iron) with TPacketSender with
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override def randomDisplayTick()
|
||||||
|
{
|
||||||
|
val height = 0.2
|
||||||
|
val deviation = 0.2
|
||||||
|
|
||||||
|
(0 until 4).foreach(
|
||||||
|
i =>
|
||||||
|
{
|
||||||
|
if (smeltTime(0) > 0)
|
||||||
|
world.spawnParticle("smoke", x + 0.5 - deviation + world.rand.deviate(0.1), y + height, z + 0.5 - deviation + world.rand.deviate(0.1), 0.0D, 0.0D, 0.0D)
|
||||||
|
if (smeltTime(1) > 0)
|
||||||
|
world.spawnParticle("smoke", x + 0.5 - deviation + world.rand.deviate(0.1), y + height, z + 0.5 + deviation + world.rand.deviate(0.1), 0.0D, 0.0D, 0.0D)
|
||||||
|
if (smeltTime(2) > 0)
|
||||||
|
world.spawnParticle("smoke", x + 0.5 + deviation + world.rand.deviate(0.1), y + height, z + 0.5 - deviation + world.rand.deviate(0.1), 0.0D, 0.0D, 0.0D)
|
||||||
|
if (smeltTime(3) > 0)
|
||||||
|
world.spawnParticle("smoke", x + 0.5 + deviation + world.rand.deviate(0.1), y + height, z + 0.5 + deviation + world.rand.deviate(0.1), 0.0D, 0.0D, 0.0D)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
override def onInventoryChanged()
|
override def onInventoryChanged()
|
||||||
{
|
{
|
||||||
for (i <- 0 until getSizeInventory)
|
for (i <- 0 until getSizeInventory)
|
||||||
|
@ -124,25 +144,9 @@ class TileHotPlate extends TileInventory(Material.iron) with TPacketSender with
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
def canSmelt(stack: ItemStack): Boolean =
|
def canSmelt(stack: ItemStack): Boolean = stack != null && FurnaceRecipes.smelting.getSmeltingResult(stack) != null
|
||||||
{
|
|
||||||
return stack != null && FurnaceRecipes.smelting.getSmeltingResult(stack) != null
|
|
||||||
}
|
|
||||||
|
|
||||||
def isSmelting: Boolean =
|
def isSmelting: Boolean = (0 until getSizeInventory).exists(getSmeltTime(_) > 0)
|
||||||
{
|
|
||||||
|
|
||||||
for (i <- 0 until getSizeInventory)
|
|
||||||
{
|
|
||||||
if (getSmeltTime(i) > 0)
|
|
||||||
{
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
def getSmeltTime(i: Int): Int =
|
def getSmeltTime(i: Int): Int =
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,7 +42,7 @@ class TileThermometer extends TileAdvanced(Material.piston) with SimpleComponent
|
||||||
@Synced private var isProvidingPower: Boolean = false
|
@Synced private var isProvidingPower: Boolean = false
|
||||||
|
|
||||||
//Constructor
|
//Constructor
|
||||||
canProvidePower = true
|
providePower = true
|
||||||
normalRender = false
|
normalRender = false
|
||||||
renderStaticBlock = true
|
renderStaticBlock = true
|
||||||
itemBlock = classOf[ItemBlockThermometer]
|
itemBlock = classOf[ItemBlockThermometer]
|
||||||
|
|
Loading…
Reference in a new issue