Moved particle vel var to particle class and fixed a few issues not caught by the IDE
This commit is contained in:
parent
1f54eee5b2
commit
621b557129
3 changed files with 16 additions and 14 deletions
|
@ -24,6 +24,11 @@ import scala.collection.JavaConversions._
|
|||
*/
|
||||
object EntityParticle
|
||||
{
|
||||
/**
|
||||
* User client side to determine the velocity of the particle.
|
||||
*/
|
||||
val clientParticleVelocity: Float = 0.9f
|
||||
|
||||
def canSpawnParticle(world: World, pos: Vector3): Boolean =
|
||||
{
|
||||
val block: Block = pos.getBlock(world)
|
||||
|
@ -100,7 +105,7 @@ class EntityParticle(par1World: World) extends Entity(par1World) with IEntityAdd
|
|||
{
|
||||
if (this.ticksExisted % 10 == 0)
|
||||
{
|
||||
this.worldObj.playSoundAtEntity(this, Reference.prefix + "accelerator", 1f, (0.6f + (0.4 * (this.getParticleVelocity / TileAccelerator.clientParticleVelocity))).asInstanceOf[Float])
|
||||
this.worldObj.playSoundAtEntity(this, Reference.prefix + "accelerator", 1f, (0.6f + (0.4 * (this.getParticleVelocity / EntityParticle.clientParticleVelocity))).asInstanceOf[Float])
|
||||
}
|
||||
val t: TileEntity = this.worldObj.getTileEntity(this.movementVector.xi, this.movementVector.yi, this.movementVector.zi)
|
||||
if (!(t.isInstanceOf[TileAccelerator]))
|
||||
|
@ -157,9 +162,9 @@ class EntityParticle(par1World: World) extends Entity(par1World) with IEntityAdd
|
|||
val dongLi: Vector3 = new Vector3
|
||||
dongLi.add(this.movementDirection)
|
||||
dongLi.multiply(acceleration)
|
||||
this.motionX = Math.min(dongLi.x + this.motionX, TileAccelerator.clientParticleVelocity)
|
||||
this.motionY = Math.min(dongLi.y + this.motionY, TileAccelerator.clientParticleVelocity)
|
||||
this.motionZ = Math.min(dongLi.z + this.motionZ, TileAccelerator.clientParticleVelocity)
|
||||
this.motionX = Math.min(dongLi.x + this.motionX, EntityParticle.clientParticleVelocity)
|
||||
this.motionY = Math.min(dongLi.y + this.motionY, EntityParticle.clientParticleVelocity)
|
||||
this.motionZ = Math.min(dongLi.z + this.motionZ, EntityParticle.clientParticleVelocity)
|
||||
this.isAirBorne = true
|
||||
this.lastTickPosX = this.posX
|
||||
this.lastTickPosY = this.posY
|
||||
|
@ -218,7 +223,7 @@ class EntityParticle(par1World: World) extends Entity(par1World) with IEntityAdd
|
|||
this.worldObj.playSoundAtEntity(this, Reference.prefix + "antimatter", 1.5f, 1f - this.worldObj.rand.nextFloat * 0.3f)
|
||||
if (!this.worldObj.isRemote)
|
||||
{
|
||||
if (this.getParticleVelocity > TileAccelerator.clientParticleVelocity / 2)
|
||||
if (this.getParticleVelocity > EntityParticle.clientParticleVelocity / 2)
|
||||
{
|
||||
val radius: Float = 1f
|
||||
val bounds: AxisAlignedBB = AxisAlignedBB.getBoundingBox(this.posX - radius, this.posY - radius, this.posZ - radius, this.posX + radius, this.posY + radius, this.posZ + radius)
|
||||
|
|
|
@ -2,6 +2,7 @@ package resonantinduction.atomic.machine.accelerator
|
|||
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import resonant.lib.gui.GuiContainerBase
|
||||
import resonantinduction.core.Settings
|
||||
import universalelectricity.api.UnitDisplay
|
||||
import universalelectricity.core.transform.vector.Vector3
|
||||
|
||||
|
@ -29,10 +30,10 @@ class GuiAccelerator(player: EntityPlayer, tileEntity: TileAccelerator) extends
|
|||
{
|
||||
status = "\u00a72Idle"
|
||||
}
|
||||
this.fontRendererObj.drawString("Velocity: " + Math.round((this.tileEntity.velocity / TileAccelerator.clientParticleVelocity) * 100) + "%", 8, 27, 4210752)
|
||||
this.fontRendererObj.drawString("Velocity: " + Math.round((this.tileEntity.velocity / EntityParticle.clientParticleVelocity) * 100) + "%", 8, 27, 4210752)
|
||||
this.fontRendererObj.drawString("Energy Used:", 8, 38, 4210752)
|
||||
this.fontRendererObj.drawString(new UnitDisplay(UnitDisplay.Unit.JOULES, this.tileEntity.totalEnergyConsumed).toString, 8, 49, 4210752)
|
||||
this.fontRendererObj.drawString(new UnitDisplay(UnitDisplay.Unit.WATT, TileAccelerator.energyPerTick * 20).toString, 8, 60, 4210752)
|
||||
this.fontRendererObj.drawString(new UnitDisplay(UnitDisplay.Unit.WATT, Settings.ACCELERATOR_ENERGY_COST_PER_TICK * 20).toString, 8, 60, 4210752)
|
||||
this.fontRendererObj.drawString("N?A", 8, 70, 4210752)
|
||||
this.fontRendererObj.drawString("Antimatter: " + this.tileEntity.antimatter + " mg", 8, 80, 4210752)
|
||||
this.fontRendererObj.drawString("Status:", 8, 90, 4210752)
|
||||
|
|
|
@ -19,10 +19,6 @@ import resonantinduction.core.{Reference, Settings}
|
|||
import universalelectricity.core.transform.vector.Vector3
|
||||
class TileAccelerator extends TileElectricInventory(Material.iron) with IElectromagnet with IRotatable
|
||||
{
|
||||
/**
|
||||
* User client side to determine the velocity of the particle.
|
||||
*/
|
||||
val clientParticleVelocity: Float = 0.9f
|
||||
/**
|
||||
* Multiplier that is used to give extra anti-matter based on density (hardness) of a given ore.
|
||||
*/
|
||||
|
@ -118,7 +114,7 @@ class TileAccelerator extends TileElectricInventory(Material.iron) with IElectro
|
|||
}
|
||||
entityParticle = null
|
||||
}
|
||||
else if (velocity > clientParticleVelocity)
|
||||
else if (velocity > EntityParticle.clientParticleVelocity)
|
||||
{
|
||||
worldObj.playSoundEffect(xCoord, yCoord, zCoord, Reference.prefix + "antimatter", 2f, 1f - worldObj.rand.nextFloat * 0.3f)
|
||||
val generatedAntimatter: Int = 5 + worldObj.rand.nextInt(antiMatterDensityMultiplyer)
|
||||
|
@ -129,7 +125,7 @@ class TileAccelerator extends TileElectricInventory(Material.iron) with IElectro
|
|||
}
|
||||
if (entityParticle != null)
|
||||
{
|
||||
worldObj.playSoundEffect(xCoord, yCoord, zCoord, Reference.prefix + "accelerator", 1.5f, (0.6f + (0.4 * (entityParticle.getParticleVelocity) / clientParticleVelocity)).asInstanceOf[Float])
|
||||
worldObj.playSoundEffect(xCoord, yCoord, zCoord, Reference.prefix + "accelerator", 1.5f, (0.6f + (0.4 * (entityParticle.getParticleVelocity) / EntityParticle.clientParticleVelocity)).asInstanceOf[Float])
|
||||
}
|
||||
}
|
||||
energy.extractEnergy
|
||||
|
@ -158,7 +154,7 @@ class TileAccelerator extends TileElectricInventory(Material.iron) with IElectro
|
|||
}
|
||||
}
|
||||
|
||||
override def use(player: EntityPlayer, side: Int, hit: Vector3): Boolean =
|
||||
override def activate(player: EntityPlayer, side: Int, hit: Vector3): Boolean =
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue