diff --git a/buildcraft_resources/lang/buildcraft/de_DE.properties b/buildcraft_resources/lang/buildcraft/de_DE.properties index 6a507f10..7df95679 100644 --- a/buildcraft_resources/lang/buildcraft/de_DE.properties +++ b/buildcraft_resources/lang/buildcraft/de_DE.properties @@ -8,8 +8,8 @@ gui.inventory=Inventar gui.lock=Sperren gui.needed=Ben\u00f6tigt gui.unlock=\u00d6ffnen -item.bucketFuel=Eimer Benzin -item.bucketOil=Eimer \u00d6l +item.bucketFuel=Benzineimer +item.bucketOil=\u00d6l Eimer item.woodenGearItem=Holzzahnrad item.stoneGearItem=Steinzahnrad item.ironGearItem=Eisenzahnrad @@ -43,28 +43,28 @@ item.redstoneChipset.2=Goldener Redstone Chipsatz item.redstoneChipset.3=Diamantener Redstone Chipsatz item.redstoneChipset.4=Pulsierender Chipsatz item.blueprintItem=Blaupause -item.PipeItemsWood=Transportrohr (Holz) -item.PipeItemsCobblestone=Transportrohr (Pflasterstein) -item.PipeItemsStone=Transportrohr (Stein) -item.PipeItemsIron=Transportrohr (Eisen) -item.PipeItemsGold=Transportrohr (Gold) -item.PipeItemsDiamond=Transportrohr (Diamant) -item.PipeItemsObsidian=Transportrohr (Obsidian) -item.PipeLiquidsWood=Rohrleitung (Holz) -item.PipeLiquidsCobblestone=Rohrleitung (Pflasterstein) -item.PipeLiquidsStone=Rohrleitung (Stein) -item.PipeLiquidsIron=Rohrleitung (Eisen) -item.PipeLiquidsGold=Rohrleitung (Gold) -item.PipePowerWood=Energieleitung (Holz) -item.PipePowerStone=Energieleitung (Stein) -item.PipePowerGold=Energieleitung (Gold) +item.PipeItemsWood=H\u00d6lzernes Transportrohr +item.PipeItemsCobblestone=Pflasterstein Transportrohr +item.PipeItemsStone=Steineres Transportrohr +item.PipeItemsIron=Eisernes Transportrohr +item.PipeItemsGold=Goldenes Transportrohr +item.PipeItemsDiamond=Diamantenes Transportrohr +item.PipeItemsObsidian=Obsidian Transportrohr +item.PipeLiquidsWood=H\u00d6lzerne Rohrleitung +item.PipeLiquidsCobblestone=Pflasterstein Rohrleitung +item.PipeLiquidsStone=Steinere Rohrleitung +item.PipeLiquidsIron=Eiserne Rohrleitung +item.PipeLiquidsGold=Goldene Rohrleitung +item.PipePowerWood=H\u00d6lzerne Energieleitung +item.PipePowerStone=Steinere Energieleitung +item.PipePowerGold=Goldene Energieleitung item.PipeItemsStripes=Gestreiftes Rohr item.PipeStructureCobblestone=Strukturrohr tile.miningWellBlock=Minenschacht tile.plainPipeBlock=Minenrohr tile.autoWorkbenchBlock=Automatische Werkbank tile.machineBlock=Steinbruch -tile.markerBlock=Markstein +tile.markerBlock=Markierungsstein tile.fillerBlock=F\u00fcller tile.builderBlock=Konstrukteur tile.architectBlock=Architektentisch diff --git a/common/buildcraft/transport/Pipe.java b/common/buildcraft/transport/Pipe.java index 5d5901ba..8de03432 100644 --- a/common/buildcraft/transport/Pipe.java +++ b/common/buildcraft/transport/Pipe.java @@ -393,6 +393,18 @@ public abstract class Pipe implements IPipe, IDropControlInventory { public boolean hasGate() { return gate != null; } + + protected void updateNeighbors(boolean needSelf) { + if (needSelf) { + worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, BuildCraftTransport.genericPipeBlock.blockID); + } + worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord - 1, zCoord, BuildCraftTransport.genericPipeBlock.blockID); + worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord + 1, zCoord, BuildCraftTransport.genericPipeBlock.blockID); + worldObj.notifyBlocksOfNeighborChange(xCoord - 1, yCoord, zCoord, BuildCraftTransport.genericPipeBlock.blockID); + worldObj.notifyBlocksOfNeighborChange(xCoord + 1, yCoord, zCoord, BuildCraftTransport.genericPipeBlock.blockID); + worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord - 1, BuildCraftTransport.genericPipeBlock.blockID); + worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord + 1, BuildCraftTransport.genericPipeBlock.blockID); + } public void onBlockRemoval() { if (wireSet[IPipe.WireColor.Red.ordinal()]) @@ -415,6 +427,10 @@ public abstract class Pipe implements IPipe, IDropControlInventory { container.dropFacade(direction); } } + + if (broadcastRedstone) { + updateNeighbors(false); // self will update due to block id changing + } } public void setTrigger(int position, ITrigger trigger) { @@ -474,10 +490,12 @@ public abstract class Pipe implements IPipe, IDropControlInventory { triggerParameters = new ITriggerParameter[triggerParameters.length]; activatedActions = new Action[activatedActions.length]; broadcastSignal = new boolean[] { false, false, false, false }; + if (broadcastRedstone) { + updateNeighbors(true); + } broadcastRedstone = false; //worldObj.markBlockNeedsUpdate(xCoord, yCoord, zCoord); container.scheduleRenderUpdate(); - //worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, BuildCraftTransport.genericPipeBlock.blockID); } private void resolveActions() { @@ -534,8 +552,7 @@ public abstract class Pipe implements IPipe, IDropControlInventory { if (oldBroadcastRedstone != broadcastRedstone) { container.scheduleRenderUpdate(); - //worldObj.markBlockNeedsUpdate(xCoord, yCoord, zCoord); - worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, BuildCraftTransport.genericPipeBlock.blockID); + updateNeighbors(true); } for (int i = 0; i < oldBroadcastSignal.length; ++i) diff --git a/common/buildcraft/transport/pipes/PipeItemsGold.java b/common/buildcraft/transport/pipes/PipeItemsGold.java index 0390fa02..2514d144 100644 --- a/common/buildcraft/transport/pipes/PipeItemsGold.java +++ b/common/buildcraft/transport/pipes/PipeItemsGold.java @@ -36,7 +36,7 @@ public class PipeItemsGold extends Pipe implements IPipeTransportItemsHook { @Override public int getTextureIndex(Orientations direction) { - if (worldObj != null && worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) + if (broadcastRedstone || worldObj != null && worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) return 1 * 16 + 14; else return 1 * 16 + 4; @@ -66,7 +66,7 @@ public class PipeItemsGold extends Pipe implements IPipeTransportItemsHook { @Override public void entityEntered(IPipedItem item, Orientations orientation) { - if (worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) + if (broadcastRedstone || worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) item.setSpeed(Utils.pipeNormalSpeed * 20F); } diff --git a/common/buildcraft/transport/pipes/PipeItemsWood.java b/common/buildcraft/transport/pipes/PipeItemsWood.java index caabedb7..5a6faf7f 100644 --- a/common/buildcraft/transport/pipes/PipeItemsWood.java +++ b/common/buildcraft/transport/pipes/PipeItemsWood.java @@ -127,8 +127,15 @@ public class PipeItemsWood extends Pipe implements IPowerReceptor { public ItemStack[] checkExtract(IInventory inventory, boolean doRemove, Orientations from) { /// ISPECIALINVENTORY - if (inventory instanceof ISpecialInventory) - return ((ISpecialInventory) inventory).extractItem(doRemove, from, 1); + if (inventory instanceof ISpecialInventory) { + ItemStack[] stacks = ((ISpecialInventory) inventory).extractItem(doRemove, from, (int)powerProvider.getEnergyStored()); + if (stacks != null && doRemove) { + for (ItemStack stack : stacks) { + powerProvider.useEnergy(stack.stackSize, stack.stackSize, true); + } + } + return stacks; + } if (inventory instanceof ISidedInventory) { ISidedInventory sidedInv = (ISidedInventory) inventory;