From 8c9b72ce14e561f68ca4f1cb5ad61f808535d521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=88=91=28=20=C2=B0=20=E2=96=B3=20=C2=B0=7C=7C=7C=29?= <619856824@qq.com> Date: Fri, 19 Sep 2014 02:12:45 +0800 Subject: [PATCH 01/10] Update zh_CN.lang --- src/main/resources/assets/mekanism/lang/zh_CN.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/mekanism/lang/zh_CN.lang b/src/main/resources/assets/mekanism/lang/zh_CN.lang index 7ca230ef4..9a5a8f419 100644 --- a/src/main/resources/assets/mekanism/lang/zh_CN.lang +++ b/src/main/resources/assets/mekanism/lang/zh_CN.lang @@ -88,7 +88,7 @@ tile.MachineBlock.Crusher.name=粉碎机 tile.MachineBlock.BasicFactory.name=基础工厂 tile.MachineBlock.AdvancedFactory.name=高级工厂 tile.MachineBlock.EliteFactory.name=精英工厂 -tile.MachineBlock.MetallurgicInfuser.name=冶金浸渍机 +tile.MachineBlock.MetallurgicInfuser.name=冶金灌注机 tile.MachineBlock.PurificationChamber.name=净化仓 tile.MachineBlock.EnergizedSmelter.name=充能冶炼炉 tile.MachineBlock.Teleporter.name=传送机 From f284886d5ceeacfe0ea41c43c29d2d9603ac7fe3 Mon Sep 17 00:00:00 2001 From: Porter Westling Date: Mon, 22 Sep 2014 09:25:27 -0700 Subject: [PATCH 02/10] read and write entire item stack using PacketHandler in TransporterStack --- .../common/transporter/TransporterStack.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/main/java/mekanism/common/transporter/TransporterStack.java b/src/main/java/mekanism/common/transporter/TransporterStack.java index d14f20402..909452980 100644 --- a/src/main/java/mekanism/common/transporter/TransporterStack.java +++ b/src/main/java/mekanism/common/transporter/TransporterStack.java @@ -1,18 +1,16 @@ package mekanism.common.transporter; -import io.netty.buffer.ByteBuf; - import java.util.ArrayList; import java.util.List; +import io.netty.buffer.ByteBuf; import mekanism.api.Coord4D; import mekanism.api.EnumColor; import mekanism.common.ILogisticalTransporter; +import mekanism.common.PacketHandler; import mekanism.common.tile.TileEntityLogisticalSorter; import mekanism.common.transporter.TransporterPathfinder.Destination; -import mekanism.common.util.MekanismUtils; import mekanism.common.util.TransporterUtils; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -27,7 +25,7 @@ public class TransporterStack public EnumColor color = null; public boolean initiatedPath = false; - + public ForgeDirection idleDir = ForgeDirection.UNKNOWN; public List pathToTarget = new ArrayList(); @@ -65,9 +63,7 @@ public class TransporterStack getPrev(tileEntity).write(data); - data.add(MekanismUtils.getID(itemStack)); - data.add(itemStack.stackSize); - data.add(itemStack.getItemDamage()); + data.add(itemStack); } public void read(ByteBuf dataStream) @@ -93,7 +89,7 @@ public class TransporterStack clientPrev = Coord4D.read(dataStream); - itemStack = new ItemStack(Item.getItemById(dataStream.readInt()), dataStream.readInt(), dataStream.readInt()); + itemStack = PacketHandler.readStack(dataStream); } public void write(NBTTagCompound nbtTags) From 93f5c8a79725d87ca67feb5222e698bdee173bd5 Mon Sep 17 00:00:00 2001 From: Porter Westling Date: Mon, 22 Sep 2014 13:34:50 -0700 Subject: [PATCH 03/10] compare stack tags as well as item id --- .../common/transporter/TransporterManager.java | 8 ++++---- .../java/mekanism/common/util/InventoryUtils.java | 14 +++++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/mekanism/common/transporter/TransporterManager.java b/src/main/java/mekanism/common/transporter/TransporterManager.java index 291859282..427c09d2d 100644 --- a/src/main/java/mekanism/common/transporter/TransporterManager.java +++ b/src/main/java/mekanism/common/transporter/TransporterManager.java @@ -126,7 +126,7 @@ public class TransporterManager testInv[i] = toInsert; return; } - else if(inSlot.isItemEqual(toInsert) && inSlot.stackSize < inSlot.getMaxStackSize()) + else if(InventoryUtils.areItemsStackable(toInsert, inSlot) && inSlot.stackSize < inSlot.getMaxStackSize()) { if(inSlot.stackSize + toInsert.stackSize <= inSlot.getMaxStackSize()) { @@ -182,7 +182,7 @@ public class TransporterManager testInv[slotID] = toInsert; return; } - else if(inSlot.isItemEqual(toInsert) && inSlot.stackSize < inSlot.getMaxStackSize()) + else if(InventoryUtils.areItemsStackable(toInsert, inSlot) && inSlot.stackSize < inSlot.getMaxStackSize()) { if(inSlot.stackSize + toInsert.stackSize <= inSlot.getMaxStackSize()) { @@ -282,7 +282,7 @@ public class TransporterManager { return null; } - else if(inSlot.isItemEqual(toInsert) && inSlot.stackSize < inSlot.getMaxStackSize()) + else if(InventoryUtils.areItemsStackable(toInsert, inSlot) && inSlot.stackSize < inSlot.getMaxStackSize()) { if(inSlot.stackSize + toInsert.stackSize <= inSlot.getMaxStackSize()) { @@ -325,7 +325,7 @@ public class TransporterManager { return null; } - else if(inSlot.isItemEqual(toInsert) && inSlot.stackSize < inSlot.getMaxStackSize()) + else if(InventoryUtils.areItemsStackable(toInsert, inSlot) && inSlot.stackSize < inSlot.getMaxStackSize()) { if(inSlot.stackSize + toInsert.stackSize <= inSlot.getMaxStackSize()) { diff --git a/src/main/java/mekanism/common/util/InventoryUtils.java b/src/main/java/mekanism/common/util/InventoryUtils.java index 7b6d6edf8..60329ed61 100644 --- a/src/main/java/mekanism/common/util/InventoryUtils.java +++ b/src/main/java/mekanism/common/util/InventoryUtils.java @@ -82,7 +82,7 @@ public final class InventoryUtils inventory.setInventorySlotContents(i, toInsert); return null; } - else if(inSlot.isItemEqual(toInsert) && inSlot.stackSize < inSlot.getMaxStackSize()) + else if(areItemsStackable(toInsert, inSlot) && inSlot.stackSize < inSlot.getMaxStackSize()) { if(inSlot.stackSize + toInsert.stackSize <= inSlot.getMaxStackSize()) { @@ -138,7 +138,7 @@ public final class InventoryUtils inventory.setInventorySlotContents(slotID, toInsert); return null; } - else if(inSlot.isItemEqual(toInsert) && inSlot.stackSize < inSlot.getMaxStackSize()) + else if(areItemsStackable(toInsert, inSlot) && inSlot.stackSize < inSlot.getMaxStackSize()) { if(inSlot.stackSize + toInsert.stackSize <= inSlot.getMaxStackSize()) { @@ -169,7 +169,11 @@ public final class InventoryUtils return toInsert; } - public static InvStack takeTopItem(IInventory inventory, int side) + public static boolean areItemsStackable(ItemStack toInsert, ItemStack inSlot) { + return inSlot.isItemEqual(toInsert) && ItemStack.areItemStackTagsEqual(inSlot, toInsert); + } + + public static InvStack takeTopItem(IInventory inventory, int side) { inventory = checkChestInv(inventory); @@ -381,7 +385,7 @@ public final class InventoryUtils { return true; } - else if(inSlot.isItemEqual(itemStack) && inSlot.stackSize < inSlot.getMaxStackSize()) + else if(areItemsStackable(itemStack, inSlot) && inSlot.stackSize < inSlot.getMaxStackSize()) { if(inSlot.stackSize + itemStack.stackSize <= inSlot.getMaxStackSize()) { @@ -427,7 +431,7 @@ public final class InventoryUtils { return true; } - else if(inSlot.isItemEqual(itemStack) && inSlot.stackSize < inSlot.getMaxStackSize()) + else if(areItemsStackable(itemStack, inSlot) && inSlot.stackSize < inSlot.getMaxStackSize()) { if(inSlot.stackSize + itemStack.stackSize <= inSlot.getMaxStackSize()) { From bb12d91f502906c9887bbc2ab719500b4b8f0fd2 Mon Sep 17 00:00:00 2001 From: Porter Westling Date: Tue, 23 Sep 2014 12:03:43 -0700 Subject: [PATCH 04/10] add right click decrement functionality to teleporter digits --- .../client/gui/GuiPortableTeleporter.java | 70 +++++----- .../mekanism/client/gui/GuiTeleporter.java | 122 ++++++++++-------- 2 files changed, 103 insertions(+), 89 deletions(-) diff --git a/src/main/java/mekanism/client/gui/GuiPortableTeleporter.java b/src/main/java/mekanism/client/gui/GuiPortableTeleporter.java index cce00aacb..4db74cdf1 100644 --- a/src/main/java/mekanism/client/gui/GuiPortableTeleporter.java +++ b/src/main/java/mekanism/client/gui/GuiPortableTeleporter.java @@ -1,5 +1,7 @@ package mekanism.client.gui; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import mekanism.client.sound.SoundHandler; import mekanism.common.Mekanism; import mekanism.common.item.ItemPortableTeleporter; @@ -11,12 +13,8 @@ import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; - import org.lwjgl.opengl.GL11; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) public class GuiPortableTeleporter extends GuiScreen { @@ -49,23 +47,23 @@ public class GuiPortableTeleporter extends GuiScreen mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiPortableTeleporter.png")); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - int guiWidth = (width - xSize) / 2; - int guiHeight = (height - ySize) / 2; + int guiWidth = (width-xSize)/2; + int guiHeight = (height-ySize)/2; drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); int displayInt; displayInt = getYAxisForNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 0)); - drawTexturedModalRect(guiWidth + 23, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+23, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 1)); - drawTexturedModalRect(guiWidth + 62, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+62, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 2)); - drawTexturedModalRect(guiWidth + 101, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+101, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 3)); - drawTexturedModalRect(guiWidth + 140, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+140, guiHeight+44, 176, displayInt, 13, 13); ItemPortableTeleporter item = (ItemPortableTeleporter)itemStack.getItem(); @@ -93,41 +91,37 @@ public class GuiPortableTeleporter extends GuiScreen { super.mouseClicked(mouseX, mouseY, button); - int xAxis = (mouseX - (width - xSize) / 2); - int yAxis = (mouseY - (height - ySize) / 2); + int xAxis = (mouseX-(width-xSize)/2); + int yAxis = (mouseY-(height-ySize)/2); - if(xAxis > 23 && xAxis < 37 && yAxis > 44 && yAxis < 58) + handleButtonClick(xAxis, yAxis, button, 0, 23, 37, 44, 58); + handleButtonClick(xAxis, yAxis, button, 1, 62, 76, 44, 58); + handleButtonClick(xAxis, yAxis, button, 2, 101, 115, 44, 58); + handleButtonClick(xAxis, yAxis, button, 3, 140, 154, 44, 58); + } + + private void handleButtonClick(int xAxis, int yAxis, int mouseButton, int clickedButtonIndex, int xmin, int xmax, int ymin, int ymax) + { + if(xAxis > xmin && xAxis < xmax && yAxis > ymin && yAxis < ymax) { - Mekanism.packetHandler.sendToServer(new DigitUpdateMessage(0, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 0)))); - ((ItemPortableTeleporter)itemStack.getItem()).setDigit(itemStack, 0, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 0))); - SoundHandler.playSound("gui.button.press"); - } - else if(xAxis > 62 && xAxis < 76 && yAxis > 44 && yAxis < 58) - { - Mekanism.packetHandler.sendToServer(new DigitUpdateMessage(1, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 1)))); - ((ItemPortableTeleporter)itemStack.getItem()).setDigit(itemStack, 1, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 1))); - SoundHandler.playSound("gui.button.press"); - } - else if(xAxis > 101 && xAxis < 115 && yAxis > 44 && yAxis < 58) - { - Mekanism.packetHandler.sendToServer(new DigitUpdateMessage(2, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 2)))); - ((ItemPortableTeleporter)itemStack.getItem()).setDigit(itemStack, 2, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 2))); - SoundHandler.playSound("gui.button.press"); - } - else if(xAxis > 140 && xAxis < 154 && yAxis > 44 && yAxis < 58) - { - Mekanism.packetHandler.sendToServer(new DigitUpdateMessage(3, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 3)))); - ((ItemPortableTeleporter)itemStack.getItem()).setDigit(itemStack, 3, getIncrementedNumber(((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, 3))); + int currentDigit = ((ItemPortableTeleporter)itemStack.getItem()).getDigit(itemStack, clickedButtonIndex); + int updatedDigit = getUpdatedNumber(currentDigit, mouseButton); + Mekanism.packetHandler.sendToServer(new DigitUpdateMessage(clickedButtonIndex, updatedDigit)); + ((ItemPortableTeleporter)itemStack.getItem()).setDigit(itemStack, clickedButtonIndex, updatedDigit); SoundHandler.playSound("gui.button.press"); } } - public int getIncrementedNumber(int i) + public int getUpdatedNumber(int i, int mouseButton) { - if(i < 9) i++; - else if(i == 9) i=0; - - return i; + if(mouseButton == 1) //right click + { + return (i-1+10)%10; //add 10 to ensure postive result + } + else + { + return (i+1)%10; + } } public int getYAxisForNumber(int i) diff --git a/src/main/java/mekanism/client/gui/GuiTeleporter.java b/src/main/java/mekanism/client/gui/GuiTeleporter.java index af99eeebf..dc007e310 100644 --- a/src/main/java/mekanism/client/gui/GuiTeleporter.java +++ b/src/main/java/mekanism/client/gui/GuiTeleporter.java @@ -2,6 +2,8 @@ package mekanism.client.gui; import java.util.ArrayList; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import mekanism.api.Coord4D; import mekanism.client.gui.GuiSlot.SlotOverlay; import mekanism.client.gui.GuiSlot.SlotType; @@ -13,12 +15,8 @@ import mekanism.common.tile.TileEntityTeleporter; import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.entity.player.InventoryPlayer; - import org.lwjgl.opengl.GL11; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) public class GuiTeleporter extends GuiMekanism { @@ -36,11 +34,11 @@ public class GuiTeleporter extends GuiMekanism @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { - int xAxis = (mouseX - (width - xSize) / 2); - int yAxis = (mouseY - (height - ySize) / 2); + int xAxis = (mouseX-(width-xSize)/2); + int yAxis = (mouseY-(height-ySize)/2); fontRendererObj.drawString(tileEntity.getInventoryName(), 45, 6, 0x404040); - fontRendererObj.drawString(MekanismUtils.localize("container.inventory"), 8, (ySize - 96) + 2, 0x404040); + fontRendererObj.drawString(MekanismUtils.localize("container.inventory"), 8, (ySize-96)+2, 0x404040); fontRendererObj.drawString(tileEntity.getStatusDisplay(), 66, 19, 0x00CD00); if(xAxis >= 165 && xAxis <= 169 && yAxis >= 17 && yAxis <= 69) @@ -56,47 +54,71 @@ public class GuiTeleporter extends GuiMekanism { super.mouseClicked(x, y, button); - int xAxis = (x - (width - xSize) / 2); - int yAxis = (y - (height - ySize) / 2); + int xAxis = (x-(width-xSize)/2); + int yAxis = (y-(height-ySize)/2); - ArrayList data = new ArrayList(); + handleButtonClick(xAxis, yAxis, button, 23, 37, 44, 58, 0); + handleButtonClick(xAxis, yAxis, button, 62, 76, 44, 58, 1); + handleButtonClick(xAxis, yAxis, button, 101, 115, 44, 58, 2); + handleButtonClick(xAxis, yAxis, button, 140, 154, 44, 58, 3); + } - if(xAxis > 23 && xAxis < 37 && yAxis > 44 && yAxis < 58) + private void handleButtonClick(int xAxis, int yAxis, int mouseButton, int xmin, int xmax, int ymin, int ymax, int buttonIndex) + { + if(xAxis > xmin && xAxis < xmax && yAxis > ymin && yAxis < ymax) { - data.add(0); - data.add(getIncrementedNumber(tileEntity.code.digitOne)); + ArrayList data = new ArrayList(); + + int incrementedNumber = getUpdatedNumber(getButtonValue(buttonIndex), mouseButton); + + data.add(buttonIndex); + data.add(incrementedNumber); Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); - tileEntity.code.digitOne = getIncrementedNumber(tileEntity.code.digitOne); - SoundHandler.playSound("gui.button.press"); + setButton(buttonIndex, incrementedNumber); + SoundHandler.playSound("gui.button.press"); } - else if(xAxis > 62 && xAxis < 76 && yAxis > 44 && yAxis < 58) - { - data.add(1); - data.add(getIncrementedNumber(tileEntity.code.digitTwo)); + } - Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); - tileEntity.code.digitTwo = getIncrementedNumber(tileEntity.code.digitTwo); - SoundHandler.playSound("gui.button.press"); - } - else if(xAxis > 101 && xAxis < 115 && yAxis > 44 && yAxis < 58) + public void setButton(int index, int number) + { + if(index == 0) { - data.add(2); - data.add(getIncrementedNumber(tileEntity.code.digitThree)); - - Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); - tileEntity.code.digitThree = getIncrementedNumber(tileEntity.code.digitThree); - SoundHandler.playSound("gui.button.press"); + tileEntity.code.digitOne = number; } - else if(xAxis > 140 && xAxis < 154 && yAxis > 44 && yAxis < 58) + if(index == 1) { - data.add(3); - data.add(getIncrementedNumber(tileEntity.code.digitFour)); - - Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); - tileEntity.code.digitFour = getIncrementedNumber(tileEntity.code.digitFour); - SoundHandler.playSound("gui.button.press"); + tileEntity.code.digitTwo = number; } + if(index == 2) + { + tileEntity.code.digitThree = number; + } + if(index == 3) + { + tileEntity.code.digitFour = number; + } + } + + public int getButtonValue(int index) + { + if(index == 0) + { + return tileEntity.code.digitOne; + } + if(index == 1) + { + return tileEntity.code.digitTwo; + } + if(index == 2) + { + return tileEntity.code.digitThree; + } + if(index == 3) + { + return tileEntity.code.digitFour; + } + return 0;//should never happen } @Override @@ -104,41 +126,39 @@ public class GuiTeleporter extends GuiMekanism { mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiTeleporter.png")); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - int guiWidth = (width - xSize) / 2; - int guiHeight = (height - ySize) / 2; + int guiWidth = (width-xSize)/2; + int guiHeight = (height-ySize)/2; drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); int displayInt; displayInt = tileEntity.getScaledEnergyLevel(52); - drawTexturedModalRect(guiWidth + 165, guiHeight + 17 + 52 - displayInt, 176 + 13, 52 - displayInt, 4, displayInt); + drawTexturedModalRect(guiWidth+165, guiHeight+17+52-displayInt, 176+13, 52-displayInt, 4, displayInt); displayInt = getYAxisForNumber(tileEntity.code.digitOne); - drawTexturedModalRect(guiWidth + 23, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+23, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(tileEntity.code.digitTwo); - drawTexturedModalRect(guiWidth + 62, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+62, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(tileEntity.code.digitThree); - drawTexturedModalRect(guiWidth + 101, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+101, guiHeight+44, 176, displayInt, 13, 13); displayInt = getYAxisForNumber(tileEntity.code.digitFour); - drawTexturedModalRect(guiWidth + 140, guiHeight + 44, 176, displayInt, 13, 13); + drawTexturedModalRect(guiWidth+140, guiHeight+44, 176, displayInt, 13, 13); super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY); } - public int getIncrementedNumber(int i) + public int getUpdatedNumber(int i, int mouseButton) { - if(i < 9) + if(mouseButton == 1) //right click { - i++; + return (i-1+10)%10; //add 10 to ensure postive result } - else if(i == 9) + else { - i = 0; + return (i+1)%10; } - - return i; } public int getYAxisForNumber(int i) From 2cc1b96c3883fa7e9d5b8852454ddb5727a25424 Mon Sep 17 00:00:00 2001 From: Porter Westling Date: Tue, 23 Sep 2014 14:20:36 -0700 Subject: [PATCH 05/10] add "dump excess" option to gas tank --- .../java/mekanism/client/gui/GuiGasTank.java | 32 +++++++--- .../common/tile/TileEntityGasTank.java | 56 ++++++++++++++---- .../assets/mekanism/gui/GuiGasTank.png | Bin 3809 -> 2368 bytes .../resources/assets/mekanism/lang/de_DE.lang | 1 + .../resources/assets/mekanism/lang/en_US.lang | 1 + 5 files changed, 69 insertions(+), 21 deletions(-) diff --git a/src/main/java/mekanism/client/gui/GuiGasTank.java b/src/main/java/mekanism/client/gui/GuiGasTank.java index 30f368837..c4a12e9e0 100644 --- a/src/main/java/mekanism/client/gui/GuiGasTank.java +++ b/src/main/java/mekanism/client/gui/GuiGasTank.java @@ -2,6 +2,8 @@ package mekanism.client.gui; import java.util.ArrayList; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import mekanism.api.Coord4D; import mekanism.client.sound.SoundHandler; import mekanism.common.Mekanism; @@ -11,12 +13,8 @@ import mekanism.common.tile.TileEntityGasTank; import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.entity.player.InventoryPlayer; - import org.lwjgl.opengl.GL11; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) public class GuiGasTank extends GuiMekanism { @@ -37,17 +35,18 @@ public class GuiGasTank extends GuiMekanism String capacityInfo = tileEntity.gasTank.getStored() + "/" + tileEntity.MAX_GAS; - fontRendererObj.drawString(tileEntity.getInventoryName(), (xSize/2)-(fontRendererObj.getStringWidth(tileEntity.getInventoryName())/2), 6, 0x404040); + fontRendererObj.drawString(tileEntity.getInventoryName(), (xSize / 2) - (fontRendererObj.getStringWidth(tileEntity.getInventoryName()) / 2), 6, 0x404040); fontRendererObj.drawString(capacityInfo, 45, 40, 0x404040); fontRendererObj.drawString(MekanismUtils.localize("gui.gas") + ": " + (tileEntity.gasTank.getGas() != null ? tileEntity.gasTank.getGas().getGas().getLocalizedName() : MekanismUtils.localize("gui.none")), 45, 49, 0x404040); fontRendererObj.drawString(MekanismUtils.localize("container.inventory"), 8, ySize - 96 + 2, 0x404040); - String name = tileEntity.dumping ? MekanismUtils.localize("gui.dumping") + "..." : MekanismUtils.localize("gui.idle"); - fontRendererObj.drawString(name, 156-fontRendererObj.getStringWidth(name), 73, 0x404040); + String name = chooseByMode(tileEntity.dumping, MekanismUtils.localize("gui.idle"), MekanismUtils.localize("gui.dumping"), MekanismUtils.localize("gui.dumping_excess")); + fontRendererObj.drawString(name, 156 - fontRendererObj.getStringWidth(name), 73, 0x404040); super.drawGuiContainerForegroundLayer(mouseX, mouseY); } + @Override protected void drawGuiContainerBackgroundLayer(float partialTick, int mouseX, int mouseY) { @@ -59,7 +58,7 @@ public class GuiGasTank extends GuiMekanism int guiHeight = (height - ySize) / 2; drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); - int displayInt = tileEntity.dumping ? 18 : 10; + int displayInt = chooseByMode(tileEntity.dumping, 10, 18, 26); drawTexturedModalRect(guiWidth + 160, guiHeight + 73, 176, displayInt, 8, 8); if(tileEntity.gasTank.getGas() != null) @@ -86,4 +85,21 @@ public class GuiGasTank extends GuiMekanism SoundHandler.playSound("gui.button.press"); } } + + private T chooseByMode(TileEntityGasTank.Mode dumping, T idleOption, T dumpingOption, T dumpingExcessOption) + { + if(dumping.equals(TileEntityGasTank.Mode.IDLE)) + { + return idleOption; + } + if(dumping.equals(TileEntityGasTank.Mode.DUMPING)) + { + return dumpingOption; + } + if(dumping.equals(TileEntityGasTank.Mode.DUMPING_EXCESS)) + { + return dumpingExcessOption; + } + return idleOption; //should not happen; + } } diff --git a/src/main/java/mekanism/common/tile/TileEntityGasTank.java b/src/main/java/mekanism/common/tile/TileEntityGasTank.java index 9a074d45c..6944c9eae 100644 --- a/src/main/java/mekanism/common/tile/TileEntityGasTank.java +++ b/src/main/java/mekanism/common/tile/TileEntityGasTank.java @@ -1,9 +1,8 @@ package mekanism.common.tile; -import io.netty.buffer.ByteBuf; - import java.util.ArrayList; +import io.netty.buffer.ByteBuf; import mekanism.api.Coord4D; import mekanism.api.gas.Gas; import mekanism.api.gas.GasRegistry; @@ -26,6 +25,13 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityGasTank extends TileEntityContainerBlock implements IGasHandler, ITubeConnection, IRedstoneControl { + public enum Mode + { + IDLE, + DUMPING, + DUMPING_EXCESS + } + /** The type of gas stored in this tank. */ public GasTank gasTank = new GasTank(MAX_GAS); @@ -34,7 +40,7 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH /** How fast this tank can output gas. */ public int output = 256; - public boolean dumping; + public Mode dumping; /** This machine's current RedstoneControl type. */ public RedstoneControl controlType; @@ -43,6 +49,7 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH { super("GasTank"); inventory = new ItemStack[2]; + dumping = Mode.IDLE; controlType = RedstoneControl.DISABLED; } @@ -74,10 +81,15 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH } } - if(!worldObj.isRemote && dumping) + if(!worldObj.isRemote && dumping.equals(Mode.DUMPING)) { gasTank.draw(8, true); } + + if(!worldObj.isRemote && dumping.equals(Mode.DUMPING_EXCESS) && gasTank.getNeeded() < output) + { + gasTank.draw(output, true); + } } @Override @@ -90,7 +102,7 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH else if(slotID == 0) { return (itemstack.getItem() instanceof IGasItem && ((IGasItem)itemstack.getItem()).getGas(itemstack) != null && - ((IGasItem)itemstack.getItem()).getGas(itemstack).amount == ((IGasItem)itemstack.getItem()).getMaxGas(itemstack)); + ((IGasItem)itemstack.getItem()).getGas(itemstack).amount == ((IGasItem)itemstack.getItem()).getMaxGas(itemstack)); } return false; @@ -114,7 +126,7 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH @Override public int[] getAccessibleSlotsFromSide(int side) { - return side == 1 ? new int[] {0} : new int[] {1}; + return side == 1 ? new int[]{0} : new int[]{1}; } @Override @@ -155,7 +167,8 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH if(type == 0) { - dumping = !dumping; + int index = (dumping.ordinal() + 1)%dumping.values().length; + dumping = Mode.values()[index]; } for(EntityPlayer player : playersUsing) @@ -172,11 +185,12 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH { gasTank.setGas(new GasStack(GasRegistry.getGas(dataStream.readInt()), dataStream.readInt())); } - else { + else + { gasTank.setGas(null); } - dumping = dataStream.readBoolean(); + dumping = Mode.values()[dataStream.readInt()]; controlType = RedstoneControl.values()[dataStream.readInt()]; MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); @@ -188,7 +202,22 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH super.readFromNBT(nbtTags); gasTank.read(nbtTags.getCompoundTag("gasTank")); - dumping = nbtTags.getBoolean("dumping"); + if(nbtTags.hasKey("dumpingMode")) + { + dumping = Mode.valueOf(nbtTags.getString("dumpingMode")); + } + else //For backwards compatibility + { + boolean dumpingBool = nbtTags.getBoolean("dumping"); + if(dumpingBool) + { + dumping = Mode.DUMPING; + } + else + { + dumping = Mode.IDLE; + } + } controlType = RedstoneControl.values()[nbtTags.getInteger("controlType")]; } @@ -198,7 +227,7 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH super.writeToNBT(nbtTags); nbtTags.setTag("gasTank", gasTank.write(new NBTTagCompound())); - nbtTags.setBoolean("dumping", dumping); + nbtTags.setString("dumpingMode", dumping.name()); nbtTags.setInteger("controlType", controlType.ordinal()); } @@ -213,11 +242,12 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH data.add(gasTank.getGas().getGas().getID()); data.add(gasTank.getStored()); } - else { + else + { data.add(false); } - data.add(dumping); + data.add(dumping.ordinal()); data.add(controlType.ordinal()); return data; diff --git a/src/main/resources/assets/mekanism/gui/GuiGasTank.png b/src/main/resources/assets/mekanism/gui/GuiGasTank.png index 5308566c1dd77d93181ca0aa44d845364e2563a8..8ea40c5432e1c8f0b2ae5f02fe59babb3c0464a1 100644 GIT binary patch literal 2368 zcmcIlc{CLI9{mJ2HCLM3PzpnhC0Vjw z8hHw3%Mxlx*~V^Udy{)^ulLS*f4<*2zw`T^-*@|bzMpe`za(30a}G9PHUIzz(!%r% z01$==0j$i7!#Swf8vxjnuZf8*(!>OA8x-j6d*vbk+Fhyk9|A|u@);%tIu{-_%&)l3 z$)8NNM>*9U6MjNrMrJ+wYAjs$=Dl2D=hXmV)R5-$K7V`S1~ibJ4#QWn98V877G`hX zs9b$y2XFk~GD&9J-#WFItAAHrJqzEQ;-}uTo{cFdU zeeu~Px=*>_<7Qh+zfBm8E$e*}Rgy_WyNBmc724E9#JIFkv$7sJ$%RAJa-XEzchyw3 zuCT9)T(6e2QJfX7e;sKTx{&Ao4qb0!yWgV`sCj-la{24ZXPLB5FVY5F!aDl7aZml~ zknJZVn?BQpWN`e;jTC3;)bJCCmAiRSg@0~!Y8{zk01(`Zol4CP;n888ecIJKn)%u8C1|sTIA=%8QCtpU=k}oqH&~XpWiaqjV)k zapS&>%rf;jq91#^Oz*|X-*)8;<{nh6Iy+^MWZIZdK`agxQEC-WPEy5#oK!EU-R3ji z%k*TfO03IR4KR6flW;8WURSW;ltHyzK~MivQqILjQPXI_+tTX!Zf)#~I_PqUYH@l3 zdy^=}4h4f*W!v_j$rem1a_79b5HXE!!?x#glnve0F!SyC$g_A;faF&)f&S$x>-}ttr6tvg8Q=7)i&MAKkP-i?>=Wj$h4XB=e;et|r zl=93e68X=6oUkBUynIFMSL8r?zB}GOKdx63-VmBp77U2QR#5ca8x2yxcV*BXmk>b8-J zfh=9#-dx6A5Nfy=pmC3DscDwZuM(%dgQ=El&CHn29RWvx4X>_R?`J##hcFh7 z!2lfQ{k|a}k08jnWC=l@KE*PANPzbwbfjNi001T`($wf|_{hSCf&i)oz<=x{eX+nA zO%!msP332Pg_+7Jp!tp{eu1Iw(5Y#}%e_PxT2@k*ZT~Vg-+_+dVukVdC!EmXGmoURMvO3#KCwa{t+DS?vK0(m91lPt@vF!`{^YgFe-IHr- zY6|zSk;!DuOi55rnxF;lTyxBkF$X@nn~?d%Vj`5C878p%KKW(MTM7}&gkbTab~fwA zXokAi@R$QUXmPQIR4z{?NJ1{(hqeov*ztKMnGv8@zTFjuyjmUeI4;$54Y05Q_1JB| zl%La23-M%BW^L)t!=&jpZ*006-rvOS2E2%gw}JSik|)eVqalC*?cM4FOn6SwJxLIf z&d9{yuCK4JT*PrGL9YW~4LNcN(i4j1%>g@u-MEMd-{k67UaCB?*)U}hPCrAV6qTun zfX4+%=0JsV-o}QV`R{@F_Knk?fs47K@{ti;I;6`Kjh${9`K* zLpH`dq2RlIEd~C&g31)ZTMv{idtU-ZO%*N-+kxvKM%~`CNzhAOc*{FKXZaBvI{6FC z8gfwmN1OLVUQ|oP*u(^G7OSPDC1VME9(HteJi!?n8fqc`JDRSy3Bjn-Xf%Tv0Z>1? zu`wuBD1!fpL2n=ONO9M^C)A;>o0c_Gr@xN=o7$<|H{KML?rthQvc3)b9~6Ip_{o4f zIt{@RRpKAWUN%g^rkLbKir*xWNZiKsi9ZiJFsWLzQKOxCeDsbda2v~Z1+5Ez<~9eV z9JUGkfhnjk5qW4G^S}9jpV5zD9T-qIHUz+PR!XE}GsP0xDh|$$TL^O=b}9O@ydJqlWbdtTQ3>CwcxiJVy2bJUQi5PkXnb0}_ZC&i&!EEN)}+(4771 z*4UJBN0}?4 F{a;6w;yeHV literal 3809 zcmeHKXHZky7Ct#7As|X1LO>8g2a%=-2uO|>ly)HqNVyOQiWD(40g)I?t|(0eMCD3X zkx-;4iqc~P6p?=EO+~u20HMG0X5Ozi^M1aW_v8Iqd+%9$_P4(8TWe;=+E|O`0#>NDj-~cb*OBVn@Pw3{^k$?gF{YJ3? zwz;B2f|F@<+{ef2&j)o z(9BR~FZvv} zN5l`d$I6n}{vrqI;#`3=C{QA5q;e?0sG$|ZW%vs!*Icp1c(#Wne;mJWU0qmMTJQ-j9R!1_sZC4UWe!K+#rcHlb{Mhz z{D`yr3_qi*xnJk%{QN?;f|e78;;D@~W&RBn@3_6C&(*f5wx9teBJRPX&kJGi_`>B5 zo^VBUD(syJ7*odW-S_k4WUh{44uaf3X0 z`XRdNwlZCbuCe`lT!?d(?6y4leqFLU>Ui~hZMH%$t<>EEHxx(q>GsP$retURnf3!e zes8O0>xH32+5Sp*sT9_a+J#xZ)fR#6gSBEI{N)#|UeVMRkz(3{3g}F9PlNr(sG<;2 z=Yi~$JX@WnhF*>wE6g=x{6So}epZ~4S?qi~=|khUqu}eT8m=2xu`G{gWhVuvsjoju zJ^Z^u)6s94`auq-IQ${$Z7t+T^vJ%)=0#zD>wFe*>?w`sIUi?&GX zxU$ZbH?{BLpUBtUki9c`a(J`uRM?OJ^_PoD^zJ)@83!Mid>nlayHbCk|JH)_wVy{H z$MddK)qb0JV)g@_Y^Pr~vUzaI^4n0z>-KQQ+Syhm69Z}81G^=<2MpY0cSYMTEEAo9 zpzuo)syG1P4>vbCX&;W58#-|ZXSpA3)7se_%h$`Zhj30-*a;Apd5+_NqKv~wehb#o z93yzgB%uiMAP9zRLuo2 z=SS*y>0=EFyRO++CPtv3uwF1VHT42R>Uo56=QnZoi=sqnqB_aoBqatc@4FNn8EN#e zb>cUIQ_hkArLuBaLnVXI7RCMp(AGMiA`eki2*88=)>t3XXlW1Nz?auKHQiThO{8yx zEO8gV*Y;mDVX!?=g$SE{%V;QAd$uDVi8@ zW$TxMegyE$=$(etx}(O7(arGq&9(VP1Mwh1;`JR#&TQlsS8H-{@6|w4L59qEF&As* zQupXU#nN%Wg$w~*^jRyy=w)CNKLw+{$J${G~s-HZD~N<=(}5SP9_orhf$bOUkgGt188zP`CSQ%#R3RJ zD?U#=7U)y;*@81b0)wT(oP{F|m5>cV5P)3JR!D+N_AJd=#9=VG8-yg3AWHV}Cf(Ub89P=hW`qQGdp06GigbBE zvki?jy{YcdfE> z#kBy|cG5rZR3Zo;6s)d}zP&LWX>cBXDQ4Z*itvg7n30WcC}D9}K#N$+mn(_|3Yxta zkmq2f?)8yF zoULfh^^3sotj-0o=GJ(!tLvn9JdmxXS+AjPG>$L46fKmGhK_rxK%T1gYEB?Te66}v zIdmb&cX4q!WKY7*?wTxRH!ngy=`;l7s@!J^Pr5?@C!o+2^o1!%vlUln?!YYncT);y zV4W9I=g*t!Zg-*9;od%x!R`y~fk$tPkPhChOtvkI8_asu(H?Y7#}S#<;-$-*)jBc0 z8!S;Vr(#1#+iV=x>x;nOTw%5 zC}d zgyaH#f(2Uw4;V3H7(mRVuO*=pHk}*vUI`0>5;{TUlZRXV(;go#QWiGbW0o582OO^= z_GUvS5MaW2sgUHFQzgX^37GC4zbu)(ab`9FWABKJ3wfpnkIXM#<>@68%U9Ry2X9en z{9GJ`q}PJEeG=yDQQS|6LV|lpDZ>ldK(L_;1?p$sn&_RFF2m#T4dtgOU%sXnfdMjs zi&9`WpuBxw!ojnAno3S=9Wru2l}Mag-N5|^L=Ygaku!#ifoI2mjh6fpUP|{sMCiI? zBP()0O%8NG-I?^I2_uTYwZ>m0#?Ijt6GA4;rsEMF#kOqN7_GJ>Q>>HWHu2q~G(D56 zLJPAI)m1e$8Eop~pNi%bm9mX;3&)9xiROdWSg{w3Y}5=(zX)LyQ8UeQsm1EOVgIDA vjq-*7AQFQmKnwu!|Hc0X34!6vUBsoE7DZOw&)ng!D`0-g+N9(+%AfxLPn9;! diff --git a/src/main/resources/assets/mekanism/lang/de_DE.lang b/src/main/resources/assets/mekanism/lang/de_DE.lang index fea0d843d..481effd6e 100644 --- a/src/main/resources/assets/mekanism/lang/de_DE.lang +++ b/src/main/resources/assets/mekanism/lang/de_DE.lang @@ -338,6 +338,7 @@ gui.newFilter=Neuer Filter gui.energy=Energie gui.gas=Gas gui.dumping=Ausleeren +gui.dumping_excess=Ausleeren Über gui.modID=Mod-ID gui.key=Key gui.id=ID diff --git a/src/main/resources/assets/mekanism/lang/en_US.lang b/src/main/resources/assets/mekanism/lang/en_US.lang index 40571741e..a53c846a4 100644 --- a/src/main/resources/assets/mekanism/lang/en_US.lang +++ b/src/main/resources/assets/mekanism/lang/en_US.lang @@ -338,6 +338,7 @@ gui.newFilter=New Filter gui.energy=Energy gui.gas=Gas gui.dumping=Dumping +gui.dumping_excess=Dumping Excess gui.modID=Mod ID gui.key=Key gui.id=ID From 986e0ac1b4e11366a5e1c0f950fb55691c35a3cc Mon Sep 17 00:00:00 2001 From: Porter Westling Date: Wed, 24 Sep 2014 09:30:58 -0700 Subject: [PATCH 06/10] add config for salination plant water transformation per update --- src/main/java/mekanism/common/CommonProxy.java | 3 ++- src/main/java/mekanism/common/Mekanism.java | 1 + .../mekanism/common/tile/TileEntitySalinationController.java | 5 ++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/mekanism/common/CommonProxy.java b/src/main/java/mekanism/common/CommonProxy.java index fbf8da8fc..b5868e4a9 100644 --- a/src/main/java/mekanism/common/CommonProxy.java +++ b/src/main/java/mekanism/common/CommonProxy.java @@ -207,7 +207,8 @@ public class CommonProxy Mekanism.VOICE_PORT = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "VoicePort", 36123, null, 1, 65535).getInt(); //If this is less than 1, upgrades make machines worse. If less than 0, I don't even know. Mekanism.maxUpgradeMultiplier = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "UpgradeModifier", 10, null, 1, Integer.MAX_VALUE).getInt(); - + Mekanism.salinationPlantWaterUsage = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "SalinationPlantSpeed", 40.0, "Millibuckets of water turned into brine by the plant per tick", 1.0, 9000.0).getDouble(); + String s = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "EnergyType", "J", null, new String[]{"J", "RF", "MJ", "EU"}).getString(); if(s != null) diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index 681c72cdc..e32c6cf72 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -355,6 +355,7 @@ public class Mekanism public static double seismicVibratorUsage; public static double pressurizedReactionBaseUsage; public static double fluidicPlenisherUsage; + public static double salinationPlantWaterUsage; /** * Adds all in-game crafting, smelting and machine recipes. diff --git a/src/main/java/mekanism/common/tile/TileEntitySalinationController.java b/src/main/java/mekanism/common/tile/TileEntitySalinationController.java index 0657569ea..3a99053ae 100644 --- a/src/main/java/mekanism/common/tile/TileEntitySalinationController.java +++ b/src/main/java/mekanism/common/tile/TileEntitySalinationController.java @@ -33,7 +33,6 @@ public class TileEntitySalinationController extends TileEntitySalinationTank public static final int MAX_BRINE = 10000; public static final int MAX_SOLARS = 4; public static final int WARMUP = 10000; - public static final double WATER_USAGE = 40; public FluidTank waterTank = new FluidTank(0); public FluidTank brineTank = new FluidTank(MAX_BRINE); @@ -93,14 +92,14 @@ public class TileEntitySalinationController extends TileEntitySalinationTank int brineNeeded = brineTank.getCapacity()-brineTank.getFluidAmount(); int waterStored = waterTank.getFluidAmount(); - partialWater += Math.min(waterTank.getFluidAmount(), getTemperature()*WATER_USAGE); + partialWater += Math.min(waterTank.getFluidAmount(), getTemperature()*Mekanism.salinationPlantWaterUsage); if(partialWater >= 1) { int waterInt = (int)Math.floor(partialWater); waterTank.drain(waterInt, true); partialWater %= 1; - partialBrine += ((double)waterInt)/WATER_USAGE; + partialBrine += ((double)waterInt)/Mekanism.salinationPlantWaterUsage; } if(partialBrine >= 1) From d31ebf88ebb65052f868beea979d1b1acb0689e4 Mon Sep 17 00:00:00 2001 From: Ben Spiers Date: Wed, 24 Sep 2014 21:53:25 +0100 Subject: [PATCH 07/10] Hopefully fix the Gas Generator issue for good. --- src/main/java/mekanism/api/gas/GasTank.java | 5 ++++- .../generators/common/tile/TileEntityGasGenerator.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/mekanism/api/gas/GasTank.java b/src/main/java/mekanism/api/gas/GasTank.java index 7aa5ad5ba..82b8b97ec 100644 --- a/src/main/java/mekanism/api/gas/GasTank.java +++ b/src/main/java/mekanism/api/gas/GasTank.java @@ -218,7 +218,10 @@ public class GasTank stored = GasStack.readFromNBT(nbtTags.getCompoundTag("stored")); } - maxGas = nbtTags.getInteger("maxGas"); + if(nbtTags.hasKey("maxGas")) + { + maxGas = nbtTags.getInteger("maxGas"); + } } /** diff --git a/src/main/java/mekanism/generators/common/tile/TileEntityGasGenerator.java b/src/main/java/mekanism/generators/common/tile/TileEntityGasGenerator.java index 78f08376c..9130d91d0 100644 --- a/src/main/java/mekanism/generators/common/tile/TileEntityGasGenerator.java +++ b/src/main/java/mekanism/generators/common/tile/TileEntityGasGenerator.java @@ -290,6 +290,9 @@ public class TileEntityGasGenerator extends TileEntityGenerator implements IGasH @Override public void readSustainedData(ItemStack itemStack) { - fuelTank.read(itemStack.stackTagCompound.getCompoundTag("fuelTank")); + if(itemStack.stackTagCompound.hasKey("fuelTank")) + { + fuelTank.read(itemStack.stackTagCompound.getCompoundTag("fuelTank")); + } } } From 6899061276f21a11f84b42174074fa151e73fdaa Mon Sep 17 00:00:00 2001 From: "[MMKP]Puyo061" Date: Fri, 26 Sep 2014 20:55:22 +0900 Subject: [PATCH 08/10] Create ko_KR.lang --- .../resources/assets/mekanism/lang/ko_KR.lang | 735 ++++++++++++++++++ 1 file changed, 735 insertions(+) create mode 100644 src/main/resources/assets/mekanism/lang/ko_KR.lang diff --git a/src/main/resources/assets/mekanism/lang/ko_KR.lang b/src/main/resources/assets/mekanism/lang/ko_KR.lang new file mode 100644 index 000000000..4e3c7e4c2 --- /dev/null +++ b/src/main/resources/assets/mekanism/lang/ko_KR.lang @@ -0,0 +1,735 @@ +//********// +//MEKANISM// +//********// + +//Items +tile.ObsidianTNT.name=옵시디언 TNT +item.EnrichedAlloy.name=Enriched Alloy +item.ReinforcedAlloy.name=Reinforced Alloy +item.AtomicAlloy.name=Atomic Alloy +item.EnergyTablet.name=Energy Tablet +item.SpeedUpgrade.name=Speed Upgrade +item.EnergyUpgrade.name=Energy Upgrade +item.Robit.name=Robit +item.AtomicDisassembler.name=Atomic Disassembler +item.ElectricBow.name=Electric Bow +item.EnrichedIron.name=Enriched Iron +item.CompressedCarbon.name=Compressed Carbon +item.CompressedRedstone.name=Compressed Redstone +item.CompressedDiamond.name=Compressed Diamond +item.CompressedObsidian.name=Compressed 옵시디언 +item.PortableTeleporter.name=Portable Teleporter +item.TeleportationCore.name=Teleportation Core +item.Configurator.name=Configurator +item.NetworkReader.name=Network Reader +item.WalkieTalkie.name=Walkie-Talkie +item.Jetpack.name=Jetpack +item.ScubaTank.name=Scuba Tank +item.GasMask.name=Gas Mask +item.Dictionary.name=Dictionary +item.ElectrolyticCore.name=Electrolytic Core +item.Sawdust.name=Sawdust +item.Salt.name=Salt +item.BrineBucket.name=Brine Bucket +item.FreeRunners.name=Free Runners +item.ArmoredJetpack.name=Armored Jetpack +item.FilterCard.name=Filter Card +item.SeismicReader.name=Seismic Reader +item.HDPEPellet.name=HDPE Pellet +item.HDPERod.name=HDPE Rod +item.HDPESheet.name=HDPE Sheet +item.PlaStick.name=PlaStick +item.Substrate.name=Substrate + +//Control Circuits +item.BasicControlCircuit.name=Basic Control Circuit +item.AdvancedControlCircuit.name=고급 Control Circuit +item.EliteControlCircuit.name=Elite Control Circuit +item.UltimateControlCircuit.name=Ultimate Control Circuit + +//Gas Tank +tile.GasTank.GasTank.name=Gas Tank + +//Cardboard Box +tile.CardboardBox.name=Cardboard Box + +//Bounding Block +tile.BoundingBlock.name=Bounding Block + +//Salt +tile.SaltBlock.name=Salt Block + +//Basic Block +tile.BasicBlock.OsmiumBlock.name=오스뮴 Block +tile.BasicBlock.BronzeBlock.name=청동 Block +tile.BasicBlock.RefinedObsidian.name=Refined 옵시디언 +tile.BasicBlock.CharcoalBlock.name=Charcoal Block +tile.BasicBlock.RefinedGlowstone.name=Refined 발광석 +tile.BasicBlock.SteelBlock.name=강철 Block +tile.BasicBlock.Bin.name=Bin +tile.BasicBlock.TeleporterFrame.name=Teleporter Frame +tile.BasicBlock.SteelCasing.name=강철 Casing +tile.BasicBlock.DynamicTank.name=Dynamic Tank +tile.BasicBlock.DynamicGlass.name=Dynamic Glass +tile.BasicBlock.DynamicValve.name=Dynamic Valve +tile.BasicBlock.CopperBlock.name=Copper Block +tile.BasicBlock.TinBlock.name=Tin Block +tile.BasicBlock.SalinationController.name=Salination Controller +tile.BasicBlock.SalinationValve.name=Salination Valve + +//Basic Block 2 (second ID iteration) +tile.BasicBlock2.SalinationBlock.name=Salination Block + +//Machine Block +tile.MachineBlock.EnrichmentChamber.name=Enrichment Chamber +tile.MachineBlock.OsmiumCompressor.name=오스뮴 Compressor +tile.MachineBlock.Combiner.name=Combiner +tile.MachineBlock.Crusher.name=Crusher +tile.MachineBlock.BasicFactory.name=Basic Factory +tile.MachineBlock.AdvancedFactory.name=고급 Factory +tile.MachineBlock.EliteFactory.name=Elite Factory +tile.MachineBlock.MetallurgicInfuser.name=Metallurgic Infuser +tile.MachineBlock.PurificationChamber.name=Purification Chamber +tile.MachineBlock.EnergizedSmelter.name=Energized Smelter +tile.MachineBlock.Teleporter.name=Teleporter +tile.MachineBlock.ElectricPump.name=Electric Pump +tile.MachineBlock.ElectricChest.name=Electric Chest +tile.MachineBlock.Chargepad.name=Chargepad +tile.MachineBlock.LogisticalSorter.name=Logistical Sorter +tile.MachineBlock.DigitalMiner.name=Digital Miner + +//Machine Block 2 (second ID iteration) +tile.MachineBlock2.RotaryCondensentrator.name=Rotary Condensentrator +tile.MachineBlock2.ChemicalOxidizer.name=Chemical Oxidizer +tile.MachineBlock2.ChemicalInfuser.name=Chemical Infuser +tile.MachineBlock2.ChemicalCombiner.name=Chemical Combiner +tile.MachineBlock2.ChemicalInjectionChamber.name=Chemical Injection Chamber +tile.MachineBlock2.ElectrolyticSeparator.name=Electrolytic Separator +tile.MachineBlock2.PrecisionSawmill.name=Precision Sawmill +tile.MachineBlock2.ChemicalDissolutionChamber.name=Chemical Dissolution Chamber +tile.MachineBlock2.ChemicalWasher.name=Chemical Washer +tile.MachineBlock2.ChemicalCrystallizer.name=Chemical Crystallizer +tile.MachineBlock2.SeismicVibrator.name=Seismic Vibrator +tile.MachineBlock2.PressurizedReactionChamber.name=Pressurized Reaction Chamber +tile.MachineBlock2.PressurizedReactionChamber.short.name=PRC +tile.MachineBlock2.PortableTank.name=Portable Tank +tile.MachineBlock2.FluidicPlenisher.name=Fluidic Plenisher + +//Plastic +tile.PlasticBlock.name=Plastic Block +tile.SlickPlasticBlock.name=Slick Plastic Block +tile.GlowPlasticBlock.name=Plastic Glow Block +tile.ReinforcedPlasticBlock.name=Reinforced Plastic Block +tile.RoadPlasticBlock.name=Plastic Road + +tile.PlasticFence.name=Plastic Barrier + +//Infuse types +infuse.carbon=Carbon +infuse.tin=Tin +infuse.diamond=Diamond +infuse.redstone=Redstone +infuse.fungi=Fungi +infuse.obsidian=옵시디언 + +//Ore Block +tile.OreBlock.OsmiumOre.name=오스뮴 Ore +tile.OreBlock.CopperOre.name=Copper Ore +tile.OreBlock.TinOre.name=Tin Ore + +//Transmitters +item.MultipartTransmitter.PressurizedTube.name=Pressurized Tube +item.MultipartTransmitter.BasicUniversalCable.name=Basic Universal Cable +item.MultipartTransmitter.AdvancedUniversalCable.name=고급 Universal Cable +item.MultipartTransmitter.EliteUniversalCable.name=Elite Universal Cable +item.MultipartTransmitter.UltimateUniversalCable.name=Ultimate Universal Cable +item.MultipartTransmitter.BasicMechanicalPipe.name=Basic Mechanical Pipe +item.MultipartTransmitter.AdvancedMechanicalPipe.name=고급 Mechanical Pipe +item.MultipartTransmitter.EliteMechanicalPipe.name=Elite Mechanical Pipe +item.MultipartTransmitter.UltimateMechanicalPipe.name=Ultimate Mechanical Pipe +item.MultipartTransmitter.LogisticalTransporter.name=Logistical Transporter +item.MultipartTransmitter.RestrictiveTransporter.name=Restrictive Transporter +item.MultipartTransmitter.DiversionTransporter.name=Diversion Transporter + +//Glow Panel +item.GlowPanel.name=Glow Panel + +//Energy Cubes +tile.EnergyCube.Basic.name=Basic Energy Cube +tile.EnergyCube.고급.name=고급 Energy Cube +tile.EnergyCube.Elite.name=Elite Energy Cube +tile.EnergyCube.Ultimate.name=Ultimate Energy Cube + +//Dust +item.ironDust.name=Iron Dust +item.goldDust.name=Gold Dust +item.osmiumDust.name=오스뮴 Dust +item.obsidianDust.name=Refined 옵시디언 Dust +item.diamondDust.name=Diamond Dust +item.steelDust.name=강철 Dust +item.copperDust.name=Copper Dust +item.tinDust.name=Tin Dust +item.silverDust.name=Silver Dust +item.leadDust.name=Lead Dust +item.sulfurDust.name=Sulfur Dust + +//Clumps +item.ironClump.name=Iron Clump +item.goldClump.name=Gold Clump +item.osmiumClump.name=오스뮴 Clump +item.copperClump.name=Copper Clump +item.tinClump.name=Tin Clump +item.silverClump.name=Silver Clump +item.obsidianClump.name=옵시디언 Clump +item.leadClump.name=Lead Clump + +//Shards +item.ironShard.name=Iron Shard +item.goldShard.name=Gold Shard +item.osmiumShard.name=오스뮴 Shard +item.copperShard.name=Copper Shard +item.tinShard.name=Tin Shard +item.silverShard.name=Silver Shard +item.obsidianShard.name=옵시디언 Shard +item.leadShard.name=Lead Shard + +//Crystals +item.ironCrystal.name=Iron Crystal +item.goldCrystal.name=Gold Crystal +item.osmiumCrystal.name=오스뮴 Crystal +item.copperCrystal.name=Copper Crystal +item.tinCrystal.name=Tin Crystal +item.silverCrystal.name=Silver Crystal +item.obsidianCrystal.name=옵시디언 Crystal +item.leadCrystal.name=Lead Crystal + +//Dirty Dust +item.dirtyIronDust.name=Dirty Iron Dust +item.dirtyGoldDust.name=Dirty Gold Dust +item.dirtyOsmiumDust.name=Dirty 오스뮴 Dust +item.dirtyCopperDust.name=Dirty Copper Dust +item.dirtyTinDust.name=Dirty Tin Dust +item.dirtySilverDust.name=Dirty Silver Dust +item.dirtyObsidianDust.name=Dirty 옵시디언 Dust +item.dirtyLeadDust.name=Dirty Lead Dust + +//Ingots +item.obsidianIngot.name=옵시디언 Ingot +item.osmiumIngot.name=오스뮴 Ingot +item.bronzeIngot.name=청동 Ingot +item.glowstoneIngot.name=발광석 Ingot +item.steelIngot.name=강철 Ingot +item.copperIngot.name=Copper Ingot +item.tinIngot.name=Tin Ingot + +//Gasses +gas.hydrogen=Hydrogen +gas.oxygen=Oxygen +gas.water=Water Vapor +gas.chlorine=Chlorine +gas.sulfurDioxideGas=Sulfur Dioxide +gas.sulfurTrioxideGas=Sulfur Trioxide +gas.sulfuricAcid=Sulfuric Acid +gas.hydrogenChloride=Hydrogen Chloride +gas.liquidOsmium=Liquid 오스뮴 +gas.liquidStone=Liquid Stone +gas.ethene=Ethylene +gas.sodium=Sodium +gas.brine=Gaseous Brine + +gas.iron=Iron Slurry +gas.gold=Gold Slurry +gas.osmium=오스뮴 Slurry +gas.copper=Copper Slurry +gas.tin=Tin Slurry +gas.silver=Silver Slurry +gas.obsidian=옵시디언 Slurry +gas.lead=Lead Slurry + +gas.cleanIron=Clean Iron Slurry +gas.cleanGold=Clean Gold Slurry +gas.cleanOsmium=Clean 오스뮴 Slurry +gas.cleanCopper=Clean Copper Slurry +gas.cleanTin=Clean Tin Slurry +gas.cleanSilver=Clean Silver Slurry +gas.cleanObsidian=Clean 옵시디언 Slurry +gas.cleanLead=Clean Lead Slurry + +//BC Fuel Gases +gas.fuel=Vaporized Fuel +gas.oil=Vaporized Oil + +//Fluids +fluid.hydrogen=Liquid Hydrogen +fluid.oxygen=Liquid Oxygen +fluid.chlorine=Liquid Chlorine +fluid.sulfurDioxideGas=Liquid Sulfur Dioxide +fluid.sulfurTrioxideGas=Liquid Sulfur Trioxide +fluid.sulfuricAcid=Liquid Sulfuric Acid +fluid.hydrogenChloride=Liquid Hydrogen Chloride +fluid.brine=Brine +fluid.ethene=Liquid Ethylene +fluid.sodium=Liquid Sodium + +//OreGas names +oregas.iron=Iron Ore +oregas.gold=Gold Ore +oregas.osmium=오스뮴 Ore +oregas.copper=Copper Ore +oregas.tin=Tin Ore +oregas.silver=Silver Ore +oregas.obsidian=옵시디언 Ore +oregas.lead=Lead Ore + +//Update handler text +update.consider=Consider updating to version +update.newFeatures=New features +update.visit=Visit +update.toDownload=to download +update.devBuild=Using developer build +update.outdated=Using outdated version on one or more modules + +//Key description text +key.mode=Mode Switch +key.voice=Voice + +//Config Gui +mekanism.configgui.ctgy.general.tooltip=General settings regarding Mekanism and all its modules +mekanism.configgui.ctgy.usage.tooltip=Settings regarding machinery and their energy usage + +//Gui text +gui.removeSpeedUpgrade=Remove speed upgrade +gui.removeEnergyUpgrade=Remove energy upgrade +gui.condensentrating=Condensentrating +gui.decondensentrating=Decondensentrating +gui.power=Power +gui.confirm=Confirm +gui.open=Open +gui.allOK=All OK +gui.none=None +gui.new=New +gui.edit=Edit +gui.save=Save +gui.output=Output +gui.delete=Delete +gui.status=Status +gui.autoEject=Auto-eject +gui.itemstack=ItemStack +gui.oredict=OreDict +gui.material=Material +gui.out=Out +gui.noFluid=No fluid +gui.empty=Empty +gui.volume=Volume +gui.start=Start +gui.stop=Stop +gui.config=Config +gui.teleport=Teleport +gui.eject=Eject +gui.input=Input +gui.slots=Slots +gui.state=State +gui.on=On +gui.off=Off +gui.filters=Filters +gui.idle=Idle +gui.data=Data +gui.newFilter=New Filter +gui.energy=Energy +gui.gas=Gas +gui.dumping=Dumping +gui.dumping_excess=Dumping Excess +gui.modID=Mod ID +gui.key=Key +gui.id=ID +gui.finished=Finished + +gui.chemicalInfuser.short=C. Infuser +gui.chemicalDissolutionChamber.short=C. Dissolution Chamber + +gui.dictionary.noKey=No key. + +gui.configuration=Configuration +gui.configuration.strictInput=Strict Input + +gui.rotaryCondensentrator.toggleOperation=Toggle operation + +gui.factory.secondaryEnergy=Secondary energy +gui.factory.smelting=Smelting +gui.factory.enriching=Enriching +gui.factory.crushing=Crushing +gui.factory.compressing=Compressing +gui.factory.combining=Combining +gui.factory.purifying=Purifying +gui.factory.injecting=Injecting +gui.factory.autoSort=Auto-sort + +gui.seismicReader.short=S. Reader +gui.seismicReader.solids=Solids +gui.seismicReader.fluids=Fluids +gui.seismicReader.reading=Reading + +gui.filterSelect.title=Create New Filter + +gui.oredictFilter=OreDict Filter +gui.oredictFilter.noKey=No key +gui.oredictFilter.sameKey=Same key + +gui.modIDFilter=Mod ID Filter +gui.modIDFilter.noID=No ID +gui.modIDFilter.sameID=Same ID + +gui.itemFilter=Item Filter +gui.itemFilter.noItem=No item +gui.itemFilter.details=ItemStack Details +gui.itemFilter.min=Min +gui.itemFilter.max=Max + +gui.materialFilter=Material Filter +gui.materialFilter.details=Using material of + +gui.portableTeleporter=Portable Teleporter + +gui.robit=Robit +entity.Robit.name=Robit +gui.robit.smelting=Robit Smelting +gui.robit.inventory=Robit Inventory +gui.robit.crafting=Robit Crafting +gui.robit.greeting=Hi, I'm +gui.robit.toggleFollow=Toggle 'follow' mode +gui.robit.rename=Rename this Robit +gui.robit.teleport=Teleport back home +gui.robit.togglePickup=Toggle 'drop pickup' mode +gui.robit.following=Following +gui.robit.dropPickup=Drop pickup +gui.robit.owner=Owner + +gui.password.setPassword=Set password +gui.password.enterPassword=Enter password +gui.password.fieldsEmpty=Field(s) empty +gui.password.notMatching=Not matching +gui.password.identical=Identical +gui.password.invalid=Invalid +gui.password=Password + +gui.logisticalSorter.default=Default +gui.logisticalSorter.auto=Auto +gui.logisticalSorter.roundRobin=Round-robin + +gui.electricChest.editPassword=Edit Password + +gui.teleporter.notReady=Not ready +gui.teleporter.ready=Ready +gui.teleporter.noFrame=No frame +gui.teleporter.noLink=No link +gui.teleporter.exceeds=Links > 2 +gui.teleporter.needsEnergy=Needs energy + +gui.digitalMinerConfig=Digital Miner Config + +gui.digitalMiner.autoPull=Auto-pull +gui.digitalMiner.replaceBlock=Replace block +gui.digitalMiner.reset=Reset +gui.digitalMiner.silkTouch=Silk touch +gui.digitalMiner.pull=Pull +gui.digitalMiner.silk=Silk +gui.digitalMiner.toMine=To mine +gui.digitalMiner.running=Running +gui.digitalMiner.inverse=Inverse mode + +//Recipe names +recipe.mekanismShaped=Shaped + +//Item and block tooltip text +tooltip.configurator.configurate=Configurate +tooltip.configurator.empty=Empty +tooltip.configurator.rotate=Rotate +tooltip.configurator.wrench=Wrench +tooltip.configurator.pumpReset=Reset Electric Pump calculation +tooltip.configurator.toggleDiverter=Diverter mode changed to +tooltip.configurator.toggleColor=Color bumped to +tooltip.configurator.viewColor=Current color +tooltip.configurator.unauth=This chest is locked +tooltip.configurator.noLink=No link +tooltip.configurator.linkMsg=Bound to +tooltip.configurator.dim=dimension +tooltip.configurator.setLink=Set link to block +tooltip.configurator.plenisherReset=Reset Fluidic Plenisher calculation + +tooltip.upgrade.speed=속도 +tooltip.upgrade.energy=에너지 + +tooltip.inventory=인벤토리 +tooltip.storedEnergy=Stored energy +tooltip.auth=Authenticated +tooltip.locked=Locked +tooltip.recipeType=Recipe type +tooltip.hold=Hold +tooltip.forDesc=for a description +tooltip.forDetails=for details +tooltip.fireMode=Fire Mode +tooltip.capacity=Capacity +tooltip.pumpRate=Pump Rate +tooltip.items=Items +tooltip.blocks=Blocks +tooltip.universal=universal +tooltip.fluids=Fluids +tooltip.gasses=Gasses +tooltip.capableTrans=Capable of transferring +tooltip.restrictiveDesc=Only used if no other paths available +tooltip.diversionDesc=Controllable by redstone +tooltip.noGas=No gas stored +tooltip.stored=Stored +tooltip.channel=Channel +tooltip.mode=Mode +tooltip.efficiency=Efficiency +tooltip.modeToggle=Mode toggled to +tooltip.flowing=Flowing +tooltip.yes=yes +tooltip.no=no +tooltip.name=Name +tooltip.blockData=Block data +tooltip.block=Block +tooltip.meta=Metadata +tooltip.tile=Tile +tooltip.keysFound=Key(s) found +tooltip.noKey=No key +tooltip.hp=HP +tooltip.configureState=Configure State + +tooltip.portableTank.bucketMode=Bucket Mode + +tooltip.disassembler.normal=normal +tooltip.disassembler.slow=slow +tooltip.disassembler.fast=fast +tooltip.disassembler.vein=vein +tooltip.disassembler.off=off + +tooltip.filterCard.got=Retrieved filter data from %s +tooltip.filterCard.set=Injected filter data of type %s +tooltip.filterCard.unequal=Unequal filter data formats +tooltip.filterCard.logisticalSorter=Logistical Sorter +tooltip.filterCard.digitalMiner=Digital Miner + +tooltip.balloon=Balloon + +tooltip.jetpack.regular=Regular +tooltip.jetpack.hover=Hover +tooltip.jetpack.disabled=Disabled + +tooltip.seismicReader.needsEnergy=Not enough energy to interpret vibration +tooltip.seismicReader.noVibrations=Unable to discover any vibrations + +tooltip.EnrichmentChamber=A simple machine used to enrich ores into !ntwo of their dust counterparts, as well as !nperform many other operations. +tooltip.OsmiumCompressor=A fairly advanced machine used to compress !nosmium into various dusts in order to create !ntheir ingot counterparts. +tooltip.Combiner=A machine used to combine dusts and cobblestone !nto form their ore counterparts. +tooltip.Crusher=A machine used to crush ingots into their dust counterparts, !nas well as perform many other operations. +tooltip.DigitalMiner=A highly-advanced, filter-based, auto-miner !nthat can mine whatever block you tell it to !nwithin a 32 block (max) radius. +tooltip.BasicFactory=The lowest tier of the line of Factories, !nwhich can be used to process multiple !nmachine operations at once. +tooltip.AdvancedFactory=The middle tier of the line of Factories, !nwhich can be used to process multiple !nmachine operations at once. +tooltip.EliteFactory=The highest tier of the line of Factories, !nwhich can be used to process multiple !nmachine operations at once. +tooltip.MetallurgicInfuser=A machine used to infuse various materials !ninto (generally) metals to create metal alloys !nand other compounds. +tooltip.PurificationChamber=An advanced machine capable of processing !nores into three clumps, serving as the initial !nstage of 300% ore processing. +tooltip.EnergizedSmelter=A simple machine that serves as a Mekanism-based !nfurnace that runs off of energy. +tooltip.Teleporter=A machine capable of teleporting players to various !nlocations defined by another teleporter. +tooltip.ElectricPump=An advanced pump capable of pumping !nout an entire lava lake. +tooltip.ElectricChest=A portable, 54-slot chest that uses energy to lock !nitself from others by means of password protection. +tooltip.Chargepad=A universal chargepad that can charge !nany energized item from any mod. +tooltip.LogisticalSorter=A filter-based, advanced sorting machine that !ncan auto-eject specified items out of and into !nadjacent inventories and Logistical Transporters. +tooltip.RotaryCondensentrator=A machine capable of converting gasses into !ntheir fluid form and vice versa. +tooltip.ChemicalInjectionChamber=An elite machine capable of processing !nores into four shards, serving as the initial !nstage of 400% ore processing. +tooltip.ElectrolyticSeparator=A machine that uses the process of !nelectrolysis to split apart a certain !ngas into two different gasses. +tooltip.PrecisionSawmill=A machine used to process logs and other !nwood-based items more efficiently, as well !nas to obtain sawdust. +tooltip.ChemicalDissolutionChamber=An ultimate machine used to chemically !ndissolve all impurities of an ore, !nleaving an unprocessed slurry behind. +tooltip.ChemicalWasher=An ultimate machine that cleans unprocessed !nslurry and prepares it for crystallization. +tooltip.ChemicalCrystallizer=An ultimate machine used to crystallize !npurified ore slurry into ore crystals. +tooltip.ChemicalOxidizer=A machine capable of oxidizing !nsolid materials into gas phase. +tooltip.ChemicalInfuser=A machine that produces a new !ngas by infusing two others. +tooltip.SeismicVibrator=A machine that uses seismic vibrations to !nprovide information on differing layers !nof the world. +tooltip.PressurizedReactionChamber=An advanced machine that processes a !nsolid, liquid and gaseous mixture and !ncreates both a gaseous and solid product. +tooltip.PortableTank=A handy, portable tank that lets you !ncarry 14 buckets of fluid wherever you !nplease. Also doubles as a bucket! +tooltip.FluidicPlenisher=A machine that is capable of creating entire !nlakes by filling ravines with fluids. + +tooltip.HeatGenerator=A generator that uses the heat of lava or !nother burnable resources to produce energy. +tooltip.SolarGenerator=A generator that uses the power !nof the sun to produce energy. +tooltip.GasGenerator=A generator that harnesses the molecular !nvarying gasses to produce energy. +tooltip.BioGenerator=A generator that burns organic materials of !nthe world to produce energy. +tooltip.AdvancedSolarGenerator=An advanced generator that directly !nabsorbs the sun's rays with little loss !nto produce energy. +tooltip.WindTurbine=A generator that uses the strength of the wind !nto produce energy, with greater efficiency !nat higher levels. + +tooltip.OsmiumOre=A strong mineral that can be found !nat nearly any height in the world. !nIt is known to have many uses in !nthe construction of machinery. +tooltip.CopperOre=A common, conductive material that !ncan be used in the production of !nwires. Its ability to withstand !nhigh heats also makes it essential !nto advanced machinery. +tooltip.TinOre=A lightweight, yet sturdy, conductive !nmaterial that is found slightly less !ncommonly than Copper. + +//Redstone control +control.disabled=비활성화 +control.high=높음 +control.low=낮음 +control.disabled.desc=언제나 실행 +control.high.desc=신호가 있으면 실행 +control.low.desc=신호가 없는 실행 + +//Container edit modes +fluidedit.both=Both +fluidedit.fill=Fill +fluidedit.empty=비어있음 + +//Colors +color.black=검은색 +color.darkBlue=짙은 파란색 +color.darkGreen=짙은 초록색 +color.darkAqua=짙은 아쿠아 +color.darkRed=짙은 빨간색 +color.purple=보라색 +color.orange=주황색 +color.grey=회색 +color.darkGrey=짙은 회색 +color.indigo=인디고 +color.brightGreen=밝은 초록색 +color.aqua=아쿠아 +color.red=빨간색 +color.pink=분홍색 +color.yellow=노랑색 +color.white=하양색 +color.brown=갈색 +color.brightPink=밝은 분홍 + +//Dyes +dye.black=검은색 +dye.darkBlue=파랑색 +dye.brown=갈색 +dye.darkGreen=초록색 +dye.darkAqua=청록색 +dye.darkRed=짙은 빨간색 +dye.purple=보라색 +dye.orange=주황색 +dye.grey=밝은 회색 +dye.darkGrey=회색 +dye.indigo=밝은 회색 +dye.brightGreen=연두색 +dye.aqua=아쿠아 +dye.red=빨간색 +dye.brightPink=분홍색 +dye.pink=다홍색 +dye.yellow=노랑색 +dye.white=하양색 + +//Creative tab +itemGroup.tabMekanism=메카니즘[Mekanism] + +//NEI stuff +nei.chemicalInjectionChamber=C. 주입기 +nei.rotaryCondensentrator=R. Condensentrator + +//**********// +//GENERATORS// +//**********// + +//Items +item.BioFuel.name=바이오연료 +item.SolarPanel.name=태양열 패널 + +//Infuse types +infuse.bio=바이오매스 + +//Generators +tile.Generator.HeatGenerator.name=지열 발전기 +tile.Generator.SolarGenerator.name=태양열 발전기 +tile.Generator.GasGenerator.name=가스 발전기 +tile.Generator.BioGenerator.name=바이오연료 발전기 +tile.Generator.AdvancedSolarGenerator.name=고급 태양열 발전기 +tile.Generator.WindTurbine.name=풍차 + +//Gui text +gui.heatGenerator.fuel=연료 +gui.solarGenerator.sun=태양 +gui.bioGenerator.bioFuel=바이오연료 +gui.electrolyticSeparator.dump=덤프 + +//*****// +//TOOLS// +//*****// + +//Vanilla Paxels +item.WoodPaxel.name=나무 팩셀 +item.StonePaxel.name=돌 팩셀 +item.IronPaxel.name=철 팩셀 +item.DiamondPaxel.name=다이아몬드 팩셀 +item.GoldPaxel.name=금 팩셀 + +//Obsidian +item.ObsidianHelmet.name=옵시디언 헬맷 +item.ObsidianChestplate.name=옵시디언 갑옷 +item.ObsidianLeggings.name=옵시디언 레깅스 +item.ObsidianBoots.name=옵시디언 부츠 +item.ObsidianPaxel.name=옵시디언 팩셀 +item.ObsidianPickaxe.name=옵시디언 곡괭이 +item.ObsidianAxe.name=옵시디언 도끼 +item.ObsidianShovel.name=옵시디언 삽 +item.ObsidianHoe.name=옵시디언 괭이 +item.ObsidianSword.name=옵시디언 검 + +//Lazuli +item.LazuliHelmet.name=라피스 헬맷 +item.LazuliChestplate.name=라피스 갑옷 +item.LazuliLeggings.name=라피스 레깅스 +item.LazuliBoots.name=라피스 부츠 +item.LazuliPaxel.name=라피스 팩셀 +item.LazuliPickaxe.name=라피스 곡괭이 +item.LazuliAxe.name=라피스 도끼 +item.LazuliShovel.name=라피스 삽 +item.LazuliHoe.name=라피스 괭이 +item.LazuliSword.name=라피스 검 + +//Osmium +item.OsmiumHelmet.name=오스뮴 헬맷 +item.OsmiumChestplate.name=오스뮴 갑옷 +item.OsmiumLeggings.name=오스뮴 레깅스 +item.OsmiumBoots.name=오스뮴 부츠 +item.OsmiumPaxel.name=오스뮴 팩셀 +item.OsmiumPickaxe.name=오스뮴 곡괭이 +item.OsmiumAxe.name=오스뮴 도끼 +item.OsmiumShovel.name=오스뮴 삽 +item.OsmiumHoe.name=오스뮴 괭이 +item.OsmiumSword.name=오스뮴 검 + +//청동 +item.BronzeHelmet.name=청동 헬맷 +item.BronzeChestplate.name=청동 갑옷 +item.BronzeLeggings.name=청동 레깅스 +item.BronzeBoots.name=청동 부츠 +item.BronzePaxel.name=청동 팩셀 +item.BronzePickaxe.name=청동 곡괭이 +item.BronzeAxe.name=청동 도끼 +item.BronzeShovel.name=청동 삽 +item.BronzeHoe.name=청동 괭이 +item.BronzeSword.name=청동 검 + +//Glow +item.GlowstoneHelmet.name=발광석 헬맷 +item.GlowstoneChestplate.name=발광석 갑옷 +item.GlowstoneLeggings.name=발광석 레깅스 +item.GlowstoneBoots.name=발광석 부츠 +item.GlowstonePaxel.name=발광석 팩셀 +item.GlowstonePickaxe.name=발광석 곡괭이 +item.GlowstoneAxe.name=발광석 도끼 +item.GlowstoneShovel.name=발광석 삽 +item.GlowstoneHoe.name=발광석 괭이 +item.GlowstoneSword.name=발광석 검 + +//Steel +item.SteelHelmet.name=강철 헬맷 +item.SteelChestplate.name=강철 갑옷 +item.SteelLeggings.name=강철 레깅스 +item.SteelBoots.name=강철 부츠 +item.SteelPaxel.name=강철 팩셀 +item.SteelPickaxe.name=강철 곡괭이 +item.SteelAxe.name=강철 도끼 +item.SteelShovel.name=강철 삽 +item.SteelHoe.name=강철 괭이 +item.SteelSword.name=강철 검 + +//Config Gui +mekanism.configgui.ctgy.tools.general.tooltip=일반 설정 +mekanism.configgui.ctgy.tools.armor.tooltip=갑옷 툴팁 설정 +mekanism.configgui.ctgy.tools.tools.tooltip=도구 툴팁 설정 From 5011ea1c7076ca578cdbc6f3dd73b43ae5aae69f Mon Sep 17 00:00:00 2001 From: jmongeon Date: Fri, 26 Sep 2014 20:35:43 -0400 Subject: [PATCH 09/10] Add comparator support to the GasTank (#1829). --- .../mekanism/common/block/BlockGasTank.java | 13 +++++++++++ .../common/tile/TileEntityGasTank.java | 23 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/main/java/mekanism/common/block/BlockGasTank.java b/src/main/java/mekanism/common/block/BlockGasTank.java index a98018019..7e74b0c44 100644 --- a/src/main/java/mekanism/common/block/BlockGasTank.java +++ b/src/main/java/mekanism/common/block/BlockGasTank.java @@ -219,6 +219,19 @@ public class BlockGasTank extends BlockContainer return itemStack; } + @Override + public boolean hasComparatorInputOverride() + { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int par5) + { + TileEntityGasTank tileEntity = (TileEntityGasTank)world.getTileEntity(x, y, z); + return tileEntity.getRedstoneLevel(); + } + @Override public ForgeDirection[] getValidRotations(World world, int x, int y, int z) { diff --git a/src/main/java/mekanism/common/tile/TileEntityGasTank.java b/src/main/java/mekanism/common/tile/TileEntityGasTank.java index 6944c9eae..a7e13ecb7 100644 --- a/src/main/java/mekanism/common/tile/TileEntityGasTank.java +++ b/src/main/java/mekanism/common/tile/TileEntityGasTank.java @@ -21,6 +21,7 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityGasTank extends TileEntityContainerBlock implements IGasHandler, ITubeConnection, IRedstoneControl @@ -42,6 +43,8 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH public Mode dumping; + public int currentGasAmount; + /** This machine's current RedstoneControl type. */ public RedstoneControl controlType; @@ -90,6 +93,17 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH { gasTank.draw(output, true); } + + if(!worldObj.isRemote) + { + int newGasAmount = gasTank.getStored(); + + if(newGasAmount != this.currentGasAmount) + { + markDirty(); + this.currentGasAmount = newGasAmount; + } + } } @Override @@ -265,6 +279,15 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH return true; } + public int getRedstoneLevel() + { + int stored = gasTank.getStored(); + + if(stored == 0) return 0; + + return MathHelper.floor_float((float)stored / (float)MAX_GAS * 14.0f + 1.0f); + } + @Override public RedstoneControl getControlType() { From 6ff7ece3bc94c65161ccdd262db4c0234510315c Mon Sep 17 00:00:00 2001 From: "[MMKP]Puyo061" Date: Sat, 27 Sep 2014 20:23:50 +0900 Subject: [PATCH 10/10] Update ko_KR.lang --- .../resources/assets/mekanism/lang/ko_KR.lang | 422 +++++++++--------- 1 file changed, 211 insertions(+), 211 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/ko_KR.lang b/src/main/resources/assets/mekanism/lang/ko_KR.lang index 4e3c7e4c2..d91670595 100644 --- a/src/main/resources/assets/mekanism/lang/ko_KR.lang +++ b/src/main/resources/assets/mekanism/lang/ko_KR.lang @@ -4,28 +4,28 @@ //Items tile.ObsidianTNT.name=옵시디언 TNT -item.EnrichedAlloy.name=Enriched Alloy -item.ReinforcedAlloy.name=Reinforced Alloy -item.AtomicAlloy.name=Atomic Alloy +item.EnrichedAlloy.name=강화 합금 +item.ReinforcedAlloy.name=강화된 합금 +item.AtomicAlloy.name=Atomic 합금 item.EnergyTablet.name=Energy Tablet item.SpeedUpgrade.name=Speed Upgrade item.EnergyUpgrade.name=Energy Upgrade item.Robit.name=Robit item.AtomicDisassembler.name=Atomic Disassembler -item.ElectricBow.name=Electric Bow -item.EnrichedIron.name=Enriched Iron -item.CompressedCarbon.name=Compressed Carbon -item.CompressedRedstone.name=Compressed Redstone -item.CompressedDiamond.name=Compressed Diamond -item.CompressedObsidian.name=Compressed 옵시디언 +item.ElectricBow.name=전기 Bow +item.EnrichedIron.name=Enriched 철 +item.CompressedCarbon.name=압축된 Carbon +item.CompressedRedstone.name=압축된 Redstone +item.CompressedDiamond.name=압축된 다이아몬드 +item.CompressedObsidian.name=압축된 옵시디언 item.PortableTeleporter.name=Portable Teleporter item.TeleportationCore.name=Teleportation Core item.Configurator.name=Configurator item.NetworkReader.name=Network Reader item.WalkieTalkie.name=Walkie-Talkie -item.Jetpack.name=Jetpack -item.ScubaTank.name=Scuba Tank -item.GasMask.name=Gas Mask +item.Jetpack.name=제트팩 +item.ScubaTank.name=Scuba 탱크 +item.GasMask.name=가스 마스크 item.Dictionary.name=Dictionary item.ElectrolyticCore.name=Electrolytic Core item.Sawdust.name=Sawdust @@ -36,67 +36,67 @@ item.ArmoredJetpack.name=Armored Jetpack item.FilterCard.name=Filter Card item.SeismicReader.name=Seismic Reader item.HDPEPellet.name=HDPE Pellet -item.HDPERod.name=HDPE Rod +item.HDPERod.name=HDPE 길 item.HDPESheet.name=HDPE Sheet item.PlaStick.name=PlaStick item.Substrate.name=Substrate //Control Circuits -item.BasicControlCircuit.name=Basic Control Circuit -item.AdvancedControlCircuit.name=고급 Control Circuit -item.EliteControlCircuit.name=Elite Control Circuit -item.UltimateControlCircuit.name=Ultimate Control Circuit +item.BasicControlCircuit.name=기본 조작 회로 +item.AdvancedControlCircuit.name=고급 조작 회로 +item.EliteControlCircuit.name=엘리트 조작 회로 +item.UltimateControlCircuit.name=울티베이트 조작 회로 //Gas Tank -tile.GasTank.GasTank.name=Gas Tank +tile.GasTank.GasTank.name=Gas 탱크 //Cardboard Box tile.CardboardBox.name=Cardboard Box //Bounding Block -tile.BoundingBlock.name=Bounding Block +tile.BoundingBlock.name=Bounding 블럭 //Salt -tile.SaltBlock.name=Salt Block +tile.SaltBlock.name=소금 블럭 //Basic Block -tile.BasicBlock.OsmiumBlock.name=오스뮴 Block -tile.BasicBlock.BronzeBlock.name=청동 Block -tile.BasicBlock.RefinedObsidian.name=Refined 옵시디언 -tile.BasicBlock.CharcoalBlock.name=Charcoal Block -tile.BasicBlock.RefinedGlowstone.name=Refined 발광석 -tile.BasicBlock.SteelBlock.name=강철 Block +tile.BasicBlock.OsmiumBlock.name=오스뮴 블럭 +tile.BasicBlock.BronzeBlock.name=청동 블럭 +tile.BasicBlock.RefinedObsidian.name=강화된 옵시디언 +tile.BasicBlock.CharcoalBlock.name=목탄 블럭 +tile.BasicBlock.RefinedGlowstone.name=강화된 발광석 +tile.BasicBlock.SteelBlock.name=강철 블럭 tile.BasicBlock.Bin.name=Bin tile.BasicBlock.TeleporterFrame.name=Teleporter Frame tile.BasicBlock.SteelCasing.name=강철 Casing -tile.BasicBlock.DynamicTank.name=Dynamic Tank -tile.BasicBlock.DynamicGlass.name=Dynamic Glass -tile.BasicBlock.DynamicValve.name=Dynamic Valve -tile.BasicBlock.CopperBlock.name=Copper Block -tile.BasicBlock.TinBlock.name=Tin Block -tile.BasicBlock.SalinationController.name=Salination Controller -tile.BasicBlock.SalinationValve.name=Salination Valve +tile.BasicBlock.DynamicTank.name=다이나믹 탱크 +tile.BasicBlock.DynamicGlass.name=다이나믹 유리 +tile.BasicBlock.DynamicValve.name=다이나믹 밸브 +tile.BasicBlock.CopperBlock.name=구리 블럭 +tile.BasicBlock.TinBlock.name=주석 블럭 +tile.BasicBlock.SalinationController.name=Salination 제어기 +tile.BasicBlock.SalinationValve.name=Salination 밸브 //Basic Block 2 (second ID iteration) -tile.BasicBlock2.SalinationBlock.name=Salination Block +tile.BasicBlock2.SalinationBlock.name=Salination 블럭 //Machine Block tile.MachineBlock.EnrichmentChamber.name=Enrichment Chamber tile.MachineBlock.OsmiumCompressor.name=오스뮴 Compressor tile.MachineBlock.Combiner.name=Combiner tile.MachineBlock.Crusher.name=Crusher -tile.MachineBlock.BasicFactory.name=Basic Factory -tile.MachineBlock.AdvancedFactory.name=고급 Factory -tile.MachineBlock.EliteFactory.name=Elite Factory +tile.MachineBlock.BasicFactory.name=기본 팩토리 +tile.MachineBlock.AdvancedFactory.name=고급 팩토리 +tile.MachineBlock.EliteFactory.name=엘리트 팩토리 tile.MachineBlock.MetallurgicInfuser.name=Metallurgic Infuser tile.MachineBlock.PurificationChamber.name=Purification Chamber tile.MachineBlock.EnergizedSmelter.name=Energized Smelter -tile.MachineBlock.Teleporter.name=Teleporter -tile.MachineBlock.ElectricPump.name=Electric Pump -tile.MachineBlock.ElectricChest.name=Electric Chest -tile.MachineBlock.Chargepad.name=Chargepad -tile.MachineBlock.LogisticalSorter.name=Logistical Sorter -tile.MachineBlock.DigitalMiner.name=Digital Miner +tile.MachineBlock.Teleporter.name=텔레포터 +tile.MachineBlock.ElectricPump.name=전기 펌프 +tile.MachineBlock.ElectricChest.name=전기 상자 +tile.MachineBlock.Chargepad.name=차지패드 +tile.MachineBlock.LogisticalSorter.name=논리 정렬기 +tile.MachineBlock.DigitalMiner.name=디지털 마이너 //Machine Block 2 (second ID iteration) tile.MachineBlock2.RotaryCondensentrator.name=Rotary Condensentrator @@ -112,186 +112,186 @@ tile.MachineBlock2.ChemicalCrystallizer.name=Chemical Crystallizer tile.MachineBlock2.SeismicVibrator.name=Seismic Vibrator tile.MachineBlock2.PressurizedReactionChamber.name=Pressurized Reaction Chamber tile.MachineBlock2.PressurizedReactionChamber.short.name=PRC -tile.MachineBlock2.PortableTank.name=Portable Tank +tile.MachineBlock2.PortableTank.name=Portable 탱크 tile.MachineBlock2.FluidicPlenisher.name=Fluidic Plenisher //Plastic -tile.PlasticBlock.name=Plastic Block -tile.SlickPlasticBlock.name=Slick Plastic Block -tile.GlowPlasticBlock.name=Plastic Glow Block -tile.ReinforcedPlasticBlock.name=Reinforced Plastic Block -tile.RoadPlasticBlock.name=Plastic Road +tile.PlasticBlock.name=플라스틱 블럭 +tile.SlickPlasticBlock.name=끈적거리는 플라스틱 블럭 +tile.GlowPlasticBlock.name=빛나는 플라스틱 블럭 +tile.ReinforcedPlasticBlock.name=강화된 플라스틱 블럭 +tile.RoadPlasticBlock.name=플라스틱 길 -tile.PlasticFence.name=Plastic Barrier +tile.PlasticFence.name=플라스틱 배리어 //Infuse types -infuse.carbon=Carbon -infuse.tin=Tin -infuse.diamond=Diamond -infuse.redstone=Redstone -infuse.fungi=Fungi +infuse.carbon=탄소 +infuse.tin=주석 +infuse.diamond=다이아몬드 +infuse.redstone=레드스톤 +infuse.fungi=균류 infuse.obsidian=옵시디언 //Ore Block -tile.OreBlock.OsmiumOre.name=오스뮴 Ore -tile.OreBlock.CopperOre.name=Copper Ore -tile.OreBlock.TinOre.name=Tin Ore +tile.OreBlock.OsmiumOre.name=오스뮴 광석 +tile.OreBlock.CopperOre.name=구리 광석 +tile.OreBlock.TinOre.name=주석 광석 //Transmitters -item.MultipartTransmitter.PressurizedTube.name=Pressurized Tube -item.MultipartTransmitter.BasicUniversalCable.name=Basic Universal Cable -item.MultipartTransmitter.AdvancedUniversalCable.name=고급 Universal Cable -item.MultipartTransmitter.EliteUniversalCable.name=Elite Universal Cable -item.MultipartTransmitter.UltimateUniversalCable.name=Ultimate Universal Cable -item.MultipartTransmitter.BasicMechanicalPipe.name=Basic Mechanical Pipe -item.MultipartTransmitter.AdvancedMechanicalPipe.name=고급 Mechanical Pipe -item.MultipartTransmitter.EliteMechanicalPipe.name=Elite Mechanical Pipe -item.MultipartTransmitter.UltimateMechanicalPipe.name=Ultimate Mechanical Pipe -item.MultipartTransmitter.LogisticalTransporter.name=Logistical Transporter -item.MultipartTransmitter.RestrictiveTransporter.name=Restrictive Transporter -item.MultipartTransmitter.DiversionTransporter.name=Diversion Transporter +item.MultipartTransmitter.PressurizedTube.name=가압 튜브 +item.MultipartTransmitter.BasicUniversalCable.name=기본 범용 케이블 +item.MultipartTransmitter.AdvancedUniversalCable.name=고급 범용 케이블 +item.MultipartTransmitter.EliteUniversalCable.name=엘리트 범용 케이블 +item.MultipartTransmitter.UltimateUniversalCable.name=궁극의 범용 케이블 +item.MultipartTransmitter.BasicMechanicalPipe.name=기본 기계적 파이프 +item.MultipartTransmitter.AdvancedMechanicalPipe.name=고급 기계적 파이프 +item.MultipartTransmitter.EliteMechanicalPipe.name=엘리트 기계적 파이프 +item.MultipartTransmitter.UltimateMechanicalPipe.name=궁극의 기계적 파이프 +item.MultipartTransmitter.LogisticalTransporter.name=논리적 수송기 +item.MultipartTransmitter.RestrictiveTransporter.name=제한적 수송기 +item.MultipartTransmitter.DiversionTransporter.name=우회적 수송기 //Glow Panel -item.GlowPanel.name=Glow Panel +item.GlowPanel.name=발광 패널 //Energy Cubes -tile.EnergyCube.Basic.name=Basic Energy Cube -tile.EnergyCube.고급.name=고급 Energy Cube -tile.EnergyCube.Elite.name=Elite Energy Cube -tile.EnergyCube.Ultimate.name=Ultimate Energy Cube +tile.EnergyCube.Basic.name=기본 에너지 큐브 +tile.EnergyCube.Advanced.name=고급 에너지 큐브 +tile.EnergyCube.Elite.name=엘리트 에너지 큐브 +tile.EnergyCube.Ultimate.name=궁극의 에너지 큐브 -//Dust -item.ironDust.name=Iron Dust -item.goldDust.name=Gold Dust -item.osmiumDust.name=오스뮴 Dust -item.obsidianDust.name=Refined 옵시디언 Dust -item.diamondDust.name=Diamond Dust -item.steelDust.name=강철 Dust -item.copperDust.name=Copper Dust -item.tinDust.name=Tin Dust -item.silverDust.name=Silver Dust -item.leadDust.name=Lead Dust -item.sulfurDust.name=Sulfur Dust +//가루 +item.ironDust.name=철 가루 +item.goldDust.name=금 가루 +item.osmiumDust.name=오스뮴 가루 +item.obsidianDust.name=강화된 옵시디언 가루 +item.diamondDust.name=다이아몬드 가루 +item.steelDust.name=강철 가루 +item.copperDust.name=구리 가루 +item.tinDust.name=주석 가루 +item.silverDust.name=은 가루 +item.leadDust.name=납 가루 +item.sulfurDust.name=유황 가루 //Clumps -item.ironClump.name=Iron Clump -item.goldClump.name=Gold Clump -item.osmiumClump.name=오스뮴 Clump -item.copperClump.name=Copper Clump -item.tinClump.name=Tin Clump -item.silverClump.name=Silver Clump -item.obsidianClump.name=옵시디언 Clump -item.leadClump.name=Lead Clump +item.ironClump.name=철 덩어리 +item.goldClump.name=금 덩어리 +item.osmiumClump.name=오스뮴 덩어리 +item.copperClump.name=구리 덩어리 +item.tinClump.name=주석 덩어리 +item.silverClump.name=은 덩어리 +item.obsidianClump.name=옵시디언 덩어리 +item.leadClump.name=납 덩어리 //Shards -item.ironShard.name=Iron Shard -item.goldShard.name=Gold Shard -item.osmiumShard.name=오스뮴 Shard -item.copperShard.name=Copper Shard -item.tinShard.name=Tin Shard -item.silverShard.name=Silver Shard -item.obsidianShard.name=옵시디언 Shard -item.leadShard.name=Lead Shard +item.ironShard.name=철 조각 +item.goldShard.name=금 조각 +item.osmiumShard.name=오스뮴 조각 +item.copperShard.name=구리 조각 +item.tinShard.name=주석 조각 +item.silverShard.name=은 조각 +item.obsidianShard.name=옵시디언 조각 +item.leadShard.name=납 조각 //Crystals -item.ironCrystal.name=Iron Crystal -item.goldCrystal.name=Gold Crystal -item.osmiumCrystal.name=오스뮴 Crystal -item.copperCrystal.name=Copper Crystal -item.tinCrystal.name=Tin Crystal -item.silverCrystal.name=Silver Crystal -item.obsidianCrystal.name=옵시디언 Crystal -item.leadCrystal.name=Lead Crystal +item.ironCrystal.name=철 수정 +item.goldCrystal.name=금 수정 +item.osmiumCrystal.name=오스뮴 수정 +item.copperCrystal.name=구리 수정 +item.tinCrystal.name=주석 수정 +item.silverCrystal.name=은 수정 +item.obsidianCrystal.name=옵시디언 수정 +item.leadCrystal.name=납 수정 //Dirty Dust -item.dirtyIronDust.name=Dirty Iron Dust -item.dirtyGoldDust.name=Dirty Gold Dust -item.dirtyOsmiumDust.name=Dirty 오스뮴 Dust -item.dirtyCopperDust.name=Dirty Copper Dust -item.dirtyTinDust.name=Dirty Tin Dust -item.dirtySilverDust.name=Dirty Silver Dust -item.dirtyObsidianDust.name=Dirty 옵시디언 Dust -item.dirtyLeadDust.name=Dirty Lead Dust +item.dirtyIronDust.name=더러운 철 가루 +item.dirtyGoldDust.name=더러운 금 가루 +item.dirtyOsmiumDust.name=더러운 오스뮴 가루 +item.dirtyCopperDust.name=더러운 구리 가루 +item.dirtyTinDust.name=더러운 주석 가루 +item.dirtySilverDust.name=더러운 은 가루 +item.dirtyObsidianDust.name=더러운 옵시디언 가루 +item.dirtyLeadDust.name=더러운 납 가루 //Ingots -item.obsidianIngot.name=옵시디언 Ingot -item.osmiumIngot.name=오스뮴 Ingot -item.bronzeIngot.name=청동 Ingot -item.glowstoneIngot.name=발광석 Ingot -item.steelIngot.name=강철 Ingot -item.copperIngot.name=Copper Ingot -item.tinIngot.name=Tin Ingot +item.obsidianIngot.name=옵시디언 주괴 +item.osmiumIngot.name=오스뮴 주괴 +item.bronzeIngot.name=청동 주괴 +item.glowstoneIngot.name=발광석 주괴 +item.steelIngot.name=강철 주괴 +item.copperIngot.name=구리 주괴 +item.tinIngot.name=주석 주괴 //Gasses -gas.hydrogen=Hydrogen -gas.oxygen=Oxygen -gas.water=Water Vapor -gas.chlorine=Chlorine -gas.sulfurDioxideGas=Sulfur Dioxide -gas.sulfurTrioxideGas=Sulfur Trioxide -gas.sulfuricAcid=Sulfuric Acid -gas.hydrogenChloride=Hydrogen Chloride -gas.liquidOsmium=Liquid 오스뮴 -gas.liquidStone=Liquid Stone -gas.ethene=Ethylene -gas.sodium=Sodium -gas.brine=Gaseous Brine +gas.hydrogen=수소 +gas.oxygen=산소 +gas.water=증류수 +gas.chlorine=염소 +gas.sulfurDioxideGas=이산화 황 +gas.sulfurTrioxideGas=산산화 황 +gas.sulfuricAcid=황산 +gas.hydrogenChloride=염화 수소 +gas.liquidOsmium=액화 오스뮴 +gas.liquidStone=액화 돌 +gas.ethene=에틸렌 +gas.sodium=나트륨 +gas.brine=기체 소금물 -gas.iron=Iron Slurry -gas.gold=Gold Slurry -gas.osmium=오스뮴 Slurry -gas.copper=Copper Slurry -gas.tin=Tin Slurry -gas.silver=Silver Slurry -gas.obsidian=옵시디언 Slurry -gas.lead=Lead Slurry +gas.iron=철 슬러리 +gas.gold=금 슬러리 +gas.osmium=오스뮴 슬러리 +gas.copper=구리 슬러리 +gas.tin=주석 슬러리 +gas.silver=은 슬러리 +gas.obsidian=옵시디언 슬러리 +gas.lead=납 슬러리 -gas.cleanIron=Clean Iron Slurry -gas.cleanGold=Clean Gold Slurry -gas.cleanOsmium=Clean 오스뮴 Slurry -gas.cleanCopper=Clean Copper Slurry -gas.cleanTin=Clean Tin Slurry -gas.cleanSilver=Clean Silver Slurry -gas.cleanObsidian=Clean 옵시디언 Slurry -gas.cleanLead=Clean Lead Slurry +gas.cleanIron=깨끗한 철 슬러리 +gas.cleanGold=깨끗한 금 슬러리 +gas.cleanOsmium=깨끗한 오스뮴 슬러리 +gas.cleanCopper=깨끗한 구리 슬러리 +gas.cleanTin=깨끗한 주석 슬러리 +gas.cleanSilver=깨끗한 은 슬러리 +gas.cleanObsidian=깨끗한 옵시디언 슬러리 +gas.cleanLead=깨끗한 납 슬러리 //BC Fuel Gases -gas.fuel=Vaporized Fuel -gas.oil=Vaporized Oil +gas.fuel=증류 정제유 +gas.oil=증류 석유 //Fluids -fluid.hydrogen=Liquid Hydrogen -fluid.oxygen=Liquid Oxygen -fluid.chlorine=Liquid Chlorine -fluid.sulfurDioxideGas=Liquid Sulfur Dioxide -fluid.sulfurTrioxideGas=Liquid Sulfur Trioxide -fluid.sulfuricAcid=Liquid Sulfuric Acid -fluid.hydrogenChloride=Liquid Hydrogen Chloride -fluid.brine=Brine -fluid.ethene=Liquid Ethylene -fluid.sodium=Liquid Sodium +fluid.hydrogen=액화 수소 +fluid.oxygen=액화 산소 +fluid.chlorine=액화 염소 +fluid.sulfurDioxideGas=액화 이산화황 +fluid.sulfurTrioxideGas=액화 삼산화황 +fluid.sulfuricAcid=액화 황산 +fluid.hydrogenChloride=액화 염화수소 +fluid.brine=소금물 +fluid.ethene=액화 에틸렌 +fluid.sodium=액화 나트륨 //OreGas names -oregas.iron=Iron Ore -oregas.gold=Gold Ore -oregas.osmium=오스뮴 Ore -oregas.copper=Copper Ore -oregas.tin=Tin Ore -oregas.silver=Silver Ore -oregas.obsidian=옵시디언 Ore -oregas.lead=Lead Ore +oregas.iron=철 광석 +oregas.gold=금 광석 +oregas.osmium=오스뮴 광석 +oregas.copper=구리 광석 +oregas.tin=주석 광석 +oregas.silver=은 광석 +oregas.obsidian=옵시디언 광석 +oregas.lead=납 광석 //Update handler text update.consider=Consider updating to version update.newFeatures=New features update.visit=Visit -update.toDownload=to download -update.devBuild=Using developer build +update.toDownload=다운로드 하러가기 +update.devBuild=개발버전이 빌드되었습니다 update.outdated=Using outdated version on one or more modules //Key description text -key.mode=Mode Switch -key.voice=Voice +key.mode=모드 스위치 +key.voice=소리 //Config Gui mekanism.configgui.ctgy.general.tooltip=General settings regarding Mekanism and all its modules @@ -442,10 +442,10 @@ recipe.mekanismShaped=Shaped //Item and block tooltip text tooltip.configurator.configurate=Configurate -tooltip.configurator.empty=Empty +tooltip.configurator.empty=비어있음 tooltip.configurator.rotate=Rotate -tooltip.configurator.wrench=Wrench -tooltip.configurator.pumpReset=Reset Electric Pump calculation +tooltip.configurator.wrench=렌치 +tooltip.configurator.pumpReset=Reset 전기 Pump calculation tooltip.configurator.toggleDiverter=Diverter mode changed to tooltip.configurator.toggleColor=Color bumped to tooltip.configurator.viewColor=Current color @@ -460,36 +460,36 @@ tooltip.upgrade.speed=속도 tooltip.upgrade.energy=에너지 tooltip.inventory=인벤토리 -tooltip.storedEnergy=Stored energy +tooltip.storedEnergy=저장 전력 tooltip.auth=Authenticated -tooltip.locked=Locked -tooltip.recipeType=Recipe type +tooltip.locked=잠겨 있음 +tooltip.recipeType=레시피 속성 tooltip.hold=Hold tooltip.forDesc=for a description -tooltip.forDetails=for details -tooltip.fireMode=Fire Mode +tooltip.forDetails=더 자세한 정도 +tooltip.fireMode=파이어 모드 tooltip.capacity=Capacity tooltip.pumpRate=Pump Rate -tooltip.items=Items -tooltip.blocks=Blocks -tooltip.universal=universal -tooltip.fluids=Fluids -tooltip.gasses=Gasses +tooltip.items=아이템 +tooltip.blocks=블럭 +tooltip.universal=범용 +tooltip.fluids=액체 +tooltip.gasses=가스 tooltip.capableTrans=Capable of transferring tooltip.restrictiveDesc=Only used if no other paths available tooltip.diversionDesc=Controllable by redstone -tooltip.noGas=No gas stored +tooltip.noGas=가스가 저장되어있지 않습니다 tooltip.stored=Stored -tooltip.channel=Channel -tooltip.mode=Mode -tooltip.efficiency=Efficiency +tooltip.channel=채널 +tooltip.mode=모드 +tooltip.efficiency=효율 tooltip.modeToggle=Mode toggled to tooltip.flowing=Flowing -tooltip.yes=yes -tooltip.no=no +tooltip.yes=예 +tooltip.no=아니오 tooltip.name=Name -tooltip.blockData=Block data -tooltip.block=Block +tooltip.blockData=블럭 data +tooltip.block=블럭 tooltip.meta=Metadata tooltip.tile=Tile tooltip.keysFound=Key(s) found @@ -499,23 +499,23 @@ tooltip.configureState=Configure State tooltip.portableTank.bucketMode=Bucket Mode -tooltip.disassembler.normal=normal -tooltip.disassembler.slow=slow -tooltip.disassembler.fast=fast +tooltip.disassembler.normal=기본 +tooltip.disassembler.slow=느림 +tooltip.disassembler.fast=빠름 tooltip.disassembler.vein=vein -tooltip.disassembler.off=off +tooltip.disassembler.off=꺼짐 tooltip.filterCard.got=Retrieved filter data from %s tooltip.filterCard.set=Injected filter data of type %s tooltip.filterCard.unequal=Unequal filter data formats -tooltip.filterCard.logisticalSorter=Logistical Sorter +tooltip.filterCard.logisticalSorter=논리적 Sorter tooltip.filterCard.digitalMiner=Digital Miner -tooltip.balloon=Balloon +tooltip.balloon=풍선 tooltip.jetpack.regular=Regular tooltip.jetpack.hover=Hover -tooltip.jetpack.disabled=Disabled +tooltip.jetpack.disabled=비활성화 tooltip.seismicReader.needsEnergy=Not enough energy to interpret vibration tooltip.seismicReader.noVibrations=Unable to discover any vibrations @@ -535,7 +535,7 @@ tooltip.Teleporter=A machine capable of teleporting players to various !nlocatio tooltip.ElectricPump=An advanced pump capable of pumping !nout an entire lava lake. tooltip.ElectricChest=A portable, 54-slot chest that uses energy to lock !nitself from others by means of password protection. tooltip.Chargepad=A universal chargepad that can charge !nany energized item from any mod. -tooltip.LogisticalSorter=A filter-based, advanced sorting machine that !ncan auto-eject specified items out of and into !nadjacent inventories and Logistical Transporters. +tooltip.LogisticalSorter=A filter-based, advanced sorting machine that !ncan auto-eject specified items out of and into !nadjacent inventories and 논리적 Transporters. tooltip.RotaryCondensentrator=A machine capable of converting gasses into !ntheir fluid form and vice versa. tooltip.ChemicalInjectionChamber=An elite machine capable of processing !nores into four shards, serving as the initial !nstage of 400% ore processing. tooltip.ElectrolyticSeparator=A machine that uses the process of !nelectrolysis to split apart a certain !ngas into two different gasses. @@ -559,7 +559,7 @@ tooltip.WindTurbine=A generator that uses the strength of the wind !nto produce tooltip.OsmiumOre=A strong mineral that can be found !nat nearly any height in the world. !nIt is known to have many uses in !nthe construction of machinery. tooltip.CopperOre=A common, conductive material that !ncan be used in the production of !nwires. Its ability to withstand !nhigh heats also makes it essential !nto advanced machinery. -tooltip.TinOre=A lightweight, yet sturdy, conductive !nmaterial that is found slightly less !ncommonly than Copper. +tooltip.TinOre=A lightweight, yet sturdy, conductive !nmaterial that is found slightly less !ncommonly than 구리. //Redstone control control.disabled=비활성화 @@ -570,8 +570,8 @@ control.high.desc=신호가 있으면 실행 control.low.desc=신호가 없는 실행 //Container edit modes -fluidedit.both=Both -fluidedit.fill=Fill +fluidedit.both=양방향 +fluidedit.fill=가득 fluidedit.empty=비어있음 //Colors