Skip to content

Commit

Permalink
Implement IFluidHandler properly on all blocks.
Browse files Browse the repository at this point in the history
Should fix all ExtraCells dupe bugs.
  • Loading branch information
bonii-xx committed Sep 8, 2014
1 parent b13e2b5 commit 79b0c5e
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 3 deletions.
Expand Up @@ -263,6 +263,8 @@ public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
@Override
public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
{
if(liquid.getFluid() == resource.getFluid())
this.drain(resource.amount, doDrain);
return null;
}

Expand Down
Expand Up @@ -263,6 +263,8 @@ public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
@Override
public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
{
if(liquid.getFluid() == resource.getFluid())
this.drain(resource.amount, doDrain);
return null;
}

Expand Down
8 changes: 7 additions & 1 deletion src/main/java/tconstruct/smeltery/logic/LavaTankLogic.java
Expand Up @@ -53,7 +53,13 @@ public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
@Override
public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
{
return null;
if(tank.getFluidAmount() == 0)
return null;
if(tank.getFluid().getFluid() != resource.getFluid())
return null;

// same fluid, k
return this.drain(from, resource.amount, doDrain);
}

@Override
Expand Down
Expand Up @@ -60,10 +60,10 @@ public FluidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
@Override
public FluidStack drain (ForgeDirection from, FluidStack resource, boolean doDrain)
{
if (hasValidMaster() && canDrain(from, null))
if (hasValidMaster() && canDrain(from, resource.getFluid()))
{
SmelteryLogic smeltery = (SmelteryLogic) worldObj.getTileEntity(getMasterPosition().x, getMasterPosition().y, getMasterPosition().z);
if(resource.getFluid() == smeltery.getFluid()){
if(resource.getFluid() == smeltery.getFluid().getFluid()) {
return smeltery.drain(resource.amount, doDrain);
}
}
Expand Down

0 comments on commit 79b0c5e

Please sign in to comment.