Sided Inventories now properly observe their own rotation.

This commit is contained in:
AlgorithmX2
2014-03-13 21:59:37 -05:00
parent c77c48092f
commit 754d2c25d9
17 changed files with 39 additions and 30 deletions
+1 -4
View File
@@ -41,12 +41,9 @@ public class GuiInscriber extends AEBaseGui
@Override
public void drawFG(int offsetX, int offsetY, int mouseX, int mouseY)
{
int k = 25;
int l = -15;
pb.max = cvc.maxProessingTime;
pb.current = cvc.processingTime;
pb.FullMsg = ( pb.current * 100 / pb.max ) + "%";
pb.FullMsg = (pb.current * 100 / pb.max) + "%";
fontRendererObj.drawString( GuiText.Inscriber.getLocal(), 8, 6, 4210752 );
fontRendererObj.drawString( GuiText.inventory.getLocal(), 8, ySize - 96 + 3, 4210752 );
+15 -2
View File
@@ -1,10 +1,13 @@
package appeng.tile;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.block.AEBaseBlock;
import appeng.tile.events.AETileEventHandler;
import appeng.tile.events.TileEventType;
import appeng.tile.inventory.IAEAppEngInventory;
@@ -135,7 +138,17 @@ public abstract class AEBaseInvTile extends AEBaseTile implements ISidedInventor
@Override
public abstract void onChangeInventory(IInventory inv, int slot, InvOperation mc, ItemStack removed, ItemStack added);
@Override
public abstract int[] getAccessibleSlotsFromSide(int side);
public abstract int[] getAccessibleSlotsBySide(ForgeDirection whichSide);
@Override
final public int[] getAccessibleSlotsFromSide(int side)
{
Block blk = worldObj.getBlock( xCoord, yCoord, zCoord );
if ( blk instanceof AEBaseBlock )
{
ForgeDirection mySide = ForgeDirection.getOrientation( side );
return getAccessibleSlotsBySide( ((AEBaseBlock) blk).mapRotation( this, mySide ) );
}
return getAccessibleSlotsBySide( ForgeDirection.getOrientation( side ) );
}
}
+1 -1
View File
@@ -71,7 +71,7 @@ public class TileGrinder extends AEBaseInvTile implements ICrankable
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return sides;
}
+1 -1
View File
@@ -193,7 +193,7 @@ public class TileCharger extends AENetworkPowerTile implements ICrankable
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection whichSide)
{
return sides;
}
+1 -1
View File
@@ -172,7 +172,7 @@ public class TileCondenser extends AEBaseInvTile implements IAEAppEngInventory,
}
@Override
public int[] getAccessibleSlotsFromSide(int var1)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return sides;
}
+1 -3
View File
@@ -158,10 +158,8 @@ public class TileInscriber extends AENetworkPowerTile implements IGridTickable
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection d)
{
ForgeDirection d = ForgeDirection.getOrientation( side );
if ( d == ForgeDirection.UP )
return top;
+2 -2
View File
@@ -137,9 +137,9 @@ public class TileInterface extends AENetworkInvTile implements IGridTickable, IS
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return duality.getAccessibleSlotsFromSide( side );
return duality.getAccessibleSlotsFromSide( side.ordinal() );
}
@Override
+1 -1
View File
@@ -119,7 +119,7 @@ public class TileVibrationChamber extends AENetworkInvTile implements IGridTicka
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return sides;
}
+1 -1
View File
@@ -170,7 +170,7 @@ public class TileController extends AENetworkPowerTile implements IAEPowerStorag
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return sides;
}
+1 -1
View File
@@ -95,7 +95,7 @@ public class TileEnergyAcceptor extends AENetworkPowerTile
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return sides;
}
+1 -1
View File
@@ -136,7 +136,7 @@ public class TileWireless extends AENetworkInvTile
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return sides;
}
+1 -1
View File
@@ -120,7 +120,7 @@ public class TileQuantumBridge extends AENetworkInvTile implements IAEMultiBlock
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
if ( isCenter() )
return sidesLink;
+1 -1
View File
@@ -145,7 +145,7 @@ public class TileSpatialIOPort extends AENetworkInvTile implements Callable
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return sides;
}
+7 -7
View File
@@ -358,7 +358,7 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, IFluidHan
{
icell = null;
fcell = null;
ItemStack is = inv.getStackInSlot( 1 );
if ( is != null )
{
@@ -367,17 +367,17 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, IFluidHan
if ( cellHandler != null )
{
double power = 1.0;
IMEInventoryHandler<IAEItemStack> itemCell = cellHandler.getCellInventory( is, StorageChannel.ITEMS );
IMEInventoryHandler<IAEFluidStack> fluidCell = cellHandler.getCellInventory( is, StorageChannel.FLUIDS );
if ( itemCell != null )
power += cellHandler.cellIdleDrain( is, itemCell );
else if ( fluidCell != null )
power += cellHandler.cellIdleDrain( is, fluidCell );
gridProxy.setIdlePowerUsage( power );
icell = wrap( itemCell );
fcell = wrap( fluidCell );
}
@@ -487,9 +487,9 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, IFluidHan
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
if ( side == getForward().ordinal() )
if ( side == getForward() )
return front;
return sides;
}
+1 -1
View File
@@ -192,7 +192,7 @@ public class TileDrive extends AENetworkInvTile implements IChestOrDrive, IPrior
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return sides;
}
+1 -1
View File
@@ -153,7 +153,7 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return sides;
}
+2 -1
View File
@@ -6,6 +6,7 @@ import java.io.IOException;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.tile.AEBaseInvTile;
import appeng.tile.events.AETileEventHandler;
import appeng.tile.events.TileEventType;
@@ -76,7 +77,7 @@ public class TileSkyChest extends AEBaseInvTile
}
@Override
public int[] getAccessibleSlotsFromSide(int side)
public int[] getAccessibleSlotsBySide(ForgeDirection side)
{
return sides;
}