diff --git a/common/net/minecraft/src/buildcraft/api/liquids/LiquidManager.java b/common/net/minecraft/src/buildcraft/api/liquids/LiquidManager.java index 29173b54..e8c12e57 100644 --- a/common/net/minecraft/src/buildcraft/api/liquids/LiquidManager.java +++ b/common/net/minecraft/src/buildcraft/api/liquids/LiquidManager.java @@ -18,6 +18,15 @@ public class LiquidManager { return null; } + + public static int getLiquidIDForFilledItem(ItemStack filledItem) { + LiquidStack liquidForFilledItem = getLiquidForFilledItem(filledItem); + + if (liquidForFilledItem == null) + return 0; + + return liquidForFilledItem.itemID; + } public static ItemStack getFilledItemForLiquid(LiquidStack liquid) { for (LiquidData data : liquids) diff --git a/common/net/minecraft/src/buildcraft/core/TriggerLiquidContainer.java b/common/net/minecraft/src/buildcraft/core/TriggerLiquidContainer.java index a7da5891..e0c89e8d 100644 --- a/common/net/minecraft/src/buildcraft/core/TriggerLiquidContainer.java +++ b/common/net/minecraft/src/buildcraft/core/TriggerLiquidContainer.java @@ -74,7 +74,7 @@ public class TriggerLiquidContainer extends Trigger { int seachedLiquidId = 0; if (parameter != null && parameter.getItem() != null) - seachedLiquidId = LiquidManager.getLiquidForFilledItem(parameter.getItem()).itemID; + seachedLiquidId = LiquidManager.getLiquidIDForFilledItem(parameter.getItem()); LiquidSlot[] liquids = container.getLiquidSlots(); diff --git a/common/net/minecraft/src/buildcraft/energy/EngineIron.java b/common/net/minecraft/src/buildcraft/energy/EngineIron.java index 0981b8d3..c3512850 100644 --- a/common/net/minecraft/src/buildcraft/energy/EngineIron.java +++ b/common/net/minecraft/src/buildcraft/energy/EngineIron.java @@ -124,7 +124,7 @@ public class EngineIron extends Engine { super.update(); if (itemInInventory != null) { - int liquidId = LiquidManager.getLiquidForFilledItem(itemInInventory).itemID; + int liquidId = LiquidManager.getLiquidIDForFilledItem(itemInInventory); if (liquidId != 0) { if (fill(Orientations.Unknown, BuildCraftAPI.BUCKET_VOLUME, liquidId, false) == BuildCraftAPI.BUCKET_VOLUME) { diff --git a/common/net/minecraft/src/buildcraft/factory/BlockRefinery.java b/common/net/minecraft/src/buildcraft/factory/BlockRefinery.java index 4aeab666..5a249c6a 100644 --- a/common/net/minecraft/src/buildcraft/factory/BlockRefinery.java +++ b/common/net/minecraft/src/buildcraft/factory/BlockRefinery.java @@ -102,7 +102,7 @@ public class BlockRefinery extends BlockContainer { return true; } else { - int liquidId = LiquidManager.getLiquidForFilledItem(entityplayer.getCurrentEquippedItem()).itemID; + int liquidId = LiquidManager.getLiquidIDForFilledItem(entityplayer.getCurrentEquippedItem()); if (liquidId != 0) { int qty = ((TileRefinery) world.getBlockTileEntity(i, j, k)).fill(Orientations.Unknown, diff --git a/common/net/minecraft/src/buildcraft/factory/BlockTank.java b/common/net/minecraft/src/buildcraft/factory/BlockTank.java index 9c575d20..45510e60 100644 --- a/common/net/minecraft/src/buildcraft/factory/BlockTank.java +++ b/common/net/minecraft/src/buildcraft/factory/BlockTank.java @@ -92,7 +92,7 @@ public class BlockTank extends BlockContainer implements ITextureProvider { ItemStack current = entityplayer.inventory.getCurrentItem(); if (current != null) { - int liquidId = LiquidManager.getLiquidForFilledItem(current).itemID; + int liquidId = LiquidManager.getLiquidIDForFilledItem(current); TileTank tank = (TileTank) world.getBlockTileEntity(i, j, k); diff --git a/common/net/minecraft/src/buildcraft/transport/PipeTransportPower.java b/common/net/minecraft/src/buildcraft/transport/PipeTransportPower.java index 0e57fa61..3b290093 100644 --- a/common/net/minecraft/src/buildcraft/transport/PipeTransportPower.java +++ b/common/net/minecraft/src/buildcraft/transport/PipeTransportPower.java @@ -141,6 +141,9 @@ public class PipeTransportPower extends PipeTransport { if (entity instanceof TileGenericPipe) { TileGenericPipe nearbyTile = (TileGenericPipe) entity; + if (nearbyTile.pipe == null) + continue; + PipeTransportPower nearbyTransport = (PipeTransportPower) nearbyTile.pipe.transport; nearbyTransport.requestEnergy(Orientations.values()[i].reverse(), transferQuery[i]); diff --git a/common/net/minecraft/src/buildcraft/transport/TriggerPipeContents.java b/common/net/minecraft/src/buildcraft/transport/TriggerPipeContents.java index 1b26a93d..810a8c3f 100644 --- a/common/net/minecraft/src/buildcraft/transport/TriggerPipeContents.java +++ b/common/net/minecraft/src/buildcraft/transport/TriggerPipeContents.java @@ -93,7 +93,7 @@ public class TriggerPipeContents extends Trigger implements ITriggerPipe { int seachedLiquidId = 0; if (parameter != null && parameter.getItem() != null) - seachedLiquidId = LiquidManager.getLiquidForFilledItem(parameter.getItem()).itemID; + seachedLiquidId = LiquidManager.getLiquidIDForFilledItem(parameter.getItem()); if (kind == Kind.Empty) { for (LiquidBuffer b : transportLiquids.side)