Added in IBloodAltar and fixed a few derpy things

This commit is contained in:
Fenn 2014-06-17 15:51:58 +01:00
parent 259699dfcf
commit 3a8c6e8418
2 changed files with 94 additions and 24 deletions

View file

@ -0,0 +1,26 @@
package WayofTime.alchemicalWizardry.api.tile;
/**
* Created by Pokefenn.
*/
public interface IBloodAltar
{
public int getCapacity();
public int getCurrentBlood();
public int getTier();
public int getProgress();
public float getSacrificeMultiplier();
public float getSelfSacrificeMultiplier();
public float getOrbMultiplier();
public float getDislocationMultiplier();
public int getBufferCapacity();
}

View file

@ -1,5 +1,6 @@
package WayofTime.alchemicalWizardry.common.tileEntity; package WayofTime.alchemicalWizardry.common.tileEntity;
import WayofTime.alchemicalWizardry.api.tile.IBloodAltar;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -31,7 +32,7 @@ import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.AltarUpgradeCompone
import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars; import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFluidHandler public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFluidHandler, IBloodAltar
{ {
public static final int sizeInv = 1; public static final int sizeInv = 1;
private ItemStack[] inv; private ItemStack[] inv;
@ -353,6 +354,54 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
return capacity; return capacity;
} }
@Override
public int getCurrentBlood()
{
return getFluidAmount();
}
@Override
public int getTier()
{
return upgradeLevel;
}
@Override
public int getProgress()
{
return progress;
}
@Override
public float getSacrificeMultiplier()
{
return sacrificeEfficiencyMultiplier;
}
@Override
public float getSelfSacrificeMultiplier()
{
return selfSacrificeEfficiencyMultiplier;
}
@Override
public float getOrbMultiplier()
{
return orbCapacityMultiplier;
}
@Override
public float getDislocationMultiplier()
{
return dislocationMultiplier;
}
@Override
public int getBufferCapacity()
{
return bufferCapacity;
}
@Override @Override
public FluidTankInfo getInfo() public FluidTankInfo getInfo()
{ {
@ -393,6 +442,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
{ {
fluidInput = new FluidStack(resource, Math.min(bufferCapacity, resource.amount)); fluidInput = new FluidStack(resource, Math.min(bufferCapacity, resource.amount));
//The tile is never null, so we dont need this
if (tile != null) if (tile != null)
{ {
FluidEvent.fireEvent(new FluidEvent.FluidFillingEvent(fluidInput, tile.getWorldObj(), tile.xCoord, tile.yCoord, tile.zCoord, this)); FluidEvent.fireEvent(new FluidEvent.FluidFillingEvent(fluidInput, tile.getWorldObj(), tile.xCoord, tile.yCoord, tile.zCoord, this));
@ -417,6 +467,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
fluidInput.amount = bufferCapacity; fluidInput.amount = bufferCapacity;
} }
//Never null, so not needed :P
if (tile != null) if (tile != null)
{ {
FluidEvent.fireEvent(new FluidEvent.FluidFillingEvent(fluidInput, tile.getWorldObj(), tile.xCoord, tile.yCoord, tile.zCoord, this)); FluidEvent.fireEvent(new FluidEvent.FluidFillingEvent(fluidInput, tile.getWorldObj(), tile.xCoord, tile.yCoord, tile.zCoord, this));
@ -451,6 +502,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
fluidOutput = null; fluidOutput = null;
} }
//This is never null, so its un needed :D
if (this != null) if (this != null)
{ {
FluidEvent.fireEvent(new FluidEvent.FluidDrainingEvent(fluidOutput, this.worldObj, this.xCoord, this.yCoord, this.zCoord, this)); FluidEvent.fireEvent(new FluidEvent.FluidDrainingEvent(fluidOutput, this.worldObj, this.xCoord, this.yCoord, this.zCoord, this));
@ -513,6 +565,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
return; return;
} }
//o,o this is always true
if (worldTime % 1 == 0) if (worldTime % 1 == 0)
{ {
if (!canBeFilled) if (!canBeFilled)
@ -886,12 +939,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
@Override @Override
public boolean isItemValidForSlot(int slot, ItemStack itemstack) public boolean isItemValidForSlot(int slot, ItemStack itemstack)
{ {
if (slot == 0) return slot == 0;
{
return true;
}
return false;
} }
@Override @Override
@ -957,12 +1005,8 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui
public boolean canFill(ForgeDirection from, Fluid fluid) public boolean canFill(ForgeDirection from, Fluid fluid)
{ {
// TODO Auto-generated method stub // TODO Auto-generated method stub
if (this.fluidInput != null && this.fluid.getFluid().equals(fluidInput)) //I changed this, since fluidstack != fluid... :p dunno if it was a accident? so you might wanna check this
{ return this.fluidInput != null && this.fluid.getFluid().equals(fluidInput.getFluid());
return true;
}
return false;
} }
@Override @Override