From 3220a2e07c7d542bd52fbeb4beaeca31c37875f2 Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Fri, 3 Jan 2014 12:28:52 -0600 Subject: [PATCH] API Update. --- api | 2 +- me/cache/GridStorageCache.java | 3 +++ me/storage/AEExternalHandler.java | 18 ++++++++++-------- parts/automation/PartSharedItemBus.java | 2 +- parts/misc/PartStorageBus.java | 2 +- parts/networking/PartCable.java | 3 ++- parts/reporting/PartTerminal.java | 2 +- tile/storage/TileChest.java | 9 ++++++++- 8 files changed, 27 insertions(+), 14 deletions(-) diff --git a/api b/api index 1aa68044..bda36403 160000 --- a/api +++ b/api @@ -1 +1 @@ -Subproject commit 1aa680440944ff48b144201545f62db08ed28261 +Subproject commit bda364035f2fcae422eff6d2250354207f15a93f diff --git a/me/cache/GridStorageCache.java b/me/cache/GridStorageCache.java index f273e093..4663d705 100644 --- a/me/cache/GridStorageCache.java +++ b/me/cache/GridStorageCache.java @@ -148,6 +148,9 @@ public class GridStorageCache implements IStorageGrid { myItemNetwork = null; myFluidNetwork = null; + + itemMonitor.forceUpdate(); + fluidMonitor.forceUpdate(); } public IMEInventoryHandler getItemInventoryHandler() diff --git a/me/storage/AEExternalHandler.java b/me/storage/AEExternalHandler.java index 6ed81d37..d6ca6b06 100644 --- a/me/storage/AEExternalHandler.java +++ b/me/storage/AEExternalHandler.java @@ -3,9 +3,10 @@ package appeng.me.storage; import net.minecraft.inventory.IInventory; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.ForgeDirection; -import appeng.api.implementations.IStorageMonitorable; +import appeng.api.implementations.ITileStorageMonitorable; import appeng.api.storage.IExternalStorageHandler; import appeng.api.storage.IMEInventory; +import appeng.api.storage.IStorageMonitorable; import appeng.api.storage.StorageChannel; import appeng.api.storage.data.IAEFluidStack; import appeng.api.storage.data.IAEItemStack; @@ -17,7 +18,7 @@ public class AEExternalHandler implements IExternalStorageHandler @Override public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel channel) { - if ( channel == StorageChannel.ITEMS && te instanceof IStorageMonitorable ) + if ( channel == StorageChannel.ITEMS && te instanceof ITileStorageMonitorable ) return true; if ( channel == StorageChannel.ITEMS && te instanceof IInventory ) @@ -37,20 +38,21 @@ public class AEExternalHandler implements IExternalStorageHandler return new VoidFluidInventory( (TileCondenser) te ); } - if ( te instanceof IStorageMonitorable ) + if ( te instanceof ITileStorageMonitorable ) { - IStorageMonitorable iface = (IStorageMonitorable) te; + ITileStorageMonitorable iface = (ITileStorageMonitorable) te; + IStorageMonitorable sm = iface.getMonitorable( d ); - if ( channel == StorageChannel.ITEMS ) + if ( channel == StorageChannel.ITEMS && sm != null ) { - IMEInventory ii = iface.getItemInventory(); + IMEInventory ii = sm.getItemInventory(); if ( ii != null ) return ii; } - if ( channel == StorageChannel.FLUIDS ) + if ( channel == StorageChannel.FLUIDS && sm != null ) { - IMEInventory fi = iface.getFluidInventory(); + IMEInventory fi = sm.getFluidInventory(); if ( fi != null ) return fi; } diff --git a/parts/automation/PartSharedItemBus.java b/parts/automation/PartSharedItemBus.java index 890e02ce..db52270d 100644 --- a/parts/automation/PartSharedItemBus.java +++ b/parts/automation/PartSharedItemBus.java @@ -61,7 +61,7 @@ public abstract class PartSharedItemBus extends PartUpgradeable implements IGrid int newAdaptorHash = Platform.generateTileHash( target ); - if ( adaptorHash == newAdaptorHash ) + if ( adaptorHash == newAdaptorHash && newAdaptorHash != 0 ) return adaptor; adaptorHash = newAdaptorHash; diff --git a/parts/misc/PartStorageBus.java b/parts/misc/PartStorageBus.java index 93a29ac7..c2fa33d5 100644 --- a/parts/misc/PartStorageBus.java +++ b/parts/misc/PartStorageBus.java @@ -85,7 +85,7 @@ public class PartStorageBus extends PartBasicState implements IGridTickable, ICe int newHandlerHash = Platform.generateTileHash( target ); - if ( handlerHash == newHandlerHash ) + if ( handlerHash == newHandlerHash && handlerHash != 0 ) return handler; handlerHash = newHandlerHash; diff --git a/parts/networking/PartCable.java b/parts/networking/PartCable.java index f5187f73..a3722812 100644 --- a/parts/networking/PartCable.java +++ b/parts/networking/PartCable.java @@ -30,6 +30,7 @@ import appeng.block.AEBaseBlock; import appeng.client.texture.CableBusTextures; import appeng.client.texture.FlipableIcon; import appeng.client.texture.TaughtIcon; +import appeng.items.parts.ItemPart; import appeng.me.GridAccessException; import appeng.me.helpers.AENetworkProxy; import appeng.parts.AEBasePart; @@ -46,7 +47,7 @@ public class PartCable extends AEBasePart implements IPartCable public PartCable(Class c, ItemStack is) { super( c, is ); proxy.setIdlePowerUsage( 1.0 / 16.0 ); - proxy.myColor = AEColor.fromCable( is ); + proxy.myColor = AEColor.values()[((ItemPart) is.getItem()).varientOf( is.getItemDamage() )]; } public Icon getGlassTexture(AEColor c) diff --git a/parts/reporting/PartTerminal.java b/parts/reporting/PartTerminal.java index 60d2ee8f..6b610a63 100644 --- a/parts/reporting/PartTerminal.java +++ b/parts/reporting/PartTerminal.java @@ -3,8 +3,8 @@ package appeng.parts.reporting; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.Vec3; -import appeng.api.implementations.IStorageMonitorable; import appeng.api.storage.IMEMonitor; +import appeng.api.storage.IStorageMonitorable; import appeng.client.texture.CableBusTextures; import appeng.core.sync.GuiBridge; import appeng.me.GridAccessException; diff --git a/tile/storage/TileChest.java b/tile/storage/TileChest.java index 3523ee1c..3e460d03 100644 --- a/tile/storage/TileChest.java +++ b/tile/storage/TileChest.java @@ -35,6 +35,7 @@ import appeng.api.storage.IMEInventory; import appeng.api.storage.IMEInventoryHandler; import appeng.api.storage.IMEMonitor; import appeng.api.storage.IMEMonitorHandlerReciever; +import appeng.api.storage.IStorageMonitorable; import appeng.api.storage.MEMonitorHandler; import appeng.api.storage.StorageChannel; import appeng.api.storage.data.IAEItemStack; @@ -51,7 +52,7 @@ import appeng.tile.inventory.InvOperation; import appeng.util.Platform; import appeng.util.item.AEFluidStack; -public class TileChest extends AENetworkPowerTile implements IMEChest, IFluidHandler +public class TileChest extends AENetworkPowerTile implements IMEChest, IFluidHandler, IStorageMonitorable { static final AENoHandler noHandler = new AENoHandler(); @@ -610,6 +611,12 @@ public class TileChest extends AENetworkPowerTile implements IMEChest, IFluidHan return super.getAECurrentPower() > 1 || gridPowered; } + @Override + public IStorageMonitorable getMonitorable(ForgeDirection side) + { + return this; + } + public ItemStack getStorageType() { if ( isPowered() )