Fixed #17 - Tesla not transfering power
This commit is contained in:
parent
d3bcfd9a0a
commit
d66e4dca9a
2 changed files with 18 additions and 5 deletions
|
@ -25,6 +25,7 @@ import resonantinduction.ResonantInduction;
|
||||||
import resonantinduction.api.ITesla;
|
import resonantinduction.api.ITesla;
|
||||||
import resonantinduction.base.IPacketReceiver;
|
import resonantinduction.base.IPacketReceiver;
|
||||||
import universalelectricity.compatibility.TileEntityUniversalElectrical;
|
import universalelectricity.compatibility.TileEntityUniversalElectrical;
|
||||||
|
import universalelectricity.core.electricity.ElectricityPack;
|
||||||
import universalelectricity.core.vector.Vector3;
|
import universalelectricity.core.vector.Vector3;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
@ -44,7 +45,7 @@ public class TileEntityTesla extends TileEntityUniversalElectrical implements IT
|
||||||
public final static int DEFAULT_COLOR = 12;
|
public final static int DEFAULT_COLOR = 12;
|
||||||
public final float TRANSFER_CAP = 10;
|
public final float TRANSFER_CAP = 10;
|
||||||
private int dyeID = DEFAULT_COLOR;
|
private int dyeID = DEFAULT_COLOR;
|
||||||
private boolean doTransfer = false;
|
private boolean doTransfer = true;
|
||||||
|
|
||||||
private boolean canReceive = true;
|
private boolean canReceive = true;
|
||||||
private boolean attackEntities = true;
|
private boolean attackEntities = true;
|
||||||
|
@ -74,6 +75,7 @@ public class TileEntityTesla extends TileEntityUniversalElectrical implements IT
|
||||||
@Override
|
@Override
|
||||||
public void initiate()
|
public void initiate()
|
||||||
{
|
{
|
||||||
|
super.initiate();
|
||||||
TeslaGrid.instance().register(this);
|
TeslaGrid.instance().register(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,9 +93,9 @@ public class TileEntityTesla extends TileEntityUniversalElectrical implements IT
|
||||||
{
|
{
|
||||||
this.produce();
|
this.produce();
|
||||||
|
|
||||||
// TODO: Fix client side issue. || this.worldObj.isRemote
|
if ((this.doTransfer || this.worldObj.isRemote) && this.ticks % (5 + this.worldObj.rand.nextInt(2)) == 0 && this.getEnergyStored() > 0 && !this.worldObj.isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord))
|
||||||
if (((this.doTransfer) || this.worldObj.isRemote) && this.ticks % (5 + this.worldObj.rand.nextInt(2)) == 0 && this.getEnergyStored() > 0 && !this.worldObj.isBlockIndirectlyGettingPowered(this.xCoord, this.yCoord, this.zCoord))
|
|
||||||
{
|
{
|
||||||
|
|
||||||
final TileEntityTesla topTesla = this.getTopTelsa();
|
final TileEntityTesla topTesla = this.getTopTelsa();
|
||||||
final Vector3 topTeslaVector = new Vector3(topTesla);
|
final Vector3 topTeslaVector = new Vector3(topTesla);
|
||||||
|
|
||||||
|
@ -245,10 +247,20 @@ public class TileEntityTesla extends TileEntityUniversalElectrical implements IT
|
||||||
}
|
}
|
||||||
|
|
||||||
private void transfer(ITesla tesla, float transferEnergy)
|
private void transfer(ITesla tesla, float transferEnergy)
|
||||||
|
{
|
||||||
|
if (transferEnergy > 0)
|
||||||
{
|
{
|
||||||
tesla.transfer(transferEnergy * (1 - (this.worldObj.rand.nextFloat() * 0.1f)), true);
|
tesla.transfer(transferEnergy * (1 - (this.worldObj.rand.nextFloat() * 0.1f)), true);
|
||||||
this.transfer(-transferEnergy, true);
|
this.transfer(-transferEnergy, true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float receiveElectricity(ElectricityPack receive, boolean doReceive)
|
||||||
|
{
|
||||||
|
this.doTransfer = true;
|
||||||
|
return super.receiveElectricity(receive, doReceive);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canReceive(TileEntity tileEntity)
|
public boolean canReceive(TileEntity tileEntity)
|
||||||
|
|
|
@ -55,6 +55,7 @@ public class BlockWire extends BlockConductor
|
||||||
{
|
{
|
||||||
tileEntity.setInsulated();
|
tileEntity.setInsulated();
|
||||||
tileEntity.setDye(BlockColored.getDyeFromBlock(entityPlayer.getCurrentEquippedItem().getItemDamage()));
|
tileEntity.setDye(BlockColored.getDyeFromBlock(entityPlayer.getCurrentEquippedItem().getItemDamage()));
|
||||||
|
entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, 1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue