diff --git a/buildcraft_client/net/minecraft/src/buildcraft/silicon/GuiAssemblyTable.java b/buildcraft_client/net/minecraft/src/buildcraft/silicon/GuiAssemblyTable.java index 181189b4..e8ecee06 100644 --- a/buildcraft_client/net/minecraft/src/buildcraft/silicon/GuiAssemblyTable.java +++ b/buildcraft_client/net/minecraft/src/buildcraft/silicon/GuiAssemblyTable.java @@ -18,12 +18,13 @@ import net.minecraft.src.buildcraft.api.APIProxy; import net.minecraft.src.buildcraft.core.AssemblyRecipe; import net.minecraft.src.buildcraft.core.CoreProxy; import net.minecraft.src.buildcraft.core.GuiAdvancedInterface; +import net.minecraft.src.buildcraft.core.network.PacketCoordinates; import net.minecraft.src.buildcraft.core.network.PacketIds; import net.minecraft.src.buildcraft.core.network.PacketPayload; import net.minecraft.src.buildcraft.core.network.PacketUpdate; +import net.minecraft.src.buildcraft.core.utils.StringUtil; import net.minecraft.src.buildcraft.factory.TileAssemblyTable; import net.minecraft.src.buildcraft.factory.TileAssemblyTable.SelectionMessage; -import net.minecraft.src.forestry.core.utils.StringUtil; import org.lwjgl.opengl.GL11; @@ -69,6 +70,9 @@ public class GuiAssemblyTable extends GuiAdvancedInterface { } updateRecipes(); + + // Request current selection from server + CoreProxy.sendToServer(new PacketCoordinates(PacketIds.SELECTION_ASSEMBLY_GET, assemblyTable.xCoord, assemblyTable.yCoord, assemblyTable.zCoord).getPacket()); } public void updateRecipes() { @@ -154,9 +158,9 @@ public class GuiAssemblyTable extends GuiAdvancedInterface { PacketPayload payload = TileAssemblyTable.selectionMessageWrapper.toPayload(container.x, container.y,container.z, message); PacketUpdate packet = new PacketUpdate(PacketIds.SELECTION_ASSEMBLY, payload); - packet.posX = container.x; - packet.posY = container.y; - packet.posZ = container.z; + packet.posX = assemblyTable.xCoord; + packet.posY = assemblyTable.yCoord; + packet.posZ = assemblyTable.zCoord; CoreProxy.sendToServer(packet.getPacket()); } diff --git a/buildcraft_client/net/minecraft/src/buildcraft/silicon/network/PacketHandler.java b/buildcraft_client/net/minecraft/src/buildcraft/silicon/network/PacketHandler.java index d56ae9a8..fb389d25 100644 --- a/buildcraft_client/net/minecraft/src/buildcraft/silicon/network/PacketHandler.java +++ b/buildcraft_client/net/minecraft/src/buildcraft/silicon/network/PacketHandler.java @@ -41,7 +41,7 @@ public class PacketHandler implements IPacketHandler { private void onSelectionUpdate(PacketUpdate packet) { GuiScreen screen = ModLoader.getMinecraftInstance().currentScreen; - + if (screen instanceof GuiAssemblyTable) { GuiAssemblyTable gui = (GuiAssemblyTable) screen; SelectionMessage message = new SelectionMessage(); diff --git a/common/lang/buildcraft/sv_SE.properties b/common/lang/buildcraft/sv_SE.properties new file mode 100644 index 00000000..e6f280df --- /dev/null +++ b/common/lang/buildcraft/sv_SE.properties @@ -0,0 +1,82 @@ +# sv_SE +# Translated by Landrash + +gui.building.resources=Byggmaterial +gui.del=Radera +gui.filling.resources=Fyllningsmaterial +gui.inventory=Inventarie +gui.lock=Lås +gui.needed=Behövd +gui.unlock=Lås upp +item.bucketFuel=Bränslehink +item.bucketOil=Olje Hink +item.woodenGearItem=Träkugghjul +item.stoneGearItem=Stenkugghjul +item.ironGearItem=Järnkugghjul +item.goldGearItem=Guldkugghjul +item.diamondGearItem=Diamantkugghjul +item.templateItem=Mall +item.wrenchItem=Skiftnyckel +item.fuel=Bränsle +item.pipeWaterproof=Rörvattentätning +item.pipeGate.0=Grind +item.pipeGate.1=Järn OCH Grind +item.pipeGate.2=Järn ELLER Grind +item.pipeGate.3=Guld OCH Grind +item.pipeGate.4=Guld ELLER Grind +item.pipeGate.5=Diamant OCH Grind +item.pipeGate.6=Diamant ELLER Grind +item.pipeGateAutarchic.0=Primär Grind +item.pipeGateAutarchic.1=Primär Järn OCH Grind +item.pipeGateAutarchic.2=Primär Järn ELLER Grind +item.pipeGateAutarchic.3=Primär Guld OCH Grind +item.pipeGateAutarchic.4=Primär Guld ELLER Grind +item.pipeGateAutarchic.5=Primär Diamant OCH Grind +item.pipeGateAutarchic.6=Primär Diamant ELLER Grind +item.redPipeWire=Röd Rörledning +item.bluePipeWire=Blå Rörledning +item.greenPipeWire=Grön Rörledning +item.yellowPipeWire=Gul Rörledning +item.redstoneChipset.0=Rödsten Chipset +item.redstoneChipset.1=Rödsten Järn Chipset +item.redstoneChipset.2=Rödsten Guld Chipset +item.redstoneChipset.3=Rödsten Diamant Chipset +item.redstoneChipset.4=Pulserande Chipset +item.blueprintItem=Ritning +item.PipeItemsWood=Trä Transport Rör +item.PipeItemsCobblestone=Kullersten Transport Rör +item.PipeItemsStone=Sten Transport Rör +item.PipeItemsIron=Järn Transport Rör +item.PipeItemsGold=Guld Transport Rör +item.PipeItemsDiamond=Diamant Transport Rör +item.PipeItemsObsidian=Obsidian Transport Rör +item.PipeLiquidsWood=Vattentätt Trä Rör +item.PipeLiquidsCobblestone=Vattentätt Kullerstens Rör +item.PipeLiquidsStone=Vattentätt Sten Rör +item.PipeLiquidsIron=Vattentätt Järn Rör +item.PipeLiquidsGold=Vattentätt Guld Rör +item.PipePowerWood=Konduktivt Trä Rör +item.PipePowerStone=Konduktivt Sten Rör +item.PipePowerGold=Konduktivt Guld Rör +item.PipeItemsStripes=Randigt Transport Rör +item.PipeStructureCobblestone=Kullerstens Struktur Rör +tile.miningWellBlock=Gruv Borr +tile.plainPipeBlock=Gruv Rör +tile.autoWorkBenchBlock=Automatiskt Arbetsbänk +tile.machineBlock=Stenbrott +tile.markerBlock=Land Märke +tile.fillerBlock=Fyllare +tile.builderBlock=Byggare +tile.architectBlock=Architektbord +tile.frameBlock=Ram +tile.tankBlock=Tank +tile.refineryBlock=Raffinaderi +tile.libraryBlock=Ritnings Bibliotek +tile.laserBlock=Laser +tile.assemblyTableBlock=Monterings Bänk +tile.pathMarkerBlock=Väg Markör +tile.blockHopper=Hopper +tile.pumpBlock=Pump +tile.engineWood=Rödsten Motor +tile.engineStone=Ång Motor +tile.engineIron=Förbrännings Motor \ No newline at end of file diff --git a/common/net/minecraft/src/buildcraft/factory/TileAssemblyTable.java b/common/net/minecraft/src/buildcraft/factory/TileAssemblyTable.java index 42a9a2a7..ec6ce711 100644 --- a/common/net/minecraft/src/buildcraft/factory/TileAssemblyTable.java +++ b/common/net/minecraft/src/buildcraft/factory/TileAssemblyTable.java @@ -3,8 +3,10 @@ package net.minecraft.src.buildcraft.factory; import java.util.LinkedList; import net.minecraft.src.BuildCraftCore; +import net.minecraft.src.Container; import net.minecraft.src.EntityItem; import net.minecraft.src.EntityPlayer; +import net.minecraft.src.ICrafting; import net.minecraft.src.IInventory; import net.minecraft.src.ItemStack; import net.minecraft.src.NBTTagCompound; @@ -30,6 +32,7 @@ public class TileAssemblyTable extends TileEntity implements IInventory, IPipeCo public AssemblyRecipe currentRecipe; + private float currentRequiredEnergy = 0; private float energyStored = 0; public static class SelectionMessage { @@ -289,25 +292,33 @@ public class TileAssemblyTable extends TileEntity implements IInventory, IPipeCo return recipe != null && recipe == currentRecipe; } + private void setCurrentRecipe(AssemblyRecipe recipe) { + this.currentRecipe = recipe; + if(recipe != null) + this.currentRequiredEnergy = recipe.energy; + else + this.currentRequiredEnergy = 0; + } + public void planOutput (AssemblyRecipe recipe) { if (recipe != null && !isPlanned(recipe)) { plannedOutput.add(recipe); if (!isAssembling(currentRecipe) || !isPlanned(currentRecipe)) { - currentRecipe = recipe; + setCurrentRecipe(recipe); } } } public void cancelPlanOutput(AssemblyRecipe recipe) { if (isAssembling(recipe)) { - currentRecipe = null; + setCurrentRecipe(null); } plannedOutput.remove(recipe); if (plannedOutput.size() != 0) { - currentRecipe = plannedOutput.getFirst(); + setCurrentRecipe(plannedOutput.getFirst()); } } @@ -318,19 +329,19 @@ public class TileAssemblyTable extends TileEntity implements IInventory, IPipeCo if (recipe == currentRecipe) { takeNext = true; } else if (takeNext && recipe.canBeDone(items)) { - currentRecipe = recipe; + setCurrentRecipe(recipe); return; } } for (AssemblyRecipe recipe : plannedOutput) { if (recipe.canBeDone(items)) { - currentRecipe = recipe; + setCurrentRecipe(recipe); return; } } - currentRecipe = null; + setCurrentRecipe(null); } @Override @@ -339,13 +350,13 @@ public class TileAssemblyTable extends TileEntity implements IInventory, IPipeCo } public void handleSelectionMessage(SelectionMessage message) { - for (AssemblyRecipe r : BuildCraftCore.assemblyRecipes) { - if (r.output.itemID == message.itemID - && r.output.getItemDamage() == message.itemDmg) { + for (AssemblyRecipe recipe : BuildCraftCore.assemblyRecipes) { + if (recipe.output.itemID == message.itemID + && recipe.output.getItemDamage() == message.itemDmg) { if (message.select) { - planOutput(r); + planOutput(recipe); } else { - cancelPlanOutput(r); + cancelPlanOutput(recipe); } break; @@ -375,4 +386,24 @@ public class TileAssemblyTable extends TileEntity implements IInventory, IPipeCo mod_BuildCraftSilicon.instance); } } + + /* SMP GUI */ + public void getGUINetworkData(int i, int j) { + switch(i) + { + case 0: + currentRequiredEnergy = j; + break; + case 1: + energyStored = j; + break; + } + } + + public void sendGUINetworkData(Container container, ICrafting iCrafting) { + iCrafting.updateCraftingInventoryInfo(container, 0, (int)currentRequiredEnergy); + iCrafting.updateCraftingInventoryInfo(container, 1, (int)energyStored); + } + + } diff --git a/common/net/minecraft/src/buildcraft/silicon/ContainerAssemblyTable.java b/common/net/minecraft/src/buildcraft/silicon/ContainerAssemblyTable.java index c1e3234f..b9470ab7 100644 --- a/common/net/minecraft/src/buildcraft/silicon/ContainerAssemblyTable.java +++ b/common/net/minecraft/src/buildcraft/silicon/ContainerAssemblyTable.java @@ -9,7 +9,6 @@ package net.minecraft.src.buildcraft.silicon; - import net.minecraft.src.EntityPlayer; import net.minecraft.src.ICrafting; import net.minecraft.src.IInventory; @@ -61,31 +60,17 @@ class ContainerAssemblyTable extends BuildCraftContainer { public boolean canInteractWith(EntityPlayer entityplayer) { return table.isUseableByPlayer(entityplayer); } + + // @Override client side only + public void updateProgressBar(int i, int j) { + table.getGUINetworkData (i, j); + } @Override public void updateCraftingResults() { super.updateCraftingResults(); - - for (int i = 0; i < crafters.size(); i++) { - ICrafting crafting = (ICrafting) crafters.get(i); - crafting.updateCraftingInventoryInfo(this, 0, table.xCoord); - crafting.updateCraftingInventoryInfo(this, 1, table.yCoord); - crafting.updateCraftingInventoryInfo(this, 2, table.zCoord); - } - } - - public void updateProgressBar(int i, int j) { - if (i == 0) { - x = j; - } else if (i == 1) { - y = j; - } else if (i == 2) { - z = j; - } - - if (!networkSynchronized && x != Integer.MAX_VALUE && y != Integer.MAX_VALUE && z != Integer.MAX_VALUE) - networkSynchronized = true; - CoreProxy.sendToServer(new PacketCoordinates(PacketIds.SELECTION_ASSEMBLY_GET, x, y, z).getPacket()); + for(int i = 0; i < crafters.size(); i++) + table.sendGUINetworkData (this, (ICrafting)crafters.get(i)); } } \ No newline at end of file