Merge branch 'master' of https://bitbucket.org/AlgorithmX2/appliedenergistics2 into rv1
This commit is contained in:
commit
883292a7b1
9 changed files with 36 additions and 16 deletions
|
@ -319,6 +319,7 @@ public class BC extends BaseModule implements IBC
|
||||||
if ( blk == null || blk.length < 1 )
|
if ( blk == null || blk.length < 1 )
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
if ( blk[0] != null )
|
||||||
return new ItemStack( blk[0], 1, meta[0] );
|
return new ItemStack( blk[0], 1, meta[0] );
|
||||||
}
|
}
|
||||||
catch (Throwable t)
|
catch (Throwable t)
|
||||||
|
@ -329,6 +330,7 @@ public class BC extends BaseModule implements IBC
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Block blk = ItemFacade.getBlock( facade );
|
Block blk = ItemFacade.getBlock( facade );
|
||||||
|
if ( blk != null )
|
||||||
return new ItemStack( blk, 1, ItemFacade.getMetaData( facade ) );
|
return new ItemStack( blk, 1, ItemFacade.getMetaData( facade ) );
|
||||||
}
|
}
|
||||||
catch (Throwable t)
|
catch (Throwable t)
|
||||||
|
|
|
@ -9,6 +9,7 @@ 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;
|
||||||
import net.minecraft.item.ItemBlock;
|
import net.minecraft.item.ItemBlock;
|
||||||
|
import net.minecraft.item.ItemSkull;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
@ -33,6 +34,7 @@ import appeng.api.networking.security.BaseActionSource;
|
||||||
import appeng.api.parts.IPart;
|
import appeng.api.parts.IPart;
|
||||||
import appeng.api.parts.IPartCollsionHelper;
|
import appeng.api.parts.IPartCollsionHelper;
|
||||||
import appeng.api.parts.IPartHost;
|
import appeng.api.parts.IPartHost;
|
||||||
|
import appeng.api.parts.IPartItem;
|
||||||
import appeng.api.parts.IPartRenderHelper;
|
import appeng.api.parts.IPartRenderHelper;
|
||||||
import appeng.api.storage.ICellContainer;
|
import appeng.api.storage.ICellContainer;
|
||||||
import appeng.api.storage.IMEInventory;
|
import appeng.api.storage.IMEInventory;
|
||||||
|
@ -379,7 +381,7 @@ public class PartFormationPlane extends PartUpgradeable implements ICellContaine
|
||||||
|
|
||||||
if ( w.getBlock( x, y, z ).isReplaceable( w, x, y, z ) )
|
if ( w.getBlock( x, y, z ).isReplaceable( w, x, y, z ) )
|
||||||
{
|
{
|
||||||
if ( i instanceof ItemBlock || i instanceof IPlantable )
|
if ( i instanceof ItemBlock || i instanceof IPlantable || i instanceof ItemSkull || i instanceof IPartItem )
|
||||||
{
|
{
|
||||||
EntityPlayer player = Platform.getPlayer( (WorldServer) w );
|
EntityPlayer player = Platform.getPlayer( (WorldServer) w );
|
||||||
Platform.configurePlayer( player, side, tile );
|
Platform.configurePlayer( player, side, tile );
|
||||||
|
@ -388,7 +390,7 @@ public class PartFormationPlane extends PartUpgradeable implements ICellContaine
|
||||||
worked = true;
|
worked = true;
|
||||||
if ( type == Actionable.MODULATE )
|
if ( type == Actionable.MODULATE )
|
||||||
{
|
{
|
||||||
if ( i instanceof IPlantable )
|
if ( i instanceof IPlantable || i instanceof ItemSkull )
|
||||||
{
|
{
|
||||||
boolean Worked = false;
|
boolean Worked = false;
|
||||||
|
|
||||||
|
@ -396,13 +398,15 @@ public class PartFormationPlane extends PartUpgradeable implements ICellContaine
|
||||||
Worked = i.onItemUse( is, player, w, x + side.offsetX, y + side.offsetY, z + side.offsetZ, side.getOpposite().ordinal(),
|
Worked = i.onItemUse( is, player, w, x + side.offsetX, y + side.offsetY, z + side.offsetZ, side.getOpposite().ordinal(),
|
||||||
side.offsetX, side.offsetY, side.offsetZ );
|
side.offsetX, side.offsetY, side.offsetZ );
|
||||||
|
|
||||||
|
if ( Worked == false && side.offsetX == 0 && side.offsetZ == 0 )
|
||||||
|
Worked = i.onItemUse( is, player, w, x-side.offsetX, y-side.offsetY, z-side.offsetZ, side.ordinal(), side.offsetX, side.offsetY, side.offsetZ );
|
||||||
|
|
||||||
if ( Worked == false && side.offsetY == 0 )
|
if ( Worked == false && side.offsetY == 0 )
|
||||||
Worked = i.onItemUse( is, player, w, x, y - 1, z, ForgeDirection.UP.ordinal(), side.offsetX, side.offsetY, side.offsetZ );
|
Worked = i.onItemUse( is, player, w, x, y - 1, z, ForgeDirection.UP.ordinal(), side.offsetX, side.offsetY, side.offsetZ );
|
||||||
|
|
||||||
if ( Worked == false )
|
if ( Worked == false )
|
||||||
Worked = i.onItemUse( is, player, w, x, y, z, side.getOpposite().ordinal(), side.offsetX, side.offsetY, side.offsetZ );
|
Worked = i.onItemUse( is, player, w, x, y, z, side.getOpposite().ordinal(), side.offsetX, side.offsetY, side.offsetZ );
|
||||||
|
|
||||||
if ( Worked )
|
|
||||||
maxStorage = maxStorage - is.stackSize;
|
maxStorage = maxStorage - is.stackSize;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class TileController extends AENetworkPowerTile implements IAEPowerStorag
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected double getFunnelPowerDemand()
|
protected double getFunnelPowerDemand(double maxRecived)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -48,7 +48,7 @@ public class TileController extends AENetworkPowerTile implements IAEPowerStorag
|
||||||
catch (GridAccessException e)
|
catch (GridAccessException e)
|
||||||
{
|
{
|
||||||
// no grid? use local...
|
// no grid? use local...
|
||||||
return super.getFunnelPowerDemand();
|
return super.getFunnelPowerDemand( maxRecived );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,20 @@ public class TileEnergyAcceptor extends AENetworkPowerTile
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected double getFunnelPowerDemand(double maxRequired)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IEnergyGrid grid = gridProxy.getEnergy();
|
||||||
|
return grid.getEnergyDemand( maxRequired );
|
||||||
|
}
|
||||||
|
catch (GridAccessException e)
|
||||||
|
{
|
||||||
|
return super.getFunnelPowerDemand( maxRequired );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected double funnelPowerIntoStorage(double newPower, Actionable mode)
|
protected double funnelPowerIntoStorage(double newPower, Actionable mode)
|
||||||
{
|
{
|
||||||
|
|
|
@ -65,12 +65,12 @@ public abstract class AERootPoweredTile extends AEBaseInvTile implements IAEPowe
|
||||||
addNewHandler( new AEPoweredRootHandler() );
|
addNewHandler( new AEPoweredRootHandler() );
|
||||||
}
|
}
|
||||||
|
|
||||||
final protected double getExternalPowerDemand(PowerUnits externalUnit)
|
final protected double getExternalPowerDemand(PowerUnits externalUnit, double maxPowerRequired)
|
||||||
{
|
{
|
||||||
return PowerUnits.AE.convertTo( externalUnit, Math.max( 0.0, getFunnelPowerDemand() ) );
|
return PowerUnits.AE.convertTo( externalUnit, Math.max( 0.0, getFunnelPowerDemand( externalUnit.convertTo( PowerUnits.AE, maxPowerRequired ) ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
protected double getFunnelPowerDemand()
|
protected double getFunnelPowerDemand(double maxRequired)
|
||||||
{
|
{
|
||||||
return internalMaxPower - internalCurrentPower;
|
return internalMaxPower - internalCurrentPower;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ public abstract class IC2 extends MinecraftJoules6 implements IEnergySink
|
||||||
@Override
|
@Override
|
||||||
final public double demandedEnergyUnits()
|
final public double demandedEnergyUnits()
|
||||||
{
|
{
|
||||||
return getExternalPowerDemand( PowerUnits.EU );
|
return getExternalPowerDemand( PowerUnits.EU, Double.MAX_VALUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -55,7 +55,7 @@ public abstract class MinecraftJoules5 extends AERootPoweredTile implements IPow
|
||||||
@Method(iname = "MJ5")
|
@Method(iname = "MJ5")
|
||||||
final public void doWork(PowerHandler workProvider)
|
final public void doWork(PowerHandler workProvider)
|
||||||
{
|
{
|
||||||
float requred = (float) getExternalPowerDemand( PowerUnits.MJ );
|
float requred = (float) getExternalPowerDemand( PowerUnits.MJ, bcPowerWrapper.getPowerReceiver().getEnergyStored() );
|
||||||
double failed = injectExternalPower( PowerUnits.MJ, bcPowerWrapper.useEnergy( 0.0f, requred, true ) );
|
double failed = injectExternalPower( PowerUnits.MJ, bcPowerWrapper.useEnergy( 0.0f, requred, true ) );
|
||||||
if ( failed > 0.01 )
|
if ( failed > 0.01 )
|
||||||
bcPowerWrapper.addEnergy( (float) failed );
|
bcPowerWrapper.addEnergy( (float) failed );
|
||||||
|
|
|
@ -23,7 +23,7 @@ public abstract class MinecraftJoules6 extends MinecraftJoules5 implements IBatt
|
||||||
@Method(iname = "MJ6")
|
@Method(iname = "MJ6")
|
||||||
public double getEnergyRequested()
|
public double getEnergyRequested()
|
||||||
{
|
{
|
||||||
return getExternalPowerDemand( PowerUnits.MJ );
|
return getExternalPowerDemand( PowerUnits.MJ, Double.MAX_VALUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -14,14 +14,14 @@ public abstract class RedstoneFlux extends RotaryCraft implements IEnergyHandler
|
||||||
{
|
{
|
||||||
if ( simulate )
|
if ( simulate )
|
||||||
{
|
{
|
||||||
double demand = getExternalPowerDemand( PowerUnits.RF );
|
double demand = getExternalPowerDemand( PowerUnits.RF, maxReceive );
|
||||||
if ( demand > maxReceive )
|
if ( demand > maxReceive )
|
||||||
return maxReceive;
|
return maxReceive;
|
||||||
return (int) Math.floor( maxReceive - demand );
|
return (int) Math.floor( maxReceive - demand );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int demand = (int) Math.floor( getExternalPowerDemand( PowerUnits.RF ) );
|
int demand = (int) Math.floor( getExternalPowerDemand( PowerUnits.RF, maxReceive ) );
|
||||||
|
|
||||||
int ignored = 0;
|
int ignored = 0;
|
||||||
int insertAmt = maxReceive;
|
int insertAmt = maxReceive;
|
||||||
|
|
Loading…
Reference in a new issue