From e18570b679669dec53bc88b852ff5f725096263a Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Fri, 10 Jun 2016 11:11:41 -0400 Subject: [PATCH 01/75] Fixed transmitter crash, fixed entangloporter frequency issue, fixed PRC muffling upgrades --- .../java/mekanism/client/render/RenderPartTransmitter.java | 5 +++++ .../common/content/entangloporter/InventoryFrequency.java | 2 +- src/main/java/mekanism/common/tile/TileEntityPRC.java | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/mekanism/client/render/RenderPartTransmitter.java b/src/main/java/mekanism/client/render/RenderPartTransmitter.java index 03362b071..b88ed0a98 100644 --- a/src/main/java/mekanism/client/render/RenderPartTransmitter.java +++ b/src/main/java/mekanism/client/render/RenderPartTransmitter.java @@ -630,6 +630,11 @@ public class RenderPartTransmitter implements IIconSelfRegister public void renderTransparency(IIcon icon, CCModel cc, Colour color) { + if(icon == null) + { + return; + } + if(color != null) { cc.render(new IconTransformation(icon), new ColourMultiplier(color.rgba())); diff --git a/src/main/java/mekanism/common/content/entangloporter/InventoryFrequency.java b/src/main/java/mekanism/common/content/entangloporter/InventoryFrequency.java index c769bd490..9dbf0ec6a 100644 --- a/src/main/java/mekanism/common/content/entangloporter/InventoryFrequency.java +++ b/src/main/java/mekanism/common/content/entangloporter/InventoryFrequency.java @@ -90,7 +90,7 @@ public class InventoryFrequency extends Frequency if(nbtTags.hasKey("storedItem")) { - storedItem.readFromNBT(nbtTags.getCompoundTag("storedItem")); + storedItem = ItemStack.loadItemStackFromNBT(nbtTags.getCompoundTag("storedItem")); } temperature = nbtTags.getDouble("temperature"); diff --git a/src/main/java/mekanism/common/tile/TileEntityPRC.java b/src/main/java/mekanism/common/tile/TileEntityPRC.java index c0fea36e5..a220cf3f2 100644 --- a/src/main/java/mekanism/common/tile/TileEntityPRC.java +++ b/src/main/java/mekanism/common/tile/TileEntityPRC.java @@ -76,6 +76,8 @@ public class TileEntityPRC extends TileEntityBasicMachine Date: Fri, 10 Jun 2016 11:15:15 -0400 Subject: [PATCH 02/75] Add config option for transmitter alloy upgrades --- src/main/java/mekanism/api/MekanismConfig.java | 1 + src/main/java/mekanism/common/CommonProxy.java | 1 + src/main/java/mekanism/common/item/ItemAlloy.java | 3 ++- src/main/java/mekanism/common/network/PacketConfigSync.java | 2 ++ 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/mekanism/api/MekanismConfig.java b/src/main/java/mekanism/api/MekanismConfig.java index 8eb2870c2..813f845e0 100644 --- a/src/main/java/mekanism/api/MekanismConfig.java +++ b/src/main/java/mekanism/api/MekanismConfig.java @@ -65,6 +65,7 @@ public class MekanismConfig public static double maxEnergyPerSteam = 100; public static double superheatingHeatTransfer = 10000; public static double heatPerFuelTick = 4; + public static boolean allowTransmitterAlloyUpgrade; } public static class client diff --git a/src/main/java/mekanism/common/CommonProxy.java b/src/main/java/mekanism/common/CommonProxy.java index f0d6a066a..c2c384189 100644 --- a/src/main/java/mekanism/common/CommonProxy.java +++ b/src/main/java/mekanism/common/CommonProxy.java @@ -297,6 +297,7 @@ public class CommonProxy implements IGuiProvider general.maxEnergyPerSteam = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "MaxEnergyPerSteam", 100D).getDouble(); general.superheatingHeatTransfer = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "SuperheatingHeatTransfer", 10000D).getDouble(); general.heatPerFuelTick = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "HeatPerFuelTick", 4D).getDouble(); + general.allowTransmitterAlloyUpgrade = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "AllowTransmitterAlloyUpgrade", true).getBoolean(); general.blacklistIC2 = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "BlacklistIC2Power", false).getBoolean(); general.blacklistRF = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "BlacklistRFPower", false).getBoolean(); diff --git a/src/main/java/mekanism/common/item/ItemAlloy.java b/src/main/java/mekanism/common/item/ItemAlloy.java index ca935aaca..e0aba921b 100644 --- a/src/main/java/mekanism/common/item/ItemAlloy.java +++ b/src/main/java/mekanism/common/item/ItemAlloy.java @@ -1,6 +1,7 @@ package mekanism.common.item; import mekanism.api.IAlloyInteraction; +import mekanism.api.MekanismConfig.general; import mekanism.common.MekanismItems; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -19,7 +20,7 @@ public class ItemAlloy extends ItemMekanism { TileEntity tile = world.getTileEntity(x, y, z); - if(tile instanceof IAlloyInteraction) + if(general.allowTransmitterAlloyUpgrade && tile instanceof IAlloyInteraction) { if(!world.isRemote) { diff --git a/src/main/java/mekanism/common/network/PacketConfigSync.java b/src/main/java/mekanism/common/network/PacketConfigSync.java index 2f7a2e638..58e1b3a22 100644 --- a/src/main/java/mekanism/common/network/PacketConfigSync.java +++ b/src/main/java/mekanism/common/network/PacketConfigSync.java @@ -71,6 +71,7 @@ public class PacketConfigSync implements IMessageHandler Date: Fri, 10 Jun 2016 11:17:26 -0400 Subject: [PATCH 03/75] Fixed Thermal Evaporation Controller computer integration --- .../common/tile/TileEntityThermalEvaporationController.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java b/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java index 9590681d7..322da0d88 100644 --- a/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java +++ b/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java @@ -702,6 +702,11 @@ public class TileEntityThermalEvaporationController extends TileEntityThermalEva { return side != 0 && side != 1; } + + public TileEntityThermalEvaporationController getController() + { + return structured ? this : null; + } public void clearStructure() { From 6340bb3cdc38c2e91868a704eafc9c2d21213d06 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Fri, 10 Jun 2016 11:30:03 -0400 Subject: [PATCH 04/75] Fixed NBT reference losses --- src/main/java/mekanism/common/FluidNetwork.java | 3 ++- src/main/java/mekanism/common/block/BlockMachine.java | 3 ++- .../java/mekanism/common/item/ItemBlockMachine.java | 5 +++-- .../java/mekanism/common/item/ItemGaugeDropper.java | 5 +++-- .../mekanism/common/multipart/PartMechanicalPipe.java | 2 +- .../mekanism/common/tile/TileEntityFluidTank.java | 11 ++++++----- .../tile/TileEntityThermalEvaporationController.java | 1 + .../common/tile/component/TileComponentEjector.java | 2 +- src/main/java/mekanism/common/util/PipeUtils.java | 10 +++++++++- 9 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/main/java/mekanism/common/FluidNetwork.java b/src/main/java/mekanism/common/FluidNetwork.java index 82015a8a8..4631893d8 100644 --- a/src/main/java/mekanism/common/FluidNetwork.java +++ b/src/main/java/mekanism/common/FluidNetwork.java @@ -12,6 +12,7 @@ import mekanism.api.Coord4D; import mekanism.api.transmitters.DynamicNetwork; import mekanism.api.transmitters.IGridTransmitter; import mekanism.common.util.LangUtils; +import mekanism.common.util.PipeUtils; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.ForgeDirection; @@ -164,7 +165,7 @@ public class FluidNetwork extends DynamicNetwork if(acceptor != null && fluidToSend != null) { - fluidSent += acceptor.fill(side, new FluidStack(fluidToSend.getFluidID(), currentSending), doTransfer); + fluidSent += acceptor.fill(side, PipeUtils.copy(fluidToSend, currentSending), doTransfer); } if(fluidSent > prev) diff --git a/src/main/java/mekanism/common/block/BlockMachine.java b/src/main/java/mekanism/common/block/BlockMachine.java index a40e30e03..ffe36aa4f 100644 --- a/src/main/java/mekanism/common/block/BlockMachine.java +++ b/src/main/java/mekanism/common/block/BlockMachine.java @@ -84,6 +84,7 @@ import mekanism.common.tile.TileEntitySolarNeutronActivator; import mekanism.common.tile.TileEntityTeleporter; import mekanism.common.util.LangUtils; import mekanism.common.util.MekanismUtils; +import mekanism.common.util.PipeUtils; import mekanism.common.util.SecurityUtils; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; @@ -899,7 +900,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IBlo if(itemFluid.amount-toFill > 0) { - tileEntity.pushUp(new FluidStack(itemFluid.getFluid(), itemFluid.amount-toFill), true); + tileEntity.pushUp(PipeUtils.copy(itemFluid, itemFluid.amount-toFill), true); } return true; diff --git a/src/main/java/mekanism/common/item/ItemBlockMachine.java b/src/main/java/mekanism/common/item/ItemBlockMachine.java index 922a0cfe3..d56d3be51 100644 --- a/src/main/java/mekanism/common/item/ItemBlockMachine.java +++ b/src/main/java/mekanism/common/item/ItemBlockMachine.java @@ -36,6 +36,7 @@ import mekanism.common.tile.TileEntityFactory; import mekanism.common.tile.TileEntityFluidTank; import mekanism.common.util.LangUtils; import mekanism.common.util.MekanismUtils; +import mekanism.common.util.PipeUtils; import mekanism.common.util.SecurityUtils; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -852,7 +853,7 @@ public class ItemBlockMachine extends ItemBlock implements IEnergizedItem, ISpec if(doFill) { int fillAmount = toFill + (stored == null ? 0 : stored.amount); - setFluidStack(new FluidStack(resource.getFluid(), (stored != null ? stored.amount : 0)+toFill), container); + setFluidStack(PipeUtils.copy(resource, (stored != null ? stored.amount : 0)+toFill), container); } return toFill; @@ -870,7 +871,7 @@ public class ItemBlockMachine extends ItemBlock implements IEnergizedItem, ISpec if(stored != null) { - FluidStack toDrain = new FluidStack(stored.getFluid(), Math.min(stored.amount, maxDrain)); + FluidStack toDrain = PipeUtils.copy(stored, Math.min(stored.amount, maxDrain)); if(doDrain) { diff --git a/src/main/java/mekanism/common/item/ItemGaugeDropper.java b/src/main/java/mekanism/common/item/ItemGaugeDropper.java index 8d2d3dd6f..ac4e83efd 100644 --- a/src/main/java/mekanism/common/item/ItemGaugeDropper.java +++ b/src/main/java/mekanism/common/item/ItemGaugeDropper.java @@ -7,6 +7,7 @@ import mekanism.api.gas.GasStack; import mekanism.api.gas.IGasItem; import mekanism.common.Mekanism; import mekanism.common.util.LangUtils; +import mekanism.common.util.PipeUtils; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -164,7 +165,7 @@ public class ItemGaugeDropper extends ItemMekanism implements IGasItem, IFluidCo if(doFill) { int fillAmount = toFill + (stored == null ? 0 : stored.amount); - setFluid(container, new FluidStack(resource.getFluid(), (stored != null ? stored.amount : 0)+toFill)); + setFluid(container, PipeUtils.copy(resource, (stored != null ? stored.amount : 0)+toFill)); } return toFill; @@ -177,7 +178,7 @@ public class ItemGaugeDropper extends ItemMekanism implements IGasItem, IFluidCo if(stored != null) { - FluidStack toDrain = new FluidStack(stored.getFluid(), Math.min(stored.amount, maxDrain)); + FluidStack toDrain = PipeUtils.copy(stored, Math.min(stored.amount, maxDrain)); if(doDrain) { diff --git a/src/main/java/mekanism/common/multipart/PartMechanicalPipe.java b/src/main/java/mekanism/common/multipart/PartMechanicalPipe.java index 15354b4de..1d3a7d284 100644 --- a/src/main/java/mekanism/common/multipart/PartMechanicalPipe.java +++ b/src/main/java/mekanism/common/multipart/PartMechanicalPipe.java @@ -104,7 +104,7 @@ public class PartMechanicalPipe extends PartTransmitter 0) { - pushUp(new FluidStack(ret.getFluid(), rejects), true); + pushUp(PipeUtils.copy(ret, rejects), true); } } } @@ -204,13 +205,13 @@ public class TileEntityFluidTank extends TileEntityContainerBlock implements IAc if(ret != null) { - fluidTank.setFluid(new FluidStack(ret.getFluid(), Math.min(fluidTank.getCapacity(), ret.amount))); + fluidTank.setFluid(PipeUtils.copy(ret, Math.min(fluidTank.getCapacity(), ret.amount))); int rejects = Math.max(0, ret.amount - fluidTank.getCapacity()); if(rejects > 0) { - pushUp(new FluidStack(ret.getFluid(), rejects), true); + pushUp(PipeUtils.copy(ret, rejects), true); } } } @@ -464,7 +465,7 @@ public class TileEntityFluidTank extends TileEntityContainerBlock implements IAc if(filled < resource.amount && !isActive) { - filled += pushUp(new FluidStack(resource.getFluid(), resource.amount-filled), doFill); + filled += pushUp(PipeUtils.copy(resource, resource.amount-filled), doFill); } if(filled > 0 && from == ForgeDirection.UP) diff --git a/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java b/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java index 322da0d88..ebc313dff 100644 --- a/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java +++ b/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java @@ -703,6 +703,7 @@ public class TileEntityThermalEvaporationController extends TileEntityThermalEva return side != 0 && side != 1; } + @Override public TileEntityThermalEvaporationController getController() { return structured ? this : null; diff --git a/src/main/java/mekanism/common/tile/component/TileComponentEjector.java b/src/main/java/mekanism/common/tile/component/TileComponentEjector.java index 305534e6f..97a597b69 100644 --- a/src/main/java/mekanism/common/tile/component/TileComponentEjector.java +++ b/src/main/java/mekanism/common/tile/component/TileComponentEjector.java @@ -138,7 +138,7 @@ public class TileComponentEjector implements ITileComponent if(tank.getFluidAmount() > 0) { - FluidStack toEmit = new FluidStack(tank.getFluid().getFluid(), Math.min(FLUID_OUTPUT, tank.getFluidAmount())); + FluidStack toEmit = PipeUtils.copy(tank.getFluid(), Math.min(FLUID_OUTPUT, tank.getFluidAmount())); int emit = PipeUtils.emit(outputSides, toEmit, tileEntity); tank.drain(emit, true); } diff --git a/src/main/java/mekanism/common/util/PipeUtils.java b/src/main/java/mekanism/common/util/PipeUtils.java index 5f241fab8..b77c2de04 100644 --- a/src/main/java/mekanism/common/util/PipeUtils.java +++ b/src/main/java/mekanism/common/util/PipeUtils.java @@ -115,10 +115,18 @@ public final class PipeUtils } ForgeDirection dir = ForgeDirection.getOrientation(Arrays.asList(possibleAcceptors).indexOf(acceptor)).getOpposite(); - toSend -= acceptor.fill(dir, new FluidStack(stack.getFluid(), currentSending), true); + toSend -= acceptor.fill(dir, copy(stack, currentSending), true); } } return prevSending-toSend; } + + public static FluidStack copy(FluidStack fluid, int amount) + { + FluidStack ret = fluid.copy(); + ret.amount = amount; + + return ret; + } } From 0723168c4c81f0a022745378b3e27f05e3f7776c Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Fri, 10 Jun 2016 11:51:47 -0400 Subject: [PATCH 05/75] Allow shift-right clicking machines with upgrades --- .../mekanism/common/item/ItemUpgrade.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/main/java/mekanism/common/item/ItemUpgrade.java b/src/main/java/mekanism/common/item/ItemUpgrade.java index dcc34c861..0f081d656 100644 --- a/src/main/java/mekanism/common/item/ItemUpgrade.java +++ b/src/main/java/mekanism/common/item/ItemUpgrade.java @@ -5,10 +5,14 @@ import java.util.List; import mekanism.api.EnumColor; import mekanism.common.Upgrade; import mekanism.common.base.IUpgradeItem; +import mekanism.common.base.IUpgradeTile; +import mekanism.common.tile.component.TileComponentUpgrade; import mekanism.common.util.LangUtils; import mekanism.common.util.MekanismUtils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -44,4 +48,37 @@ public class ItemUpgrade extends ItemMekanism implements IUpgradeItem { return upgrade; } + + @Override + public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) + { + if(world.isRemote) + { + return false; + } + + if(player.isSneaking()) + { + TileEntity tile = world.getTileEntity(x, y, z); + Upgrade type = getUpgradeType(stack); + + if(tile instanceof IUpgradeTile) + { + TileComponentUpgrade component = ((IUpgradeTile)tile).getComponent(); + + if(component.supports(type)) + { + if(component.getUpgrades(type) < type.getMax()) + { + component.addUpgrade(type); + stack.stackSize--; + } + } + + return true; + } + } + + return false; + } } From b0546722d8f864ecf122a3cb474051873989fad1 Mon Sep 17 00:00:00 2001 From: Patric Alexandre Date: Fri, 10 Jun 2016 17:06:22 -0300 Subject: [PATCH 06/75] Update pt_BR.lang --- .../resources/assets/mekanism/lang/pt_BR.lang | 316 ++++++++++++------ 1 file changed, 218 insertions(+), 98 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/pt_BR.lang b/src/main/resources/assets/mekanism/lang/pt_BR.lang index d98203a54..4646791e3 100644 --- a/src/main/resources/assets/mekanism/lang/pt_BR.lang +++ b/src/main/resources/assets/mekanism/lang/pt_BR.lang @@ -11,6 +11,7 @@ item.EnergyTablet.name=Tablete de Energia item.SpeedUpgrade.name=Upgrade de Velocidade item.EnergyUpgrade.name=Upgrade de Energia item.FilterUpgrade.name=Upgrade de Filtro +item.MufflingUpgrade.name=Upgrade Silenciador item.GasUpgrade.name=Upgrade de Gás item.Robit.name=Robit item.AtomicDisassembler.name=Desintegrador Atômico @@ -18,8 +19,8 @@ item.ElectricBow.name=Arco Elétrico item.EnrichedIron.name=Ferro Enriquecido item.CompressedCarbon.name=Carbono Compactado item.CompressedRedstone.name=Redstone Compactada -item.CompressedDiamond.name=Diamante Compressado -item.CompressedObsidian.name=Obsidiana Compressada +item.CompressedDiamond.name=Diamante Comprimido +item.CompressedObsidian.name=Obsidiana Comprimida item.PortableTeleporter.name=Teletransportador Portátil item.TeleportationCore.name=Núcleo de Teletransporte item.Configurator.name=Configurador @@ -47,6 +48,7 @@ item.Substrate.name=Substrato item.Flamethrower.name=Lança-Chamas item.GaugeDropper.name=Medidor Conta-Gotas item.BioFuel.name=Biocombustível +item.CraftingFormula.name=Fórmula //Control Circuits item.BasicControlCircuit.name=Circuito de Controle Básico @@ -55,7 +57,16 @@ item.EliteControlCircuit.name=Circuito de Controle Elite item.UltimateControlCircuit.name=Circuito de Controle Final //Gas Tank -tile.GasTank.GasTank.name=Tanque de Gás +tile.GasTankBasic.name=Tanque de Gás Básico +tile.GasTankAdvanced.name=Tanque de Gás Avançado +tile.GasTankElite.name=Tanque de Gás Elite +tile.GasTankUltimate.name=Tanque de Gás Final + +//Fluid Tank (part of MachineBlock2, naming handled differently) +tile.FluidTankBasic.name=Tanque Líquido Básico +tile.FluidTankAdvanced.name=Tanque Líquido Avançado +tile.FluidTankElite.name=Tanque Líquido Elite +tile.FluidTankUltimate.name=Tanque Líquido Final //Cardboard Box tile.CardboardBox.name=Caixa de Papelão @@ -73,7 +84,10 @@ tile.BasicBlock.RefinedObsidian.name=Obsidiana Refinada tile.BasicBlock.CharcoalBlock.name=Bloco de Carvão Vegetal tile.BasicBlock.RefinedGlowstone.name=Pedra Luminosa Refinada tile.BasicBlock.SteelBlock.name=Bloco de Aço -tile.BasicBlock.Bin.name=Silo +tile.BasicBlock.BinBasic.name=Silo Básico +tile.BasicBlock.BinAdvanced.name=Silo Avançado +tile.BasicBlock.BinElite.name=Silo de Elite +tile.BasicBlock.BinUltimate.name=Silo Final tile.BasicBlock.TeleporterFrame.name=Moldura do Teletransportador tile.BasicBlock.SteelCasing.name=Carcaça de Aço tile.BasicBlock.DynamicTank.name=Tanque Dinâmico @@ -96,6 +110,11 @@ tile.BasicBlock2.InductionProviderBasic.name=Provedor de Indução Básico tile.BasicBlock2.InductionProviderAdvanced.name=Provedor de Indução Avançado tile.BasicBlock2.InductionProviderElite.name=Provedor de Indução Elite tile.BasicBlock2.InductionProviderUltimate.name=Provedor de Indução Final +tile.BasicBlock2.SuperheatingElement.name=Elemento de Superaquecimento +tile.BasicBlock2.PressureDisperser.name=Dispersor de Pressão +tile.BasicBlock2.BoilerCasing.name=Carcaça da Caldeira +tile.BasicBlock2.BoilerValve.name=Válvula da Caldeira +tile.BasicBlock2.SecurityDesk.name=Mesa de Segurança //Machine Block tile.MachineBlock.EnrichmentChamber.name=Câmara de Enriquecimento @@ -127,15 +146,18 @@ tile.MachineBlock2.ChemicalCrystallizer.name=Cristalizador Químico tile.MachineBlock2.SeismicVibrator.name=Vibrador Sísmico tile.MachineBlock2.PressurizedReactionChamber.name=Câmara de Reação Pressurizada tile.MachineBlock2.PressurizedReactionChamber.short.name=CRP -tile.MachineBlock2.PortableTank.name=Tanque Portátil tile.MachineBlock2.FluidicPlenisher.name=Abastecedor Fluídico tile.MachineBlock2.Laser.name=Laser tile.MachineBlock2.LaserAmplifier.name=Amplificador de Laser tile.MachineBlock2.LaserTractorBeam.name=Feixe Trator do Laser //Machine Block 3 (third ID iteration) +tile.MachineBlock3.QuantumEntangloporter.name=Transportador Quântico tile.MachineBlock3.SolarNeutronActivator.name=Ativador Neutrônico Solar tile.MachineBlock3.Oredictionificator.name=Oredictionificador +tile.MachineBlock3.ResistiveHeater.name=Aquecedor Resistivo +tile.MachineBlock3.FormulaicAssemblicator.name=Montador Formular +tile.MachineBlock3.FuelwoodHeater.name=Aquecedor Sólido //Plastic tile.PlasticBlock.name=Bloco de Plástico @@ -151,7 +173,7 @@ infuse.carbon=Carbono infuse.tin=Estanho infuse.diamond=Diamante infuse.redstone=Redstone -infuse.fungi=Fungos +infuse.fungi=Fungo infuse.obsidian=Obsidiana infuse.bio=Biomassa @@ -179,9 +201,13 @@ item.MultipartTransmitter.EliteLogisticalTransporter.name=Transportador Logísti item.MultipartTransmitter.UltimateLogisticalTransporter.name=Transportador Logístico Final item.MultipartTransmitter.RestrictiveTransporter.name=Transportador Restritivo item.MultipartTransmitter.DiversionTransporter.name=Transportador Redirecionador +item.MultipartTransmitter.BasicThermodynamicConductor.name=Conduíte Térmico Básico +item.MultipartTransmitter.AdvancedThermodynamicConductor.name=Conduíte Térmico Avançado +item.MultipartTransmitter.EliteThermodynamicConductor.name=Conduíte Térmico Elite +item.MultipartTransmitter.UltimateThermodynamicConductor.name=Conduíte Térmico Final //Glow Panel -item.GlowPanel.name=Painel de Pedra Luminosa +item.GlowPanel.name=Painel Luminoso //Energy Cubes tile.EnergyCubeBasic.name=Cubo de Energia Básico @@ -247,13 +273,13 @@ item.dirtySilverDust.name=Pó de Prata Sujo item.dirtyLeadDust.name=Pó de Chumbo Sujo //Ingots -item.obsidianIngot.name=Lingote de Obsidiana -item.osmiumIngot.name=Lingote de Ósmio -item.bronzeIngot.name=Lingote de Bronze -item.glowstoneIngot.name=Lingote de Glowstone -item.steelIngot.name=Lingote de Aço -item.copperIngot.name=Lingote de Cobre -item.tinIngot.name=Lingote de Estanho +item.obsidianIngot.name=Barra de Obsidiana +item.osmiumIngot.name=Barra de Ósmio +item.bronzeIngot.name=Barra de Bronze +item.glowstoneIngot.name=Barra de Pedra Luminosa +item.steelIngot.name=Barra de Aço +item.copperIngot.name=Barra de Cobre +item.tinIngot.name=Barra de Estanho //Gasses gas.hydrogen=Hidrogênio @@ -312,6 +338,7 @@ fluid.lithium=Lítio Líquido fluid.deuterium=Deutério Líquido fluid.tritium=Trítio Líquido fluid.fusionFuelDT=Combustível D-T Líquido +fluid.steam=Vapor Aquecido //OreGas names oregas.iron=Minério de Ferro @@ -347,13 +374,15 @@ update.outdated=Usando a versão desatualizada em um ou mais módulos //Upgrades upgrade.energy=Energia -upgrade.energy.desc=Aumenta a eficiência energética !ne a capacidade das máquinas. +upgrade.energy.desc=Aumenta a eficiência e capacidade energética. upgrade.speed=Velocidade -upgrade.speed.desc=Aumenta a velocidade das máquinas. +upgrade.speed.desc=Aumenta a velocidade. upgrade.filter=Filtro -upgrade.filter.desc=Um filtro que separa !nágua pesada da água regular. +upgrade.filter.desc=Separa Água Pesada de água comum. upgrade.gas=Gás -upgrade.gas.desc=Aumenta a eficiência de !nmáquinas a gás. +upgrade.gas.desc=Aumenta a eficiência de uso de gás. +upgrade.muffling=Muffling +upgrade.muffling.desc=Reduz ruídos causados. //Key description text key.mode=Alternar Modo de Ferramenta @@ -379,8 +408,6 @@ mekanism.configgui.ctgy.usage.tooltip=Configurações relativas a máquinas e se mekanism.configgui.ctgy.client.tooltip=Configurações específicas do cliente sobre Mekanism e todos os seus módulos //Gui text -gui.removeSpeedUpgrade=Remover upgrade de velocidade -gui.removeEnergyUpgrade=Remover upgrade de energia gui.condensentrating=Condensentrando gui.decondensentrating=Descondensentrando gui.power=Energia @@ -394,8 +421,8 @@ gui.save=Salvar gui.output=Saída gui.delete=Deletar gui.status=Estado -gui.autoEject=Autoejetar -gui.itemstack=PilhaDeItems +gui.autoEject=Auto ejetar +gui.itemstack=ItemStack gui.oredict=OreDict gui.material=Material gui.out=Saída @@ -411,8 +438,8 @@ gui.input=Entrada gui.strictInput=Entrada Estrita gui.slots=Aberturas gui.state=Estado -gui.on=SIM -gui.off=NãO +gui.on=Lig +gui.off=Desl gui.filters=Filtros gui.filter=Filtro gui.idle=Inativo @@ -429,8 +456,8 @@ gui.finished=Terminou gui.well=Tudo está bem! gui.upgrade=Aprimorar gui.infinite=Infinito -gui.min=Min. -gui.max=Máx. +gui.min=Min +gui.max=Máx gui.delay=Atraso gui.noDelay=Sem atraso gui.fuel=Combustível @@ -439,6 +466,8 @@ gui.formed=Formado gui.incomplete=Incompleto gui.inductionMatrix=Matriz de Indução gui.matrixStats=Estatísticas da Matriz +gui.turbineStats=Estatísticas da Turbina +gui.boilerStats=Estatísticas da Caldeira gui.main=Principal gui.outputting=Emitindo gui.receiving=Recebendo @@ -448,6 +477,8 @@ gui.cells=células gui.providers=provedores gui.structure=Estrutura gui.dynamicTank=Tanque Dinâmico +gui.industrialTurbine=Turbina Industrial +gui.thermoelectricBoiler=Caldeira Termoelétrica gui.visuals=Aparência gui.noEject=Não Ejeta gui.undefined=Indefinido @@ -481,6 +512,50 @@ gui.redstoneOutputMode=Modo Redstone gui.entityDetection=Detecção de Entidades gui.moveUp=Subir gui.moveDown=Descer +gui.flowRate=Fluxo +gui.maxFlow=Fluxo máximo +gui.tankVolume=Volume do Tanque +gui.steamFlow=Fluxo de Vapor +gui.production=Produção +gui.blades=Hélices +gui.coils=Bobinas +gui.dispersers=Dispersores +gui.vents=Saídas de ventilação +gui.maxProduction=Produção máxima +gui.limiting=Limitando +gui.steamInput=Saída de Vapor +gui.capacity=Capacidade +gui.unit=Unidade +gui.temp=Temp +gui.usage=Uso +gui.transferred=Transferido +gui.dissipated=Dissipado +gui.boilRate=Taxa de ebulição +gui.maxBoil=Ebulição máxima +gui.maxWater=Água máxima +gui.maxSteam=Vapor máximo +gui.heatTransfer=Condução de calor +gui.superheaters=Superaquecedores +gui.boilCapacity=Capacidade de ebulição +gui.encodeFormula=Codificar Fórmula +gui.autoModeToggle=Ligar modo automático +gui.craftSingle=Montar um item +gui.craftAvailable=Montar itens disponíveis +gui.fillEmpty=Encher/Esvaziar grid +gui.noOwner=Sem dono +gui.securityOverride=Sobreposição de segurança +gui.remove=Remover +gui.trustedPlayers=Jogadores confiáveis +gui.publicMode=Modo Público +gui.privateMode=Mode Privado +gui.trustedMode=Modo de Confiança +gui.securityOffline=Segurança Offline +gui.noAccessDesc=Você não tem acesso +gui.overridden=Sobreposto +gui.nowOwn=Você é o novo dono +gui.frequency=Frequência +gui.mode=Modo +gui.burnRate=Taxa de queima gui.reactor.injectionRate=Taxa de Injeção @@ -509,13 +584,14 @@ gui.factory.secondaryEnergy=Energia Secundária gui.factory.autoSort=Autoclassificar //Recipe types -gui.factory.Smelting=Fundindo -gui.factory.Enriching=Enriquecendo -gui.factory.Crushing=Triturando -gui.factory.Compressing=Comprimindo -gui.factory.Combining=Combinando -gui.factory.Purifying=Purificando -gui.factory.Injecting=Injetando +gui.factory.Smelting=||Fundição|| +gui.factory.Enriching=||Enriquecimento|| +gui.factory.Crushing=||Trituração|| +gui.factory.Compressing=||Compressão|| +gui.factory.Combining=||Combinação|| +gui.factory.Purifying=||Purificação|| +gui.factory.Injecting=||Injeção|| +gui.factory.Infusing=||Infusão|| gui.seismicReader.short=Leitor Sís. gui.seismicReader.solids=Sólidos @@ -530,7 +606,7 @@ gui.oredictFilter.sameKey=Mesma entrada gui.modIDFilter=Filtro Mod ID gui.modIDFilter.noID=Nenhuma ID inserido -gui.modIDFilter.sameID=O mesmo ID +gui.modIDFilter.sameID=Mesmo ID gui.oredictionificatorFilter=Filtro Oredictionificador @@ -570,8 +646,6 @@ gui.logisticalSorter.default=Padrão gui.logisticalSorter.auto=Auto gui.logisticalSorter.roundRobin=Rodízio -gui.electricChest.editPassword=Editar Senha - gui.teleporter.notReady=Não Pronto gui.teleporter.ready=Pronto gui.teleporter.noFrame=Nenhum quadro @@ -581,6 +655,8 @@ gui.teleporter.needsEnergy=Requer Energia gui.teleporter.noAccess=Você não tem acesso a este teletransportador. gui.teleporter.noFreq=Sem frequência +gui.entangloporter.noAccess=Você não tem acesso a esse Transportador. + gui.digitalMinerConfig=Config Minerador Digital gui.digitalMiner.autoPull=Autopuxar @@ -588,17 +664,22 @@ gui.digitalMiner.replaceBlock=Substituir bloco gui.digitalMiner.reset=Reiniciar gui.digitalMiner.silkTouch=Toque Suave gui.digitalMiner.pull=Puxar -gui.digitalMiner.silk=Suave +gui.digitalMiner.silk=TqSv gui.digitalMiner.toMine=Minerar gui.digitalMiner.running=Rodando gui.digitalMiner.inverse=Modo Inverso gui.digitalMiner.requireReplace=Requer substituição -gui.digitalMiner.fuzzyMode=Modo Distorcido +gui.digitalMiner.fuzzyMode=Modo Impreciso gui.digitalMiner.missingBlock=Falta de Bloco //Recipe names -recipe.mekanismShaped=Em Formato de -recipe.mekanismShapeless=Sem Formato +recipe.mekanismShaped=Exata +recipe.mekanismShapeless=Disforme + +//Security types +security.public=Público +security.private=Privado +security.trusted=Confiável //Item and block tooltip text tooltip.configurator.configurate=Configurar @@ -609,7 +690,6 @@ tooltip.configurator.pumpReset=Reiniciar cálculo da Bomba Elétrica tooltip.configurator.toggleDiverter=Modo do Redirecionador alterado para tooltip.configurator.toggleMode=Comportamento de %s mudado para tooltip.configurator.viewMode=Comportamento de %s atual -tooltip.configurator.unauth=Este baú está trancado tooltip.configurator.noLink=Sem ligação tooltip.configurator.linkMsg=Ligado a tooltip.configurator.dim=dimensão @@ -627,12 +707,12 @@ tooltip.storedEnergy=Energia Armazenada tooltip.auth=Autenticado tooltip.locked=Trancado tooltip.recipeType=Tipo de Receita -tooltip.hold=Segurar +tooltip.hold=Segure tooltip.forDesc=para uma descrição tooltip.forDetails=para mais detalhes tooltip.fireMode=Modo Fogo tooltip.capacity=Capacidade -tooltip.pumpRate=Taxa de Bobeio +tooltip.pumpRate=Taxa de Bombeio tooltip.items=Itens tooltip.blocks=Blocos tooltip.universal=universal @@ -664,6 +744,11 @@ tooltip.insufficientFuel=Pouco Combustível tooltip.readyForReaction=Pronto para Reação tooltip.speed=Velocidade tooltip.and=e +tooltip.heat=Calor +tooltip.itemAmount=Quantidade do item +tooltip.invalid=Inválido +tooltip.encoded=Codificado +tooltip.ingredients=Ingredientes tooltip.portableTank.bucketMode=Modo Balde @@ -673,12 +758,9 @@ tooltip.disassembler.fast=rápido tooltip.disassembler.vein=veio tooltip.disassembler.off=desligado -tooltip.filterCard.got=Filtrar dados recuperados de %s -tooltip.filterCard.set=Filtrar dados injetados do tipo %s -tooltip.filterCard.unequal=Formatos de dados do filtro desiguais -tooltip.filterCard.logisticalSorter=Classificador Logístico -tooltip.filterCard.digitalMiner=Minerador Digital -tooltip.filterCard.oredictionificator=Oredictionificador +tooltip.configurationCard.got=Dados de configuração de %s salvos +tooltip.configurationCard.set=Dados de configuração de %s inseridos +tooltip.configurationCard.unequal=Dados desiguais tooltip.balloon=Balão @@ -694,59 +776,86 @@ tooltip.flamethrower.modeBump=Modo do Lança-Chamas mudado para tooltip.seismicReader.needsEnergy=Energia não suficiente para interpretar a vibração tooltip.seismicReader.noVibrations=Incapaz de descobrir quaisquer vibrações -tooltip.EnrichmentChamber=Uma máquina simples usada para enriquecer minérios !ntornando-os em duas porções de pó, como também !nrealizar muitas outras operações. -tooltip.OsmiumCompressor=Uma máquina um tanto avançada usada para comprimir !nósmio com pós de outros materiais parar convertê-los !nem lingotes. -tooltip.Combiner=Uma máquina usada para combinar pedregulho com pós de outros !nmateriais para convertê-los em minério. -tooltip.Crusher=Uma máquina usada para triturar lingotes em pó, !ncomo também fazer várias outtas operações. -tooltip.DigitalMiner=Uma automineradora altamente avançada com filtros que pode !nminerar qualquer bloco que ordenar !nnum raio de 32 blocos (máx.). -tooltip.BasicFactory=O menor nível da linha de Fábricas, que pode !nser usada para processar múltiplas operações de máquinas !nde uma vez. -tooltip.AdvancedFactory=O nível intermediário da linha de Fábricas, que pode !nser usada para processar múltiplas operações de máquinas !nde uma vez. -tooltip.EliteFactory=O maior nível da linha de Fábricas, que pode !nser usada para processar múltiplas operações de máquinas !nde uma vez. -tooltip.MetallurgicInfuser=Uma máquina usada para infundir vários materiais !nem (geralmente) materiais para criar ligas metálicas !ne outros compostos -tooltip.PurificationChamber=Uma máquina avançada capaz de processar !nminérios em aglomerados, servindo como o estágio !ninicial do processamento de minérios 300%. -tooltip.EnergizedSmelter=Uma máquina simples que serve como uma fornalha !nbaseada no Mekanism que usa energia. -tooltip.Teleporter=Uma máquina capaz de teletransportar jogadores pra vários !nlugares definidos por outros Teletransportadores. -tooltip.ElectricPump=Uma bomba capaz de bombear um lago de !nlava inteiro. -tooltip.ElectricChest=Um baú portátil de 54 slots que usa energia para se !ntrancar de outros por meios de proteção por senha. -tooltip.Chargepad=Uma plataforma recarregadora capaz de carregar qualquer item energizado de !nqualquer mod. -tooltip.LogisticalSorter=Uma máquina de triagem avançada com filtros que !npode autoejetar itens especificados para dentro e para fora de !ninventários adjacentes e Transportadores Logísticos. -tooltip.RotaryCondensentrator=Uma máquina capaz de converter gases em !nsuas formas líquidas e vice-versa. -tooltip.ChemicalInjectionChamber=Uma máquina elite capaz de processar !nminérios em estilhaços, servindo como estágio !ninicial do processamento de minérios a 400%. -tooltip.ElectrolyticSeparator=Uma máquina que usa o processo de !neletrólise para quebrar um !ngás em dois gases diferentes. -tooltip.PrecisionSawmill=Uma máquina usada para processar lenha e outros itens !nde madeira mais eficientemente, como também !nobter serragem. -tooltip.ChemicalDissolutionChamber=Uma máquina definitiva usada para !ndissolver quimicamente todas impurezas de um !nminério, deixando um lodo!nnão-processado atrás. -tooltip.ChemicalWasher=Uma máquina definitiva que limpa lodo !nnão-processado e o prepara para cristalização. -tooltip.ChemicalCrystallizer=Uma máquina definitiva usada para cristalizar lodo !nde minério purificado em cristais de minério. -tooltip.ChemicalOxidizer=Uma máquina capaz de oxidar !nmateriais sólidos em fase gasosa. -tooltip.ChemicalInfuser=Uma máquina que produz um novo tipo de !ngás por infusão de dois outros. -tooltip.SeismicVibrator=Uma máquina que usa vibrações sísmicas para !nfornecer informações sobre diversas camadas !ndo mundo. +tooltip.Bin=Um bloco usado para armazenat grandes quantidades de um item. +tooltip.TeleporterFrame=Moldura usada para a construção do Teletransportador. +tooltip.SteelCasing=Uma forte carcaça feita de aço usada como fundação para máquinas. +tooltip.DynamicTank=Moldura usada para construção do Tanque Dinâmico. +tooltip.StructuralGlass=Um vidro de material reforçado usado na construção de vários multiblocos. +tooltip.DynamicValve=Vávula usada para a construção do Tanque Dinâmico. +tooltip.ThermalEvaporationController=Bloco mestre da Torre de Evaporação. Apenas um desses deve ser usado na estrutura. +tooltip.ThermalEvaporationValve=Válvula usada na construção da Torre de Evaporação. +tooltip.ThermalEvaporationBlock=Moldura de cobre usada para a construção da Torre de Evaporação. +tooltip.InductionCasing=Bloco resistente à tensão usado na construção da Matriz Energética. +tooltip.InductionPort=Porta de energia usada na construção da Matriz Energética. +tooltip.InductionCell=Célula capaz de armazenar altas quantidades de energia. Usada no interior da Matriz Energética para expandir o armazenamento. +tooltip.InductionProvider=Complexo de resfriadores, condutores e transformadores capazes de expandir a taxa de transferência da Matriz Energética. +tooltip.SuperheatingElement=Um radiador modular e decentemente pergiso capaz de emitir altas quantidades de calor ao seu redor. +tooltip.PressureDisperser=Bloco usado para dispersar vapor em um multibloco. Deve formar um tubo horizontal sem deformações para controlar o fluxo de vapor. +tooltip.BoilerCasing=Um bloco resistente à pressão, usado na construção da Caldeira Termoelétrica. +tooltip.BoilerValve=Vávula usada na construção da Caldeira Termoelétrica. +tooltip.SecurityDesk=Central de segurança para todas suas máquinas. + +tooltip.EnrichmentChamber=Uma máquina simples usada para enriquecer minérios tornando-os em duas porções de pó, como também realizar muitas outras operações. +tooltip.OsmiumCompressor=Uma máquina um tanto avançada usada para comprimir ósmio com pós de outros materiais parar convertê-los em barras. +tooltip.Combiner=Uma máquina usada para combinar pedregulho com pós de outros materiais para convertê-los em minério. +tooltip.Crusher=Uma máquina usada para triturar lingotes em pó, como também fazer várias outtas operações. +tooltip.DigitalMiner=Uma automineradora altamente avançada com filtros que pode minerar qualquer bloco que ordenar num raio de 32 blocos (máx.). +tooltip.MetallurgicInfuser=Uma máquina usada para infundir vários materiais em (geralmente) materiais para criar ligas metálicas e outros compostos +tooltip.PurificationChamber=Uma máquina avançada capaz de processar minérios em aglomerados, servindo como o estágio inicial do processamento de minérios 300%. +tooltip.EnergizedSmelter=Uma máquina simples que serve como uma fornalha baseada no Mekanism que usa energia. +tooltip.Teleporter=Uma máquina capaz de teletransportar jogadores pra vários lugares definidos por outros Teletransportadores. +tooltip.ElectricPump=Uma bomba capaz de bombear um lago de lava inteiro. +tooltip.ElectricChest=Um baú portátil de 54 slots que usa energia para se trancar de outros por meios de proteção por senha. +tooltip.Chargepad=Uma plataforma recarregadora capaz de carregar qualquer item energizado de qualquer mod. +tooltip.LogisticalSorter=Uma máquina de triagem avançada com filtros que pode autoejetar itens especificados para dentro e para fora de inventários adjacentes e Transportadores Logísticos. +tooltip.RotaryCondensentrator=Uma máquina capaz de converter gases em suas formas líquidas e vice-versa. +tooltip.ChemicalInjectionChamber=Uma máquina elite capaz de processar minérios em estilhaços, servindo como estágio inicial do processamento de minérios a 400%. +tooltip.ElectrolyticSeparator=Uma máquina que usa o processo de eletrólise para quebrar um gás em dois gases diferentes. +tooltip.PrecisionSawmill=Uma máquina usada para processar lenha e outros itens de madeira mais eficientemente, como também obter serragem. +tooltip.ChemicalDissolutionChamber=Uma máquina definitiva usada para dissolver quimicamente todas impurezas de um minério, deixando um lodonão-processado atrás. +tooltip.ChemicalWasher=Uma máquina definitiva que limpa lodo não-processado e o prepara para cristalização. +tooltip.ChemicalCrystallizer=Uma máquina definitiva usada para cristalizar lodo de minério purificado em cristais de minério. +tooltip.ChemicalOxidizer=Uma máquina capaz de oxidar materiais sólidos em fase gasosa. +tooltip.ChemicalInfuser=Uma máquina que produz um novo tipo de gás por infusão de dois outros. +tooltip.SeismicVibrator=Uma máquina que usa vibrações sísmicas para fornecer informações sobre diversas camadas do mundo. tooltip.PressurizedReactionChamber=Uma máquina avançada que processa uma mistura líquida, gasosa e sólida e cria um produto gasoso e um sólido. -tooltip.PortableTank=Um tanque portátil útil que lhe permite carregar 14 !nbaldes de fluido para onde !nquiser. Também serve como balde! -tooltip.FluidicPlenisher=Uma máquina que é capaz de criar lagos !ninteiros enchendo ravinas com fluidos. -tooltip.Laser=Uma forma avançada de transferência !nlinear de energia que utiliza um feixe extremamente !nalinhado de luz. -tooltip.LaserAmplifier=Um bloco que pode ser usado !npara fundir, redirecionar e ampliar raios laser, com !ncontroles finos sobre quando disparar. -tooltip.LaserTractorBeam=Um bloco usado para mesclar !ne redirecionar os raios laser. Recolhe itens de blocos !nque foram quebrados. -tooltip.SolarNeutronActivator=Uma máquina que direciona a radiação de !nnêutrons do sol para seu armazenamento interno, !npermitindo a criação lenta de vários isótopos. -tooltip.Oredictionificator=A máquina usada para unificar e traduzir vários itens !nblocos usando o Ore Dictionary. +tooltip.FluidTank=Um tanque portátil útil que lhe permite carregar 14 baldes de fluido para onde quiser. Também serve como balde! +tooltip.FluidicPlenisher=Uma máquina que é capaz de criar lagos inteiros enchendo ravinas com fluidos. +tooltip.Laser=Uma forma avançada de transferência linear de energia que utiliza um feixe extremamente alinhado de luz. +tooltip.LaserAmplifier=Um bloco que pode ser usado para fundir, redirecionar e ampliar raios laser, com controles finos sobre quando disparar. +tooltip.LaserTractorBeam=Um bloco usado para mesclar e redirecionar os raios laser. Recolhe itens de blocos que foram quebrados. +tooltip.SolarNeutronActivator=Uma máquina que direciona a radiação de nêutrons do sol para seu armazenamento interno, permitindo a criação lenta de vários isótopos. +tooltip.Oredictionificator=A máquina usada para unificar e traduzir vários itens blocos usando o Ore Dictionary. +tooltip.Factory=Uma máquina que serve de melhoria para máquinas comuns, permitindo várias operações simultâneas. +tooltip.ResistiveHeater=Um resistor condensado que converter energia diretamente em calor. +tooltip.FormulaicAssemblicator=Uma máquina que usa energia para rapidamente montar itens com Fórmulas. Também serve se mesa de montagem avançada. +tooltip.FuelwoodHeater=Uma máquina que produz calor através de combustíveis sólidos. +tooltip.QuantumEntangloporter=Uma máquina altamente avançada que transporta virtualmente qualquer recurso através de longas distâncias ou dimensões. -tooltip.HeatGenerator=Um gerador que usa o calor da lava ou !noutros recursos combustíveis para produzir energia. -tooltip.SolarGenerator=Um gerador que usa o poder do !nsol para produzir energia. -tooltip.GasGenerator=Um gerador que se aproveita dos gases !nmolecularmente variantes para produzir energia. -tooltip.BioGenerator=Um gerador que queima materiais orgânicos do !nmundo para produzir energia. -tooltip.AdvancedSolarGenerator=Um gerador que diretamente !nabsorve os raios solares com pequena perda !npara produzir energia -tooltip.WindTurbine=Um gerador que usa a força do vento !npara produzir energia, com maior eficiência !nem camadas mais altas. +tooltip.HeatGenerator=Um gerador que usa o calor da lava ou outros recursos combustíveis para produzir energia. +tooltip.SolarGenerator=Um gerador que usa o poder do sol para produzir energia. +tooltip.GasGenerator=Um gerador que se aproveita dos gases molecularmente variantes para produzir energia. +tooltip.BioGenerator=Um gerador que queima materiais orgânicos do mundo para produzir energia. +tooltip.AdvancedSolarGenerator=Um gerador que diretamente absorve os raios solares com pequena perda para produzir energia +tooltip.WindTurbine=Um gerador que usa a força do vento para produzir energia, com maior eficiência em camadas mais altas. +tooltip.TurbineRotor=Haste de aço usada para segurar Hélices de Turbina na Turbina Industrial. +tooltip.RotationalComplex=Conector colocado na Hélice mais alta da Turbina Industrial para transportar energia cinética para Bobinas Eletromagnéticas. +tooltip.ElectromagneticCoil=Bloco que converte energia cinética em energia usável. Podem ser colocadas em qualquer forma acima do Complexo Rotacional, desde que todos se conectem. +tooltip.TurbineCasing=Moldura resistente à pressão usada na construção da Turbina Industrial. +tooltip.TurbineValve=Moldura de turbina que possui portas de transferência de energia e vapor. +tooltip.TurbineVent=Moldura de turbina com uma porta de ventilação. Deve ser colocada no mesmo nível ou no nível acima do Complexo Rotacional. -tooltip.ReactorGlass=Vidro Reforçado que pode ser utilizado !nno multibloco do Reator de Fusão. -tooltip.ReactorLaserFocusMatrix=Um painel do Vidro do Reator !nque é capaz de absorver energia óptica e !ndessa forma aquecendo o Reator de Fusão. -tooltip.ReactorController=O bloco controlador para a !nEstrutura Reator de Fusão toda. -tooltip.ReactorFrame=Armação reforçada que pode ser utilizada no !nmultibloco do Reator de Fusão. -tooltip.ReactorNeutronCapturePlate=Um bloco que pode ser usado para !nbloquear a radiação do Reator de Fusão e para !najudar na produção de Trítio. -tooltip.ReactorPort=Um bloco de armação reforçada que é capaz de !ngerenciar a transferência de gás e de energia !ndo Reator de Fusão. -tooltip.ReactorLogicAdapter=Um bloco que pode ser usado para !npermitir monitoramento básico de um reactor usando redstone. +tooltip.ReactorGlass=Vidro Reforçado que pode ser utilizado no multibloco do Reator de Fusão. +tooltip.ReactorLaserFocusMatrix=Um painel do Vidro do Reator que é capaz de absorver energia óptica e dessa forma aquecendo o Reator de Fusão. +tooltip.ReactorController=O bloco controlador para a Estrutura Reator de Fusão toda. +tooltip.ReactorFrame=Armação reforçada que pode ser utilizada no multibloco do Reator de Fusão. +tooltip.ReactorNeutronCapturePlate=Um bloco que pode ser usado para bloquear a radiação do Reator de Fusão e para ajudar na produção de Trítio. +tooltip.ReactorPort=Um bloco de armação reforçada que é capaz de gerenciar a transferência de gás e de energia do Reator de Fusão. +tooltip.ReactorLogicAdapter=Um bloco que pode ser usado para permitir monitoramento básico de um reactor usando redstone. -tooltip.OsmiumOre=Um mineral forte que pode ser achado !nem quase qualquer altura do mundo. !nÉ conhecido por ter muitos usos na !nconstrução de maquinaria. -tooltip.CopperOre=Um material condutivo e comum que !npode ser usado na produção de !nfios. Sua habilidade de suportar !naltas temperaturas também o faz importante !nem maquinaria avançada. -tooltip.TinOre=Um material condutivo leve, porém resistente, !nque é encontrado com um pouco menos de !nfrequência que Cobre. +tooltip.OsmiumOre=Um mineral forte que pode ser achado em quase qualquer altura do mundo. É conhecido por ter muitos usos na construção de maquinaria. +tooltip.CopperOre=Um material condutivo e comum que pode ser usado na produção de fios. Sua habilidade de suportar altas temperaturas também o faz importante em maquinaria avançada. +tooltip.TinOre=Um material condutivo leve, porém resistente, que é encontrado com um pouco menos de frequência que Cobre. //Side data sideData.None=Nada @@ -757,6 +866,10 @@ sideData.Gas=Gás sideData.Extra=Extra sideData.Infuse=Infusão sideData.Fluid=Fluido +sideData.Fill=Encher +sideData.Empty=Esvaziar +sideData.Charge=Carga +sideData.Discharge=Descarga //Redstone control control.disabled=Desativado @@ -837,6 +950,7 @@ nei.rotaryCondensentrator=Condensentrador Rot. //Items item.SolarPanel.name=Painel Solar item.Hohlraum.name=Hohlraum +item.TurbineBlade.name=Hélice de Turbina //Generators tile.Generator.HeatGenerator.name=Gerador a Calor @@ -845,6 +959,12 @@ tile.Generator.GasGenerator.name=Gerador a Queima de Gás tile.Generator.BioGenerator.name=Biogerador tile.Generator.AdvancedSolarGenerator.name=Gerador a Energia Solar Avançado tile.Generator.WindTurbine.name=Turbina Eólica +tile.Generator.TurbineRotor.name=Rotor de Turbina +tile.Generator.RotationalComplex.name=Complexo Rotacional +tile.Generator.ElectromagneticCoil.name=Bobina Eletromagnética +tile.Generator.TurbineCasing.name=Moldura de Turbina +tile.Generator.TurbineValve.name=Válvula de Turbina +tile.Generator.TurbineVent.name=Respiradouro de Turbine tile.Reactor.ReactorController.name=Controlador do Reator tile.Reactor.ReactorFrame.name=Armação do Reator From 44ecdd41d0fe03fa0d49419143915cad39dcffcb Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Wed, 22 Jun 2016 14:20:22 -0400 Subject: [PATCH 07/75] Bump version to 9.0.3, change Wind Generator weather category, fix Logistical Sorter sound config bypass, fixed Thermal Evaporation Plant internal render --- build.properties | 2 +- src/main/java/mekanism/common/Mekanism.java | 4 ++-- .../mekanism/common/tile/TileEntityLogisticalSorter.java | 3 ++- .../tile/TileEntityThermalEvaporationController.java | 7 ++++++- .../mekanism/generators/common/MekanismGenerators.java | 4 ++-- src/main/java/mekanism/tools/common/MekanismTools.java | 4 ++-- src/main/resources/assets/mekanism/sounds.json | 2 +- 7 files changed, 16 insertions(+), 10 deletions(-) diff --git a/build.properties b/build.properties index 3f05658fc..ae9ce6668 100644 --- a/build.properties +++ b/build.properties @@ -4,4 +4,4 @@ FMP_version=1.1.2.331 CCLIB_version=1.1.3.136 NEI_version=1.0.4.101 CCC_version=1.0.6.39 -mod_version=9.0.2 +mod_version=9.0.3 diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index 78fae24c2..2b0b823a4 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -142,7 +142,7 @@ import cpw.mods.fml.common.registry.GameRegistry; * @author AidanBrady * */ -@Mod(modid = "Mekanism", name = "Mekanism", version = "9.0.2", guiFactory = "mekanism.client.gui.ConfigGuiFactory", +@Mod(modid = "Mekanism", name = "Mekanism", version = "9.0.3", guiFactory = "mekanism.client.gui.ConfigGuiFactory", dependencies = "after:ForgeMultipart;after:BuildCraft;after:BuildCraftAPI;after:IC2;after:CoFHCore;" + "after:ComputerCraft;after:Galacticraft API;after:MetallurgyCore") public class Mekanism @@ -168,7 +168,7 @@ public class Mekanism public static Configuration configuration; /** Mekanism version number */ - public static Version versionNumber = new Version(9, 0, 2); + public static Version versionNumber = new Version(9, 0, 3); /** MultiblockManagers for various structrures */ public static MultiblockManager tankManager = new MultiblockManager("dynamicTank"); diff --git a/src/main/java/mekanism/common/tile/TileEntityLogisticalSorter.java b/src/main/java/mekanism/common/tile/TileEntityLogisticalSorter.java index d77f6757f..ffc377dd9 100644 --- a/src/main/java/mekanism/common/tile/TileEntityLogisticalSorter.java +++ b/src/main/java/mekanism/common/tile/TileEntityLogisticalSorter.java @@ -8,6 +8,7 @@ import java.util.EnumSet; import mekanism.api.Coord4D; import mekanism.api.EnumColor; import mekanism.api.IConfigCardAccess.ISpecialConfigData; +import mekanism.api.MekanismConfig.client; import mekanism.api.Range4D; import mekanism.common.HashList; import mekanism.common.Mekanism; @@ -557,7 +558,7 @@ public class TileEntityLogisticalSorter extends TileEntityElectricBlock implemen { Mekanism.packetHandler.sendToReceivers(new TileEntityMessage(Coord4D.get(this), getNetworkedData(new ArrayList())), new Range4D(Coord4D.get(this))); - if(active) + if(active && client.enableMachineSounds) { worldObj.playSoundEffect(xCoord, yCoord, zCoord, "mekanism:etc.Click", 0.3F, 1); } diff --git a/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java b/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java index ebc313dff..929dbaa69 100644 --- a/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java +++ b/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java @@ -65,6 +65,7 @@ public class TileEntityThermalEvaporationController extends TileEntityThermalEva public boolean structured = false; public boolean controllerConflict = false; public boolean isLeftOnFace; + public int renderY; public boolean updatedThisTick = false; @@ -370,6 +371,8 @@ public class TileEntityThermalEvaporationController extends TileEntityThermalEva middlePointer = middlePointer.getFromSide(ForgeDirection.DOWN); } + renderY = middlePointer.yCoord+1; + if(height < 3 || height > MAX_HEIGHT) { height = 0; @@ -570,7 +573,7 @@ public class TileEntityThermalEvaporationController extends TileEntityThermalEva startPoint = isLeftOnFace ? startPoint.getFromSide(right) : startPoint; startPoint = startPoint.getFromSide(right.getOpposite()).getFromSide(MekanismUtils.getBack(facing)); - startPoint.translate(0, -(height-2), 0); + startPoint.yCoord = renderY; return startPoint; } @@ -609,6 +612,7 @@ public class TileEntityThermalEvaporationController extends TileEntityThermalEva isLeftOnFace = dataStream.readBoolean(); lastGain = dataStream.readFloat(); totalLoss = dataStream.readFloat(); + renderY = dataStream.readInt(); if(structured != prev) { @@ -665,6 +669,7 @@ public class TileEntityThermalEvaporationController extends TileEntityThermalEva data.add(isLeftOnFace); data.add(lastGain); data.add(totalLoss); + data.add(renderY); return data; } diff --git a/src/main/java/mekanism/generators/common/MekanismGenerators.java b/src/main/java/mekanism/generators/common/MekanismGenerators.java index a283661a3..137d5766f 100644 --- a/src/main/java/mekanism/generators/common/MekanismGenerators.java +++ b/src/main/java/mekanism/generators/common/MekanismGenerators.java @@ -43,7 +43,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.network.NetworkRegistry; -@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "9.0.2", dependencies = "required-after:Mekanism", guiFactory = "mekanism.generators.client.gui.GeneratorsGuiFactory") +@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "9.0.3", dependencies = "required-after:Mekanism", guiFactory = "mekanism.generators.client.gui.GeneratorsGuiFactory") public class MekanismGenerators implements IModule { @SidedProxy(clientSide = "mekanism.generators.client.GeneratorsClientProxy", serverSide = "mekanism.generators.common.GeneratorsCommonProxy") @@ -53,7 +53,7 @@ public class MekanismGenerators implements IModule public static MekanismGenerators instance; /** MekanismGenerators version number */ - public static Version versionNumber = new Version(9, 0, 2); + public static Version versionNumber = new Version(9, 0, 3); public static MultiblockManager turbineManager = new MultiblockManager("industrialTurbine"); diff --git a/src/main/java/mekanism/tools/common/MekanismTools.java b/src/main/java/mekanism/tools/common/MekanismTools.java index 3e6a82efb..3d48f90e9 100644 --- a/src/main/java/mekanism/tools/common/MekanismTools.java +++ b/src/main/java/mekanism/tools/common/MekanismTools.java @@ -29,7 +29,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; -@Mod(modid = "MekanismTools", name = "MekanismTools", version = "9.0.2", dependencies = "required-after:Mekanism", guiFactory = "mekanism.tools.client.gui.ToolsGuiFactory") +@Mod(modid = "MekanismTools", name = "MekanismTools", version = "9.0.3", dependencies = "required-after:Mekanism", guiFactory = "mekanism.tools.client.gui.ToolsGuiFactory") public class MekanismTools implements IModule { @SidedProxy(clientSide = "mekanism.tools.client.ToolsClientProxy", serverSide = "mekanism.tools.common.ToolsCommonProxy") @@ -39,7 +39,7 @@ public class MekanismTools implements IModule public static MekanismTools instance; /** MekanismTools version number */ - public static Version versionNumber = new Version(9, 0, 2); + public static Version versionNumber = new Version(9, 0, 3); //Enums: Tools public static ToolMaterial toolOBSIDIAN; diff --git a/src/main/resources/assets/mekanism/sounds.json b/src/main/resources/assets/mekanism/sounds.json index 88b8ee63a..3a6e2e3e9 100644 --- a/src/main/resources/assets/mekanism/sounds.json +++ b/src/main/resources/assets/mekanism/sounds.json @@ -49,7 +49,7 @@ "tile.gen.gas": {"category": "block", "sounds": [{"name": "GasGenerator", "stream": false}]}, "tile.gen.heat": {"category": "block", "sounds": [{"name": "HeatGenerator", "stream": false}]}, "tile.gen.solar": {"category": "block", "sounds": [{"name": "SolarGenerator", "stream": false}]}, - "tile.gen.wind": {"category": "block", "sounds": [{"name": "WindTurbine", "stream": false}]}, + "tile.gen.wind": {"category": "weather", "sounds": [{"name": "WindTurbine", "stream": false}]}, "item.flamethrower.idle": {"category": "player", "sounds": [{"name": "FlamethrowerIdle", "stream": false}]}, "item.flamethrower.active": {"category": "player", "sounds": [{"name": "FlamethrowerActive", "stream": false}]}, From b644fbc83f7daf79e87a13286813dd72691a93ad Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Wed, 22 Jun 2016 14:25:20 -0400 Subject: [PATCH 08/75] Fixed Bin amount render position --- src/main/java/mekanism/client/render/tileentity/RenderBin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mekanism/client/render/tileentity/RenderBin.java b/src/main/java/mekanism/client/render/tileentity/RenderBin.java index 74efa2abb..4b857bcfc 100644 --- a/src/main/java/mekanism/client/render/tileentity/RenderBin.java +++ b/src/main/java/mekanism/client/render/tileentity/RenderBin.java @@ -90,7 +90,7 @@ public class RenderBin extends TileEntitySpecialRenderer if(amount != "") { - renderText(amount, ForgeDirection.getOrientation(tileEntity.facing), 0.02F, x, y - 0.31F, z); + renderText(amount, ForgeDirection.getOrientation(tileEntity.facing), 0.02F, x, y - 0.3725F, z); } MekanismRenderer.glowOff(); From f450f6ddfe3bfe3308b31143328613fff25d0887 Mon Sep 17 00:00:00 2001 From: freemanovec Date: Fri, 24 Jun 2016 09:29:03 +0200 Subject: [PATCH 09/75] Added czech localization file --- src/main/resources/assets/mekanism/lang/cs_CZ.lang | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/main/resources/assets/mekanism/lang/cs_CZ.lang diff --git a/src/main/resources/assets/mekanism/lang/cs_CZ.lang b/src/main/resources/assets/mekanism/lang/cs_CZ.lang new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/src/main/resources/assets/mekanism/lang/cs_CZ.lang @@ -0,0 +1 @@ + From 8a166e108affe3d160fe0f537084ed4055d44075 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Sun, 26 Jun 2016 15:48:47 -0400 Subject: [PATCH 10/75] Fixed heat displays --- src/main/java/mekanism/client/gui/GuiBoilerStats.java | 2 +- src/main/java/mekanism/client/gui/GuiFuelwoodHeater.java | 2 +- src/main/java/mekanism/client/gui/GuiResistiveHeater.java | 1 - .../client/gui/GuiThermalEvaporationController.java | 2 +- .../java/mekanism/client/gui/GuiThermoelectricBoiler.java | 2 +- .../mekanism/generators/client/gui/GuiHeatGenerator.java | 6 ++++-- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/mekanism/client/gui/GuiBoilerStats.java b/src/main/java/mekanism/client/gui/GuiBoilerStats.java index f51ad47c3..b14dab367 100644 --- a/src/main/java/mekanism/client/gui/GuiBoilerStats.java +++ b/src/main/java/mekanism/client/gui/GuiBoilerStats.java @@ -43,7 +43,7 @@ public class GuiBoilerStats extends GuiMekanism public List getInfo() { TemperatureUnit unit = TemperatureUnit.values()[general.tempUnit.ordinal()]; - String environment = UnitDisplayUtils.getDisplayShort(tileEntity.structure.lastEnvironmentLoss*unit.intervalSize, unit); + String environment = UnitDisplayUtils.getDisplayShort(tileEntity.structure.lastEnvironmentLoss*unit.intervalSize, false, unit); return ListUtils.asList(LangUtils.localize("gui.dissipated") + ": " + environment + "/t"); } }, this, MekanismUtils.getResource(ResourceType.GUI, "GuiBoilerStats.png"))); diff --git a/src/main/java/mekanism/client/gui/GuiFuelwoodHeater.java b/src/main/java/mekanism/client/gui/GuiFuelwoodHeater.java index 4f8f1d159..71d1b3050 100644 --- a/src/main/java/mekanism/client/gui/GuiFuelwoodHeater.java +++ b/src/main/java/mekanism/client/gui/GuiFuelwoodHeater.java @@ -40,7 +40,7 @@ public class GuiFuelwoodHeater extends GuiMekanism public List getInfo() { TemperatureUnit unit = TemperatureUnit.values()[general.tempUnit.ordinal()]; - String environment = UnitDisplayUtils.getDisplayShort(tileEntity.lastEnvironmentLoss*unit.intervalSize, unit); + String environment = UnitDisplayUtils.getDisplayShort(tileEntity.lastEnvironmentLoss*unit.intervalSize, false, unit); return ListUtils.asList(LangUtils.localize("gui.dissipated") + ": " + environment + "/t"); } }, this, MekanismUtils.getResource(ResourceType.GUI, "GuiFuelwoodHeater.png"))); diff --git a/src/main/java/mekanism/client/gui/GuiResistiveHeater.java b/src/main/java/mekanism/client/gui/GuiResistiveHeater.java index dfc5f29da..857058ffe 100644 --- a/src/main/java/mekanism/client/gui/GuiResistiveHeater.java +++ b/src/main/java/mekanism/client/gui/GuiResistiveHeater.java @@ -62,7 +62,6 @@ public class GuiResistiveHeater extends GuiMekanism @Override public List getInfo() { - System.out.println(tileEntity.lastEnvironmentLoss); TemperatureUnit unit = TemperatureUnit.values()[general.tempUnit.ordinal()]; String environment = UnitDisplayUtils.getDisplayShort(tileEntity.lastEnvironmentLoss*unit.intervalSize, false, unit); return ListUtils.asList(LangUtils.localize("gui.dissipated") + ": " + environment + "/t"); diff --git a/src/main/java/mekanism/client/gui/GuiThermalEvaporationController.java b/src/main/java/mekanism/client/gui/GuiThermalEvaporationController.java index 5bdec4066..b86467675 100644 --- a/src/main/java/mekanism/client/gui/GuiThermalEvaporationController.java +++ b/src/main/java/mekanism/client/gui/GuiThermalEvaporationController.java @@ -53,7 +53,7 @@ public class GuiThermalEvaporationController extends GuiMekanism public List getInfo() { TemperatureUnit unit = TemperatureUnit.values()[general.tempUnit.ordinal()]; - String environment = UnitDisplayUtils.getDisplayShort(tileEntity.totalLoss*unit.intervalSize, unit); + String environment = UnitDisplayUtils.getDisplayShort(tileEntity.totalLoss*unit.intervalSize, false, unit); return ListUtils.asList(LangUtils.localize("gui.dissipated") + ": " + environment + "/t"); } }, this, MekanismUtils.getResource(ResourceType.GUI, "GuiThermalEvaporationController.png"))); diff --git a/src/main/java/mekanism/client/gui/GuiThermoelectricBoiler.java b/src/main/java/mekanism/client/gui/GuiThermoelectricBoiler.java index 3c0bf5214..31c553e2f 100644 --- a/src/main/java/mekanism/client/gui/GuiThermoelectricBoiler.java +++ b/src/main/java/mekanism/client/gui/GuiThermoelectricBoiler.java @@ -71,7 +71,7 @@ public class GuiThermoelectricBoiler extends GuiMekanism public List getInfo() { TemperatureUnit unit = TemperatureUnit.values()[general.tempUnit.ordinal()]; - String environment = UnitDisplayUtils.getDisplayShort(tileEntity.structure.lastEnvironmentLoss*unit.intervalSize, unit); + String environment = UnitDisplayUtils.getDisplayShort(tileEntity.structure.lastEnvironmentLoss*unit.intervalSize, false, unit); return ListUtils.asList(LangUtils.localize("gui.dissipated") + ": " + environment + "/t"); } }, this, MekanismUtils.getResource(ResourceType.GUI, "GuiThermoelectricBoiler.png"))); diff --git a/src/main/java/mekanism/generators/client/gui/GuiHeatGenerator.java b/src/main/java/mekanism/generators/client/gui/GuiHeatGenerator.java index e7ff30ba6..67382b89e 100644 --- a/src/main/java/mekanism/generators/client/gui/GuiHeatGenerator.java +++ b/src/main/java/mekanism/generators/client/gui/GuiHeatGenerator.java @@ -2,6 +2,7 @@ package mekanism.generators.client.gui; import java.util.List; +import mekanism.api.MekanismConfig.general; import mekanism.api.util.ListUtils; import mekanism.api.util.UnitDisplayUtils; import mekanism.api.util.UnitDisplayUtils.TemperatureUnit; @@ -66,8 +67,9 @@ public class GuiHeatGenerator extends GuiMekanism @Override public List getInfo() { - String transfer = UnitDisplayUtils.getDisplayShort(tileEntity.lastTransferLoss, TemperatureUnit.KELVIN); - String environment = UnitDisplayUtils.getDisplayShort(tileEntity.lastEnvironmentLoss, TemperatureUnit.KELVIN); + TemperatureUnit unit = TemperatureUnit.values()[general.tempUnit.ordinal()]; + String transfer = UnitDisplayUtils.getDisplayShort(tileEntity.lastTransferLoss, false, unit); + String environment = UnitDisplayUtils.getDisplayShort(tileEntity.lastEnvironmentLoss, false, unit); return ListUtils.asList(LangUtils.localize("gui.transferred") + ": " + transfer + "/t", LangUtils.localize("gui.dissipated") + ": " + environment + "/t"); } }, this, MekanismUtils.getResource(ResourceType.GUI, "GuiHeatGenerator.png"))); From 2358c22fa8d7749db63d730c6d30025e2163ae57 Mon Sep 17 00:00:00 2001 From: karakufire Date: Mon, 27 Jun 2016 11:45:45 +0900 Subject: [PATCH 11/75] Update ja-JP.lang --- .../resources/assets/mekanism/lang/ja_JP.lang | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/ja_JP.lang b/src/main/resources/assets/mekanism/lang/ja_JP.lang index dc84c4a6c..632aad3d7 100644 --- a/src/main/resources/assets/mekanism/lang/ja_JP.lang +++ b/src/main/resources/assets/mekanism/lang/ja_JP.lang @@ -95,11 +95,11 @@ tile.BasicBlock.StructuralGlass.name=構造用ガラス tile.BasicBlock.DynamicValve.name=ダイナミックバルブ tile.BasicBlock.CopperBlock.name=銅ブロック tile.BasicBlock.TinBlock.name=錫ブロック -tile.BasicBlock.ThermalEvaporationController.name=加温採鹹コントローラ -tile.BasicBlock.ThermalEvaporationValve.name=加温採鹹バルブ +tile.BasicBlock.ThermalEvaporationController.name=加温蒸発濃縮コントローラ +tile.BasicBlock.ThermalEvaporationValve.name=加温蒸発濃縮バルブ //Basic Block 2 (second ID iteration) -tile.BasicBlock2.ThermalEvaporationBlock.name=加温採鹹ブロック +tile.BasicBlock2.ThermalEvaporationBlock.name=加温蒸発濃縮ブロック tile.BasicBlock2.InductionCasing.name=インダクションケーシング tile.BasicBlock2.InductionPort.name=インダクションポート tile.BasicBlock2.InductionCellBasic.name=ベーシックインダクションセル @@ -522,7 +522,7 @@ gui.coils=コイル数 gui.dispersers=圧力分散器 gui.vents=蒸気排出口 gui.maxProduction=最大発電量 -gui.limiting=限界 +gui.limiting=限定的 gui.steamInput=蒸気搬入量 gui.capacity=容量 gui.unit=単位 @@ -782,13 +782,13 @@ tooltip.SteelCasing=頑丈な鋼鉄製の筐体です。マシンの作成に使 tooltip.DynamicTank=ダイナミックタンクの組み立てに使います。沢山の液体を貯蔵します。 tooltip.StructuralGlass=強化されたガラスで破壊してもアイテム化します。マルチブロックの窓として使用することが出来ます。 tooltip.DynamicValve=ダイナミックタンクの組み立てに使います。パイプからの液体の搬入出をサポートします。 -tooltip.ThermalEvaporationController=加温採鹹装置の根幹となるブロックです。加温採鹹装置に一つだけ置くことが出来ます。 -tooltip.ThermalEvaporationValve=加温採鹹装置のバルブです。パイプからの液体の搬入出をサポートします。 -tooltip.ThermalEvaporationBlock=加温採鹹装置の組み立てに使う銅合金製の筐体です。処理に必要な沢山の熱を素材が伝導します。 -tooltip.InductionCasing=大きなエネルギーに耐えられる筐体です。インダクションマトリックスの組み立てに使います。 -tooltip.InductionPort=インダクションマトリックスの組み立てに使い、インダクションマトリックスのエネルギーの搬入出を担います。 -tooltip.InductionCell=多大なエネルギーを蓄えることが出来る、高伝導性のキャパシタです。 インダクションマトリックスの内部に組み込んで、蓄電容量を増大するのに使用します。 -tooltip.InductionProvider=先進的な冷却システム、伝導体と変圧器の統合体です。 インダクションマトリックスの内部に組み込み、エネルギーの入出力上限を増強するのに使います。 +tooltip.ThermalEvaporationController=加温蒸発濃縮装置の根幹となるブロックです。加温蒸発濃縮装置につき一つだけ置くことが出来ます。 +tooltip.ThermalEvaporationValve=加温蒸発濃縮装置のバルブです。サーモダイナミックコンダクターからの導熱、パイプからの液体の搬入出をサポートします。 +tooltip.ThermalEvaporationBlock=加温蒸発濃縮装置の組み立てに使う銅合金製の筐体です。処理に必要な沢山の熱を素材が伝導します。 +tooltip.InductionCasing=莫大なエネルギーに耐えられる筐体です。インダクションマトリックスの組み立てに使います。 +tooltip.InductionPort=インダクションマトリックスの組み立てに用い、インダクションマトリックスにおけるエネルギーの搬入出を担います。 +tooltip.InductionCell=甚大なエネルギーを蓄えることが出来る、高伝導性のキャパシタです。 インダクションマトリックスの内部に組み込み、蓄電容量を増やします。 +tooltip.InductionProvider=先進的な、冷却システム、伝導体と変圧器の統合体です。 インダクションマトリックスの内部に組み込み、エネルギーの入出力上限を増やします。 tooltip.SuperheatingElement=周囲に高熱を放出する、何だか危ない部品です。 tooltip.PressureDisperser=蒸気を分散させるためのマルチブロックの部品です。 蒸気の流れを適切に制御するために、隙間なく水平に置く必要があります。 tooltip.BoilerCasing=耐圧性の高密な筐体です。ボイラー室の組み立てに使います。 From 9bc65d45937f6e4ea45aca71f46a4421c61d5a69 Mon Sep 17 00:00:00 2001 From: Jakub Rohla Date: Mon, 27 Jun 2016 07:07:02 +0200 Subject: [PATCH 12/75] 114/1085 translations completed --- .../resources/assets/mekanism/lang/cs_CZ.lang | 1084 +++++++++++++++++ 1 file changed, 1084 insertions(+) diff --git a/src/main/resources/assets/mekanism/lang/cs_CZ.lang b/src/main/resources/assets/mekanism/lang/cs_CZ.lang index 8b1378917..3c6e9d19c 100644 --- a/src/main/resources/assets/mekanism/lang/cs_CZ.lang +++ b/src/main/resources/assets/mekanism/lang/cs_CZ.lang @@ -1 +1,1085 @@ +//********// +//MEKANISM// +//********// +//Items +tile.ObsidianTNT.name=Obsidiánové TNT +item.EnrichedAlloy.name=Obohacená Slitina +item.ReinforcedAlloy.name=Tvrzená Slitina +item.AtomicAlloy.name=Atomická Slitina +item.EnergyTablet.name=Energický Tablet +item.SpeedUpgrade.name=Vylepšení Rychlosti +item.EnergyUpgrade.name=Vylepšení Energie +item.FilterUpgrade.name=Vylepšení Filtru +item.MufflingUpgrade.name=Vylepšení Dušení +item.GasUpgrade.name=Vylepšení Plynu +item.Robit.name=Robit +item.AtomicDisassembler.name=Atomický Rozkladač +item.ElectricBow.name=Elektrický Luk +item.EnrichedIron.name=Obohacené Železo +item.CompressedCarbon.name=Zkompresovaný Uhlík +item.CompressedRedstone.name=Zkompresovaný Rudit +item.CompressedDiamond.name=Zkompresovaný Diamant +item.CompressedObsidian.name=Zkompresovaný Obsidián +item.PortableTeleporter.name=Přenosný Teleportér +item.TeleportationCore.name=Teleportační Jádro +item.Configurator.name=Konfigurátor +item.NetworkReader.name=Čtečka sítě +item.WalkieTalkie.name=Vysílačka +item.Jetpack.name=Jetpack +item.ScubaTank.name=Potápěcí Nádrž +item.GasMask.name=Plynová Maska +item.Dictionary.name=Slovník +item.ElectrolyticCore.name=Elektrolytické Jádro +item.Sawdust.name=Piliny +item.Salt.name=Sůl +item.BrineBucket.name=Kyblík Solanky +item.LithiumBucket.name=Kyblík Lithia +item.HeavyWaterBucket.name=Kyblík Těžké Vody +item.FreeRunners.name=Volnoběžky +item.ArmoredJetpack.name=Obrněný Jetpack +item.ConfigurationCard.name=Konfigurační Karta +item.SeismicReader.name=Seismická Čtečka +item.HDPEPellet.name=HDPE Kulička +item.HDPERod.name=HDPE Tyč +item.HDPESheet.name=HDPE List +item.PlaStick.name=PlaTyčka +item.Substrate.name=Substrát +item.Flamethrower.name=Plamenomet +item.GaugeDropper.name=Kapátko +item.BioFuel.name=Bio Palivo +item.CraftingFormula.name=Výrobní Recept + +//Control Circuits +item.BasicControlCircuit.name=Základní Ovládací Obvod +item.AdvancedControlCircuit.name=Pokročilý Ovládací Obvod +item.EliteControlCircuit.name=Elitní Ovládací Obvod +item.UltimateControlCircuit.name=Ultimátní Ovládací Obvod + +//Gas Tank +tile.GasTankBasic.name=Základní Plynová Nádrž +tile.GasTankAdvanced.name=Pokročilá Plynová Nádrž +tile.GasTankElite.name=Elitní Plynová Nádrž +tile.GasTankUltimate.name=Ultimátní Plynová Nádrž + +//Fluid Tank (part of MachineBlock2, naming handled differently) +tile.FluidTankBasic.name=Základní Kapalinová Nádrž +tile.FluidTankAdvanced.name=Pokročilá Kapalinová Nádrž +tile.FluidTankElite.name=Elitní Kapalinová Nádrž +tile.FluidTankUltimate.name=Ultimátní Kapalinová Nádrž + +//Cardboard Box +tile.CardboardBox.name=Kartonová Krabice + +//Bounding Block +tile.BoundingBlock.name=Vázací Blok + +//Salt +tile.SaltBlock.name=Solný Blok + +//Basic Block +tile.BasicBlock.OsmiumBlock.name=Blok Osmia +tile.BasicBlock.BronzeBlock.name=Blok Bronzu +tile.BasicBlock.RefinedObsidian.name=Rafinovaný Obsidián +tile.BasicBlock.CharcoalBlock.name=Blok Dřevěného Uhlí +tile.BasicBlock.RefinedGlowstone.name=Rafinovaný Světlit +tile.BasicBlock.SteelBlock.name=Blok Oceli +tile.BasicBlock.BinBasic.name=Základní Koš +tile.BasicBlock.BinAdvanced.name=Pokročilý Koš +tile.BasicBlock.BinElite.name=Elitní Koš +tile.BasicBlock.BinUltimate.name=Ultimátní Koš +tile.BasicBlock.TeleporterFrame.name=Rám Teleportéru +tile.BasicBlock.SteelCasing.name=Ocelový Plášť +tile.BasicBlock.DynamicTank.name=Dynamická Nádrž +tile.BasicBlock.StructuralGlass.name=Strukturální Sklo +tile.BasicBlock.DynamicValve.name=Dynamický Ventil +tile.BasicBlock.CopperBlock.name=Blok Měďi +tile.BasicBlock.TinBlock.name=Blok Cínu +tile.BasicBlock.ThermalEvaporationController.name=Ovladač Slunečního Výparu +tile.BasicBlock.ThermalEvaporationValve.name=Ventil Slunečního Výparu + +//Basic Block 2 (second ID iteration) +tile.BasicBlock2.ThermalEvaporationBlock.name=Blok Slunečního Výparu +tile.BasicBlock2.InductionCasing.name=Indukční Plášť +tile.BasicBlock2.InductionPort.name=Indukční Port +tile.BasicBlock2.InductionCellBasic.name=Základní Indukční Článek +tile.BasicBlock2.InductionCellAdvanced.name=Pokročilý Indukční Článek +tile.BasicBlock2.InductionCellElite.name=Elitní Indukční Článek +tile.BasicBlock2.InductionCellUltimate.name=Ultimátní Indukční Článek +tile.BasicBlock2.InductionProviderBasic.name=Základní Poskytovatel Indukce +tile.BasicBlock2.InductionProviderAdvanced.name=Pokročilý Poskytovatel Indukce +tile.BasicBlock2.InductionProviderElite.name=Elitní Poskytovatel Indukce +tile.BasicBlock2.InductionProviderUltimate.name=Ultimátní Poskytovatel Indukce +tile.BasicBlock2.SuperheatingElement.name=Superohřívací Element +tile.BasicBlock2.PressureDisperser.name=Rozprašovač Tlaku +tile.BasicBlock2.BoilerCasing.name=Boiler Casing +tile.BasicBlock2.BoilerValve.name=Boiler Valve +tile.BasicBlock2.SecurityDesk.name=Security Desk + +//Machine Block +tile.MachineBlock.EnrichmentChamber.name=Enrichment Chamber +tile.MachineBlock.OsmiumCompressor.name=Osmium Compressor +tile.MachineBlock.Combiner.name=Combiner +tile.MachineBlock.Crusher.name=Crusher +tile.MachineBlock.Factory.name=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.PersonalChest.name=Personal 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.FluidicPlenisher.name=Fluidic Plenisher +tile.MachineBlock2.Laser.name=Laser +tile.MachineBlock2.LaserAmplifier.name=Laser Amplifier +tile.MachineBlock2.LaserTractorBeam.name=Laser Tractor Beam + +//Machine Block 3 (third ID iteration) +tile.MachineBlock3.QuantumEntangloporter.name=Quantum Entangloporter +tile.MachineBlock3.SolarNeutronActivator.name=Solar Neutron Activator +tile.MachineBlock3.Oredictionificator.name=Oredictionificator +tile.MachineBlock3.ResistiveHeater.name=Resistive Heater +tile.MachineBlock3.FormulaicAssemblicator.name=Formulaic Assemblicator +tile.MachineBlock3.FuelwoodHeater.name=Fuelwood Heater + +//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=Obsidian +infuse.bio=Biomass + +//Ore Block +tile.OreBlock.OsmiumOre.name=Osmium Ore +tile.OreBlock.CopperOre.name=Copper Ore +tile.OreBlock.TinOre.name=Tin Ore + +//Transmitters +item.MultipartTransmitter.BasicPressurizedTube.name=Basic Pressurized Tube +item.MultipartTransmitter.AdvancedPressurizedTube.name=Advanced Pressurized Tube +item.MultipartTransmitter.ElitePressurizedTube.name=Elite Pressurized Tube +item.MultipartTransmitter.UltimatePressurizedTube.name=Ultimate Pressurized Tube +item.MultipartTransmitter.BasicUniversalCable.name=Basic Universal Cable +item.MultipartTransmitter.AdvancedUniversalCable.name=Advanced 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=Advanced Mechanical Pipe +item.MultipartTransmitter.EliteMechanicalPipe.name=Elite Mechanical Pipe +item.MultipartTransmitter.UltimateMechanicalPipe.name=Ultimate Mechanical Pipe +item.MultipartTransmitter.BasicLogisticalTransporter.name=Basic Logistical Transporter +item.MultipartTransmitter.AdvancedLogisticalTransporter.name=Advanced Logistical Transporter +item.MultipartTransmitter.EliteLogisticalTransporter.name=Elite Logistical Transporter +item.MultipartTransmitter.UltimateLogisticalTransporter.name=Ultimate Logistical Transporter +item.MultipartTransmitter.RestrictiveTransporter.name=Restrictive Transporter +item.MultipartTransmitter.DiversionTransporter.name=Diversion Transporter +item.MultipartTransmitter.BasicThermodynamicConductor.name=Basic Thermodynamic Conductor +item.MultipartTransmitter.AdvancedThermodynamicConductor.name=Advanced Thermodynamic Conductor +item.MultipartTransmitter.EliteThermodynamicConductor.name=Elite Thermodynamic Conductor +item.MultipartTransmitter.UltimateThermodynamicConductor.name=Ultimate Thermodynamic Conductor + +//Glow Panel +item.GlowPanel.name=Glow Panel + +//Energy Cubes +tile.EnergyCubeBasic.name=Basic Energy Cube +tile.EnergyCubeAdvanced.name=Advanced Energy Cube +tile.EnergyCubeElite.name=Elite Energy Cube +tile.EnergyCubeUltimate.name=Ultimate Energy Cube +tile.EnergyCubeCreative.name=Creative Energy Cube + +//Factory Installers +item.basicFactoryInstaller.name=Basic Factory Installer +item.advancedFactoryInstaller.name=Advanced Factory Installer +item.eliteFactoryInstaller.name=Elite Factory Installer + +//Dust +item.ironDust.name=Iron Dust +item.goldDust.name=Gold Dust +item.osmiumDust.name=Osmium Dust +item.obsidianDust.name=Obsidian Dust +item.refinedobsidianDust.name=Refined Obsidian Dust +item.diamondDust.name=Diamond Dust +item.steelDust.name=Steel 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.lithiumDust.name=Lithium Dust + +//Clumps +item.ironClump.name=Iron Clump +item.goldClump.name=Gold Clump +item.osmiumClump.name=Osmium Clump +item.copperClump.name=Copper Clump +item.tinClump.name=Tin Clump +item.silverClump.name=Silver Clump +item.leadClump.name=Lead Clump + +//Shards +item.ironShard.name=Iron Shard +item.goldShard.name=Gold Shard +item.osmiumShard.name=Osmium Shard +item.copperShard.name=Copper Shard +item.tinShard.name=Tin Shard +item.silverShard.name=Silver Shard +item.leadShard.name=Lead Shard + +//Crystals +item.ironCrystal.name=Iron Crystal +item.goldCrystal.name=Gold Crystal +item.osmiumCrystal.name=Osmium Crystal +item.copperCrystal.name=Copper Crystal +item.tinCrystal.name=Tin Crystal +item.silverCrystal.name=Silver Crystal +item.leadCrystal.name=Lead Crystal + +//Dirty Dust +item.dirtyIronDust.name=Dirty Iron Dust +item.dirtyGoldDust.name=Dirty Gold Dust +item.dirtyOsmiumDust.name=Dirty Osmium Dust +item.dirtyCopperDust.name=Dirty Copper Dust +item.dirtyTinDust.name=Dirty Tin Dust +item.dirtySilverDust.name=Dirty Silver Dust +item.dirtyLeadDust.name=Dirty Lead Dust + +//Ingots +item.obsidianIngot.name=Refined Obsidian Ingot +item.osmiumIngot.name=Osmium Ingot +item.bronzeIngot.name=Bronze Ingot +item.glowstoneIngot.name=Glowstone Ingot +item.steelIngot.name=Steel 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 Osmium +gas.liquidStone=Liquid Stone +gas.ethene=Ethylene +gas.sodium=Sodium +gas.brine=Gaseous Brine +gas.deuterium=Deuterium +gas.tritium=Tritium +gas.lithium=Lithium +gas.fusionFuelDT=D-T Fuel + +gas.iron=Iron Slurry +gas.gold=Gold Slurry +gas.osmium=Osmium Slurry +gas.copper=Copper Slurry +gas.tin=Tin Slurry +gas.silver=Silver Slurry +gas.obsidian=Obsidian Slurry +gas.lead=Lead Slurry + +gas.cleanIron=Clean Iron Slurry +gas.cleanGold=Clean Gold Slurry +gas.cleanOsmium=Clean Osmium Slurry +gas.cleanCopper=Clean Copper Slurry +gas.cleanTin=Clean Tin Slurry +gas.cleanSilver=Clean Silver Slurry +gas.cleanObsidian=Clean Obsidian 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 +fluid.heavyWater=Heavy Water +fluid.lithium=Liquid Lithium +fluid.deuterium=Liquid Deuterium +fluid.tritium=Liquid Tritium +fluid.fusionFuelDT=Liquid D-T Fuel +fluid.steam=Steam + +//OreGas names +oregas.iron=Iron Ore +oregas.gold=Gold Ore +oregas.osmium=Osmium Ore +oregas.copper=Copper Ore +oregas.tin=Tin Ore +oregas.silver=Silver Ore +oregas.obsidian=Obsidian Ore +oregas.lead=Lead Ore + +//Tier names +tier.Basic=Basic +tier.Advanced=Advanced +tier.Elite=Elite +tier.Ultimate=Ultimate +tier.Creative=Creative + +//Transmission types +transmission.Energy=Energy +transmission.Fluids=Fluids +transmission.Gases=Gases +transmission.Items=Items +transmission.Heat=Heat + +//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 + +//Upgrades +upgrade.energy=Energy +upgrade.energy.desc=Increases energy efficiency and capacity of machinery. +upgrade.speed=Speed +upgrade.speed.desc=Increases speed of machinery. +upgrade.filter=Filter +upgrade.filter.desc=A filter that separates heavy water from regular water. +upgrade.gas=Gas +upgrade.gas.desc=Increases the efficiency of gas-using machinery. +upgrade.muffling=Muffling +upgrade.muffling.desc=Reduces noise generated by machinery. + +//Key description text +key.mode=Item Mode Switch +key.armorMode=Armor Mode Switch +key.voice=Voice + +//Entities +entity.Mekanism.Robit.name=Robit +entity.Mekanism.BabySkeleton.name=Baby Skeleton + +//Config Gui +mekanism.configgui.ctgy.general=Mekanism General Settings +mekanism.configgui.ctgy.machines=Machine Settings +mekanism.configgui.ctgy.tier=Tier Settings +mekanism.configgui.ctgy.usage=Usage Settings +mekanism.configgui.ctgy.client=Client Settings + +//Config Tooltips +mekanism.configgui.ctgy.general.tooltip=General settings regarding Mekanism and all its modules +mekanism.configgui.ctgy.machines.tooltip=Settings regarding enabling and disabling of specific machinery +mekanism.configgui.ctgy.tier.tooltip=Settings regarding Mekanism tiers and their corresponding values +mekanism.configgui.ctgy.usage.tooltip=Settings regarding machinery and their energy usage +mekanism.configgui.ctgy.client.tooltip=Client-specific settings regarding Mekanism and all its modules + +//Gui text +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.strictInput=Strict Input +gui.slots=Slots +gui.state=State +gui.on=On +gui.off=Off +gui.filters=Filters +gui.filter=Filter +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.well=All is well! +gui.upgrade=Upgrade +gui.infinite=Infinite +gui.min=Min +gui.max=Max +gui.delay=Delay +gui.noDelay=No Delay +gui.fuel=Fuel +gui.heat=Heat +gui.formed=Formed +gui.incomplete=Incomplete +gui.inductionMatrix=Induction Matrix +gui.matrixStats=Matrix Statistics +gui.turbineStats=Turbine Statistics +gui.boilerStats=Boiler Statistics +gui.main=Main +gui.outputting=Outputting +gui.receiving=Receiving +gui.dimensions=Dimensions +gui.constituents=Constituents +gui.cells=cells +gui.providers=providers +gui.structure=Structure +gui.dynamicTank=Dynamic Tank +gui.industrialTurbine=Industrial Turbine +gui.thermoelectricBoiler=Thermoelectric Boiler +gui.visuals=Visuals +gui.noEject=Can't Eject +gui.undefined=Undefined +gui.owner=Owner +gui.public=Public +gui.private=Private +gui.add=Add +gui.set=Set +gui.freq=Freq +gui.security=Security +gui.index=Index +gui.producing=Producing +gui.maxOutput=Max Output +gui.storing=Storing +gui.skyBlocked=Sky blocked +gui.using=Using +gui.needed=Needed +gui.noRecipe=No recipe +gui.conflict=Conflict +gui.height=Height +gui.mult=Mult +gui.chunk=Chunk +gui.vibrating=Vibrating +gui.abundancy=Abundancy +gui.nextItem=Next Item +gui.lastItem=Last Item +gui.oreDictCompat=Compatible OreDict Key +gui.toggleCooling=Toggle Cooling Measurements +gui.coolingMeasurements=Active cooling +gui.redstoneOutputMode=Redstone mode +gui.entityDetection=Entity Detection +gui.moveUp=Move Up +gui.moveDown=Move Down +gui.flowRate=Flow rate +gui.maxFlow=Max flow +gui.tankVolume=Tank Volume +gui.steamFlow=Steam Flow +gui.production=Production +gui.blades=Blades +gui.coils=Coils +gui.dispersers=Dispersers +gui.vents=Vents +gui.maxProduction=Max Production +gui.limiting=Limiting +gui.steamInput=Steam Input +gui.capacity=Capacity +gui.unit=Unit +gui.temp=Temp +gui.usage=Usage +gui.transferred=Transferred +gui.dissipated=Dissipated +gui.boilRate=Boil Rate +gui.maxBoil=Max Boil +gui.maxWater=Max Water +gui.maxSteam=Max Steam +gui.heatTransfer=Heat Transfer +gui.superheaters=Superheaters +gui.boilCapacity=Boil Capacity +gui.encodeFormula=Encode Formula +gui.autoModeToggle=Turn Auto-Mode +gui.craftSingle=Craft Single Item +gui.craftAvailable=Craft Available Items +gui.fillEmpty=Fill/Empty Grid +gui.noOwner=No Owner +gui.securityOverride=Security Override +gui.remove=Remove +gui.trustedPlayers=Trusted Players +gui.publicMode=Public Mode +gui.privateMode=Private Mode +gui.trustedMode=Trusted Mode +gui.securityOffline=Security Offline +gui.noAccessDesc=You don't have access. +gui.overridden=Overridden +gui.nowOwn=You now own this item. +gui.frequency=Frequency +gui.mode=Mode +gui.burnRate=Burn Rate + +gui.reactor.injectionRate=Injection Rate + +gui.upgrades=Upgrades +gui.upgrades.supported=Supported +gui.upgrades.noSelection=No selection +gui.upgrades.amount=Amount +gui.upgrades.max=Max +gui.upgrades.effect=Effect + +gui.chemicalInfuser.short=C. Infuser +gui.chemicalDissolutionChamber.short=C. Dissolution Chamber +gui.thermalEvaporationController.short=Thermal E. Controller + +gui.dictionary.noKey=No key. + +gui.configuration=Configuration +gui.config=Config +gui.configuration.side=Side Config +gui.configuration.transporter=Transporter Config +gui.configuration.strictInput=Strict Input + +gui.rotaryCondensentrator.toggleOperation=Toggle operation + +gui.factory.secondaryEnergy=Secondary energy +gui.factory.autoSort=Auto-sort + +//Recipe types +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.Infusing=Infusing + +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.oredictionificatorFilter=Oredictionificator Filter + +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 +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.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.teleporter.noAccess=You don't have access to this Teleporter. +gui.teleporter.noFreq=No frequency + +gui.entangloporter.noAccess=You don't have access to this Entangloporter. + +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 +gui.digitalMiner.requireReplace=Require replace +gui.digitalMiner.fuzzyMode=Fuzzy mode +gui.digitalMiner.missingBlock=Missing block + +//Recipe names +recipe.mekanismShaped=Shaped +recipe.mekanismShapeless=Shapeless + +//Security types +security.public=Public +security.private=Private +security.trusted=Trusted + +//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.toggleMode=%s behavior bumped to +tooltip.configurator.viewMode=Current %s behavior +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.configurator.inductionPortMode=Toggled Induction Port transfer mode to +tooltip.configurator.toggleColor=Color bumped to +tooltip.configurator.viewColor=Current color + +tooltip.upgrade.speed=Speed +tooltip.upgrade.energy=Energy + +tooltip.inventory=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.outputRate=Output Rate +tooltip.insufficientFuel=Insufficient Fuel +tooltip.readyForReaction=Ready for Reaction +tooltip.speed=Speed +tooltip.and=and +tooltip.heat=Heat +tooltip.itemAmount=Item amount +tooltip.invalid=Invalid +tooltip.encoded=Encoded +tooltip.ingredients=Ingredients + +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.configurationCard.got=Retrieved configuration data from %s +tooltip.configurationCard.set=Injected configuration data of type %s +tooltip.configurationCard.unequal=Unequal configuration data formats + +tooltip.balloon=Balloon + +tooltip.jetpack.regular=Regular +tooltip.jetpack.hover=Hover +tooltip.jetpack.disabled=Disabled + +tooltip.flamethrower.combat=Combat +tooltip.flamethrower.heat=Heat +tooltip.flamethrower.inferno=Inferno +tooltip.flamethrower.modeBump=Flamethrower mode bumped to + +tooltip.seismicReader.needsEnergy=Not enough energy to interpret vibration +tooltip.seismicReader.noVibrations=Unable to discover any vibrations + +tooltip.Bin=A block used to store large quantities of a single type of item. +tooltip.TeleporterFrame=The frame used to construct the Teleporter multiblock, allowing a portal to be generated within the structure. +tooltip.SteelCasing=A sturdy, steel-based casing used as a foundation for machinery. +tooltip.DynamicTank=The casing used in the Dynamic Tank multiblock, a structure capable of storing great amounts of fluid. +tooltip.StructuralGlass=An advanced, reinforced material of glass that drops when broken and can be used in the structure of any applicable multiblock. +tooltip.DynamicValve=A valve that can be placed on a Dynamic Tank multiblock, allowing for fluids to be inserted and extracted via external piping. +tooltip.ThermalEvaporationController=The controller for a Thermal Evaporation Plant, acting as the master block of the structure. Only one of these should be placed on a multiblock. +tooltip.ThermalEvaporationValve=A valve that can be placed on a Thermal Evaporation Plant multiblock, allowing for fluids to be inserted and extracted via external piping. +tooltip.ThermalEvaporationBlock=A copper-alloyed casing used in the structure of a Thermal Evaporation Plant, using its advanced material to conduct the great amounts of heat necessary for processing. +tooltip.InductionCasing=A type of energy-resistant casing used in the creation of an Energized Induction Matrix multiblock. +tooltip.InductionPort=A port that can be placed on an Energized Induction Matrix multiblock, allowing for energy to be inserted from and output to external cabling. +tooltip.InductionCell=A highly conductive energy capacitor capable of storing massive amounts of energy in a single block. Housed in an Energized Induction Matrix to expand the multiblock's energy storage. +tooltip.InductionProvider=An advanced complex of coolant systems, conductors and transformers capable of expanding the Energized Induction Matrix's maximum rate of energy transfer. +tooltip.SuperheatingElement=A modular, somewhat dangerous radiator that is capable of emitting massive amounts of heat to its surroundings. +tooltip.PressureDisperser=A block used disperse steam throughout a multiblock structure. These should form a gapless, horizontal plane in order to properly control steam flow. +tooltip.BoilerCasing=A pressure-resistant, dense casing used in the creation of a Thermoelectric Boiler multiblock. +tooltip.BoilerValve=A valve that can be placed on a Thermoelectric Boiler multiblock, allowing for the insertion of energy and water along with the extraction of produced steam. +tooltip.SecurityDesk=A central control hub for managing the security of all your owned machinery. + +tooltip.EnrichmentChamber=A simple machine used to enrich ores into two of their dust counterparts, as well as perform many other operations. +tooltip.OsmiumCompressor=A fairly advanced machine used to compress osmium into various dusts in order to create their ingot counterparts. +tooltip.Combiner=A machine used to combine dusts and cobblestone to form their ore counterparts. +tooltip.Crusher=A machine used to crush ingots into their dust counterparts, as well as perform many other operations. +tooltip.DigitalMiner=A highly-advanced, filter-based, auto-miner that can mine whatever block you tell it to within a 32 block (max) radius. +tooltip.MetallurgicInfuser=A machine used to infuse various materials into (generally) metals to create metal alloys and other compounds. +tooltip.PurificationChamber=An advanced machine capable of processing ores into three clumps, serving as the initial stage of 300% ore processing. +tooltip.EnergizedSmelter=A simple machine that serves as a Mekanism-based furnace that runs off of energy. +tooltip.Teleporter=A machine capable of teleporting players to various locations defined by another teleporter. +tooltip.ElectricPump=An advanced, upgradeable pump, capable of extracting any type of fluid. +tooltip.PersonalChest=A 54-slot chest that can be opened anywhere- even from your own inventory. +tooltip.Chargepad=A universal chargepad that can charge any energized item from any mod. +tooltip.LogisticalSorter=A filter-based, advanced sorting machine that can auto-eject specified items out of and into adjacent inventories and Logistical Transporters. +tooltip.RotaryCondensentrator=A machine capable of converting gasses into their fluid form and vice versa. +tooltip.ChemicalInjectionChamber=An elite machine capable of processing ores into four shards, serving as the initial stage of 400% ore processing. +tooltip.ElectrolyticSeparator=A machine that uses the process of electrolysis to split apart a certain gas into two different gasses. +tooltip.PrecisionSawmill=A machine used to process logs and other wood-based items more efficiently, as well as to obtain sawdust. +tooltip.ChemicalDissolutionChamber=An ultimate machine used to chemically dissolve all impurities of an ore, leaving an unprocessed slurry behind. +tooltip.ChemicalWasher=An ultimate machine that cleans unprocessed slurry and prepares it for crystallization. +tooltip.ChemicalCrystallizer=An ultimate machine used to crystallize purified ore slurry into ore crystals. +tooltip.ChemicalOxidizer=A machine capable of oxidizing solid materials into gas phase. +tooltip.ChemicalInfuser=A machine that produces a new gas by infusing two others. +tooltip.SeismicVibrator=A machine that uses seismic vibrations to provide information on differing layers of the world. +tooltip.PressurizedReactionChamber=An advanced machine that processes a solid, liquid and gaseous mixture and creates both a gaseous and solid product. +tooltip.FluidTank=A handy, sturdy, portable tank that lets you carry multiple buckets of fluid wherever you please. Also doubles as a bucket! +tooltip.FluidicPlenisher=A machine that is capable of creating entire lakes by filling ravines with fluids. +tooltip.Laser=An advanced form of linear energy transfer that utilizes an extremely collimated beam of light. +tooltip.LaserAmplifier=A block that can be used to merge, redirect and amplify laser beams, with fine controls over when to fire. +tooltip.LaserTractorBeam=A block used to merge and redirect laser beams. Collects drops from blocks it has broken. +tooltip.SolarNeutronActivator=A machine that directs the neutron radiation of the sun into its internal reservoir, allowing for the slow creation of various isotopes. +tooltip.Oredictionificator=A machine used to unify and translate between various items and blocks using the Ore Dictionary. +tooltip.Factory=A machine that serves as an upgrade to regular machinery, allowing for multiple processing operations to occur at once. +tooltip.ResistiveHeater=A condensed, coiled resistor capable of converting electrical energy directly into heat energy. +tooltip.FormulaicAssemblicator=A machine that uses energy to rapidly craft items and blocks from Crafting Formulas. Doubles as an advanced crafting bench. +tooltip.FuelwoodHeater=A machine that is capable of producing large quantities of heat energy by burning combustible items. +tooltip.QuantumEntangloporter=A highly-advanced block capable of transmitting any practical resource across long distances and dimensions. + +tooltip.HeatGenerator=A generator that uses the heat of lava or other burnable resources to produce energy. +tooltip.SolarGenerator=A generator that uses the power of the sun to produce energy. +tooltip.GasGenerator=A generator that harnesses the molecular varying gasses to produce energy. +tooltip.BioGenerator=A generator that burns organic materials of the world to produce energy. +tooltip.AdvancedSolarGenerator=An advanced generator that directly absorbs the sun's rays with little loss to produce energy. +tooltip.WindGenerator=A generator that uses the strength of the wind to produce energy, with greater efficiency at higher levels. +tooltip.TurbineRotor=The steel rod that is used to house Turbine Blades within an Industrial Turbine. +tooltip.RotationalComplex=A connector that is placed on the highest Turbine Rotor of an Industrial Turbine to carry kinetic energy into its Electromagnetic Coils. +tooltip.ElectromagneticCoil=A block that converts kinetic energy from a Rotational Complex into useable electricity. These can be placed in any arrangement above your Rotational Complex, as long as they are all touching each other and the complex itself. +tooltip.TurbineCasing=Pressure-resistant casing used in the creation of an Industrial Turbine. +tooltip.TurbineValve=A type of Turbine Casing that includes a port for the transfer of energy and steam. +tooltip.TurbineVent=A type of Turbine Casing with an integrated vent for the release of steam. These should be placed on the level of or above the turbine's Rotational Complex. + +tooltip.ReactorGlass=Reinforced glass that can be used in the Fusion Reactor multiblock. +tooltip.ReactorLaserFocusMatrix=A panel of Reactor Glass that is capable of absorbing optical energy and thereby heating up the Fusion Reactor. +tooltip.ReactorController=The controlling block for the entire Fusion Reactor structure. +tooltip.ReactorFrame=Reinforced framing that can be used in the Fusion Reactor multiblock. +tooltip.ReactorNeutronCapturePlate=A block that can be used to both block Fusion Reactor radiation and assist in the production of Tritium. +tooltip.ReactorPort=A block of reinforced framing that is capable of managing both the gas and energy transfer of the Fusion Reactor. +tooltip.ReactorLogicAdapter=A block that can be used to allow basic monitoring of a reactor using redstone. + +tooltip.OsmiumOre=A strong mineral that can be found at nearly any height in the world. It is known to have many uses in the construction of machinery. +tooltip.CopperOre=A common, conductive material that can be used in the production of wires. Its ability to withstand high heats also makes it essential to advanced machinery. +tooltip.TinOre=A lightweight, yet sturdy, conductive material that is found slightly less commonly than Copper. + +//Side data +sideData.None=None +sideData.Input=Input +sideData.Output=Output +sideData.Energy=Energy +sideData.Gas=Gas +sideData.Extra=Extra +sideData.Infuse=Infuse +sideData.Fluid=Fluid +sideData.Fill=Fill +sideData.Empty=Empty +sideData.Charge=Charge +sideData.Discharge=Discharge + +//Redstone control +control.disabled=Disabled +control.high=High +control.low=Low +control.pulse=Pulse +control.disabled.desc=Always active +control.high.desc=Active with signal +control.low.desc=Active without signal +control.pulse.desc=Only active upon first receiving signal + +//Container edit modes +fluidedit.both=Both +fluidedit.fill=Fill +fluidedit.empty=Empty + +//Colors +color.black=Black +color.darkBlue=Dark Blue +color.darkGreen=Dark Green +color.darkAqua=Dark Aqua +color.darkRed=Dark Red +color.purple=Purple +color.orange=Orange +color.grey=Grey +color.darkGrey=Dark Grey +color.indigo=Indigo +color.brightGreen=Bright Green +color.aqua=Aqua +color.red=Red +color.pink=Pink +color.yellow=Yellow +color.white=White +color.brown=Brown +color.brightPink=Bright Pink + +//Dyes +dye.black=Black +dye.darkBlue=Blue +dye.brown=Brown +dye.darkGreen=Green +dye.darkAqua=Cyan +dye.darkRed=Dark Red +dye.purple=Purple +dye.orange=Orange +dye.grey=Light Grey +dye.darkGrey=Grey +dye.indigo=Light Blue +dye.brightGreen=Lime +dye.aqua=Aqua +dye.red=Red +dye.brightPink=Pink +dye.pink=Magenta +dye.yellow=Yellow +dye.white=White + +//Reactor Logic modes +reactor.disabled=Disabled +reactor.disabled.desc=Will not emit a redstone signal +reactor.ready=Ready for Ignition +reactor.ready.desc=Reactor has reached the required heat level to ignite +reactor.capacity=Heat Capacity Met +reactor.capacity.desc=The reactor's core heat capacity has been met +reactor.depleted=Insufficient Fuel +reactor.depleted.desc=The reactor has insufficient fuel to sustain a reaction + +//Creative tab +itemGroup.tabMekanism=Mekanism + +//NEI stuff +nei.chemicalInjectionChamber=C. Injection Chamber +nei.rotaryCondensentrator=R. Condensentrator + +//**********// +//GENERATORS// +//**********// + +//Items +item.SolarPanel.name=Solar Panel +item.Hohlraum.name=Hohlraum +item.TurbineBlade.name=Turbine Blade + +//Generators +tile.Generator.HeatGenerator.name=Heat Generator +tile.Generator.SolarGenerator.name=Solar Generator +tile.Generator.GasGenerator.name=Gas-Burning Generator +tile.Generator.BioGenerator.name=Bio-Generator +tile.Generator.AdvancedSolarGenerator.name=Advanced Solar Generator +tile.Generator.WindGenerator.name=Wind Generator +tile.Generator.TurbineRotor.name=Turbine Rotor +tile.Generator.RotationalComplex.name=Rotational Complex +tile.Generator.ElectromagneticCoil.name=Electromagnetic Coil +tile.Generator.TurbineCasing.name=Turbine Casing +tile.Generator.TurbineValve.name=Turbine Valve +tile.Generator.TurbineVent.name=Turbine Vent + +tile.Reactor.ReactorController.name=Reactor Controller +tile.Reactor.ReactorFrame.name=Reactor Frame +tile.Reactor.ReactorNeutronCapturePlate.name=Neutron Capture Plate +tile.Reactor.ReactorPort.name=Reactor Port +tile.Reactor.ReactorLogicAdapter.name=Reactor Logic Adapter + +tile.ReactorGlass.ReactorGlass.name=Reactor Glass +tile.ReactorGlass.ReactorLaserFocusMatrix.name=Laser Focus Matrix + +//Gui text +gui.heatGenerator.fuel=Fuel +gui.solarGenerator.sun=Sun +gui.bioGenerator.bioFuel=BioFuel +gui.electrolyticSeparator.dump=Dump + +gui.passive=Air-Cooled +gui.active=Water-Cooled + +gui.minInject=Min. Inject Rate +gui.ignition=Ignition Temp +gui.maxPlasma=Max. Plasma Temp +gui.maxCasing=Max. Casing Temp +gui.passiveGeneration=Passive Generation +gui.steamProduction=Steam Production + +//*****// +//TOOLS// +//*****// + +//Vanilla Paxels +item.WoodPaxel.name=Wood Paxel +item.StonePaxel.name=Stone Paxel +item.IronPaxel.name=Iron Paxel +item.DiamondPaxel.name=Diamond Paxel +item.GoldPaxel.name=Gold Paxel + +//Obsidian +item.ObsidianHelmet.name=Obsidian Helmet +item.ObsidianChestplate.name=Obsidian Chestplate +item.ObsidianLeggings.name=Obsidian Leggings +item.ObsidianBoots.name=Obsidian Boots +item.ObsidianPaxel.name=Obsidian Paxel +item.ObsidianPickaxe.name=Obsidian Pickaxe +item.ObsidianAxe.name=Obsidian Axe +item.ObsidianShovel.name=Obsidian Shovel +item.ObsidianHoe.name=Obsidian Hoe +item.ObsidianSword.name=Obsidian Sword + +//Lapis Lazuli +item.LazuliHelmet.name=Lapis Lazuli Helmet +item.LazuliChestplate.name=Lapis Lazuli Chestplate +item.LazuliLeggings.name=Lapis Lazuli Leggings +item.LazuliBoots.name=Lapis Lazuli Boots +item.LazuliPaxel.name=Lapis Lazuli Paxel +item.LazuliPickaxe.name=Lapis Lazuli Pickaxe +item.LazuliAxe.name=Lapis Lazuli Axe +item.LazuliShovel.name=Lapis Lazuli Shovel +item.LazuliHoe.name=Lapis Lazuli Hoe +item.LazuliSword.name=Lapis Lazuli Sword + +//Osmium +item.OsmiumHelmet.name=Osmium Helmet +item.OsmiumChestplate.name=Osmium Chestplate +item.OsmiumLeggings.name=Osmium Leggings +item.OsmiumBoots.name=Osmium Boots +item.OsmiumPaxel.name=Osmium Paxel +item.OsmiumPickaxe.name=Osmium Pickaxe +item.OsmiumAxe.name=Osmium Axe +item.OsmiumShovel.name=Osmium Shovel +item.OsmiumHoe.name=Osmium Hoe +item.OsmiumSword.name=Osmium Sword + +//Bronze +item.BronzeHelmet.name=Bronze Helmet +item.BronzeChestplate.name=Bronze Chestplate +item.BronzeLeggings.name=Bronze Leggings +item.BronzeBoots.name=Bronze Boots +item.BronzePaxel.name=Bronze Paxel +item.BronzePickaxe.name=Bronze Pickaxe +item.BronzeAxe.name=Bronze Axe +item.BronzeShovel.name=Bronze Shovel +item.BronzeHoe.name=Bronze Hoe +item.BronzeSword.name=Bronze Sword + +//Glow +item.GlowstoneHelmet.name=Glowstone Helmet +item.GlowstoneChestplate.name=Glowstone Chestplate +item.GlowstoneLeggings.name=Glowstone Leggings +item.GlowstoneBoots.name=Glowstone Boots +item.GlowstonePaxel.name=Glowstone Paxel +item.GlowstonePickaxe.name=Glowstone Pickaxe +item.GlowstoneAxe.name=Glowstone Axe +item.GlowstoneShovel.name=Glowstone Shovel +item.GlowstoneHoe.name=Glowstone Hoe +item.GlowstoneSword.name=Glowstone Sword + +//Steel +item.SteelHelmet.name=Steel Helmet +item.SteelChestplate.name=Steel Chestplate +item.SteelLeggings.name=Steel Leggings +item.SteelBoots.name=Steel Boots +item.SteelPaxel.name=Steel Paxel +item.SteelPickaxe.name=Steel Pickaxe +item.SteelAxe.name=Steel Axe +item.SteelShovel.name=Steel Shovel +item.SteelHoe.name=Steel Hoe +item.SteelSword.name=Steel Sword + +//Config Gui +mekanism.configgui.ctgy.tools.general=General +mekanism.configgui.ctgy.tools.armor=Armor Balance +mekanism.configgui.ctgy.tools.tools=Tools Balance + +//Config Tooltips +mekanism.configgui.ctgy.tools.general.tooltip=Settings regarding MekanismTools' general configuration +mekanism.configgui.ctgy.tools.armor.tooltip=Settings regarding the protection values and balance of MekanismTools armor sets +mekanism.configgui.ctgy.tools.tools.tooltip=Settings regarding the efficiency values and balance of MekanismTools tool sets \ No newline at end of file From 1c6b74d854828aa93f14dd8a66bdebc9a601863b Mon Sep 17 00:00:00 2001 From: Jakub Rohla Date: Mon, 27 Jun 2016 07:07:53 +0200 Subject: [PATCH 13/75] Revert "114/1085 translations completed" This reverts commit 9bc65d45937f6e4ea45aca71f46a4421c61d5a69. --- .../resources/assets/mekanism/lang/cs_CZ.lang | 1084 ----------------- 1 file changed, 1084 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/cs_CZ.lang b/src/main/resources/assets/mekanism/lang/cs_CZ.lang index 3c6e9d19c..8b1378917 100644 --- a/src/main/resources/assets/mekanism/lang/cs_CZ.lang +++ b/src/main/resources/assets/mekanism/lang/cs_CZ.lang @@ -1,1085 +1 @@ -//********// -//MEKANISM// -//********// -//Items -tile.ObsidianTNT.name=Obsidiánové TNT -item.EnrichedAlloy.name=Obohacená Slitina -item.ReinforcedAlloy.name=Tvrzená Slitina -item.AtomicAlloy.name=Atomická Slitina -item.EnergyTablet.name=Energický Tablet -item.SpeedUpgrade.name=Vylepšení Rychlosti -item.EnergyUpgrade.name=Vylepšení Energie -item.FilterUpgrade.name=Vylepšení Filtru -item.MufflingUpgrade.name=Vylepšení Dušení -item.GasUpgrade.name=Vylepšení Plynu -item.Robit.name=Robit -item.AtomicDisassembler.name=Atomický Rozkladač -item.ElectricBow.name=Elektrický Luk -item.EnrichedIron.name=Obohacené Železo -item.CompressedCarbon.name=Zkompresovaný Uhlík -item.CompressedRedstone.name=Zkompresovaný Rudit -item.CompressedDiamond.name=Zkompresovaný Diamant -item.CompressedObsidian.name=Zkompresovaný Obsidián -item.PortableTeleporter.name=Přenosný Teleportér -item.TeleportationCore.name=Teleportační Jádro -item.Configurator.name=Konfigurátor -item.NetworkReader.name=Čtečka sítě -item.WalkieTalkie.name=Vysílačka -item.Jetpack.name=Jetpack -item.ScubaTank.name=Potápěcí Nádrž -item.GasMask.name=Plynová Maska -item.Dictionary.name=Slovník -item.ElectrolyticCore.name=Elektrolytické Jádro -item.Sawdust.name=Piliny -item.Salt.name=Sůl -item.BrineBucket.name=Kyblík Solanky -item.LithiumBucket.name=Kyblík Lithia -item.HeavyWaterBucket.name=Kyblík Těžké Vody -item.FreeRunners.name=Volnoběžky -item.ArmoredJetpack.name=Obrněný Jetpack -item.ConfigurationCard.name=Konfigurační Karta -item.SeismicReader.name=Seismická Čtečka -item.HDPEPellet.name=HDPE Kulička -item.HDPERod.name=HDPE Tyč -item.HDPESheet.name=HDPE List -item.PlaStick.name=PlaTyčka -item.Substrate.name=Substrát -item.Flamethrower.name=Plamenomet -item.GaugeDropper.name=Kapátko -item.BioFuel.name=Bio Palivo -item.CraftingFormula.name=Výrobní Recept - -//Control Circuits -item.BasicControlCircuit.name=Základní Ovládací Obvod -item.AdvancedControlCircuit.name=Pokročilý Ovládací Obvod -item.EliteControlCircuit.name=Elitní Ovládací Obvod -item.UltimateControlCircuit.name=Ultimátní Ovládací Obvod - -//Gas Tank -tile.GasTankBasic.name=Základní Plynová Nádrž -tile.GasTankAdvanced.name=Pokročilá Plynová Nádrž -tile.GasTankElite.name=Elitní Plynová Nádrž -tile.GasTankUltimate.name=Ultimátní Plynová Nádrž - -//Fluid Tank (part of MachineBlock2, naming handled differently) -tile.FluidTankBasic.name=Základní Kapalinová Nádrž -tile.FluidTankAdvanced.name=Pokročilá Kapalinová Nádrž -tile.FluidTankElite.name=Elitní Kapalinová Nádrž -tile.FluidTankUltimate.name=Ultimátní Kapalinová Nádrž - -//Cardboard Box -tile.CardboardBox.name=Kartonová Krabice - -//Bounding Block -tile.BoundingBlock.name=Vázací Blok - -//Salt -tile.SaltBlock.name=Solný Blok - -//Basic Block -tile.BasicBlock.OsmiumBlock.name=Blok Osmia -tile.BasicBlock.BronzeBlock.name=Blok Bronzu -tile.BasicBlock.RefinedObsidian.name=Rafinovaný Obsidián -tile.BasicBlock.CharcoalBlock.name=Blok Dřevěného Uhlí -tile.BasicBlock.RefinedGlowstone.name=Rafinovaný Světlit -tile.BasicBlock.SteelBlock.name=Blok Oceli -tile.BasicBlock.BinBasic.name=Základní Koš -tile.BasicBlock.BinAdvanced.name=Pokročilý Koš -tile.BasicBlock.BinElite.name=Elitní Koš -tile.BasicBlock.BinUltimate.name=Ultimátní Koš -tile.BasicBlock.TeleporterFrame.name=Rám Teleportéru -tile.BasicBlock.SteelCasing.name=Ocelový Plášť -tile.BasicBlock.DynamicTank.name=Dynamická Nádrž -tile.BasicBlock.StructuralGlass.name=Strukturální Sklo -tile.BasicBlock.DynamicValve.name=Dynamický Ventil -tile.BasicBlock.CopperBlock.name=Blok Měďi -tile.BasicBlock.TinBlock.name=Blok Cínu -tile.BasicBlock.ThermalEvaporationController.name=Ovladač Slunečního Výparu -tile.BasicBlock.ThermalEvaporationValve.name=Ventil Slunečního Výparu - -//Basic Block 2 (second ID iteration) -tile.BasicBlock2.ThermalEvaporationBlock.name=Blok Slunečního Výparu -tile.BasicBlock2.InductionCasing.name=Indukční Plášť -tile.BasicBlock2.InductionPort.name=Indukční Port -tile.BasicBlock2.InductionCellBasic.name=Základní Indukční Článek -tile.BasicBlock2.InductionCellAdvanced.name=Pokročilý Indukční Článek -tile.BasicBlock2.InductionCellElite.name=Elitní Indukční Článek -tile.BasicBlock2.InductionCellUltimate.name=Ultimátní Indukční Článek -tile.BasicBlock2.InductionProviderBasic.name=Základní Poskytovatel Indukce -tile.BasicBlock2.InductionProviderAdvanced.name=Pokročilý Poskytovatel Indukce -tile.BasicBlock2.InductionProviderElite.name=Elitní Poskytovatel Indukce -tile.BasicBlock2.InductionProviderUltimate.name=Ultimátní Poskytovatel Indukce -tile.BasicBlock2.SuperheatingElement.name=Superohřívací Element -tile.BasicBlock2.PressureDisperser.name=Rozprašovač Tlaku -tile.BasicBlock2.BoilerCasing.name=Boiler Casing -tile.BasicBlock2.BoilerValve.name=Boiler Valve -tile.BasicBlock2.SecurityDesk.name=Security Desk - -//Machine Block -tile.MachineBlock.EnrichmentChamber.name=Enrichment Chamber -tile.MachineBlock.OsmiumCompressor.name=Osmium Compressor -tile.MachineBlock.Combiner.name=Combiner -tile.MachineBlock.Crusher.name=Crusher -tile.MachineBlock.Factory.name=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.PersonalChest.name=Personal 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.FluidicPlenisher.name=Fluidic Plenisher -tile.MachineBlock2.Laser.name=Laser -tile.MachineBlock2.LaserAmplifier.name=Laser Amplifier -tile.MachineBlock2.LaserTractorBeam.name=Laser Tractor Beam - -//Machine Block 3 (third ID iteration) -tile.MachineBlock3.QuantumEntangloporter.name=Quantum Entangloporter -tile.MachineBlock3.SolarNeutronActivator.name=Solar Neutron Activator -tile.MachineBlock3.Oredictionificator.name=Oredictionificator -tile.MachineBlock3.ResistiveHeater.name=Resistive Heater -tile.MachineBlock3.FormulaicAssemblicator.name=Formulaic Assemblicator -tile.MachineBlock3.FuelwoodHeater.name=Fuelwood Heater - -//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=Obsidian -infuse.bio=Biomass - -//Ore Block -tile.OreBlock.OsmiumOre.name=Osmium Ore -tile.OreBlock.CopperOre.name=Copper Ore -tile.OreBlock.TinOre.name=Tin Ore - -//Transmitters -item.MultipartTransmitter.BasicPressurizedTube.name=Basic Pressurized Tube -item.MultipartTransmitter.AdvancedPressurizedTube.name=Advanced Pressurized Tube -item.MultipartTransmitter.ElitePressurizedTube.name=Elite Pressurized Tube -item.MultipartTransmitter.UltimatePressurizedTube.name=Ultimate Pressurized Tube -item.MultipartTransmitter.BasicUniversalCable.name=Basic Universal Cable -item.MultipartTransmitter.AdvancedUniversalCable.name=Advanced 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=Advanced Mechanical Pipe -item.MultipartTransmitter.EliteMechanicalPipe.name=Elite Mechanical Pipe -item.MultipartTransmitter.UltimateMechanicalPipe.name=Ultimate Mechanical Pipe -item.MultipartTransmitter.BasicLogisticalTransporter.name=Basic Logistical Transporter -item.MultipartTransmitter.AdvancedLogisticalTransporter.name=Advanced Logistical Transporter -item.MultipartTransmitter.EliteLogisticalTransporter.name=Elite Logistical Transporter -item.MultipartTransmitter.UltimateLogisticalTransporter.name=Ultimate Logistical Transporter -item.MultipartTransmitter.RestrictiveTransporter.name=Restrictive Transporter -item.MultipartTransmitter.DiversionTransporter.name=Diversion Transporter -item.MultipartTransmitter.BasicThermodynamicConductor.name=Basic Thermodynamic Conductor -item.MultipartTransmitter.AdvancedThermodynamicConductor.name=Advanced Thermodynamic Conductor -item.MultipartTransmitter.EliteThermodynamicConductor.name=Elite Thermodynamic Conductor -item.MultipartTransmitter.UltimateThermodynamicConductor.name=Ultimate Thermodynamic Conductor - -//Glow Panel -item.GlowPanel.name=Glow Panel - -//Energy Cubes -tile.EnergyCubeBasic.name=Basic Energy Cube -tile.EnergyCubeAdvanced.name=Advanced Energy Cube -tile.EnergyCubeElite.name=Elite Energy Cube -tile.EnergyCubeUltimate.name=Ultimate Energy Cube -tile.EnergyCubeCreative.name=Creative Energy Cube - -//Factory Installers -item.basicFactoryInstaller.name=Basic Factory Installer -item.advancedFactoryInstaller.name=Advanced Factory Installer -item.eliteFactoryInstaller.name=Elite Factory Installer - -//Dust -item.ironDust.name=Iron Dust -item.goldDust.name=Gold Dust -item.osmiumDust.name=Osmium Dust -item.obsidianDust.name=Obsidian Dust -item.refinedobsidianDust.name=Refined Obsidian Dust -item.diamondDust.name=Diamond Dust -item.steelDust.name=Steel 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.lithiumDust.name=Lithium Dust - -//Clumps -item.ironClump.name=Iron Clump -item.goldClump.name=Gold Clump -item.osmiumClump.name=Osmium Clump -item.copperClump.name=Copper Clump -item.tinClump.name=Tin Clump -item.silverClump.name=Silver Clump -item.leadClump.name=Lead Clump - -//Shards -item.ironShard.name=Iron Shard -item.goldShard.name=Gold Shard -item.osmiumShard.name=Osmium Shard -item.copperShard.name=Copper Shard -item.tinShard.name=Tin Shard -item.silverShard.name=Silver Shard -item.leadShard.name=Lead Shard - -//Crystals -item.ironCrystal.name=Iron Crystal -item.goldCrystal.name=Gold Crystal -item.osmiumCrystal.name=Osmium Crystal -item.copperCrystal.name=Copper Crystal -item.tinCrystal.name=Tin Crystal -item.silverCrystal.name=Silver Crystal -item.leadCrystal.name=Lead Crystal - -//Dirty Dust -item.dirtyIronDust.name=Dirty Iron Dust -item.dirtyGoldDust.name=Dirty Gold Dust -item.dirtyOsmiumDust.name=Dirty Osmium Dust -item.dirtyCopperDust.name=Dirty Copper Dust -item.dirtyTinDust.name=Dirty Tin Dust -item.dirtySilverDust.name=Dirty Silver Dust -item.dirtyLeadDust.name=Dirty Lead Dust - -//Ingots -item.obsidianIngot.name=Refined Obsidian Ingot -item.osmiumIngot.name=Osmium Ingot -item.bronzeIngot.name=Bronze Ingot -item.glowstoneIngot.name=Glowstone Ingot -item.steelIngot.name=Steel 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 Osmium -gas.liquidStone=Liquid Stone -gas.ethene=Ethylene -gas.sodium=Sodium -gas.brine=Gaseous Brine -gas.deuterium=Deuterium -gas.tritium=Tritium -gas.lithium=Lithium -gas.fusionFuelDT=D-T Fuel - -gas.iron=Iron Slurry -gas.gold=Gold Slurry -gas.osmium=Osmium Slurry -gas.copper=Copper Slurry -gas.tin=Tin Slurry -gas.silver=Silver Slurry -gas.obsidian=Obsidian Slurry -gas.lead=Lead Slurry - -gas.cleanIron=Clean Iron Slurry -gas.cleanGold=Clean Gold Slurry -gas.cleanOsmium=Clean Osmium Slurry -gas.cleanCopper=Clean Copper Slurry -gas.cleanTin=Clean Tin Slurry -gas.cleanSilver=Clean Silver Slurry -gas.cleanObsidian=Clean Obsidian 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 -fluid.heavyWater=Heavy Water -fluid.lithium=Liquid Lithium -fluid.deuterium=Liquid Deuterium -fluid.tritium=Liquid Tritium -fluid.fusionFuelDT=Liquid D-T Fuel -fluid.steam=Steam - -//OreGas names -oregas.iron=Iron Ore -oregas.gold=Gold Ore -oregas.osmium=Osmium Ore -oregas.copper=Copper Ore -oregas.tin=Tin Ore -oregas.silver=Silver Ore -oregas.obsidian=Obsidian Ore -oregas.lead=Lead Ore - -//Tier names -tier.Basic=Basic -tier.Advanced=Advanced -tier.Elite=Elite -tier.Ultimate=Ultimate -tier.Creative=Creative - -//Transmission types -transmission.Energy=Energy -transmission.Fluids=Fluids -transmission.Gases=Gases -transmission.Items=Items -transmission.Heat=Heat - -//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 - -//Upgrades -upgrade.energy=Energy -upgrade.energy.desc=Increases energy efficiency and capacity of machinery. -upgrade.speed=Speed -upgrade.speed.desc=Increases speed of machinery. -upgrade.filter=Filter -upgrade.filter.desc=A filter that separates heavy water from regular water. -upgrade.gas=Gas -upgrade.gas.desc=Increases the efficiency of gas-using machinery. -upgrade.muffling=Muffling -upgrade.muffling.desc=Reduces noise generated by machinery. - -//Key description text -key.mode=Item Mode Switch -key.armorMode=Armor Mode Switch -key.voice=Voice - -//Entities -entity.Mekanism.Robit.name=Robit -entity.Mekanism.BabySkeleton.name=Baby Skeleton - -//Config Gui -mekanism.configgui.ctgy.general=Mekanism General Settings -mekanism.configgui.ctgy.machines=Machine Settings -mekanism.configgui.ctgy.tier=Tier Settings -mekanism.configgui.ctgy.usage=Usage Settings -mekanism.configgui.ctgy.client=Client Settings - -//Config Tooltips -mekanism.configgui.ctgy.general.tooltip=General settings regarding Mekanism and all its modules -mekanism.configgui.ctgy.machines.tooltip=Settings regarding enabling and disabling of specific machinery -mekanism.configgui.ctgy.tier.tooltip=Settings regarding Mekanism tiers and their corresponding values -mekanism.configgui.ctgy.usage.tooltip=Settings regarding machinery and their energy usage -mekanism.configgui.ctgy.client.tooltip=Client-specific settings regarding Mekanism and all its modules - -//Gui text -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.strictInput=Strict Input -gui.slots=Slots -gui.state=State -gui.on=On -gui.off=Off -gui.filters=Filters -gui.filter=Filter -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.well=All is well! -gui.upgrade=Upgrade -gui.infinite=Infinite -gui.min=Min -gui.max=Max -gui.delay=Delay -gui.noDelay=No Delay -gui.fuel=Fuel -gui.heat=Heat -gui.formed=Formed -gui.incomplete=Incomplete -gui.inductionMatrix=Induction Matrix -gui.matrixStats=Matrix Statistics -gui.turbineStats=Turbine Statistics -gui.boilerStats=Boiler Statistics -gui.main=Main -gui.outputting=Outputting -gui.receiving=Receiving -gui.dimensions=Dimensions -gui.constituents=Constituents -gui.cells=cells -gui.providers=providers -gui.structure=Structure -gui.dynamicTank=Dynamic Tank -gui.industrialTurbine=Industrial Turbine -gui.thermoelectricBoiler=Thermoelectric Boiler -gui.visuals=Visuals -gui.noEject=Can't Eject -gui.undefined=Undefined -gui.owner=Owner -gui.public=Public -gui.private=Private -gui.add=Add -gui.set=Set -gui.freq=Freq -gui.security=Security -gui.index=Index -gui.producing=Producing -gui.maxOutput=Max Output -gui.storing=Storing -gui.skyBlocked=Sky blocked -gui.using=Using -gui.needed=Needed -gui.noRecipe=No recipe -gui.conflict=Conflict -gui.height=Height -gui.mult=Mult -gui.chunk=Chunk -gui.vibrating=Vibrating -gui.abundancy=Abundancy -gui.nextItem=Next Item -gui.lastItem=Last Item -gui.oreDictCompat=Compatible OreDict Key -gui.toggleCooling=Toggle Cooling Measurements -gui.coolingMeasurements=Active cooling -gui.redstoneOutputMode=Redstone mode -gui.entityDetection=Entity Detection -gui.moveUp=Move Up -gui.moveDown=Move Down -gui.flowRate=Flow rate -gui.maxFlow=Max flow -gui.tankVolume=Tank Volume -gui.steamFlow=Steam Flow -gui.production=Production -gui.blades=Blades -gui.coils=Coils -gui.dispersers=Dispersers -gui.vents=Vents -gui.maxProduction=Max Production -gui.limiting=Limiting -gui.steamInput=Steam Input -gui.capacity=Capacity -gui.unit=Unit -gui.temp=Temp -gui.usage=Usage -gui.transferred=Transferred -gui.dissipated=Dissipated -gui.boilRate=Boil Rate -gui.maxBoil=Max Boil -gui.maxWater=Max Water -gui.maxSteam=Max Steam -gui.heatTransfer=Heat Transfer -gui.superheaters=Superheaters -gui.boilCapacity=Boil Capacity -gui.encodeFormula=Encode Formula -gui.autoModeToggle=Turn Auto-Mode -gui.craftSingle=Craft Single Item -gui.craftAvailable=Craft Available Items -gui.fillEmpty=Fill/Empty Grid -gui.noOwner=No Owner -gui.securityOverride=Security Override -gui.remove=Remove -gui.trustedPlayers=Trusted Players -gui.publicMode=Public Mode -gui.privateMode=Private Mode -gui.trustedMode=Trusted Mode -gui.securityOffline=Security Offline -gui.noAccessDesc=You don't have access. -gui.overridden=Overridden -gui.nowOwn=You now own this item. -gui.frequency=Frequency -gui.mode=Mode -gui.burnRate=Burn Rate - -gui.reactor.injectionRate=Injection Rate - -gui.upgrades=Upgrades -gui.upgrades.supported=Supported -gui.upgrades.noSelection=No selection -gui.upgrades.amount=Amount -gui.upgrades.max=Max -gui.upgrades.effect=Effect - -gui.chemicalInfuser.short=C. Infuser -gui.chemicalDissolutionChamber.short=C. Dissolution Chamber -gui.thermalEvaporationController.short=Thermal E. Controller - -gui.dictionary.noKey=No key. - -gui.configuration=Configuration -gui.config=Config -gui.configuration.side=Side Config -gui.configuration.transporter=Transporter Config -gui.configuration.strictInput=Strict Input - -gui.rotaryCondensentrator.toggleOperation=Toggle operation - -gui.factory.secondaryEnergy=Secondary energy -gui.factory.autoSort=Auto-sort - -//Recipe types -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.Infusing=Infusing - -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.oredictionificatorFilter=Oredictionificator Filter - -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 -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.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.teleporter.noAccess=You don't have access to this Teleporter. -gui.teleporter.noFreq=No frequency - -gui.entangloporter.noAccess=You don't have access to this Entangloporter. - -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 -gui.digitalMiner.requireReplace=Require replace -gui.digitalMiner.fuzzyMode=Fuzzy mode -gui.digitalMiner.missingBlock=Missing block - -//Recipe names -recipe.mekanismShaped=Shaped -recipe.mekanismShapeless=Shapeless - -//Security types -security.public=Public -security.private=Private -security.trusted=Trusted - -//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.toggleMode=%s behavior bumped to -tooltip.configurator.viewMode=Current %s behavior -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.configurator.inductionPortMode=Toggled Induction Port transfer mode to -tooltip.configurator.toggleColor=Color bumped to -tooltip.configurator.viewColor=Current color - -tooltip.upgrade.speed=Speed -tooltip.upgrade.energy=Energy - -tooltip.inventory=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.outputRate=Output Rate -tooltip.insufficientFuel=Insufficient Fuel -tooltip.readyForReaction=Ready for Reaction -tooltip.speed=Speed -tooltip.and=and -tooltip.heat=Heat -tooltip.itemAmount=Item amount -tooltip.invalid=Invalid -tooltip.encoded=Encoded -tooltip.ingredients=Ingredients - -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.configurationCard.got=Retrieved configuration data from %s -tooltip.configurationCard.set=Injected configuration data of type %s -tooltip.configurationCard.unequal=Unequal configuration data formats - -tooltip.balloon=Balloon - -tooltip.jetpack.regular=Regular -tooltip.jetpack.hover=Hover -tooltip.jetpack.disabled=Disabled - -tooltip.flamethrower.combat=Combat -tooltip.flamethrower.heat=Heat -tooltip.flamethrower.inferno=Inferno -tooltip.flamethrower.modeBump=Flamethrower mode bumped to - -tooltip.seismicReader.needsEnergy=Not enough energy to interpret vibration -tooltip.seismicReader.noVibrations=Unable to discover any vibrations - -tooltip.Bin=A block used to store large quantities of a single type of item. -tooltip.TeleporterFrame=The frame used to construct the Teleporter multiblock, allowing a portal to be generated within the structure. -tooltip.SteelCasing=A sturdy, steel-based casing used as a foundation for machinery. -tooltip.DynamicTank=The casing used in the Dynamic Tank multiblock, a structure capable of storing great amounts of fluid. -tooltip.StructuralGlass=An advanced, reinforced material of glass that drops when broken and can be used in the structure of any applicable multiblock. -tooltip.DynamicValve=A valve that can be placed on a Dynamic Tank multiblock, allowing for fluids to be inserted and extracted via external piping. -tooltip.ThermalEvaporationController=The controller for a Thermal Evaporation Plant, acting as the master block of the structure. Only one of these should be placed on a multiblock. -tooltip.ThermalEvaporationValve=A valve that can be placed on a Thermal Evaporation Plant multiblock, allowing for fluids to be inserted and extracted via external piping. -tooltip.ThermalEvaporationBlock=A copper-alloyed casing used in the structure of a Thermal Evaporation Plant, using its advanced material to conduct the great amounts of heat necessary for processing. -tooltip.InductionCasing=A type of energy-resistant casing used in the creation of an Energized Induction Matrix multiblock. -tooltip.InductionPort=A port that can be placed on an Energized Induction Matrix multiblock, allowing for energy to be inserted from and output to external cabling. -tooltip.InductionCell=A highly conductive energy capacitor capable of storing massive amounts of energy in a single block. Housed in an Energized Induction Matrix to expand the multiblock's energy storage. -tooltip.InductionProvider=An advanced complex of coolant systems, conductors and transformers capable of expanding the Energized Induction Matrix's maximum rate of energy transfer. -tooltip.SuperheatingElement=A modular, somewhat dangerous radiator that is capable of emitting massive amounts of heat to its surroundings. -tooltip.PressureDisperser=A block used disperse steam throughout a multiblock structure. These should form a gapless, horizontal plane in order to properly control steam flow. -tooltip.BoilerCasing=A pressure-resistant, dense casing used in the creation of a Thermoelectric Boiler multiblock. -tooltip.BoilerValve=A valve that can be placed on a Thermoelectric Boiler multiblock, allowing for the insertion of energy and water along with the extraction of produced steam. -tooltip.SecurityDesk=A central control hub for managing the security of all your owned machinery. - -tooltip.EnrichmentChamber=A simple machine used to enrich ores into two of their dust counterparts, as well as perform many other operations. -tooltip.OsmiumCompressor=A fairly advanced machine used to compress osmium into various dusts in order to create their ingot counterparts. -tooltip.Combiner=A machine used to combine dusts and cobblestone to form their ore counterparts. -tooltip.Crusher=A machine used to crush ingots into their dust counterparts, as well as perform many other operations. -tooltip.DigitalMiner=A highly-advanced, filter-based, auto-miner that can mine whatever block you tell it to within a 32 block (max) radius. -tooltip.MetallurgicInfuser=A machine used to infuse various materials into (generally) metals to create metal alloys and other compounds. -tooltip.PurificationChamber=An advanced machine capable of processing ores into three clumps, serving as the initial stage of 300% ore processing. -tooltip.EnergizedSmelter=A simple machine that serves as a Mekanism-based furnace that runs off of energy. -tooltip.Teleporter=A machine capable of teleporting players to various locations defined by another teleporter. -tooltip.ElectricPump=An advanced, upgradeable pump, capable of extracting any type of fluid. -tooltip.PersonalChest=A 54-slot chest that can be opened anywhere- even from your own inventory. -tooltip.Chargepad=A universal chargepad that can charge any energized item from any mod. -tooltip.LogisticalSorter=A filter-based, advanced sorting machine that can auto-eject specified items out of and into adjacent inventories and Logistical Transporters. -tooltip.RotaryCondensentrator=A machine capable of converting gasses into their fluid form and vice versa. -tooltip.ChemicalInjectionChamber=An elite machine capable of processing ores into four shards, serving as the initial stage of 400% ore processing. -tooltip.ElectrolyticSeparator=A machine that uses the process of electrolysis to split apart a certain gas into two different gasses. -tooltip.PrecisionSawmill=A machine used to process logs and other wood-based items more efficiently, as well as to obtain sawdust. -tooltip.ChemicalDissolutionChamber=An ultimate machine used to chemically dissolve all impurities of an ore, leaving an unprocessed slurry behind. -tooltip.ChemicalWasher=An ultimate machine that cleans unprocessed slurry and prepares it for crystallization. -tooltip.ChemicalCrystallizer=An ultimate machine used to crystallize purified ore slurry into ore crystals. -tooltip.ChemicalOxidizer=A machine capable of oxidizing solid materials into gas phase. -tooltip.ChemicalInfuser=A machine that produces a new gas by infusing two others. -tooltip.SeismicVibrator=A machine that uses seismic vibrations to provide information on differing layers of the world. -tooltip.PressurizedReactionChamber=An advanced machine that processes a solid, liquid and gaseous mixture and creates both a gaseous and solid product. -tooltip.FluidTank=A handy, sturdy, portable tank that lets you carry multiple buckets of fluid wherever you please. Also doubles as a bucket! -tooltip.FluidicPlenisher=A machine that is capable of creating entire lakes by filling ravines with fluids. -tooltip.Laser=An advanced form of linear energy transfer that utilizes an extremely collimated beam of light. -tooltip.LaserAmplifier=A block that can be used to merge, redirect and amplify laser beams, with fine controls over when to fire. -tooltip.LaserTractorBeam=A block used to merge and redirect laser beams. Collects drops from blocks it has broken. -tooltip.SolarNeutronActivator=A machine that directs the neutron radiation of the sun into its internal reservoir, allowing for the slow creation of various isotopes. -tooltip.Oredictionificator=A machine used to unify and translate between various items and blocks using the Ore Dictionary. -tooltip.Factory=A machine that serves as an upgrade to regular machinery, allowing for multiple processing operations to occur at once. -tooltip.ResistiveHeater=A condensed, coiled resistor capable of converting electrical energy directly into heat energy. -tooltip.FormulaicAssemblicator=A machine that uses energy to rapidly craft items and blocks from Crafting Formulas. Doubles as an advanced crafting bench. -tooltip.FuelwoodHeater=A machine that is capable of producing large quantities of heat energy by burning combustible items. -tooltip.QuantumEntangloporter=A highly-advanced block capable of transmitting any practical resource across long distances and dimensions. - -tooltip.HeatGenerator=A generator that uses the heat of lava or other burnable resources to produce energy. -tooltip.SolarGenerator=A generator that uses the power of the sun to produce energy. -tooltip.GasGenerator=A generator that harnesses the molecular varying gasses to produce energy. -tooltip.BioGenerator=A generator that burns organic materials of the world to produce energy. -tooltip.AdvancedSolarGenerator=An advanced generator that directly absorbs the sun's rays with little loss to produce energy. -tooltip.WindGenerator=A generator that uses the strength of the wind to produce energy, with greater efficiency at higher levels. -tooltip.TurbineRotor=The steel rod that is used to house Turbine Blades within an Industrial Turbine. -tooltip.RotationalComplex=A connector that is placed on the highest Turbine Rotor of an Industrial Turbine to carry kinetic energy into its Electromagnetic Coils. -tooltip.ElectromagneticCoil=A block that converts kinetic energy from a Rotational Complex into useable electricity. These can be placed in any arrangement above your Rotational Complex, as long as they are all touching each other and the complex itself. -tooltip.TurbineCasing=Pressure-resistant casing used in the creation of an Industrial Turbine. -tooltip.TurbineValve=A type of Turbine Casing that includes a port for the transfer of energy and steam. -tooltip.TurbineVent=A type of Turbine Casing with an integrated vent for the release of steam. These should be placed on the level of or above the turbine's Rotational Complex. - -tooltip.ReactorGlass=Reinforced glass that can be used in the Fusion Reactor multiblock. -tooltip.ReactorLaserFocusMatrix=A panel of Reactor Glass that is capable of absorbing optical energy and thereby heating up the Fusion Reactor. -tooltip.ReactorController=The controlling block for the entire Fusion Reactor structure. -tooltip.ReactorFrame=Reinforced framing that can be used in the Fusion Reactor multiblock. -tooltip.ReactorNeutronCapturePlate=A block that can be used to both block Fusion Reactor radiation and assist in the production of Tritium. -tooltip.ReactorPort=A block of reinforced framing that is capable of managing both the gas and energy transfer of the Fusion Reactor. -tooltip.ReactorLogicAdapter=A block that can be used to allow basic monitoring of a reactor using redstone. - -tooltip.OsmiumOre=A strong mineral that can be found at nearly any height in the world. It is known to have many uses in the construction of machinery. -tooltip.CopperOre=A common, conductive material that can be used in the production of wires. Its ability to withstand high heats also makes it essential to advanced machinery. -tooltip.TinOre=A lightweight, yet sturdy, conductive material that is found slightly less commonly than Copper. - -//Side data -sideData.None=None -sideData.Input=Input -sideData.Output=Output -sideData.Energy=Energy -sideData.Gas=Gas -sideData.Extra=Extra -sideData.Infuse=Infuse -sideData.Fluid=Fluid -sideData.Fill=Fill -sideData.Empty=Empty -sideData.Charge=Charge -sideData.Discharge=Discharge - -//Redstone control -control.disabled=Disabled -control.high=High -control.low=Low -control.pulse=Pulse -control.disabled.desc=Always active -control.high.desc=Active with signal -control.low.desc=Active without signal -control.pulse.desc=Only active upon first receiving signal - -//Container edit modes -fluidedit.both=Both -fluidedit.fill=Fill -fluidedit.empty=Empty - -//Colors -color.black=Black -color.darkBlue=Dark Blue -color.darkGreen=Dark Green -color.darkAqua=Dark Aqua -color.darkRed=Dark Red -color.purple=Purple -color.orange=Orange -color.grey=Grey -color.darkGrey=Dark Grey -color.indigo=Indigo -color.brightGreen=Bright Green -color.aqua=Aqua -color.red=Red -color.pink=Pink -color.yellow=Yellow -color.white=White -color.brown=Brown -color.brightPink=Bright Pink - -//Dyes -dye.black=Black -dye.darkBlue=Blue -dye.brown=Brown -dye.darkGreen=Green -dye.darkAqua=Cyan -dye.darkRed=Dark Red -dye.purple=Purple -dye.orange=Orange -dye.grey=Light Grey -dye.darkGrey=Grey -dye.indigo=Light Blue -dye.brightGreen=Lime -dye.aqua=Aqua -dye.red=Red -dye.brightPink=Pink -dye.pink=Magenta -dye.yellow=Yellow -dye.white=White - -//Reactor Logic modes -reactor.disabled=Disabled -reactor.disabled.desc=Will not emit a redstone signal -reactor.ready=Ready for Ignition -reactor.ready.desc=Reactor has reached the required heat level to ignite -reactor.capacity=Heat Capacity Met -reactor.capacity.desc=The reactor's core heat capacity has been met -reactor.depleted=Insufficient Fuel -reactor.depleted.desc=The reactor has insufficient fuel to sustain a reaction - -//Creative tab -itemGroup.tabMekanism=Mekanism - -//NEI stuff -nei.chemicalInjectionChamber=C. Injection Chamber -nei.rotaryCondensentrator=R. Condensentrator - -//**********// -//GENERATORS// -//**********// - -//Items -item.SolarPanel.name=Solar Panel -item.Hohlraum.name=Hohlraum -item.TurbineBlade.name=Turbine Blade - -//Generators -tile.Generator.HeatGenerator.name=Heat Generator -tile.Generator.SolarGenerator.name=Solar Generator -tile.Generator.GasGenerator.name=Gas-Burning Generator -tile.Generator.BioGenerator.name=Bio-Generator -tile.Generator.AdvancedSolarGenerator.name=Advanced Solar Generator -tile.Generator.WindGenerator.name=Wind Generator -tile.Generator.TurbineRotor.name=Turbine Rotor -tile.Generator.RotationalComplex.name=Rotational Complex -tile.Generator.ElectromagneticCoil.name=Electromagnetic Coil -tile.Generator.TurbineCasing.name=Turbine Casing -tile.Generator.TurbineValve.name=Turbine Valve -tile.Generator.TurbineVent.name=Turbine Vent - -tile.Reactor.ReactorController.name=Reactor Controller -tile.Reactor.ReactorFrame.name=Reactor Frame -tile.Reactor.ReactorNeutronCapturePlate.name=Neutron Capture Plate -tile.Reactor.ReactorPort.name=Reactor Port -tile.Reactor.ReactorLogicAdapter.name=Reactor Logic Adapter - -tile.ReactorGlass.ReactorGlass.name=Reactor Glass -tile.ReactorGlass.ReactorLaserFocusMatrix.name=Laser Focus Matrix - -//Gui text -gui.heatGenerator.fuel=Fuel -gui.solarGenerator.sun=Sun -gui.bioGenerator.bioFuel=BioFuel -gui.electrolyticSeparator.dump=Dump - -gui.passive=Air-Cooled -gui.active=Water-Cooled - -gui.minInject=Min. Inject Rate -gui.ignition=Ignition Temp -gui.maxPlasma=Max. Plasma Temp -gui.maxCasing=Max. Casing Temp -gui.passiveGeneration=Passive Generation -gui.steamProduction=Steam Production - -//*****// -//TOOLS// -//*****// - -//Vanilla Paxels -item.WoodPaxel.name=Wood Paxel -item.StonePaxel.name=Stone Paxel -item.IronPaxel.name=Iron Paxel -item.DiamondPaxel.name=Diamond Paxel -item.GoldPaxel.name=Gold Paxel - -//Obsidian -item.ObsidianHelmet.name=Obsidian Helmet -item.ObsidianChestplate.name=Obsidian Chestplate -item.ObsidianLeggings.name=Obsidian Leggings -item.ObsidianBoots.name=Obsidian Boots -item.ObsidianPaxel.name=Obsidian Paxel -item.ObsidianPickaxe.name=Obsidian Pickaxe -item.ObsidianAxe.name=Obsidian Axe -item.ObsidianShovel.name=Obsidian Shovel -item.ObsidianHoe.name=Obsidian Hoe -item.ObsidianSword.name=Obsidian Sword - -//Lapis Lazuli -item.LazuliHelmet.name=Lapis Lazuli Helmet -item.LazuliChestplate.name=Lapis Lazuli Chestplate -item.LazuliLeggings.name=Lapis Lazuli Leggings -item.LazuliBoots.name=Lapis Lazuli Boots -item.LazuliPaxel.name=Lapis Lazuli Paxel -item.LazuliPickaxe.name=Lapis Lazuli Pickaxe -item.LazuliAxe.name=Lapis Lazuli Axe -item.LazuliShovel.name=Lapis Lazuli Shovel -item.LazuliHoe.name=Lapis Lazuli Hoe -item.LazuliSword.name=Lapis Lazuli Sword - -//Osmium -item.OsmiumHelmet.name=Osmium Helmet -item.OsmiumChestplate.name=Osmium Chestplate -item.OsmiumLeggings.name=Osmium Leggings -item.OsmiumBoots.name=Osmium Boots -item.OsmiumPaxel.name=Osmium Paxel -item.OsmiumPickaxe.name=Osmium Pickaxe -item.OsmiumAxe.name=Osmium Axe -item.OsmiumShovel.name=Osmium Shovel -item.OsmiumHoe.name=Osmium Hoe -item.OsmiumSword.name=Osmium Sword - -//Bronze -item.BronzeHelmet.name=Bronze Helmet -item.BronzeChestplate.name=Bronze Chestplate -item.BronzeLeggings.name=Bronze Leggings -item.BronzeBoots.name=Bronze Boots -item.BronzePaxel.name=Bronze Paxel -item.BronzePickaxe.name=Bronze Pickaxe -item.BronzeAxe.name=Bronze Axe -item.BronzeShovel.name=Bronze Shovel -item.BronzeHoe.name=Bronze Hoe -item.BronzeSword.name=Bronze Sword - -//Glow -item.GlowstoneHelmet.name=Glowstone Helmet -item.GlowstoneChestplate.name=Glowstone Chestplate -item.GlowstoneLeggings.name=Glowstone Leggings -item.GlowstoneBoots.name=Glowstone Boots -item.GlowstonePaxel.name=Glowstone Paxel -item.GlowstonePickaxe.name=Glowstone Pickaxe -item.GlowstoneAxe.name=Glowstone Axe -item.GlowstoneShovel.name=Glowstone Shovel -item.GlowstoneHoe.name=Glowstone Hoe -item.GlowstoneSword.name=Glowstone Sword - -//Steel -item.SteelHelmet.name=Steel Helmet -item.SteelChestplate.name=Steel Chestplate -item.SteelLeggings.name=Steel Leggings -item.SteelBoots.name=Steel Boots -item.SteelPaxel.name=Steel Paxel -item.SteelPickaxe.name=Steel Pickaxe -item.SteelAxe.name=Steel Axe -item.SteelShovel.name=Steel Shovel -item.SteelHoe.name=Steel Hoe -item.SteelSword.name=Steel Sword - -//Config Gui -mekanism.configgui.ctgy.tools.general=General -mekanism.configgui.ctgy.tools.armor=Armor Balance -mekanism.configgui.ctgy.tools.tools=Tools Balance - -//Config Tooltips -mekanism.configgui.ctgy.tools.general.tooltip=Settings regarding MekanismTools' general configuration -mekanism.configgui.ctgy.tools.armor.tooltip=Settings regarding the protection values and balance of MekanismTools armor sets -mekanism.configgui.ctgy.tools.tools.tooltip=Settings regarding the efficiency values and balance of MekanismTools tool sets \ No newline at end of file From 8b335bdc04c1bcebfc96485dbe0c6ebdf9dc60e6 Mon Sep 17 00:00:00 2001 From: Jakub Rohla Date: Mon, 27 Jun 2016 07:08:16 +0200 Subject: [PATCH 14/75] Revert "Revert "114/1085 translations completed"" This reverts commit 1c6b74d854828aa93f14dd8a66bdebc9a601863b. --- .../resources/assets/mekanism/lang/cs_CZ.lang | 1084 +++++++++++++++++ 1 file changed, 1084 insertions(+) diff --git a/src/main/resources/assets/mekanism/lang/cs_CZ.lang b/src/main/resources/assets/mekanism/lang/cs_CZ.lang index 8b1378917..3c6e9d19c 100644 --- a/src/main/resources/assets/mekanism/lang/cs_CZ.lang +++ b/src/main/resources/assets/mekanism/lang/cs_CZ.lang @@ -1 +1,1085 @@ +//********// +//MEKANISM// +//********// +//Items +tile.ObsidianTNT.name=Obsidiánové TNT +item.EnrichedAlloy.name=Obohacená Slitina +item.ReinforcedAlloy.name=Tvrzená Slitina +item.AtomicAlloy.name=Atomická Slitina +item.EnergyTablet.name=Energický Tablet +item.SpeedUpgrade.name=Vylepšení Rychlosti +item.EnergyUpgrade.name=Vylepšení Energie +item.FilterUpgrade.name=Vylepšení Filtru +item.MufflingUpgrade.name=Vylepšení Dušení +item.GasUpgrade.name=Vylepšení Plynu +item.Robit.name=Robit +item.AtomicDisassembler.name=Atomický Rozkladač +item.ElectricBow.name=Elektrický Luk +item.EnrichedIron.name=Obohacené Železo +item.CompressedCarbon.name=Zkompresovaný Uhlík +item.CompressedRedstone.name=Zkompresovaný Rudit +item.CompressedDiamond.name=Zkompresovaný Diamant +item.CompressedObsidian.name=Zkompresovaný Obsidián +item.PortableTeleporter.name=Přenosný Teleportér +item.TeleportationCore.name=Teleportační Jádro +item.Configurator.name=Konfigurátor +item.NetworkReader.name=Čtečka sítě +item.WalkieTalkie.name=Vysílačka +item.Jetpack.name=Jetpack +item.ScubaTank.name=Potápěcí Nádrž +item.GasMask.name=Plynová Maska +item.Dictionary.name=Slovník +item.ElectrolyticCore.name=Elektrolytické Jádro +item.Sawdust.name=Piliny +item.Salt.name=Sůl +item.BrineBucket.name=Kyblík Solanky +item.LithiumBucket.name=Kyblík Lithia +item.HeavyWaterBucket.name=Kyblík Těžké Vody +item.FreeRunners.name=Volnoběžky +item.ArmoredJetpack.name=Obrněný Jetpack +item.ConfigurationCard.name=Konfigurační Karta +item.SeismicReader.name=Seismická Čtečka +item.HDPEPellet.name=HDPE Kulička +item.HDPERod.name=HDPE Tyč +item.HDPESheet.name=HDPE List +item.PlaStick.name=PlaTyčka +item.Substrate.name=Substrát +item.Flamethrower.name=Plamenomet +item.GaugeDropper.name=Kapátko +item.BioFuel.name=Bio Palivo +item.CraftingFormula.name=Výrobní Recept + +//Control Circuits +item.BasicControlCircuit.name=Základní Ovládací Obvod +item.AdvancedControlCircuit.name=Pokročilý Ovládací Obvod +item.EliteControlCircuit.name=Elitní Ovládací Obvod +item.UltimateControlCircuit.name=Ultimátní Ovládací Obvod + +//Gas Tank +tile.GasTankBasic.name=Základní Plynová Nádrž +tile.GasTankAdvanced.name=Pokročilá Plynová Nádrž +tile.GasTankElite.name=Elitní Plynová Nádrž +tile.GasTankUltimate.name=Ultimátní Plynová Nádrž + +//Fluid Tank (part of MachineBlock2, naming handled differently) +tile.FluidTankBasic.name=Základní Kapalinová Nádrž +tile.FluidTankAdvanced.name=Pokročilá Kapalinová Nádrž +tile.FluidTankElite.name=Elitní Kapalinová Nádrž +tile.FluidTankUltimate.name=Ultimátní Kapalinová Nádrž + +//Cardboard Box +tile.CardboardBox.name=Kartonová Krabice + +//Bounding Block +tile.BoundingBlock.name=Vázací Blok + +//Salt +tile.SaltBlock.name=Solný Blok + +//Basic Block +tile.BasicBlock.OsmiumBlock.name=Blok Osmia +tile.BasicBlock.BronzeBlock.name=Blok Bronzu +tile.BasicBlock.RefinedObsidian.name=Rafinovaný Obsidián +tile.BasicBlock.CharcoalBlock.name=Blok Dřevěného Uhlí +tile.BasicBlock.RefinedGlowstone.name=Rafinovaný Světlit +tile.BasicBlock.SteelBlock.name=Blok Oceli +tile.BasicBlock.BinBasic.name=Základní Koš +tile.BasicBlock.BinAdvanced.name=Pokročilý Koš +tile.BasicBlock.BinElite.name=Elitní Koš +tile.BasicBlock.BinUltimate.name=Ultimátní Koš +tile.BasicBlock.TeleporterFrame.name=Rám Teleportéru +tile.BasicBlock.SteelCasing.name=Ocelový Plášť +tile.BasicBlock.DynamicTank.name=Dynamická Nádrž +tile.BasicBlock.StructuralGlass.name=Strukturální Sklo +tile.BasicBlock.DynamicValve.name=Dynamický Ventil +tile.BasicBlock.CopperBlock.name=Blok Měďi +tile.BasicBlock.TinBlock.name=Blok Cínu +tile.BasicBlock.ThermalEvaporationController.name=Ovladač Slunečního Výparu +tile.BasicBlock.ThermalEvaporationValve.name=Ventil Slunečního Výparu + +//Basic Block 2 (second ID iteration) +tile.BasicBlock2.ThermalEvaporationBlock.name=Blok Slunečního Výparu +tile.BasicBlock2.InductionCasing.name=Indukční Plášť +tile.BasicBlock2.InductionPort.name=Indukční Port +tile.BasicBlock2.InductionCellBasic.name=Základní Indukční Článek +tile.BasicBlock2.InductionCellAdvanced.name=Pokročilý Indukční Článek +tile.BasicBlock2.InductionCellElite.name=Elitní Indukční Článek +tile.BasicBlock2.InductionCellUltimate.name=Ultimátní Indukční Článek +tile.BasicBlock2.InductionProviderBasic.name=Základní Poskytovatel Indukce +tile.BasicBlock2.InductionProviderAdvanced.name=Pokročilý Poskytovatel Indukce +tile.BasicBlock2.InductionProviderElite.name=Elitní Poskytovatel Indukce +tile.BasicBlock2.InductionProviderUltimate.name=Ultimátní Poskytovatel Indukce +tile.BasicBlock2.SuperheatingElement.name=Superohřívací Element +tile.BasicBlock2.PressureDisperser.name=Rozprašovač Tlaku +tile.BasicBlock2.BoilerCasing.name=Boiler Casing +tile.BasicBlock2.BoilerValve.name=Boiler Valve +tile.BasicBlock2.SecurityDesk.name=Security Desk + +//Machine Block +tile.MachineBlock.EnrichmentChamber.name=Enrichment Chamber +tile.MachineBlock.OsmiumCompressor.name=Osmium Compressor +tile.MachineBlock.Combiner.name=Combiner +tile.MachineBlock.Crusher.name=Crusher +tile.MachineBlock.Factory.name=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.PersonalChest.name=Personal 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.FluidicPlenisher.name=Fluidic Plenisher +tile.MachineBlock2.Laser.name=Laser +tile.MachineBlock2.LaserAmplifier.name=Laser Amplifier +tile.MachineBlock2.LaserTractorBeam.name=Laser Tractor Beam + +//Machine Block 3 (third ID iteration) +tile.MachineBlock3.QuantumEntangloporter.name=Quantum Entangloporter +tile.MachineBlock3.SolarNeutronActivator.name=Solar Neutron Activator +tile.MachineBlock3.Oredictionificator.name=Oredictionificator +tile.MachineBlock3.ResistiveHeater.name=Resistive Heater +tile.MachineBlock3.FormulaicAssemblicator.name=Formulaic Assemblicator +tile.MachineBlock3.FuelwoodHeater.name=Fuelwood Heater + +//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=Obsidian +infuse.bio=Biomass + +//Ore Block +tile.OreBlock.OsmiumOre.name=Osmium Ore +tile.OreBlock.CopperOre.name=Copper Ore +tile.OreBlock.TinOre.name=Tin Ore + +//Transmitters +item.MultipartTransmitter.BasicPressurizedTube.name=Basic Pressurized Tube +item.MultipartTransmitter.AdvancedPressurizedTube.name=Advanced Pressurized Tube +item.MultipartTransmitter.ElitePressurizedTube.name=Elite Pressurized Tube +item.MultipartTransmitter.UltimatePressurizedTube.name=Ultimate Pressurized Tube +item.MultipartTransmitter.BasicUniversalCable.name=Basic Universal Cable +item.MultipartTransmitter.AdvancedUniversalCable.name=Advanced 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=Advanced Mechanical Pipe +item.MultipartTransmitter.EliteMechanicalPipe.name=Elite Mechanical Pipe +item.MultipartTransmitter.UltimateMechanicalPipe.name=Ultimate Mechanical Pipe +item.MultipartTransmitter.BasicLogisticalTransporter.name=Basic Logistical Transporter +item.MultipartTransmitter.AdvancedLogisticalTransporter.name=Advanced Logistical Transporter +item.MultipartTransmitter.EliteLogisticalTransporter.name=Elite Logistical Transporter +item.MultipartTransmitter.UltimateLogisticalTransporter.name=Ultimate Logistical Transporter +item.MultipartTransmitter.RestrictiveTransporter.name=Restrictive Transporter +item.MultipartTransmitter.DiversionTransporter.name=Diversion Transporter +item.MultipartTransmitter.BasicThermodynamicConductor.name=Basic Thermodynamic Conductor +item.MultipartTransmitter.AdvancedThermodynamicConductor.name=Advanced Thermodynamic Conductor +item.MultipartTransmitter.EliteThermodynamicConductor.name=Elite Thermodynamic Conductor +item.MultipartTransmitter.UltimateThermodynamicConductor.name=Ultimate Thermodynamic Conductor + +//Glow Panel +item.GlowPanel.name=Glow Panel + +//Energy Cubes +tile.EnergyCubeBasic.name=Basic Energy Cube +tile.EnergyCubeAdvanced.name=Advanced Energy Cube +tile.EnergyCubeElite.name=Elite Energy Cube +tile.EnergyCubeUltimate.name=Ultimate Energy Cube +tile.EnergyCubeCreative.name=Creative Energy Cube + +//Factory Installers +item.basicFactoryInstaller.name=Basic Factory Installer +item.advancedFactoryInstaller.name=Advanced Factory Installer +item.eliteFactoryInstaller.name=Elite Factory Installer + +//Dust +item.ironDust.name=Iron Dust +item.goldDust.name=Gold Dust +item.osmiumDust.name=Osmium Dust +item.obsidianDust.name=Obsidian Dust +item.refinedobsidianDust.name=Refined Obsidian Dust +item.diamondDust.name=Diamond Dust +item.steelDust.name=Steel 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.lithiumDust.name=Lithium Dust + +//Clumps +item.ironClump.name=Iron Clump +item.goldClump.name=Gold Clump +item.osmiumClump.name=Osmium Clump +item.copperClump.name=Copper Clump +item.tinClump.name=Tin Clump +item.silverClump.name=Silver Clump +item.leadClump.name=Lead Clump + +//Shards +item.ironShard.name=Iron Shard +item.goldShard.name=Gold Shard +item.osmiumShard.name=Osmium Shard +item.copperShard.name=Copper Shard +item.tinShard.name=Tin Shard +item.silverShard.name=Silver Shard +item.leadShard.name=Lead Shard + +//Crystals +item.ironCrystal.name=Iron Crystal +item.goldCrystal.name=Gold Crystal +item.osmiumCrystal.name=Osmium Crystal +item.copperCrystal.name=Copper Crystal +item.tinCrystal.name=Tin Crystal +item.silverCrystal.name=Silver Crystal +item.leadCrystal.name=Lead Crystal + +//Dirty Dust +item.dirtyIronDust.name=Dirty Iron Dust +item.dirtyGoldDust.name=Dirty Gold Dust +item.dirtyOsmiumDust.name=Dirty Osmium Dust +item.dirtyCopperDust.name=Dirty Copper Dust +item.dirtyTinDust.name=Dirty Tin Dust +item.dirtySilverDust.name=Dirty Silver Dust +item.dirtyLeadDust.name=Dirty Lead Dust + +//Ingots +item.obsidianIngot.name=Refined Obsidian Ingot +item.osmiumIngot.name=Osmium Ingot +item.bronzeIngot.name=Bronze Ingot +item.glowstoneIngot.name=Glowstone Ingot +item.steelIngot.name=Steel 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 Osmium +gas.liquidStone=Liquid Stone +gas.ethene=Ethylene +gas.sodium=Sodium +gas.brine=Gaseous Brine +gas.deuterium=Deuterium +gas.tritium=Tritium +gas.lithium=Lithium +gas.fusionFuelDT=D-T Fuel + +gas.iron=Iron Slurry +gas.gold=Gold Slurry +gas.osmium=Osmium Slurry +gas.copper=Copper Slurry +gas.tin=Tin Slurry +gas.silver=Silver Slurry +gas.obsidian=Obsidian Slurry +gas.lead=Lead Slurry + +gas.cleanIron=Clean Iron Slurry +gas.cleanGold=Clean Gold Slurry +gas.cleanOsmium=Clean Osmium Slurry +gas.cleanCopper=Clean Copper Slurry +gas.cleanTin=Clean Tin Slurry +gas.cleanSilver=Clean Silver Slurry +gas.cleanObsidian=Clean Obsidian 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 +fluid.heavyWater=Heavy Water +fluid.lithium=Liquid Lithium +fluid.deuterium=Liquid Deuterium +fluid.tritium=Liquid Tritium +fluid.fusionFuelDT=Liquid D-T Fuel +fluid.steam=Steam + +//OreGas names +oregas.iron=Iron Ore +oregas.gold=Gold Ore +oregas.osmium=Osmium Ore +oregas.copper=Copper Ore +oregas.tin=Tin Ore +oregas.silver=Silver Ore +oregas.obsidian=Obsidian Ore +oregas.lead=Lead Ore + +//Tier names +tier.Basic=Basic +tier.Advanced=Advanced +tier.Elite=Elite +tier.Ultimate=Ultimate +tier.Creative=Creative + +//Transmission types +transmission.Energy=Energy +transmission.Fluids=Fluids +transmission.Gases=Gases +transmission.Items=Items +transmission.Heat=Heat + +//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 + +//Upgrades +upgrade.energy=Energy +upgrade.energy.desc=Increases energy efficiency and capacity of machinery. +upgrade.speed=Speed +upgrade.speed.desc=Increases speed of machinery. +upgrade.filter=Filter +upgrade.filter.desc=A filter that separates heavy water from regular water. +upgrade.gas=Gas +upgrade.gas.desc=Increases the efficiency of gas-using machinery. +upgrade.muffling=Muffling +upgrade.muffling.desc=Reduces noise generated by machinery. + +//Key description text +key.mode=Item Mode Switch +key.armorMode=Armor Mode Switch +key.voice=Voice + +//Entities +entity.Mekanism.Robit.name=Robit +entity.Mekanism.BabySkeleton.name=Baby Skeleton + +//Config Gui +mekanism.configgui.ctgy.general=Mekanism General Settings +mekanism.configgui.ctgy.machines=Machine Settings +mekanism.configgui.ctgy.tier=Tier Settings +mekanism.configgui.ctgy.usage=Usage Settings +mekanism.configgui.ctgy.client=Client Settings + +//Config Tooltips +mekanism.configgui.ctgy.general.tooltip=General settings regarding Mekanism and all its modules +mekanism.configgui.ctgy.machines.tooltip=Settings regarding enabling and disabling of specific machinery +mekanism.configgui.ctgy.tier.tooltip=Settings regarding Mekanism tiers and their corresponding values +mekanism.configgui.ctgy.usage.tooltip=Settings regarding machinery and their energy usage +mekanism.configgui.ctgy.client.tooltip=Client-specific settings regarding Mekanism and all its modules + +//Gui text +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.strictInput=Strict Input +gui.slots=Slots +gui.state=State +gui.on=On +gui.off=Off +gui.filters=Filters +gui.filter=Filter +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.well=All is well! +gui.upgrade=Upgrade +gui.infinite=Infinite +gui.min=Min +gui.max=Max +gui.delay=Delay +gui.noDelay=No Delay +gui.fuel=Fuel +gui.heat=Heat +gui.formed=Formed +gui.incomplete=Incomplete +gui.inductionMatrix=Induction Matrix +gui.matrixStats=Matrix Statistics +gui.turbineStats=Turbine Statistics +gui.boilerStats=Boiler Statistics +gui.main=Main +gui.outputting=Outputting +gui.receiving=Receiving +gui.dimensions=Dimensions +gui.constituents=Constituents +gui.cells=cells +gui.providers=providers +gui.structure=Structure +gui.dynamicTank=Dynamic Tank +gui.industrialTurbine=Industrial Turbine +gui.thermoelectricBoiler=Thermoelectric Boiler +gui.visuals=Visuals +gui.noEject=Can't Eject +gui.undefined=Undefined +gui.owner=Owner +gui.public=Public +gui.private=Private +gui.add=Add +gui.set=Set +gui.freq=Freq +gui.security=Security +gui.index=Index +gui.producing=Producing +gui.maxOutput=Max Output +gui.storing=Storing +gui.skyBlocked=Sky blocked +gui.using=Using +gui.needed=Needed +gui.noRecipe=No recipe +gui.conflict=Conflict +gui.height=Height +gui.mult=Mult +gui.chunk=Chunk +gui.vibrating=Vibrating +gui.abundancy=Abundancy +gui.nextItem=Next Item +gui.lastItem=Last Item +gui.oreDictCompat=Compatible OreDict Key +gui.toggleCooling=Toggle Cooling Measurements +gui.coolingMeasurements=Active cooling +gui.redstoneOutputMode=Redstone mode +gui.entityDetection=Entity Detection +gui.moveUp=Move Up +gui.moveDown=Move Down +gui.flowRate=Flow rate +gui.maxFlow=Max flow +gui.tankVolume=Tank Volume +gui.steamFlow=Steam Flow +gui.production=Production +gui.blades=Blades +gui.coils=Coils +gui.dispersers=Dispersers +gui.vents=Vents +gui.maxProduction=Max Production +gui.limiting=Limiting +gui.steamInput=Steam Input +gui.capacity=Capacity +gui.unit=Unit +gui.temp=Temp +gui.usage=Usage +gui.transferred=Transferred +gui.dissipated=Dissipated +gui.boilRate=Boil Rate +gui.maxBoil=Max Boil +gui.maxWater=Max Water +gui.maxSteam=Max Steam +gui.heatTransfer=Heat Transfer +gui.superheaters=Superheaters +gui.boilCapacity=Boil Capacity +gui.encodeFormula=Encode Formula +gui.autoModeToggle=Turn Auto-Mode +gui.craftSingle=Craft Single Item +gui.craftAvailable=Craft Available Items +gui.fillEmpty=Fill/Empty Grid +gui.noOwner=No Owner +gui.securityOverride=Security Override +gui.remove=Remove +gui.trustedPlayers=Trusted Players +gui.publicMode=Public Mode +gui.privateMode=Private Mode +gui.trustedMode=Trusted Mode +gui.securityOffline=Security Offline +gui.noAccessDesc=You don't have access. +gui.overridden=Overridden +gui.nowOwn=You now own this item. +gui.frequency=Frequency +gui.mode=Mode +gui.burnRate=Burn Rate + +gui.reactor.injectionRate=Injection Rate + +gui.upgrades=Upgrades +gui.upgrades.supported=Supported +gui.upgrades.noSelection=No selection +gui.upgrades.amount=Amount +gui.upgrades.max=Max +gui.upgrades.effect=Effect + +gui.chemicalInfuser.short=C. Infuser +gui.chemicalDissolutionChamber.short=C. Dissolution Chamber +gui.thermalEvaporationController.short=Thermal E. Controller + +gui.dictionary.noKey=No key. + +gui.configuration=Configuration +gui.config=Config +gui.configuration.side=Side Config +gui.configuration.transporter=Transporter Config +gui.configuration.strictInput=Strict Input + +gui.rotaryCondensentrator.toggleOperation=Toggle operation + +gui.factory.secondaryEnergy=Secondary energy +gui.factory.autoSort=Auto-sort + +//Recipe types +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.Infusing=Infusing + +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.oredictionificatorFilter=Oredictionificator Filter + +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 +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.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.teleporter.noAccess=You don't have access to this Teleporter. +gui.teleporter.noFreq=No frequency + +gui.entangloporter.noAccess=You don't have access to this Entangloporter. + +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 +gui.digitalMiner.requireReplace=Require replace +gui.digitalMiner.fuzzyMode=Fuzzy mode +gui.digitalMiner.missingBlock=Missing block + +//Recipe names +recipe.mekanismShaped=Shaped +recipe.mekanismShapeless=Shapeless + +//Security types +security.public=Public +security.private=Private +security.trusted=Trusted + +//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.toggleMode=%s behavior bumped to +tooltip.configurator.viewMode=Current %s behavior +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.configurator.inductionPortMode=Toggled Induction Port transfer mode to +tooltip.configurator.toggleColor=Color bumped to +tooltip.configurator.viewColor=Current color + +tooltip.upgrade.speed=Speed +tooltip.upgrade.energy=Energy + +tooltip.inventory=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.outputRate=Output Rate +tooltip.insufficientFuel=Insufficient Fuel +tooltip.readyForReaction=Ready for Reaction +tooltip.speed=Speed +tooltip.and=and +tooltip.heat=Heat +tooltip.itemAmount=Item amount +tooltip.invalid=Invalid +tooltip.encoded=Encoded +tooltip.ingredients=Ingredients + +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.configurationCard.got=Retrieved configuration data from %s +tooltip.configurationCard.set=Injected configuration data of type %s +tooltip.configurationCard.unequal=Unequal configuration data formats + +tooltip.balloon=Balloon + +tooltip.jetpack.regular=Regular +tooltip.jetpack.hover=Hover +tooltip.jetpack.disabled=Disabled + +tooltip.flamethrower.combat=Combat +tooltip.flamethrower.heat=Heat +tooltip.flamethrower.inferno=Inferno +tooltip.flamethrower.modeBump=Flamethrower mode bumped to + +tooltip.seismicReader.needsEnergy=Not enough energy to interpret vibration +tooltip.seismicReader.noVibrations=Unable to discover any vibrations + +tooltip.Bin=A block used to store large quantities of a single type of item. +tooltip.TeleporterFrame=The frame used to construct the Teleporter multiblock, allowing a portal to be generated within the structure. +tooltip.SteelCasing=A sturdy, steel-based casing used as a foundation for machinery. +tooltip.DynamicTank=The casing used in the Dynamic Tank multiblock, a structure capable of storing great amounts of fluid. +tooltip.StructuralGlass=An advanced, reinforced material of glass that drops when broken and can be used in the structure of any applicable multiblock. +tooltip.DynamicValve=A valve that can be placed on a Dynamic Tank multiblock, allowing for fluids to be inserted and extracted via external piping. +tooltip.ThermalEvaporationController=The controller for a Thermal Evaporation Plant, acting as the master block of the structure. Only one of these should be placed on a multiblock. +tooltip.ThermalEvaporationValve=A valve that can be placed on a Thermal Evaporation Plant multiblock, allowing for fluids to be inserted and extracted via external piping. +tooltip.ThermalEvaporationBlock=A copper-alloyed casing used in the structure of a Thermal Evaporation Plant, using its advanced material to conduct the great amounts of heat necessary for processing. +tooltip.InductionCasing=A type of energy-resistant casing used in the creation of an Energized Induction Matrix multiblock. +tooltip.InductionPort=A port that can be placed on an Energized Induction Matrix multiblock, allowing for energy to be inserted from and output to external cabling. +tooltip.InductionCell=A highly conductive energy capacitor capable of storing massive amounts of energy in a single block. Housed in an Energized Induction Matrix to expand the multiblock's energy storage. +tooltip.InductionProvider=An advanced complex of coolant systems, conductors and transformers capable of expanding the Energized Induction Matrix's maximum rate of energy transfer. +tooltip.SuperheatingElement=A modular, somewhat dangerous radiator that is capable of emitting massive amounts of heat to its surroundings. +tooltip.PressureDisperser=A block used disperse steam throughout a multiblock structure. These should form a gapless, horizontal plane in order to properly control steam flow. +tooltip.BoilerCasing=A pressure-resistant, dense casing used in the creation of a Thermoelectric Boiler multiblock. +tooltip.BoilerValve=A valve that can be placed on a Thermoelectric Boiler multiblock, allowing for the insertion of energy and water along with the extraction of produced steam. +tooltip.SecurityDesk=A central control hub for managing the security of all your owned machinery. + +tooltip.EnrichmentChamber=A simple machine used to enrich ores into two of their dust counterparts, as well as perform many other operations. +tooltip.OsmiumCompressor=A fairly advanced machine used to compress osmium into various dusts in order to create their ingot counterparts. +tooltip.Combiner=A machine used to combine dusts and cobblestone to form their ore counterparts. +tooltip.Crusher=A machine used to crush ingots into their dust counterparts, as well as perform many other operations. +tooltip.DigitalMiner=A highly-advanced, filter-based, auto-miner that can mine whatever block you tell it to within a 32 block (max) radius. +tooltip.MetallurgicInfuser=A machine used to infuse various materials into (generally) metals to create metal alloys and other compounds. +tooltip.PurificationChamber=An advanced machine capable of processing ores into three clumps, serving as the initial stage of 300% ore processing. +tooltip.EnergizedSmelter=A simple machine that serves as a Mekanism-based furnace that runs off of energy. +tooltip.Teleporter=A machine capable of teleporting players to various locations defined by another teleporter. +tooltip.ElectricPump=An advanced, upgradeable pump, capable of extracting any type of fluid. +tooltip.PersonalChest=A 54-slot chest that can be opened anywhere- even from your own inventory. +tooltip.Chargepad=A universal chargepad that can charge any energized item from any mod. +tooltip.LogisticalSorter=A filter-based, advanced sorting machine that can auto-eject specified items out of and into adjacent inventories and Logistical Transporters. +tooltip.RotaryCondensentrator=A machine capable of converting gasses into their fluid form and vice versa. +tooltip.ChemicalInjectionChamber=An elite machine capable of processing ores into four shards, serving as the initial stage of 400% ore processing. +tooltip.ElectrolyticSeparator=A machine that uses the process of electrolysis to split apart a certain gas into two different gasses. +tooltip.PrecisionSawmill=A machine used to process logs and other wood-based items more efficiently, as well as to obtain sawdust. +tooltip.ChemicalDissolutionChamber=An ultimate machine used to chemically dissolve all impurities of an ore, leaving an unprocessed slurry behind. +tooltip.ChemicalWasher=An ultimate machine that cleans unprocessed slurry and prepares it for crystallization. +tooltip.ChemicalCrystallizer=An ultimate machine used to crystallize purified ore slurry into ore crystals. +tooltip.ChemicalOxidizer=A machine capable of oxidizing solid materials into gas phase. +tooltip.ChemicalInfuser=A machine that produces a new gas by infusing two others. +tooltip.SeismicVibrator=A machine that uses seismic vibrations to provide information on differing layers of the world. +tooltip.PressurizedReactionChamber=An advanced machine that processes a solid, liquid and gaseous mixture and creates both a gaseous and solid product. +tooltip.FluidTank=A handy, sturdy, portable tank that lets you carry multiple buckets of fluid wherever you please. Also doubles as a bucket! +tooltip.FluidicPlenisher=A machine that is capable of creating entire lakes by filling ravines with fluids. +tooltip.Laser=An advanced form of linear energy transfer that utilizes an extremely collimated beam of light. +tooltip.LaserAmplifier=A block that can be used to merge, redirect and amplify laser beams, with fine controls over when to fire. +tooltip.LaserTractorBeam=A block used to merge and redirect laser beams. Collects drops from blocks it has broken. +tooltip.SolarNeutronActivator=A machine that directs the neutron radiation of the sun into its internal reservoir, allowing for the slow creation of various isotopes. +tooltip.Oredictionificator=A machine used to unify and translate between various items and blocks using the Ore Dictionary. +tooltip.Factory=A machine that serves as an upgrade to regular machinery, allowing for multiple processing operations to occur at once. +tooltip.ResistiveHeater=A condensed, coiled resistor capable of converting electrical energy directly into heat energy. +tooltip.FormulaicAssemblicator=A machine that uses energy to rapidly craft items and blocks from Crafting Formulas. Doubles as an advanced crafting bench. +tooltip.FuelwoodHeater=A machine that is capable of producing large quantities of heat energy by burning combustible items. +tooltip.QuantumEntangloporter=A highly-advanced block capable of transmitting any practical resource across long distances and dimensions. + +tooltip.HeatGenerator=A generator that uses the heat of lava or other burnable resources to produce energy. +tooltip.SolarGenerator=A generator that uses the power of the sun to produce energy. +tooltip.GasGenerator=A generator that harnesses the molecular varying gasses to produce energy. +tooltip.BioGenerator=A generator that burns organic materials of the world to produce energy. +tooltip.AdvancedSolarGenerator=An advanced generator that directly absorbs the sun's rays with little loss to produce energy. +tooltip.WindGenerator=A generator that uses the strength of the wind to produce energy, with greater efficiency at higher levels. +tooltip.TurbineRotor=The steel rod that is used to house Turbine Blades within an Industrial Turbine. +tooltip.RotationalComplex=A connector that is placed on the highest Turbine Rotor of an Industrial Turbine to carry kinetic energy into its Electromagnetic Coils. +tooltip.ElectromagneticCoil=A block that converts kinetic energy from a Rotational Complex into useable electricity. These can be placed in any arrangement above your Rotational Complex, as long as they are all touching each other and the complex itself. +tooltip.TurbineCasing=Pressure-resistant casing used in the creation of an Industrial Turbine. +tooltip.TurbineValve=A type of Turbine Casing that includes a port for the transfer of energy and steam. +tooltip.TurbineVent=A type of Turbine Casing with an integrated vent for the release of steam. These should be placed on the level of or above the turbine's Rotational Complex. + +tooltip.ReactorGlass=Reinforced glass that can be used in the Fusion Reactor multiblock. +tooltip.ReactorLaserFocusMatrix=A panel of Reactor Glass that is capable of absorbing optical energy and thereby heating up the Fusion Reactor. +tooltip.ReactorController=The controlling block for the entire Fusion Reactor structure. +tooltip.ReactorFrame=Reinforced framing that can be used in the Fusion Reactor multiblock. +tooltip.ReactorNeutronCapturePlate=A block that can be used to both block Fusion Reactor radiation and assist in the production of Tritium. +tooltip.ReactorPort=A block of reinforced framing that is capable of managing both the gas and energy transfer of the Fusion Reactor. +tooltip.ReactorLogicAdapter=A block that can be used to allow basic monitoring of a reactor using redstone. + +tooltip.OsmiumOre=A strong mineral that can be found at nearly any height in the world. It is known to have many uses in the construction of machinery. +tooltip.CopperOre=A common, conductive material that can be used in the production of wires. Its ability to withstand high heats also makes it essential to advanced machinery. +tooltip.TinOre=A lightweight, yet sturdy, conductive material that is found slightly less commonly than Copper. + +//Side data +sideData.None=None +sideData.Input=Input +sideData.Output=Output +sideData.Energy=Energy +sideData.Gas=Gas +sideData.Extra=Extra +sideData.Infuse=Infuse +sideData.Fluid=Fluid +sideData.Fill=Fill +sideData.Empty=Empty +sideData.Charge=Charge +sideData.Discharge=Discharge + +//Redstone control +control.disabled=Disabled +control.high=High +control.low=Low +control.pulse=Pulse +control.disabled.desc=Always active +control.high.desc=Active with signal +control.low.desc=Active without signal +control.pulse.desc=Only active upon first receiving signal + +//Container edit modes +fluidedit.both=Both +fluidedit.fill=Fill +fluidedit.empty=Empty + +//Colors +color.black=Black +color.darkBlue=Dark Blue +color.darkGreen=Dark Green +color.darkAqua=Dark Aqua +color.darkRed=Dark Red +color.purple=Purple +color.orange=Orange +color.grey=Grey +color.darkGrey=Dark Grey +color.indigo=Indigo +color.brightGreen=Bright Green +color.aqua=Aqua +color.red=Red +color.pink=Pink +color.yellow=Yellow +color.white=White +color.brown=Brown +color.brightPink=Bright Pink + +//Dyes +dye.black=Black +dye.darkBlue=Blue +dye.brown=Brown +dye.darkGreen=Green +dye.darkAqua=Cyan +dye.darkRed=Dark Red +dye.purple=Purple +dye.orange=Orange +dye.grey=Light Grey +dye.darkGrey=Grey +dye.indigo=Light Blue +dye.brightGreen=Lime +dye.aqua=Aqua +dye.red=Red +dye.brightPink=Pink +dye.pink=Magenta +dye.yellow=Yellow +dye.white=White + +//Reactor Logic modes +reactor.disabled=Disabled +reactor.disabled.desc=Will not emit a redstone signal +reactor.ready=Ready for Ignition +reactor.ready.desc=Reactor has reached the required heat level to ignite +reactor.capacity=Heat Capacity Met +reactor.capacity.desc=The reactor's core heat capacity has been met +reactor.depleted=Insufficient Fuel +reactor.depleted.desc=The reactor has insufficient fuel to sustain a reaction + +//Creative tab +itemGroup.tabMekanism=Mekanism + +//NEI stuff +nei.chemicalInjectionChamber=C. Injection Chamber +nei.rotaryCondensentrator=R. Condensentrator + +//**********// +//GENERATORS// +//**********// + +//Items +item.SolarPanel.name=Solar Panel +item.Hohlraum.name=Hohlraum +item.TurbineBlade.name=Turbine Blade + +//Generators +tile.Generator.HeatGenerator.name=Heat Generator +tile.Generator.SolarGenerator.name=Solar Generator +tile.Generator.GasGenerator.name=Gas-Burning Generator +tile.Generator.BioGenerator.name=Bio-Generator +tile.Generator.AdvancedSolarGenerator.name=Advanced Solar Generator +tile.Generator.WindGenerator.name=Wind Generator +tile.Generator.TurbineRotor.name=Turbine Rotor +tile.Generator.RotationalComplex.name=Rotational Complex +tile.Generator.ElectromagneticCoil.name=Electromagnetic Coil +tile.Generator.TurbineCasing.name=Turbine Casing +tile.Generator.TurbineValve.name=Turbine Valve +tile.Generator.TurbineVent.name=Turbine Vent + +tile.Reactor.ReactorController.name=Reactor Controller +tile.Reactor.ReactorFrame.name=Reactor Frame +tile.Reactor.ReactorNeutronCapturePlate.name=Neutron Capture Plate +tile.Reactor.ReactorPort.name=Reactor Port +tile.Reactor.ReactorLogicAdapter.name=Reactor Logic Adapter + +tile.ReactorGlass.ReactorGlass.name=Reactor Glass +tile.ReactorGlass.ReactorLaserFocusMatrix.name=Laser Focus Matrix + +//Gui text +gui.heatGenerator.fuel=Fuel +gui.solarGenerator.sun=Sun +gui.bioGenerator.bioFuel=BioFuel +gui.electrolyticSeparator.dump=Dump + +gui.passive=Air-Cooled +gui.active=Water-Cooled + +gui.minInject=Min. Inject Rate +gui.ignition=Ignition Temp +gui.maxPlasma=Max. Plasma Temp +gui.maxCasing=Max. Casing Temp +gui.passiveGeneration=Passive Generation +gui.steamProduction=Steam Production + +//*****// +//TOOLS// +//*****// + +//Vanilla Paxels +item.WoodPaxel.name=Wood Paxel +item.StonePaxel.name=Stone Paxel +item.IronPaxel.name=Iron Paxel +item.DiamondPaxel.name=Diamond Paxel +item.GoldPaxel.name=Gold Paxel + +//Obsidian +item.ObsidianHelmet.name=Obsidian Helmet +item.ObsidianChestplate.name=Obsidian Chestplate +item.ObsidianLeggings.name=Obsidian Leggings +item.ObsidianBoots.name=Obsidian Boots +item.ObsidianPaxel.name=Obsidian Paxel +item.ObsidianPickaxe.name=Obsidian Pickaxe +item.ObsidianAxe.name=Obsidian Axe +item.ObsidianShovel.name=Obsidian Shovel +item.ObsidianHoe.name=Obsidian Hoe +item.ObsidianSword.name=Obsidian Sword + +//Lapis Lazuli +item.LazuliHelmet.name=Lapis Lazuli Helmet +item.LazuliChestplate.name=Lapis Lazuli Chestplate +item.LazuliLeggings.name=Lapis Lazuli Leggings +item.LazuliBoots.name=Lapis Lazuli Boots +item.LazuliPaxel.name=Lapis Lazuli Paxel +item.LazuliPickaxe.name=Lapis Lazuli Pickaxe +item.LazuliAxe.name=Lapis Lazuli Axe +item.LazuliShovel.name=Lapis Lazuli Shovel +item.LazuliHoe.name=Lapis Lazuli Hoe +item.LazuliSword.name=Lapis Lazuli Sword + +//Osmium +item.OsmiumHelmet.name=Osmium Helmet +item.OsmiumChestplate.name=Osmium Chestplate +item.OsmiumLeggings.name=Osmium Leggings +item.OsmiumBoots.name=Osmium Boots +item.OsmiumPaxel.name=Osmium Paxel +item.OsmiumPickaxe.name=Osmium Pickaxe +item.OsmiumAxe.name=Osmium Axe +item.OsmiumShovel.name=Osmium Shovel +item.OsmiumHoe.name=Osmium Hoe +item.OsmiumSword.name=Osmium Sword + +//Bronze +item.BronzeHelmet.name=Bronze Helmet +item.BronzeChestplate.name=Bronze Chestplate +item.BronzeLeggings.name=Bronze Leggings +item.BronzeBoots.name=Bronze Boots +item.BronzePaxel.name=Bronze Paxel +item.BronzePickaxe.name=Bronze Pickaxe +item.BronzeAxe.name=Bronze Axe +item.BronzeShovel.name=Bronze Shovel +item.BronzeHoe.name=Bronze Hoe +item.BronzeSword.name=Bronze Sword + +//Glow +item.GlowstoneHelmet.name=Glowstone Helmet +item.GlowstoneChestplate.name=Glowstone Chestplate +item.GlowstoneLeggings.name=Glowstone Leggings +item.GlowstoneBoots.name=Glowstone Boots +item.GlowstonePaxel.name=Glowstone Paxel +item.GlowstonePickaxe.name=Glowstone Pickaxe +item.GlowstoneAxe.name=Glowstone Axe +item.GlowstoneShovel.name=Glowstone Shovel +item.GlowstoneHoe.name=Glowstone Hoe +item.GlowstoneSword.name=Glowstone Sword + +//Steel +item.SteelHelmet.name=Steel Helmet +item.SteelChestplate.name=Steel Chestplate +item.SteelLeggings.name=Steel Leggings +item.SteelBoots.name=Steel Boots +item.SteelPaxel.name=Steel Paxel +item.SteelPickaxe.name=Steel Pickaxe +item.SteelAxe.name=Steel Axe +item.SteelShovel.name=Steel Shovel +item.SteelHoe.name=Steel Hoe +item.SteelSword.name=Steel Sword + +//Config Gui +mekanism.configgui.ctgy.tools.general=General +mekanism.configgui.ctgy.tools.armor=Armor Balance +mekanism.configgui.ctgy.tools.tools=Tools Balance + +//Config Tooltips +mekanism.configgui.ctgy.tools.general.tooltip=Settings regarding MekanismTools' general configuration +mekanism.configgui.ctgy.tools.armor.tooltip=Settings regarding the protection values and balance of MekanismTools armor sets +mekanism.configgui.ctgy.tools.tools.tooltip=Settings regarding the efficiency values and balance of MekanismTools tool sets \ No newline at end of file From 546dd1e9d5cb9428132e16b2e7883856dad357f8 Mon Sep 17 00:00:00 2001 From: Jakub Rohla Date: Mon, 27 Jun 2016 13:54:28 +0200 Subject: [PATCH 15/75] 508/1085 --- .../resources/assets/mekanism/lang/cs_CZ.lang | 638 +++++++++--------- 1 file changed, 319 insertions(+), 319 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/cs_CZ.lang b/src/main/resources/assets/mekanism/lang/cs_CZ.lang index 3c6e9d19c..b140fa68d 100644 --- a/src/main/resources/assets/mekanism/lang/cs_CZ.lang +++ b/src/main/resources/assets/mekanism/lang/cs_CZ.lang @@ -48,7 +48,7 @@ item.Substrate.name=Substrát item.Flamethrower.name=Plamenomet item.GaugeDropper.name=Kapátko item.BioFuel.name=Bio Palivo -item.CraftingFormula.name=Výrobní Recept +item.CraftingFormula.name=Výrobní Formule //Control Circuits item.BasicControlCircuit.name=Základní Ovládací Obvod @@ -112,400 +112,400 @@ tile.BasicBlock2.InductionProviderElite.name=Elitní Poskytovatel Indukce tile.BasicBlock2.InductionProviderUltimate.name=Ultimátní Poskytovatel Indukce tile.BasicBlock2.SuperheatingElement.name=Superohřívací Element tile.BasicBlock2.PressureDisperser.name=Rozprašovač Tlaku -tile.BasicBlock2.BoilerCasing.name=Boiler Casing -tile.BasicBlock2.BoilerValve.name=Boiler Valve -tile.BasicBlock2.SecurityDesk.name=Security Desk +tile.BasicBlock2.BoilerCasing.name=Plášť Bojleru +tile.BasicBlock2.BoilerValve.name=Ventil Bojleru +tile.BasicBlock2.SecurityDesk.name=Bezpečnostní Pult //Machine Block -tile.MachineBlock.EnrichmentChamber.name=Enrichment Chamber -tile.MachineBlock.OsmiumCompressor.name=Osmium Compressor -tile.MachineBlock.Combiner.name=Combiner -tile.MachineBlock.Crusher.name=Crusher -tile.MachineBlock.Factory.name=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.PersonalChest.name=Personal Chest -tile.MachineBlock.Chargepad.name=Chargepad -tile.MachineBlock.LogisticalSorter.name=Logistical Sorter -tile.MachineBlock.DigitalMiner.name=Digital Miner +tile.MachineBlock.EnrichmentChamber.name=Obohacovací Komora +tile.MachineBlock.OsmiumCompressor.name=Osmiový Kompresor +tile.MachineBlock.Combiner.name=Kombinér +tile.MachineBlock.Crusher.name=Drtička +tile.MachineBlock.Factory.name=Továrna +tile.MachineBlock.MetallurgicInfuser.name=Infúzer Kovů +tile.MachineBlock.PurificationChamber.name=Purifikační Komora +tile.MachineBlock.EnergizedSmelter.name=Elektrifikovaná Výpalovna +tile.MachineBlock.Teleporter.name=Teleportér +tile.MachineBlock.ElectricPump.name=Elektrická Pumpa +tile.MachineBlock.PersonalChest.name=Osobní Truhla +tile.MachineBlock.Chargepad.name=Nabíječka +tile.MachineBlock.LogisticalSorter.name=Dopravní Třídič +tile.MachineBlock.DigitalMiner.name=Digitální Těžička //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.FluidicPlenisher.name=Fluidic Plenisher +tile.MachineBlock2.RotaryCondensentrator.name=Rotační Kondenzátor +tile.MachineBlock2.ChemicalOxidizer.name=Chemický Oxidovač +tile.MachineBlock2.ChemicalInfuser.name=Chemický Infúzer +tile.MachineBlock2.ChemicalCombiner.name=Chemický Kombinér +tile.MachineBlock2.ChemicalInjectionChamber.name=Chemická Vstřikovací Komora +tile.MachineBlock2.ElectrolyticSeparator.name=Elektrolytická Oddělovačka +tile.MachineBlock2.PrecisionSawmill.name=Precizní Pila +tile.MachineBlock2.ChemicalDissolutionChamber.name=Chemicky Rozkládací Komora +tile.MachineBlock2.ChemicalWasher.name=Chemická Myčka +tile.MachineBlock2.ChemicalCrystallizer.name=Chemický Krystalizér +tile.MachineBlock2.SeismicVibrator.name=Seismický Vibrátor +tile.MachineBlock2.PressurizedReactionChamber.name=Tlaková Reakční Komora +tile.MachineBlock2.PressurizedReactionChamber.short.name=TRK +tile.MachineBlock2.FluidicPlenisher.name=Obohacovač Kapalin tile.MachineBlock2.Laser.name=Laser -tile.MachineBlock2.LaserAmplifier.name=Laser Amplifier -tile.MachineBlock2.LaserTractorBeam.name=Laser Tractor Beam +tile.MachineBlock2.LaserAmplifier.name=Zesilovač Laseru +tile.MachineBlock2.LaserTractorBeam.name=Laserový Tažný Paprsek //Machine Block 3 (third ID iteration) -tile.MachineBlock3.QuantumEntangloporter.name=Quantum Entangloporter -tile.MachineBlock3.SolarNeutronActivator.name=Solar Neutron Activator -tile.MachineBlock3.Oredictionificator.name=Oredictionificator -tile.MachineBlock3.ResistiveHeater.name=Resistive Heater -tile.MachineBlock3.FormulaicAssemblicator.name=Formulaic Assemblicator -tile.MachineBlock3.FuelwoodHeater.name=Fuelwood Heater +tile.MachineBlock3.QuantumEntangloporter.name=Kvantový Vztahoportač +tile.MachineBlock3.SolarNeutronActivator.name=Solární Aktivátor Neutronů +tile.MachineBlock3.Oredictionificator.name=Rudo-Slovníkovač +tile.MachineBlock3.ResistiveHeater.name=Odporový Ohřívač +tile.MachineBlock3.FormulaicAssemblicator.name=Skladač Formulí +tile.MachineBlock3.FuelwoodHeater.name=Ohřívač na Palivové Dřevo //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=Plastový Blok +tile.SlickPlasticBlock.name=Uhlazený Plastový Blok +tile.GlowPlasticBlock.name=Svítivý Plastový Blok +tile.ReinforcedPlasticBlock.name=Tvrzený Plastový Blok +tile.RoadPlasticBlock.name=Plastová Cesta -tile.PlasticFence.name=Plastic Barrier +tile.PlasticFence.name=Plastová Bariéra //Infuse types -infuse.carbon=Carbon -infuse.tin=Tin -infuse.diamond=Diamond -infuse.redstone=Redstone -infuse.fungi=Fungi -infuse.obsidian=Obsidian -infuse.bio=Biomass +infuse.carbon=Uhlík +infuse.tin=Cín +infuse.diamond=Diamant +infuse.redstone=Rudit +infuse.fungi=Houba +infuse.obsidian=Obsidián +infuse.bio=Biomasa //Ore Block -tile.OreBlock.OsmiumOre.name=Osmium Ore -tile.OreBlock.CopperOre.name=Copper Ore -tile.OreBlock.TinOre.name=Tin Ore +tile.OreBlock.OsmiumOre.name=Ruda Osmia +tile.OreBlock.CopperOre.name=Ruda Mědi +tile.OreBlock.TinOre.name=Ruda Cínu //Transmitters -item.MultipartTransmitter.BasicPressurizedTube.name=Basic Pressurized Tube -item.MultipartTransmitter.AdvancedPressurizedTube.name=Advanced Pressurized Tube -item.MultipartTransmitter.ElitePressurizedTube.name=Elite Pressurized Tube -item.MultipartTransmitter.UltimatePressurizedTube.name=Ultimate Pressurized Tube -item.MultipartTransmitter.BasicUniversalCable.name=Basic Universal Cable -item.MultipartTransmitter.AdvancedUniversalCable.name=Advanced 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=Advanced Mechanical Pipe -item.MultipartTransmitter.EliteMechanicalPipe.name=Elite Mechanical Pipe -item.MultipartTransmitter.UltimateMechanicalPipe.name=Ultimate Mechanical Pipe -item.MultipartTransmitter.BasicLogisticalTransporter.name=Basic Logistical Transporter -item.MultipartTransmitter.AdvancedLogisticalTransporter.name=Advanced Logistical Transporter -item.MultipartTransmitter.EliteLogisticalTransporter.name=Elite Logistical Transporter -item.MultipartTransmitter.UltimateLogisticalTransporter.name=Ultimate Logistical Transporter -item.MultipartTransmitter.RestrictiveTransporter.name=Restrictive Transporter -item.MultipartTransmitter.DiversionTransporter.name=Diversion Transporter -item.MultipartTransmitter.BasicThermodynamicConductor.name=Basic Thermodynamic Conductor -item.MultipartTransmitter.AdvancedThermodynamicConductor.name=Advanced Thermodynamic Conductor -item.MultipartTransmitter.EliteThermodynamicConductor.name=Elite Thermodynamic Conductor -item.MultipartTransmitter.UltimateThermodynamicConductor.name=Ultimate Thermodynamic Conductor +item.MultipartTransmitter.BasicPressurizedTube.name=Základní Trubka pod Tlakem +item.MultipartTransmitter.AdvancedPressurizedTube.name=Pokročilá Trubka pod Tlakem +item.MultipartTransmitter.ElitePressurizedTube.name=Elitní Trubka pod Tlakem +item.MultipartTransmitter.UltimatePressurizedTube.name=Ultimátní Trubka pod Tlakem +item.MultipartTransmitter.BasicUniversalCable.name=Základní Univerzální Kabel +item.MultipartTransmitter.AdvancedUniversalCable.name=Pokročilý Univerzální Kabel +item.MultipartTransmitter.EliteUniversalCable.name=Elitní Univerzální Kabel +item.MultipartTransmitter.UltimateUniversalCable.name=Ultimátní Univerzální Kabel +item.MultipartTransmitter.BasicMechanicalPipe.name=Základní Mechanická Trubka +item.MultipartTransmitter.AdvancedMechanicalPipe.name=Pokročilá Mechanická Trubka +item.MultipartTransmitter.EliteMechanicalPipe.name=Elitní Mechanická Trubka +item.MultipartTransmitter.UltimateMechanicalPipe.name=Ultimátní Mechanická Trubka +item.MultipartTransmitter.BasicLogisticalTransporter.name=Základní Přepravní Transportér +item.MultipartTransmitter.AdvancedLogisticalTransporter.name=Pokročilý Přepravní Transportér +item.MultipartTransmitter.EliteLogisticalTransporter.name=Elitní Přepravní Transportér +item.MultipartTransmitter.UltimateLogisticalTransporter.name=Ultimátní Přepravní Transportér +item.MultipartTransmitter.RestrictiveTransporter.name=Omezovací Transportér +item.MultipartTransmitter.DiversionTransporter.name=Diverzní Transportér +item.MultipartTransmitter.BasicThermodynamicConductor.name=Základní Termodynamický Vodič +item.MultipartTransmitter.AdvancedThermodynamicConductor.name=Pokročilý Termodynamický Vodič +item.MultipartTransmitter.EliteThermodynamicConductor.name=Elitní Termodynamický Vodič +item.MultipartTransmitter.UltimateThermodynamicConductor.name=Ultimátní Termodynamický Vodič //Glow Panel -item.GlowPanel.name=Glow Panel +item.GlowPanel.name=Svítící Panel //Energy Cubes -tile.EnergyCubeBasic.name=Basic Energy Cube -tile.EnergyCubeAdvanced.name=Advanced Energy Cube -tile.EnergyCubeElite.name=Elite Energy Cube -tile.EnergyCubeUltimate.name=Ultimate Energy Cube -tile.EnergyCubeCreative.name=Creative Energy Cube +tile.EnergyCubeBasic.name=Základní Energetická Kostka +tile.EnergyCubeAdvanced.name=Pokročilá Energetická Kostka +tile.EnergyCubeElite.name=Elitní Energetická Kostka +tile.EnergyCubeUltimate.name=Ultimátní Energetická Kostka +tile.EnergyCubeCreative.name=Kreativní Energetická Kostka //Factory Installers -item.basicFactoryInstaller.name=Basic Factory Installer -item.advancedFactoryInstaller.name=Advanced Factory Installer -item.eliteFactoryInstaller.name=Elite Factory Installer +item.basicFactoryInstaller.name=Základní Instalátor Továrny +item.advancedFactoryInstaller.name=Pokročilý Instalátor Továrny +item.eliteFactoryInstaller.name=Elitní Instalátor Továrny //Dust -item.ironDust.name=Iron Dust -item.goldDust.name=Gold Dust -item.osmiumDust.name=Osmium Dust -item.obsidianDust.name=Obsidian Dust -item.refinedobsidianDust.name=Refined Obsidian Dust -item.diamondDust.name=Diamond Dust -item.steelDust.name=Steel 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.lithiumDust.name=Lithium Dust +item.ironDust.name=Železný Prášek +item.goldDust.name=Zlatý Prášek +item.osmiumDust.name=Osmiový Prášek +item.obsidianDust.name=Obsidiánový Prášek +item.refinedobsidianDust.name=Rafinovaný Obsidiánový Prášek +item.diamondDust.name=Diamantový Prášek +item.steelDust.name=Ocelový Prášek +item.copperDust.name=Měděný Prášek +item.tinDust.name=Cínový Prášek +item.silverDust.name=Stříbrný Prášek +item.leadDust.name=Olověný Prášek +item.sulfurDust.name=Sírový Prášek +item.lithiumDust.name=Lithný Prášek //Clumps -item.ironClump.name=Iron Clump -item.goldClump.name=Gold Clump -item.osmiumClump.name=Osmium Clump -item.copperClump.name=Copper Clump -item.tinClump.name=Tin Clump -item.silverClump.name=Silver Clump -item.leadClump.name=Lead Clump +item.ironClump.name=Železný Chomáč +item.goldClump.name=Zlatý Chomáč +item.osmiumClump.name=Osmiový Chomáč +item.copperClump.name=Měděný Chomáč +item.tinClump.name=Cínový Chomáč +item.silverClump.name=Stříbrný Chomáč +item.leadClump.name=Olověný Chomáč //Shards -item.ironShard.name=Iron Shard -item.goldShard.name=Gold Shard -item.osmiumShard.name=Osmium Shard -item.copperShard.name=Copper Shard -item.tinShard.name=Tin Shard -item.silverShard.name=Silver Shard -item.leadShard.name=Lead Shard +item.ironShard.name=Železný Střep +item.goldShard.name=Zlatý Střep +item.osmiumShard.name=Osmiový Střep +item.copperShard.name=Měděný Střep +item.tinShard.name=Cínový Střep +item.silverShard.name=Stříbrný Střep +item.leadShard.name=Olověný Střep //Crystals -item.ironCrystal.name=Iron Crystal -item.goldCrystal.name=Gold Crystal -item.osmiumCrystal.name=Osmium Crystal -item.copperCrystal.name=Copper Crystal -item.tinCrystal.name=Tin Crystal -item.silverCrystal.name=Silver Crystal -item.leadCrystal.name=Lead Crystal +item.ironCrystal.name=Železný Krystal +item.goldCrystal.name=Zlatý Krystal +item.osmiumCrystal.name=Osmiový Krystal +item.copperCrystal.name=Měděný Krystal +item.tinCrystal.name=Cínový Krystal +item.silverCrystal.name=Stříbrný Krystal +item.leadCrystal.name=Olověný Krystal //Dirty Dust -item.dirtyIronDust.name=Dirty Iron Dust -item.dirtyGoldDust.name=Dirty Gold Dust -item.dirtyOsmiumDust.name=Dirty Osmium Dust -item.dirtyCopperDust.name=Dirty Copper Dust -item.dirtyTinDust.name=Dirty Tin Dust -item.dirtySilverDust.name=Dirty Silver Dust -item.dirtyLeadDust.name=Dirty Lead Dust +item.dirtyIronDust.name=Špinavý Železný Prášek +item.dirtyGoldDust.name=Špinavý Zlatý Prášek +item.dirtyOsmiumDust.name=Špinavý Osmiový Prášek +item.dirtyCopperDust.name=Špinavý Měděný Prášek +item.dirtyTinDust.name=Špinavý Cínový Prášek +item.dirtySilverDust.name=Špinavý Stříbrný Prášek +item.dirtyLeadDust.name=Špinavý Olověný Prášek //Ingots -item.obsidianIngot.name=Refined Obsidian Ingot -item.osmiumIngot.name=Osmium Ingot -item.bronzeIngot.name=Bronze Ingot -item.glowstoneIngot.name=Glowstone Ingot -item.steelIngot.name=Steel Ingot -item.copperIngot.name=Copper Ingot -item.tinIngot.name=Tin Ingot +item.obsidianIngot.name=Rafinovaný Obsidiánový Ingot +item.osmiumIngot.name=Osmiový Ingot +item.bronzeIngot.name=Bronzový Ingot +item.glowstoneIngot.name=Světlitový Ingot +item.steelIngot.name=Ocelový Ingot +item.copperIngot.name=Měďený Ingot +item.tinIngot.name=Cínový 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 Osmium -gas.liquidStone=Liquid Stone -gas.ethene=Ethylene -gas.sodium=Sodium -gas.brine=Gaseous Brine -gas.deuterium=Deuterium +gas.hydrogen=Vodík +gas.oxygen=Kyslík +gas.water=Vodní Pára +gas.chlorine=Chlor +gas.sulfurDioxideGas=Oxid Siřičitý +gas.sulfurTrioxideGas=Oxid Sírový +gas.sulfuricAcid=Kyselina Sírová +gas.hydrogenChloride=Chlorid Vodnatý +gas.liquidOsmium=Tekuté Osmium +gas.liquidStone=Tekutý Kámen +gas.ethene=Ethylen +gas.sodium=Sodík +gas.brine=Plynná Solanka +gas.deuterium=Deutérium gas.tritium=Tritium gas.lithium=Lithium -gas.fusionFuelDT=D-T Fuel +gas.fusionFuelDT=D-T Palivo -gas.iron=Iron Slurry -gas.gold=Gold Slurry -gas.osmium=Osmium Slurry -gas.copper=Copper Slurry -gas.tin=Tin Slurry -gas.silver=Silver Slurry -gas.obsidian=Obsidian Slurry -gas.lead=Lead Slurry +gas.iron=Železná Kaše +gas.gold=Zlatá Kaše +gas.osmium=Osmiová Kaše +gas.copper=Měděná Kaše +gas.tin=Cínová Kaše +gas.silver=Stříbrná Kaše +gas.obsidian=Obsidiánová Kaše +gas.lead=Olovnatá Kaše -gas.cleanIron=Clean Iron Slurry -gas.cleanGold=Clean Gold Slurry -gas.cleanOsmium=Clean Osmium Slurry -gas.cleanCopper=Clean Copper Slurry -gas.cleanTin=Clean Tin Slurry -gas.cleanSilver=Clean Silver Slurry -gas.cleanObsidian=Clean Obsidian Slurry -gas.cleanLead=Clean Lead Slurry +gas.cleanIron=Čistá Železná Kaše +gas.cleanGold=Čistá Zlatá Kaše +gas.cleanOsmium=Čistá Osmiová Kaše +gas.cleanCopper=Čistá Měděná Kaše +gas.cleanTin=Čistá Cínová Kaše +gas.cleanSilver=Čistá Stříbrná Kaše +gas.cleanObsidian=Čistá Obsidiánová Kaše +gas.cleanLead=Čistá Olovnatá Kaše //BC Fuel Gases -gas.fuel=Vaporized Fuel -gas.oil=Vaporized Oil +gas.fuel=Vypařené Palivo +gas.oil=Vypařený Olej //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.heavyWater=Heavy Water -fluid.lithium=Liquid Lithium -fluid.deuterium=Liquid Deuterium -fluid.tritium=Liquid Tritium -fluid.fusionFuelDT=Liquid D-T Fuel -fluid.steam=Steam +fluid.hydrogen=Tekutý Vodík +fluid.oxygen=Tekutý Kyslík +fluid.chlorine=Tekutý Chlor +fluid.sulfurDioxideGas=Tekutý Oxid Siřičitý +fluid.sulfurTrioxideGas=Tekutý Oxid Sirný +fluid.sulfuricAcid=Tekutá Kyselina Sírová +fluid.hydrogenChloride=Tekutý Chlorid Vodnatý +fluid.brine=Solanka +fluid.ethene=Tekutý Ethylen +fluid.sodium=Tekutý Sodík +fluid.heavyWater=Těžká Voda +fluid.lithium=Tekuté Lithium +fluid.deuterium=Tekuté Deutérium +fluid.tritium=Tekuté Tritium +fluid.fusionFuelDT=Tekuté D-T Palivo +fluid.steam=Pára //OreGas names -oregas.iron=Iron Ore -oregas.gold=Gold Ore -oregas.osmium=Osmium Ore -oregas.copper=Copper Ore -oregas.tin=Tin Ore -oregas.silver=Silver Ore -oregas.obsidian=Obsidian Ore -oregas.lead=Lead Ore +oregas.iron=Ruda Železa +oregas.gold=Ruda Zlata +oregas.osmium=Ruda Osmia +oregas.copper=Ruda Měďi +oregas.tin=Ruda Cínu +oregas.silver=Ruda Stříbra +oregas.obsidian=Ruda Obsidiánu +oregas.lead=Ruda Olova //Tier names -tier.Basic=Basic -tier.Advanced=Advanced -tier.Elite=Elite -tier.Ultimate=Ultimate -tier.Creative=Creative +tier.Basic=Základní +tier.Advanced=Pokročilý +tier.Elite=Elitní +tier.Ultimate=Ultimátní +tier.Creative=Kreativní //Transmission types -transmission.Energy=Energy -transmission.Fluids=Fluids -transmission.Gases=Gases -transmission.Items=Items -transmission.Heat=Heat +transmission.Energy=Energie +transmission.Fluids=Tekutiny +transmission.Gases=Plyny +transmission.Items=Předměty +transmission.Heat=Teplo //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 +update.consider=Zvaž update na verzi +update.newFeatures=Nové funkce +update.visit=Navštiv +update.toDownload=pro stažení +update.devBuild=Je používáno vývojářské sestavení +update.outdated=Je používána stará verze jednoho nebo více modulů //Upgrades -upgrade.energy=Energy -upgrade.energy.desc=Increases energy efficiency and capacity of machinery. -upgrade.speed=Speed -upgrade.speed.desc=Increases speed of machinery. -upgrade.filter=Filter -upgrade.filter.desc=A filter that separates heavy water from regular water. -upgrade.gas=Gas -upgrade.gas.desc=Increases the efficiency of gas-using machinery. -upgrade.muffling=Muffling -upgrade.muffling.desc=Reduces noise generated by machinery. +upgrade.energy=Energie +upgrade.energy.desc=Zvyšuje energetickou efektivitu a kapacitu stroje. +upgrade.speed=Rychlost +upgrade.speed.desc=Zvyšuje rychlost stroje. +upgrade.filter=Filtr +upgrade.filter.desc=Filtr, který odděluje těžkou vodu od běžné vody. +upgrade.gas=Plyn +upgrade.gas.desc=Zvyšuje efektivitu strojů využívajících plyn. +upgrade.muffling=Dušení +upgrade.muffling.desc=Snižuje hluk generovaný strojem. //Key description text -key.mode=Item Mode Switch -key.armorMode=Armor Mode Switch -key.voice=Voice +key.mode=Přepínání Módů Předmětů +key.armorMode=Přepínání Módů Brnění +key.voice=Hlas //Entities entity.Mekanism.Robit.name=Robit -entity.Mekanism.BabySkeleton.name=Baby Skeleton +entity.Mekanism.BabySkeleton.name=Dítě Kostlivce //Config Gui -mekanism.configgui.ctgy.general=Mekanism General Settings -mekanism.configgui.ctgy.machines=Machine Settings -mekanism.configgui.ctgy.tier=Tier Settings -mekanism.configgui.ctgy.usage=Usage Settings -mekanism.configgui.ctgy.client=Client Settings +mekanism.configgui.ctgy.general=Základní Nastavení Mekanismu +mekanism.configgui.ctgy.machines=Nastavení Strojů +mekanism.configgui.ctgy.tier=Nastavení Stupňů +mekanism.configgui.ctgy.usage=Nastavení Odběru +mekanism.configgui.ctgy.client=Nastavení Klienta //Config Tooltips -mekanism.configgui.ctgy.general.tooltip=General settings regarding Mekanism and all its modules -mekanism.configgui.ctgy.machines.tooltip=Settings regarding enabling and disabling of specific machinery -mekanism.configgui.ctgy.tier.tooltip=Settings regarding Mekanism tiers and their corresponding values -mekanism.configgui.ctgy.usage.tooltip=Settings regarding machinery and their energy usage -mekanism.configgui.ctgy.client.tooltip=Client-specific settings regarding Mekanism and all its modules +mekanism.configgui.ctgy.general.tooltip=Základní nastavení týkající se Mekanismu a všech jeho modulů +mekanism.configgui.ctgy.machines.tooltip=Nastavení týkající se zápínání a vypínání specifických strojů +mekanism.configgui.ctgy.tier.tooltip=Nastavení týkající se stupňů Mekanismu a jejich souvisejících hodnot +mekanism.configgui.ctgy.usage.tooltip=Nastavení týkající se strojů a jejich odběru energie +mekanism.configgui.ctgy.client.tooltip=Klientská nastavení týkající se Mekanismu a všech jeho modulů //Gui text -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.condensentrating=Kondenzace +gui.decondensentrating=Dekondenzace +gui.power=Energie +gui.confirm=Potvrdit +gui.open=Otevřít +gui.allOK=Vše je OK +gui.none=Nic +gui.new=Nový +gui.edit=Upravit +gui.save=Uložit +gui.output=Výstup +gui.delete=Smazat gui.status=Status -gui.autoEject=Auto-eject +gui.autoEject=Auto-vyhazování gui.itemstack=ItemStack -gui.oredict=OreDict -gui.material=Material -gui.out=Out -gui.noFluid=No fluid -gui.empty=Empty -gui.volume=Volume +gui.oredict=Rudo-Slovník +gui.material=Materiál +gui.out=Ven +gui.noFluid=Žádná kapalina +gui.empty=Prázdný +gui.volume=Objem gui.start=Start gui.stop=Stop -gui.config=Config +gui.config=Konfig gui.teleport=Teleport -gui.eject=Eject -gui.input=Input -gui.strictInput=Strict Input -gui.slots=Slots -gui.state=State -gui.on=On -gui.off=Off -gui.filters=Filters -gui.filter=Filter -gui.idle=Idle +gui.eject=Vyhodit +gui.input=Vstup +gui.strictInput=Striktní Vstup +gui.slots=Sloty +gui.state=Stav +gui.on=Zapnuto +gui.off=Vypnuto +gui.filters=Filtry +gui.filter=Filtr +gui.idle=Nečinný 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.newFilter=Nový Filtr +gui.energy=Energie +gui.gas=Plyn +gui.dumping=Vyhazování +gui.dumping_excess=Vyhazování Přebytku +gui.modID=ID Módu +gui.key=Klíč gui.id=ID -gui.finished=Finished -gui.well=All is well! -gui.upgrade=Upgrade -gui.infinite=Infinite +gui.finished=Dokončeno +gui.well=Vše je OK! +gui.upgrade=Vylepšení +gui.infinite=Nekonečno gui.min=Min gui.max=Max -gui.delay=Delay -gui.noDelay=No Delay -gui.fuel=Fuel -gui.heat=Heat -gui.formed=Formed -gui.incomplete=Incomplete -gui.inductionMatrix=Induction Matrix -gui.matrixStats=Matrix Statistics -gui.turbineStats=Turbine Statistics -gui.boilerStats=Boiler Statistics -gui.main=Main -gui.outputting=Outputting -gui.receiving=Receiving -gui.dimensions=Dimensions -gui.constituents=Constituents -gui.cells=cells -gui.providers=providers -gui.structure=Structure -gui.dynamicTank=Dynamic Tank -gui.industrialTurbine=Industrial Turbine -gui.thermoelectricBoiler=Thermoelectric Boiler -gui.visuals=Visuals -gui.noEject=Can't Eject -gui.undefined=Undefined -gui.owner=Owner -gui.public=Public -gui.private=Private -gui.add=Add -gui.set=Set -gui.freq=Freq -gui.security=Security +gui.delay=Prodleva +gui.noDelay=Bez Prodlevy +gui.fuel=Palivo +gui.heat=Teplo +gui.formed=Postaven +gui.incomplete=Nedokončen +gui.inductionMatrix=Indukční Matice +gui.matrixStats=Statistiky Matice +gui.turbineStats=Statistiky Turbíny +gui.boilerStats=Statistiky Bojleru +gui.main=Hlavní +gui.outputting=Výstup +gui.receiving=Příjem +gui.dimensions=Dimenze +gui.constituents=Složky +gui.cells=články +gui.providers=poskytovatelé +gui.structure=Struktura +gui.dynamicTank=Dynamická Nádrž +gui.industrialTurbine=Průmyslová Turbína +gui.thermoelectricBoiler=Termoelektrický Bojler +gui.visuals=Vizuály +gui.noEject=Nelze Vyhodit +gui.undefined=Nedefinovaný +gui.owner=Vlastník +gui.public=Veřejný +gui.private=Soukromý +gui.add=Přidat +gui.set=Nastavit +gui.freq=Frekv +gui.security=Bezpečnost gui.index=Index -gui.producing=Producing -gui.maxOutput=Max Output -gui.storing=Storing -gui.skyBlocked=Sky blocked -gui.using=Using -gui.needed=Needed -gui.noRecipe=No recipe -gui.conflict=Conflict -gui.height=Height -gui.mult=Mult +gui.producing=Vyrábí +gui.maxOutput=Max Výstup +gui.storing=Skladuje +gui.skyBlocked=Obloha zablokována +gui.using=Využívá +gui.needed=Potřebuje +gui.noRecipe=Žádný recept +gui.conflict=Konflikt +gui.height=Výška +gui.mult=Více gui.chunk=Chunk -gui.vibrating=Vibrating -gui.abundancy=Abundancy -gui.nextItem=Next Item -gui.lastItem=Last Item -gui.oreDictCompat=Compatible OreDict Key +gui.vibrating=Vibruje +gui.abundancy=Hojnost +gui.nextItem=Další Předmět +gui.lastItem=Poslední Předmět +gui.oreDictCompat=Kompatibilní Rudo-Slovníkový Klíč gui.toggleCooling=Toggle Cooling Measurements gui.coolingMeasurements=Active cooling gui.redstoneOutputMode=Redstone mode From 04e3fa195ca997b3d9e6a9dfb3572d28ded4cc30 Mon Sep 17 00:00:00 2001 From: Jakub Rohla Date: Mon, 27 Jun 2016 14:20:57 +0200 Subject: [PATCH 16/75] 602/1085 --- .../resources/assets/mekanism/lang/cs_CZ.lang | 162 +++++++++--------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/cs_CZ.lang b/src/main/resources/assets/mekanism/lang/cs_CZ.lang index b140fa68d..a7fa11762 100644 --- a/src/main/resources/assets/mekanism/lang/cs_CZ.lang +++ b/src/main/resources/assets/mekanism/lang/cs_CZ.lang @@ -506,99 +506,99 @@ gui.abundancy=Hojnost gui.nextItem=Další Předmět gui.lastItem=Poslední Předmět gui.oreDictCompat=Kompatibilní Rudo-Slovníkový Klíč -gui.toggleCooling=Toggle Cooling Measurements -gui.coolingMeasurements=Active cooling -gui.redstoneOutputMode=Redstone mode -gui.entityDetection=Entity Detection -gui.moveUp=Move Up -gui.moveDown=Move Down -gui.flowRate=Flow rate -gui.maxFlow=Max flow -gui.tankVolume=Tank Volume -gui.steamFlow=Steam Flow -gui.production=Production -gui.blades=Blades -gui.coils=Coils -gui.dispersers=Dispersers -gui.vents=Vents -gui.maxProduction=Max Production -gui.limiting=Limiting -gui.steamInput=Steam Input -gui.capacity=Capacity -gui.unit=Unit -gui.temp=Temp -gui.usage=Usage -gui.transferred=Transferred -gui.dissipated=Dissipated -gui.boilRate=Boil Rate -gui.maxBoil=Max Boil -gui.maxWater=Max Water -gui.maxSteam=Max Steam -gui.heatTransfer=Heat Transfer -gui.superheaters=Superheaters -gui.boilCapacity=Boil Capacity -gui.encodeFormula=Encode Formula -gui.autoModeToggle=Turn Auto-Mode -gui.craftSingle=Craft Single Item -gui.craftAvailable=Craft Available Items -gui.fillEmpty=Fill/Empty Grid -gui.noOwner=No Owner -gui.securityOverride=Security Override -gui.remove=Remove -gui.trustedPlayers=Trusted Players -gui.publicMode=Public Mode -gui.privateMode=Private Mode -gui.trustedMode=Trusted Mode -gui.securityOffline=Security Offline -gui.noAccessDesc=You don't have access. -gui.overridden=Overridden -gui.nowOwn=You now own this item. -gui.frequency=Frequency -gui.mode=Mode -gui.burnRate=Burn Rate +gui.toggleCooling=Sepnout Výpočty Chlazení +gui.coolingMeasurements=Aktivní chlazení +gui.redstoneOutputMode=Ruditový mód +gui.entityDetection=Detekce Entit +gui.moveUp=Pohnout Nahoru +gui.moveDown=Pohnout Dolů +gui.flowRate=Rychlost průtoku +gui.maxFlow=Max průtok +gui.tankVolume=Objem nádrže +gui.steamFlow=Průtok Páry +gui.production=Produkce +gui.blades=Lopatky +gui.coils=Cívky +gui.dispersers=Rozprašovač +gui.vents=Ventily +gui.maxProduction=Max Produkce +gui.limiting=Limitace +gui.steamInput=Vstup Páry +gui.capacity=Kapacita +gui.unit=Jednotka +gui.temp=Tepl +gui.usage=Využití +gui.transferred=Přeneseno +gui.dissipated=Rozptýleno +gui.boilRate=Rychlost Varu +gui.maxBoil=Max Var +gui.maxWater=Max Vody +gui.maxSteam=Max Páry +gui.heatTransfer=Přenesení Tepla +gui.superheaters=Superohřívače +gui.boilCapacity=Varná kapacita +gui.encodeFormula=Kódovací Formule +gui.autoModeToggle=Sepnout Auto-mód +gui.craftSingle=Vyrobit Jeden Předmět +gui.craftAvailable=Vyrobit Dostupné Předměty +gui.fillEmpty=Naplnit/Vyprázdnit Mřížku +gui.noOwner=Žádný Vlastník +gui.securityOverride=Přepis Bezpečnosti +gui.remove=Odebrat +gui.trustedPlayers=Důvěřovaní Hráči +gui.publicMode=Veřejný Mód +gui.privateMode=Privátní Mód +gui.trustedMode=Důvěřivý Mód +gui.securityOffline=Bezpečnost Offline +gui.noAccessDesc=Nemáš přístup. +gui.overridden=Přepsáno +gui.nowOwn=Nyní vlastníš tento předmět. +gui.frequency=Frekvence +gui.mode=Mód +gui.burnRate=Rychlost Spalování -gui.reactor.injectionRate=Injection Rate +gui.reactor.injectionRate=Rychlost Vstřikování -gui.upgrades=Upgrades -gui.upgrades.supported=Supported -gui.upgrades.noSelection=No selection -gui.upgrades.amount=Amount +gui.upgrades=Vylepšení +gui.upgrades.supported=Podporováno +gui.upgrades.noSelection=Nevybráno +gui.upgrades.amount=Množství gui.upgrades.max=Max -gui.upgrades.effect=Effect +gui.upgrades.effect=Efekt -gui.chemicalInfuser.short=C. Infuser -gui.chemicalDissolutionChamber.short=C. Dissolution Chamber -gui.thermalEvaporationController.short=Thermal E. Controller +gui.chemicalInfuser.short=Ch. Infúzer +gui.chemicalDissolutionChamber.short=Ch. Rozkládací Komora +gui.thermalEvaporationController.short=Ovl. Solárního Výp. -gui.dictionary.noKey=No key. +gui.dictionary.noKey=Žádný klíč. -gui.configuration=Configuration -gui.config=Config -gui.configuration.side=Side Config -gui.configuration.transporter=Transporter Config -gui.configuration.strictInput=Strict Input +gui.configuration=Konfigurace +gui.config=Konfig +gui.configuration.side=Konfigurace Stran +gui.configuration.transporter=Konfigurace Transportérů +gui.configuration.strictInput=Striktní Vstup -gui.rotaryCondensentrator.toggleOperation=Toggle operation +gui.rotaryCondensentrator.toggleOperation=Sepnout operaci -gui.factory.secondaryEnergy=Secondary energy -gui.factory.autoSort=Auto-sort +gui.factory.secondaryEnergy=Sekundární energie +gui.factory.autoSort=Auto-třídění //Recipe types -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.Infusing=Infusing +gui.factory.Smelting=Vypalování +gui.factory.Enriching=Obohacování +gui.factory.Crushing=Drcení +gui.factory.Compressing=Komprese +gui.factory.Combining=Kombinování +gui.factory.Purifying=Purifikace +gui.factory.Injecting=Vstřikování +gui.factory.Infusing=Infúze -gui.seismicReader.short=S. Reader -gui.seismicReader.solids=Solids -gui.seismicReader.fluids=Fluids -gui.seismicReader.reading=Reading +gui.seismicReader.short=S. Čtečka +gui.seismicReader.solids=Pevné +gui.seismicReader.fluids=Kapaliny +gui.seismicReader.reading=Čtení -gui.filterSelect.title=Create New Filter +gui.filterSelect.title=Vytvořit Nový Filtr gui.oredictFilter=OreDict Filter gui.oredictFilter.noKey=No key From 15804b0b9698019b7719b32d319b0a79ab1c2cc9 Mon Sep 17 00:00:00 2001 From: Jakub Rohla Date: Mon, 27 Jun 2016 14:29:44 +0200 Subject: [PATCH 17/75] 636/1085 --- .../resources/assets/mekanism/lang/cs_CZ.lang | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/cs_CZ.lang b/src/main/resources/assets/mekanism/lang/cs_CZ.lang index a7fa11762..62e9fc5e3 100644 --- a/src/main/resources/assets/mekanism/lang/cs_CZ.lang +++ b/src/main/resources/assets/mekanism/lang/cs_CZ.lang @@ -600,39 +600,39 @@ gui.seismicReader.reading=Čtení gui.filterSelect.title=Vytvořit Nový Filtr -gui.oredictFilter=OreDict Filter -gui.oredictFilter.noKey=No key -gui.oredictFilter.sameKey=Same key +gui.oredictFilter=Rudo-Slovníkový Filtr +gui.oredictFilter.noKey=Žádný klíč +gui.oredictFilter.sameKey=Stejný klíč -gui.modIDFilter=Mod ID Filter -gui.modIDFilter.noID=No ID -gui.modIDFilter.sameID=Same ID +gui.modIDFilter=Filtr Mód ID +gui.modIDFilter.noID=Žádné ID +gui.modIDFilter.sameID=Stejné ID -gui.oredictionificatorFilter=Oredictionificator Filter +gui.oredictionificatorFilter=Rudo-Slovníkovač Filtr -gui.itemFilter=Item Filter -gui.itemFilter.noItem=No item -gui.itemFilter.details=ItemStack Details +gui.itemFilter=Filtr Předmětů +gui.itemFilter.noItem=Žádný předmět +gui.itemFilter.details=ItemStack Detaily gui.itemFilter.min=Min gui.itemFilter.max=Max -gui.materialFilter=Material Filter -gui.materialFilter.details=Using material of +gui.materialFilter=Filtr Materiálu +gui.materialFilter.details=Využíván materiál -gui.portableTeleporter=Portable Teleporter +gui.portableTeleporter=Přenosný Teleportér gui.robit=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.robit.smelting=Robit Výpalovna +gui.robit.inventory=Robit Onventář +gui.robit.crafting=Robit Výroba +gui.robit.greeting=Ahoj, jsem +gui.robit.toggleFollow=Sepnout 'následovat' mód +gui.robit.rename=Přejmenovat tohoto Robita +gui.robit.teleport=Teleportovat zpět domů +gui.robit.togglePickup=Sepnout 'sbírat dropy' mód +gui.robit.following=Následuje +gui.robit.dropPickup=Sbírá dropy +gui.robit.owner=Vlastník gui.password.setPassword=Set password gui.password.enterPassword=Enter password From e320616c3740f2581a6855d2ddde65f411cadc8c Mon Sep 17 00:00:00 2001 From: Jakub Rohla Date: Mon, 27 Jun 2016 17:42:02 +0200 Subject: [PATCH 18/75] 797/1085 --- .../resources/assets/mekanism/lang/cs_CZ.lang | 276 +++++++++--------- 1 file changed, 138 insertions(+), 138 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/cs_CZ.lang b/src/main/resources/assets/mekanism/lang/cs_CZ.lang index 62e9fc5e3..ae8175702 100644 --- a/src/main/resources/assets/mekanism/lang/cs_CZ.lang +++ b/src/main/resources/assets/mekanism/lang/cs_CZ.lang @@ -634,166 +634,166 @@ gui.robit.following=Následuje gui.robit.dropPickup=Sbírá dropy gui.robit.owner=Vlastník -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.password.setPassword=Nastavit heslo +gui.password.enterPassword=Zadat heslo +gui.password.fieldsEmpty=Pole je(jsou) prázdné +gui.password.notMatching=Neshoduje se +gui.password.identical=Identické +gui.password.invalid=Neplatné +gui.password=Heslo -gui.logisticalSorter.default=Default +gui.logisticalSorter.default=Výchozí gui.logisticalSorter.auto=Auto -gui.logisticalSorter.roundRobin=Round-robin +gui.logisticalSorter.roundRobin=Zaoblená-červenka +//previous DEFINITELLY wrong, dunno what the original means +gui.teleporter.notReady=Nepřipraven +gui.teleporter.ready=Připraven +gui.teleporter.noFrame=Není rám +gui.teleporter.noLink=Není spojení +gui.teleporter.exceeds=Spojení > 2 +gui.teleporter.needsEnergy=Potřebuje energii +gui.teleporter.noAccess=Nemáš přístup k tomuto Teleportéru. +gui.teleporter.noFreq=Žádná frekvence -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.teleporter.noAccess=You don't have access to this Teleporter. -gui.teleporter.noFreq=No frequency +gui.entangloporter.noAccess=Nemáš přístup k tomuto Vztahoportači. -gui.entangloporter.noAccess=You don't have access to this Entangloporter. +gui.digitalMinerConfig=Konfig Digitální Těžičky -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 -gui.digitalMiner.requireReplace=Require replace -gui.digitalMiner.fuzzyMode=Fuzzy mode -gui.digitalMiner.missingBlock=Missing block +gui.digitalMiner.autoPull=Auto-výtah +gui.digitalMiner.replaceBlock=Nahrazovací blok +gui.digitalMiner.reset=Resetovat +gui.digitalMiner.silkTouch=Něžný dotek +gui.digitalMiner.pull=Výtah +gui.digitalMiner.silk=Něžně +gui.digitalMiner.toMine=K těžbě +gui.digitalMiner.running=Běží +gui.digitalMiner.inverse=Opečný mód +gui.digitalMiner.requireReplace=Vyžaduje nahrazení +gui.digitalMiner.fuzzyMode=Nejasný mód +gui.digitalMiner.missingBlock=Chybějící blok //Recipe names -recipe.mekanismShaped=Shaped -recipe.mekanismShapeless=Shapeless +recipe.mekanismShaped=Tvarovaný +recipe.mekanismShapeless=Beztvarý //Security types -security.public=Public -security.private=Private -security.trusted=Trusted +security.public=Veřejný +security.private=Privátní +security.trusted=Důvěřivý //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.toggleMode=%s behavior bumped to -tooltip.configurator.viewMode=Current %s behavior -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.configurator.inductionPortMode=Toggled Induction Port transfer mode to -tooltip.configurator.toggleColor=Color bumped to -tooltip.configurator.viewColor=Current color +tooltip.configurator.configurate=Konfigurovat +tooltip.configurator.empty=Prázdný +tooltip.configurator.rotate=Otočit +tooltip.configurator.wrench=Klíč +tooltip.configurator.pumpReset=Resetovat kalkulace Elektrické Pumpy +tooltip.configurator.toggleDiverter=Mód rozdělovače změněn na +tooltip.configurator.toggleMode=Chování %s změněno na +tooltip.configurator.viewMode=Aktuální chování %s +tooltip.configurator.noLink=Žádný spoj +tooltip.configurator.linkMsg=Svázat s +tooltip.configurator.dim=dimenze +tooltip.configurator.setLink=Nastavit spojení s blokem +tooltip.configurator.plenisherReset=Resetovat kalkulace Obohacovače Kapalin +tooltip.configurator.inductionPortMode=Mód vysílání Indukčního Portu nastaven na +tooltip.configurator.toggleColor=Barva nastavena na +tooltip.configurator.viewColor=Aktuální barva -tooltip.upgrade.speed=Speed -tooltip.upgrade.energy=Energy +tooltip.upgrade.speed=Rychlost +tooltip.upgrade.energy=Energie -tooltip.inventory=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.inventory=Inventář +tooltip.storedEnergy=Uskladněná energie +tooltip.auth=Autorizován +tooltip.locked=Uzamčeno +tooltip.recipeType=Typ receptu +tooltip.hold=Drž +tooltip.forDesc=pro popis +tooltip.forDetails=pro detaily +tooltip.fireMode=Ohnivý Mód +tooltip.capacity=Kapacita +tooltip.pumpRate=Rychlost Pumpy +tooltip.items=Předměty +tooltip.blocks=Bloky +tooltip.universal=univerzální +tooltip.fluids=Kapaliny +tooltip.gasses=Plyny +tooltip.capableTrans=Schopný přenášet +tooltip.restrictiveDesc=Využit pouze když není jiná cesta +tooltip.diversionDesc=Ovladatelný ruditem +tooltip.noGas=Neuložen žádný plyn +tooltip.stored=Uloženo +tooltip.channel=Kanál +tooltip.mode=Mód +tooltip.efficiency=Efektivita +tooltip.modeToggle=Mód nastaven na +tooltip.flowing=Tekoucí +tooltip.yes=ano +tooltip.no=ne +tooltip.name=Název +tooltip.blockData=Data bloku +tooltip.block=Blok tooltip.meta=Metadata -tooltip.tile=Tile -tooltip.keysFound=Key(s) found -tooltip.noKey=No key +tooltip.tile=Dlaždice +tooltip.keysFound=Klíč(e) nalezen(y) +tooltip.noKey=Žádný klíč tooltip.hp=HP -tooltip.configureState=Configure State -tooltip.outputRate=Output Rate -tooltip.insufficientFuel=Insufficient Fuel -tooltip.readyForReaction=Ready for Reaction -tooltip.speed=Speed -tooltip.and=and -tooltip.heat=Heat -tooltip.itemAmount=Item amount -tooltip.invalid=Invalid -tooltip.encoded=Encoded -tooltip.ingredients=Ingredients +tooltip.configureState=Konfigurovat Stav +tooltip.outputRate=Rychlost Výstupu +tooltip.insufficientFuel=Nedostatek Paliva +tooltip.readyForReaction=Připraven na Reakci +tooltip.speed=Rychlost +tooltip.and=a +tooltip.heat=Teplota +tooltip.itemAmount=Množství položek +tooltip.invalid=Neplatný +tooltip.encoded=Zakódovaný +tooltip.ingredients=Ingredience -tooltip.portableTank.bucketMode=Bucket Mode +tooltip.portableTank.bucketMode=Kyblíkový Mód +//totally legit and not funny sounding :D +tooltip.disassembler.normal=normální +tooltip.disassembler.slow=pomalý +tooltip.disassembler.fast=rychlý +tooltip.disassembler.vein=žilný +tooltip.disassembler.off=vyplý -tooltip.disassembler.normal=normal -tooltip.disassembler.slow=slow -tooltip.disassembler.fast=fast -tooltip.disassembler.vein=vein -tooltip.disassembler.off=off +tooltip.configurationCard.got=Získaná konfigurační data z %s +tooltip.configurationCard.set=Vložená konfigurační data typu %s +tooltip.configurationCard.unequal=Nerovné formáty konfiguračních dat -tooltip.configurationCard.got=Retrieved configuration data from %s -tooltip.configurationCard.set=Injected configuration data of type %s -tooltip.configurationCard.unequal=Unequal configuration data formats +tooltip.balloon=Balón -tooltip.balloon=Balloon +tooltip.jetpack.regular=Normální +tooltip.jetpack.hover=Vznášecí +tooltip.jetpack.disabled=Deaktivovaný -tooltip.jetpack.regular=Regular -tooltip.jetpack.hover=Hover -tooltip.jetpack.disabled=Disabled +tooltip.flamethrower.combat=Souboj +tooltip.flamethrower.heat=Teplo +tooltip.flamethrower.inferno=Peklo +tooltip.flamethrower.modeBump=Mód plamenometu změněn na -tooltip.flamethrower.combat=Combat -tooltip.flamethrower.heat=Heat -tooltip.flamethrower.inferno=Inferno -tooltip.flamethrower.modeBump=Flamethrower mode bumped to +tooltip.seismicReader.needsEnergy=Nedostatek energie na interpretaci vibrací +tooltip.seismicReader.noVibrations=Nenalezeny žádné vibrace -tooltip.seismicReader.needsEnergy=Not enough energy to interpret vibration -tooltip.seismicReader.noVibrations=Unable to discover any vibrations - -tooltip.Bin=A block used to store large quantities of a single type of item. -tooltip.TeleporterFrame=The frame used to construct the Teleporter multiblock, allowing a portal to be generated within the structure. -tooltip.SteelCasing=A sturdy, steel-based casing used as a foundation for machinery. -tooltip.DynamicTank=The casing used in the Dynamic Tank multiblock, a structure capable of storing great amounts of fluid. -tooltip.StructuralGlass=An advanced, reinforced material of glass that drops when broken and can be used in the structure of any applicable multiblock. -tooltip.DynamicValve=A valve that can be placed on a Dynamic Tank multiblock, allowing for fluids to be inserted and extracted via external piping. -tooltip.ThermalEvaporationController=The controller for a Thermal Evaporation Plant, acting as the master block of the structure. Only one of these should be placed on a multiblock. -tooltip.ThermalEvaporationValve=A valve that can be placed on a Thermal Evaporation Plant multiblock, allowing for fluids to be inserted and extracted via external piping. -tooltip.ThermalEvaporationBlock=A copper-alloyed casing used in the structure of a Thermal Evaporation Plant, using its advanced material to conduct the great amounts of heat necessary for processing. -tooltip.InductionCasing=A type of energy-resistant casing used in the creation of an Energized Induction Matrix multiblock. -tooltip.InductionPort=A port that can be placed on an Energized Induction Matrix multiblock, allowing for energy to be inserted from and output to external cabling. -tooltip.InductionCell=A highly conductive energy capacitor capable of storing massive amounts of energy in a single block. Housed in an Energized Induction Matrix to expand the multiblock's energy storage. -tooltip.InductionProvider=An advanced complex of coolant systems, conductors and transformers capable of expanding the Energized Induction Matrix's maximum rate of energy transfer. -tooltip.SuperheatingElement=A modular, somewhat dangerous radiator that is capable of emitting massive amounts of heat to its surroundings. -tooltip.PressureDisperser=A block used disperse steam throughout a multiblock structure. These should form a gapless, horizontal plane in order to properly control steam flow. -tooltip.BoilerCasing=A pressure-resistant, dense casing used in the creation of a Thermoelectric Boiler multiblock. -tooltip.BoilerValve=A valve that can be placed on a Thermoelectric Boiler multiblock, allowing for the insertion of energy and water along with the extraction of produced steam. -tooltip.SecurityDesk=A central control hub for managing the security of all your owned machinery. +tooltip.Bin=Blok schopný skladovat velká kvanta jednoho typu předmětu. +tooltip.TeleporterFrame=Rám využívaný k postavení Teleportačního multibloku, umožnující portálu se vygenerovat uvnitř struktury. +tooltip.SteelCasing=Solidní, ocelově založený plášť využívaný jako základ strojírenství. +tooltip.DynamicTank=Plášť využívaný v multibloku Dynamická Nádrž, struktuře schopné skladovat enormní množství kapaliny. +tooltip.StructuralGlass=Pokročilý, tvrzený materiál skla který se dropuje a může být využit v každém multibloku. +tooltip.DynamicValve=Ventil, který lze umístit na multiblok Dynamická Nádrž, umožnujíc kapalinám být extrahovány a vkládány externím systémem trubek. +tooltip.ThermalEvaporationController=Ovladač multibloku Teplotní Výparovna fungující jako srdce systému. Pouze jeden může být na multibloku. +tooltip.ThermalEvaporationValve=Ventil, který lze umístit na multiblok Teplotní Výparovna, umožnujíc kapalinám být extrahovány a vkládány externím systémem trubek. +tooltip.ThermalEvaporationBlock=Měděný plášť použitý v multibloku Teplotní Výparovna, využívající svůj materiál k přenosu tepla potřebného pro výrobu. +tooltip.InductionCasing=Type energeticky odolného pláště využívaného k výrobě multibloku Energizovaná Indukční Matice. +tooltip.InductionPort=Port který může být umístěn na multiblok Energizovaná Indukční Matice, umožnujíc energii být vložená či vytažená externí kabeláží. +tooltip.InductionCell=Velmi vodivý energetický kapacitor schopný skladovat masivní množství energie v jednom bloku. Pro expanzi využijte multiblok Energizovaná Indukční Matice. +tooltip.InductionProvider=Pokročilý komplex chladících systémů, vodičů a transformerů umožnujících zvyšovat maximální výstupní frekvenci energie multibloku Energizovaná Indukční Matice. +tooltip.SuperheatingElement=Modulární, nějak nebezpečnýradiátor schopný vysílat obrovská množství tepla do svého okolí. +tooltip.PressureDisperser=Blok používaný k rozptýlení páry v multibloku. Měli by tvořit bezmezerovou horizontální plošinu pro optimální ovládání toku páry. +tooltip.BoilerCasing=Tlakuvzdorný hustý plášť využitý při stavbě multibloku Termoelektrický Bojler. +tooltip.BoilerValve=Ventil který lze umístit na multiblok Termoelektrický Bojler, umožnující vstup vody a energie a výstup páry. +tooltip.SecurityDesk=Centrální ovládací pult na kontrolu bezpečnosti všech vašich strojů. tooltip.EnrichmentChamber=A simple machine used to enrich ores into two of their dust counterparts, as well as perform many other operations. tooltip.OsmiumCompressor=A fairly advanced machine used to compress osmium into various dusts in order to create their ingot counterparts. From 961c84304e120987ca7cf88eb7854b35a6b56e0e Mon Sep 17 00:00:00 2001 From: Jakub Rohla Date: Mon, 27 Jun 2016 20:04:06 +0200 Subject: [PATCH 19/75] 847/1085 --- .../resources/assets/mekanism/lang/cs_CZ.lang | 96 +++++++++---------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/cs_CZ.lang b/src/main/resources/assets/mekanism/lang/cs_CZ.lang index ae8175702..043a59958 100644 --- a/src/main/resources/assets/mekanism/lang/cs_CZ.lang +++ b/src/main/resources/assets/mekanism/lang/cs_CZ.lang @@ -795,55 +795,55 @@ tooltip.BoilerCasing=Tlakuvzdorný hustý plášť využitý při stavbě multib tooltip.BoilerValve=Ventil který lze umístit na multiblok Termoelektrický Bojler, umožnující vstup vody a energie a výstup páry. tooltip.SecurityDesk=Centrální ovládací pult na kontrolu bezpečnosti všech vašich strojů. -tooltip.EnrichmentChamber=A simple machine used to enrich ores into two of their dust counterparts, as well as perform many other operations. -tooltip.OsmiumCompressor=A fairly advanced machine used to compress osmium into various dusts in order to create their ingot counterparts. -tooltip.Combiner=A machine used to combine dusts and cobblestone to form their ore counterparts. -tooltip.Crusher=A machine used to crush ingots into their dust counterparts, as well as perform many other operations. -tooltip.DigitalMiner=A highly-advanced, filter-based, auto-miner that can mine whatever block you tell it to within a 32 block (max) radius. -tooltip.MetallurgicInfuser=A machine used to infuse various materials into (generally) metals to create metal alloys and other compounds. -tooltip.PurificationChamber=An advanced machine capable of processing ores into three clumps, serving as the initial stage of 300% ore processing. -tooltip.EnergizedSmelter=A simple machine that serves as a Mekanism-based furnace that runs off of energy. -tooltip.Teleporter=A machine capable of teleporting players to various locations defined by another teleporter. -tooltip.ElectricPump=An advanced, upgradeable pump, capable of extracting any type of fluid. -tooltip.PersonalChest=A 54-slot chest that can be opened anywhere- even from your own inventory. -tooltip.Chargepad=A universal chargepad that can charge any energized item from any mod. -tooltip.LogisticalSorter=A filter-based, advanced sorting machine that can auto-eject specified items out of and into adjacent inventories and Logistical Transporters. -tooltip.RotaryCondensentrator=A machine capable of converting gasses into their fluid form and vice versa. -tooltip.ChemicalInjectionChamber=An elite machine capable of processing ores into four shards, serving as the initial stage of 400% ore processing. -tooltip.ElectrolyticSeparator=A machine that uses the process of electrolysis to split apart a certain gas into two different gasses. -tooltip.PrecisionSawmill=A machine used to process logs and other wood-based items more efficiently, as well as to obtain sawdust. -tooltip.ChemicalDissolutionChamber=An ultimate machine used to chemically dissolve all impurities of an ore, leaving an unprocessed slurry behind. -tooltip.ChemicalWasher=An ultimate machine that cleans unprocessed slurry and prepares it for crystallization. -tooltip.ChemicalCrystallizer=An ultimate machine used to crystallize purified ore slurry into ore crystals. -tooltip.ChemicalOxidizer=A machine capable of oxidizing solid materials into gas phase. -tooltip.ChemicalInfuser=A machine that produces a new gas by infusing two others. -tooltip.SeismicVibrator=A machine that uses seismic vibrations to provide information on differing layers of the world. -tooltip.PressurizedReactionChamber=An advanced machine that processes a solid, liquid and gaseous mixture and creates both a gaseous and solid product. -tooltip.FluidTank=A handy, sturdy, portable tank that lets you carry multiple buckets of fluid wherever you please. Also doubles as a bucket! -tooltip.FluidicPlenisher=A machine that is capable of creating entire lakes by filling ravines with fluids. -tooltip.Laser=An advanced form of linear energy transfer that utilizes an extremely collimated beam of light. -tooltip.LaserAmplifier=A block that can be used to merge, redirect and amplify laser beams, with fine controls over when to fire. -tooltip.LaserTractorBeam=A block used to merge and redirect laser beams. Collects drops from blocks it has broken. -tooltip.SolarNeutronActivator=A machine that directs the neutron radiation of the sun into its internal reservoir, allowing for the slow creation of various isotopes. -tooltip.Oredictionificator=A machine used to unify and translate between various items and blocks using the Ore Dictionary. -tooltip.Factory=A machine that serves as an upgrade to regular machinery, allowing for multiple processing operations to occur at once. -tooltip.ResistiveHeater=A condensed, coiled resistor capable of converting electrical energy directly into heat energy. -tooltip.FormulaicAssemblicator=A machine that uses energy to rapidly craft items and blocks from Crafting Formulas. Doubles as an advanced crafting bench. -tooltip.FuelwoodHeater=A machine that is capable of producing large quantities of heat energy by burning combustible items. -tooltip.QuantumEntangloporter=A highly-advanced block capable of transmitting any practical resource across long distances and dimensions. +tooltip.EnrichmentChamber=Jednoduchý stroj obohacující rudy do jejich práškových protějšků a zároveň dělající mnoho dalších operací. +tooltip.OsmiumCompressor=Poměrně pokročilý stroj kompresující osmium do různorodých prášků za účelem výroby jejich ingotových protějšků. +tooltip.Combiner=Stroj kombinující prášky a cobblestone na zformování jejich rudných protějšků. +tooltip.Crusher=Stroj drtící ingoty do jejich práškových protějšků a zároveň dělající mnoho dalších operací. +tooltip.DigitalMiner=Velmi pokročilý, založený na filtrech, automatický těžič který dokáže vytěžit jakýkoli blok zadáš do max 32 bloků X, Y. +tooltip.MetallurgicInfuser=Stroj infúzující různorodé materiály do (v podstatě) kovů pro výrobu slitin a dalších složek. +tooltip.PurificationChamber=Pokročilý stroj drtící rudy do třech kupek, slouží jako počáteční stupeň 300% zpracování rud. +tooltip.EnergizedSmelter=Jednoduchý stroj - pec na energii. +tooltip.Teleporter=Stroj teleportující hráče na různorodé lokace definované jiným Teleportérem. +tooltip.ElectricPump=Pokročilá, vylepšitelná pumpa, schopná extrahovat každý druh kapaliny. +tooltip.PersonalChest=54 slotová truhla, která jde otevřít odkudkoli (dokonce i z inventáře) +tooltip.Chargepad=Univerzální nabíječka která dokáže nabít jakýkoli energetický předmět z jakéhokoli módu. +tooltip.LogisticalSorter=Pokročilý stroj založený na filtrech, dokáže vyhazovat věci z přilehlých inventářů do přilehlých inventářů a Přepravních Transportérů. +tooltip.RotaryCondensentrator=Stroj konvertující plyny do jejich kapalinových protějšků a zpět. +tooltip.ChemicalInjectionChamber=Elitní stroj drtící rudy do čtyř úlomků, slouží jako počáteční fáze 400% zpracování rud. +tooltip.ElectrolyticSeparator=Stroj elektrolyzující kapalinu a rozdělující ji na dva plyny. +tooltip.PrecisionSawmill=Stroj zpracovávající kmeny a jiné dřevěné věci efektivněji a zároveň zdroj pilin. +tooltip.ChemicalDissolutionChamber=Ultimátní stroj chemicky rozkládající všechny nečistoty z rud a zanechávající je jako břečku. +tooltip.ChemicalWasher=Ultimátní stroj čistící břečku a připravující ji na krystalizaci. +tooltip.ChemicalCrystallizer=Ultimátní stroj krystalizující purifikovanou břečku do rudných krystalů. +tooltip.ChemicalOxidizer=Stroj oxidující pevné materiály do jejich plynné fáze. +tooltip.ChemicalInfuser=Stroj tvořící nový plyn ze dvou starých. +tooltip.SeismicVibrator=Stroj využívající seismické otřesy k poskytnutí informací o rozdílném složení vrstev ve světě. +tooltip.PressurizedReactionChamber=Pokročilý stroj, který vezme pevnou, tekutou i plynnou složku a vytvoří jak plynný, tak pevný produkt. +tooltip.FluidTank=Užitečná přenosná nádrž umožňující vzít více kyblíků kapaliny kamkoli chcete. +tooltip.FluidicPlenisher=Stroj schopný tvorby celých jezer zaplavováním místa pod sebou. +tooltip.Laser=Pokročilá forma lineárního přenosu energie která zprostředkovává extrémně zhuštěný paprsek světla. +tooltip.LaserAmplifier=Blok schopný slučovat a přesměrovávat laserové paprsky s kompletní kontrolou, kdy vystřelit. +tooltip.LaserTractorBeam=Blok schopný slučovat a přesměrovávat laserové paprsky. Sbírá dropy z bloků které zničil. +tooltip.SolarNeutronActivator=Stroj směřující neutronovou radiaci ze Slunce do svého zásobiště, umožňující pomalou tvorbu různorodých izotopů. +tooltip.Oredictionificator=Stroj sjednocující různé předměty a rudy pomoci Rudo-Slovníku. +tooltip.Factory=Stroj sloužící jako vylepšení k běžným strojům, umožňuje více operací najednou. +tooltip.ResistiveHeater=Kondenzovaný, vinutý rezistor schopný převádět elektrickou energii přímo do tepelné energie. +tooltip.FormulaicAssemblicator=Stroj využívající energii pro rychlou výrobu předmětů či bloků z Výrobních Formulí. +tooltip.FuelwoodHeater=Stroj schopný generovat hodně energie spalováním hořlavých předmětů. +tooltip.QuantumEntangloporter=Velmi pokročilý blok schopný přenášet jakýkoli zdroj napříč velkými vzdálenostmi a dimenzemi. -tooltip.HeatGenerator=A generator that uses the heat of lava or other burnable resources to produce energy. -tooltip.SolarGenerator=A generator that uses the power of the sun to produce energy. -tooltip.GasGenerator=A generator that harnesses the molecular varying gasses to produce energy. -tooltip.BioGenerator=A generator that burns organic materials of the world to produce energy. -tooltip.AdvancedSolarGenerator=An advanced generator that directly absorbs the sun's rays with little loss to produce energy. -tooltip.WindGenerator=A generator that uses the strength of the wind to produce energy, with greater efficiency at higher levels. -tooltip.TurbineRotor=The steel rod that is used to house Turbine Blades within an Industrial Turbine. -tooltip.RotationalComplex=A connector that is placed on the highest Turbine Rotor of an Industrial Turbine to carry kinetic energy into its Electromagnetic Coils. -tooltip.ElectromagneticCoil=A block that converts kinetic energy from a Rotational Complex into useable electricity. These can be placed in any arrangement above your Rotational Complex, as long as they are all touching each other and the complex itself. -tooltip.TurbineCasing=Pressure-resistant casing used in the creation of an Industrial Turbine. -tooltip.TurbineValve=A type of Turbine Casing that includes a port for the transfer of energy and steam. -tooltip.TurbineVent=A type of Turbine Casing with an integrated vent for the release of steam. These should be placed on the level of or above the turbine's Rotational Complex. +tooltip.HeatGenerator=Generátor využívající teplo lávy nebo jiného spalovatelného zdroje k výrobě energie. +tooltip.SolarGenerator=Generátor využívající energie Slunce k výrobě energie. +tooltip.GasGenerator=Generátor využívající různorodost plynů k výrobě energie. +tooltip.BioGenerator=Generátor spalující organické materiály ze světa k výrobě energie. +tooltip.AdvancedSolarGenerator=Pokročilý generátor který přímo pohlcuje sluneční paprsky s minimální ztrátou k výrobě energie. +tooltip.WindGenerator=Generátor využívající sílu větru k výrobě energie. Efektivita se zvyšuje úměrně s výškou. +tooltip.TurbineRotor=Ocelová tyč použitá k udržení Turbínových Lopatek v Průmyslové Turbíně. +tooltip.RotationalComplex=Konektor který je položen na nejvyšší Turbínový Rotor Průmyslové Turbíny pro přenášení kinetické energie do jeho Elektromagnetických Cívek. +tooltip.ElectromagneticCoil=Blok konvertující energii z Rotačního Komplexu do využitelné energie. Tyto mohou být položeny do jakéhokoli uspořádání nad Rotačním Komplexem, pakliže se stále dotýkají jeden druhého a samotného komplexu. +tooltip.TurbineCasing=Tlakuvzdorný plášť využitý k výrobě Průmyslové Turbíny. +tooltip.TurbineValve=Typ Turbínového Pláště zahrnující port na přenos energie a páry. +tooltip.TurbineVent=Typ Turbínového Pláště s integrovaným ventilem pro vypouštění páry. Tyto by měly být umístěny na úrovni nebo výše Turbínového Rotačního Komplexu. tooltip.ReactorGlass=Reinforced glass that can be used in the Fusion Reactor multiblock. tooltip.ReactorLaserFocusMatrix=A panel of Reactor Glass that is capable of absorbing optical energy and thereby heating up the Fusion Reactor. From 09fa8f9f5ace515c5c367737a0dd6b7990cb70d4 Mon Sep 17 00:00:00 2001 From: Jakub Rohla Date: Mon, 27 Jun 2016 20:32:20 +0200 Subject: [PATCH 20/75] Finished czech localization --- .../resources/assets/mekanism/lang/cs_CZ.lang | 356 +++++++++--------- 1 file changed, 178 insertions(+), 178 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/cs_CZ.lang b/src/main/resources/assets/mekanism/lang/cs_CZ.lang index 043a59958..9bf6184c3 100644 --- a/src/main/resources/assets/mekanism/lang/cs_CZ.lang +++ b/src/main/resources/assets/mekanism/lang/cs_CZ.lang @@ -845,241 +845,241 @@ tooltip.TurbineCasing=Tlakuvzdorný plášť využitý k výrobě Průmyslové T tooltip.TurbineValve=Typ Turbínového Pláště zahrnující port na přenos energie a páry. tooltip.TurbineVent=Typ Turbínového Pláště s integrovaným ventilem pro vypouštění páry. Tyto by měly být umístěny na úrovni nebo výše Turbínového Rotačního Komplexu. -tooltip.ReactorGlass=Reinforced glass that can be used in the Fusion Reactor multiblock. -tooltip.ReactorLaserFocusMatrix=A panel of Reactor Glass that is capable of absorbing optical energy and thereby heating up the Fusion Reactor. -tooltip.ReactorController=The controlling block for the entire Fusion Reactor structure. -tooltip.ReactorFrame=Reinforced framing that can be used in the Fusion Reactor multiblock. -tooltip.ReactorNeutronCapturePlate=A block that can be used to both block Fusion Reactor radiation and assist in the production of Tritium. -tooltip.ReactorPort=A block of reinforced framing that is capable of managing both the gas and energy transfer of the Fusion Reactor. -tooltip.ReactorLogicAdapter=A block that can be used to allow basic monitoring of a reactor using redstone. +tooltip.ReactorGlass=Tvrzené sklo které může být použito v multibloku Fúzní Reaktor. +tooltip.ReactorLaserFocusMatrix=Panel Reaktorového Skla který je schopný absorbovat optickou energii a tím zahřívat Fúzní Reaktor. +tooltip.ReactorController=Kontrolní blok pro celou strukturu Fúzního Reaktoru. +tooltip.ReactorFrame=Tvrzený rám který může být využit v multibloku Fúzní Reaktor. +tooltip.ReactorNeutronCapturePlate=Blok který může být využit jak k zablokování radiace Fúzního Reaktoru tak k asistenci u produkce Trinia. +tooltip.ReactorPort=Blok tvrzeného rámu který je schopen zpracovávat zároveň plyn i energii z a do Fúzního Reaktoru. +tooltip.ReactorLogicAdapter=Blok který umožňuje základní sledování stavu reaktoru pomocí ruditu. -tooltip.OsmiumOre=A strong mineral that can be found at nearly any height in the world. It is known to have many uses in the construction of machinery. -tooltip.CopperOre=A common, conductive material that can be used in the production of wires. Its ability to withstand high heats also makes it essential to advanced machinery. -tooltip.TinOre=A lightweight, yet sturdy, conductive material that is found slightly less commonly than Copper. +tooltip.OsmiumOre=Silný minerál který lze nalézt v jakékoli hloubce. Je znám pro své využití v konstrukci strojů. +tooltip.CopperOre=Běžný, vodivý materiál který se využívá k výrobě kabelů. Jeho schopnost vydržet velké teploty ho činí podstatným pro pokročilé stroje. +tooltip.TinOre=Lehký, ale tvrdý, vodivý materiál který je o trochu vzácnější než Měď. //Side data -sideData.None=None -sideData.Input=Input -sideData.Output=Output -sideData.Energy=Energy -sideData.Gas=Gas +sideData.None=Nic +sideData.Input=Vstup +sideData.Output=Výstup +sideData.Energy=Energie +sideData.Gas=Plyn sideData.Extra=Extra -sideData.Infuse=Infuse -sideData.Fluid=Fluid -sideData.Fill=Fill -sideData.Empty=Empty -sideData.Charge=Charge -sideData.Discharge=Discharge +sideData.Infuse=Infúze +sideData.Fluid=Kapalina +sideData.Fill=Náplň +sideData.Empty=Prázdný +sideData.Charge=Náboj +sideData.Discharge=Výboj //Redstone control -control.disabled=Disabled -control.high=High -control.low=Low -control.pulse=Pulse -control.disabled.desc=Always active -control.high.desc=Active with signal -control.low.desc=Active without signal -control.pulse.desc=Only active upon first receiving signal +control.disabled=Vyplý +control.high=Silný +control.low=Slabý +control.pulse=Pulz +control.disabled.desc=Vždy aktivní +control.high.desc=Vždy se signálem +control.low.desc=Vždy bez signálu +control.pulse.desc=Pouze aktivní s prvním příchozím signálem //Container edit modes -fluidedit.both=Both -fluidedit.fill=Fill -fluidedit.empty=Empty +fluidedit.both=Oboje +fluidedit.fill=Plný +fluidedit.empty=Prázdný //Colors -color.black=Black -color.darkBlue=Dark Blue -color.darkGreen=Dark Green -color.darkAqua=Dark Aqua -color.darkRed=Dark Red -color.purple=Purple -color.orange=Orange -color.grey=Grey -color.darkGrey=Dark Grey +color.black=Černá +color.darkBlue=Tmavě Modrá +color.darkGreen=Tmavě Zelená +color.darkAqua=Tmavá Aqua +color.darkRed=Tmavě Červená +color.purple=Fialová +color.orange=Oranžová +color.grey=Šedá +color.darkGrey=Tmavě Šedá color.indigo=Indigo -color.brightGreen=Bright Green +color.brightGreen=Světle Zelená color.aqua=Aqua -color.red=Red -color.pink=Pink -color.yellow=Yellow -color.white=White -color.brown=Brown -color.brightPink=Bright Pink +color.red=Červená +color.pink=Růžová +color.yellow=Žlutá +color.white=Bílá +color.brown=Hnědá +color.brightPink=Světle Růžová //Dyes -dye.black=Black -dye.darkBlue=Blue -dye.brown=Brown -dye.darkGreen=Green -dye.darkAqua=Cyan -dye.darkRed=Dark Red -dye.purple=Purple -dye.orange=Orange -dye.grey=Light Grey -dye.darkGrey=Grey -dye.indigo=Light Blue -dye.brightGreen=Lime +dye.black=Černá +dye.darkBlue=Modrá +dye.brown=Hnědá +dye.darkGreen=Zelená +dye.darkAqua=Tyrkysová +dye.darkRed=Tmavě Červená +dye.purple=Nachová +dye.orange=Oranžová +dye.grey=Světle Šedá +dye.darkGrey=Šedá +dye.indigo=Světle Modrá +dye.brightGreen=Limetka dye.aqua=Aqua -dye.red=Red -dye.brightPink=Pink +dye.red=Červená +dye.brightPink=Růžová dye.pink=Magenta -dye.yellow=Yellow -dye.white=White +dye.yellow=Žlutá +dye.white=Bílá //Reactor Logic modes -reactor.disabled=Disabled -reactor.disabled.desc=Will not emit a redstone signal -reactor.ready=Ready for Ignition -reactor.ready.desc=Reactor has reached the required heat level to ignite -reactor.capacity=Heat Capacity Met -reactor.capacity.desc=The reactor's core heat capacity has been met -reactor.depleted=Insufficient Fuel -reactor.depleted.desc=The reactor has insufficient fuel to sustain a reaction +reactor.disabled=Deaktivovaný +reactor.disabled.desc=Nebude vysílat ruditový signál +reactor.ready=Připraven na Zážeh +reactor.ready.desc=Reaktor dosáhl potřebné teploty pro zážeh +reactor.capacity=Dosažena Tepelná Kapacita +reactor.capacity.desc=Tepelná kapacita jádra reaktoru byla dosažena +reactor.depleted=Nedostatek Paliva +reactor.depleted.desc=Reaktor má nedostatek paliva k udržení reakce //Creative tab itemGroup.tabMekanism=Mekanism //NEI stuff -nei.chemicalInjectionChamber=C. Injection Chamber -nei.rotaryCondensentrator=R. Condensentrator +nei.chemicalInjectionChamber=Ch. Vstřikovací Komora +nei.rotaryCondensentrator=R. Kondenzátor //**********// //GENERATORS// //**********// //Items -item.SolarPanel.name=Solar Panel +item.SolarPanel.name=Solární Panel item.Hohlraum.name=Hohlraum -item.TurbineBlade.name=Turbine Blade +item.TurbineBlade.name=Turbínová Lopatka //Generators -tile.Generator.HeatGenerator.name=Heat Generator -tile.Generator.SolarGenerator.name=Solar Generator -tile.Generator.GasGenerator.name=Gas-Burning Generator -tile.Generator.BioGenerator.name=Bio-Generator -tile.Generator.AdvancedSolarGenerator.name=Advanced Solar Generator -tile.Generator.WindGenerator.name=Wind Generator -tile.Generator.TurbineRotor.name=Turbine Rotor -tile.Generator.RotationalComplex.name=Rotational Complex -tile.Generator.ElectromagneticCoil.name=Electromagnetic Coil -tile.Generator.TurbineCasing.name=Turbine Casing -tile.Generator.TurbineValve.name=Turbine Valve -tile.Generator.TurbineVent.name=Turbine Vent +tile.Generator.HeatGenerator.name=Tepelný Generátor +tile.Generator.SolarGenerator.name=Solární Generátor +tile.Generator.GasGenerator.name=Plyno-Spalovací Generátor +tile.Generator.BioGenerator.name=Bio-Generátor +tile.Generator.AdvancedSolarGenerator.name=Pokročilý Solární Generátor +tile.Generator.WindGenerator.name=Větrný Generátor +tile.Generator.TurbineRotor.name=Turbínový Rotor +tile.Generator.RotationalComplex.name=Rotační Komplex +tile.Generator.ElectromagneticCoil.name=Elektromagnetická Cívka +tile.Generator.TurbineCasing.name=Plášť Turbíny +tile.Generator.TurbineValve.name=Turbínový Ventil +tile.Generator.TurbineVent.name=Turbínový Průduch -tile.Reactor.ReactorController.name=Reactor Controller -tile.Reactor.ReactorFrame.name=Reactor Frame -tile.Reactor.ReactorNeutronCapturePlate.name=Neutron Capture Plate -tile.Reactor.ReactorPort.name=Reactor Port -tile.Reactor.ReactorLogicAdapter.name=Reactor Logic Adapter +tile.Reactor.ReactorController.name=Kontroler Reaktoru +tile.Reactor.ReactorFrame.name=Rám Reaktoru +tile.Reactor.ReactorNeutronCapturePlate.name=Neutronový Zachytávací Plát +tile.Reactor.ReactorPort.name=Port Reaktoru +tile.Reactor.ReactorLogicAdapter.name=Logický Adaptér Reaktoru -tile.ReactorGlass.ReactorGlass.name=Reactor Glass -tile.ReactorGlass.ReactorLaserFocusMatrix.name=Laser Focus Matrix +tile.ReactorGlass.ReactorGlass.name=Sklo Reaktoru +tile.ReactorGlass.ReactorLaserFocusMatrix.name=Laserová Zaměřovací Matice //Gui text -gui.heatGenerator.fuel=Fuel -gui.solarGenerator.sun=Sun -gui.bioGenerator.bioFuel=BioFuel -gui.electrolyticSeparator.dump=Dump +gui.heatGenerator.fuel=Palivo +gui.solarGenerator.sun=Slunce +gui.bioGenerator.bioFuel=Bio Palivo +gui.electrolyticSeparator.dump=Vyhodit -gui.passive=Air-Cooled -gui.active=Water-Cooled +gui.passive=Chlazen vzduchem +gui.active=Chalzen vodou -gui.minInject=Min. Inject Rate -gui.ignition=Ignition Temp -gui.maxPlasma=Max. Plasma Temp -gui.maxCasing=Max. Casing Temp -gui.passiveGeneration=Passive Generation -gui.steamProduction=Steam Production +gui.minInject=Min. Rychlost Vstřikování +gui.ignition=Zážehová Teplota +gui.maxPlasma=Max. Teplota Plasmy +gui.maxCasing=Max. Teplota Pláště +gui.passiveGeneration=Pasivní Generace +gui.steamProduction=Produkce Páry //*****// //TOOLS// //*****// //Vanilla Paxels -item.WoodPaxel.name=Wood Paxel -item.StonePaxel.name=Stone Paxel -item.IronPaxel.name=Iron Paxel -item.DiamondPaxel.name=Diamond Paxel -item.GoldPaxel.name=Gold Paxel +item.WoodPaxel.name=Dřevěný Sekrumpáč +item.StonePaxel.name=Kamenný Sekrumpáč +item.IronPaxel.name=Železný Sekrumpáč +item.DiamondPaxel.name=Diamantový Sekrumpáč +item.GoldPaxel.name=Zlatý Sekrumpáč //Obsidian -item.ObsidianHelmet.name=Obsidian Helmet -item.ObsidianChestplate.name=Obsidian Chestplate -item.ObsidianLeggings.name=Obsidian Leggings -item.ObsidianBoots.name=Obsidian Boots -item.ObsidianPaxel.name=Obsidian Paxel -item.ObsidianPickaxe.name=Obsidian Pickaxe -item.ObsidianAxe.name=Obsidian Axe -item.ObsidianShovel.name=Obsidian Shovel -item.ObsidianHoe.name=Obsidian Hoe -item.ObsidianSword.name=Obsidian Sword +item.ObsidianHelmet.name=Obsidiánová Helma +item.ObsidianChestplate.name=Obsidiánové Brnění +item.ObsidianLeggings.name=Obsidiánové Kalhoty +item.ObsidianBoots.name=Obsidiánové Boty +item.ObsidianPaxel.name=Obsidiánový Sekrumpáč +item.ObsidianPickaxe.name=Obsidiánový Krumpáč +item.ObsidianAxe.name=Obsidiánová Sekyra +item.ObsidianShovel.name=Obsidiánová Lopata +item.ObsidianHoe.name=Obsidiánová Motyka +item.ObsidianSword.name=Obsidiánový Meč //Lapis Lazuli -item.LazuliHelmet.name=Lapis Lazuli Helmet -item.LazuliChestplate.name=Lapis Lazuli Chestplate -item.LazuliLeggings.name=Lapis Lazuli Leggings -item.LazuliBoots.name=Lapis Lazuli Boots -item.LazuliPaxel.name=Lapis Lazuli Paxel -item.LazuliPickaxe.name=Lapis Lazuli Pickaxe -item.LazuliAxe.name=Lapis Lazuli Axe -item.LazuliShovel.name=Lapis Lazuli Shovel -item.LazuliHoe.name=Lapis Lazuli Hoe -item.LazuliSword.name=Lapis Lazuli Sword +item.LazuliHelmet.name=Lapis Lazuli Helma +item.LazuliChestplate.name=Lapis Lazuli Brnění +item.LazuliLeggings.name=Lapis Lazuli Kalhoty +item.LazuliBoots.name=Lapis Lazuli Boty +item.LazuliPaxel.name=Lapis Lazuli Sekrumpáč +item.LazuliPickaxe.name=Lapis Lazuli Krumpáč +item.LazuliAxe.name=Lapis Lazuli Sekyra +item.LazuliShovel.name=Lapis Lazuli Lopata +item.LazuliHoe.name=Lapis Lazuli Motyka +item.LazuliSword.name=Lapis Lazuli Meč //Osmium -item.OsmiumHelmet.name=Osmium Helmet -item.OsmiumChestplate.name=Osmium Chestplate -item.OsmiumLeggings.name=Osmium Leggings -item.OsmiumBoots.name=Osmium Boots -item.OsmiumPaxel.name=Osmium Paxel -item.OsmiumPickaxe.name=Osmium Pickaxe -item.OsmiumAxe.name=Osmium Axe -item.OsmiumShovel.name=Osmium Shovel -item.OsmiumHoe.name=Osmium Hoe -item.OsmiumSword.name=Osmium Sword +item.OsmiumHelmet.name=Osmiová Helma +item.OsmiumChestplate.name=Osmiové Brnění +item.OsmiumLeggings.name=Osmiové Kalhoty +item.OsmiumBoots.name=Osmiové Boty +item.OsmiumPaxel.name=Osmiový Sekrumpáč +item.OsmiumPickaxe.name=Osmiový Krumpáč +item.OsmiumAxe.name=Osmiová Sekyra +item.OsmiumShovel.name=Osmiová Lopata +item.OsmiumHoe.name=Osmiová Motyka +item.OsmiumSword.name=Osmiový Meč //Bronze -item.BronzeHelmet.name=Bronze Helmet -item.BronzeChestplate.name=Bronze Chestplate -item.BronzeLeggings.name=Bronze Leggings -item.BronzeBoots.name=Bronze Boots -item.BronzePaxel.name=Bronze Paxel -item.BronzePickaxe.name=Bronze Pickaxe -item.BronzeAxe.name=Bronze Axe -item.BronzeShovel.name=Bronze Shovel -item.BronzeHoe.name=Bronze Hoe -item.BronzeSword.name=Bronze Sword +item.BronzeHelmet.name=Bronzová Helma +item.BronzeChestplate.name=Bronzové Brnění +item.BronzeLeggings.name=Bronzové Kalhoty +item.BronzeBoots.name=Bronzové Boty +item.BronzePaxel.name=Bronzový Sekrumpáč +item.BronzePickaxe.name=Bronzový Krumpáč +item.BronzeAxe.name=Bronzová Sekyra +item.BronzeShovel.name=Bronzová Lopata +item.BronzeHoe.name=Bronzová Motyka +item.BronzeSword.name=Bronzový Meč //Glow -item.GlowstoneHelmet.name=Glowstone Helmet -item.GlowstoneChestplate.name=Glowstone Chestplate -item.GlowstoneLeggings.name=Glowstone Leggings -item.GlowstoneBoots.name=Glowstone Boots -item.GlowstonePaxel.name=Glowstone Paxel -item.GlowstonePickaxe.name=Glowstone Pickaxe -item.GlowstoneAxe.name=Glowstone Axe -item.GlowstoneShovel.name=Glowstone Shovel -item.GlowstoneHoe.name=Glowstone Hoe -item.GlowstoneSword.name=Glowstone Sword +item.GlowstoneHelmet.name=Světlitová Helma +item.GlowstoneChestplate.name=Světlitové Brnění +item.GlowstoneLeggings.name=Světlitové Kalhoty +item.GlowstoneBoots.name=Světlitové Boty +item.GlowstonePaxel.name=Světlitový Sekrumpáč +item.GlowstonePickaxe.name=Světlitový Krumpáč +item.GlowstoneAxe.name=Světlitová Sekyra +item.GlowstoneShovel.name=Světlitová Lopata +item.GlowstoneHoe.name=Světlitová Motyka +item.GlowstoneSword.name=Světlitový Meč //Steel -item.SteelHelmet.name=Steel Helmet -item.SteelChestplate.name=Steel Chestplate -item.SteelLeggings.name=Steel Leggings -item.SteelBoots.name=Steel Boots -item.SteelPaxel.name=Steel Paxel -item.SteelPickaxe.name=Steel Pickaxe -item.SteelAxe.name=Steel Axe -item.SteelShovel.name=Steel Shovel -item.SteelHoe.name=Steel Hoe -item.SteelSword.name=Steel Sword +item.SteelHelmet.name=Ocelová Helma +item.SteelChestplate.name=Ocelové Brnění +item.SteelLeggings.name=Ocelové Kalhoty +item.SteelBoots.name=Ocelové Boty +item.SteelPaxel.name=Ocelový Sekrumpáč +item.SteelPickaxe.name=Ocelový Krumpáč +item.SteelAxe.name=Ocelová Sekyra +item.SteelShovel.name=Ocelová Lopata +item.SteelHoe.name=Ocelová Motyka +item.SteelSword.name=Ocelové Meč //Config Gui -mekanism.configgui.ctgy.tools.general=General -mekanism.configgui.ctgy.tools.armor=Armor Balance -mekanism.configgui.ctgy.tools.tools=Tools Balance +mekanism.configgui.ctgy.tools.general=Základní +mekanism.configgui.ctgy.tools.armor=Vyvážení Brnění +mekanism.configgui.ctgy.tools.tools=Vyvážení Nástrojů //Config Tooltips -mekanism.configgui.ctgy.tools.general.tooltip=Settings regarding MekanismTools' general configuration -mekanism.configgui.ctgy.tools.armor.tooltip=Settings regarding the protection values and balance of MekanismTools armor sets -mekanism.configgui.ctgy.tools.tools.tooltip=Settings regarding the efficiency values and balance of MekanismTools tool sets \ No newline at end of file +mekanism.configgui.ctgy.tools.general.tooltip=Nastavení týkající se základní konfigurace MekanismTools +mekanism.configgui.ctgy.tools.armor.tooltip=Nastavení týkající se protekčních hodnot a vyvážení setů brnění MekanismTools +mekanism.configgui.ctgy.tools.tools.tooltip=Nastavení týkající se efektivních hodnot a vyvážení setů nástrojů MekanismTools \ No newline at end of file From c5a414df37b9bfc84d36b251e978ca36f47cf590 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Wed, 29 Jun 2016 19:58:13 -0400 Subject: [PATCH 21/75] Remove deprecated gas API methods --- .../java/mekanism/api/gas/IGasHandler.java | 6 ----- .../common/multipart/PartPressurizedTube.java | 12 ---------- .../TileEntityAdvancedElectricMachine.java | 12 ---------- .../tile/TileEntityAmbientAccumulator.java | 12 ---------- .../tile/TileEntityChemicalCrystallizer.java | 12 ---------- .../TileEntityChemicalDissolutionChamber.java | 12 ---------- .../tile/TileEntityChemicalInfuser.java | 12 ---------- .../common/tile/TileEntityChemicalWasher.java | 12 ---------- .../tile/TileEntityElectrolyticSeparator.java | 12 ---------- .../common/tile/TileEntityFactory.java | 12 ---------- .../common/tile/TileEntityGasTank.java | 12 ---------- .../mekanism/common/tile/TileEntityPRC.java | 12 ---------- .../tile/TileEntityQuantumEntangloporter.java | 12 ---------- .../tile/TileEntityRotaryCondensentrator.java | 12 ---------- .../tile/TileEntitySolarNeutronActivator.java | 12 ---------- .../common/tile/TileEntityGasGenerator.java | 12 ---------- .../tile/reactor/TileEntityReactorPort.java | 22 +------------------ 17 files changed, 1 insertion(+), 207 deletions(-) diff --git a/src/main/java/mekanism/api/gas/IGasHandler.java b/src/main/java/mekanism/api/gas/IGasHandler.java index e06952317..3d99da62e 100644 --- a/src/main/java/mekanism/api/gas/IGasHandler.java +++ b/src/main/java/mekanism/api/gas/IGasHandler.java @@ -16,9 +16,6 @@ public interface IGasHandler */ public int receiveGas(ForgeDirection side, GasStack stack, boolean doTransfer); - @Deprecated - public int receiveGas(ForgeDirection side, GasStack stack); - /** * Draws a certain amount of gas from this block. * @param amount - amount to draw @@ -26,9 +23,6 @@ public interface IGasHandler */ public GasStack drawGas(ForgeDirection side, int amount, boolean doTransfer); - @Deprecated - public GasStack drawGas(ForgeDirection side, int amount); - /** * Whether or not this block can accept gas from a certain side. * @param side - side to check diff --git a/src/main/java/mekanism/common/multipart/PartPressurizedTube.java b/src/main/java/mekanism/common/multipart/PartPressurizedTube.java index 8a108cc98..f3d1ad25e 100644 --- a/src/main/java/mekanism/common/multipart/PartPressurizedTube.java +++ b/src/main/java/mekanism/common/multipart/PartPressurizedTube.java @@ -272,24 +272,12 @@ public class PartPressurizedTube extends PartTransmitter 0) - { - return new GasStack(GasRegistry.getGas("steam"), getReactor().getSteamTank().drain(amount, doTransfer).amount); - } - } - return null; } - @Override - public GasStack drawGas(ForgeDirection side, int amount) - { - return drawGas(side, amount, true); - } - @Override public boolean canReceiveGas(ForgeDirection side, Gas type) { @@ -164,7 +144,7 @@ public class TileEntityReactorPort extends TileEntityReactorBlock implements IFl @Override public boolean canDrawGas(ForgeDirection side, Gas type) { - return (type == GasRegistry.getGas("steam")); + return false; } @Override From 425b43a4c4b50a9b3bfc7fc035ea531e55f4e394 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Thu, 30 Jun 2016 00:46:02 -0400 Subject: [PATCH 22/75] Reactor Ports now auto-eject steam --- .../tile/reactor/TileEntityReactorPort.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java b/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java index dabfe4c28..76b103667 100644 --- a/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java +++ b/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java @@ -10,6 +10,7 @@ import mekanism.api.gas.GasStack; import mekanism.api.gas.IGasHandler; import mekanism.api.gas.ITubeConnection; import mekanism.api.reactor.IReactorBlock; +import mekanism.common.tile.TileEntityBoilerValve; import mekanism.common.util.CableUtils; import mekanism.common.util.HeatUtils; import mekanism.common.util.InventoryUtils; @@ -22,6 +23,7 @@ import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; +import net.minecraftforge.fluids.IFluidTank; public class TileEntityReactorPort extends TileEntityReactorBlock implements IFluidHandler, IGasHandler, ITubeConnection, IHeatTransfer { @@ -48,7 +50,28 @@ public class TileEntityReactorPort extends TileEntityReactorBlock implements IFl super.onUpdate(); - CableUtils.emit(this); + if(!worldObj.isRemote) + { + CableUtils.emit(this); + + if(getReactor() != null && getReactor().getSteamTank().getFluidAmount() > 0) + { + IFluidTank tank = getReactor().getSteamTank(); + + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity tile = Coord4D.get(this).getFromSide(side).getTileEntity(worldObj); + + if(tile instanceof IFluidHandler && !(tile instanceof TileEntityBoilerValve)) + { + if(((IFluidHandler)tile).canFill(side.getOpposite(), tank.getFluid().getFluid())) + { + tank.drain(((IFluidHandler)tile).fill(side.getOpposite(), tank.getFluid(), true), true); + } + } + } + } + } } @Override From b77ca6ff0c65b070757df7454962fc72fdcbf189 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Thu, 30 Jun 2016 01:03:13 -0400 Subject: [PATCH 23/75] Revert "Remove deprecated gas API methods" This reverts commit c5a414df37b9bfc84d36b251e978ca36f47cf590. --- .../java/mekanism/api/gas/IGasHandler.java | 6 +++++ .../common/multipart/PartPressurizedTube.java | 12 ++++++++++ .../TileEntityAdvancedElectricMachine.java | 12 ++++++++++ .../tile/TileEntityAmbientAccumulator.java | 12 ++++++++++ .../tile/TileEntityChemicalCrystallizer.java | 12 ++++++++++ .../TileEntityChemicalDissolutionChamber.java | 12 ++++++++++ .../tile/TileEntityChemicalInfuser.java | 12 ++++++++++ .../common/tile/TileEntityChemicalWasher.java | 12 ++++++++++ .../tile/TileEntityElectrolyticSeparator.java | 12 ++++++++++ .../common/tile/TileEntityFactory.java | 12 ++++++++++ .../common/tile/TileEntityGasTank.java | 12 ++++++++++ .../mekanism/common/tile/TileEntityPRC.java | 12 ++++++++++ .../tile/TileEntityQuantumEntangloporter.java | 12 ++++++++++ .../tile/TileEntityRotaryCondensentrator.java | 12 ++++++++++ .../tile/TileEntitySolarNeutronActivator.java | 12 ++++++++++ .../common/tile/TileEntityGasGenerator.java | 12 ++++++++++ .../tile/reactor/TileEntityReactorPort.java | 22 ++++++++++++++++++- 17 files changed, 207 insertions(+), 1 deletion(-) diff --git a/src/main/java/mekanism/api/gas/IGasHandler.java b/src/main/java/mekanism/api/gas/IGasHandler.java index 3d99da62e..e06952317 100644 --- a/src/main/java/mekanism/api/gas/IGasHandler.java +++ b/src/main/java/mekanism/api/gas/IGasHandler.java @@ -16,6 +16,9 @@ public interface IGasHandler */ public int receiveGas(ForgeDirection side, GasStack stack, boolean doTransfer); + @Deprecated + public int receiveGas(ForgeDirection side, GasStack stack); + /** * Draws a certain amount of gas from this block. * @param amount - amount to draw @@ -23,6 +26,9 @@ public interface IGasHandler */ public GasStack drawGas(ForgeDirection side, int amount, boolean doTransfer); + @Deprecated + public GasStack drawGas(ForgeDirection side, int amount); + /** * Whether or not this block can accept gas from a certain side. * @param side - side to check diff --git a/src/main/java/mekanism/common/multipart/PartPressurizedTube.java b/src/main/java/mekanism/common/multipart/PartPressurizedTube.java index f3d1ad25e..8a108cc98 100644 --- a/src/main/java/mekanism/common/multipart/PartPressurizedTube.java +++ b/src/main/java/mekanism/common/multipart/PartPressurizedTube.java @@ -272,12 +272,24 @@ public class PartPressurizedTube extends PartTransmitter 0) + { + return new GasStack(GasRegistry.getGas("steam"), getReactor().getSteamTank().drain(amount, doTransfer).amount); + } + } + return null; } + @Override + public GasStack drawGas(ForgeDirection side, int amount) + { + return drawGas(side, amount, true); + } + @Override public boolean canReceiveGas(ForgeDirection side, Gas type) { @@ -167,7 +187,7 @@ public class TileEntityReactorPort extends TileEntityReactorBlock implements IFl @Override public boolean canDrawGas(ForgeDirection side, Gas type) { - return false; + return (type == GasRegistry.getGas("steam")); } @Override From 0b9a71162a93ccd34006ffe939ab7fdcf1209a75 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Thu, 30 Jun 2016 11:07:52 -0400 Subject: [PATCH 24/75] Updated IC2 API, fixed integration --- src/api/java/ic2/api/Direction.class | Bin 3644 -> 4212 bytes src/api/java/ic2/api/Direction.java | 22 +++++++++- src/api/java/ic2/api/crops/CropCard.class | Bin 6036 -> 6024 bytes src/api/java/ic2/api/crops/CropCard.java | 38 +++++++++-------- src/api/java/ic2/api/crops/ICropTile.class | Bin 1388 -> 1420 bytes src/api/java/ic2/api/crops/ICropTile.java | 9 ++++ .../ic2/api/energy/prefab/BasicSink.class | Bin 5524 -> 5491 bytes .../ic2/api/energy/prefab/BasicSource.class | Bin 5601 -> 5568 bytes src/api/java/ic2/api/info/Info.class | Bin 1222 -> 1281 bytes src/api/java/ic2/api/info/Info.java | 7 ++++ src/api/java/ic2/api/item/ElectricItem.class | Bin 1407 -> 1369 bytes src/api/java/ic2/api/item/IC2Items.class | Bin 1797 -> 1796 bytes src/api/java/ic2/api/item/IElectricItem.java | 4 +- .../api/item/IKineticRotor$GearboxType.class | Bin 0 -> 1125 bytes src/api/java/ic2/api/item/IKineticRotor.class | Bin 0 -> 590 bytes ...neticWindRotor.java => IKineticRotor.java} | 9 +++- .../java/ic2/api/item/IKineticWindRotor.class | Bin 408 -> 0 bytes .../ic2/api/item/ILatheItem$ILatheTool.class | Bin 0 -> 294 bytes src/api/java/ic2/api/item/ILatheItem.class | Bin 669 -> 775 bytes src/api/java/ic2/api/item/ILatheItem.java | 23 +++++++++++ src/api/java/ic2/api/item/ItemWrapper.class | Bin 2451 -> 2403 bytes .../java/ic2/api/network/NetworkHelper.class | Bin 4190 -> 4255 bytes .../java/ic2/api/network/NetworkHelper.java | 2 +- .../ICannerEnrichRecipeManager$Input.class | Bin 1143 -> 1147 bytes ...xchangerManager$HeatExchangeProperty.class | Bin 0 -> 662 bytes .../recipe/ILiquidHeatExchangerManager.class | Bin 0 -> 780 bytes .../recipe/ILiquidHeatExchangerManager.java | 39 ++++++++++++++++++ .../recipe/RecipeInputFluidContainer.class | Bin 2669 -> 2620 bytes .../ic2/api/recipe/RecipeInputItemStack.class | Bin 1899 -> 1949 bytes .../ic2/api/recipe/RecipeInputOreDict.class | Bin 3508 -> 3450 bytes .../java/ic2/api/recipe/RecipeOutput.class | Bin 2596 -> 2599 bytes src/api/java/ic2/api/recipe/RecipeOutput.java | 3 +- src/api/java/ic2/api/recipe/Recipes.class | Bin 1090 -> 1199 bytes src/api/java/ic2/api/recipe/Recipes.java | 16 +++++-- .../common/base/EnergyAcceptorWrapper.java | 4 +- 35 files changed, 146 insertions(+), 30 deletions(-) create mode 100644 src/api/java/ic2/api/item/IKineticRotor$GearboxType.class create mode 100644 src/api/java/ic2/api/item/IKineticRotor.class rename src/api/java/ic2/api/item/{IKineticWindRotor.java => IKineticRotor.java} (68%) delete mode 100644 src/api/java/ic2/api/item/IKineticWindRotor.class create mode 100644 src/api/java/ic2/api/item/ILatheItem$ILatheTool.class create mode 100644 src/api/java/ic2/api/recipe/ILiquidHeatExchangerManager$HeatExchangeProperty.class create mode 100644 src/api/java/ic2/api/recipe/ILiquidHeatExchangerManager.class create mode 100644 src/api/java/ic2/api/recipe/ILiquidHeatExchangerManager.java diff --git a/src/api/java/ic2/api/Direction.class b/src/api/java/ic2/api/Direction.class index 9377993096c313361c53c27b9bc69fea24947f82..15cd477fc921fe885f07eed78075836ccd17c31b 100644 GIT binary patch literal 4212 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 W>EW$y#!W0R${Wp~2#2;!DE$xjbxpbe diff --git a/src/api/java/ic2/api/Direction.java b/src/api/java/ic2/api/Direction.java index f0c687bbf..b550ca311 100644 --- a/src/api/java/ic2/api/Direction.java +++ b/src/api/java/ic2/api/Direction.java @@ -1,5 +1,8 @@ package ic2.api; +import java.util.EnumSet; +import java.util.Set; + import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; @@ -36,6 +39,15 @@ public enum Direction { */ ZP; + private Direction() { + int side = ordinal() / 2; + int sign = getSign(); + + xOffset = side == 0 ? sign : 0; + yOffset = side == 1 ? sign : 0; + zOffset = side == 2 ? sign : 0; + } + public static Direction fromSideValue(int side) { return directions[(side + 2) % 6]; } @@ -83,7 +95,7 @@ public enum Direction { /** * Get the inverse of this direction (XN -> XP, XP -> XN, etc.) - * + * * @return Inverse direction */ public Direction getInverse() { @@ -92,7 +104,7 @@ public enum Direction { /** * Convert this direction to a Minecraft side value. - * + * * @return Minecraft side value */ public int toSideValue() { @@ -112,6 +124,12 @@ public enum Direction { return ForgeDirection.getOrientation(toSideValue()); } + public final int xOffset; + public final int yOffset; + public final int zOffset; + public static final Direction[] directions = Direction.values(); + public static final Set noDirections = EnumSet.noneOf(Direction.class); + public static final Set allDirections = EnumSet.allOf(Direction.class); } diff --git a/src/api/java/ic2/api/crops/CropCard.class b/src/api/java/ic2/api/crops/CropCard.class index e117b0c958114f63ac80433c027c5433c3a6b8d2..b4c31b2527506e72fe173a48b8a8dbfd2791b725 100644 GIT binary patch literal 6024 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 2 && - (crop == Crops.weed || crop.getGrowth() >= 24); + (crop.getCrop() == Crops.weed || crop.getGrowth() >= 24); } @@ -430,4 +431,5 @@ public abstract class CropCard { protected IIcon textures[]; private final String modId; // TODO: make owner abstract, remove modId auto detection + // TODO: add a clean way to obtain world reference and position } diff --git a/src/api/java/ic2/api/crops/ICropTile.class b/src/api/java/ic2/api/crops/ICropTile.class index b359a00f954fbf1dddaeadc0e4bf5f0ad4f9584b..aafb6de2c848a333ec09e3150e81618a4167b058 100644 GIT binary patch delta 88 zcmaFE)x#}t>ff$?3=9lL40h}cHtYY&Q()EK&iZb)kCp$A= mU{u*G!lKV8Y{Fp1z`(-DV9sCxr7b7>v5K=>0S#heum%7Xff$?3=9lL47ThH*6a*68wD(wCnqqUW>ns+!=lf~ZN^~Ez`(-DV8&oE PIgeGG-4dvniNOj0*j-+&oY+#tf16YtaK@>Lc&%%CXm4z#{@E1>zKeg)@wHSMA+zK+2krW zyS^n`G-W>ZTs(uV@oe*H#P)c0xc^R9zRNk~n%$Z`E?DGXuY-NA!~PHlIGDg84m)|o zL9F#w$I5+BQ$TrgbZlIF7E3YQF5xn{V|4MQcFhMNvXI;& zwo;|sIqjXKth#@64;d3jAl%tmBgATu9F6?5JXAw5av5pMl1~gD#b{ATk1=EtAdM_s zvWM%_fp}kir;Zo?MH00%QO#K8IW|t1r+!J&zi`~&u&N)MKHl!F(=l~|5EENNAjam%LTX8LZtOuC*}~K`Jx`nf^M3r<3f9LGOrAK0_|cve?fB*$iCa%_@b!00fQ%ygLohne+7B&nswqE86ug0zxU zhGv@AAP-*hmgY4@6X~Xwm-148*v-uUp!dE_?RVB`c*Be5`+R@j@9%cbxm(=*WJmw~ za~FWA-0>-;BT5OY9ISTmfrB-^z=u9-S?Ay*pY?3;*~lhWvDu|;i37cc~-7v@vdpw*h9^$6qSAH|RL9OO@!yo)9D;eszWvHN1 z^OxZ^fAr9h=jEKDQ%B`_Zm9ky2X*!P_5%$=j*g>_^wvMii6^jxT?PaP7 z*;}KhL|y^KENX0c%yjQnX4@CXRC#kG?v!}0#DfyQ#_RTx_;ha`^KDK1g;5K5TB?-W z&K`(Yj(Zr-kjA-$V$VA(CDy%okQlZ+RFN2UEVON7dloDrkO=1UCS`;uq!O3x;rf&l z@zuZNd9eq?$j$mIY4 diff --git a/src/api/java/ic2/api/energy/prefab/BasicSource.class b/src/api/java/ic2/api/energy/prefab/BasicSource.class index 164213b2c6374ebd4c8f35f686458dbfed330fa9..afe8e25bc69b25ac2c0d23bd2d31c1b4e821210e 100644 GIT binary patch delta 830 zcmZ{h$xjqP6o)qX&uG7-Jwt!^LPcG4Y_{3d)EpB8ZBp;EFqH zxgoNNySOo~h>E-7zVC^8@aUhQR$<}^4*k`u_xru~`gMO#YfCF@|J`x}i15|XDD|>} zl|EKc=4Bw|2CEI$7_2o|=V+{V*g%EBMu$yocG$vJ(_oviZ1?J@(nJ~&c9=*b!cG%u z>_Q24JA^6Q3E{~%uq-Lz7xl{%H@Z?v{6Um#ok zNJvx_f$pC1U@?J->O>&J&SH}K8OXIKGey;hda8niusxM&YIDLyd%E_7f*E$U_KXW= z`f?beD=lW|d~I;JJ(FDZEm$1-mmjG|#^LgZwIj+bH8-)um&a^v6o$VygL7vdmo_rY#)Z*Hq9&qX16y2ZG-5O?#4aO_NO4326cxuVR@7@j z#flv}R#d>=dv6#Q#>BO20==gtyyNvBQ+^G>vx&s%_e#O8n-yUs)!lI}(ZUK^v`fzmlm?Ot z0->CwjFM1s?#$qjdD+3j;@nxGetK}-cSofo@0_HL^MVVKi(HcQq?e>OeI$KJm86-d zKLaEqNf%r;?kkddt_rS6uG1iBlr+&Gxxr1zEpAKhn9{oj_ed4omptI1YHpL{c_er& zdBRhb;2IV8jOTiRU?^CWQzm)AOI7Mh@AQh-k~h2+ypz1=gW#hihfk6b<{dsuzR+Cv z!`0qp)hc&XzUY8k|NF378dYfpls7s>c!|);9yL0;#;Q`kqO+p9XvL$oF=XOUnK7N+ zW5Hq^<5fjWnsWjZ)t#7W&PhyGVP8izD%S6uLYB&nt#Agk=T~f+bE@|Ah#MT4O&?up zF-_~`af6&ermM!d65n5am>v>=BigSWIm}SQy=9TP`63A9hynZWRefJLZ6=)~S z)Q?MNL;AFsrTVsQJyWRG{wFhAHMbq!YPTYtNl+Q_DgM@G&7oLT$EW&A=%puvgHq;d fTFld%{fr;%EYllz^9}vC@%)yrlO`6lxEKBbpMt=? diff --git a/src/api/java/ic2/api/info/Info.class b/src/api/java/ic2/api/info/Info.class index 7099fae6c95c6f68ed87490f8f5dbac846ea45aa..7e50751d5e1458b4d9ead8faa37a99a4975cc397 100644 GIT binary patch delta 374 zcmX|-&n^Q|6vlsds-`n;6G@}Wn4)OaztK|E_*ZJtM6?lm5vimLtNG$GmzVEx=J?G@USr4}V{`2w*6gjpTB5z@{V6(_ljAfe@yZ}}$3KRpj z7Tm3yluR}r{jb7sqkdkipI)3*sBVIQi_;_!l7ci;RuMTKE|^c@)Lr8TVzG$L>bKg0&uM_9smFU delta 333 zcmYk0y;1@}5QM+I6Yp+aA`}tD!#`B~K~Pl0eJVmD&% zzWb34%zL}UjHAeOMBA}X)e!c3(i}Jr={Sz)MjSg%ICY$H?zrG`cpcmt6J>8IKs2bH={SosZ5-=+q9}Q#X#NCg83iIj`QmUGiv#YVrjn@{*2`9;m6|_3l s@|v8#-U3rBuqe%vUPO@pq-2O${!39AolpuhB=9NBzZ9vu70m)_--dc03;+NC diff --git a/src/api/java/ic2/api/info/Info.java b/src/api/java/ic2/api/info/Info.java index 3b5a54426..f8e30ad25 100644 --- a/src/api/java/ic2/api/info/Info.java +++ b/src/api/java/ic2/api/info/Info.java @@ -1,5 +1,6 @@ package ic2.api.info; +import net.minecraft.potion.Potion; import net.minecraft.util.DamageSource; import cpw.mods.fml.common.Loader; @@ -16,6 +17,12 @@ public class Info { */ public static DamageSource DMG_ELECTRIC, DMG_NUKE_EXPLOSION, DMG_RADIATION; + /** + * Potions used by IC2. + * Getting assigned in preload. + */ + public static Potion POTION_RADIATION; + public static boolean isIc2Available() { if (ic2Available != null) return ic2Available; diff --git a/src/api/java/ic2/api/item/ElectricItem.class b/src/api/java/ic2/api/item/ElectricItem.class index be926067550b2d7ce764f495e3d74f985a79ac2f..ad45f925c74c3fe51a546f46087a4ce26455032d 100644 GIT binary patch delta 187 zcmWlSIT8Uu07YLns?AJGC6=;}ZS4CpgihclVrNiu5+$RGOyCAWcMvIs7X0^r)eHXD zzT5uob36kbmNpvK!lCR?q54P7p^o=QL(z0lv=nU{3s=!mboc&41XDQ{y(zJ7R+ZBDjK}xWKZjxFClx;Ruu-!_v$FID@gXkdA^ANXa#f zQHSFFB=05fZS|kdH@_dBK+H^IX@wZthATRI>Kd-O*;7w(Yf!|Bz9yul7$}Bs`A!t& zq9G``=it~?WhN3gmuY!qNy#jC+$$2xm! o5vNE$P^ZQj!e8rpf9|#6VF`W+70t@GZyj>s>V=+)d?LC02bL@y?f?J) diff --git a/src/api/java/ic2/api/item/IC2Items.class b/src/api/java/ic2/api/item/IC2Items.class index 267272d0bba15ab291df1b209d5b47422980a04a..6099951822355b0e29b1df0c74698a706f4ef953 100644 GIT binary patch delta 90 zcmZqWYvJ3_%Enc~z{0@9z`&p+Gkuw{UHv<=w4+B4wAA>woAcG=MN(`ugpFx1Z mh(Viyk%5gthQXM@1SqZp#2gHae;DN18BBpPW1LgtCMR!}@$(R$Hb_TaxfANKf#a2>7pZLM(hn@B$*o z2WIdYdQmP>xPevQPNgCgXDmaY50DDQ)pLYC`sQi6D|ZRExpds|F>45u+_j027A3-0 z=_|yege06Je1?dBkwyO!4Spk&Fs1=J632+P&%ij_WpXiJM2d>Ej0_b)1BgOZ^DJd7f$+C{Gl%g5a z@F$O8!`dCK8or$AG>SVH4QrJIaJmv~v;HKI?(J#<4OV+ECh}DZ9Itm1sC@VM zp)_OvVK5=Z0%z;{SEuI$1TyaDfm~J~2M=(#gWUx4C?r@+`BI8y>^VgSm89-t+hN{0 KZMl=ZJo*CNd#hsr literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/item/IKineticWindRotor.java b/src/api/java/ic2/api/item/IKineticRotor.java similarity index 68% rename from src/api/java/ic2/api/item/IKineticWindRotor.java rename to src/api/java/ic2/api/item/IKineticRotor.java index de696e381..a61d1622c 100644 --- a/src/api/java/ic2/api/item/IKineticWindRotor.java +++ b/src/api/java/ic2/api/item/IKineticRotor.java @@ -3,7 +3,7 @@ package ic2.api.item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; -public interface IKineticWindRotor { +public interface IKineticRotor { int getDiameter(ItemStack stack); ResourceLocation getRotorRenderTexture(ItemStack stack); @@ -13,4 +13,11 @@ public interface IKineticWindRotor { int getMinWindStrength(ItemStack stack); int getMaxWindStrength(ItemStack stack); + + boolean isAcceptedType(ItemStack stack, GearboxType type); + + public static enum GearboxType { + WATER, + WIND, + } } diff --git a/src/api/java/ic2/api/item/IKineticWindRotor.class b/src/api/java/ic2/api/item/IKineticWindRotor.class deleted file mode 100644 index 00f10fc86f1111a2bc90c6e9c78dcbe8f9547b80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 408 zcma)2!AiqG6r8PXqpejD^eA}KiwnK>Y74=NkO-dF?Mr+$*~t1L_18T30e+OY3Axyd zUf#ek^WMz+`u_L?FvVenNrVH1aZYm0rX(S+aDK6LB)Vir)|*T;3za$!BNbzxXP2?U zNpK{UR6ZfMB7aXCsXZyo|MG6Fu7wMo&}&tDOUud{;mXYvCSm_P%h)nG`~Hti3x(t0 zxn=jjZk38Bm&;Q}n$2%=l(zR4T!hG{@l9wdY#UA6>1u7>jKUe)sWva%_1{)095p&! q7?!lO#2@lV6Cqb9iiK+P`Xd9%|S%gJkvmOsJ zLb|B7wUHNF2%(?NIef~VF+% J6RwaZoj=E$OzZ#v literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/item/ILatheItem.class b/src/api/java/ic2/api/item/ILatheItem.class index 7bbb877def79a570416ee644ff9dd5fa045d4651..b6a25ef0f74f8b9d24dda7a6f229c2d282cecaaf 100644 GIT binary patch delta 225 zcmYMtI}UCf|*jji1kKzfejN@8Z zOui}R|L3Bg4FB=I-2nuca*Q~}91{jBjN)=9R(YN>IANBFVv)vD3VCflnPYE7xr~cV zCZs&SSaf8VCF{VC4~d_YV(ff$?3=9lL3=-@NV(bj!8}(l?PF82~iezJCU}RtdN-;37u`n_)Gq5l) z0BKeRHZaZ3zyYQ?8MweSHvf;CM;sw$IKrEQbAjBXHWQYI-nHWR?kMRk) diff --git a/src/api/java/ic2/api/item/ILatheItem.java b/src/api/java/ic2/api/item/ILatheItem.java index 2baffc8f9..45988c42b 100644 --- a/src/api/java/ic2/api/item/ILatheItem.java +++ b/src/api/java/ic2/api/item/ILatheItem.java @@ -6,6 +6,9 @@ import net.minecraft.util.ResourceLocation; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +/** + * Interface used for Items that can be processed in the Turning Table + */ public interface ILatheItem { /** @@ -44,4 +47,24 @@ public interface ILatheItem { @SideOnly(Side.CLIENT) ResourceLocation getTexture(ItemStack stack); + /** + * This is similar to the Block HarvestLevel. Requires a different tool for a different hardness + * for ex. the Iron Turning Blank has a Hardness of 2 (Like Iron Ore (Harvest Level)). + * In this case however it requires a Tool hardness of one above (3) + */ + int getHardness(ItemStack stack); + + /** + * Interface used for Tools that can be used to modify {@link ILatheItem} + */ + public static interface ILatheTool extends ICustomDamageItem { + + /** + * This is similar to the Tool HarvestLevel. Requires a different tool for a different hardness + * for ex. the Iron Turning Blank has a Hardness of 2 (Like Iron Ore (Harvest Level)). + * The tool requires a hardness of one level above (in this case 3) + */ + int getHardness(ItemStack stack); + } + } diff --git a/src/api/java/ic2/api/item/ItemWrapper.class b/src/api/java/ic2/api/item/ItemWrapper.class index 7c6a6de707f846c8ca7a2fad53baf7a0e17558e5..5454f5effb4687138c583cb8d368fbacb325101c 100644 GIT binary patch delta 363 zcmZXOyG{Z@6o$VY7KddwNI;D?1T^u2cT~J0-Vi}ST@>%PXlJQCg}%YmK7=8$u&^=~ z`V_{uFwr<`>}+QKbLKne8x{SCxUb)jPe6*(AYsNW8kw+}WGcusGhWKr%#yX4W8OO! zB#Sl{OCFk&EZaEbgRD@H6eX+oZdzFWtLwA#OM{pSiB?tfHK;ccG1nxe`nxC^-DQV$ zHYA%4E)|C@wk1`E9d3rFy;7%_Qi>7H`YHW7#6L$uJ6Z@Zs;X96j_GMZ`UeTCGwA>T delta 392 zcmZXP%Pxaq5Qd+A{^o1@|DmBIEJPiuj&-OOMV+g(4s|}2N-Qc8NmI5W5;yQ)iF9Wn zHY_aMgu9Rs)5gwb-kHoh^UQqK+I5-tpQmSFh%*mf#@y5}ZW3d{!z5GXEN(K*jL9r> zVFmbb3wk9-7CKgE#%dBWpn)G8PqMB5`-GMK4k-N!-u8aB0P_lSl$Q7>&G5bNq zj8)BA=~XQ|g6kF=WHg%=TWnkGu&dd#*ylhz7Ka>J9Fw)9M%)}^NONLwO0INgyeY?v zy`*mw-57Mr6|J;Ug-CyByf1&E-oj&?)!r+&97{|Y7Z@;tW93U3KsRY5GVVH4Af-;blEDcB#L2;q171w0}0dZHfvfaFO z)2xnoLDS4I%Ps=bVmjHocBWqSqIZpdfYbY4)HHpc!wwdc=f&^&U7p|be4fki+%COP zmi+1O8@B+|VA?=FqJEU4S0QG=ji|vzpUnDo42axmz{H@ACWRq|VTE0?F(Q|Ci*j5c zVPFqN74|CZGq3=!$lB+6b_2&Asw9}59vu+WVcES$n=`@FYIKO>8AoV7FFbvftok;T+J zY9WkmcA2lxcizGUd~C1q)m7BvqJ_s$r|^k|OZZe_!op>ICc_mAkBf^+`!{!`ealy7 zE=Qe(CuFbKe$Z8%6t|x%oV4(Tc)W@)HCVy$a4a|&iH{DA^jr7}Uu$s3dTKNj1$%}@ zBEdvFHV|x&ZI7%C$0MWReLRjv;u`$3$IYv$s^;#0gKG+t7LH>|LqT77Pq=y@JQ%I+ z=p7lFj;doW*Ta=|O0P&_855q*F7UySa5*z1MUG^Ij$}NJWFU@YER;GlFryq-a8*sI zQF^OppiOe(LL*0?vss8IIk#pNuoA1d@}mh)6>&>$|3XDK<@PDKGFWD(jZ$C0Y7cn= z_HCmvxfvl8P(dt~Kyj=mWCQIqVl&4O?RU{`4{eI4QtEcm!)iQD4w}U?SVJkZwRo0J zn>qKxQ)_NfXz_E}is!N{zmvtooCdAR{kW|rBf0jf7Ow5raunz0#Qudz526ASZ8q953rZ#MxWzyVa@=|qaY6^=o zXe3l<2A=Eirr`@H4r%Du;SUt6?_q}Aff6ToH>^-{7`x{Y$C$A`hC6^^4Doa)2?mkm zN^)0AM+r88t=W8v|K7QL_Ga^$ z&0?L|oy}s1hGx6$Ul>b>A(cIvE0w*P`+p=SNHRu}Q#3G6lG7wPLz1)iAd&3IcMlRn z{x(^XI6O{cE(w&UQPEoUBkWyyCEe2BMNXkFF=G>~!e!*)3KsJxA+;&ur99k67U^Lh z7Ln*B?n}&kj(=gX!ppqHUsl%9Ilcs`SciQl?}4P7&5=g#f4gVt-R=pdQLUx%2=(&Q z2wZEui3K4(=)xZyBh6^x|6=wT=28ORawpBVGvnaN18;ST({mT<540#gI}H&D%!M8Q E0Jpvg1^@s6 delta 1558 zcmZ{k`%hd|5XZlFFPC#)+hUfIXrL|+jUjf?(qf-tsa6mwRf@1|wJx~8!WM9aMMYh@ zefesY-qw~@TeT0X_0iHu6B})!i6kcd!T9*m_z&nmP-Fa_vo{-UEF^d4oHJ+UGc#xQ zWaV$+><@o`^$mdKxM1TJBrMdRUtqw7j)cv{pwyBkhNK*};UHzAQDBF_h`^}a7?YQt zmBwj-=WL8)LLehBX`>X+%flB;v{-l%Qx;yrluhkro7yWD+G>zB(JnA8uv41mOms@Q z%S4yJZs~uIjlI}sBZyZ`ye8%ACf+ddriuOX{D6(O@V3Cr#UIxOw9KWTUL4R4dZk9A zHsftIYRpww?J~o9Z`vp~qv&zr;gEOQs5B4D#XC6ST{AY{briEM?!mn-w&Q6HB}4H{ zye<_V8K`UT9ZK|#3mkKC9PfHf#Ve~;;XM~CP%m)8#Ywy`@PUgDaY}wpyI9F+v&C&r z1L|Gehk6YaUS*)7-9;2<1P;15D?@*Ta~j-8d@LCmNsLd9riWd8j88P^$-d^R&f`;o&s=CKoSZSnD2>|7&@NI5U@gDJYI6zJQFrqOSdaU;ve1YJxFawBL_3{3=$}Ji zfhD*ayw&^D7G?-;N3f-p=yw~vCa^)p3)6NR zy>6gIfY$xkhzBX9_7FBP_QTXI6g4>A0?iiH7Cho3{XwK69%trIwt&@FpnKm2%e-rj z2oUENrz1Ov;Tv$aFzjP!Mh6D*1W&gjg-%SMOX1YgU&_bPrRM@p2CZmQ#mQhZ9wn>~ zw$ADG!P>DU52hIeGk9I(=1{(XMp>)H72<0+Q9XpE`Evd2Mzd)~{%^UGEW{A~r;x@d zPj_GvBiM;C#kYcPC)s^jE}40bxjarOwGQSYyPH#_vY0tVsw+|lMc2{faQ>SeCfLd3 zHH2hie^reIl5+^>`x=(z`#rcR8^cpK;APp(X$H@+lY4l&i}SRbrQBQS=61h)5+GS9 zU(zpMp_?(kXkC03`3Lqdjw*8a-L$F=zii%ji~f)35Qz?x=m?39k?1IiW=VAXCPcDK z^6w@@Hix*!Cz@c5Wg68X)Xd|K*4ppAeT#38$+umm`g@8m{0x7k&Y}e85XN~Gvy7KY z_#ad6SD>6P{7K%CxpN@@LRgT~mcK-PpfsmIw(f3EE4i&_9?P_OL@u;mL1~nuy5y=l qtV9(jI6qp8D1k4zGmmOqR$=AnR;%L2{a_qyzRh0l_i-nHXZ`{CChso* diff --git a/src/api/java/ic2/api/network/NetworkHelper.java b/src/api/java/ic2/api/network/NetworkHelper.java index 5f9138d30..a91d03a64 100644 --- a/src/api/java/ic2/api/network/NetworkHelper.java +++ b/src/api/java/ic2/api/network/NetworkHelper.java @@ -178,7 +178,7 @@ public final class NetworkHelper { */ private static Object getInstance() { try { - return Class.forName(getPackage() + ".core.IC2").getDeclaredField("network").get(null); + return Class.forName(getPackage() + ".core.util.SideGateway").getMethod("get").invoke(Class.forName(getPackage() + ".core.IC2").getDeclaredField("network").get(null)); } catch (Throwable e) { throw new RuntimeException(e); } diff --git a/src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class b/src/api/java/ic2/api/recipe/ICannerEnrichRecipeManager$Input.class index eebdb6bd1418bb5dd2b7c08ba7431a6133c81fa0..309dd5d1135b6988c4d3d571245a8e125883a0ac 100644 GIT binary patch delta 29 lcmey)@tb4ATV}@M$?urWxVadZ7#JAz8N?Y3CTp|!005F62W$WU delta 25 hcmey(@ttGCTV}@m$?urW*x48u85kJ!C+oBL004KK2OIzZ diff --git a/src/api/java/ic2/api/recipe/ILiquidHeatExchangerManager$HeatExchangeProperty.class b/src/api/java/ic2/api/recipe/ILiquidHeatExchangerManager$HeatExchangeProperty.class new file mode 100644 index 0000000000000000000000000000000000000000..374f186d785a9e3516199196502d61ff5e2037d5 GIT binary patch literal 662 zcmbtR+e*Vg5Ivh#V{5e5``ro(HG%e z3uL(I@l<+BgfbPLAIKZ>{=He9@R&D+TKNusG1Bdd7fGfyNP9`A6g)2(mClag>OFMT$$*UcoR?4--=PXhVrA%qsO{Snp(n UEc(VMvoKE5AW0fNrZIxTI~DAtp8x;= literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/recipe/ILiquidHeatExchangerManager.class b/src/api/java/ic2/api/recipe/ILiquidHeatExchangerManager.class new file mode 100644 index 0000000000000000000000000000000000000000..b58008d8650846a8c4786adf82e17273370d996c GIT binary patch literal 780 zcmbtS!A`M&fT*A-@uZ0+f(JL@iqROANK&Fn6Ypy~txM{*Zns8%&4VA{M;V6# z5vB3sVRkk%vor6#*^ke+cL3-@%Ysb{nigzXu+5-(jlx{LxDP@Fc&norwRvSw8z_bP zA{0r234^lmyndKUk3qX_kHoX!AwA%Z(NYDy#mJy@$DkFU$#3tqZH0zEN`Y8U%5BnEqbD0V#FA%mm*w)1k%G-go$-uun{h>$Ya&wu{|7K5|=s=O(=n=CP4 vP#{~PA6zUlu%JvA+80zazXCPNu2QxDYZPCHdUkJQ=LVF>SE-^%whWao{v+}V literal 0 HcmV?d00001 diff --git a/src/api/java/ic2/api/recipe/ILiquidHeatExchangerManager.java b/src/api/java/ic2/api/recipe/ILiquidHeatExchangerManager.java new file mode 100644 index 000000000..68decbb39 --- /dev/null +++ b/src/api/java/ic2/api/recipe/ILiquidHeatExchangerManager.java @@ -0,0 +1,39 @@ +package ic2.api.recipe; + +import java.util.Map; + +import net.minecraftforge.fluids.Fluid; + +public interface ILiquidHeatExchangerManager extends ILiquidAcceptManager { + + /** + * Add a new fluid heatup/cooldown recipe. + * + * @param fluidName the fluid to heat up/cool down + * @param fluidOutput the fluid the above fluid turns into + * @param huPerMB the Thermal Energy difference in hU for the conversion of one mB fluid + */ + void addFluid(String fluidName, String fluidOutput, int huPerMB); + + HeatExchangeProperty getHeatExchangeProperty(Fluid fluid); + + Map getHeatExchangeProperties(); + + /** + * This returns an ILiquidAcceptManager that only accepts fluids, that can be heated up / cooled down, but not both. + * You can basically use this to check if the liquid resulting from this conversion can be reprocessed into the first one. + * @return Returns the SingleDirectionManager. + */ + ILiquidAcceptManager getSingleDirectionLiquidManager(); + + public static class HeatExchangeProperty { + public HeatExchangeProperty(Fluid outputFluid, int huPerMB) { + this.outputFluid = outputFluid; + this.huPerMB = huPerMB; + } + + public final Fluid outputFluid; + public final int huPerMB; + } + +} diff --git a/src/api/java/ic2/api/recipe/RecipeInputFluidContainer.class b/src/api/java/ic2/api/recipe/RecipeInputFluidContainer.class index 74e0273f89110c633f8e0f7203d4690ac2d475ec..703455eb6935501a65a81af4ab71226db2a33466 100644 GIT binary patch delta 1014 zcmYjQ$yO6V6umvAl1`hD5GDyBQ9($f$l!pY5(g9noEQWYi2@2DDuYKiX5$ZVdhbrz zu#h7J6pt=F#}9Dj2e@(X!Xw`5L}bzL)qC~o-uqrv|BQT$WWN6S@CiU8o(P;XQG)X( zO407)>Vh;EO(^Iv(TPg}T_(I}mzi!Kn$RQ7Wk0Uqs=zf90knH@UHV>W`n>2jF@PIh z49a*&U|8U$z%2#F#Pq`Cm;xo?q?E+Ut5HQ6aki9J<+jtR&Nv=zT(EXjAnnX*i<*K% zi!UmjP9xM~A%-ex?pWB3atl#ZSh$NZfe{Pim{3qSm42G8Uznequ20R*rk{6B&dpo6 zhx_t`ZDA6%#I`Vn2TrfvTrrJ@7N#*nInM+hS$K>T*QYGBA?3W*zdI{xhpyGs_P^UO zvP!0e6H-tH6(K2s;|oa@^d9D8sHBZEN_vfEt5!dTM4+}WiSZpC!B02 zM;P5EjG_j$gg5x2lCVio$0|Rx-|!0@2(-yg52Btn&JF1mdV`dPWXcUqP8UctxfE8e zB2U2wf(DkwS@4^RI^(Z?_Rgs9WA$D2Ezqegob6`S%kxd4CL6eh;S7yqRFCID&0Aeh8+X3 V^D0%GajVYaFunX`oA@=u_ZO*jdNlw5 delta 1068 zcmYjQOHUI~7(Mgiw$p*qN(*R#qR69DVM+<{y|S z3t32nf@0X3_yb(&-i?V%7Y00cIzcwyz2A4wob#QN_H*8^ywumtPa6R0@YqBYCr#v| z$Isg-Sx%ccgI*JTI4f|@gg}p+oc9xdL6(aFT*766eiPZ~@nJxogR)%lVaUW)4Eu0R z_SXe&2;3C7rN9`UdNMhxptN^->19e$MjTabRc<@&>a<@UnVl_D&^P6(3R5omG>wfQm&MR3cgg+lDMum>@LF$?3E5E!v=7n9DWRuH*|`x23` zFojAISa^VG$JQH)X7JF$3?3;^o(jxbm_rxuZ5EEB%Xy}M7g}Z2fP$L&7bRRL^x=(> zR#H)>q@VyQLQ(6B;pqKVgTopQ})o*rl-3|9Ua0mm&}xSD=#g z26L)Hf&wCf%=ib- zES{a~5JRge_&NvF56 zkCPT0p^a8frJc;=C~q>H0%%+O&=6=7Xcy>EXukXpB|7=4;uvxKNwP}Q{haU}_ByhM zR*@49rjaYt8%!e<4rdxIja|Hj^H|b|NP9bjt=$oHIyhsIVBBIa z6PB1~O(w&fvj{Pz?epytp4Q@mHfKyOn#@|{xny$LBFaRVD_YNKaW%{}t>;ayn=F_V z6roD>*^9bjaK2iuJ5M)X{s>BJc57WJ6~95h%>W0rxM_2XMRy~R&ku0hW{EpCz3j8; z(^+>JRb)IyrCMI8l~(JkYqck3XRTI#Tv@3*g<5%5bY-nts;w*fH{bS$P43wgx$i~| zC$`K3n`Is<)RfI}PHYtnS2Ysyc|{KaV!EB|CZ;=zZWI3igCd8-n!%79u(G+_Hfo2! zd$9r}wa<&#=#{3#PP8)FPg*P;KOkgjtUv4XUJ1_tw-m~%q`ML7o70s^?USlMm1)0H z`wq!e0S-&N6ZMO343mt>uo90VOU@@hcfW-u8%goD=IW7?^zNF=`Ac^g@#fOZHjH6o zTF-cdQJ>_9*7Q(z8|#fcTHn=+K^Bt|X}1!5q{88-WDT(Z;{?56H28^*q9Kg-#ScW@ z{l`h~;zWJUF)wFK%H>WXhurUNsikOfht7DcNj%r2E51h_O}hW_BHr>cgc+tw7NX~C Tonpl2hGm^6{ZpLsdYt|ZA@5lo delta 725 zcmZ9J+foxj5Qe|mO|qMfdpL78V!h1RPZdKMtuXT^aZrI^pcCc_6@v{ zf(jN@`T)L)@1SD|)Va-0`^Uac}EQU6(dpxx~<9V{+#2hbtNgTJ81@W*28mJcmh*r5Q_^ zAtLd|G9^d&P;BNR*MrME$3-nOAD;xOC-kLh{3y zU$R%%W7=cJNW?HpD<{8A8l~=r_N5abQ$=F4p5njcn0DHe@=Ca~?vnO5$9ztS<<#n8 zYlq;IT(VI!WFtk|OpqfDCy7O+%j&RNNR!pVS8U%EMtSWEL!b9?n*VXCIpF-jl4-crd2h{5$av5;oAFq-wZU$c#F(Rvogp!Rsmvent{ki-b&Zlo& F_zguCK@$J~ diff --git a/src/api/java/ic2/api/recipe/RecipeInputOreDict.class b/src/api/java/ic2/api/recipe/RecipeInputOreDict.class index 5db8622125d90e8bfb608208ff7cd540a1930ccc..476e53666b69223844409eaed3faa1f013ecb63d 100644 GIT binary patch delta 1414 zcmaKs*>hA?5XOJ!&P>iMH!-thF~JZbpqU{ViA#bcF`%M}31i$a3KET|h=Ph@Tw)Yl z!IkTR;_^iK8Wa=6DlN+@9(?fKC;c-lDuCa)H;k4KKHTm;eY(Hy{?0k~MC+NB*%`VHm$EG->pmy8J2B}t?oU(815Qk3c#s_#9^zpq9aHLm{WK40+Vx7oyqXF7v%QwWaQf!PkR zY*wA)Il!^r?R@ z#9ilbgHy>>rYHC_**f4FDXIn(s+omqW??DQ?Yh}x%D$HMQEz5%(3d(WoL^GCvkqq~ zDX!Nr{S2t)B+U$}Zc6KZu`;AiVWwJTh7Ix=5=^sEe0t>ArTiOIrI{VvD3myDY-f{D z65OP0zZ&1I_?zYFBeh7q?Pqw%oL86DGGe*KGHfiP`o`caD?`_4W|LW@$^3;m6VkDn ziW?>PDcx9dCsd;qBGV1yN};mR=@@QhTsb;mGkiF+F;hQL`kt&|fm|?_S(D3qZ29{9 z?_DP;%qcHUPjD!+KBQ$(xE*?&w`ttC9$q%I5{kM&hNB?5QkH$(E($yi-OC-KB^D0u z?n)HZt-hkYZtXb=+OX%SizXgx*JO#aG-#>W8&|tQqkDR%67>uu*9Lq1hS`RR1sZcr z^E4MvkeKJ&Z!o?`lQL7g<>&1&MZrum20DMlk= z-2l2(Wwogvf~0#w2c+E->QHCPPwVbW%}K;h(mq=Hh84%$d-#s!r3+kFYMVAY^yp1> iES*|G9XJk6_3}g>$Du2n!t)o&i>rTeG@%WTd;SKq6}>?K delta 1568 zcmZ`(TXR!Y6#n+fWhW<_LX)&R}G&0WkkhS+&*Kd7m?Oa@WepUI` z%Rl@CU?V=au^JDF7_`xheNoAOF;aY<{1`J-p%LcEYUt`+f6kcVh!E1Qk;56P)NV})4beG1P25+HX zA@OhRZN*~Yc;D#JlEK^PmlCeQJ9t;)J%ji0fkMhvI_3TuOl&xV4-L-XBLy|d-&TXY zxSyA9(SB@@g`@F_K$Nm2ADl5uh=Wb<%1c)_>E*8J6(UWqiMCx`>xfNh~^v-}3TyNnUp*vL-K( z>Jg%>V~u)5kwOg`n61&vm!%e5mL+(}YQAJ8pIC*F0CV1mn|#D-%1uX4sSfvSw6iR2 z9%SP?7`qu;h-5!2+)Ol4er>^4vZcxHz39d^5(94IQoSi`r&ST*B;y_8k8|~J#cizD zz?I+0_#m1vgxi@fggY2*s{T3p_mrvXLUaKuGL<<-MA8J(EZ)s z9$TJwzQ+oMdDOaVW9#E_3wzHl{+7Fd#4IC&=x|43n?243$W$}m|2k=`~+}- zyC}L4VP`#^%xH--Vanf3jS1`_Qx;k3B)bkd6Mkgne6JkQ`nDWxJ+w7JUq+2Cd(7<4 zkb%%8)R8E1)GB=V>wX^t`K%~q*=MMiwui|}_!l@oBAK5@UA%q{DWPf(4e>_*9^?^U zNim02v;Xf`hUb{}gTiyTsv5*P0gv_?o*=;*1DwpBE9f7t&@T;fE!zo?e?XK1cABTW z%w{5M`k7CP$1Fwg0->c*Y#(BxDGLg%>m4DuZBAlGLI85F#F{_Ab7)Jt+m cLbIx_p|25|1xpl`SwMnpUP0pnG+21>AJSIT)Bpeg diff --git a/src/api/java/ic2/api/recipe/RecipeOutput.class b/src/api/java/ic2/api/recipe/RecipeOutput.class index 0dad69cfc545470a67433fd9edb423d9d9ddcc4e..a2a19b3b1e48f991a41b45bf1420cb23daf47b72 100644 GIT binary patch delta 123 zcmZ1?vRq^X9|vR3WPT1aM)}EZ9OdR_47>~s3=$0N43Z2y4AKm)3^EMf46+QN3~~$! z3o2o!Jw3NSIa0{}d^6#4)F delta 120 zcmZ23vP5J99|vQ`WPT1aM#0H$9OcGF3_J`B3=$0N43a>WG=n#T978CBJVOG5B118Q z5GD8=GD#J7eHHMiC8Vs`;bS8h{s9@p!%b+y5fHQ*8aPmn`d2Uk%MxZea3_`*T UlRt54@bWq^0!7?_B1{bK01#OeoB#j- diff --git a/src/api/java/ic2/api/recipe/RecipeOutput.java b/src/api/java/ic2/api/recipe/RecipeOutput.java index 34c7fe9c3..80ad5fb5c 100644 --- a/src/api/java/ic2/api/recipe/RecipeOutput.java +++ b/src/api/java/ic2/api/recipe/RecipeOutput.java @@ -25,8 +25,7 @@ public final class RecipeOutput { RecipeOutput ro = (RecipeOutput) obj; if (items.size() == ro.items.size() && - (metadata == null && ro.metadata == null || metadata != null && ro.metadata != null) && - metadata.equals(ro.metadata)) { + (metadata == null && ro.metadata == null || metadata != null && ro.metadata != null && metadata.equals(ro.metadata))) { Iterator itA = items.iterator(); Iterator itB = ro.items.iterator(); diff --git a/src/api/java/ic2/api/recipe/Recipes.class b/src/api/java/ic2/api/recipe/Recipes.class index 559ffe86538a8a6271ee6f9efd10918472acd264..11854efefeda5ea5d7ecf2a9fe2ce92725f22ea1 100644 GIT binary patch delta 229 zcmX@av7S@()W2Q(7#J9g81%Uqm>G1~8Fbkh^fro4V2T#a$t*0*OmWW7&q>KI&+|>p zOH5BKVr0D$L8MN3Lv^R=QV4BRtT+OV&pg6gK*_2Ua@;2s$ z9*hi(3_uYesRY!b52P7^G^^Hj2F8s*1`~rakYoc3ax$m@**p*h45|!jKprE5I#`tk E03^u|N&o-= diff --git a/src/api/java/ic2/api/recipe/Recipes.java b/src/api/java/ic2/api/recipe/Recipes.java index 4c1259768..0aa0b75a5 100644 --- a/src/api/java/ic2/api/recipe/Recipes.java +++ b/src/api/java/ic2/api/recipe/Recipes.java @@ -3,7 +3,7 @@ package ic2.api.recipe; /** * General recipe registry. - * + * * @author Richard */ public class Recipes { @@ -23,12 +23,12 @@ public class Recipes { /** * Reference amplifier values: - * + * * 5000: Scrap * 45000: Scrapbox - * + * * As Parameter for the Amplification Value you have to use the NBTTagCompound - * + * * NBTTagCompound nbt = new NBTTagCompound(); * nbt.setInteger("amplification", aValue); * matterAmplifier.addRecipe(yourStack, nbt); @@ -57,4 +57,12 @@ public class Recipes { public static ISemiFluidFuelManager semiFluidGenerator; public static IFluidHeatManager FluidHeatGenerator; + /** + * Used by the Liquid Heat Exchanger to cool down liquids and determine the amount of hu generated for every mb. + */ + public static ILiquidHeatExchangerManager liquidCooldownManager; + /** + * Opposite of {@link #liquidCooldownManager}. This is for Liquids that can be heated up again. + */ + public static ILiquidHeatExchangerManager liquidHeatupManager; } diff --git a/src/main/java/mekanism/common/base/EnergyAcceptorWrapper.java b/src/main/java/mekanism/common/base/EnergyAcceptorWrapper.java index b8059e239..d4efd3e4a 100644 --- a/src/main/java/mekanism/common/base/EnergyAcceptorWrapper.java +++ b/src/main/java/mekanism/common/base/EnergyAcceptorWrapper.java @@ -170,7 +170,9 @@ public abstract class EnergyAcceptorWrapper implements IStrictEnergyAcceptor public double transferEnergyToAcceptor(ForgeDirection side, double amount) { double toTransfer = Math.min(Math.min(acceptor.getDemandedEnergy(), toEU(amount)), Integer.MAX_VALUE); - return amount - fromEU(acceptor.injectEnergy(side, toTransfer, 0)); + double rejects = acceptor.injectEnergy(side, toTransfer, 0); + + return fromEU(toTransfer - rejects); } @Override From 8f8f1751ec1425a793b449c08c0852f8166ff0eb Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Thu, 30 Jun 2016 11:14:21 -0400 Subject: [PATCH 25/75] Fixed Tesseract and Flux Duct support --- src/main/java/mekanism/common/base/EnergyAcceptorWrapper.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/mekanism/common/base/EnergyAcceptorWrapper.java b/src/main/java/mekanism/common/base/EnergyAcceptorWrapper.java index d4efd3e4a..5ead4daa5 100644 --- a/src/main/java/mekanism/common/base/EnergyAcceptorWrapper.java +++ b/src/main/java/mekanism/common/base/EnergyAcceptorWrapper.java @@ -103,8 +103,7 @@ public abstract class EnergyAcceptorWrapper implements IStrictEnergyAcceptor @Override public double transferEnergyToAcceptor(ForgeDirection side, double amount) { - int needed = Math.min(acceptor.getMaxEnergyStored(side)-acceptor.getEnergyStored(side), Integer.MAX_VALUE); - int transferred = acceptor.receiveEnergy(side, Math.min(needed, toRF(amount)), false); + int transferred = acceptor.receiveEnergy(side, Math.min(Integer.MAX_VALUE, toRF(amount)), false); return fromRF(transferred); } From 3b214376ba5e6be14e7b6ed30ba0b08c637fcbc1 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Thu, 30 Jun 2016 12:25:20 -0400 Subject: [PATCH 26/75] Implement config option for operators to bypass security, added turbine dump/dump excess functionality --- .../java/mekanism/common/CommonProxy.java | 2 +- .../mekanism/common/block/BlockMachine.java | 2 +- .../mekanism/common/util/SecurityUtils.java | 11 ++++ .../client/gui/GuiIndustrialTurbine.java | 53 ++++++++++++++++++ .../turbine/SynchronizedTurbineData.java | 3 + .../common/content/turbine/TurbineCache.java | 6 ++ .../turbine/TurbineUpdateProtocol.java | 1 + .../tile/turbine/TileEntityTurbineCasing.java | 28 +++++++++ .../tile/turbine/TileEntityTurbineValve.java | 21 +++---- .../mekanism/gui/GuiIndustrialTurbine.png | Bin 3723 -> 4132 bytes 10 files changed, 111 insertions(+), 16 deletions(-) diff --git a/src/main/java/mekanism/common/CommonProxy.java b/src/main/java/mekanism/common/CommonProxy.java index c2c384189..ece88af77 100644 --- a/src/main/java/mekanism/common/CommonProxy.java +++ b/src/main/java/mekanism/common/CommonProxy.java @@ -281,7 +281,7 @@ public class CommonProxy implements IGuiProvider general.armoredJetpackDamageRatio = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ArmoredJetpackDamageRatio", 0.8).getDouble(); general.armoredJetpackDamageMax = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ArmoredJepackDamageMax", 115).getInt(); general.aestheticWorldDamage = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "AestheticWorldDamage", true).getBoolean(); - general.opsBypassRestrictions = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "OpsBypassRestrictions", true).getBoolean(); + general.opsBypassRestrictions = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "OpsBypassRestrictions", false).getBoolean(); general.thermalEvaporationSpeed = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ThermalEvaporationSpeed", 1.0D).getDouble(); general.maxJetpackGas = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "MaxJetpackGas", 24000).getInt(); general.maxScubaGas = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "MaxScubaGas", 24000).getInt(); diff --git a/src/main/java/mekanism/common/block/BlockMachine.java b/src/main/java/mekanism/common/block/BlockMachine.java index ffe36aa4f..c8a1a05e2 100644 --- a/src/main/java/mekanism/common/block/BlockMachine.java +++ b/src/main/java/mekanism/common/block/BlockMachine.java @@ -688,7 +688,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IBlo { String owner = ((ISecurityTile)tileEntity).getSecurity().getOwner(); - if(owner == null || entityplayer.getCommandSenderName().equals(owner)) + if(MekanismUtils.isOp((EntityPlayerMP)entityplayer) || owner == null || entityplayer.getCommandSenderName().equals(owner)) { entityplayer.openGui(Mekanism.instance, type.guiId, world, x, y, z); } diff --git a/src/main/java/mekanism/common/util/SecurityUtils.java b/src/main/java/mekanism/common/util/SecurityUtils.java index 4ab1ba075..b21952741 100644 --- a/src/main/java/mekanism/common/util/SecurityUtils.java +++ b/src/main/java/mekanism/common/util/SecurityUtils.java @@ -11,6 +11,7 @@ import mekanism.common.security.ISecurityTile.SecurityMode; import mekanism.common.security.SecurityData; import mekanism.common.security.SecurityFrequency; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; @@ -34,6 +35,11 @@ public final class SecurityUtils ISecurityItem security = (ISecurityItem)stack.getItem(); + if(MekanismUtils.isOp((EntityPlayerMP)player)) + { + return true; + } + return canAccess(security.getSecurity(stack), player.getCommandSenderName(), security.getOwner(stack)); } @@ -46,6 +52,11 @@ public final class SecurityUtils ISecurityTile security = (ISecurityTile)tile; + if(MekanismUtils.isOp((EntityPlayerMP)player)) + { + return true; + } + return canAccess(security.getSecurity().getMode(), player.getCommandSenderName(), security.getSecurity().getOwner()); } diff --git a/src/main/java/mekanism/generators/client/gui/GuiIndustrialTurbine.java b/src/main/java/mekanism/generators/client/gui/GuiIndustrialTurbine.java index 7fcef55fb..f13caf4c6 100644 --- a/src/main/java/mekanism/generators/client/gui/GuiIndustrialTurbine.java +++ b/src/main/java/mekanism/generators/client/gui/GuiIndustrialTurbine.java @@ -1,7 +1,9 @@ package mekanism.generators.client.gui; +import java.util.ArrayList; import java.util.List; +import mekanism.api.Coord4D; import mekanism.api.MekanismConfig.general; import mekanism.api.MekanismConfig.generators; import mekanism.api.util.ListUtils; @@ -12,7 +14,11 @@ import mekanism.client.gui.element.GuiPowerBar; import mekanism.client.gui.element.GuiRateBar; import mekanism.client.gui.element.GuiRateBar.IRateInfoHandler; import mekanism.client.render.MekanismRenderer; +import mekanism.client.sound.SoundHandler; +import mekanism.common.Mekanism; import mekanism.common.inventory.container.ContainerFilter; +import mekanism.common.network.PacketTileEntity.TileEntityMessage; +import mekanism.common.tile.TileEntityGasTank; import mekanism.common.util.LangUtils; import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; @@ -53,6 +59,11 @@ public class GuiIndustrialTurbine extends GuiMekanism double rate = tileEntity.structure.lowerVolume*(tileEntity.structure.clientDispersers*generators.turbineDisperserGasFlow); rate = Math.min(rate, tileEntity.structure.vents*generators.turbineVentGasFlow); + if(rate == 0) + { + return 0; + } + return (double)tileEntity.structure.lastSteamInput/rate; } }, MekanismUtils.getResource(ResourceType.GUI, "GuiIndustrialTurbine.png"), 40, 13)); @@ -89,6 +100,9 @@ public class GuiIndustrialTurbine extends GuiMekanism renderScaledText(LangUtils.localize("gui.capacity") + ": " + tileEntity.structure.getFluidCapacity() + " mB", 53, 44, 0x00CD00, 106); renderScaledText(LangUtils.localize("gui.maxFlow") + ": " + rate + " mB/t", 53, 53, 0x00CD00, 106); + String name = chooseByMode(tileEntity.structure.dumpMode, LangUtils.localize("gui.idle"), LangUtils.localize("gui.dumping"), LangUtils.localize("gui.dumping_excess")); + renderScaledText(name, 156-(int)(fontRendererObj.getStringWidth(name)*getNeededScale(name, 66)), 73, 0x404040, 66); + if(xAxis >= 7 && xAxis <= 39 && yAxis >= 14 && yAxis <= 72) { drawCreativeTabHoveringText(tileEntity.structure.fluidStored != null ? LangUtils.localizeFluidStack(tileEntity.structure.fluidStored) + ": " + tileEntity.structure.fluidStored.amount + "mB" : LangUtils.localize("gui.empty"), xAxis, yAxis); @@ -106,6 +120,9 @@ public class GuiIndustrialTurbine extends GuiMekanism int guiHeight = (height - ySize) / 2; drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); + int displayInt = chooseByMode(tileEntity.structure.dumpMode, 142, 150, 158); + drawTexturedModalRect(guiWidth + 160, guiHeight + 73, 176, displayInt, 8, 8); + if(tileEntity.getScaledFluidLevel(58) > 0) { displayGauge(7, 14, tileEntity.getScaledFluidLevel(58), tileEntity.structure.fluidStored, 0); @@ -154,4 +171,40 @@ public class GuiIndustrialTurbine extends GuiMekanism mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiIndustrialTurbine.png")); drawTexturedModalRect(guiWidth + xPos, guiHeight + yPos, 176, side == 0 ? 0 : 54, 16, 54); } + + @Override + protected void mouseClicked(int x, int y, int button) + { + super.mouseClicked(x, y, button); + + int xAxis = (x - (width - xSize) / 2); + int yAxis = (y - (height - ySize) / 2); + + if(xAxis > 160 && xAxis < 169 && yAxis > 73 && yAxis < 82) + { + ArrayList data = new ArrayList(); + data.add((byte)0); + + Mekanism.packetHandler.sendToServer(new TileEntityMessage(Coord4D.get(tileEntity), data)); + SoundHandler.playSound("gui.button.press"); + } + } + + private T chooseByMode(TileEntityGasTank.GasMode dumping, T idleOption, T dumpingOption, T dumpingExcessOption) + { + if(dumping.equals(TileEntityGasTank.GasMode.IDLE)) + { + return idleOption; + } + else if(dumping.equals(TileEntityGasTank.GasMode.DUMPING)) + { + return dumpingOption; + } + else if(dumping.equals(TileEntityGasTank.GasMode.DUMPING_EXCESS)) + { + return dumpingExcessOption; + } + + return idleOption; //should not happen; + } } diff --git a/src/main/java/mekanism/generators/common/content/turbine/SynchronizedTurbineData.java b/src/main/java/mekanism/generators/common/content/turbine/SynchronizedTurbineData.java index 667324ddf..f8795fe52 100644 --- a/src/main/java/mekanism/generators/common/content/turbine/SynchronizedTurbineData.java +++ b/src/main/java/mekanism/generators/common/content/turbine/SynchronizedTurbineData.java @@ -5,6 +5,7 @@ import java.util.Map; import mekanism.api.Coord4D; import mekanism.common.multiblock.SynchronizedData; +import mekanism.common.tile.TileEntityGasTank.GasMode; import net.minecraftforge.fluids.FluidStack; public class SynchronizedTurbineData extends SynchronizedData @@ -19,6 +20,8 @@ public class SynchronizedTurbineData extends SynchronizedData { public FluidStack fluid; public double electricity; + public GasMode dumpMode = GasMode.IDLE; @Override public void apply(SynchronizedTurbineData data) { data.fluidStored = fluid; data.electricityStored = electricity; + data.dumpMode = dumpMode; } @Override @@ -21,6 +24,7 @@ public class TurbineCache extends MultiblockCache { fluid = data.fluidStored; electricity = data.electricityStored; + dumpMode = data.dumpMode; } @Override @@ -32,6 +36,7 @@ public class TurbineCache extends MultiblockCache } electricity = nbtTags.getDouble("electricity"); + dumpMode = GasMode.values()[nbtTags.getInteger("dumpMode")]; } @Override @@ -43,5 +48,6 @@ public class TurbineCache extends MultiblockCache } nbtTags.setDouble("electricity", electricity); + nbtTags.setInteger("dumpMode", dumpMode.ordinal()); } } diff --git a/src/main/java/mekanism/generators/common/content/turbine/TurbineUpdateProtocol.java b/src/main/java/mekanism/generators/common/content/turbine/TurbineUpdateProtocol.java index 85910ea3f..005310d6c 100644 --- a/src/main/java/mekanism/generators/common/content/turbine/TurbineUpdateProtocol.java +++ b/src/main/java/mekanism/generators/common/content/turbine/TurbineUpdateProtocol.java @@ -243,6 +243,7 @@ public class TurbineUpdateProtocol extends UpdateProtocolf$v1N;lh^f0L^NQQ!{#0({i*$Z?u8e`uHQ6XQTj~@vWl`dei0X zH=%*gtpYn_esL{a7}d`hDX}||ZMkmGW8dC+=z!RDZC6O(Z*xP+c1Pe;ruggZSB@`UXV^{t154HU9)9ZO?sv{#j3&KR!~*2RjCIwg{v^eLdzH(zUtp|Au1D3jfvzqXVwj% zrDYhl9+HebFHsS@SO>ygA`WKD>(Qw|VF)Bqcl-R_-kl(KN8Zzb?~^wIn}SZ!SMA%Fg&C#ELGXV0Z7^Sx zPIon-fJHVi5U55x2j;-DOS2=p&Aoj6iGHU~*T;p_qBjV=&&qx}b%4aWAgGZIJwu&b zXm4+qJ18*Z(Kz#$&p_WC8!geOOMSaBz{8*R2=vH%urky|QmPcyrPN)Oh6LkRkyltX zHAc|I=28HR54|x$g16EAFC%91Y-h!Lin~4qgqpj14t>U$(3|e%T_RC5ZZW@}HZE^6 zPX-9!vGJaJ3Xhgi}uwhek&8R33wp5e`Nq#9fPmmxoBM$89`jJygwUV6FA+h9qc zI00{ns}B=ugnjGs?1F0#hzeVYDwxtTqufG=O~%8@ld{oZ<=zwwW-FeQ>axi=G1^YL zfd9)M2L8~tk&tm2`Rjyj>X<2LR}FYpXe8%EhIyCRvyf@OFDbgo@a=N ze4tXH{#SPR@8PV!@^DkkSB5-@mq@hoYt~SM2jdplt>rwT^I$qqtyE%tigVuj_VQFH*KD+vEV8)F4C=vt5@Z9xiK>(Ya)f zIO@Jms8;trtb($9n2REZI%TG@uP-9i4AQ`&&8v|Y>ZEff%;li5N~mRgvR=}6 zPaE_Cq>&F^7{N&|!{mz&SM35Pw)aksLk(f4YVz*rIsvFK>11`)t=+9+k!b$M9^Y`A zeeSK)4lhQb(wg@~X6J;=r8AJe-7rt1I-9GfPvRwi?lm;aIld4+bERQZ{wh3~e|gP< zXzBSZ2G$^F0UE^H#^h}V6j0&2YAuE=-h8qbOXcCqo94DaTSRx?5j9g0Gmk7f*&VXX zDfF~L-|xv<)y<@dAiGamh-StV&};`yq(de-0N-ZphthGZ>2lr+L_0_p)X@rZCSE6$ zrnvuQMZ&?i7M~K$@OCoO4$#tdQ_lkaEs!(7Z0;N8z`ERh=Az|*id0|3MB*nUZyovQ z3L0jjUDtmFiAERCcP4apSW``y#0!auwUvuAGj~@e=`j!S^~rDCi{0}%Bxp9g8K*Kn zGqw=F^l0n3nb0yH%-@+4n+9G`PF8WiOI=riW2`cYhjnQ@2a)jlx@7wz2r59PD72c} zVmQZurpDTFh{OsnEKktxq(itakwF%sa9%$TRxLcm^&vTIazrf)IN$6)bq&{_DgvT*BMLZ_!F{c# zPGrjUUpY8~c0Bse)Qx&j`pdg#NfXEW-@lKkA8&4MmeguCj0g)I!9~Q97#AOZh?D6-)p|cU>5^yw8Ch|Y3?lx;6UxAiu-kjDEfxDxOI|-t zNLr@fE`e-*%<0=fOx5nG`L@V;MF2i-43WTu(iJ6(DW`W9)^Y!w+@e>4~lhDs{FYP zr-tfn2)aN@;{YK^krqd6gA{72hm}Z4OH%1bPgp~8^7B+Lf*)AdGSF5`N?M#+b&MUz zeUbAH_5;I40*xSNylk8=oBNlvl%PvP;yUFgCG5n^-G7{Y3Hm;F_4}$!cA0&*?iYZ) z>X!7ECwU7%j4CRPUX|!|j}Nb{t$j5+vb@aMt1&N34xm!+w*R)z=W}l2LilR+C)rJ# zQ^%`PYGW-3)~azHP2)$2VN}()??9KY#WMP?_dla6J(01!Sjr&~BeojZ_cPa}&93RI z3*xoe=iJr7X#BCOs*Q_fK*L3`15;|2B-%lfP;GBkt>=nO#DN=S4X>d5%AEa+u~1Fk z!yhJ|v(gj*4X(?=dQWDj4!xR#a$eRXXu}kIc@q7PY+P yULy~B$1K2y_&d~9m8*Adb_cH^o2lD*`V2AXwZOb8YNILu_~&@k#jf%Q?c(oH)zsMl delta 2273 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 I`*@fB1Nt83Q2+n{ From 41ea222aab2bbc947e6ac61c4812fe726596b166 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Thu, 30 Jun 2016 12:45:15 -0400 Subject: [PATCH 27/75] Added Fluid Tank comparator support, fixed Gas Tank comparator support --- .../mekanism/common/block/BlockMachine.java | 19 +++++++++++++++++++ .../common/tile/TileEntityFluidTank.java | 17 +++++++++++++++++ .../common/tile/TileEntityGasTank.java | 10 ++++++++++ 3 files changed, 46 insertions(+) diff --git a/src/main/java/mekanism/common/block/BlockMachine.java b/src/main/java/mekanism/common/block/BlockMachine.java index c8a1a05e2..d613fd447 100644 --- a/src/main/java/mekanism/common/block/BlockMachine.java +++ b/src/main/java/mekanism/common/block/BlockMachine.java @@ -802,6 +802,25 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IBlo return world.setBlockToAir(x, y, z); } + @Override + public boolean hasComparatorInputOverride() + { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int par5) + { + TileEntity tileEntity = world.getTileEntity(x, y, z); + + if(tileEntity instanceof TileEntityFluidTank) + { + return ((TileEntityFluidTank)tileEntity).getRedstoneLevel(); + } + + return 0; + } + private boolean manageInventory(EntityPlayer player, TileEntityFluidTank tileEntity) { ItemStack itemStack = player.getCurrentEquippedItem(); diff --git a/src/main/java/mekanism/common/tile/TileEntityFluidTank.java b/src/main/java/mekanism/common/tile/TileEntityFluidTank.java index ef7c1d18b..c4b79424e 100644 --- a/src/main/java/mekanism/common/tile/TileEntityFluidTank.java +++ b/src/main/java/mekanism/common/tile/TileEntityFluidTank.java @@ -27,6 +27,7 @@ import net.minecraft.entity.player.EntityPlayer; 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; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; @@ -60,6 +61,8 @@ public class TileEntityFluidTank extends TileEntityContainerBlock implements IAc public boolean needsPacket; + public int currentRedstoneLevel; + public TileComponentSecurity securityComponent = new TileComponentSecurity(this); public TileEntityFluidTank() @@ -139,6 +142,14 @@ public class TileEntityFluidTank extends TileEntityContainerBlock implements IAc activeEmit(); } + int newRedstoneLevel = getRedstoneLevel(); + + if(newRedstoneLevel != currentRedstoneLevel) + { + markDirty(); + currentRedstoneLevel = newRedstoneLevel; + } + if(needsPacket) { Mekanism.packetHandler.sendToAllAround(new TileEntityMessage(Coord4D.get(this), getNetworkedData(new ArrayList())), Coord4D.get(this).getTargetPoint(50)); @@ -353,6 +364,12 @@ public class TileEntityFluidTank extends TileEntityContainerBlock implements IAc } } + public int getRedstoneLevel() + { + double fractionFull = (float)fluidTank.getFluidAmount()/(float)fluidTank.getCapacity(); + return MathHelper.floor_float((float)(fractionFull * 14.0F)) + (fractionFull > 0 ? 1 : 0); + } + public int getCurrentNeeded() { int needed = fluidTank.getCapacity()-fluidTank.getFluidAmount(); diff --git a/src/main/java/mekanism/common/tile/TileEntityGasTank.java b/src/main/java/mekanism/common/tile/TileEntityGasTank.java index c1c6a4e15..6e14b1494 100644 --- a/src/main/java/mekanism/common/tile/TileEntityGasTank.java +++ b/src/main/java/mekanism/common/tile/TileEntityGasTank.java @@ -52,6 +52,8 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH public GasMode dumping; public int currentGasAmount; + + public int currentRedstoneLevel; /** This machine's current RedstoneControl type. */ public RedstoneControl controlType; @@ -127,6 +129,14 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH } currentGasAmount = newGasAmount; + + int newRedstoneLevel = getRedstoneLevel(); + + if(newRedstoneLevel != currentRedstoneLevel) + { + markDirty(); + currentRedstoneLevel = newRedstoneLevel; + } } } From 330756e5a71deb41659d94db4c30ef7539323337 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Sat, 2 Jul 2016 20:33:27 -0400 Subject: [PATCH 28/75] Added configurable steam auto-output to Reactor Port --- .../tile/reactor/TileEntityReactorPort.java | 60 +++++++++++++++++-- .../resources/assets/mekanism/lang/en_US.lang | 1 + 2 files changed, 56 insertions(+), 5 deletions(-) diff --git a/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java b/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java index 0c5c3584f..6dd0625ab 100644 --- a/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java +++ b/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java @@ -1,22 +1,32 @@ package mekanism.generators.common.tile.reactor; +import java.util.ArrayList; import java.util.EnumSet; import mekanism.api.Coord4D; +import mekanism.api.EnumColor; +import mekanism.api.IConfigurable; import mekanism.api.IHeatTransfer; +import mekanism.api.Range4D; import mekanism.api.gas.Gas; import mekanism.api.gas.GasRegistry; import mekanism.api.gas.GasStack; import mekanism.api.gas.IGasHandler; import mekanism.api.gas.ITubeConnection; import mekanism.api.reactor.IReactorBlock; +import mekanism.common.Mekanism; +import mekanism.common.network.PacketTileEntity.TileEntityMessage; import mekanism.common.tile.TileEntityBoilerValve; import mekanism.common.util.CableUtils; import mekanism.common.util.HeatUtils; import mekanism.common.util.InventoryUtils; +import mekanism.common.util.LangUtils; import mekanism.generators.common.item.ItemHohlraum; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; @@ -25,14 +35,32 @@ import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; import net.minecraftforge.fluids.IFluidTank; -public class TileEntityReactorPort extends TileEntityReactorBlock implements IFluidHandler, IGasHandler, ITubeConnection, IHeatTransfer +public class TileEntityReactorPort extends TileEntityReactorBlock implements IFluidHandler, IGasHandler, ITubeConnection, IHeatTransfer, IConfigurable { + public boolean fluidEject; + public TileEntityReactorPort() { super("name", 1); inventory = new ItemStack[0]; } + + @Override + public void readFromNBT(NBTTagCompound nbtTags) + { + super.readFromNBT(nbtTags); + + fluidEject = nbtTags.getBoolean("fluidEject"); + } + + @Override + public void writeToNBT(NBTTagCompound nbtTags) + { + super.writeToNBT(nbtTags); + + nbtTags.setBoolean("fluidEject", fluidEject); + } @Override public boolean isFrame() @@ -54,7 +82,7 @@ public class TileEntityReactorPort extends TileEntityReactorBlock implements IFl { CableUtils.emit(this); - if(getReactor() != null && getReactor().getSteamTank().getFluidAmount() > 0) + if(fluidEject && getReactor() != null && getReactor().getSteamTank().getFluidAmount() > 0) { IFluidTank tank = getReactor().getSteamTank(); @@ -77,7 +105,7 @@ public class TileEntityReactorPort extends TileEntityReactorBlock implements IFl @Override public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { - if(resource.getFluid() == FluidRegistry.WATER && getReactor() != null) + if(resource.getFluid() == FluidRegistry.WATER && getReactor() != null && !fluidEject) { return getReactor().getWaterTank().fill(resource, doFill); } @@ -110,13 +138,13 @@ public class TileEntityReactorPort extends TileEntityReactorBlock implements IFl @Override public boolean canFill(ForgeDirection from, Fluid fluid) { - return (getReactor() != null && fluid == FluidRegistry.WATER); + return (getReactor() != null && fluid == FluidRegistry.WATER && !fluidEject); } @Override public boolean canDrain(ForgeDirection from, Fluid fluid) { - return (getReactor() != null && fluid == FluidRegistry.WATER); + return (getReactor() != null && fluid == FluidRegistry.getFluid("steam")); } @Override @@ -386,4 +414,26 @@ public class TileEntityReactorPort extends TileEntityReactorBlock implements IFl return false; } + + @Override + public boolean onSneakRightClick(EntityPlayer player, int side) + { + if(!worldObj.isRemote) + { + fluidEject = !fluidEject; + String modeText = " " + (fluidEject ? EnumColor.DARK_RED : EnumColor.DARK_GREEN) + LangUtils.transOutputInput(fluidEject) + "."; + player.addChatMessage(new ChatComponentText(EnumColor.DARK_BLUE + "[Mekanism] " + EnumColor.GREY + LangUtils.localize("tooltip.configurator.reactorPortEject") + modeText)); + + Mekanism.packetHandler.sendToReceivers(new TileEntityMessage(Coord4D.get(this), getNetworkedData(new ArrayList())), new Range4D(Coord4D.get(this))); + markDirty(); + } + + return true; + } + + @Override + public boolean onRightClick(EntityPlayer player, int side) + { + return false; + } } \ No newline at end of file diff --git a/src/main/resources/assets/mekanism/lang/en_US.lang b/src/main/resources/assets/mekanism/lang/en_US.lang index e0917cd4d..10fbe6816 100644 --- a/src/main/resources/assets/mekanism/lang/en_US.lang +++ b/src/main/resources/assets/mekanism/lang/en_US.lang @@ -698,6 +698,7 @@ tooltip.configurator.plenisherReset=Reset Fluidic Plenisher calculation tooltip.configurator.inductionPortMode=Toggled Induction Port transfer mode to tooltip.configurator.toggleColor=Color bumped to tooltip.configurator.viewColor=Current color +tooltip.configurator.reactorPortEject=Toggled Reactor Port eject mode to tooltip.upgrade.speed=Speed tooltip.upgrade.energy=Energy From fdc21d8de5459111b98ab9ed53ba6c5b5cf153d0 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Sun, 3 Jul 2016 02:07:14 -0400 Subject: [PATCH 29/75] Fixed break crash --- src/main/java/mekanism/common/util/MekanismUtils.java | 9 ++++++++- src/main/java/mekanism/common/util/SecurityUtils.java | 5 ++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/mekanism/common/util/MekanismUtils.java b/src/main/java/mekanism/common/util/MekanismUtils.java index 7540d655c..c1eff4ca5 100644 --- a/src/main/java/mekanism/common/util/MekanismUtils.java +++ b/src/main/java/mekanism/common/util/MekanismUtils.java @@ -1501,8 +1501,15 @@ public final class MekanismUtils * @param player - player to check * @return if the player has operator privileges */ - public static boolean isOp(EntityPlayerMP player) + public static boolean isOp(EntityPlayer p) { + if(!(p instanceof EntityPlayerMP)) + { + return false; + } + + EntityPlayerMP player = (EntityPlayerMP)p; + return general.opsBypassRestrictions && player.mcServer.getConfigurationManager().func_152596_g(player.getGameProfile()); } diff --git a/src/main/java/mekanism/common/util/SecurityUtils.java b/src/main/java/mekanism/common/util/SecurityUtils.java index b21952741..b96d5e60e 100644 --- a/src/main/java/mekanism/common/util/SecurityUtils.java +++ b/src/main/java/mekanism/common/util/SecurityUtils.java @@ -11,7 +11,6 @@ import mekanism.common.security.ISecurityTile.SecurityMode; import mekanism.common.security.SecurityData; import mekanism.common.security.SecurityFrequency; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; @@ -35,7 +34,7 @@ public final class SecurityUtils ISecurityItem security = (ISecurityItem)stack.getItem(); - if(MekanismUtils.isOp((EntityPlayerMP)player)) + if(MekanismUtils.isOp(player)) { return true; } @@ -52,7 +51,7 @@ public final class SecurityUtils ISecurityTile security = (ISecurityTile)tile; - if(MekanismUtils.isOp((EntityPlayerMP)player)) + if(MekanismUtils.isOp(player)) { return true; } From 108cc0f3eed0142067febb6de20d93559e12f968 Mon Sep 17 00:00:00 2001 From: Ezer'Arch Date: Sun, 3 Jul 2016 20:59:59 -0300 Subject: [PATCH 30/75] Creates pt_PT and updates pt_BR Creates the European Portuguese translation and updates Brazilian Portuguese translation. --- .../resources/assets/mekanism/lang/pt_BR.lang | 130 +- .../resources/assets/mekanism/lang/pt_PT.lang | 1085 +++++++++++++++++ 2 files changed, 1150 insertions(+), 65 deletions(-) create mode 100644 src/main/resources/assets/mekanism/lang/pt_PT.lang diff --git a/src/main/resources/assets/mekanism/lang/pt_BR.lang b/src/main/resources/assets/mekanism/lang/pt_BR.lang index 4646791e3..71ea96359 100644 --- a/src/main/resources/assets/mekanism/lang/pt_BR.lang +++ b/src/main/resources/assets/mekanism/lang/pt_BR.lang @@ -38,7 +38,7 @@ item.LithiumBucket.name=Balde de Lítio item.HeavyWaterBucket.name=Balde de Água Pesada item.FreeRunners.name=Corredores item.ArmoredJetpack.name=Jetpack Blindado -item.FilterCard.name=Cartão de Filtro +item.ConfigurationCard.name=Cartão de Configuração item.SeismicReader.name=Leitor Sísmico item.HDPEPellet.name=Pelota de PEAD item.HDPERod.name=Vara de PEAD @@ -91,15 +91,15 @@ tile.BasicBlock.BinUltimate.name=Silo Final tile.BasicBlock.TeleporterFrame.name=Moldura do Teletransportador tile.BasicBlock.SteelCasing.name=Carcaça de Aço tile.BasicBlock.DynamicTank.name=Tanque Dinâmico -tile.BasicBlock.DynamicGlass.name=Vidro Dinâmico +tile.BasicBlock.StructuralGlass.name=Vidro Estrutural tile.BasicBlock.DynamicValve.name=Válvula Dinâmica tile.BasicBlock.CopperBlock.name=Bloco de Cobre tile.BasicBlock.TinBlock.name=Bloco de Estanho -tile.BasicBlock.SolarEvaporationController.name=Controlador de Salinização -tile.BasicBlock.SolarEvaporationValve.name=Válvula de Salinização +tile.BasicBlock.ThermalEvaporationController.name=Controlador de Evaporação Térmica +tile.BasicBlock.ThermalEvaporationValve.name=Válvula de Evaporação Térmica //Basic Block 2 (second ID iteration) -tile.BasicBlock2.SolarEvaporationBlock.name=Bloco de Salinização +tile.BasicBlock2.ThermalEvaporationBlock.name=Bloco de Evaporação Térmica tile.BasicBlock2.InductionCasing.name=Caixa de Indução tile.BasicBlock2.InductionPort.name=Porta de Indução tile.BasicBlock2.InductionCellBasic.name=Célula de Indução Básica @@ -127,7 +127,7 @@ tile.MachineBlock.PurificationChamber.name=Câmara de Purificação tile.MachineBlock.EnergizedSmelter.name=Fundição Energizada tile.MachineBlock.Teleporter.name=Teletransportador tile.MachineBlock.ElectricPump.name=Bomba Elétrica -tile.MachineBlock.ElectricChest.name=Baú Elétrico +tile.MachineBlock.PersonalChest.name=Baú Pessoal tile.MachineBlock.Chargepad.name=Base de Recarga tile.MachineBlock.LogisticalSorter.name=Classificador Logístico tile.MachineBlock.DigitalMiner.name=Minerador Digital @@ -173,7 +173,7 @@ infuse.carbon=Carbono infuse.tin=Estanho infuse.diamond=Diamante infuse.redstone=Redstone -infuse.fungi=Fungo +infuse.fungi=Fungos infuse.obsidian=Obsidiana infuse.bio=Biomassa @@ -300,23 +300,23 @@ gas.tritium=Trítio gas.lithium=Lítio gas.fusionFuelDT=Combustível D-T -gas.iron=Lodo de Ferro -gas.gold=Lodo de Ouro -gas.osmium=Lodo de Ósmio -gas.copper=Lodo de Cobre -gas.tin=Lodo de Estanho -gas.silver=Lodo de Prata -gas.obsidian=Lodo de Obsidiana -gas.lead=Lodo de Chumbo +gas.iron=Polpa de Ferro +gas.gold=Polpa de Ouro +gas.osmium=Polpa de Ósmio +gas.copper=Polpa de Cobre +gas.tin=Polpa de Estanho +gas.silver=Polpa de Prata +gas.obsidian=Polpa de Obsidiana +gas.lead=Polpa de Chumbo -gas.cleanIron=Lodo Puro de Ferro -gas.cleanGold=Lodo Puro de Ouro -gas.cleanOsmium=Lodo Puro de Ósmio -gas.cleanCopper=Lodo Puro de Cobre -gas.cleanTin=Lodo Puro de Estanho -gas.cleanSilver=Lodo Puro de Prata -gas.cleanObsidian=Lodo Puro de Obsidiana -gas.cleanLead=Lodo Puro de Chumbo +gas.cleanIron=Polpa de Ferro Pura +gas.cleanGold=Polpa de Ouro Pura +gas.cleanOsmium=Polpa de Ósmio Pura +gas.cleanCopper=Polpa de Cobre Pura +gas.cleanTin=Polpa de Estanho Pura +gas.cleanSilver=Polpa de Prata Pura +gas.cleanObsidian=Polpa de Obsidiana Pura +gas.cleanLead=Polpa de Chumbo Pura //BC Fuel Gases gas.fuel=Combustível Vaporizado @@ -375,14 +375,14 @@ update.outdated=Usando a versão desatualizada em um ou mais módulos //Upgrades upgrade.energy=Energia upgrade.energy.desc=Aumenta a eficiência e capacidade energética. -upgrade.speed=Velocidade +upgrade.speed=Velocid. upgrade.speed.desc=Aumenta a velocidade. upgrade.filter=Filtro upgrade.filter.desc=Separa Água Pesada de água comum. upgrade.gas=Gás upgrade.gas.desc=Aumenta a eficiência de uso de gás. -upgrade.muffling=Muffling -upgrade.muffling.desc=Reduz ruídos causados. +upgrade.muffling=Silenc. +upgrade.muffling.desc=Reduz ruídos causados por maquinários. //Key description text key.mode=Alternar Modo de Ferramenta @@ -402,7 +402,7 @@ mekanism.configgui.ctgy.client=Configurações do Cliente //Config Tooltips mekanism.configgui.ctgy.general.tooltip=Configurações gerais relativas a Mekanism e todos os seus módulos -mekanism.configgui.ctgy.machines.tooltip=Configurações relativas a habilitar e desabilitar de maquinário especifico +mekanism.configgui.ctgy.machines.tooltip=Configurações relativas a habilitar e desabilitar maquinário especifico mekanism.configgui.ctgy.tier.tooltip=Configurações relativas a níveis do Mekanism e seus valores correspondentes mekanism.configgui.ctgy.usage.tooltip=Configurações relativas a máquinas e seu consumo de energia mekanism.configgui.ctgy.client.tooltip=Configurações específicas do cliente sobre Mekanism e todos os seus módulos @@ -421,7 +421,7 @@ gui.save=Salvar gui.output=Saída gui.delete=Deletar gui.status=Estado -gui.autoEject=Auto ejetar +gui.autoEject=Autoejetar gui.itemstack=ItemStack gui.oredict=OreDict gui.material=Material @@ -568,12 +568,12 @@ gui.upgrades.effect=Efeito gui.chemicalInfuser.short=Infusor Quím. gui.chemicalDissolutionChamber.short=Câm. Dissolução Quím. -gui.solarEvaporationController.short=Ctrl. Evaporação Solar +gui.thermalEvaporationController.short=Controlador Ev. Térmica gui.dictionary.noKey=Sem Entrada. gui.configuration=Configuração -gui.config=Config +gui.config=Configurar gui.configuration.side=Configurar Lados gui.configuration.transporter=Configurar Transportador gui.configuration.strictInput=Entrada Restrita @@ -798,23 +798,23 @@ tooltip.SecurityDesk=Central de segurança para todas suas máquinas. tooltip.EnrichmentChamber=Uma máquina simples usada para enriquecer minérios tornando-os em duas porções de pó, como também realizar muitas outras operações. tooltip.OsmiumCompressor=Uma máquina um tanto avançada usada para comprimir ósmio com pós de outros materiais parar convertê-los em barras. tooltip.Combiner=Uma máquina usada para combinar pedregulho com pós de outros materiais para convertê-los em minério. -tooltip.Crusher=Uma máquina usada para triturar lingotes em pó, como também fazer várias outtas operações. +tooltip.Crusher=Uma máquina usada para triturar barras em pó, como também fazer várias outras operações. tooltip.DigitalMiner=Uma automineradora altamente avançada com filtros que pode minerar qualquer bloco que ordenar num raio de 32 blocos (máx.). tooltip.MetallurgicInfuser=Uma máquina usada para infundir vários materiais em (geralmente) materiais para criar ligas metálicas e outros compostos tooltip.PurificationChamber=Uma máquina avançada capaz de processar minérios em aglomerados, servindo como o estágio inicial do processamento de minérios 300%. tooltip.EnergizedSmelter=Uma máquina simples que serve como uma fornalha baseada no Mekanism que usa energia. tooltip.Teleporter=Uma máquina capaz de teletransportar jogadores pra vários lugares definidos por outros Teletransportadores. tooltip.ElectricPump=Uma bomba capaz de bombear um lago de lava inteiro. -tooltip.ElectricChest=Um baú portátil de 54 slots que usa energia para se trancar de outros por meios de proteção por senha. +tooltip.PersonalChest=Um baú de 54 lugares que pode ser aberto em qualquer lugar - mesmo a partir de seu próprio inventário. tooltip.Chargepad=Uma plataforma recarregadora capaz de carregar qualquer item energizado de qualquer mod. tooltip.LogisticalSorter=Uma máquina de triagem avançada com filtros que pode autoejetar itens especificados para dentro e para fora de inventários adjacentes e Transportadores Logísticos. tooltip.RotaryCondensentrator=Uma máquina capaz de converter gases em suas formas líquidas e vice-versa. tooltip.ChemicalInjectionChamber=Uma máquina elite capaz de processar minérios em estilhaços, servindo como estágio inicial do processamento de minérios a 400%. tooltip.ElectrolyticSeparator=Uma máquina que usa o processo de eletrólise para quebrar um gás em dois gases diferentes. tooltip.PrecisionSawmill=Uma máquina usada para processar lenha e outros itens de madeira mais eficientemente, como também obter serragem. -tooltip.ChemicalDissolutionChamber=Uma máquina definitiva usada para dissolver quimicamente todas impurezas de um minério, deixando um lodonão-processado atrás. -tooltip.ChemicalWasher=Uma máquina definitiva que limpa lodo não-processado e o prepara para cristalização. -tooltip.ChemicalCrystallizer=Uma máquina definitiva usada para cristalizar lodo de minério purificado em cristais de minério. +tooltip.ChemicalDissolutionChamber=Uma máquina definitiva usada para dissolver quimicamente todas impurezas de um minério, deixando uma polpa não processada para trás. +tooltip.ChemicalWasher=Uma máquina definitiva que limpa polpa não processada e a prepara para cristalização. +tooltip.ChemicalCrystallizer=Uma máquina definitiva usada para cristalizar polpa de minério purificada em cristais de minério. tooltip.ChemicalOxidizer=Uma máquina capaz de oxidar materiais sólidos em fase gasosa. tooltip.ChemicalInfuser=Uma máquina que produz um novo tipo de gás por infusão de dois outros. tooltip.SeismicVibrator=Uma máquina que usa vibrações sísmicas para fornecer informações sobre diversas camadas do mundo. @@ -837,7 +837,7 @@ tooltip.SolarGenerator=Um gerador que usa o poder do sol para produzir energia. tooltip.GasGenerator=Um gerador que se aproveita dos gases molecularmente variantes para produzir energia. tooltip.BioGenerator=Um gerador que queima materiais orgânicos do mundo para produzir energia. tooltip.AdvancedSolarGenerator=Um gerador que diretamente absorve os raios solares com pequena perda para produzir energia -tooltip.WindTurbine=Um gerador que usa a força do vento para produzir energia, com maior eficiência em camadas mais altas. +tooltip.WindGenerator=Um gerador que usa a força do vento para produzir energia, com eficiência maior em locais mais altos. tooltip.TurbineRotor=Haste de aço usada para segurar Hélices de Turbina na Turbina Industrial. tooltip.RotationalComplex=Conector colocado na Hélice mais alta da Turbina Industrial para transportar energia cinética para Bobinas Eletromagnéticas. tooltip.ElectromagneticCoil=Bloco que converte energia cinética em energia usável. Podem ser colocadas em qualquer forma acima do Complexo Rotacional, desde que todos se conectem. @@ -888,17 +888,17 @@ fluidedit.empty=Vazio //Colors color.black=Preto -color.darkBlue=Azul Escuro -color.darkGreen=Verde Escuro -color.darkAqua=Ciano Escuro +color.darkBlue=Azul +color.darkGreen=Verde +color.darkAqua=Ciano color.darkRed=Vermelho Escuro -color.purple=Roxo +color.purple=Lilás color.orange=Laranja -color.grey=Cinza -color.darkGrey=Cinza Escuro -color.indigo=Índigo -color.brightGreen=Verde Claro -color.aqua=Ciano +color.grey=Cinza Claro +color.darkGrey=Cinza +color.indigo=Azul Claro +color.brightGreen=Verde Limão +color.aqua=Ciano Claro color.red=Vermelho color.pink=Magenta color.yellow=Amarelo @@ -908,18 +908,18 @@ color.brightPink=Rosa //Dyes dye.black=Preto -dye.darkBlue=Azul Escuro +dye.darkBlue=Azul dye.brown=Marrom -dye.darkGreen=Verde Escuro -dye.darkAqua=Ciano Escuro +dye.darkGreen=Verde +dye.darkAqua=Ciano dye.darkRed=Vermelho Escuro -dye.purple=Roxo +dye.purple=Lilás dye.orange=Laranja -dye.grey=Cinza +dye.grey=Cinza Claro dye.darkGrey=Cinza -dye.indigo=Índigo -dye.brightGreen=Verde Claro -dye.aqua=Ciano +dye.indigo=Azul Claro +dye.brightGreen=Verde Limão +dye.aqua=Ciano Claro dye.red=Vermelho dye.brightPink=Rosa dye.pink=Magenta @@ -934,7 +934,7 @@ reactor.ready.desc=Reactor atingiu o nível necessário de calor para ignição reactor.capacity=Capacidade de calor atendida reactor.capacity.desc=A capacidade de calor do núcleo do reator foi atendida reactor.depleted=Pouco Combustível -reactor.depleted.desc=O reactor tem combustível insuficiente para manter uma reação +reactor.depleted.desc=O reator tem combustível insuficiente para manter uma reação //Creative tab itemGroup.tabMekanism=Mekanism @@ -958,7 +958,7 @@ tile.Generator.SolarGenerator.name=Gerador a Energia Solar tile.Generator.GasGenerator.name=Gerador a Queima de Gás tile.Generator.BioGenerator.name=Biogerador tile.Generator.AdvancedSolarGenerator.name=Gerador a Energia Solar Avançado -tile.Generator.WindTurbine.name=Turbina Eólica +tile.Generator.WindGenerator.name=Gerador Eólico tile.Generator.TurbineRotor.name=Rotor de Turbina tile.Generator.RotationalComplex.name=Complexo Rotacional tile.Generator.ElectromagneticCoil.name=Bobina Eletromagnética @@ -1051,16 +1051,16 @@ item.BronzeHoe.name=Enxada de Bronze item.BronzeSword.name=Espada de Bronze //Glow -item.GlowstoneHelmet.name=Elmo de Glowstone -item.GlowstoneChestplate.name=Peitoral de Glowstone -item.GlowstoneLeggings.name=Calças de Glowstone -item.GlowstoneBoots.name=Botas de Glowstone -item.GlowstonePaxel.name=Pacachado de Glowstone -item.GlowstonePickaxe.name=Picareta de Glowstone -item.GlowstoneAxe.name=Machado de Glowstone -item.GlowstoneShovel.name=Pá de Glowstone -item.GlowstoneHoe.name=Enxada de Glowstone -item.GlowstoneSword.name=Espada de Glowstone +item.GlowstoneHelmet.name=Elmo de Pedra Luminosa +item.GlowstoneChestplate.name=Peitoral de Pedra Luminosa +item.GlowstoneLeggings.name=Calças de Pedra Luminosa +item.GlowstoneBoots.name=Botas de Pedra Luminosa +item.GlowstonePaxel.name=Pacachado de Pedra Luminosa +item.GlowstonePickaxe.name=Picareta de Pedra Luminosa +item.GlowstoneAxe.name=Machado de Pedra Luminosa +item.GlowstoneShovel.name=Pá de Pedra Luminosa +item.GlowstoneHoe.name=Enxada de Pedra Luminosa +item.GlowstoneSword.name=Espada de Pedra Luminosa //Steel item.SteelHelmet.name=Elmo de Aço diff --git a/src/main/resources/assets/mekanism/lang/pt_PT.lang b/src/main/resources/assets/mekanism/lang/pt_PT.lang new file mode 100644 index 000000000..a7d64cf9b --- /dev/null +++ b/src/main/resources/assets/mekanism/lang/pt_PT.lang @@ -0,0 +1,1085 @@ +//********// +//MEKANISM// +//********// + +//Items +tile.ObsidianTNT.name=TNT de Obsidiana +item.EnrichedAlloy.name=Liga Enriquecida +item.ReinforcedAlloy.name=Liga Reforçada +item.AtomicAlloy.name=Liga Atómica +item.EnergyTablet.name=Tablete de Energia +item.SpeedUpgrade.name=Upgrade de Velocidade +item.EnergyUpgrade.name=Upgrade de Energia +item.FilterUpgrade.name=Upgrade de Filtro +item.MufflingUpgrade.name=Upgrade Silenciador +item.GasUpgrade.name=Upgrade de Gás +item.Robit.name=Robit +item.AtomicDisassembler.name=Desintegrador Atómico +item.ElectricBow.name=Arco Elétrico +item.EnrichedIron.name=Ferro Enriquecido +item.CompressedCarbon.name=Carbono Compactado +item.CompressedRedstone.name=Redstone Compactada +item.CompressedDiamond.name=Diamante Comprimido +item.CompressedObsidian.name=Obsidiana Comprimida +item.PortableTeleporter.name=Teletransportador Portátil +item.TeleportationCore.name=Núcleo de Teletransporte +item.Configurator.name=Configurador +item.NetworkReader.name=Leitor de Rede +item.WalkieTalkie.name=Rádio Transmissor +item.Jetpack.name=Jetpack +item.ScubaTank.name=Tanque de Mergulho +item.GasMask.name=Máscara de Gás +item.Dictionary.name=Dicionário +item.ElectrolyticCore.name=Núcleo Eletrolítico +item.Sawdust.name=Serragem +item.Salt.name=Sal +item.BrineBucket.name=Balde de Salmoura +item.LithiumBucket.name=Balde de Lítio +item.HeavyWaterBucket.name=Balde de Água Pesada +item.FreeRunners.name=Corredores +item.ArmoredJetpack.name=Jetpack Blindado +item.ConfigurationCard.name=Cartão de Configuração +item.SeismicReader.name=Leitor Sísmico +item.HDPEPellet.name=Pelota de PEAD +item.HDPERod.name=Vara de PEAD +item.HDPESheet.name=Folha de PEAD +item.PlaStick.name=Plástico +item.Substrate.name=Substrato +item.Flamethrower.name=Lança-Chamas +item.GaugeDropper.name=Medidor Conta-Gotas +item.BioFuel.name=Biocombustível +item.CraftingFormula.name=Fórmula + +//Control Circuits +item.BasicControlCircuit.name=Circuito de Controle Básico +item.AdvancedControlCircuit.name=Circuito de Controle Avançado +item.EliteControlCircuit.name=Circuito de Controle Elite +item.UltimateControlCircuit.name=Circuito de Controle Final + +//Gas Tank +tile.GasTankBasic.name=Tanque de Gás Básico +tile.GasTankAdvanced.name=Tanque de Gás Avançado +tile.GasTankElite.name=Tanque de Gás Elite +tile.GasTankUltimate.name=Tanque de Gás Final + +//Fluid Tank (part of MachineBlock2, naming handled differently) +tile.FluidTankBasic.name=Tanque Líquido Básico +tile.FluidTankAdvanced.name=Tanque Líquido Avançado +tile.FluidTankElite.name=Tanque Líquido Elite +tile.FluidTankUltimate.name=Tanque Líquido Final + +//Cardboard Box +tile.CardboardBox.name=Caixa de Papelão + +//Bounding Block +tile.BoundingBlock.name=Delimitador de Bloco + +//Salt +tile.SaltBlock.name=Bloco de Sal + +//Basic Block +tile.BasicBlock.OsmiumBlock.name=Bloco de Ósmio +tile.BasicBlock.BronzeBlock.name=Bloco de Bronze +tile.BasicBlock.RefinedObsidian.name=Obsidiana Refinada +tile.BasicBlock.CharcoalBlock.name=Bloco de Carvão Vegetal +tile.BasicBlock.RefinedGlowstone.name=Pedra Luminosa Refinada +tile.BasicBlock.SteelBlock.name=Bloco de Aço +tile.BasicBlock.BinBasic.name=Silo Básico +tile.BasicBlock.BinAdvanced.name=Silo Avançado +tile.BasicBlock.BinElite.name=Silo de Elite +tile.BasicBlock.BinUltimate.name=Silo Final +tile.BasicBlock.TeleporterFrame.name=Moldura do Teletransportador +tile.BasicBlock.SteelCasing.name=Carcaça de Aço +tile.BasicBlock.DynamicTank.name=Tanque Dinâmico +tile.BasicBlock.StructuralGlass.name=Vidro Estrutural +tile.BasicBlock.DynamicValve.name=Válvula Dinâmica +tile.BasicBlock.CopperBlock.name=Bloco de Cobre +tile.BasicBlock.TinBlock.name=Bloco de Estanho +tile.BasicBlock.ThermalEvaporationController.name=Controlador de Evaporação Térmica +tile.BasicBlock.ThermalEvaporationValve.name=Válvula de Evaporação Térmica + +//Basic Block 2 (second ID iteration) +tile.BasicBlock2.ThermalEvaporationBlock.name=Bloco de Evaporação Térmica +tile.BasicBlock2.InductionCasing.name=Caixa de Indução +tile.BasicBlock2.InductionPort.name=Porta de Indução +tile.BasicBlock2.InductionCellBasic.name=Célula de Indução Básica +tile.BasicBlock2.InductionCellAdvanced.name=Célula de Indução Avançada +tile.BasicBlock2.InductionCellElite.name=Célula de Indução Elite +tile.BasicBlock2.InductionCellUltimate.name=Célula de Indução Final +tile.BasicBlock2.InductionProviderBasic.name=Provedor de Indução Básico +tile.BasicBlock2.InductionProviderAdvanced.name=Provedor de Indução Avançado +tile.BasicBlock2.InductionProviderElite.name=Provedor de Indução Elite +tile.BasicBlock2.InductionProviderUltimate.name=Provedor de Indução Final +tile.BasicBlock2.SuperheatingElement.name=Elemento de Superaquecimento +tile.BasicBlock2.PressureDisperser.name=Dispersor de Pressão +tile.BasicBlock2.BoilerCasing.name=Carcaça da Caldeira +tile.BasicBlock2.BoilerValve.name=Válvula da Caldeira +tile.BasicBlock2.SecurityDesk.name=Mesa de Segurança + +//Machine Block +tile.MachineBlock.EnrichmentChamber.name=Câmara de Enriquecimento +tile.MachineBlock.OsmiumCompressor.name=Compressor de Ósmio +tile.MachineBlock.Combiner.name=Combinador +tile.MachineBlock.Crusher.name=Triturador +tile.MachineBlock.Factory.name=Fábrica +tile.MachineBlock.MetallurgicInfuser.name=Infusor Metalúrgico +tile.MachineBlock.PurificationChamber.name=Câmara de Purificação +tile.MachineBlock.EnergizedSmelter.name=Fundição Energizada +tile.MachineBlock.Teleporter.name=Teletransportador +tile.MachineBlock.ElectricPump.name=Bomba Elétrica +tile.MachineBlock.PersonalChest.name=Baú Pessoal +tile.MachineBlock.Chargepad.name=Base de Recarga +tile.MachineBlock.LogisticalSorter.name=Classificador Logístico +tile.MachineBlock.DigitalMiner.name=Minerador Digital + +//Machine Block 2 (second ID iteration) +tile.MachineBlock2.RotaryCondensentrator.name=Condensentrador Rotativo +tile.MachineBlock2.ChemicalOxidizer.name=Oxidador Químico +tile.MachineBlock2.ChemicalInfuser.name=Infusor Químico +tile.MachineBlock2.ChemicalCombiner.name=Combinador Químico +tile.MachineBlock2.ChemicalInjectionChamber.name=Câmara de Injeção Química +tile.MachineBlock2.ElectrolyticSeparator.name=Separador Eletrolítico +tile.MachineBlock2.PrecisionSawmill.name=Serraria de Precisão +tile.MachineBlock2.ChemicalDissolutionChamber.name=Câmara de Dissolução Química +tile.MachineBlock2.ChemicalWasher.name=Lavador Químico +tile.MachineBlock2.ChemicalCrystallizer.name=Cristalizador Químico +tile.MachineBlock2.SeismicVibrator.name=Vibrador Sísmico +tile.MachineBlock2.PressurizedReactionChamber.name=Câmara de Reação Pressurizada +tile.MachineBlock2.PressurizedReactionChamber.short.name=CRP +tile.MachineBlock2.FluidicPlenisher.name=Abastecedor Fluídico +tile.MachineBlock2.Laser.name=Laser +tile.MachineBlock2.LaserAmplifier.name=Amplificador de Laser +tile.MachineBlock2.LaserTractorBeam.name=Feixe Trator do Laser + +//Machine Block 3 (third ID iteration) +tile.MachineBlock3.QuantumEntangloporter.name=Transportador Quântico +tile.MachineBlock3.SolarNeutronActivator.name=Ativador Neutrônico Solar +tile.MachineBlock3.Oredictionificator.name=Oredictionificador +tile.MachineBlock3.ResistiveHeater.name=Aquecedor Resistivo +tile.MachineBlock3.FormulaicAssemblicator.name=Montador Formular +tile.MachineBlock3.FuelwoodHeater.name=Aquecedor Sólido + +//Plastic +tile.PlasticBlock.name=Bloco de Plástico +tile.SlickPlasticBlock.name=Bloco de Plástico Liso +tile.GlowPlasticBlock.name=Bloco de Plástico Fluorescente +tile.ReinforcedPlasticBlock.name=Bloco de Plástico Reforçado +tile.RoadPlasticBlock.name=Estrada de Plástico + +tile.PlasticFence.name=Barreira de Plástico + +//Infuse types +infuse.carbon=Carbono +infuse.tin=Estanho +infuse.diamond=Diamante +infuse.redstone=Redstone +infuse.fungi=Fungos +infuse.obsidian=Obsidiana +infuse.bio=Biomassa + +//Ore Block +tile.OreBlock.OsmiumOre.name=Minério de Ósmio +tile.OreBlock.CopperOre.name=Minério de Cobre +tile.OreBlock.TinOre.name=Minério de Estanho + +//Transmitters +item.MultipartTransmitter.BasicPressurizedTube.name=Tubo Pressurizado Básico +item.MultipartTransmitter.AdvancedPressurizedTube.name=Tubo Pressurizado Avançado +item.MultipartTransmitter.ElitePressurizedTube.name=Tubo Pressurizado Elite +item.MultipartTransmitter.UltimatePressurizedTube.name=Tubo Pressurizado Final +item.MultipartTransmitter.BasicUniversalCable.name=Cabo Universal Básico +item.MultipartTransmitter.AdvancedUniversalCable.name=Cabo Universal Avançado +item.MultipartTransmitter.EliteUniversalCable.name=Cabo Universal Elite +item.MultipartTransmitter.UltimateUniversalCable.name=Cabo Universal Final +item.MultipartTransmitter.BasicMechanicalPipe.name=Tubo Mecânico Básico +item.MultipartTransmitter.AdvancedMechanicalPipe.name=Tubo Mecânico Avançado +item.MultipartTransmitter.EliteMechanicalPipe.name=Tubo Mecânico Elite +item.MultipartTransmitter.UltimateMechanicalPipe.name=Tubo Mecânico Final +item.MultipartTransmitter.BasicLogisticalTransporter.name=Transportador Logístico Básico +item.MultipartTransmitter.AdvancedLogisticalTransporter.name=Transportador Logístico Avançado +item.MultipartTransmitter.EliteLogisticalTransporter.name=Transportador Logístico Elite +item.MultipartTransmitter.UltimateLogisticalTransporter.name=Transportador Logístico Final +item.MultipartTransmitter.RestrictiveTransporter.name=Transportador Restritivo +item.MultipartTransmitter.DiversionTransporter.name=Transportador Redirecionador +item.MultipartTransmitter.BasicThermodynamicConductor.name=Conduíte Térmico Básico +item.MultipartTransmitter.AdvancedThermodynamicConductor.name=Conduíte Térmico Avançado +item.MultipartTransmitter.EliteThermodynamicConductor.name=Conduíte Térmico Elite +item.MultipartTransmitter.UltimateThermodynamicConductor.name=Conduíte Térmico Final + +//Glow Panel +item.GlowPanel.name=Painel Luminoso + +//Energy Cubes +tile.EnergyCubeBasic.name=Cubo de Energia Básico +tile.EnergyCubeAdvanced.name=Cubo de Energia Avançado +tile.EnergyCubeElite.name=Cubo de Energia de Elite +tile.EnergyCubeUltimate.name=Cubo de Energia Final +tile.EnergyCubeCreative.name=Cubo de Energia Criativo + +//Factory Installers +item.basicFactoryInstaller.name=Instalador Fabril Básico +item.advancedFactoryInstaller.name=Instalador Fabril Avançado +item.eliteFactoryInstaller.name=Instalador Fabril Elite + +//Dust +item.ironDust.name=Pó de Ferro +item.goldDust.name=Pó de Ouro +item.osmiumDust.name=Pó de Ósmio +item.obsidianDust.name=Pó de Obsidiana +item.refinedobsidianDust.name=Pó de Obsidiana Refinado +item.diamondDust.name=Pó de Diamante +item.steelDust.name=Pó de Aço +item.copperDust.name=Pó de Cobre +item.tinDust.name=Pó de Estanho +item.silverDust.name=Pó de Prata +item.leadDust.name=Pó de Chumbo +item.sulfurDust.name=Pó de Enxofre +item.lithiumDust.name=Pó de Lítio + +//Clumps +item.ironClump.name=Aglomerado de Ferro +item.goldClump.name=Aglomerado de Ouro +item.osmiumClump.name=Aglomerado de Ósmio +item.copperClump.name=Aglomerado de Cobre +item.tinClump.name=Aglomerado de Estanho +item.silverClump.name=Aglomerado de Prata +item.leadClump.name=Aglomerado de Chumbo + +//Shards +item.ironShard.name=Estilhaço de Ferro +item.goldShard.name=Estilhaço de Ouro +item.osmiumShard.name=Estilhaço de Ósmio +item.copperShard.name=Estilhaço de Cobre +item.tinShard.name=Estilhaço de Estanho +item.silverShard.name=Estilhaço de Prata +item.leadShard.name=Estilhaço de Chumbo + +//Crystals +item.ironCrystal.name=Cristal de Ferro +item.goldCrystal.name=Cristal de Ouro +item.osmiumCrystal.name=Cristal de Ósmio +item.copperCrystal.name=Cristal de Cobre +item.tinCrystal.name=Cristal de Estanho +item.silverCrystal.name=Cristal de Prata +item.leadCrystal.name=Cristal de Chumbo + +//Dirty Dust +item.dirtyIronDust.name=Pó de Ferro Sujo +item.dirtyGoldDust.name=Pó de Ouro Sujo +item.dirtyOsmiumDust.name=Pó de Ósmio Sujo +item.dirtyCopperDust.name=Pó de Cobre Sujo +item.dirtyTinDust.name=Pó de Estanho Sujo +item.dirtySilverDust.name=Pó de Prata Sujo +item.dirtyLeadDust.name=Pó de Chumbo Sujo + +//Ingots +item.obsidianIngot.name=Barra de Obsidiana +item.osmiumIngot.name=Barra de Ósmio +item.bronzeIngot.name=Barra de Bronze +item.glowstoneIngot.name=Barra de Pedra Luminosa +item.steelIngot.name=Barra de Aço +item.copperIngot.name=Barra de Cobre +item.tinIngot.name=Barra de Estanho + +//Gasses +gas.hydrogen=Hidrogénio +gas.oxygen=Oxigénio +gas.water=Vapor de Água +gas.chlorine=Cloro +gas.sulfurDioxideGas=Dióxido de Enxofre +gas.sulfurTrioxideGas=Trióxido de Enxofre +gas.sulfuricAcid=Ácido Sulfúrico +gas.hydrogenChloride=Cloreto de Hidrogénio +gas.liquidOsmium=Ósmio Líquido +gas.liquidStone=Pedra Líquida +gas.ethene=Etileno +gas.sodium=Sódio +gas.brine=Salmoura Gasosa +gas.deuterium=Deutério +gas.tritium=Trítio +gas.lithium=Lítio +gas.fusionFuelDT=Combustível D-T + +gas.iron=Polpa de Ferro +gas.gold=Polpa de Ouro +gas.osmium=Polpa de Ósmio +gas.copper=Polpa de Cobre +gas.tin=Polpa de Estanho +gas.silver=Polpa de Prata +gas.obsidian=Polpa de Obsidiana +gas.lead=Polpa de Chumbo + +gas.cleanIron=Polpa de Ferro Pura +gas.cleanGold=Polpa de Ouro Pura +gas.cleanOsmium=Polpa de Ósmio Pura +gas.cleanCopper=Polpa de Cobre Pura +gas.cleanTin=Polpa de Estanho Pura +gas.cleanSilver=Polpa de Prata Pura +gas.cleanObsidian=Polpa de Obsidiana Pura +gas.cleanLead=Polpa de Chumbo Pura + +//BC Fuel Gases +gas.fuel=Combustível Vaporizado +gas.oil=Óleo Vaporizado + +//Fluids +fluid.hydrogen=Hidrogénio Líquido +fluid.oxygen=Oxigénio Líquido +fluid.chlorine=Cloro Líquido +fluid.sulfurDioxideGas=Dióxido de Enxofre Líquido +fluid.sulfurTrioxideGas=Trióxido de Enxofre Líquido +fluid.sulfuricAcid=Ácido Sulfúrico Líquido +fluid.hydrogenChloride=Cloreto de Hidrogénio Líquido +fluid.brine=Salmoura +fluid.ethene=Etileno Líquido +fluid.sodium=Sódio Líquido +fluid.heavyWater=Água Pesada +fluid.lithium=Lítio Líquido +fluid.deuterium=Deutério Líquido +fluid.tritium=Trítio Líquido +fluid.fusionFuelDT=Combustível D-T Líquido +fluid.steam=Vapor Aquecido + +//OreGas names +oregas.iron=Minério de Ferro +oregas.gold=Minério de Ouro +oregas.osmium=Minério de Ósmio +oregas.copper=Minério de Cobre +oregas.tin=Minério de Estanho +oregas.silver=Minério de Prata +oregas.obsidian=Minério de Obsidiana +oregas.lead=Minério de Chumbo + +//Tier names +tier.Basic=Básico +tier.Advanced=Avançado +tier.Elite=Elite +tier.Ultimate=Final +tier.Creative=Criativo + +//Transmission types +transmission.Energy=Energia +transmission.Fluids=Fluidos +transmission.Gases=Gases +transmission.Items=Itens +transmission.Heat=Calor + +//Update handler text +update.consider=Considere atualizar para a versão +update.newFeatures=Novas funcionalidades +update.visit=Visite +update.toDownload=para fazer o download +update.devBuild=Usando a versão de desenvolvedor +update.outdated=Usando a versão desatualizada em um ou mais módulos + +//Upgrades +upgrade.energy=Energia +upgrade.energy.desc=Aumenta a eficiência e capacidade energética. +upgrade.speed=Velocid. +upgrade.speed.desc=Aumenta a velocidade. +upgrade.filter=Filtro +upgrade.filter.desc=Separa Água Pesada de água comum. +upgrade.gas=Gás +upgrade.gas.desc=Aumenta a eficiência de uso de gás. +upgrade.muffling=Silenc. +upgrade.muffling.desc=Reduz ruídos causados por maquinários. + +//Key description text +key.mode=Alternar Modo de Ferramenta +key.armorMode=Alternar Modo de Armadura +key.voice=Voz + +//Entities +entity.Mekanism.Robit.name=Robit +entity.Mekanism.BabySkeleton.name=Esqueleto Bebé + +//Config Gui +mekanism.configgui.ctgy.general=Configurações Gerais do Mekanism +mekanism.configgui.ctgy.machines=Configurações das Máquinas +mekanism.configgui.ctgy.tier=Configurações dos Níveis +mekanism.configgui.ctgy.usage=Configurações de Uso +mekanism.configgui.ctgy.client=Configurações do Cliente + +//Config Tooltips +mekanism.configgui.ctgy.general.tooltip=Configurações gerais relativas a Mekanism e todos os seus módulos +mekanism.configgui.ctgy.machines.tooltip=Configurações relativas a habilitar e desabilitar maquinário especifico +mekanism.configgui.ctgy.tier.tooltip=Configurações relativas a níveis do Mekanism e seus valores correspondentes +mekanism.configgui.ctgy.usage.tooltip=Configurações relativas a máquinas e seu consumo de energia +mekanism.configgui.ctgy.client.tooltip=Configurações específicas do cliente sobre Mekanism e todos os seus módulos + +//Gui text +gui.condensentrating=Condensentrando +gui.decondensentrating=Descondensentrando +gui.power=Energia +gui.confirm=Confirmar +gui.open=Abrir +gui.allOK=Tudo OK +gui.none=Nenhum +gui.new=Novo +gui.edit=Editar +gui.save=Salvar +gui.output=Saída +gui.delete=Deletar +gui.status=Estado +gui.autoEject=Autoejetar +gui.itemstack=ItemStack +gui.oredict=OreDict +gui.material=Material +gui.out=Saída +gui.noFluid=Sem Fluidos +gui.empty=Vazio +gui.volume=Volume +gui.start=Iniciar +gui.stop=Parar +gui.config=Configurar +gui.teleport=Teletransporte +gui.eject=Ejetar +gui.input=Entrada +gui.strictInput=Entrada Estrita +gui.slots=Aberturas +gui.state=Estado +gui.on=Lig +gui.off=Desl +gui.filters=Filtros +gui.filter=Filtro +gui.idle=Inativo +gui.data=Dados +gui.newFilter=Novo Filtro +gui.energy=Energia +gui.gas=Gás +gui.dumping=Despejar +gui.dumping_excess=Despejar Excesso +gui.modID=Mod ID +gui.key=Chave +gui.id=ID +gui.finished=Terminou +gui.well=Tudo está bem! +gui.upgrade=Aprimorar +gui.infinite=Infinito +gui.min=Min +gui.max=Máx +gui.delay=Atraso +gui.noDelay=Sem atraso +gui.fuel=Combustível +gui.heat=Calor +gui.formed=Formado +gui.incomplete=Incompleto +gui.inductionMatrix=Matriz de Indução +gui.matrixStats=Estatísticas da Matriz +gui.turbineStats=Estatísticas da Turbina +gui.boilerStats=Estatísticas da Caldeira +gui.main=Principal +gui.outputting=Emitindo +gui.receiving=Recebendo +gui.dimensions=Dimensões +gui.constituents=Componentes +gui.cells=células +gui.providers=provedores +gui.structure=Estrutura +gui.dynamicTank=Tanque Dinâmico +gui.industrialTurbine=Turbina Industrial +gui.thermoelectricBoiler=Caldeira Termoelétrica +gui.visuals=Aparência +gui.noEject=Não Ejeta +gui.undefined=Indefinido +gui.owner=Proprietário +gui.public=Público +gui.private=Privado +gui.add=Adicionar +gui.set=Definir +gui.freq=Freq +gui.security=Segurança +gui.index=Índice +gui.producing=Produzindo +gui.maxOutput=Saída Máx. +gui.storing=Armazenando +gui.skyBlocked=Céu obstruído +gui.using=Usando +gui.needed=Necessário +gui.noRecipe=Sem receita +gui.conflict=Conflito +gui.height=Altura +gui.mult=Multi +gui.chunk=Chunk +gui.vibrating=Vibrando +gui.abundancy=Abundância +gui.nextItem=Próximo Item +gui.lastItem=Último Item +gui.oreDictCompat=Chave OreDict Compatível +gui.toggleCooling=Alternar Medições de Refrigeração +gui.coolingMeasurements=Resfriamento Ativo +gui.redstoneOutputMode=Modo Redstone +gui.entityDetection=Detecção de Entidades +gui.moveUp=Subir +gui.moveDown=Descer +gui.flowRate=Fluxo +gui.maxFlow=Fluxo máximo +gui.tankVolume=Volume do Tanque +gui.steamFlow=Fluxo de Vapor +gui.production=Produção +gui.blades=Hélices +gui.coils=Bobinas +gui.dispersers=Dispersores +gui.vents=Saídas de ventilação +gui.maxProduction=Produção máxima +gui.limiting=Limitando +gui.steamInput=Saída de Vapor +gui.capacity=Capacidade +gui.unit=Unidade +gui.temp=Temp +gui.usage=Uso +gui.transferred=Transferido +gui.dissipated=Dissipado +gui.boilRate=Taxa de ebulição +gui.maxBoil=Ebulição máxima +gui.maxWater=Água máxima +gui.maxSteam=Vapor máximo +gui.heatTransfer=Condução de calor +gui.superheaters=Superaquecedores +gui.boilCapacity=Capacidade de ebulição +gui.encodeFormula=Codificar Fórmula +gui.autoModeToggle=Ligar modo automático +gui.craftSingle=Montar um item +gui.craftAvailable=Montar itens disponíveis +gui.fillEmpty=Encher/Esvaziar grid +gui.noOwner=Sem dono +gui.securityOverride=Sobreposição de segurança +gui.remove=Remover +gui.trustedPlayers=Jogadores confiáveis +gui.publicMode=Modo Público +gui.privateMode=Mode Privado +gui.trustedMode=Modo de Confiança +gui.securityOffline=Segurança Offline +gui.noAccessDesc=Você não tem acesso +gui.overridden=Sobreposto +gui.nowOwn=Você é o novo dono +gui.frequency=Frequência +gui.mode=Modo +gui.burnRate=Taxa de queima + +gui.reactor.injectionRate=Taxa de Injeção + +gui.upgrades=Aprimorações +gui.upgrades.supported=Suportado +gui.upgrades.noSelection=Sem seleção +gui.upgrades.amount=Quantidade +gui.upgrades.max=Máx. +gui.upgrades.effect=Efeito + +gui.chemicalInfuser.short=Infusor Quím. +gui.chemicalDissolutionChamber.short=Câm. Dissolução Quím. +gui.thermalEvaporationController.short=Controlador Ev. Térmica + +gui.dictionary.noKey=Sem Entrada. + +gui.configuration=Configuração +gui.config=Configurar +gui.configuration.side=Configurar Lados +gui.configuration.transporter=Configurar Transportador +gui.configuration.strictInput=Entrada Restrita + +gui.rotaryCondensentrator.toggleOperation=Alternar Operação + +gui.factory.secondaryEnergy=Energia Secundária +gui.factory.autoSort=Autoclassificar + +//Recipe types +gui.factory.Smelting=||Fundição|| +gui.factory.Enriching=||Enriquecimento|| +gui.factory.Crushing=||Trituração|| +gui.factory.Compressing=||Compressão|| +gui.factory.Combining=||Combinação|| +gui.factory.Purifying=||Purificação|| +gui.factory.Injecting=||Injeção|| +gui.factory.Infusing=||Infusão|| + +gui.seismicReader.short=Leitor Sís. +gui.seismicReader.solids=Sólidos +gui.seismicReader.fluids=Líquidos +gui.seismicReader.reading=Lendo + +gui.filterSelect.title=Criar Novo Filtro + +gui.oredictFilter=Filtro OreDict +gui.oredictFilter.noKey=Nenhuma entrada digitada +gui.oredictFilter.sameKey=Mesma entrada + +gui.modIDFilter=Filtro Mod ID +gui.modIDFilter.noID=Nenhuma ID inserido +gui.modIDFilter.sameID=Mesmo ID + +gui.oredictionificatorFilter=Filtro Oredictionificador + +gui.itemFilter=Filtro de Itens +gui.itemFilter.noItem=Sem Itens +gui.itemFilter.details=Detalhes da Pilha De Itens +gui.itemFilter.min=Min +gui.itemFilter.max=Máx + +gui.materialFilter=Filtrar Material +gui.materialFilter.details=Utilizando material de + +gui.portableTeleporter=Teletransportador Portátil + +gui.robit=Robit +gui.robit.smelting=Fundição Robit +gui.robit.inventory=Inventário Robit +gui.robit.crafting=Criação Robit +gui.robit.greeting=Olá, eu sou +gui.robit.toggleFollow=Alternar modo 'seguir' +gui.robit.rename=Renomear este Robit +gui.robit.teleport=Teletransportar para casa +gui.robit.togglePickup=Alternar modo 'coletar itens' +gui.robit.following=Seguindo +gui.robit.dropPickup=Coleta de itens +gui.robit.owner=Proprietário + +gui.password.setPassword=Definir senha +gui.password.enterPassword=Digitar senha +gui.password.fieldsEmpty=Campo(s) em branco +gui.password.notMatching=Não Corresponde +gui.password.identical=Idêntica +gui.password.invalid=Inválida +gui.password=Senha + +gui.logisticalSorter.default=Padrão +gui.logisticalSorter.auto=Auto +gui.logisticalSorter.roundRobin=Rodízio + +gui.teleporter.notReady=Não Pronto +gui.teleporter.ready=Pronto +gui.teleporter.noFrame=Nenhum quadro +gui.teleporter.noLink=Nenhuma conexão localizada +gui.teleporter.exceeds=Conexões > 2 +gui.teleporter.needsEnergy=Requer Energia +gui.teleporter.noAccess=Você não tem acesso a este teletransportador. +gui.teleporter.noFreq=Sem frequência + +gui.entangloporter.noAccess=Você não tem acesso a esse Transportador. + +gui.digitalMinerConfig=Config Minerador Digital + +gui.digitalMiner.autoPull=Autopuxar +gui.digitalMiner.replaceBlock=Substituir bloco +gui.digitalMiner.reset=Reiniciar +gui.digitalMiner.silkTouch=Toque Suave +gui.digitalMiner.pull=Puxar +gui.digitalMiner.silk=TqSv +gui.digitalMiner.toMine=Minerar +gui.digitalMiner.running=Rodando +gui.digitalMiner.inverse=Modo Inverso +gui.digitalMiner.requireReplace=Requer substituição +gui.digitalMiner.fuzzyMode=Modo Impreciso +gui.digitalMiner.missingBlock=Falta de Bloco + +//Recipe names +recipe.mekanismShaped=Exata +recipe.mekanismShapeless=Disforme + +//Security types +security.public=Público +security.private=Privado +security.trusted=Confiável + +//Item and block tooltip text +tooltip.configurator.configurate=Configurar +tooltip.configurator.empty=Vazio +tooltip.configurator.rotate=Girar +tooltip.configurator.wrench=Chave Inglesa +tooltip.configurator.pumpReset=Reiniciar cálculo da Bomba Elétrica +tooltip.configurator.toggleDiverter=Modo do Redirecionador alterado para +tooltip.configurator.toggleMode=Comportamento de %s mudado para +tooltip.configurator.viewMode=Comportamento de %s atual +tooltip.configurator.noLink=Sem ligação +tooltip.configurator.linkMsg=Ligado a +tooltip.configurator.dim=dimensão +tooltip.configurator.setLink=Defina ligação ao bloco de +tooltip.configurator.plenisherReset=Cálculo de Abastecedor Fluídico reiniciado +tooltip.configurator.inductionPortMode=Modo de transferência de Porta de Indução alternado para +tooltip.configurator.toggleColor=Cor mudada para +tooltip.configurator.viewColor=Cor atual + +tooltip.upgrade.speed=Velocidade +tooltip.upgrade.energy=Energia + +tooltip.inventory=Inventário +tooltip.storedEnergy=Energia Armazenada +tooltip.auth=Autenticado +tooltip.locked=Trancado +tooltip.recipeType=Tipo de Receita +tooltip.hold=Segure +tooltip.forDesc=para uma descrição +tooltip.forDetails=para mais detalhes +tooltip.fireMode=Modo Fogo +tooltip.capacity=Capacidade +tooltip.pumpRate=Taxa de Bombeio +tooltip.items=Itens +tooltip.blocks=Blocos +tooltip.universal=universal +tooltip.fluids=Fluídos +tooltip.gasses=Gases +tooltip.capableTrans=Capaz de transferir +tooltip.restrictiveDesc=Só é usado se não houver outros caminhos disponíveis +tooltip.diversionDesc=Controlável por redstone +tooltip.noGas=Sem gás armazenado +tooltip.stored=Armazenado +tooltip.channel=Canal +tooltip.mode=Modo +tooltip.efficiency=Eficiência +tooltip.modeToggle=Modo alternado para +tooltip.flowing=Corrente +tooltip.yes=sim +tooltip.no=não +tooltip.name=Nome +tooltip.blockData=Bloco de dados +tooltip.block=Bloco +tooltip.meta=Metadados +tooltip.tile=Telha +tooltip.keysFound=Chave(s) encontradas +tooltip.noKey=Sem chave +tooltip.hp=HP +tooltip.configureState=Configurar Estado +tooltip.outputRate=Taxa de Emissão +tooltip.insufficientFuel=Pouco Combustível +tooltip.readyForReaction=Pronto para Reação +tooltip.speed=Velocidade +tooltip.and=e +tooltip.heat=Calor +tooltip.itemAmount=Quantidade do item +tooltip.invalid=Inválido +tooltip.encoded=Codificado +tooltip.ingredients=Ingredientes + +tooltip.portableTank.bucketMode=Modo Balde + +tooltip.disassembler.normal=normal +tooltip.disassembler.slow=lento +tooltip.disassembler.fast=rápido +tooltip.disassembler.vein=veio +tooltip.disassembler.off=desligado + +tooltip.configurationCard.got=Dados de configuração de %s salvos +tooltip.configurationCard.set=Dados de configuração de %s inseridos +tooltip.configurationCard.unequal=Dados desiguais + +tooltip.balloon=Balão + +tooltip.jetpack.regular=Normal +tooltip.jetpack.hover=Pairar +tooltip.jetpack.disabled=Desativado + +tooltip.flamethrower.combat=Combate +tooltip.flamethrower.heat=Calor +tooltip.flamethrower.inferno=Inferno +tooltip.flamethrower.modeBump=Modo do Lança-Chamas mudado para + +tooltip.seismicReader.needsEnergy=Energia não suficiente para interpretar a vibração +tooltip.seismicReader.noVibrations=Incapaz de descobrir quaisquer vibrações + +tooltip.Bin=Um bloco usado para armazenat grandes quantidades de um item. +tooltip.TeleporterFrame=Moldura usada para a construção do Teletransportador. +tooltip.SteelCasing=Uma forte carcaça feita de aço usada como fundação para máquinas. +tooltip.DynamicTank=Moldura usada para construção do Tanque Dinâmico. +tooltip.StructuralGlass=Um vidro de material reforçado usado na construção de vários multiblocos. +tooltip.DynamicValve=Vávula usada para a construção do Tanque Dinâmico. +tooltip.ThermalEvaporationController=Bloco mestre da Torre de Evaporação. Apenas um desses deve ser usado na estrutura. +tooltip.ThermalEvaporationValve=Válvula usada na construção da Torre de Evaporação. +tooltip.ThermalEvaporationBlock=Moldura de cobre usada para a construção da Torre de Evaporação. +tooltip.InductionCasing=Bloco resistente à tensão usado na construção da Matriz Energética. +tooltip.InductionPort=Porta de energia usada na construção da Matriz Energética. +tooltip.InductionCell=Célula capaz de armazenar altas quantidades de energia. Usada no interior da Matriz Energética para expandir o armazenamento. +tooltip.InductionProvider=Complexo de resfriadores, condutores e transformadores capazes de expandir a taxa de transferência da Matriz Energética. +tooltip.SuperheatingElement=Um radiador modular e decentemente pergiso capaz de emitir altas quantidades de calor ao seu redor. +tooltip.PressureDisperser=Bloco usado para dispersar vapor em um multibloco. Deve formar um tubo horizontal sem deformações para controlar o fluxo de vapor. +tooltip.BoilerCasing=Um bloco resistente à pressão, usado na construção da Caldeira Termoelétrica. +tooltip.BoilerValve=Vávula usada na construção da Caldeira Termoelétrica. +tooltip.SecurityDesk=Central de segurança para todas suas máquinas. + +tooltip.EnrichmentChamber=Uma máquina simples usada para enriquecer minérios tornando-os em duas porções de pó, como também realizar muitas outras operações. +tooltip.OsmiumCompressor=Uma máquina um tanto avançada usada para comprimir ósmio com pós de outros materiais parar convertê-los em barras. +tooltip.Combiner=Uma máquina usada para combinar pedregulho com pós de outros materiais para convertê-los em minério. +tooltip.Crusher=Uma máquina usada para triturar barras em pó, como também fazer várias outras operações. +tooltip.DigitalMiner=Uma automineradora altamente avançada com filtros que pode minerar qualquer bloco que ordenar num raio de 32 blocos (máx.). +tooltip.MetallurgicInfuser=Uma máquina usada para infundir vários materiais em (geralmente) materiais para criar ligas metálicas e outros compostos +tooltip.PurificationChamber=Uma máquina avançada capaz de processar minérios em aglomerados, servindo como o estágio inicial do processamento de minérios 300%. +tooltip.EnergizedSmelter=Uma máquina simples que serve como uma fornalha baseada no Mekanism que usa energia. +tooltip.Teleporter=Uma máquina capaz de teletransportar jogadores pra vários lugares definidos por outros Teletransportadores. +tooltip.ElectricPump=Uma bomba capaz de bombear um lago de lava inteiro. +tooltip.PersonalChest=Um baú de 54 lugares que pode ser aberto em qualquer lugar - mesmo a partir de seu próprio inventário. +tooltip.Chargepad=Uma plataforma recarregadora capaz de carregar qualquer item energizado de qualquer mod. +tooltip.LogisticalSorter=Uma máquina de triagem avançada com filtros que pode autoejetar itens especificados para dentro e para fora de inventários adjacentes e Transportadores Logísticos. +tooltip.RotaryCondensentrator=Uma máquina capaz de converter gases em suas formas líquidas e vice-versa. +tooltip.ChemicalInjectionChamber=Uma máquina elite capaz de processar minérios em estilhaços, servindo como estágio inicial do processamento de minérios a 400%. +tooltip.ElectrolyticSeparator=Uma máquina que usa o processo de eletrólise para quebrar um gás em dois gases diferentes. +tooltip.PrecisionSawmill=Uma máquina usada para processar lenha e outros itens de madeira mais eficientemente, como também obter serragem. +tooltip.ChemicalDissolutionChamber=Uma máquina definitiva usada para dissolver quimicamente todas impurezas de um minério, deixando uma polpa não processada para trás. +tooltip.ChemicalWasher=Uma máquina definitiva que limpa polpa não processada e a prepara para cristalização. +tooltip.ChemicalCrystallizer=Uma máquina definitiva usada para cristalizar polpa de minério purificada em cristais de minério. +tooltip.ChemicalOxidizer=Uma máquina capaz de oxidar materiais sólidos em fase gasosa. +tooltip.ChemicalInfuser=Uma máquina que produz um novo tipo de gás por infusão de dois outros. +tooltip.SeismicVibrator=Uma máquina que usa vibrações sísmicas para fornecer informações sobre diversas camadas do mundo. +tooltip.PressurizedReactionChamber=Uma máquina avançada que processa uma mistura líquida, gasosa e sólida e cria um produto gasoso e um sólido. +tooltip.FluidTank=Um tanque portátil útil que lhe permite carregar 14 baldes de fluido para onde quiser. Também serve como balde! +tooltip.FluidicPlenisher=Uma máquina que é capaz de criar lagos inteiros enchendo ravinas com fluidos. +tooltip.Laser=Uma forma avançada de transferência linear de energia que utiliza um feixe extremamente alinhado de luz. +tooltip.LaserAmplifier=Um bloco que pode ser usado para fundir, redirecionar e ampliar raios laser, com controles finos sobre quando disparar. +tooltip.LaserTractorBeam=Um bloco usado para mesclar e redirecionar os raios laser. Recolhe itens de blocos que foram quebrados. +tooltip.SolarNeutronActivator=Uma máquina que direciona a radiação de nêutrons do sol para seu armazenamento interno, permitindo a criação lenta de vários isótopos. +tooltip.Oredictionificator=A máquina usada para unificar e traduzir vários itens blocos usando o Ore Dictionary. +tooltip.Factory=Uma máquina que serve de melhoria para máquinas comuns, permitindo várias operações simultâneas. +tooltip.ResistiveHeater=Um resistor condensado que converter energia diretamente em calor. +tooltip.FormulaicAssemblicator=Uma máquina que usa energia para rapidamente montar itens com Fórmulas. Também serve se mesa de montagem avançada. +tooltip.FuelwoodHeater=Uma máquina que produz calor através de combustíveis sólidos. +tooltip.QuantumEntangloporter=Uma máquina altamente avançada que transporta virtualmente qualquer recurso através de longas distâncias ou dimensões. + +tooltip.HeatGenerator=Um gerador que usa o calor da lava ou outros recursos combustíveis para produzir energia. +tooltip.SolarGenerator=Um gerador que usa o poder do sol para produzir energia. +tooltip.GasGenerator=Um gerador que se aproveita dos gases molecularmente variantes para produzir energia. +tooltip.BioGenerator=Um gerador que queima materiais orgânicos do mundo para produzir energia. +tooltip.AdvancedSolarGenerator=Um gerador que diretamente absorve os raios solares com pequena perda para produzir energia +tooltip.WindGenerator=Um gerador que usa a força do vento para produzir energia, com eficiência maior em locais mais altos. +tooltip.TurbineRotor=Haste de aço usada para segurar Hélices de Turbina na Turbina Industrial. +tooltip.RotationalComplex=Conector colocado na Hélice mais alta da Turbina Industrial para transportar energia cinética para Bobinas Eletromagnéticas. +tooltip.ElectromagneticCoil=Bloco que converte energia cinética em energia usável. Podem ser colocadas em qualquer forma acima do Complexo Rotacional, desde que todos se conectem. +tooltip.TurbineCasing=Moldura resistente à pressão usada na construção da Turbina Industrial. +tooltip.TurbineValve=Moldura de turbina que possui portas de transferência de energia e vapor. +tooltip.TurbineVent=Moldura de turbina com uma porta de ventilação. Deve ser colocada no mesmo nível ou no nível acima do Complexo Rotacional. + +tooltip.ReactorGlass=Vidro Reforçado que pode ser utilizado no multibloco do Reator de Fusão. +tooltip.ReactorLaserFocusMatrix=Um painel do Vidro do Reator que é capaz de absorver energia óptica e dessa forma aquecendo o Reator de Fusão. +tooltip.ReactorController=O bloco controlador para a Estrutura Reator de Fusão toda. +tooltip.ReactorFrame=Armação reforçada que pode ser utilizada no multibloco do Reator de Fusão. +tooltip.ReactorNeutronCapturePlate=Um bloco que pode ser usado para bloquear a radiação do Reator de Fusão e para ajudar na produção de Trítio. +tooltip.ReactorPort=Um bloco de armação reforçada que é capaz de gerenciar a transferência de gás e de energia do Reator de Fusão. +tooltip.ReactorLogicAdapter=Um bloco que pode ser usado para permitir monitoramento básico de um reactor usando redstone. + +tooltip.OsmiumOre=Um mineral forte que pode ser achado em quase qualquer altura do mundo. É conhecido por ter muitos usos na construção de maquinaria. +tooltip.CopperOre=Um material condutivo e comum que pode ser usado na produção de fios. Sua habilidade de suportar altas temperaturas também o faz importante em maquinaria avançada. +tooltip.TinOre=Um material condutivo leve, porém resistente, que é encontrado com um pouco menos de frequência que Cobre. + +//Side data +sideData.None=Nada +sideData.Input=Entrada +sideData.Output=Saída +sideData.Energy=Energia +sideData.Gas=Gás +sideData.Extra=Extra +sideData.Infuse=Infusão +sideData.Fluid=Fluido +sideData.Fill=Encher +sideData.Empty=Esvaziar +sideData.Charge=Carga +sideData.Discharge=Descarga + +//Redstone control +control.disabled=Desativado +control.high=Alto +control.low=Fraco +control.pulse=Pulso +control.disabled.desc=Sempre ativo +control.high.desc=Ativo com sinal +control.low.desc=Ativo sem sinal +control.pulse.desc=Apenas ativo mediante ao primeiro sinal + +//Container edit modes +fluidedit.both=Ambos +fluidedit.fill=Encher +fluidedit.empty=Vazio + +//Colors +color.black=Preto +color.darkBlue=Azul +color.darkGreen=Verde +color.darkAqua=Ciano +color.darkRed=Vermelho Escuro +color.purple=Lilás +color.orange=Laranja +color.grey=Cinza Claro +color.darkGrey=Cinza +color.indigo=Azul Claro +color.brightGreen=Verde Limão +color.aqua=Ciano Claro +color.red=Vermelho +color.pink=Magenta +color.yellow=Amarelo +color.white=Branco +color.brown=Marrom +color.brightPink=Rosa + +//Dyes +dye.black=Preto +dye.darkBlue=Azul +dye.brown=Marrom +dye.darkGreen=Verde +dye.darkAqua=Ciano +dye.darkRed=Vermelho Escuro +dye.purple=Lilás +dye.orange=Laranja +dye.grey=Cinza Claro +dye.darkGrey=Cinza +dye.indigo=Azul Claro +dye.brightGreen=Verde Limão +dye.aqua=Ciano Claro +dye.red=Vermelho +dye.brightPink=Rosa +dye.pink=Magenta +dye.yellow=Amarelo +dye.white=Branco + +//Reactor Logic modes +reactor.disabled=Desativado +reactor.disabled.desc=Não irá emitir sinal de redstone +reactor.ready=Pronto para ignição +reactor.ready.desc=Reactor atingiu o nível necessário de calor para ignição +reactor.capacity=Capacidade de calor atendida +reactor.capacity.desc=A capacidade de calor do núcleo do reator foi atendida +reactor.depleted=Pouco Combustível +reactor.depleted.desc=O reator tem combustível insuficiente para manter uma reação + +//Creative tab +itemGroup.tabMekanism=Mekanism + +//NEI stuff +nei.chemicalInjectionChamber=Câm. Injeção Quím. +nei.rotaryCondensentrator=Condensentrador Rot. + +//**********// +//GENERATORS// +//**********// + +//Items +item.SolarPanel.name=Painel Solar +item.Hohlraum.name=Hohlraum +item.TurbineBlade.name=Hélice de Turbina + +//Generators +tile.Generator.HeatGenerator.name=Gerador a Calor +tile.Generator.SolarGenerator.name=Gerador a Energia Solar +tile.Generator.GasGenerator.name=Gerador a Queima de Gás +tile.Generator.BioGenerator.name=Biogerador +tile.Generator.AdvancedSolarGenerator.name=Gerador a Energia Solar Avançado +tile.Generator.WindGenerator.name=Gerador Eólico +tile.Generator.TurbineRotor.name=Rotor de Turbina +tile.Generator.RotationalComplex.name=Complexo Rotacional +tile.Generator.ElectromagneticCoil.name=Bobina Eletromagnética +tile.Generator.TurbineCasing.name=Moldura de Turbina +tile.Generator.TurbineValve.name=Válvula de Turbina +tile.Generator.TurbineVent.name=Respiradouro de Turbine + +tile.Reactor.ReactorController.name=Controlador do Reator +tile.Reactor.ReactorFrame.name=Armação do Reator +tile.Reactor.ReactorNeutronCapturePlate.name=Placa de Captura de Nêutrons +tile.Reactor.ReactorPort.name=Porta do Reator +tile.Reactor.ReactorLogicAdapter.name=Adaptador Lógica do Reator + +tile.ReactorGlass.ReactorGlass.name=Vidro do Reator +tile.ReactorGlass.ReactorLaserFocusMatrix.name=Matriz Focal do Laser + +//Gui text +gui.heatGenerator.fuel=Combustível +gui.solarGenerator.sun=Sol +gui.bioGenerator.bioFuel=Biocombustível +gui.electrolyticSeparator.dump=Despejar + +gui.passive=Refrigerado a Ar +gui.active=Refrigerado a Água + +gui.minInject=Taxa Min. de Injeção +gui.ignition=Temp de Ignição +gui.maxPlasma=Temp. Máx. do Plasma +gui.maxCasing=Temp. Máx. da Carcaça +gui.passiveGeneration=Geração Passiva +gui.steamProduction=Produção de Vapor + +//*****// +//TOOLS// +//*****// + +//Vanilla Paxels +item.WoodPaxel.name=Pacachado de Madeira +item.StonePaxel.name=Pacachado de Pedra +item.IronPaxel.name=Pacachado de Ferro +item.DiamondPaxel.name=Pacachado de Diamante +item.GoldPaxel.name=Pacachado de Ouro + +//Obsidian +item.ObsidianHelmet.name=Capacete de Obsidiana +item.ObsidianChestplate.name=Peitoral de Obsidiana +item.ObsidianLeggings.name=Perneiras de Obsidiana +item.ObsidianBoots.name=Botas de Obsidiana +item.ObsidianPaxel.name=Pacachado de Obsidiana +item.ObsidianPickaxe.name=Picareta de Obsidiana +item.ObsidianAxe.name=Machado de Obsidiana +item.ObsidianShovel.name=Pá de Obsidiana +item.ObsidianHoe.name=Enxada de Obsidiana +item.ObsidianSword.name=Espada de Obsidiana + +//Lapis Lazuli +item.LazuliHelmet.name=Capacete de Lápis-Lazúli +item.LazuliChestplate.name=Peitoral de Lápis-Lazúli +item.LazuliLeggings.name=Perneiras de Lápis-Lazúli +item.LazuliBoots.name=Botas de Lápis-Lazúli +item.LazuliPaxel.name=Pacachado de Lápis-Lazúli +item.LazuliPickaxe.name=Picareta de Lápis-Lazúli +item.LazuliAxe.name=Machado de Lápis-Lazúli +item.LazuliShovel.name=Pá de Lápis-Lazúli +item.LazuliHoe.name=Enxada de Lápis-Lazúli +item.LazuliSword.name=Espada de Lápis-Lazúli + +//Osmium +item.OsmiumHelmet.name=Capacete de Ósmio +item.OsmiumChestplate.name=Peitoral de Ósmio +item.OsmiumLeggings.name=Perneiras de Ósmio +item.OsmiumBoots.name=Botas de Ósmio +item.OsmiumPaxel.name=Pacachado de Ósmio +item.OsmiumPickaxe.name=Picareta de Ósmio +item.OsmiumAxe.name=Machado de Ósmio +item.OsmiumShovel.name=Pá de Ósmio +item.OsmiumHoe.name=Enxada de Ósmio +item.OsmiumSword.name=Espada de Ósmio + +//Bronze +item.BronzeHelmet.name=Capacete de Bronze +item.BronzeChestplate.name=Peitoral de Bronze +item.BronzeLeggings.name=Perneiras de Bronze +item.BronzeBoots.name=Botas de Bronze +item.BronzePaxel.name=Pacachado de Bronze +item.BronzePickaxe.name=Picareta de Bronze +item.BronzeAxe.name=Machado de Bronze +item.BronzeShovel.name=Pá de Bronze +item.BronzeHoe.name=Enxada de Bronze +item.BronzeSword.name=Espada de Bronze + +//Glow +item.GlowstoneHelmet.name=Capacete de Pedra Luminosa +item.GlowstoneChestplate.name=Peitoral de Pedra Luminosa +item.GlowstoneLeggings.name=Perneiras de Pedra Luminosa +item.GlowstoneBoots.name=Botas de Pedra Luminosa +item.GlowstonePaxel.name=Pacachado de Pedra Luminosa +item.GlowstonePickaxe.name=Picareta de Pedra Luminosa +item.GlowstoneAxe.name=Machado de Pedra Luminosa +item.GlowstoneShovel.name=Pá de Pedra Luminosa +item.GlowstoneHoe.name=Enxada de Pedra Luminosa +item.GlowstoneSword.name=Espada de Pedra Luminosa + +//Steel +item.SteelHelmet.name=Capacete de Aço +item.SteelChestplate.name=Peitoral de Aço +item.SteelLeggings.name=Perneiras de Aço +item.SteelBoots.name=Botas de Aço +item.SteelPaxel.name=Pacachado de Aço +item.SteelPickaxe.name=Picareta de Aço +item.SteelAxe.name=Machado de Aço +item.SteelShovel.name=Pá de Aço +item.SteelHoe.name=Enxada de Aço +item.SteelSword.name=Espada de Aço + +//Config Gui +mekanism.configgui.ctgy.tools.general=Geral +mekanism.configgui.ctgy.tools.armor=Balanceamento de Armadura +mekanism.configgui.ctgy.tools.tools=Balanceamento de Ferramentas + +//Config Tooltips +mekanism.configgui.ctgy.tools.general.tooltip=Definições relativas a configuração geral do MekanismTools +mekanism.configgui.ctgy.tools.armor.tooltip=Configurações relativas aos valores de proteção e balanço de armaduras do MekanismTools +mekanism.configgui.ctgy.tools.tools.tooltip=Configurações relativas aos valores de eficiência e balanço de ferramentas do MekanismTools From a6b3ca7e9e6ef2f53764816ef2e2efc20f9019d2 Mon Sep 17 00:00:00 2001 From: Ezer'Arch Date: Sun, 3 Jul 2016 23:00:31 -0300 Subject: [PATCH 31/75] Update pt_PT and pt_BR Minor change. --- .../resources/assets/mekanism/lang/pt_BR.lang | 16 ++++++++-------- .../resources/assets/mekanism/lang/pt_PT.lang | 14 +++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/main/resources/assets/mekanism/lang/pt_BR.lang b/src/main/resources/assets/mekanism/lang/pt_BR.lang index 71ea96359..89d3a9ecf 100644 --- a/src/main/resources/assets/mekanism/lang/pt_BR.lang +++ b/src/main/resources/assets/mekanism/lang/pt_BR.lang @@ -16,11 +16,11 @@ item.GasUpgrade.name=Upgrade de Gás item.Robit.name=Robit item.AtomicDisassembler.name=Desintegrador Atômico item.ElectricBow.name=Arco Elétrico -item.EnrichedIron.name=Ferro Enriquecido -item.CompressedCarbon.name=Carbono Compactado -item.CompressedRedstone.name=Redstone Compactada -item.CompressedDiamond.name=Diamante Comprimido -item.CompressedObsidian.name=Obsidiana Comprimida +item.EnrichedIron.name=Ferro Enriquecido +item.CompressedCarbon.name=Carbono Prensado +item.CompressedRedstone.name=Redstone Prensada +item.CompressedDiamond.name=Diamante Prensado +item.CompressedObsidian.name=Obsidiana Prensada item.PortableTeleporter.name=Teletransportador Portátil item.TeleportationCore.name=Núcleo de Teletransporte item.Configurator.name=Configurador @@ -118,7 +118,7 @@ tile.BasicBlock2.SecurityDesk.name=Mesa de Segurança //Machine Block tile.MachineBlock.EnrichmentChamber.name=Câmara de Enriquecimento -tile.MachineBlock.OsmiumCompressor.name=Compressor de Ósmio +tile.MachineBlock.OsmiumCompressor.name=Prensa de Ósmio tile.MachineBlock.Combiner.name=Combinador tile.MachineBlock.Crusher.name=Triturador tile.MachineBlock.Factory.name=Fábrica @@ -587,7 +587,7 @@ gui.factory.autoSort=Autoclassificar gui.factory.Smelting=||Fundição|| gui.factory.Enriching=||Enriquecimento|| gui.factory.Crushing=||Trituração|| -gui.factory.Compressing=||Compressão|| +gui.factory.Compressing=||Prensagem|| gui.factory.Combining=||Combinação|| gui.factory.Purifying=||Purificação|| gui.factory.Injecting=||Injeção|| @@ -796,7 +796,7 @@ tooltip.BoilerValve=Vávula usada na construção da Caldeira Termoelétrica. tooltip.SecurityDesk=Central de segurança para todas suas máquinas. tooltip.EnrichmentChamber=Uma máquina simples usada para enriquecer minérios tornando-os em duas porções de pó, como também realizar muitas outras operações. -tooltip.OsmiumCompressor=Uma máquina um tanto avançada usada para comprimir ósmio com pós de outros materiais parar convertê-los em barras. +tooltip.OsmiumCompressor=Uma máquina um tanto avançada usada para prensar ósmio com pós de outros materiais parar convertê-los em barras. tooltip.Combiner=Uma máquina usada para combinar pedregulho com pós de outros materiais para convertê-los em minério. tooltip.Crusher=Uma máquina usada para triturar barras em pó, como também fazer várias outras operações. tooltip.DigitalMiner=Uma automineradora altamente avançada com filtros que pode minerar qualquer bloco que ordenar num raio de 32 blocos (máx.). diff --git a/src/main/resources/assets/mekanism/lang/pt_PT.lang b/src/main/resources/assets/mekanism/lang/pt_PT.lang index a7d64cf9b..97a5510d6 100644 --- a/src/main/resources/assets/mekanism/lang/pt_PT.lang +++ b/src/main/resources/assets/mekanism/lang/pt_PT.lang @@ -17,10 +17,10 @@ item.Robit.name=Robit item.AtomicDisassembler.name=Desintegrador Atómico item.ElectricBow.name=Arco Elétrico item.EnrichedIron.name=Ferro Enriquecido -item.CompressedCarbon.name=Carbono Compactado -item.CompressedRedstone.name=Redstone Compactada -item.CompressedDiamond.name=Diamante Comprimido -item.CompressedObsidian.name=Obsidiana Comprimida +item.CompressedCarbon.name=Carbono Prensado +item.CompressedRedstone.name=Redstone Prensada +item.CompressedDiamond.name=Diamante Prensado +item.CompressedObsidian.name=Obsidiana Prensada item.PortableTeleporter.name=Teletransportador Portátil item.TeleportationCore.name=Núcleo de Teletransporte item.Configurator.name=Configurador @@ -118,7 +118,7 @@ tile.BasicBlock2.SecurityDesk.name=Mesa de Segurança //Machine Block tile.MachineBlock.EnrichmentChamber.name=Câmara de Enriquecimento -tile.MachineBlock.OsmiumCompressor.name=Compressor de Ósmio +tile.MachineBlock.OsmiumCompressor.name=Prensa de Ósmio tile.MachineBlock.Combiner.name=Combinador tile.MachineBlock.Crusher.name=Triturador tile.MachineBlock.Factory.name=Fábrica @@ -587,7 +587,7 @@ gui.factory.autoSort=Autoclassificar gui.factory.Smelting=||Fundição|| gui.factory.Enriching=||Enriquecimento|| gui.factory.Crushing=||Trituração|| -gui.factory.Compressing=||Compressão|| +gui.factory.Compressing=||Prensagem|| gui.factory.Combining=||Combinação|| gui.factory.Purifying=||Purificação|| gui.factory.Injecting=||Injeção|| @@ -796,7 +796,7 @@ tooltip.BoilerValve=Vávula usada na construção da Caldeira Termoelétrica. tooltip.SecurityDesk=Central de segurança para todas suas máquinas. tooltip.EnrichmentChamber=Uma máquina simples usada para enriquecer minérios tornando-os em duas porções de pó, como também realizar muitas outras operações. -tooltip.OsmiumCompressor=Uma máquina um tanto avançada usada para comprimir ósmio com pós de outros materiais parar convertê-los em barras. +tooltip.OsmiumCompressor=Uma máquina um tanto avançada usada para prensar ósmio com pós de outros materiais parar convertê-los em barras. tooltip.Combiner=Uma máquina usada para combinar pedregulho com pós de outros materiais para convertê-los em minério. tooltip.Crusher=Uma máquina usada para triturar barras em pó, como também fazer várias outras operações. tooltip.DigitalMiner=Uma automineradora altamente avançada com filtros que pode minerar qualquer bloco que ordenar num raio de 32 blocos (máx.). From f4582dbccf1b06662c1dbbaaa902d522f20ae8c9 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 5 Jul 2016 17:01:58 -0400 Subject: [PATCH 32/75] Fixed the stupid invalid frequency issue --- src/main/java/mekanism/common/frequency/FrequencyManager.java | 1 + .../mekanism/common/tile/TileEntityQuantumEntangloporter.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/mekanism/common/frequency/FrequencyManager.java b/src/main/java/mekanism/common/frequency/FrequencyManager.java index b5acee517..110a99245 100644 --- a/src/main/java/mekanism/common/frequency/FrequencyManager.java +++ b/src/main/java/mekanism/common/frequency/FrequencyManager.java @@ -147,6 +147,7 @@ public class FrequencyManager if(user.equals(freq.owner)) { freq.activeCoords.add(coord); + freq.valid = true; frequencies.add(freq); dataHandler.markDirty(); diff --git a/src/main/java/mekanism/common/tile/TileEntityQuantumEntangloporter.java b/src/main/java/mekanism/common/tile/TileEntityQuantumEntangloporter.java index 452c29300..130c4a499 100644 --- a/src/main/java/mekanism/common/tile/TileEntityQuantumEntangloporter.java +++ b/src/main/java/mekanism/common/tile/TileEntityQuantumEntangloporter.java @@ -663,7 +663,7 @@ public class TileEntityQuantumEntangloporter extends TileEntityElectricBlock imp @Override public boolean canTubeConnect(ForgeDirection side) { - return frequency != null && configComponent.getOutput(TransmissionType.GAS, side.ordinal(), facing).ioState != IOState.OFF; + return hasFrequency() && configComponent.getOutput(TransmissionType.GAS, side.ordinal(), facing).ioState != IOState.OFF; } private static final String[] methods = new String[] {"setFrequency"}; From cdf4b16ec1cac1d259833b0bebab9b25775af6a0 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 5 Jul 2016 17:30:34 -0400 Subject: [PATCH 33/75] Fixed Robit dupe glitch --- .../java/mekanism/client/ClientProxy.java | 28 +++++++++++++------ .../mekanism/client/gui/GuiRobitCrafting.java | 26 ++++++++--------- .../mekanism/client/gui/GuiRobitRepair.java | 26 ++++++++--------- .../mekanism/client/gui/GuiRobitSmelting.java | 2 +- .../java/mekanism/common/CommonProxy.java | 28 +++++++++++++------ .../container/ContainerRobitCrafting.java | 12 +++++--- .../container/ContainerRobitInventory.java | 2 +- .../container/ContainerRobitMain.java | 2 +- .../container/ContainerRobitRepair.java | 12 +++++--- .../container/ContainerRobitSmelting.java | 2 +- .../common/tile/TileEntityBasicBlock.java | 4 --- 11 files changed, 84 insertions(+), 60 deletions(-) diff --git a/src/main/java/mekanism/client/ClientProxy.java b/src/main/java/mekanism/client/ClientProxy.java index 920dc1388..d3833b42c 100644 --- a/src/main/java/mekanism/client/ClientProxy.java +++ b/src/main/java/mekanism/client/ClientProxy.java @@ -430,23 +430,33 @@ public class ClientProxy extends CommonProxy return new GuiRobitMain(player.inventory, robit); } case 22: - return new GuiRobitCrafting(player.inventory, world, x); - case 23: - EntityRobit robit1 = (EntityRobit)world.getEntityByID(x); + robit = (EntityRobit)world.getEntityByID(x); - if(robit1 != null) + if(robit != null) { - return new GuiRobitInventory(player.inventory, robit1); + return new GuiRobitCrafting(player.inventory, robit); + } + case 23: + robit = (EntityRobit)world.getEntityByID(x); + + if(robit != null) + { + return new GuiRobitInventory(player.inventory, robit); } case 24: - EntityRobit robit2 = (EntityRobit)world.getEntityByID(x); + robit = (EntityRobit)world.getEntityByID(x); - if(robit2 != null) + if(robit != null) { - return new GuiRobitSmelting(player.inventory, robit2); + return new GuiRobitSmelting(player.inventory, robit); } case 25: - return new GuiRobitRepair(player.inventory, world, x); + robit = (EntityRobit)world.getEntityByID(x); + + if(robit != null) + { + return new GuiRobitRepair(player.inventory, robit); + } case 29: return new GuiChemicalOxidizer(player.inventory, (TileEntityChemicalOxidizer)tileEntity); case 30: diff --git a/src/main/java/mekanism/client/gui/GuiRobitCrafting.java b/src/main/java/mekanism/client/gui/GuiRobitCrafting.java index bed932bf2..ca02ba00c 100644 --- a/src/main/java/mekanism/client/gui/GuiRobitCrafting.java +++ b/src/main/java/mekanism/client/gui/GuiRobitCrafting.java @@ -2,6 +2,7 @@ package mekanism.client.gui; import mekanism.client.sound.SoundHandler; import mekanism.common.Mekanism; +import mekanism.common.entity.EntityRobit; import mekanism.common.inventory.container.ContainerRobitCrafting; import mekanism.common.network.PacketRobit.RobitMessage; import mekanism.common.network.PacketRobit.RobitPacketType; @@ -9,7 +10,6 @@ import mekanism.common.util.LangUtils; import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.world.World; import org.lwjgl.opengl.GL11; @@ -19,12 +19,12 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class GuiRobitCrafting extends GuiMekanism { - public int entityId; + public EntityRobit robit; - public GuiRobitCrafting(InventoryPlayer inventory, World world, int id) + public GuiRobitCrafting(InventoryPlayer inventory, EntityRobit entity) { - super(new ContainerRobitCrafting(inventory, world)); - entityId = id; + super(new ContainerRobitCrafting(inventory, entity)); + robit = entity; xSize += 25; } @@ -105,8 +105,8 @@ public class GuiRobitCrafting extends GuiMekanism if(xAxis >= 179 && xAxis <= 197 && yAxis >= 10 && yAxis <= 28) { SoundHandler.playSound("gui.button.press"); - Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 0, entityId, null)); - mc.thePlayer.openGui(Mekanism.instance, 21, mc.theWorld, entityId, 0, 0); + Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 0, robit.getEntityId(), null)); + mc.thePlayer.openGui(Mekanism.instance, 21, mc.theWorld, robit.getEntityId(), 0, 0); } else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 30 && yAxis <= 48) { @@ -115,20 +115,20 @@ public class GuiRobitCrafting extends GuiMekanism else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 50 && yAxis <= 68) { SoundHandler.playSound("gui.button.press"); - Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 2, entityId, null)); - mc.thePlayer.openGui(Mekanism.instance, 23, mc.theWorld, entityId, 0, 0); + Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 2, robit.getEntityId(), null)); + mc.thePlayer.openGui(Mekanism.instance, 23, mc.theWorld, robit.getEntityId(), 0, 0); } else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 70 && yAxis <= 88) { SoundHandler.playSound("gui.button.press"); - Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 3, entityId, null)); - mc.thePlayer.openGui(Mekanism.instance, 24, mc.theWorld, entityId, 0, 0); + Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 3, robit.getEntityId(), null)); + mc.thePlayer.openGui(Mekanism.instance, 24, mc.theWorld, robit.getEntityId(), 0, 0); } else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108) { SoundHandler.playSound("gui.button.press"); - Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 4, entityId, null)); - mc.thePlayer.openGui(Mekanism.instance, 25, mc.theWorld, entityId, 0, 0); + Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 4, robit.getEntityId(), null)); + mc.thePlayer.openGui(Mekanism.instance, 25, mc.theWorld, robit.getEntityId(), 0, 0); } } } diff --git a/src/main/java/mekanism/client/gui/GuiRobitRepair.java b/src/main/java/mekanism/client/gui/GuiRobitRepair.java index 0c8e2724a..38b8d46ab 100644 --- a/src/main/java/mekanism/client/gui/GuiRobitRepair.java +++ b/src/main/java/mekanism/client/gui/GuiRobitRepair.java @@ -4,6 +4,7 @@ import java.util.List; import mekanism.client.sound.SoundHandler; import mekanism.common.Mekanism; +import mekanism.common.entity.EntityRobit; import mekanism.common.inventory.container.ContainerRobitRepair; import mekanism.common.network.PacketRobit.RobitMessage; import mekanism.common.network.PacketRobit.RobitPacketType; @@ -18,7 +19,6 @@ import net.minecraft.inventory.ICrafting; import net.minecraft.item.ItemStack; import net.minecraft.network.play.client.C17PacketCustomPayload; import net.minecraft.util.StatCollector; -import net.minecraft.world.World; import org.apache.commons.io.Charsets; import org.lwjgl.input.Keyboard; @@ -30,16 +30,16 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class GuiRobitRepair extends GuiMekanism implements ICrafting { - public int entityId; + private EntityRobit robit; private ContainerRepair repairContainer; private GuiTextField itemNameField; private InventoryPlayer playerInventory; - public GuiRobitRepair(InventoryPlayer inventory, World world, int id) + public GuiRobitRepair(InventoryPlayer inventory, EntityRobit entity) { - super(new ContainerRobitRepair(inventory, world)); + super(new ContainerRobitRepair(inventory, entity)); + robit = entity; xSize += 25; - entityId = id; playerInventory = inventory; repairContainer = (ContainerRobitRepair)inventorySlots; } @@ -150,26 +150,26 @@ public class GuiRobitRepair extends GuiMekanism implements ICrafting if(xAxis >= 179 && xAxis <= 197 && yAxis >= 10 && yAxis <= 28) { SoundHandler.playSound("gui.button.press"); - Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 0, entityId, null)); - mc.thePlayer.openGui(Mekanism.instance, 21, mc.theWorld, entityId, 0, 0); + Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 0, robit.getEntityId(), null)); + mc.thePlayer.openGui(Mekanism.instance, 21, mc.theWorld, robit.getEntityId(), 0, 0); } else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 30 && yAxis <= 48) { SoundHandler.playSound("gui.button.press"); - Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 1, entityId, null)); - mc.thePlayer.openGui(Mekanism.instance, 22, mc.theWorld, entityId, 0, 0); + Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 1, robit.getEntityId(), null)); + mc.thePlayer.openGui(Mekanism.instance, 22, mc.theWorld, robit.getEntityId(), 0, 0); } else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 50 && yAxis <= 68) { SoundHandler.playSound("gui.button.press"); - Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 2, entityId, null)); - mc.thePlayer.openGui(Mekanism.instance, 23, mc.theWorld, entityId, 0, 0); + Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 2, robit.getEntityId(), null)); + mc.thePlayer.openGui(Mekanism.instance, 23, mc.theWorld, robit.getEntityId(), 0, 0); } else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 70 && yAxis <= 88) { SoundHandler.playSound("gui.button.press"); - Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 3, entityId, null)); - mc.thePlayer.openGui(Mekanism.instance, 24, mc.theWorld, entityId, 0, 0); + Mekanism.packetHandler.sendToServer(new RobitMessage(RobitPacketType.GUI, 3, robit.getEntityId(), null)); + mc.thePlayer.openGui(Mekanism.instance, 24, mc.theWorld, robit.getEntityId(), 0, 0); } else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108) { diff --git a/src/main/java/mekanism/client/gui/GuiRobitSmelting.java b/src/main/java/mekanism/client/gui/GuiRobitSmelting.java index f78d1cd21..0f0740e27 100644 --- a/src/main/java/mekanism/client/gui/GuiRobitSmelting.java +++ b/src/main/java/mekanism/client/gui/GuiRobitSmelting.java @@ -20,8 +20,8 @@ public class GuiRobitSmelting extends GuiMekanism public GuiRobitSmelting(InventoryPlayer inventory, EntityRobit entity) { super(new ContainerRobitSmelting(inventory, entity)); - xSize += 25; robit = entity; + xSize += 25; } @Override diff --git a/src/main/java/mekanism/common/CommonProxy.java b/src/main/java/mekanism/common/CommonProxy.java index ece88af77..b1fe7d693 100644 --- a/src/main/java/mekanism/common/CommonProxy.java +++ b/src/main/java/mekanism/common/CommonProxy.java @@ -487,23 +487,33 @@ public class CommonProxy implements IGuiProvider return new ContainerRobitMain(player.inventory, robit); } case 22: - return new ContainerRobitCrafting(player.inventory, world); - case 23: - EntityRobit robit1 = (EntityRobit)world.getEntityByID(x); + robit = (EntityRobit)world.getEntityByID(x); - if(robit1 != null) + if(robit != null) { - return new ContainerRobitInventory(player.inventory, robit1); + return new ContainerRobitCrafting(player.inventory, robit); + } + case 23: + robit = (EntityRobit)world.getEntityByID(x); + + if(robit != null) + { + return new ContainerRobitInventory(player.inventory, robit); } case 24: - EntityRobit robit2 = (EntityRobit)world.getEntityByID(x); + robit = (EntityRobit)world.getEntityByID(x); - if(robit2 != null) + if(robit != null) { - return new ContainerRobitSmelting(player.inventory, robit2); + return new ContainerRobitSmelting(player.inventory, robit); } case 25: - return new ContainerRobitRepair(player.inventory, world); + robit = (EntityRobit)world.getEntityByID(x); + + if(robit != null) + { + return new ContainerRobitRepair(player.inventory, robit); + } case 26: return new ContainerNull(player, (TileEntityContainerBlock)tileEntity); case 27: diff --git a/src/main/java/mekanism/common/inventory/container/ContainerRobitCrafting.java b/src/main/java/mekanism/common/inventory/container/ContainerRobitCrafting.java index e40ff8aa1..f46e7a244 100644 --- a/src/main/java/mekanism/common/inventory/container/ContainerRobitCrafting.java +++ b/src/main/java/mekanism/common/inventory/container/ContainerRobitCrafting.java @@ -1,20 +1,24 @@ package mekanism.common.inventory.container; +import mekanism.common.entity.EntityRobit; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.ContainerWorkbench; -import net.minecraft.world.World; public class ContainerRobitCrafting extends ContainerWorkbench { - public ContainerRobitCrafting(InventoryPlayer inventory, World world) + public EntityRobit robit; + + public ContainerRobitCrafting(InventoryPlayer inventory, EntityRobit entity) { - super(inventory, world, 0, 0, 0); + super(inventory, entity.worldObj, 0, 0, 0); + + robit = entity; } @Override public boolean canInteractWith(EntityPlayer entityplayer) { - return true; + return !robit.isDead; } } diff --git a/src/main/java/mekanism/common/inventory/container/ContainerRobitInventory.java b/src/main/java/mekanism/common/inventory/container/ContainerRobitInventory.java index 63eff3bec..c75bc5154 100644 --- a/src/main/java/mekanism/common/inventory/container/ContainerRobitInventory.java +++ b/src/main/java/mekanism/common/inventory/container/ContainerRobitInventory.java @@ -43,7 +43,7 @@ public class ContainerRobitInventory extends Container @Override public boolean canInteractWith(EntityPlayer entityplayer) { - return true; + return !robit.isDead; } @Override diff --git a/src/main/java/mekanism/common/inventory/container/ContainerRobitMain.java b/src/main/java/mekanism/common/inventory/container/ContainerRobitMain.java index 6d03f493c..bc3f21585 100644 --- a/src/main/java/mekanism/common/inventory/container/ContainerRobitMain.java +++ b/src/main/java/mekanism/common/inventory/container/ContainerRobitMain.java @@ -45,7 +45,7 @@ public class ContainerRobitMain extends Container @Override public boolean canInteractWith(EntityPlayer entityplayer) { - return true; + return !robit.isDead; } @Override diff --git a/src/main/java/mekanism/common/inventory/container/ContainerRobitRepair.java b/src/main/java/mekanism/common/inventory/container/ContainerRobitRepair.java index d3bc35490..34ca22493 100644 --- a/src/main/java/mekanism/common/inventory/container/ContainerRobitRepair.java +++ b/src/main/java/mekanism/common/inventory/container/ContainerRobitRepair.java @@ -1,20 +1,24 @@ package mekanism.common.inventory.container; +import mekanism.common.entity.EntityRobit; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.ContainerRepair; -import net.minecraft.world.World; public class ContainerRobitRepair extends ContainerRepair { - public ContainerRobitRepair(InventoryPlayer inventory, World world) + public EntityRobit robit; + + public ContainerRobitRepair(InventoryPlayer inventory, EntityRobit entity) { - super(inventory, world, 0, 0, 0, inventory.player); + super(inventory, entity.worldObj, 0, 0, 0, inventory.player); + + robit = entity; } @Override public boolean canInteractWith(EntityPlayer entityplayer) { - return true; + return !robit.isDead; } } diff --git a/src/main/java/mekanism/common/inventory/container/ContainerRobitSmelting.java b/src/main/java/mekanism/common/inventory/container/ContainerRobitSmelting.java index 40dd9b655..f0d6c27a6 100644 --- a/src/main/java/mekanism/common/inventory/container/ContainerRobitSmelting.java +++ b/src/main/java/mekanism/common/inventory/container/ContainerRobitSmelting.java @@ -47,7 +47,7 @@ public class ContainerRobitSmelting extends Container @Override public boolean canInteractWith(EntityPlayer entityplayer) { - return true; + return !robit.isDead; } @Override diff --git a/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java b/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java index a5c93492c..4bf01c918 100644 --- a/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java +++ b/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java @@ -39,8 +39,6 @@ public abstract class TileEntityBasicBlock extends TileEntity implements IWrench public int clientFacing; - public HashSet openedThisTick = new HashSet(); - /** The players currently using this block. */ public HashSet playersUsing = new HashSet(); @@ -78,8 +76,6 @@ public abstract class TileEntityBasicBlock extends TileEntity implements IWrench if(!worldObj.isRemote) { - openedThisTick.clear(); - if(doAutoSync && playersUsing.size() > 0) { for(EntityPlayer player : playersUsing) From 53a9204974e7996650107914aa760bb45ae1ca19 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 5 Jul 2016 18:23:22 -0400 Subject: [PATCH 34/75] Fixed Robit AI --- src/main/java/mekanism/common/RobitAIFollow.java | 1 - src/main/java/mekanism/common/RobitAIPickup.java | 11 +++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/mekanism/common/RobitAIFollow.java b/src/main/java/mekanism/common/RobitAIFollow.java index 64738d22f..0832e3d2b 100644 --- a/src/main/java/mekanism/common/RobitAIFollow.java +++ b/src/main/java/mekanism/common/RobitAIFollow.java @@ -44,7 +44,6 @@ public class RobitAIFollow extends EntityAIBase thePathfinder = entityRobit.getNavigator(); minDist = min; maxDist = max; - setMutexBits(3); } @Override diff --git a/src/main/java/mekanism/common/RobitAIPickup.java b/src/main/java/mekanism/common/RobitAIPickup.java index bf4e6f25f..74085d5d9 100644 --- a/src/main/java/mekanism/common/RobitAIPickup.java +++ b/src/main/java/mekanism/common/RobitAIPickup.java @@ -42,7 +42,6 @@ public class RobitAIPickup extends EntityAIBase theWorld = entityRobit.worldObj; moveSpeed = speed; thePathfinder = entityRobit.getNavigator(); - setMutexBits(3); } @Override @@ -52,6 +51,7 @@ public class RobitAIPickup extends EntityAIBase { return false; } + if(closest != null && closest.getDistanceSqToEntity(closest) > 100 && thePathfinder.getPathToXYZ(closest.posX, closest.posY, closest.posZ) != null) { return true; @@ -81,7 +81,7 @@ public class RobitAIPickup extends EntityAIBase } } - if(closest == null) + if(closest == null || closest.isDead) { //No valid items return false; @@ -94,7 +94,7 @@ public class RobitAIPickup extends EntityAIBase @Override public boolean continueExecuting() { - return !closest.isDead && !thePathfinder.noPath() && theRobit.getDistanceSqToEntity(closest) > 100 && theRobit.getFollowing() && theRobit.getEnergy() > 0 && closest.worldObj.provider.dimensionId == theRobit.worldObj.provider.dimensionId; + return !closest.isDead && !thePathfinder.noPath() && theRobit.getDistanceSqToEntity(closest) > 100 && theRobit.getDropPickup() && theRobit.getEnergy() > 0 && closest.worldObj.provider.dimensionId == theRobit.worldObj.provider.dimensionId; } @Override @@ -115,12 +115,12 @@ public class RobitAIPickup extends EntityAIBase @Override public void updateTask() { - theRobit.getLookHelper().setLookPositionWithEntity(closest, 6.0F, theRobit.getVerticalFaceSpeed()/10); - if(!theRobit.getDropPickup()) { return; } + + theRobit.getLookHelper().setLookPositionWithEntity(closest, 6.0F, theRobit.getVerticalFaceSpeed()/10); if(--ticker <= 0) { @@ -147,7 +147,6 @@ public class RobitAIPickup extends EntityAIBase } } } - } } } From 95c0ad4a73e00639bfd7072fa69002cee6785ae7 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Wed, 6 Jul 2016 16:56:24 -0400 Subject: [PATCH 35/75] Bump version to 9.1, add Laser Amplifier comparator support, add Saturating Condensers to recycle water from Industrial Turbines --- build.properties | 2 +- .../java/mekanism/api/MekanismConfig.java | 1 + .../client/gui/GuiLaserAmplifier.java | 4 +- ...DetectionTab.java => GuiAmplifierTab.java} | 15 ++-- src/main/java/mekanism/common/Mekanism.java | 4 +- .../java/mekanism/common/base/IFactory.java | 18 ++++ .../common/base/ITierUpgradeable.java | 8 ++ .../mekanism/common/block/BlockMachine.java | 13 +++ .../common/item/ItemFactoryInstaller.java | 84 ++---------------- .../TileEntityAdvancedElectricMachine.java | 16 +++- .../mekanism/common/tile/TileEntityBin.java | 1 + .../tile/TileEntityElectricMachine.java | 16 +++- .../common/tile/TileEntityFactory.java | 14 ++- .../common/tile/TileEntityLaserAmplifier.java | 58 ++++++++++-- .../tile/TileEntityMetallurgicInfuser.java | 16 +++- .../common/GeneratorsCommonProxy.java | 3 + .../generators/common/MekanismGenerators.java | 6 +- .../common/block/BlockGenerator.java | 6 +- .../turbine/SynchronizedTurbineData.java | 3 + .../turbine/TurbineUpdateProtocol.java | 20 ++++- .../common/item/ItemBlockGenerator.java | 1 + .../TileEntitySaturatingCondenser.java | 15 ++++ .../tile/turbine/TileEntityTurbineCasing.java | 5 +- .../tile/turbine/TileEntityTurbineVent.java | 74 ++++++++++++++- .../mekanism/tools/common/MekanismTools.java | 4 +- .../mekanism/gui/elements/GuiAmplifierTab.png | Bin 0 -> 4923 bytes .../mekanism/gui/elements/GuiDetectionTab.png | Bin 3482 -> 0 bytes .../resources/assets/mekanism/lang/en_US.lang | 6 +- 28 files changed, 295 insertions(+), 118 deletions(-) rename src/main/java/mekanism/client/gui/element/{GuiDetectionTab.java => GuiAmplifierTab.java} (77%) create mode 100644 src/main/java/mekanism/common/base/ITierUpgradeable.java create mode 100644 src/main/java/mekanism/generators/common/tile/turbine/TileEntitySaturatingCondenser.java create mode 100644 src/main/resources/assets/mekanism/gui/elements/GuiAmplifierTab.png delete mode 100644 src/main/resources/assets/mekanism/gui/elements/GuiDetectionTab.png diff --git a/build.properties b/build.properties index ae9ce6668..cd60cf117 100644 --- a/build.properties +++ b/build.properties @@ -4,4 +4,4 @@ FMP_version=1.1.2.331 CCLIB_version=1.1.3.136 NEI_version=1.0.4.101 CCC_version=1.0.6.39 -mod_version=9.0.3 +mod_version=9.1.0 diff --git a/src/main/java/mekanism/api/MekanismConfig.java b/src/main/java/mekanism/api/MekanismConfig.java index 813f845e0..d8fea669c 100644 --- a/src/main/java/mekanism/api/MekanismConfig.java +++ b/src/main/java/mekanism/api/MekanismConfig.java @@ -145,6 +145,7 @@ public class MekanismConfig public static int turbineBladesPerCoil; public static double turbineVentGasFlow; public static double turbineDisperserGasFlow; + public static int condenserRate; } public static class tools diff --git a/src/main/java/mekanism/client/gui/GuiLaserAmplifier.java b/src/main/java/mekanism/client/gui/GuiLaserAmplifier.java index 5b95535d6..67716429c 100644 --- a/src/main/java/mekanism/client/gui/GuiLaserAmplifier.java +++ b/src/main/java/mekanism/client/gui/GuiLaserAmplifier.java @@ -3,7 +3,7 @@ package mekanism.client.gui; import java.util.ArrayList; import mekanism.api.Coord4D; -import mekanism.client.gui.element.GuiDetectionTab; +import mekanism.client.gui.element.GuiAmplifierTab; import mekanism.client.gui.element.GuiGauge.Type; import mekanism.client.gui.element.GuiNumberGauge; import mekanism.client.gui.element.GuiNumberGauge.INumberInfoHandler; @@ -69,7 +69,7 @@ public class GuiLaserAmplifier extends GuiMekanism }, Type.STANDARD, this, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"), 6, 10)); guiElements.add(new GuiSecurityTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"))); guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"))); - guiElements.add(new GuiDetectionTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"))); + guiElements.add(new GuiAmplifierTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"))); } @Override diff --git a/src/main/java/mekanism/client/gui/element/GuiDetectionTab.java b/src/main/java/mekanism/client/gui/element/GuiAmplifierTab.java similarity index 77% rename from src/main/java/mekanism/client/gui/element/GuiDetectionTab.java rename to src/main/java/mekanism/client/gui/element/GuiAmplifierTab.java index e83778fba..b2eaa1b58 100644 --- a/src/main/java/mekanism/client/gui/element/GuiDetectionTab.java +++ b/src/main/java/mekanism/client/gui/element/GuiAmplifierTab.java @@ -18,13 +18,13 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class GuiDetectionTab extends GuiElement +public class GuiAmplifierTab extends GuiElement { public TileEntity tileEntity; - public GuiDetectionTab(IGuiWrapper gui, TileEntity tile, ResourceLocation def) + public GuiAmplifierTab(IGuiWrapper gui, TileEntity tile, ResourceLocation def) { - super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiDetectionTab.png"), gui, def); + super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiAmplifierTab.png"), gui, def); tileEntity = tile; } @@ -41,13 +41,14 @@ public class GuiDetectionTab extends GuiElement mc.renderEngine.bindTexture(RESOURCE); guiObj.drawTexturedRect(guiWidth - 26, guiHeight + 138, 0, 0, 26, 26); + int outputOrdinal = ((TileEntityLaserAmplifier)tileEntity).outputMode.ordinal(); if(xAxis >= -21 && xAxis <= -3 && yAxis >= 142 && yAxis <= 160) { - guiObj.drawTexturedRect(guiWidth - 21, guiHeight + 142, 26, 0, 18, 18); + guiObj.drawTexturedRect(guiWidth - 21, guiHeight + 142, 26 + 18*outputOrdinal, 0, 18, 18); } else { - guiObj.drawTexturedRect(guiWidth - 21, guiHeight + 142, 26, 18, 18, 18); + guiObj.drawTexturedRect(guiWidth - 21, guiHeight + 142, 26 + 18*outputOrdinal, 18, 18, 18); } mc.renderEngine.bindTexture(defaultLocation); @@ -60,8 +61,8 @@ public class GuiDetectionTab extends GuiElement if(xAxis >= -21 && xAxis <= -3 && yAxis >= 142 && yAxis <= 160) { - String text = LangUtils.transOnOff(((TileEntityLaserAmplifier)tileEntity).entityDetection); - displayTooltip(LangUtils.localize("gui.entityDetection") + ": " + text, xAxis, yAxis); + String text = LangUtils.localize("gui.redstoneOutput") + ": "; + displayTooltip(text + ((TileEntityLaserAmplifier)tileEntity).outputMode.getName(), xAxis, yAxis); } mc.renderEngine.bindTexture(defaultLocation); diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index 2b0b823a4..9d5c58e03 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -142,7 +142,7 @@ import cpw.mods.fml.common.registry.GameRegistry; * @author AidanBrady * */ -@Mod(modid = "Mekanism", name = "Mekanism", version = "9.0.3", guiFactory = "mekanism.client.gui.ConfigGuiFactory", +@Mod(modid = "Mekanism", name = "Mekanism", version = "9.1.0", guiFactory = "mekanism.client.gui.ConfigGuiFactory", dependencies = "after:ForgeMultipart;after:BuildCraft;after:BuildCraftAPI;after:IC2;after:CoFHCore;" + "after:ComputerCraft;after:Galacticraft API;after:MetallurgyCore") public class Mekanism @@ -168,7 +168,7 @@ public class Mekanism public static Configuration configuration; /** Mekanism version number */ - public static Version versionNumber = new Version(9, 0, 3); + public static Version versionNumber = new Version(9, 1, 0); /** MultiblockManagers for various structrures */ public static MultiblockManager tankManager = new MultiblockManager("dynamicTank"); diff --git a/src/main/java/mekanism/common/base/IFactory.java b/src/main/java/mekanism/common/base/IFactory.java index 873d17e01..b4859abe2 100644 --- a/src/main/java/mekanism/common/base/IFactory.java +++ b/src/main/java/mekanism/common/base/IFactory.java @@ -242,6 +242,24 @@ public interface IFactory { return fuelSpeed; } + + public static RecipeType getFromMachine(Block block, int meta) + { + RecipeType type = null; + + for(RecipeType iterType : RecipeType.values()) + { + ItemStack machineStack = iterType.getStack(); + + if(Block.getBlockFromItem(machineStack.getItem()) == block && machineStack.getItemDamage() == meta) + { + type = iterType; + break; + } + } + + return type; + } private RecipeType(String s, String s1, ItemStack is, boolean b, boolean b1, Recipe r) { diff --git a/src/main/java/mekanism/common/base/ITierUpgradeable.java b/src/main/java/mekanism/common/base/ITierUpgradeable.java new file mode 100644 index 000000000..591559591 --- /dev/null +++ b/src/main/java/mekanism/common/base/ITierUpgradeable.java @@ -0,0 +1,8 @@ +package mekanism.common.base; + +import mekanism.common.Tier.BaseTier; + +public interface ITierUpgradeable +{ + public boolean upgrade(BaseTier upgradeTier); +} diff --git a/src/main/java/mekanism/common/block/BlockMachine.java b/src/main/java/mekanism/common/block/BlockMachine.java index d613fd447..02574539a 100644 --- a/src/main/java/mekanism/common/block/BlockMachine.java +++ b/src/main/java/mekanism/common/block/BlockMachine.java @@ -818,6 +818,19 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IBlo return ((TileEntityFluidTank)tileEntity).getRedstoneLevel(); } + if(tileEntity instanceof TileEntityLaserAmplifier) + { + TileEntityLaserAmplifier amplifier = (TileEntityLaserAmplifier)tileEntity; + + if(amplifier.outputMode == TileEntityLaserAmplifier.RedstoneOutput.ENERGY_CONTENTS) + { + return amplifier.getRedstoneLevel(); + } + else { + return isProvidingWeakPower(world, x, y, z, par5); + } + } + return 0; } diff --git a/src/main/java/mekanism/common/item/ItemFactoryInstaller.java b/src/main/java/mekanism/common/item/ItemFactoryInstaller.java index 59c6ff8aa..cd0d8d0b6 100644 --- a/src/main/java/mekanism/common/item/ItemFactoryInstaller.java +++ b/src/main/java/mekanism/common/item/ItemFactoryInstaller.java @@ -4,13 +4,8 @@ import java.util.List; import mekanism.common.Tier.BaseTier; import mekanism.common.Tier.FactoryTier; -import mekanism.common.base.IFactory.RecipeType; -import mekanism.common.tile.TileEntityAdvancedElectricMachine; +import mekanism.common.base.ITierUpgradeable; import mekanism.common.tile.TileEntityBasicBlock; -import mekanism.common.tile.TileEntityElectricMachine; -import mekanism.common.tile.TileEntityFactory; -import mekanism.common.tile.TileEntityMetallurgicInfuser; -import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -27,7 +22,6 @@ public class ItemFactoryInstaller extends ItemMekanism public ItemFactoryInstaller() { super(); - setMaxStackSize(1); setHasSubtypes(true); } @@ -42,79 +36,18 @@ public class ItemFactoryInstaller extends ItemMekanism TileEntity tile = world.getTileEntity(x, y, z); FactoryTier tier = FactoryTier.values()[stack.getItemDamage()]; - if(tile instanceof TileEntityBasicBlock && ((TileEntityBasicBlock)tile).playersUsing.size() > 0) + if(tile instanceof ITierUpgradeable) { - return true; - } - - if(tile instanceof TileEntityFactory && tier != FactoryTier.BASIC) - { - TileEntityFactory factory = (TileEntityFactory)tile; - - if(factory.tier.ordinal()+1 == tier.ordinal()) + if(tile instanceof TileEntityBasicBlock && ((TileEntityBasicBlock)tile).playersUsing.size() > 0) { - if(!world.isRemote) - { - factory.upgrade(); - } - - if(!player.capabilities.isCreativeMode) - { - stack.stackSize = 0; - } - return true; } - } - else if(tile != null && tier == FactoryTier.BASIC) - { - RecipeType type = null; - for(RecipeType iterType : RecipeType.values()) + if(((ITierUpgradeable)tile).upgrade(tier.getBaseTier())) { - ItemStack machineStack = iterType.getStack(); - - if(Block.getBlockFromItem(machineStack.getItem()) == world.getBlock(x, y, z) && machineStack.getItemDamage() == world.getBlockMetadata(x, y, z)) + if(!player.capabilities.isCreativeMode) { - type = iterType; - break; - } - } - - if(type != null) - { - if(tile instanceof TileEntityElectricMachine) - { - ((TileEntityElectricMachine)tile).upgrade(type); - - if(!player.capabilities.isCreativeMode) - { - stack.stackSize = 0; - } - - return true; - } - else if(tile instanceof TileEntityAdvancedElectricMachine) - { - ((TileEntityAdvancedElectricMachine)tile).upgrade(type); - - if(!player.capabilities.isCreativeMode) - { - stack.stackSize = 0; - } - - return true; - } - else if(tile instanceof TileEntityMetallurgicInfuser) - { - ((TileEntityMetallurgicInfuser)tile).upgrade(type); - - if(!player.capabilities.isCreativeMode) - { - stack.stackSize = 0; - } - - return true; + stack.stackSize--; } } } @@ -122,11 +55,6 @@ public class ItemFactoryInstaller extends ItemMekanism return false; } - private int getOutputSlot(FactoryTier tier, int operation) - { - return 5+tier.processes+operation; - } - @Override public void registerIcons(IIconRegister register) { diff --git a/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java b/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java index 4362c3cce..b2ff5c670 100644 --- a/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java +++ b/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java @@ -14,8 +14,10 @@ import mekanism.api.transmitters.TransmissionType; import mekanism.common.MekanismBlocks; import mekanism.common.MekanismItems; import mekanism.common.SideData; +import mekanism.common.Tier.BaseTier; import mekanism.common.Upgrade; import mekanism.common.base.IFactory.RecipeType; +import mekanism.common.base.ITierUpgradeable; import mekanism.common.recipe.RecipeHandler; import mekanism.common.recipe.inputs.AdvancedMachineInput; import mekanism.common.recipe.machines.AdvancedMachineRecipe; @@ -33,7 +35,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; -public abstract class TileEntityAdvancedElectricMachine> extends TileEntityBasicMachine implements IGasHandler, ITubeConnection +public abstract class TileEntityAdvancedElectricMachine> extends TileEntityBasicMachine implements IGasHandler, ITubeConnection, ITierUpgradeable { /** How much secondary energy (fuel) this machine uses per tick, not including upgrades. */ public int BASE_SECONDARY_ENERGY_PER_TICK; @@ -89,12 +91,19 @@ public abstract class TileEntityAdvancedElectricMachine> extends TileEntityBasicMachine +public abstract class TileEntityElectricMachine> extends TileEntityBasicMachine implements ITierUpgradeable { /** * A simple electrical machine. This has 3 slots - the input slot (0), the energy slot (1), @@ -55,12 +57,19 @@ public abstract class TileEntityElectricMachine 0 ? 1 : 0); + } @Override public ArrayList getNetworkedData(ArrayList data) @@ -210,7 +233,7 @@ public class TileEntityLaserAmplifier extends TileEntityContainerBlock implement data.add(lastFired); data.add(controlType.ordinal()); data.add(emittingRedstone); - data.add(entityDetection); + data.add(outputMode.ordinal()); return data; } @@ -232,7 +255,7 @@ public class TileEntityLaserAmplifier extends TileEntityContainerBlock implement time = dataStream.readInt(); break; case 3: - entityDetection = !entityDetection; + outputMode = RedstoneOutput.values()[outputMode.ordinal() == RedstoneOutput.values().length-1 ? 0 : outputMode.ordinal()+1]; break; } @@ -251,7 +274,7 @@ public class TileEntityLaserAmplifier extends TileEntityContainerBlock implement lastFired = dataStream.readDouble(); controlType = RedstoneControl.values()[dataStream.readInt()]; emittingRedstone = dataStream.readBoolean(); - entityDetection = dataStream.readBoolean(); + outputMode = RedstoneOutput.values()[dataStream.readInt()]; } } @@ -267,7 +290,7 @@ public class TileEntityLaserAmplifier extends TileEntityContainerBlock implement collectedEnergy = nbtTags.getDouble("collectedEnergy"); lastFired = nbtTags.getDouble("lastFired"); controlType = RedstoneControl.values()[nbtTags.getInteger("controlType")]; - entityDetection = nbtTags.getBoolean("entityDetection"); + outputMode = RedstoneOutput.values()[nbtTags.getInteger("outputMode")]; } @Override @@ -282,7 +305,7 @@ public class TileEntityLaserAmplifier extends TileEntityContainerBlock implement nbtTags.setDouble("collectedEnergy", collectedEnergy); nbtTags.setDouble("lastFired", lastFired); nbtTags.setInteger("controlType", controlType.ordinal()); - nbtTags.setBoolean("entityDetection", entityDetection); + nbtTags.setInteger("outputMode", outputMode.ordinal()); } @Override @@ -342,4 +365,23 @@ public class TileEntityLaserAmplifier extends TileEntityContainerBlock implement { return securityComponent; } + + public static enum RedstoneOutput + { + OFF("off"), + ENTITY_DETECTION("entityDetection"), + ENERGY_CONTENTS("energyContents"); + + private String unlocalizedName; + + private RedstoneOutput(String name) + { + unlocalizedName = name; + } + + public String getName() + { + return LangUtils.localize("gui." + unlocalizedName); + } + } } diff --git a/src/main/java/mekanism/common/tile/TileEntityMetallurgicInfuser.java b/src/main/java/mekanism/common/tile/TileEntityMetallurgicInfuser.java index 2a59a6e14..301051e64 100644 --- a/src/main/java/mekanism/common/tile/TileEntityMetallurgicInfuser.java +++ b/src/main/java/mekanism/common/tile/TileEntityMetallurgicInfuser.java @@ -19,10 +19,12 @@ import mekanism.common.MekanismBlocks; import mekanism.common.MekanismItems; import mekanism.common.PacketHandler; import mekanism.common.SideData; +import mekanism.common.Tier.BaseTier; import mekanism.common.Upgrade; import mekanism.common.base.IFactory.RecipeType; import mekanism.common.base.IRedstoneControl; import mekanism.common.base.ISideConfiguration; +import mekanism.common.base.ITierUpgradeable; import mekanism.common.base.IUpgradeTile; import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.integration.IComputerIntegration; @@ -42,7 +44,7 @@ import mekanism.common.util.MekanismUtils; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -public class TileEntityMetallurgicInfuser extends TileEntityNoisyElectricBlock implements IComputerIntegration, ISideConfiguration, IUpgradeTile, IRedstoneControl, IConfigCardAccess, ISecurityTile +public class TileEntityMetallurgicInfuser extends TileEntityNoisyElectricBlock implements IComputerIntegration, ISideConfiguration, IUpgradeTile, IRedstoneControl, IConfigCardAccess, ISecurityTile, ITierUpgradeable { /** The maxiumum amount of infuse this machine can store. */ public int MAX_INFUSE = 1000; @@ -199,12 +201,19 @@ public class TileEntityMetallurgicInfuser extends TileEntityNoisyElectricBlock i } } - public void upgrade(RecipeType type) + @Override + public boolean upgrade(BaseTier upgradeTier) { + if(upgradeTier != BaseTier.BASIC) + { + return false; + } + worldObj.setBlockToAir(xCoord, yCoord, zCoord); worldObj.setBlock(xCoord, yCoord, zCoord, MekanismBlocks.MachineBlock, 5, 3); TileEntityFactory factory = (TileEntityFactory)worldObj.getTileEntity(xCoord, yCoord, zCoord); + RecipeType type = RecipeType.INFUSING; //Basic factory.facing = facing; @@ -257,8 +266,9 @@ public class TileEntityMetallurgicInfuser extends TileEntityNoisyElectricBlock i } factory.upgraded = true; - factory.markDirty(); + + return true; } @Override diff --git a/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java b/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java index a714aa4dd..34f4062eb 100644 --- a/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java +++ b/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java @@ -28,6 +28,7 @@ import mekanism.generators.common.tile.reactor.TileEntityReactorNeutronCapture; import mekanism.generators.common.tile.reactor.TileEntityReactorPort; import mekanism.generators.common.tile.turbine.TileEntityElectromagneticCoil; import mekanism.generators.common.tile.turbine.TileEntityRotationalComplex; +import mekanism.generators.common.tile.turbine.TileEntitySaturatingCondenser; import mekanism.generators.common.tile.turbine.TileEntityTurbineCasing; import mekanism.generators.common.tile.turbine.TileEntityTurbineRotor; import mekanism.generators.common.tile.turbine.TileEntityTurbineValve; @@ -61,6 +62,7 @@ public class GeneratorsCommonProxy implements IGuiProvider GameRegistry.registerTileEntity(TileEntityReactorLogicAdapter.class, "ReactorLogicAdapter"); GameRegistry.registerTileEntity(TileEntityRotationalComplex.class, "RotationalComplex"); GameRegistry.registerTileEntity(TileEntityElectromagneticCoil.class, "ElectromagneticCoil"); + GameRegistry.registerTileEntity(TileEntitySaturatingCondenser.class, "SaturatingCondenser"); } /** @@ -103,6 +105,7 @@ public class GeneratorsCommonProxy implements IGuiProvider generators.turbineBladesPerCoil = Mekanism.configuration.get("generation", "TurbineBladesPerCoil", 4).getInt(); generators.turbineVentGasFlow = Mekanism.configuration.get("generation", "TurbineVentGasFlow", 16000D).getDouble(); generators.turbineDisperserGasFlow = Mekanism.configuration.get("generation", "TurbineDisperserGasFlow", 640D).getDouble(); + generators.condenserRate = Mekanism.configuration.get("generation", "TurbineCondenserRate", 8000).getInt(); if(Mekanism.configuration.hasChanged()) { diff --git a/src/main/java/mekanism/generators/common/MekanismGenerators.java b/src/main/java/mekanism/generators/common/MekanismGenerators.java index 137d5766f..13ef3fa3b 100644 --- a/src/main/java/mekanism/generators/common/MekanismGenerators.java +++ b/src/main/java/mekanism/generators/common/MekanismGenerators.java @@ -43,7 +43,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.network.NetworkRegistry; -@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "9.0.3", dependencies = "required-after:Mekanism", guiFactory = "mekanism.generators.client.gui.GeneratorsGuiFactory") +@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "9.1.0", dependencies = "required-after:Mekanism", guiFactory = "mekanism.generators.client.gui.GeneratorsGuiFactory") public class MekanismGenerators implements IModule { @SidedProxy(clientSide = "mekanism.generators.client.GeneratorsClientProxy", serverSide = "mekanism.generators.common.GeneratorsCommonProxy") @@ -53,7 +53,7 @@ public class MekanismGenerators implements IModule public static MekanismGenerators instance; /** MekanismGenerators version number */ - public static Version versionNumber = new Version(9, 0, 3); + public static Version versionNumber = new Version(9, 1, 0); public static MultiblockManager turbineManager = new MultiblockManager("industrialTurbine"); @@ -210,6 +210,7 @@ public class MekanismGenerators implements IModule dataStream.writeInt(generators.turbineBladesPerCoil); dataStream.writeDouble(generators.turbineVentGasFlow); dataStream.writeDouble(generators.turbineDisperserGasFlow); + dataStream.writeInt(generators.condenserRate); } @Override @@ -231,6 +232,7 @@ public class MekanismGenerators implements IModule generators.turbineBladesPerCoil = dataStream.readInt(); generators.turbineVentGasFlow = dataStream.readDouble(); generators.turbineDisperserGasFlow = dataStream.readDouble(); + generators.condenserRate = dataStream.readInt(); } @Override diff --git a/src/main/java/mekanism/generators/common/block/BlockGenerator.java b/src/main/java/mekanism/generators/common/block/BlockGenerator.java index 7c7de7678..16cc1b38f 100644 --- a/src/main/java/mekanism/generators/common/block/BlockGenerator.java +++ b/src/main/java/mekanism/generators/common/block/BlockGenerator.java @@ -36,6 +36,7 @@ import mekanism.generators.common.tile.TileEntitySolarGenerator; import mekanism.generators.common.tile.TileEntityWindGenerator; import mekanism.generators.common.tile.turbine.TileEntityElectromagneticCoil; import mekanism.generators.common.tile.turbine.TileEntityRotationalComplex; +import mekanism.generators.common.tile.turbine.TileEntitySaturatingCondenser; import mekanism.generators.common.tile.turbine.TileEntityTurbineCasing; import mekanism.generators.common.tile.turbine.TileEntityTurbineRotor; import mekanism.generators.common.tile.turbine.TileEntityTurbineValve; @@ -77,6 +78,7 @@ import cpw.mods.fml.relauncher.SideOnly; * 10: Turbine Casing * 11: Turbine Valve * 12: Turbine Vent + * 13: Saturating Condenser * @author AidanBrady * */ @@ -117,6 +119,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds, IB icons[10][0] = ctms[10].mainTextureData.icon; icons[11][0] = ctms[11].mainTextureData.icon; icons[12][0] = ctms[12].mainTextureData.icon; + icons[13][0] = register.registerIcon("mekanism:SteelCasing"); } @Override @@ -767,7 +770,8 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds, IB ELECTROMAGNETIC_COIL(9, "ElectromagneticCoil", -1, -1, TileEntityElectromagneticCoil.class, false), TURBINE_CASING(10, "TurbineCasing", -1, -1, TileEntityTurbineCasing.class, false), TURBINE_VALVE(11, "TurbineValve", -1, -1, TileEntityTurbineValve.class, false), - TURBINE_VENT(12, "TurbineVent", -1, -1, TileEntityTurbineVent.class, false); + TURBINE_VENT(12, "TurbineVent", -1, -1, TileEntityTurbineVent.class, false), + SATURATING_CONDENSER(13, "SaturatingCondenser", -1, -1, TileEntitySaturatingCondenser.class, false); public int meta; public String name; diff --git a/src/main/java/mekanism/generators/common/content/turbine/SynchronizedTurbineData.java b/src/main/java/mekanism/generators/common/content/turbine/SynchronizedTurbineData.java index f8795fe52..906e67cbc 100644 --- a/src/main/java/mekanism/generators/common/content/turbine/SynchronizedTurbineData.java +++ b/src/main/java/mekanism/generators/common/content/turbine/SynchronizedTurbineData.java @@ -25,6 +25,7 @@ public class SynchronizedTurbineData extends SynchronizedData turbines = new HashSet(); Set dispersers = new HashSet(); Set coils = new HashSet(); + Set condensers = new HashSet(); //Scan for complex for(Coord4D coord : innerNodes) @@ -107,6 +110,10 @@ public class TurbineUpdateProtocol extends UpdateProtocol 0) + { + FluidStack fluidStack = new FluidStack(FluidRegistry.WATER, structure.flowRemaining); + + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) + { + TileEntity tile = Coord4D.get(this).getFromSide(side).getTileEntity(worldObj); + + if(tile instanceof IFluidHandler) + { + if(((IFluidHandler)tile).canFill(side.getOpposite(), fluidStack.getFluid())) + { + structure.flowRemaining -= ((IFluidHandler)tile).fill(side.getOpposite(), fluidStack, true); + } + } + } + } + } + + @Override + public FluidTankInfo[] getTankInfo(ForgeDirection from) + { + return ((!worldObj.isRemote && structure != null) || (worldObj.isRemote && clientHasStructure)) ? new FluidTankInfo[] {fakeInfo} : PipeUtils.EMPTY; + } + + @Override + public int fill(ForgeDirection from, FluidStack resource, boolean doFill) + { + return 0; + } + + @Override + public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) + { + return null; + } + + @Override + public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) + { + return null; + } + + @Override + public boolean canFill(ForgeDirection from, Fluid fluid) + { + return false; + } + + @Override + public boolean canDrain(ForgeDirection from, Fluid fluid) + { + return fluid == FluidRegistry.WATER; + } } diff --git a/src/main/java/mekanism/tools/common/MekanismTools.java b/src/main/java/mekanism/tools/common/MekanismTools.java index 3d48f90e9..36e5b72bf 100644 --- a/src/main/java/mekanism/tools/common/MekanismTools.java +++ b/src/main/java/mekanism/tools/common/MekanismTools.java @@ -29,7 +29,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; -@Mod(modid = "MekanismTools", name = "MekanismTools", version = "9.0.3", dependencies = "required-after:Mekanism", guiFactory = "mekanism.tools.client.gui.ToolsGuiFactory") +@Mod(modid = "MekanismTools", name = "MekanismTools", version = "9.1.0", dependencies = "required-after:Mekanism", guiFactory = "mekanism.tools.client.gui.ToolsGuiFactory") public class MekanismTools implements IModule { @SidedProxy(clientSide = "mekanism.tools.client.ToolsClientProxy", serverSide = "mekanism.tools.common.ToolsCommonProxy") @@ -39,7 +39,7 @@ public class MekanismTools implements IModule public static MekanismTools instance; /** MekanismTools version number */ - public static Version versionNumber = new Version(9, 0, 3); + public static Version versionNumber = new Version(9, 1, 0); //Enums: Tools public static ToolMaterial toolOBSIDIAN; diff --git a/src/main/resources/assets/mekanism/gui/elements/GuiAmplifierTab.png b/src/main/resources/assets/mekanism/gui/elements/GuiAmplifierTab.png new file mode 100644 index 0000000000000000000000000000000000000000..b756df3639a886625a9b5dd34303e52f30cbe69f GIT binary patch literal 4923 zcmeHK`9GBH+a7~>NJt^lOjPz6OW9{A(?piR*vVKz*2y}=V4_f#lqH1`DOr;(WT|Xf zvt=EM?8{^@HD-*jp67X=_xt_}@8`LHxzGE!&+|C0^ZH!p@%dcwCdOBIxJ0-B0057^ z9>NR&U^xg`0Gx*oUiSWlZU6uqkB6?ViN3Bb*u)>}=HcxM0H`G-^DHd(s=Vl`7!In$%QV%l{hd@Gxr6Sh(3PG(=KE3!^c zImRORq)c8&X*M7>ISwZKASO0f=+HAOQ!&|VuMB}IC~jP}-Hh&sFwFP}iAgN2MT#8< z`+=M*7Ye!Kl39MdwCE0IxwV@D(q6GWMRi`PRn%#P-g^7ZW%OeJJR;Gu94?z(b9aL^V1+wZpBTq6O-uk{>GgxpN}v5Gl}pRvXebs z_QKi4Z>FsVMGuKc2Is7o55DH)*U9v!Dg4@p9!yO?DSyFFM%b53auhWYpO;qOI~}nY zqp~G8D<9Xdy4Zz&KUQ4ys4eS#aBJ-aTM9*!ttGzR?#X6{KivnNLs^_(x$vYrEEK`m zeHW@n#rqT0*O$YWwqnxdIT!^QsnN$wkmzEI7Db~fv-f?|hg4=~ zCnlQqwy#R&dMy05;2RM}Qit^vCdlv!i2su@t_PG<_qvO&24odpe6h9>v@z8r( zM$|_q-w0eM?~YydzU-i-`epB3g0k6*r+PHE-(xoP~(bp*g`H z1DS2{ZDLz~o8PT?krC;iG8fCYuW8v}AxDrU8SJ~BG|LmliHMTz=^S|(<^}6MobF}^W~eV(qfiaBekZB z0tshyuP3CcnE!lhwe?Iq4K;7(!H3pF3%sfrzQ`L}`64*i2S{g#jlA-GW41ErGK~k? z3~BhT^7J0Z84Nyh7AaSeNq@4k6jvyGx6?4`20C`a$5xb`JiVQ~{Zy%eSHKQ(C5wKz zrAd2pjSiVjssf~+j3RVM_zL%TaZIzTZN*HynS3vnq8HBnb@=BRwRu-5Bw}xPd8##_ zWKlk!b^{vbm> zAk;U|DMa2kK;kcw|KUNn2Dtcp+zj-<`htJ+Iyqy50%79fzlHvJ{#s|Chui-u`3C&m z)kGoD@HEg*w8y&x?4+2JT zD0{GEzRHJP^X69_jR;1_?uf3Jbdy^i+BJAh&%;By;MW4u0WulJJ$U2!_Gew*7oeFS zbhX#;>~{L72EmU%?oh5B4HWU~n-BD7g$u9mFR=kYDWtq$!CXRKzT`Plxt6m!kdpb* z(@Q$hHY?~(`!9vVk-ShxGNi+?rnSWi|~ zcJ(g6b$@Df!>HS!*y5wm!57pSRpYZEIil3GlLq?*-3Z* zdNKH@uoHntG-_Q2n?PG##(O0ODygz{&uC4NwCKB+>KT$4y^*H)8^_KK_Vigk@m6UF zy*2lIJiy~D>dg5;gsrVzZ{jD3L=qTK@q$j{%=U! z%kn4~(G@s%<}>Qt|+4^A>wUnUNn0_Mvr44=}e z#6L7LxG(!^-1GSo^9paS#w1RJ;J=WJ_o{0UgGGgmpkc=2%s6sr^ItlV18V#?cGP@{P>z0{f~sA7LzalfseHHN$VrXWm#`v4+2kkwrbP-0{ivxy5-BuZcQl1I*|^joLu16@LX$qHX6PB z1vE{BGnm){XvEU^_H=QXp|-{wNf_mOQx%@|}Izc$&N=8Fw z#}2ygVTO6Kz@#y8_lib%NAGesM_&O(n_0WvGN4^h9A< z4tI~k&gy2(6m!i+eqmh#ceQ8d9b!|1GA*N=tu+RtUp}>2xsla!JhmxyK`7nKUL@=3 zQ&}6xZumx9#vt0=L0>roWm(={R$aB4-MhUTp42!9e}p}2%m#6%FYRWu=Xy7I7u6L| z?9FvVITH$7Ocntj!1ep{J!03GX0$nEuAZ{y)`_d!o!0VMGz!_I{&Hl( z)PnLj^?vvE02pzn?B!by@B+7OD5Kd_#t(jLi!}1x;rqChv3IhXV)E+)Owb=SCqaDI z&@~9{qfq=I^v|DEWNLiarjHVy?a!Q?qlH|Sao@Z(4;`JzKid8lCK5je3gFl|@9DSV zT50HL&vthLphfA#4h8hX(c>ixneWoVkv=sOR;&}v?47s`3({>ZK_bzhbh(>CW`n>3 zl5Mm6XdRZuz(%014`73~!P7VsslS>pxcHFC$-ytoLa1GrY2jq7-_!ZJ@8DPni_(of za*gejfLF@7IcgJJx_w{LI7=^<7gXk-V4DSRtI2HXTG=>{O&ChZ5YF z<7Bf4V{7u*{`T_FYLaNR+A5d(otDR(hw+?z#~ZVD?wgu33V&?MbXSz)>ArNxyWQ-l z3heMKBJ&Jz?%Zo9-rS%1aO?=k!fkg>Zolkf^Q#Xz4Lf(kGocY;Z<#`oVH?_J>)Q13 zWGi~t2w}`Rd27ri*@C7LHraq9x2O$B!8Th3SU=ha^j@$?kn(EOVFsD+a|P&6v! zXkW0l(Cb<|P&2DuT^@0NO0piY>D7qS{z2d1jmZ<@!;voMo0?&>O5yxBOtOwfeik5f z{iL=_&r|drr`YmXI)l8OefF7qlMYnj$qZ%pELuLrDzT*>w59^w>B7u^D!4b-RrndlwB4n>*a)1tORVO2MMy8B@%+ia0y8 zdN0!H02(5EG{7nIU<>4m;+_=o-wR070Yio>|V(;u-g5%62zalVB=Thyo(z zC;O~i`R5jQA8Q{RZgoHbCFAr(^S6arJC%_v@_x>ESrprZoH6+%f|j$pm`fSnvN@*! z0Tys5q*B^5-zDUS^{?O?R8ou3#{6OiknQiD@Ykj_vcCicVtni z7sVBlfIFvJYBIEC9N*==F+$ZwE`+(B`pb1%YxL%OKxwrjv|b(W@{ahOQZ0Td3eP=s z7y1;?EQiG;Qrx7Og7A)SQR6yX&B3Q*O3MfK_xHbiJ8UHrxlDa&9L*;X^U`-5W5MX0 z2?OcG3n+FA5R4lYtYAD+HEjZfvie)~TZr5OUsN6@OA7Uz!uNoJ$R&ZMYrQ+A|vx2MN2yhIe(dJEQP znZsF?rpB+z6C!SM`1EeutE3&IV-MSO`XR84S=LUz7f9OeYqwnZ+I@2ftBU68Nc)7{ zc|gj~39oW7VaX%$WNAOI(?xAZCCk>yleOg&HKw7?S9(}d4IWq^v25-3j!Qf`dpN+n z+$rMby<=$?+JBn<(S1DXO}Q`ZzYU-jPj~On!4Ih%OtI1aMIc|uQ?@TN&b5tq#;BS+ zwY9(S`Mg7~v8UI-I#B=?AR8y&zrnwo@b5|Ze=`LwPx*g=#xsXMB!{fl{=VAkUp7XR IU2?qrA4>26RR910 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/gui/elements/GuiDetectionTab.png b/src/main/resources/assets/mekanism/gui/elements/GuiDetectionTab.png deleted file mode 100644 index 3a46a52861eabcb6fc25ac8edc617bfce9722356..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3482 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 Date: Wed, 6 Jul 2016 17:21:24 -0400 Subject: [PATCH 36/75] Rename Factory Installer to Tier Installer, add recipe for Saturating Condenser, add tier upgrade support for Energy Cube, Gas Tank, Fluid Tank and Bin --- src/main/java/mekanism/common/Mekanism.java | 9 ++++--- .../java/mekanism/common/MekanismItems.java | 6 ++--- ...yInstaller.java => ItemTierInstaller.java} | 12 +++++----- .../mekanism/common/tile/TileEntityBin.java | 20 +++++++++++++++- .../common/tile/TileEntityEnergyCube.java | 20 +++++++++++++++- .../common/tile/TileEntityFluidTank.java | 21 ++++++++++++++++- .../common/tile/TileEntityGasTank.java | 22 +++++++++++++++++- .../client/gui/GuiTurbineStats.java | 1 + .../generators/common/MekanismGenerators.java | 4 ++++ .../generators/common/block/BlockReactor.java | 18 ++++++++++++-- .../resources/assets/mekanism/lang/en_US.lang | 10 ++++---- ...rPort-ctm.png => ReactorPortInput-ctm.png} | Bin .../{ReactorPort.png => ReactorPortInput.png} | Bin .../blocks/ctm/ReactorPortOutput-ctm.png | Bin 0 -> 1737 bytes .../textures/blocks/ctm/ReactorPortOutput.png | Bin 0 -> 1497 bytes ...nstaller.png => AdvancedTierInstaller.png} | Bin ...ryInstaller.png => BasicTierInstaller.png} | Bin ...ryInstaller.png => EliteTierInstaller.png} | Bin .../textures/items/UltimateTierInstaller.png | Bin 0 -> 1446 bytes 19 files changed, 121 insertions(+), 22 deletions(-) rename src/main/java/mekanism/common/item/{ItemFactoryInstaller.java => ItemTierInstaller.java} (85%) rename src/main/resources/assets/mekanism/textures/blocks/ctm/{ReactorPort-ctm.png => ReactorPortInput-ctm.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/ctm/{ReactorPort.png => ReactorPortInput.png} (100%) create mode 100644 src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortOutput-ctm.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortOutput.png rename src/main/resources/assets/mekanism/textures/items/{AdvancedFactoryInstaller.png => AdvancedTierInstaller.png} (100%) rename src/main/resources/assets/mekanism/textures/items/{BasicFactoryInstaller.png => BasicTierInstaller.png} (100%) rename src/main/resources/assets/mekanism/textures/items/{EliteFactoryInstaller.png => EliteTierInstaller.png} (100%) create mode 100644 src/main/resources/assets/mekanism/textures/items/UltimateTierInstaller.png diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index 9d5c58e03..bf4b46b15 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -479,15 +479,18 @@ public class Mekanism CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(MekanismBlocks.BasicBlock2, 2, 2), new Object[] { " I ", "ICI", " I ", Character.valueOf('I'), new ItemStack(MekanismBlocks.BasicBlock2, 1, 1), Character.valueOf('C'), MekanismUtils.getControlCircuit(BaseTier.ELITE) })); - CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(MekanismItems.FactoryInstaller, 1, 0), new Object[] { + CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(MekanismItems.TierInstaller, 1, 0), new Object[] { "RCR", "iWi", "RCR", Character.valueOf('R'), "alloyBasic", Character.valueOf('C'), MekanismUtils.getControlCircuit(BaseTier.BASIC), Character.valueOf('i'), "ingotIron", Character.valueOf('W'), "plankWood" })); - CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(MekanismItems.FactoryInstaller, 1, 1), new Object[] { + CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(MekanismItems.TierInstaller, 1, 1), new Object[] { "ECE", "oWo", "ECE", Character.valueOf('E'), "alloyAdvanced", Character.valueOf('C'), MekanismUtils.getControlCircuit(BaseTier.ADVANCED), Character.valueOf('o'), "ingotOsmium", Character.valueOf('W'), "plankWood" })); - CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(MekanismItems.FactoryInstaller, 1, 2), new Object[] { + CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(MekanismItems.TierInstaller, 1, 2), new Object[] { "RCR", "gWg", "RCR", Character.valueOf('R'), "alloyElite", Character.valueOf('C'), MekanismUtils.getControlCircuit(BaseTier.ELITE), Character.valueOf('g'), "ingotGold", Character.valueOf('W'), "plankWood" })); + CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(MekanismItems.TierInstaller, 1, 3), new Object[] { + "RCR", "dWd", "RCR", Character.valueOf('R'), "alloyUltimate", Character.valueOf('C'), MekanismUtils.getControlCircuit(BaseTier.ULTIMATE), Character.valueOf('d'), "gemDiamond", Character.valueOf('W'), "plankWood" + })); MachineType.OREDICTIONIFICATOR.addRecipe(new ShapedMekanismRecipe(new ItemStack(MekanismBlocks.MachineBlock3, 1, 3), new Object[] { "SGS", "CBC", "SWS", Character.valueOf('S'), "ingotSteel", Character.valueOf('G'), "paneGlass", Character.valueOf('C'), MekanismUtils.getControlCircuit(BaseTier.BASIC), Character.valueOf('B'), MekanismItems.Dictionary, Character.valueOf('W'), Blocks.chest })); diff --git a/src/main/java/mekanism/common/MekanismItems.java b/src/main/java/mekanism/common/MekanismItems.java index b9f9c2094..f2f7629c9 100644 --- a/src/main/java/mekanism/common/MekanismItems.java +++ b/src/main/java/mekanism/common/MekanismItems.java @@ -14,7 +14,7 @@ import mekanism.common.item.ItemDirtyDust; import mekanism.common.item.ItemDust; import mekanism.common.item.ItemElectricBow; import mekanism.common.item.ItemEnergized; -import mekanism.common.item.ItemFactoryInstaller; +import mekanism.common.item.ItemTierInstaller; import mekanism.common.item.ItemFlamethrower; import mekanism.common.item.ItemFreeRunners; import mekanism.common.item.ItemGasMask; @@ -69,7 +69,7 @@ public class MekanismItems public static final Item FilterUpgrade = new ItemUpgrade(Upgrade.FILTER).setUnlocalizedName("FilterUpgrade"); public static final Item MufflingUpgrade = new ItemUpgrade(Upgrade.MUFFLING).setUnlocalizedName("MufflingUpgrade"); public static final Item GasUpgrade = new ItemUpgrade(Upgrade.GAS).setUnlocalizedName("GasUpgrade"); - public static final Item FactoryInstaller = new ItemFactoryInstaller().setUnlocalizedName("FactoryInstaller"); + public static final Item TierInstaller = new ItemTierInstaller().setUnlocalizedName("FactoryInstaller"); public static final ItemEnergized EnergyTablet = (ItemEnergized)new ItemEnergized(1000000).setUnlocalizedName("EnergyTablet"); public static final ItemRobit Robit = (ItemRobit)new ItemRobit().setUnlocalizedName("Robit"); public static final ItemAtomicDisassembler AtomicDisassembler = (ItemAtomicDisassembler)new ItemAtomicDisassembler().setUnlocalizedName("AtomicDisassembler"); @@ -163,7 +163,7 @@ public class MekanismItems GameRegistry.registerItem(GlowPanel, "GlowPanel"); GameRegistry.registerItem(Flamethrower, "Flamethrower"); GameRegistry.registerItem(GaugeDropper, "GaugeDropper"); - GameRegistry.registerItem(FactoryInstaller, "FactoryInstaller"); + GameRegistry.registerItem(TierInstaller, "FactoryInstaller"); GameRegistry.registerItem(OtherDust, "OtherDust"); FluidContainerRegistry.registerFluidContainer(FluidRegistry.getFluid("brine"), new ItemStack(BrineBucket), FluidContainerRegistry.EMPTY_BUCKET); diff --git a/src/main/java/mekanism/common/item/ItemFactoryInstaller.java b/src/main/java/mekanism/common/item/ItemTierInstaller.java similarity index 85% rename from src/main/java/mekanism/common/item/ItemFactoryInstaller.java rename to src/main/java/mekanism/common/item/ItemTierInstaller.java index cd0d8d0b6..e31690255 100644 --- a/src/main/java/mekanism/common/item/ItemFactoryInstaller.java +++ b/src/main/java/mekanism/common/item/ItemTierInstaller.java @@ -15,11 +15,11 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; -public class ItemFactoryInstaller extends ItemMekanism +public class ItemTierInstaller extends ItemMekanism { public IIcon[] icons = new IIcon[256]; - public ItemFactoryInstaller() + public ItemTierInstaller() { super(); setHasSubtypes(true); @@ -34,7 +34,7 @@ public class ItemFactoryInstaller extends ItemMekanism } TileEntity tile = world.getTileEntity(x, y, z); - FactoryTier tier = FactoryTier.values()[stack.getItemDamage()]; + BaseTier tier = BaseTier.values()[stack.getItemDamage()]; if(tile instanceof ITierUpgradeable) { @@ -43,7 +43,7 @@ public class ItemFactoryInstaller extends ItemMekanism return true; } - if(((ITierUpgradeable)tile).upgrade(tier.getBaseTier())) + if(((ITierUpgradeable)tile).upgrade(tier)) { if(!player.capabilities.isCreativeMode) { @@ -60,7 +60,7 @@ public class ItemFactoryInstaller extends ItemMekanism { for(FactoryTier tier : FactoryTier.values()) { - icons[tier.ordinal()] = register.registerIcon("mekanism:" + tier.getBaseTier().getName() + "FactoryInstaller"); + icons[tier.ordinal()] = register.registerIcon("mekanism:" + tier.getBaseTier().getName() + "TierInstaller"); } } @@ -82,6 +82,6 @@ public class ItemFactoryInstaller extends ItemMekanism @Override public String getUnlocalizedName(ItemStack item) { - return "item." + BaseTier.values()[item.getItemDamage()].getName().toLowerCase() + "FactoryInstaller"; + return "item." + BaseTier.values()[item.getItemDamage()].getName().toLowerCase() + "TierInstaller"; } } diff --git a/src/main/java/mekanism/common/tile/TileEntityBin.java b/src/main/java/mekanism/common/tile/TileEntityBin.java index 3313078e1..8f9f54f33 100644 --- a/src/main/java/mekanism/common/tile/TileEntityBin.java +++ b/src/main/java/mekanism/common/tile/TileEntityBin.java @@ -10,9 +10,11 @@ import mekanism.api.Range4D; import mekanism.api.util.StackUtils; import mekanism.common.Mekanism; import mekanism.common.PacketHandler; +import mekanism.common.Tier.BaseTier; import mekanism.common.Tier.BinTier; import mekanism.common.base.IActiveState; import mekanism.common.base.ILogisticalTransporter; +import mekanism.common.base.ITierUpgradeable; import mekanism.common.base.ITransporterTile; import mekanism.common.content.transporter.TransporterManager; import mekanism.common.item.ItemBlockBasic; @@ -32,7 +34,7 @@ import powercrystals.minefactoryreloaded.api.IDeepStorageUnit; import cpw.mods.fml.common.Optional.Interface; @Interface(iface = "powercrystals.minefactoryreloaded.api.IDeepStorageUnit", modid = "MineFactoryReloaded") -public class TileEntityBin extends TileEntityBasicBlock implements ISidedInventory, IActiveState, IDeepStorageUnit, IConfigurable +public class TileEntityBin extends TileEntityBasicBlock implements ISidedInventory, IActiveState, IDeepStorageUnit, IConfigurable, ITierUpgradeable { public boolean isActive; @@ -56,6 +58,22 @@ public class TileEntityBin extends TileEntityBasicBlock implements ISidedInvento public int prevCount; public int clientAmount; + + @Override + public boolean upgrade(BaseTier upgradeTier) + { + if(upgradeTier.ordinal() != tier.ordinal()+1) + { + return false; + } + + tier = BinTier.values()[upgradeTier.ordinal()]; + + Mekanism.packetHandler.sendToReceivers(new TileEntityMessage(Coord4D.get(this), getNetworkedData(new ArrayList())), new Range4D(Coord4D.get(this))); + markDirty(); + + return true; + } public void sortStacks() { diff --git a/src/main/java/mekanism/common/tile/TileEntityEnergyCube.java b/src/main/java/mekanism/common/tile/TileEntityEnergyCube.java index a4b6e9439..c9410096c 100644 --- a/src/main/java/mekanism/common/tile/TileEntityEnergyCube.java +++ b/src/main/java/mekanism/common/tile/TileEntityEnergyCube.java @@ -11,9 +11,11 @@ import mekanism.api.Range4D; import mekanism.api.transmitters.TransmissionType; import mekanism.common.Mekanism; import mekanism.common.SideData; +import mekanism.common.Tier.BaseTier; import mekanism.common.Tier.EnergyCubeTier; import mekanism.common.base.IRedstoneControl; import mekanism.common.base.ISideConfiguration; +import mekanism.common.base.ITierUpgradeable; import mekanism.common.integration.IComputerIntegration; import mekanism.common.network.PacketTileEntity.TileEntityMessage; import mekanism.common.security.ISecurityTile; @@ -30,7 +32,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityEnergyCube extends TileEntityElectricBlock implements IComputerIntegration, IRedstoneControl, ISideConfiguration, ISecurityTile +public class TileEntityEnergyCube extends TileEntityElectricBlock implements IComputerIntegration, IRedstoneControl, ISideConfiguration, ISecurityTile, ITierUpgradeable { /** This Energy Cube's tier. */ public EnergyCubeTier tier = EnergyCubeTier.BASIC; @@ -98,6 +100,22 @@ public class TileEntityEnergyCube extends TileEntityElectricBlock implements ICo prevScale = newScale; } } + + @Override + public boolean upgrade(BaseTier upgradeTier) + { + if(upgradeTier.ordinal() != tier.ordinal()+1) + { + return false; + } + + tier = EnergyCubeTier.values()[upgradeTier.ordinal()]; + + Mekanism.packetHandler.sendToReceivers(new TileEntityMessage(Coord4D.get(this), getNetworkedData(new ArrayList())), new Range4D(Coord4D.get(this))); + markDirty(); + + return true; + } @Override public String getInventoryName() diff --git a/src/main/java/mekanism/common/tile/TileEntityFluidTank.java b/src/main/java/mekanism/common/tile/TileEntityFluidTank.java index c4b79424e..e2041be89 100644 --- a/src/main/java/mekanism/common/tile/TileEntityFluidTank.java +++ b/src/main/java/mekanism/common/tile/TileEntityFluidTank.java @@ -9,11 +9,13 @@ import mekanism.api.IConfigurable; import mekanism.api.MekanismConfig.general; import mekanism.api.Range4D; import mekanism.common.Mekanism; +import mekanism.common.Tier.BaseTier; import mekanism.common.Tier.FluidTankTier; import mekanism.common.base.IActiveState; import mekanism.common.base.IFluidContainerManager; import mekanism.common.base.ISustainedTank; import mekanism.common.base.ITankManager; +import mekanism.common.base.ITierUpgradeable; import mekanism.common.network.PacketTileEntity.TileEntityMessage; import mekanism.common.security.ISecurityTile; import mekanism.common.tile.component.TileComponentSecurity; @@ -38,7 +40,7 @@ import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidContainerItem; import net.minecraftforge.fluids.IFluidHandler; -public class TileEntityFluidTank extends TileEntityContainerBlock implements IActiveState, IConfigurable, IFluidHandler, ISustainedTank, IFluidContainerManager, ITankManager, ISecurityTile +public class TileEntityFluidTank extends TileEntityContainerBlock implements IActiveState, IConfigurable, IFluidHandler, ISustainedTank, IFluidContainerManager, ITankManager, ISecurityTile, ITierUpgradeable { public boolean isActive; @@ -73,6 +75,23 @@ public class TileEntityFluidTank extends TileEntityContainerBlock implements IAc inventory = new ItemStack[2]; } + @Override + public boolean upgrade(BaseTier upgradeTier) + { + if(upgradeTier.ordinal() != tier.ordinal()+1) + { + return false; + } + + tier = FluidTankTier.values()[upgradeTier.ordinal()]; + fluidTank.setCapacity(tier.storage); + + Mekanism.packetHandler.sendToReceivers(new TileEntityMessage(Coord4D.get(this), getNetworkedData(new ArrayList())), new Range4D(Coord4D.get(this))); + markDirty(); + + return true; + } + @Override public boolean canSetFacing(int facing) { diff --git a/src/main/java/mekanism/common/tile/TileEntityGasTank.java b/src/main/java/mekanism/common/tile/TileEntityGasTank.java index 6e14b1494..02cf24199 100644 --- a/src/main/java/mekanism/common/tile/TileEntityGasTank.java +++ b/src/main/java/mekanism/common/tile/TileEntityGasTank.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import mekanism.api.Coord4D; import mekanism.api.EnumColor; +import mekanism.api.Range4D; import mekanism.api.gas.Gas; import mekanism.api.gas.GasRegistry; import mekanism.api.gas.GasStack; @@ -17,9 +18,11 @@ import mekanism.api.gas.ITubeConnection; import mekanism.api.transmitters.TransmissionType; import mekanism.common.Mekanism; import mekanism.common.SideData; +import mekanism.common.Tier.BaseTier; import mekanism.common.Tier.GasTankTier; import mekanism.common.base.IRedstoneControl; import mekanism.common.base.ISideConfiguration; +import mekanism.common.base.ITierUpgradeable; import mekanism.common.network.PacketTileEntity.TileEntityMessage; import mekanism.common.security.ISecurityTile; import mekanism.common.tile.component.TileComponentConfig; @@ -35,7 +38,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityGasTank extends TileEntityContainerBlock implements IGasHandler, ITubeConnection, IRedstoneControl, ISideConfiguration, ISecurityTile +public class TileEntityGasTank extends TileEntityContainerBlock implements IGasHandler, ITubeConnection, IRedstoneControl, ISideConfiguration, ISecurityTile, ITierUpgradeable { public enum GasMode { @@ -140,6 +143,23 @@ public class TileEntityGasTank extends TileEntityContainerBlock implements IGasH } } + @Override + public boolean upgrade(BaseTier upgradeTier) + { + if(upgradeTier.ordinal() != tier.ordinal()+1) + { + return false; + } + + tier = GasTankTier.values()[upgradeTier.ordinal()]; + gasTank.setMaxGas(tier.storage); + + Mekanism.packetHandler.sendToReceivers(new TileEntityMessage(Coord4D.get(this), getNetworkedData(new ArrayList())), new Range4D(Coord4D.get(this))); + markDirty(); + + return true; + } + @Override public String getInventoryName() { diff --git a/src/main/java/mekanism/generators/client/gui/GuiTurbineStats.java b/src/main/java/mekanism/generators/client/gui/GuiTurbineStats.java index a389fde46..d77efc545 100644 --- a/src/main/java/mekanism/generators/client/gui/GuiTurbineStats.java +++ b/src/main/java/mekanism/generators/client/gui/GuiTurbineStats.java @@ -82,6 +82,7 @@ public class GuiTurbineStats extends GuiMekanism rate = Math.min(rate, tileEntity.structure.vents*generators.turbineVentGasFlow); fontRendererObj.drawString(LangUtils.localize("gui.maxProduction") + ": " + MekanismUtils.getEnergyDisplay(rate*energyMultiplier), 8, 104, 0x404040); + fontRendererObj.drawString(LangUtils.localize("gui.maxWaterOutput") + ": " + tileEntity.structure.condensers*generators.condenserRate + " mB/t", 8, 113, 0x404040); super.drawGuiContainerForegroundLayer(mouseX, mouseY); } diff --git a/src/main/java/mekanism/generators/common/MekanismGenerators.java b/src/main/java/mekanism/generators/common/MekanismGenerators.java index 13ef3fa3b..dcc6d0913 100644 --- a/src/main/java/mekanism/generators/common/MekanismGenerators.java +++ b/src/main/java/mekanism/generators/common/MekanismGenerators.java @@ -24,6 +24,7 @@ import mekanism.common.recipe.ShapedMekanismRecipe; import mekanism.common.util.MekanismUtils; import mekanism.generators.common.content.turbine.SynchronizedTurbineData; import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraftforge.fluids.FluidContainerRegistry; @@ -155,6 +156,9 @@ public class MekanismGenerators implements IModule CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(GeneratorsBlocks.Generator, 2, 12), new Object[] { " I ", "IFI", " I ", Character.valueOf('I'), new ItemStack(GeneratorsBlocks.Generator, 1, 10), Character.valueOf('F'), Blocks.iron_bars })); + CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(GeneratorsBlocks.Generator, 1, 13), new Object[] { + "STS", "TBT", "STS", Character.valueOf('S'), "ingotSteel", Character.valueOf('T'), "ingotTin", Character.valueOf('E'), Items.bucket + })); //Reactor Recipes CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(GeneratorsBlocks.Reactor, 4, 1), new Object[] { diff --git a/src/main/java/mekanism/generators/common/block/BlockReactor.java b/src/main/java/mekanism/generators/common/block/BlockReactor.java index eec2b1cff..f9e1edcb5 100644 --- a/src/main/java/mekanism/generators/common/block/BlockReactor.java +++ b/src/main/java/mekanism/generators/common/block/BlockReactor.java @@ -62,7 +62,8 @@ public class BlockReactor extends BlockContainer implements IBlockCTM ctms[0][1] = new CTMData("ctm/ReactorFrame", this, Arrays.asList(0, 1, 2, 3, 4)).addSideOverride(ForgeDirection.UP, "ctm/ReactorControllerOn").registerIcons(register); ctms[1][0] = new CTMData("ctm/ReactorFrame", this, Arrays.asList(0, 1, 2, 3, 4)).registerIcons(register); ctms[2][0] = new CTMData("ctm/ReactorNeutronCapture", this, Arrays.asList(0, 1, 2, 3, 4)).registerIcons(register); - ctms[3][0] = new CTMData("ctm/ReactorPort", this, Arrays.asList(0, 1, 2, 3, 4)).registerIcons(register); + ctms[3][0] = new CTMData("ctm/ReactorPortInput", this, Arrays.asList(0, 1, 2, 3, 4)).registerIcons(register); + ctms[3][1] = new CTMData("ctm/ReactorPortOutput", this, Arrays.asList(0, 1, 2, 3, 4)).registerIcons(register); ctms[4][0] = new CTMData("ctm/ReactorLogicAdapter", this, Arrays.asList(0, 1, 2, 3, 4)).registerIcons(register); icons[0][0] = ctms[0][0].sideOverrides[1].icon; @@ -71,6 +72,7 @@ public class BlockReactor extends BlockContainer implements IBlockCTM icons[1][0] = ctms[1][0].mainTextureData.icon; icons[2][0] = ctms[2][0].mainTextureData.icon; icons[3][0] = ctms[3][0].mainTextureData.icon; + icons[3][1] = ctms[3][1].mainTextureData.icon; icons[4][0] = ctms[4][0].mainTextureData.icon; } else if(this == GeneratorsBlocks.ReactorGlass) @@ -120,9 +122,14 @@ public class BlockReactor extends BlockContainer implements IBlockCTM return MekanismUtils.isActive(world, x, y, z) ? icons[0][1] : icons[0][0]; } else { - return icons[0][2]; + return icons[metadata][2]; } } + else if(metadata == 3) + { + TileEntityReactorPort tileEntity = (TileEntityReactorPort)world.getTileEntity(x, y, z); + return icons[metadata][tileEntity.fluidEject ? 1 : 0]; + } else { return icons[metadata][0]; } @@ -301,6 +308,13 @@ public class BlockReactor extends BlockContainer implements IBlockCTM { return ctms[meta][1]; } + + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof TileEntityReactorPort) + { + return ctms[meta][((TileEntityReactorPort)tile).fluidEject ? 1 : 0]; + } return ctms[meta][0]; } diff --git a/src/main/resources/assets/mekanism/lang/en_US.lang b/src/main/resources/assets/mekanism/lang/en_US.lang index ebc66ca45..71c4aebfe 100644 --- a/src/main/resources/assets/mekanism/lang/en_US.lang +++ b/src/main/resources/assets/mekanism/lang/en_US.lang @@ -216,10 +216,11 @@ tile.EnergyCubeElite.name=Elite Energy Cube tile.EnergyCubeUltimate.name=Ultimate Energy Cube tile.EnergyCubeCreative.name=Creative Energy Cube -//Factory Installers -item.basicFactoryInstaller.name=Basic Factory Installer -item.advancedFactoryInstaller.name=Advanced Factory Installer -item.eliteFactoryInstaller.name=Elite Factory Installer +//Tier Installers +item.basicTierInstaller.name=Basic Tier Installer +item.advancedTierInstaller.name=Advanced Tier Installer +item.eliteTierInstaller.name=Elite Tier Installer +item.ultimateTierInstaller.name=Ultimate Tier Installer //Dust item.ironDust.name=Iron Dust @@ -558,6 +559,7 @@ gui.burnRate=Burn Rate gui.entityDetection=Entity Detection gui.energyContents=Energy Contents gui.redstoneOutput=Redstone Output +gui.maxWaterOutput=Max Water Output gui.reactor.injectionRate=Injection Rate diff --git a/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPort-ctm.png b/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortInput-ctm.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPort-ctm.png rename to src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortInput-ctm.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPort.png b/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortInput.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPort.png rename to src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortInput.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortOutput-ctm.png b/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortOutput-ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..128faeb3ee71096ce069739611892cbe173cc9c9 GIT binary patch literal 1737 zcmaJ?eKb^Q9GEYjrr2}X1#R?OIU>lJLEJ2Jy1fCQLhX5fgj)Vdru{1IEA>>9N z=&zIohF~G0bsPx-)5JOqO$94(Hi6*gp;Cw?(GUiNLyV4 zC`#t5Mxl-B^??#~w1h3Cc(?;@Dh@6HLzoy)!7*|rN5!Q~>2h#ecTA@MQxGhgOZgI1 zh{zxCLQn``(O6Uog9!pIY#PXNVuRosfXM(I=^%s7WK%(q_G6oMhjC`18xc>#98GPx8Cd07+Rfp^^9!WWz}R1_IlP0IglM#cxQcuLx!XBjUg{^bx46HQ?Pu?5 zkdxzUS6zI3)YjKvVT1P7C-P#!-i~a&NyTb7Dxx zUegL|>q9B4>jTcKtLjZXHv~0a$$GNansjWpSq(|dBKF*PPCb2dYiXLeiWGUYewF*; zYM`!q!H;g1zo+=$R5RNL;u$?7BjzJdpISvtlmrzI4-a>Lcq~|*nQ5mzlL%4U%$l$J zE!IoZ4{LoC;n)qk7j{k7hR@UYd2i8IW6uW;W@Q|iZ}m8S;ZDFK4ZF9^b)QSwH?d29 zt0v7GO}WA?NJwFwxh&}2r?oBeGU;eI)xVbPo-%skh#7fB=xf!Ee*JE^XX08(EW2%w zg}q>2)}~D>NZNEX+*wnXNE(}r+M!t1?oqm~2}=gs<4P{QT$ye}Zpf1z-z*>JEjj+Z z9JD7n!hi|gZBQq=B{8rX>joV{ByQL2KVd6-W2v|e22pxXxF5h z@AQtyWC@<=j|DI4U%)MkkEy>@_OY+8kIXG=8crU4nN)71H$tehE+u2JT4U~muB-0= z>CjX4_Ke0(+{|xkN!>CDzuUF#oMGbak4c|+i-~t)Ze7S;5Sg8PFi6O&T3&;N=B`u) z?jbE_r8c#uu5;hK2px;znx4J-p}a-^EmCaQQG2YZkTUe>p2Ld$Pm;(z=!ro;+vdYH zuH@YKf=ksW3r@PdzUNx#!|gbx-sP=5J2IHB@zDF05dTW^OQ;>GL-%tL3fA*WJh$)u E2OlP~=>Px# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortOutput.png b/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..373b8c12a4f84cd89efdc7aa61201a792cc419a7 GIT binary patch literal 1497 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+mc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc$WX!DQqR!T z#M01EN5ROz&{*HlK;Otx*U-?)#N5izOaTg%fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD#PU%0_}#n6BP2AO_EVu8M)o`HUDF34YC)x{-2sR(CaRb3oXS&*t9 zlvGjMjE=kNwPKDW>3A7uk*8;CzE9aur#FG4?ko^1{SSkp} z$S=t+&d4uNaCTPE2+zz*$uBR~1jP`$T*xk0B7bd)|Qogk$fm=G{Af|&4J z0OY{)QEDDA^ArJdN&n{uQy3T+|9QGNhE&{A3A)*L+kj_@o_tZy5|2#|@nzg^oPYn9 zzhWoS?b;}2DI+iBx-z-Ffme3U#R8A7kN=*PSloMVrq{`+)pJ_5s0F!+vS|8teONlj zbyMlNy?g7nu8Ui?ajh1^w925^{GQXrFXnW~96wMR>iH;MzP?0n!M0r!@@HkvJowZ) z|BhKn4!IjeI=UjfJ)Kugod5+PXhxy9=yzLUo*AB$! zi3fDJEM*Y6!JND$xBRh1)4vKErQao1iqijIf332cZ=P7FId!Gh>n&O~(#`^02R7-{ z-e3IgZyo=>!w(zS!z|TTWl(@{m7nc zPG7#T%viqmL|xE=y}6gy)gGwnQGC0LFJ%JbwY4q>uT}rQ)3hk_Zf#9Linr^xd#yhA zD-(NMxEg9K8s`9sfZ9bsTn#~+4)0BTZB;%Ni=b;sM#khjjY_qY~ zaoxh_ymsII{h|}6EHw(_5cXRgC%E-i?v-gvG@0Xjp1S;Jm0)c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc$WX!DQqR!T z#M01EN5ROz&{*HlK;Otx*U-?)#N5izOaTg%fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD#PU%0_}#n6BP2AO_EVu8M)o`HUDF34YC)x{-2sR(CaRb3oXS&*t9 zlv-D$ZZaX5`>-J*TxtDvzZE6>Nepfu>x_WXP?}8fk zd9#-lDIct{Q=jW6+<#n>hpnXUz?G=|Z(h_0epap7tQ@iaxnYLN-V8Vot6=(9cKYp5)oWE$* zsyE-OHJ1jhyzu(#i?ZEQyj0aDb2d6K%s-z#+d)*crKM=6kJ;>{7c)F2IW2TpeKl$K z-A6?`b5tcBDf5YRyZ))O?{sO(FwwehG?VA_(@BRPCU`&iRJB*gUW997)Y=M>T8&!4 z>r#B}fg-K-((kPfmL*GWiO^XRc{S^+KkMlb!5OEYrj%Zk-?m+$sr6jc+GEk)zn}e( zczU9{EYcF| Date: Wed, 6 Jul 2016 17:34:29 -0400 Subject: [PATCH 37/75] Add Silicon crusher recipe, fixed Tier Installers --- .../mekanism/common/integration/OreDictManager.java | 7 +++++++ .../mekanism/common/item/ItemPortableTeleporter.java | 11 +---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/main/java/mekanism/common/integration/OreDictManager.java b/src/main/java/mekanism/common/integration/OreDictManager.java index c81eb330c..37d6e821f 100644 --- a/src/main/java/mekanism/common/integration/OreDictManager.java +++ b/src/main/java/mekanism/common/integration/OreDictManager.java @@ -267,6 +267,13 @@ public final class OreDictManager RecipeHandler.addCrusherRecipe(new ItemStack(Items.gunpowder), StackUtils.size(OreDictionary.getOres("dustSaltpeter").get(0), 1)); } catch(Exception e) {} + for(ItemStack ore : OreDictionary.getOres("sand")) + { + try { + RecipeHandler.addCrusherRecipe(StackUtils.size(ore, 1), StackUtils.size(OreDictionary.getOres("itemSilicon").get(0), 1)); + } catch(Exception e) {} + } + for(ItemStack ore : OreDictionary.getOres("dustSaltpeter")) { RecipeHandler.addEnrichmentChamberRecipe(StackUtils.size(ore, 1), new ItemStack(Items.gunpowder)); diff --git a/src/main/java/mekanism/common/item/ItemPortableTeleporter.java b/src/main/java/mekanism/common/item/ItemPortableTeleporter.java index 4491be785..425ce7370 100644 --- a/src/main/java/mekanism/common/item/ItemPortableTeleporter.java +++ b/src/main/java/mekanism/common/item/ItemPortableTeleporter.java @@ -4,13 +4,10 @@ import java.util.List; import mekanism.api.Coord4D; import mekanism.api.EnumColor; -import mekanism.client.MekKeyHandler; -import mekanism.client.MekanismKeyHandler; import mekanism.common.Mekanism; import mekanism.common.security.IOwnerItem; import mekanism.common.util.LangUtils; import mekanism.common.util.SecurityUtils; -import net.minecraft.client.settings.GameSettings; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -36,13 +33,7 @@ public class ItemPortableTeleporter extends ItemEnergized implements IOwnerItem list.add(EnumColor.INDIGO + LangUtils.localize("gui.mode") + ": " + EnumColor.GREY + LangUtils.localize("gui." + (isPrivateMode(itemstack) ? "private" : "public"))); } - if(!MekKeyHandler.getIsKeyPressed(MekanismKeyHandler.sneakKey)) - { - list.add(LangUtils.localize("tooltip.hold") + " " + EnumColor.AQUA + GameSettings.getKeyDisplayString(MekanismKeyHandler.sneakKey.getKeyCode()) + EnumColor.GREY + " " + LangUtils.localize("tooltip.forDetails") + "."); - } - else { - super.addInformation(itemstack, entityplayer, list, flag); - } + super.addInformation(itemstack, entityplayer, list, flag); } @Override From 42f27058c210a9252a077180b221d2b53f513527 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Wed, 6 Jul 2016 17:36:29 -0400 Subject: [PATCH 38/75] Actually fix tier installers --- .../java/mekanism/common/item/ItemTierInstaller.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/mekanism/common/item/ItemTierInstaller.java b/src/main/java/mekanism/common/item/ItemTierInstaller.java index e31690255..314831659 100644 --- a/src/main/java/mekanism/common/item/ItemTierInstaller.java +++ b/src/main/java/mekanism/common/item/ItemTierInstaller.java @@ -3,7 +3,6 @@ package mekanism.common.item; import java.util.List; import mekanism.common.Tier.BaseTier; -import mekanism.common.Tier.FactoryTier; import mekanism.common.base.ITierUpgradeable; import mekanism.common.tile.TileEntityBasicBlock; import net.minecraft.client.renderer.texture.IIconRegister; @@ -49,7 +48,11 @@ public class ItemTierInstaller extends ItemMekanism { stack.stackSize--; } + + return true; } + + return false; } return false; @@ -58,9 +61,9 @@ public class ItemTierInstaller extends ItemMekanism @Override public void registerIcons(IIconRegister register) { - for(FactoryTier tier : FactoryTier.values()) + for(BaseTier tier : BaseTier.values()) { - icons[tier.ordinal()] = register.registerIcon("mekanism:" + tier.getBaseTier().getName() + "TierInstaller"); + icons[tier.ordinal()] = register.registerIcon("mekanism:" + tier.getName() + "TierInstaller"); } } @@ -73,7 +76,7 @@ public class ItemTierInstaller extends ItemMekanism @Override public void getSubItems(Item item, CreativeTabs tabs, List itemList) { - for(FactoryTier tier : FactoryTier.values()) + for(BaseTier tier : BaseTier.values()) { itemList.add(new ItemStack(item, 1, tier.ordinal())); } From 52daff9f6728ac82829a4cb00e6d6e7982041efa Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Wed, 6 Jul 2016 17:53:14 -0400 Subject: [PATCH 39/75] Better tooltips --- src/main/java/mekanism/common/item/ItemBlockBasic.java | 4 +++- .../java/mekanism/common/item/ItemBlockEnergyCube.java | 1 + src/main/java/mekanism/common/item/ItemBlockGasTank.java | 6 ++++-- src/main/java/mekanism/common/item/ItemBlockMachine.java | 7 ++++++- src/main/java/mekanism/common/item/ItemTierInstaller.java | 5 ++++- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/mekanism/common/item/ItemBlockBasic.java b/src/main/java/mekanism/common/item/ItemBlockBasic.java index 1e8ad4229..54fc2903a 100644 --- a/src/main/java/mekanism/common/item/ItemBlockBasic.java +++ b/src/main/java/mekanism/common/item/ItemBlockBasic.java @@ -158,11 +158,13 @@ public class ItemBlockBasic extends ItemBlock implements IEnergizedItem, ITierIt if(inv.getItemCount() > 0) { list.add(EnumColor.BRIGHT_GREEN + inv.getItemType().getDisplayName()); - list.add(EnumColor.INDIGO + LangUtils.localize("tooltip.itemAmount") + ": " + EnumColor.GREY + inv.getItemCount()); + list.add(EnumColor.PURPLE + LangUtils.localize("tooltip.itemAmount") + ": " + EnumColor.GREY + inv.getItemCount()); } else { list.add(EnumColor.DARK_RED + LangUtils.localize("gui.empty")); } + + list.add(EnumColor.INDIGO + LangUtils.localize("tooltip.capacity") + ": " + EnumColor.GREY + BinTier.values()[getBaseTier(itemstack).ordinal()].storage + " " + LangUtils.localize("transmission.Items")); } else if(type == BasicType.INDUCTION_CELL) { diff --git a/src/main/java/mekanism/common/item/ItemBlockEnergyCube.java b/src/main/java/mekanism/common/item/ItemBlockEnergyCube.java index 856673e59..1a1fe7c42 100644 --- a/src/main/java/mekanism/common/item/ItemBlockEnergyCube.java +++ b/src/main/java/mekanism/common/item/ItemBlockEnergyCube.java @@ -64,6 +64,7 @@ public class ItemBlockEnergyCube extends ItemBlock implements IEnergizedItem, IE public void addInformation(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag) { list.add(EnumColor.BRIGHT_GREEN + LangUtils.localize("tooltip.storedEnergy") + ": " + EnumColor.GREY + MekanismUtils.getEnergyDisplay(getEnergy(itemstack))); + list.add(EnumColor.INDIGO + LangUtils.localize("tooltip.capacity") + ": " + EnumColor.GREY + MekanismUtils.getEnergyDisplay(getEnergyCubeTier(itemstack).maxEnergy)); if(!MekKeyHandler.getIsKeyPressed(MekanismKeyHandler.sneakKey)) { diff --git a/src/main/java/mekanism/common/item/ItemBlockGasTank.java b/src/main/java/mekanism/common/item/ItemBlockGasTank.java index 6b56cd255..188d7dda5 100644 --- a/src/main/java/mekanism/common/item/ItemBlockGasTank.java +++ b/src/main/java/mekanism/common/item/ItemBlockGasTank.java @@ -122,11 +122,13 @@ public class ItemBlockGasTank extends ItemBlock implements IGasItem, ISustainedI if(gasStack == null) { - list.add(LangUtils.localize("tooltip.noGas") + "."); + list.add(EnumColor.DARK_RED + LangUtils.localize("gui.empty") + "."); } else { - list.add(LangUtils.localize("tooltip.stored") + " " + gasStack.getGas().getLocalizedName() + ": " + gasStack.amount); + list.add(EnumColor.ORANGE + gasStack.getGas().getLocalizedName() + ": " + EnumColor.GREY + gasStack.amount); } + + list.add(EnumColor.INDIGO + LangUtils.localize("tooltip.capacity") + ": " + EnumColor.GREY + GasTankTier.values()[getBaseTier(itemstack).ordinal()].storage); if(!MekKeyHandler.getIsKeyPressed(MekanismKeyHandler.sneakKey)) { diff --git a/src/main/java/mekanism/common/item/ItemBlockMachine.java b/src/main/java/mekanism/common/item/ItemBlockMachine.java index d56d3be51..71d449eb8 100644 --- a/src/main/java/mekanism/common/item/ItemBlockMachine.java +++ b/src/main/java/mekanism/common/item/ItemBlockMachine.java @@ -179,8 +179,13 @@ public class ItemBlockMachine extends ItemBlock implements IEnergizedItem, ISpec if(fluidStack != null) { - list.add(EnumColor.PINK + LangUtils.localizeFluidStack(fluidStack) + ": " + EnumColor.GREY + getFluidStack(itemstack).amount + "mB"); + list.add(EnumColor.AQUA + LangUtils.localizeFluidStack(fluidStack) + ": " + EnumColor.GREY + getFluidStack(itemstack).amount + "mB"); } + else { + list.add(EnumColor.DARK_RED + LangUtils.localize("gui.empty") + "."); + } + + list.add(EnumColor.INDIGO + LangUtils.localize("tooltip.capacity") + ": " + EnumColor.GREY + FluidTankTier.values()[getBaseTier(itemstack).ordinal()].storage + " mB"); } list.add(LangUtils.localize("tooltip.hold") + " " + EnumColor.INDIGO + GameSettings.getKeyDisplayString(MekanismKeyHandler.sneakKey.getKeyCode()) + EnumColor.GREY + " " + LangUtils.localize("tooltip.forDetails") + "."); diff --git a/src/main/java/mekanism/common/item/ItemTierInstaller.java b/src/main/java/mekanism/common/item/ItemTierInstaller.java index 314831659..ced0b503e 100644 --- a/src/main/java/mekanism/common/item/ItemTierInstaller.java +++ b/src/main/java/mekanism/common/item/ItemTierInstaller.java @@ -78,7 +78,10 @@ public class ItemTierInstaller extends ItemMekanism { for(BaseTier tier : BaseTier.values()) { - itemList.add(new ItemStack(item, 1, tier.ordinal())); + if(tier.isObtainable()) + { + itemList.add(new ItemStack(item, 1, tier.ordinal())); + } } } From 5fa330856584696ef2faaa5d2dae6f0de6a3e2d7 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Wed, 6 Jul 2016 17:56:40 -0400 Subject: [PATCH 40/75] Add necessary networking to Reactor Port --- .../tile/reactor/TileEntityReactorPort.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java b/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java index 6dd0625ab..09d556655 100644 --- a/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java +++ b/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java @@ -1,5 +1,7 @@ package mekanism.generators.common.tile.reactor; +import io.netty.buffer.ByteBuf; + import java.util.ArrayList; import java.util.EnumSet; @@ -21,6 +23,7 @@ import mekanism.common.util.CableUtils; import mekanism.common.util.HeatUtils; import mekanism.common.util.InventoryUtils; import mekanism.common.util.LangUtils; +import mekanism.common.util.MekanismUtils; import mekanism.generators.common.item.ItemHohlraum; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -414,6 +417,29 @@ public class TileEntityReactorPort extends TileEntityReactorBlock implements IFl return false; } + + @Override + public void handlePacketData(ByteBuf dataStream) + { + super.handlePacketData(dataStream); + + if(worldObj.isRemote) + { + fluidEject = dataStream.readBoolean(); + + MekanismUtils.updateBlock(worldObj, xCoord, yCoord, zCoord); + } + } + + @Override + public ArrayList getNetworkedData(ArrayList data) + { + super.getNetworkedData(data); + + data.add(fluidEject); + + return data; + } @Override public boolean onSneakRightClick(EntityPlayer player, int side) From 9005e589e0fcba7461f1283dea9b1bf1e8e40f15 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Thu, 7 Jul 2016 00:32:47 -0400 Subject: [PATCH 41/75] Fixed turbine crash --- .../common/tile/turbine/TileEntityTurbineValve.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/mekanism/generators/common/tile/turbine/TileEntityTurbineValve.java b/src/main/java/mekanism/generators/common/tile/turbine/TileEntityTurbineValve.java index a932f989c..c68f1dcf5 100644 --- a/src/main/java/mekanism/generators/common/tile/turbine/TileEntityTurbineValve.java +++ b/src/main/java/mekanism/generators/common/tile/turbine/TileEntityTurbineValve.java @@ -353,9 +353,14 @@ public class TileEntityTurbineValve extends TileEntityTurbineCasing implements I @Override public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { + if(structure == null) + { + return 0; + } + int filled = fluidTank.fill(resource, doFill); - if(structure != null && doFill) + if(doFill) { structure.newSteamInput += filled; } From ae77ce0e19dd74faa1044eb36ff4142e37a34169 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Sun, 10 Jul 2016 13:53:13 -0400 Subject: [PATCH 42/75] Better text field management --- .../mekanism/client/gui/GuiDigitalMinerConfig.java | 2 +- .../java/mekanism/client/gui/GuiLaserAmplifier.java | 2 +- .../java/mekanism/client/gui/GuiMModIDFilter.java | 2 +- .../java/mekanism/client/gui/GuiMOreDictFilter.java | 2 +- src/main/java/mekanism/client/gui/GuiMekanism.java | 13 +++++++++++++ .../client/gui/GuiOredictionificatorFilter.java | 2 +- .../client/gui/GuiQuantumEntangloporter.java | 7 +++---- .../mekanism/client/gui/GuiResistiveHeater.java | 2 +- .../java/mekanism/client/gui/GuiSecurityDesk.java | 2 +- .../mekanism/client/gui/GuiTItemStackFilter.java | 2 +- .../java/mekanism/client/gui/GuiTModIDFilter.java | 2 +- .../java/mekanism/client/gui/GuiTOreDictFilter.java | 2 +- .../java/mekanism/client/gui/GuiTeleporter.java | 9 ++++----- .../mekanism/common/frequency/FrequencyManager.java | 6 ++++++ .../generators/client/gui/GuiReactorFuel.java | 2 +- 15 files changed, 37 insertions(+), 20 deletions(-) diff --git a/src/main/java/mekanism/client/gui/GuiDigitalMinerConfig.java b/src/main/java/mekanism/client/gui/GuiDigitalMinerConfig.java index 258092596..1d35a4df8 100644 --- a/src/main/java/mekanism/client/gui/GuiDigitalMinerConfig.java +++ b/src/main/java/mekanism/client/gui/GuiDigitalMinerConfig.java @@ -671,7 +671,7 @@ public class GuiDigitalMinerConfig extends GuiMekanism } } - if(Character.isDigit(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isDigit(c) || isTextboxKey(c, i)) { radiusField.textboxKeyTyped(c, i); minField.textboxKeyTyped(c, i); diff --git a/src/main/java/mekanism/client/gui/GuiLaserAmplifier.java b/src/main/java/mekanism/client/gui/GuiLaserAmplifier.java index 67716429c..93c8b2130 100644 --- a/src/main/java/mekanism/client/gui/GuiLaserAmplifier.java +++ b/src/main/java/mekanism/client/gui/GuiLaserAmplifier.java @@ -148,7 +148,7 @@ public class GuiLaserAmplifier extends GuiMekanism } } - if(Character.isDigit(c) || c == '.' || c == 'E' || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isDigit(c) || c == '.' || c == 'E' || isTextboxKey(c, i)) { minField.textboxKeyTyped(c, i); maxField.textboxKeyTyped(c, i); diff --git a/src/main/java/mekanism/client/gui/GuiMModIDFilter.java b/src/main/java/mekanism/client/gui/GuiMModIDFilter.java index 25eadd27b..ee49b66e4 100644 --- a/src/main/java/mekanism/client/gui/GuiMModIDFilter.java +++ b/src/main/java/mekanism/client/gui/GuiMModIDFilter.java @@ -112,7 +112,7 @@ public class GuiMModIDFilter extends GuiMekanism return; } - if(Character.isLetter(c) || Character.isDigit(c) || TransporterFilter.SPECIAL_CHARS.contains(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isLetter(c) || Character.isDigit(c) || TransporterFilter.SPECIAL_CHARS.contains(c) || isTextboxKey(c, i)) { modIDText.textboxKeyTyped(c, i); } diff --git a/src/main/java/mekanism/client/gui/GuiMOreDictFilter.java b/src/main/java/mekanism/client/gui/GuiMOreDictFilter.java index fa4037469..f4c55c396 100644 --- a/src/main/java/mekanism/client/gui/GuiMOreDictFilter.java +++ b/src/main/java/mekanism/client/gui/GuiMOreDictFilter.java @@ -112,7 +112,7 @@ public class GuiMOreDictFilter extends GuiMekanism return; } - if(Character.isLetter(c) || Character.isDigit(c) || TransporterFilter.SPECIAL_CHARS.contains(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isLetter(c) || Character.isDigit(c) || TransporterFilter.SPECIAL_CHARS.contains(c) || isTextboxKey(c, i)) { oreDictText.textboxKeyTyped(c, i); } diff --git a/src/main/java/mekanism/client/gui/GuiMekanism.java b/src/main/java/mekanism/client/gui/GuiMekanism.java index 70768b9f7..7faec85d0 100644 --- a/src/main/java/mekanism/client/gui/GuiMekanism.java +++ b/src/main/java/mekanism/client/gui/GuiMekanism.java @@ -18,6 +18,7 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; +import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; public abstract class GuiMekanism extends GuiContainer implements IGuiWrapper @@ -73,6 +74,18 @@ public abstract class GuiMekanism extends GuiContainer implements IGuiWrapper GL11.glPopMatrix(); } } + + public static boolean isTextboxKey(char c, int i) + { + if(i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT || + i == Keyboard.KEY_END || i == Keyboard.KEY_HOME || i == Keyboard.KEY_BACK || c == 1 || c == 3 || c == 22 + || c == 24) + { + return true; + } + + return false; + } @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) diff --git a/src/main/java/mekanism/client/gui/GuiOredictionificatorFilter.java b/src/main/java/mekanism/client/gui/GuiOredictionificatorFilter.java index a9b8c0a34..5535de6b6 100644 --- a/src/main/java/mekanism/client/gui/GuiOredictionificatorFilter.java +++ b/src/main/java/mekanism/client/gui/GuiOredictionificatorFilter.java @@ -248,7 +248,7 @@ public class GuiOredictionificatorFilter extends GuiMekanism return; } - if(Character.isLetter(c) || Character.isDigit(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isLetter(c) || Character.isDigit(c) || isTextboxKey(c, i)) { filterText.textboxKeyTyped(c, i); } diff --git a/src/main/java/mekanism/client/gui/GuiQuantumEntangloporter.java b/src/main/java/mekanism/client/gui/GuiQuantumEntangloporter.java index 275de0d4d..59450192c 100644 --- a/src/main/java/mekanism/client/gui/GuiQuantumEntangloporter.java +++ b/src/main/java/mekanism/client/gui/GuiQuantumEntangloporter.java @@ -11,6 +11,7 @@ import mekanism.client.gui.element.GuiTransporterConfigTab; import mekanism.client.sound.SoundHandler; import mekanism.common.Mekanism; import mekanism.common.frequency.Frequency; +import mekanism.common.frequency.FrequencyManager; import mekanism.common.inventory.container.ContainerQuantumEntangloporter; import mekanism.common.network.PacketPortableTeleporter.PortableTeleporterMessage; import mekanism.common.network.PacketPortableTeleporter.PortableTeleporterPacketType; @@ -34,8 +35,6 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class GuiQuantumEntangloporter extends GuiMekanism { - public static int MAX_LENGTH = 16; - public ResourceLocation resource; public TileEntityQuantumEntangloporter tileEntity; @@ -89,7 +88,7 @@ public class GuiQuantumEntangloporter extends GuiMekanism deleteButton = new GuiButton(3, guiWidth + 89, guiHeight + 116, 60, 20, LangUtils.localize("gui.delete")); frequencyField = new GuiTextField(fontRendererObj, guiWidth + 50, guiHeight + 104, 86, 11); - frequencyField.setMaxStringLength(MAX_LENGTH); + frequencyField.setMaxStringLength(FrequencyManager.MAX_FREQ_LENGTH); frequencyField.setEnableBackgroundDrawing(false); updateButtons(); @@ -231,7 +230,7 @@ public class GuiQuantumEntangloporter extends GuiMekanism } } - if(Character.isDigit(c) || Character.isLetter(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isDigit(c) || Character.isLetter(c) || isTextboxKey(c, i) || FrequencyManager.SPECIAL_CHARS.contains(c)) { frequencyField.textboxKeyTyped(c, i); } diff --git a/src/main/java/mekanism/client/gui/GuiResistiveHeater.java b/src/main/java/mekanism/client/gui/GuiResistiveHeater.java index 857058ffe..0fbf6800c 100644 --- a/src/main/java/mekanism/client/gui/GuiResistiveHeater.java +++ b/src/main/java/mekanism/client/gui/GuiResistiveHeater.java @@ -179,7 +179,7 @@ public class GuiResistiveHeater extends GuiMekanism return; } - if(Character.isDigit(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isDigit(c) || isTextboxKey(c, i)) { energyUsageField.textboxKeyTyped(c, i); } diff --git a/src/main/java/mekanism/client/gui/GuiSecurityDesk.java b/src/main/java/mekanism/client/gui/GuiSecurityDesk.java index 0a26ada75..fa9fa0a9d 100644 --- a/src/main/java/mekanism/client/gui/GuiSecurityDesk.java +++ b/src/main/java/mekanism/client/gui/GuiSecurityDesk.java @@ -213,7 +213,7 @@ public class GuiSecurityDesk extends GuiMekanism } } - if(SPECIAL_CHARS.contains(c) || Character.isDigit(c) || Character.isLetter(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(SPECIAL_CHARS.contains(c) || Character.isDigit(c) || Character.isLetter(c) || isTextboxKey(c, i)) { trustedField.textboxKeyTyped(c, i); } diff --git a/src/main/java/mekanism/client/gui/GuiTItemStackFilter.java b/src/main/java/mekanism/client/gui/GuiTItemStackFilter.java index 62938c7c6..e56c4f9bd 100644 --- a/src/main/java/mekanism/client/gui/GuiTItemStackFilter.java +++ b/src/main/java/mekanism/client/gui/GuiTItemStackFilter.java @@ -153,7 +153,7 @@ public class GuiTItemStackFilter extends GuiMekanism super.keyTyped(c, i); } - if(Character.isDigit(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isDigit(c) || isTextboxKey(c, i)) { minField.textboxKeyTyped(c, i); maxField.textboxKeyTyped(c, i); diff --git a/src/main/java/mekanism/client/gui/GuiTModIDFilter.java b/src/main/java/mekanism/client/gui/GuiTModIDFilter.java index 112ffe817..de19a598f 100644 --- a/src/main/java/mekanism/client/gui/GuiTModIDFilter.java +++ b/src/main/java/mekanism/client/gui/GuiTModIDFilter.java @@ -112,7 +112,7 @@ public class GuiTModIDFilter extends GuiMekanism return; } - if(Character.isLetter(c) || Character.isDigit(c) || TransporterFilter.SPECIAL_CHARS.contains(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isLetter(c) || Character.isDigit(c) || TransporterFilter.SPECIAL_CHARS.contains(c) || isTextboxKey(c, i)) { modIDText.textboxKeyTyped(c, i); } diff --git a/src/main/java/mekanism/client/gui/GuiTOreDictFilter.java b/src/main/java/mekanism/client/gui/GuiTOreDictFilter.java index 9594490c7..b0b22e6c3 100644 --- a/src/main/java/mekanism/client/gui/GuiTOreDictFilter.java +++ b/src/main/java/mekanism/client/gui/GuiTOreDictFilter.java @@ -112,7 +112,7 @@ public class GuiTOreDictFilter extends GuiMekanism return; } - if(Character.isLetter(c) || Character.isDigit(c) || TransporterFilter.SPECIAL_CHARS.contains(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isLetter(c) || Character.isDigit(c) || isTextboxKey(c, i)) { oreDictText.textboxKeyTyped(c, i); } diff --git a/src/main/java/mekanism/client/gui/GuiTeleporter.java b/src/main/java/mekanism/client/gui/GuiTeleporter.java index 3da5c177f..ac4884eaf 100644 --- a/src/main/java/mekanism/client/gui/GuiTeleporter.java +++ b/src/main/java/mekanism/client/gui/GuiTeleporter.java @@ -15,6 +15,7 @@ import mekanism.client.gui.element.GuiSlot.SlotType; import mekanism.client.sound.SoundHandler; import mekanism.common.Mekanism; import mekanism.common.frequency.Frequency; +import mekanism.common.frequency.FrequencyManager; import mekanism.common.inventory.container.ContainerNull; import mekanism.common.inventory.container.ContainerTeleporter; import mekanism.common.item.ItemPortableTeleporter; @@ -42,8 +43,6 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class GuiTeleporter extends GuiMekanism { - public static int MAX_LENGTH = 16; - public ResourceLocation resource; public TileEntityTeleporter tileEntity; @@ -162,7 +161,7 @@ public class GuiTeleporter extends GuiMekanism } frequencyField = new GuiTextField(fontRendererObj, guiWidth + 50, guiHeight + 104, 86, 11); - frequencyField.setMaxStringLength(MAX_LENGTH); + frequencyField.setMaxStringLength(FrequencyManager.MAX_FREQ_LENGTH); frequencyField.setEnableBackgroundDrawing(false); updateButtons(); @@ -326,7 +325,7 @@ public class GuiTeleporter extends GuiMekanism { super.keyTyped(c, i); } - + if(i == Keyboard.KEY_RETURN) { if(frequencyField.isFocused()) @@ -336,7 +335,7 @@ public class GuiTeleporter extends GuiMekanism } } - if(Character.isDigit(c) || Character.isLetter(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isDigit(c) || Character.isLetter(c) || isTextboxKey(c, i) || FrequencyManager.SPECIAL_CHARS.contains(c)) { frequencyField.textboxKeyTyped(c, i); } diff --git a/src/main/java/mekanism/common/frequency/FrequencyManager.java b/src/main/java/mekanism/common/frequency/FrequencyManager.java index 110a99245..a8d46c96c 100644 --- a/src/main/java/mekanism/common/frequency/FrequencyManager.java +++ b/src/main/java/mekanism/common/frequency/FrequencyManager.java @@ -4,8 +4,10 @@ import io.netty.buffer.ByteBuf; import java.lang.reflect.Constructor; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; +import java.util.List; import java.util.Set; import mekanism.api.Coord4D; @@ -18,6 +20,10 @@ import net.minecraftforge.common.util.Constants.NBT; public class FrequencyManager { + public static final int MAX_FREQ_LENGTH = 16; + public static final List SPECIAL_CHARS = Arrays.asList('-', ' ', '|', '\'', '\"', '_', '+', ':', '(', ')', + '?', '!', '/', '@', '$', '`', '~', ',', '.', '#'); + public static boolean loaded; private static Set managers = new HashSet(); diff --git a/src/main/java/mekanism/generators/client/gui/GuiReactorFuel.java b/src/main/java/mekanism/generators/client/gui/GuiReactorFuel.java index 737348932..a7d41e704 100644 --- a/src/main/java/mekanism/generators/client/gui/GuiReactorFuel.java +++ b/src/main/java/mekanism/generators/client/gui/GuiReactorFuel.java @@ -180,7 +180,7 @@ public class GuiReactorFuel extends GuiMekanism } } - if(Character.isDigit(c) || i == Keyboard.KEY_BACK || i == Keyboard.KEY_DELETE || i == Keyboard.KEY_LEFT || i == Keyboard.KEY_RIGHT) + if(Character.isDigit(c) || isTextboxKey(c, i)) { injectionRateField.textboxKeyTyped(c, i); } From 6897b9a3ba49d477dfa15bdecd68bd1ba6b2d9b7 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 12 Jul 2016 23:05:36 -0400 Subject: [PATCH 43/75] Allow wildcards in transporter oredict filters again --- src/main/java/mekanism/client/gui/GuiTOreDictFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mekanism/client/gui/GuiTOreDictFilter.java b/src/main/java/mekanism/client/gui/GuiTOreDictFilter.java index b0b22e6c3..0d66c1d4f 100644 --- a/src/main/java/mekanism/client/gui/GuiTOreDictFilter.java +++ b/src/main/java/mekanism/client/gui/GuiTOreDictFilter.java @@ -112,7 +112,7 @@ public class GuiTOreDictFilter extends GuiMekanism return; } - if(Character.isLetter(c) || Character.isDigit(c) || isTextboxKey(c, i)) + if(Character.isLetter(c) || Character.isDigit(c) || TransporterFilter.SPECIAL_CHARS.contains(c) || isTextboxKey(c, i)) { oreDictText.textboxKeyTyped(c, i); } From 61906fc309f1b93b9d1df3e9f90dd901f05989e4 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Wed, 13 Jul 2016 00:24:45 -0400 Subject: [PATCH 44/75] Fixed Digital Miner and Logistical Sorter interfaces --- .../common/multipart/PartSidedPipe.java | 1 + .../mekanism/gui/GuiDigitalMinerConfig.png | Bin 25748 -> 18111 bytes .../mekanism/gui/GuiLogisticalSorter.png | Bin 25973 -> 18218 bytes 3 files changed, 1 insertion(+) diff --git a/src/main/java/mekanism/common/multipart/PartSidedPipe.java b/src/main/java/mekanism/common/multipart/PartSidedPipe.java index e6ef8bb6a..70a98ee78 100644 --- a/src/main/java/mekanism/common/multipart/PartSidedPipe.java +++ b/src/main/java/mekanism/common/multipart/PartSidedPipe.java @@ -291,6 +291,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart, return true; } } + if(cachedAcceptors[side.ordinal()] != null) { cachedAcceptors[side.ordinal()] = null; diff --git a/src/main/resources/assets/mekanism/gui/GuiDigitalMinerConfig.png b/src/main/resources/assets/mekanism/gui/GuiDigitalMinerConfig.png index 0051bf133fdc88483dc8f19e71c66eb00bbfae1b..d1e2b14ff92e3800e1111b89726fb7d6708f1afb 100644 GIT binary patch delta 14341 zcmcI~S6I`_*KPoTE!8bb5eT{!kRsjC1IkuJL=dDYO+pdrh89YGAX^ZnM+FQJ*iuB0 zP^Eboc+dx;yBBJn*2i+1)S4CnVwTcHJ_73 z<^3Ut^5h&t74SSk&2rsI=HWvnaXmumbKOA6^75mm8Bg4O z4Hszme;s=WM6tU5XePwvgRJ=~3l{ zbq%TytiMC9hfHaje_01k5Bb*K*&odoY}x>ziKBdJ%g7Mjo^RKE~2#Nuh7KDcKJ^VK|j!8Ul`xbj19eTJ@j+V>}a@^kPk~fa8TF1-|1AsT2 z+83=lMaN(!LRajMMk(INJvwl0sxC0Wg!E-ZAADuKhthhwi&YgnaK-$(#?MYcl4+`{ zz(MnT;2^MXeCoG-I5jna>>oi6R5v~nKFTTZ*g*M|b56Gk*oT_<@czj<{jB=g#?st` znxfagNvZdT=O=j^u z?bQi#VL8#C3JLgu2TsL~(cEy{?wByT&RZmNu_K5{K4t4{W1Q{3OIA;}YAklf#!I9l z+Xx$%!*4~e=;n)NL|^CirK|B;1%ca&trk%ub8sFSCHaDIS?wiZ?b3=!qDYd^i0I9` zvoi$=MlhRW+F;w0`^zHq>}W~3%Hm*hcFM3M%n>ekP$XUp#D0@y8?7H=6L%5)QZjlp za&Vz>|EJDL;IF`iDPt}9nB#pE@EtL85J`zXUG+Y3iK+)4NKUnZ>y&REMe05!aL$PW zL9Xz_B>n!1z!Os_Q^}PJ)yQ;TGb?kiSHh8#JrYs80e8JrUV1qa8Yy4!vmSr>^cEO{ zpKOkqLcT+QFY2`xiZ_RMI#Tz^%L=MH)3GT5!;T_~v$WT8^VwpGw3`wd+f7qf9;$mT zR16)yX1JBpmlj=Gk(g zn~qt8aLNWK$FAYi=Th~*9hE-fAk;g&#+hRS29;@&bdiyIg&83sPPF?KomFf34SMyY zhW&?p-CrpKU3zie4~JqAC1~~l&xL*$5q}ivSm3DJ8t@?uw+Z6WGJ358B5$(gs7&kW zX#l5|7;P$adot1xw34A&?p@7m(->^M(QC{i|4gg~KK+CD7+h0+sCiPH4t`M0PGMNs zDbp+djw`A@x9>{bD8Fu++J?i@PgUN31U*f_yb+rW=MQv9-psT@|2#Us%w#C4#e#$O z2am*kOMt&hiPlJ{js1p&ItVUQUO}?}8VKJ-_xOc?#kjaIsj6H=+PjDzbsiOX2EMnx z!du;&;)u&F*ZWrgcdG${J#e3;v1+omt_N<%qTpC_X5~FKnN9xc&w@Exb{-h|ixBpTK1G-+^O60zipDu_98y9g3 z`@)0=|25|!?Zg&z6c>{~j~T_M>SY+$tF4;y#+SjvRjK#m#6POzWJ~@u#B^SbB>GEu z;}-;bll+v%tC}>U1)ZX`9z(;Hw8qXG+JH+IW<|eP%$*dojne!XqGBDV6 zzGmM&IWZ%#PXKtuu|yL)@~Pa)XC&*UBw0|;8W#*tJ};cvhUnL?8$f)Bk@0>2%Vx(; z27h{2`aaH_oO`SkgqPdcXhY(b8R%^Shh987sjMSSG3le(@I3BGx**Gao~2DJd>%K_a_MP?`=f?;=M!eM3}%FS)z5Aw2OKLjZzl??z;Cso z-&W_0w0s&q6PqFr9CTgjv8K>>s~YML=)(--LIE$jr8|o>bQou|-BE zrAh;@1DXd6`joT0T)en~k7*Hkbha}2#}5*+zRkip`VY=Nx=k5jEl+MC09c|c0DkK{(L&0%Z6pe46|!lv8gLo2*FIf>`eo1jCB7Q z;`oNFyKaKne#R2nOUqUk2y3||I<5Tiz(J?i7#N-%r!0-nW)&wG-{$d2V}YRifYda7 zy1IY{RauPs<9o}~{7YA9LhsbLD5D>E171oJc!B-q9(JAmrd6@^di-&hMpgbhCQUt{ zbRl*5_s=b7p*_#W~B&d%VMEiZX5*7JFk*zfMWfR;LDW z%Pr-6n>upmvzXC~qvyy>&A_$Oh?AjYD|p_4(8ZAP;ny8AC!D@p?!eu#-Y$Sn!aze+ zHSUynhmwW!bwzKx2!u0Eki_Adt+mk9sVB6MTcEt=6q^z&&-;OQA+qMpJczoHwSb;F zXw~iM8t)U*xA$yMs|%go2pmwG-RL@M`P}UCu${{Ze$TEBaa}XPH`}nb!u4UV_X**q z>W)^g3=}?)qP~Fz1gXmL3;==R^fY~g5;N={m@445HRr^Dqs>KBc<>ji$<5ZL)3v|` z%~$iwuOgLOEn`(DgUC&me4aG-D0(Gnlr>TKR#IZNvCi?%*s$-lhWyOn7u(}-qG(^$ z>`R%AIh3(iCVzQ(AU~;c4iqdUCa|X@I*TJ|uM>H&;-NBA-wD;CNx(-!;FF?); zVBvJi|FUjIpDu2#aHo*PJm1Gni)EEEN>k2IK0ou9pl>&nDZK(D z%x!}&x70>|TwiN3ymC&rLNTHp$A5XNT6`H{@5uv0uD=QjXn9sZ7?Q9>~d` z#s}hH_j6Aco1EtZClM|Jy8M=Qoqvyp)(9_GNsffmmkG6Ia9x5 z4_pL5tan*Vk3|KikQKw#r=!z^#K5aTwUZlq@!3} zgxggot}rVowC-xw*XDS!X$aSC%~lTgJgB!SfD~+-bJ*F^%)K?w7pse>9J zLyQ@O(vHNz!JiIg2j^3QkNY!myE*C&rTzMLXncFvy&}T?`>gb&= ze_fs%Y%C~-6vaz_Kl1^_UI>Qj6Yk2((K;dvlxo3bi$+XwIaVt(!q>6_-<@Csf+Vrp zOV_5_JRAgaxrlm2bDPHLn*%XZulej3O?xkrw&*gAbq%gp%pDsW+`J-bvKY?5tXnWjGx%e=SkV-lt_aU0?+`pR z>{v%&V4~&3_NGNeajdHVD9(HPFg}yD>WX_gSkhfN-cJhokxi%cXDrM5XJf~f7w#GX ztRu$6+v}^yy_W$@PG;86z3rUyiBV=%@80_JHT`L9{k0(_5`Le=3t&Re!_paf(s=BA zF*7FEf?zi@=&Ez*ob`ZOeH&IDF)D~o==u?7nxZ%}XjmvZYS@PODW2fnIU;0O%VO9N zZ^g7b3NLdf>e~!|dI{a+)0IG@v!VWWY)j|ipD1UV!`~7)@7VpaCcpF6xXY@=Zdw+# zUfRIXEeGP{&W$Mtk}4G|(Ix*V-&Ab3<09Nc@2ATkpxkfvP!UiAk|eFi9?P)CI=9s_In-O z8!A0Ha``i4BC3`mUD*R z{oDvi^pm<%GMZ{WIgbiH&UK3a3TNChjS;JLbmp?2lz{jnN`pGTppSf*&^?+iS24!(Llfy&YxMjX0?O zVC1o#?6_oBOs`F^XqGWl{)lfIm6qVWyEXeM-a6u_bD?JOcw*hIR}S z$!+OsYl@_^58)qI5lLY(2(jZYmGJq?P^<|PFc~^xj0u*zYt=jkXB7Es?vbPSPC$g& z&w*bI#XJpKvkfP$OjkP{lTgEJB9a}9Rm>yChjCnlC#|*R+Ao=`{4Vi8g^lf``K22w zY{(+fg^Dp(p`II1LwJmBS*2GuM-Wdt7~ggx?K8)m6>+p?o?p7(|3d#elT2RcYz{zp zlDs+JB!Nwb|2T|k4KixOhU-K-p3b+~4{BKW%%wzl6qQ5H3rF&v#E!K~-mq+Fapv0o zA@|+XV=;0ZHqKF!g5a460ru)J<;EbD3%orZ*~dh|q(O0WjPRYehN%xS5RLapA5SR% z$Q{`3fAvO;bBt_cDq8#yTKFA?fE?(DsRxHQY-|LAiQ^vXN&FY~CSpl4Z>&Wm2u%2! zAi3G`&eAoM#@HArWZ8O0X#op5oEW|;5I*B6>s-M7tsWw!rbxd>`xEsTJrMQq6HakZ zY8gB3x5814G1;v>^$tH?qcR|2q|N9GfdGf)(BBr8A(wKOau?#5z5$_~ghUrE|KB)e zeSw?lfre3M*eB*wfM;2Trz}+jG_{K`>6*YwfHM^)~4UL3_`wl+>+%XD}}7{aQNua z>l~Xm%rIx=;c86{Sf-9{&VWo(2inrsQx1}|)M6n$WYm($of+)mr6fpIU<=qZ_2Y70 zjQDP^{|$85UhW6hwwCC_V_${}V4vu$ht zDS+Ncc*L};vZs8YXi>5z%ZT*WyqSYK(1o$6muK6}qi>YjUB<&D?Vc{h#@!%S_x+rs zz5Y6NQ7??di1(8+qE=?UqGj1+k*f|%)-;}sdg-Z<@@#vaEvA)n4#<~NRrDk%vYpT$ zPmUM{hbcXrMT-?O`-@FX{U@&&p=j7sUGYz?P^UksU*N$QElGm^q^N;YR|IpZaNbv@ zQJ5WbE|*;F6qd$tDyN6ueFHS1hhjVHz8!IkO39728{PMZA_W{eAW~KG^nA?sJhEl@ zcKfu9l-A({0Bg9IddwAmw^A`BuOKc@)^_VwNmijLek-nO02ax$6zO=nb)b?_5fLMck(wHYvrUO3e==hMSg6!EWBjbdDfO zw_uuK)^GI9`Gj0?+9?&sVTPoc+y3Lh{*n)j?svl+4 z9JDqmcYy~{K+l0Vv_7^@9}qND!fTDpeb_V<(E(0bc*TpwJgJTy8>MIf>q9Oe=y303jbNB zv`g=GPj7L0aEvP{z2}iG0X0)&6_ss6!_|r9o+Y;3lR#asv zLSMPl_OmUoMehILJMe!29;?qfZvQ+pdbzZ=(7u&{*o`JreG?$FRtX;4Eyvb{tAoY% zrkzraBGaRv@hG86ubk6u?xXni<2F!BCvft7FF(STu`7WjcLtMtDK_()$CXX~=5cOM{D8Ns`Qf&U)TkVc??=Byly9FqYROw`a{k#Zo zuxBE6^$Q6B{+4yG7+IDrYG~BURxLD}Ea#c1Sn8INhgI_%J9f@$0d8zgA0*ro5i+zT zZAwq8w|9qlmtUe%T^TtocW3WP=rJigm)oj;a3I!<*4bNAvFMl#R;9YZoN$z3%ZPE< z!Q`*wH4-CMs`-P5_W)I0k;TWhmCsb|#$HM-1dcZ5_83bp+A9tYZ3SK2ut`z}v?gGu z7gKFP|K$I?Fxde3&r94(aDS|5O6s9}gDC!d@oU~vp3j#qP7BXh#KGB31^!T|FGdFejQK z8+xN&UVX_oEjsq0GA8AP4(H8X1I3aMM20vLHvE)ncVI@{#4GrOL*(F$LlT4QUQ)fI z`B>B{$S+>HaOw`NC-q{T6AA116kNxQyeS%Tak(2Az?Aq`oHN|O%-&y42F(jj*Kng5 zr3;c50j%AqO>!PF*)D`(|HhLkeAry%QV^%L8$n;%-OQyqt*+-w`eWSVq6M-M~!_Z;O?RlswYj?B3y932jzEbaQet#?m^vlS>I?1R6 zyb;!tb<0)bKyPumva|4M&k7%i+nJP<+yhvU_}IVcs65bt#k5IazY*>Rkcjj;5W(*4 zXe|RiGq-#sf6ZNGfg+zJz)OImT~ef$tv~UUqF$ zMqwarHhuIm2JwNUzW>ohb*bj^Y>yc%o|It2Kw}~Uc@V3F-OJY=a$N}NH&{q{CX;yB zlL?P!bgIZIcmUJD&&s|;#8SzvzPej<38?2yw(qg19uKbPTaIsDgVkXJ>QBIh%qs;( zM0_yvf0Nf;=F2p|Ln$S>CrZvaC_2~~LXx=S>hYZZtWc>|<2)>Oz&x~zY~C0~Gs|&x zVf2s6tf+vnoI%$V{A}#vm4e-mZQsJZFBMH!P@jzt+94?n zMjG0(1>-kzh9wOpd(^sh8Qo4uS4@hNxrwA1h4h*uj(~p45E3H>Gq>Cq(^)X3j0Sy$ zfefrvg3%`N_gUpIsH8ir{7SGRfj4#&e8#Bi_6 zSK%wY&gP?51~F9?1?s%};_Ch#k;KyX`eSIZeCAB`>&8IquhU7<8jy#a&RMnGU{zM2 zUgNs)*p8vie5+xljIfxsXzJXDR%yMESX(CI`}c!$(1iM0elU`KFE@@?H(x{_~bM< zPJ3CNg$8iF9D9)vxh>)g#hsD6e(1Ts_+#e0+QHtS{PmbF9?d$?bx`ELq;7uu45b}p zsf3n1ja|i1kQ_M-#5huK&!j}eM#d+VX({d}+MYmb6jK@<@04%wi)7FTnm!Y6T~+e97dB`Rm*1ciAb-J=t}CS87D0IqUiuF%kHB@e z;r#FSs{i#IiKIwMq%^uhw}nOyvhTvV+Zc#=ZnA6xVqGj8HkK?PFL69wS!fwWpRRMy zF|w=e%BTIVRW!h+gd>PZ&9tb@m@PR_rWngIH?~!cB zUOclCtdzsc{u1%gs)`LH<3BYfo2#Ij?5A!#A9uAUsK-8mqofKN^5oCxjS6CBo{fEK z^V%fErP# z5GzHs|Jk3t>jxd^8X`nsp% zi%UznW6Bnl4EZLME{^40Kes>v^0284_2cp$O7+drd$rxpp(Fp~Vjbe33tvYNwb;AgfYx9Vf8v$;X zJCdvqU0!FNCXs{9vod3(?XiP)CodQdX`N>WRBjj_U%6Z>(n)_|2Jp5@3?fA?9u^pf zz1SjWfJKc@(i^Ln-dJy|d1Ze8#*m1;ktz|6RQwL@F;j01LbIQV2T zVB>RqRq-MA1Z?~A;0!4IHmUsxstZXK1`*gk{0qBWNE$Z0bpS$CXA_JL&l3rJ%Q;O) zF`7gsEw|$D7#k*N#3r$_K4WIIQB^*&iVs+R4~<^`E8kC06mlpO-s4_A&*lKjBKztM zz({~WzUb0r9=)%~n6ZHt2>t@@AYEd}^l0cCLmW@RCk62grL3k3^~ixZ9-0|=N`L%_ zj_AIdWroFAq0Kadqv-c}i`cPa=ds#k@hSFZ4qLHKb%%t}r$oohxaIQx!lxZ80P|&T z4zDB>R_fKC`SyetYSYHPijKDJo4_91jjGw1w7Z#QzCTv-VAV>%N7yXjz0jv|A*UgSzBCtGW`^)b z_}tE~aiDbva{V#5P7B%LuIK8pYD#vuELMS83M*~C=oYtG9HNsI^}($ zb5I48*0`lKGL8y-ff(o3ab$9H+B=iK=zp|-D~0Tcl3Q(S9i5+|`$|urNc0>}b>08> zAf`=xV^QbWSe1fmOyUf8r1mVwJuN^d3p20lDON^&&~H$Qm1He{H$0VUN;6_KGb5J0 z8PrBBbI4O$x0BcqGr5RSd6v<8kP!YBL#DT)MZzp{2v2~3T1p8xN;IS5=vO2Y9ux&% zR$^DsCKQ80GDC2~#}g18qm!!Bwfq47#fgN|;~wMFmxm2!8V&%S(=RV1gC8`nFgu(b z&G9$z2EvBM6^mL+_;84cKJV+~gO+16#VnE-z1b5>#>Gwez|ob< zTCIETx)AFLL9|tU&pocYA6oTj>bhV@QvO!^zPUY2rQYtML&L=Oa%EYeeNPf6(CAX= zS1|f>w0nzwrLfDHQrBQrpmrpG2OTT*&YI4x`xuo_qX2U*9sZCw{9vR($F3WS4ivj!DT4AG`jvg|@PThC^$=Z)aP z%y>=e#paU^8qOTB-w{G;=<)-fwaJ~-I33pO^1UfRSH==&_#(T_$RQmOG*rxHENn7H z(QYYrb)4|XTZ^{8CCI5=c0v0pS=`>2pcLhsM526B{invYSuIyZFT*OJS)*7WcMBTb75e?{YXDb9||y8UEsj9rWl8L zUBjUzZt@$g6YjU3!_r@EPP?UCG6Uu+nv}%`*tvqDd>K#J!W9E3&XX;Ejjp(scTMuX z8Ty>w|XmuoU9 z_~oD2V=X^=D+b2A0faCOAIo$8hR_FBo%+7<*5=NB-cAfR!h7YEw%qc(OxEqYwMpz^ z5voTbF1P6Qz56iBg7G{5U7l_s9CV8C;|-*@8#Ylx7kaA3662(9^1Q!U5WOQuWuq!;rI2W1g#@H zqf*L8WS(xH)*ibzp1OzVV%P0iTqdF|Pc77n+rfg@n~jX6v0=;v&P{EV4e0FhQ43k& zMfBTE2R%fiM$2Voj8X-3{~)~0OSW{Z(x6q+KWrhEh1e(`?VH{Eq1uCEXLg=e`fMrm zW-)RpNeHN0O4-~=n$4dGu7)bM7>!@^urGRK8Z->E*$`5u5i|rQAbb6qM@DYQ7ga$_ zb4^|U)(P=XaNi|JSkw!D6%9VzZHne88Obml6?D+PywUq@V#HK|2lgy-n7yv1LzDe+ z5z-;n+|x1E)8>nY0?%<0L*N(|vj)PlmvZP*lE8O@1sfV!Y%8ibtt^2n)2f(#as1}B z9Betir@BZRlRI*gUvXEd^FJhjzWKf8+g{VHu*KXIu!o?A4hJP_P9krz$Hy%0tTSBO zgOtO`{zn*rM63oYIA4bg4I>5>^EW?+(%7%^dL~y{=!&u>U z_%c=J6rp;2Q8d!h4&mHLg&hG$Cx|uKhJq!kqdWZMgByMMFMqV%IKY0!P(eS2unmyx4Um zjJ}vptPeQpJ=WKu_enhj2MOmryv(MJ>tUv4TOTdft2rUUVx8evgv%X2&=jNaW*e*T z1elc|8z!eOQ;{PxGB=HPfJIfNL+7uJE8figjZ~qdA3uljyOrDjR43sf%-o@ww~mj) zc!Z;ZHXwSCx7%Y@kn}k5Rvs)?{cRu*?PrCvhzFrVq}9PS6{V$Qj6DA+AG`Tprgg1x z2o?gV{ln5eA`E=jar5VOh<2Q*zNd+k@EI+|oo#Q}kYGWT5bY)}5SF;C(C}5C-&@On zF1046nP(`~#Oe6sf)j2=K8&eo8Wi+=FX=ucqUYJwYlAMN!<6*yru4=G2ScbL{nnsi zpSr3R%c#|cjTPh0$f41qPJ^s#&AVxp5U>><_;A+A%WPVh-Y?L|0hx@f#Xf$MqNu&U z=x)|%%bat#w(z4^B;oVH9Nf-lF|z1keGLO`u8^DF!J)z! zEx1C0y;-B0x1*Pa4tB%{OSt$=NB9{=YQ&?Z!dlu}Ssn0heOA>}7SY(}W5;7kHf(hc z^>ZUuQ@G~OpOYjUC5n#DEqDYREa??f9AeS;51Fl+de^rV&UZyA$f*dkS!V>J+0xi< zMbWeD-$wJu@@fUKYat1D6S`5MoxKsFfYZv)O8`e%nBs6O_Yk6|L(qh(LNLmWuJbpO zDS74p3n)3f_qw@9(-pks0irhcCU#yWsqxIUT;r)XlB`_J(pp59;zVLy^=`+xg9$%f zyiA7f%a$(KU=?X?c|3UiQ^n~@O%{j&c<1PP&#Uq)vf)9;gYPQSl2YVkk76URg8uuz zQd>6q;uGLa$|dGDjwO6%T+j{}c2ikm9}T4ge2q6XnN&bVGfhN^jSW3dkuN<)QX9ki z;7$|F`u7Dv2h)UJ^{--Oil`s%X2$6Z{4O~(U?08duHV+K){b=Ccy&7vrEd=!_SsY4 zf!tI<|Amgph2;x*WaYkefQ>w8QHbAv-;~A@;Gw>B=UM!;$Il&-4)t>Wr}Be&o5eza zS54=l_^!kjBi0;--St+kilc|vO4L0r?LfefHQ~!FMmA$}aoI%)ia+_#lKyiu={CCb z0{tOWo?=R_7D(0To6zhqYAi%u*)AT)k zJS+RYLRY(IY^J9RGZ5*V!nmvO7DoU3SOi+ooRIxc8t-NgDpX?u4}@LQljW@)VC$5) zAj$T2LPAN>k0&g#X*;VciXS%qo@O9i>Jd8iA)|b@Q7IO2S+sNi8Q)cJEva3cgG972 zUFp!XQTR!ujQuX2_bU5Do}(}1Jgx@@e{Pl_uR$~M&}td*lKo1TUrZ@`!#B^BPl*!Ulhmfz5Od^ zLCAro3@8vHGzRi}f*e{tB|HY)W@B?3poEL>M1>P-gx4iV>=@8~73l5}uP(Nk;(Pg^ z3bgwO;K3QW!|%Cqpc?_gJzQMGL$RfI2^tEJvdTcbxRCu_g66}3%#MQnGUykFi>otiFjZliXwKXXIUVbe;JS9sz zsE1L)C;b?Zg%3zA5$q@&QSozI;itPE6+raPhx{Fvq(=SQHT`}Z%;wAfz)U_E z>N_^Dn4;#dBFBObaH4IbnGx=;Tg~#xtmToK-%bEK_ibkA+Nmn%5?Hj^tu=!c7ZA_6 zz(Jm~O7R+w>KlxAJm_Gl;O!&<&eo|BN^Fsw)NXE*%}51xe1mItz$PvZ=_aV3?sqnX zslD>~iDBNcEp? z!vICAHzFgu$Ts7q0`+XD81K+N#Rb>WG37U=!(!EOcDm$cmUc?;3^5gADVPUt@}lXk}*j0~hzolpYK%}<+iC2x0G;(TqO^?KWqsqSQ_T6z#OiTblZwn$Z~M+= zwz)ep>-UP6cRO58T?0EE+aSOdld#2L6`7B{Tq~Xhm8$D2ocO?MZyUE3^u+mD zfqwP1=E~TD0I6|L#C)fie9P6Ou>|##=EF_)?);62)L}Fp` zONmK7nTEPn^4)NsX1I%-Y+p@uov?EWt6=TP_ zs^usUDVCm_(etJ|Y@mnkd< zNrjsA`i5(|{xX3wuQyTbJi6mE?c5EPWH-8ynU-sd) zLcXOUMS&WhlIf}AS~8F89uGcV?IE9g`nc>??51ql&AQ8KmX6jjoid2?F`4a=cvY;cf!CZN!NJS4aX}{As&4$9pe%Kkoq> z#@XE22iGI}pTp+$@AiHZ^?#CUQn=FKZz!TIrR!C!DLWo zFOLvQt}qT8N^thO5sYG})3(agK8AXJDMNjiGG0l}aV&}GPMnm8__T)si9lk0+EYOaF;QNv}s~Nfi00rIt4+uzlz=UrkaZ}e;AsHb!Nkl7l zK2J#%-^AsnV&HZjUq~PqkPaw7)g7&jwn4ig?X}U4C>JFsM{Bf=fU~0w3gsRL0Mh>G zO9pNR+FEc+CkFwfm6HWZ0PEn4_X7Yja#&}iB?jdNu|V0N9c4M^tLr!+Xe(LHt76)M z+RjQSTeOmk1YyEbP$40> zs03U{9P;~%6G4uDC*xve4cAjX|NC%wNtV;r&CMAOgL!&-3V4bLIJwxsgruaTV1mLh zVPPn~2h`Qe(G7`(I=XWGbn=HEWt6L>3)371 zK#s1zv%^z_VUf--Apt?yzZqFs{%Pav?qdJj)T}IFD0`Fx%F)dgZzuGxcFuon6@Qxl zZOA{>|8Zb^OtiKC-T06BIyn66(5`MO9(V-5BmLX3e^|O+@^VJO^iZx&?k<)n6%YKS zaQ)lWyP>WB3eMj=?Q8zy+)-Hce=ytE{51P56@ErY27j$^B^MOZ&B^7GlaoE-XO{i7 z+u}FdGgr}$R!*L-XJudqd;b;czZ{{Ik!~miJ{85Ff+A2MsY^omJd}cqNRqp%5Z6uzzd*S1bI1=J)dqLKTItJ7`OY zo~q&>XPjRh{nGPaJt;d`y6>+I1xHJiD?XyGzeE}z@84FxBGTsXt$!%&(FlBa1+36k za0x3hAwiUg1r#Y_VGWhE#>Y-lTv!MyDrF^t6p|7alSGNh!1mWX-srEH{GL+3xBuY` zB_<>+A!Q{76_G@WL&dE`@g5~n)=&!zO9>GvE0m>}g~b1YGbsy{sDva`Tv$qKe`Xd? z3u`MYsHCu<2ueycQZe|Pq?_3u~zE8D}^?I*XkHeB7&)eVV9tFHVTDKwsx2ns1I zVId*}MOs=Rp(vE7FjP`VLI{fIgm0BX35$y1Q{f-xe=+;r^&g}E?s`86;t~=fB1kc7 zsIZ{0B-BDwR0?V#DI^R<35i%)ND2xfMMQ-EaQ%z+dP?Th{5LuK&IDudMrR?{G%CxT5weqb%nirSZ?r=4V>{o?O3GSUA#h zf7d}+?iVhUl??1}t$$7HPfMAf9nk*_;C~IlKg|F07@oE$$HS`MPglS7`p-^WovhtF zkuE3&8~keipVZ`^4*za((DT19iT{=uxFS9N&m!<&TSEW45%`zA zKT%pCV1K0T9}WMtp#2Qx-`CS0W#FIdPiFtH0LQOgd>$cxTQfp3uz$4uHS*8?2K#H! z-u<`!62gM`7yeXj7U!gB$>IxOjx?a6SjLN4O3EIb1x# zbvT~`+9O;CfE+F!;X0hp0qqg413(TJk8mB%=YaMI*8w1hi$}N)=W{@NgzEs1!^I<9 zhx0k0J;HSW$l>ArDB0OWA-2-o3!4rq^X9RPB;c!cY4J_oc%xDEh0Ts*>c zIG+RBBU}f794;Q=I-Jh|?Gdg6Kn@p=a2?L)fc6O20U(EqN4O5>b3l89>j03$#UosY z^EseB!gT=1;o=dl!}%Q09^pCwK2 zp99(>TnB(0E*{}JoX-L65v~J34i^u_MgG@AwJ1mYleC`rM`p*`j)&qOw`JOYa998L zhh%^Q&n$|*iL$}>q2BLv)dlT_asl++ol!3MuO4{yvS0}RC^4X}tZ)fCFndiq+@#+N zak*l%X>3D+sfJ0!5*(j!Oo*3b3DO|n^@AdQo4~re{CaU4CxlyvLC9(>#7A)0i*A5h zyz5NxU@L)j%oVb70uggTtfi=V^F_~IRfc?h|E21bFvzdNTu`l>Q8Xz!@j}jW zM_WPv`dG)B$kND?T#fkFwWYmbo3EBRH@`2tf9q(UFPSeJUz)qRo4oU4V`njGX6L2r z=aJd*Z?0bJ!^3o2GBxW$M1kwI=%gPVKelJsio~p<+eXObT3)OV*ZNFGN(`$-v&kl9 z-R+uqbq)c4koh*Bw|0HZDJwa^Q*LK5E~B*SLuQ+mZ~%<0x~Ma=pFb;9Zu9)}#qUG< zE#EP4L{j#ie`DE{+3s7p?53vcc1hX#V0jRXg91yILpu7oDKv+{h1whlUG9l?d91%G2L-Z&9O z#}W38M>)eSx4MnF)XFO_ENx|XPd-qd@oo*U{CZdDVafv=Ott#nYU+pvo-LbB*ILf` z$LO1A3?`gSn)xB=Y!ka57ybg9&%1u_!y_&)PhJ@hC`vw`!7J;xXNot%m~C1!N1vYj zu{p_eC2Qtnvgj_C#ZC%LqT0F_opQh5FCXQKYvr=peqCIAMnoDlptA7Nl@YTkl?#*4v&xX1s z3psbYeB=;6eyrAQ=D1<8YSFc2u5z+{a-PmxJkQ5r#D3&H#UW*X*je|PL%Iv z)iEq}3^!B=(oi^UJ`zTougV#V3GI!(!ttD)ry@L`)@OM8)6#l-!Jtn|9`kha2zGhS zWWlM%%X3%a>4)W_vsqOO_%=s4A|+F2um9s?%joE(GU|7vb+0-*CACk-!7TvWDZ{{) zSN4YeNkx^dvaWIHiybp73{|!9ZC1yVic>}f^KS(#GosPkq z=xRJBR@TVLqEpFI{n6ehJx@yU^~S;D*t=WOHOZ;&JPS9wxTJzB9t1Zg3Cwli>tdoi~e5`MjqvVtB8z0BJe(ydO*mNYyQdqki)T|E& zWJV*lSGT3vWcTVyt9H&ZCz^fj<6r5XoKZ2q?%f=@(QZ@zIJqdE0SJ#M0T{^1L|XDs zCW#@=yCML-QC@*00!+t<4gtg#$zVA`5$piQSKgYJr!el}Dn<|Gj$@q7m%LoDU;{ls|I z=oYjjOA3dmhqk@+2`G)zUW%cHX*6PZttze2#4__Csfb?e`m?vON`hBvMzSy(f)qh)d-rkV=l05U)>ZfiOT38zw3Wb}C$(MQ8O0ecbie$$J9law=LhPx zhURaAo~Q1ved2O)#iTS&SGPvQ>nRuzmZ(_>5b39-A_G_V@tb5R|y=1%&s8>z=HXf&cTCMrWPL((wH z#D^n;9E)E-Oqt40!)MQ66_7p!N!jY%lcKU-OWd_<1DMH)i8GPsGek!E*^=kSNZ5U2 zo|)Cn%?X>(5BqP;ri;sUEOO~+-VgGvR0*YS?HITsqWhEwUL2W%DZX4eaMjaDgtGH?)O~wxZWrJSoL@oEA6~b+M5`%+p;6u zCv{R056#AGMKv-y&p0?bc3Cdl_$@S$oNfeK&d(`+h36eN+uQ7ABp29T2$eIL*yhT< zn0~AD+DvR%#6S^uLVN1!7dkBwP9dzig6X5%HjU{x<-oHAqpf@ci%TprF3S2t;oaDR z&n3+Rg!Il^5w(}B8CsB;sC@d;_=JGy^>q3srenmDZE>fUN0vLxHX0ebIy-4)*EUzD zm&fo3QV>7B#)-7Bv9LTCpc?AyQ)_8yvAIP$6ye^`YN@y7JmNi_U$$jY;WTo=$Hzy# z(qLw0CUa+JCu`VqteKM8XOZ+R`3k0>R{S*W(+~Ms!7Yvs4iBZo$LqJhOVm9|-TKiH zfM8{3ukJ0oLWtXazWT<0Z)@a~xKo$CIMgxYo^M}krqOr5wT+>nq0)+q`;H?opl563 zXXfUz@q>hj#!NiXc_%%M2EXN zWRvkFYl>fsW$AT*;br#o&9zesIvXgd9)e@#-VF89^EKU@55ie6y)3S>_|)x4m7}(# z!!Q!GnkA{^_XjU}fH^5RZ&PC3i5%GO@Z+AxtWQzoe|-09Bd}4jB*y;L$mh?KL&cBqj~A zvh)U4uqsQ10Sy=sw68?JHZd%yEEiDdS;+`dKb_|#Gs+p0v6Z^@Y5YRl`C(Z}INZp1 zFVzT$UGVX*yUI8B;hWEQlgD)0r8HmndigdC{D&DC`h{|X0FA)X+*Ma~nvCODbX+UK zPGIw!Lf|*pQ=L);hSQ~qFINE++K$v5gqz~*I(4y5Us zi?yR>$@z6EA;uJ0RDI{9VRX6%LLh9CZ>-7IWis=XLd{5t5IBy&%fdxGB&$@5iErWfXnr zWRW^gs3^;T;{jfQydePnhOKSJ{pRU!#Qf8HV>YU?>wLIaHXlkahr43<5Fvr8sJIW z*Y2~O6LPU&%_&3h#y7#+j{c_tn~}*`ci)N|F-wyRQL^7-qgb`w?Gj;xmjfD&;eqlU zDz?iDeV+hvt++_y-Y>bm;Dwv-$oY5y(Z?CJ*p(J8ibkpp+c@;Ta?rT_?F-dzaGS+*YJ8VHOYfOrsPT;Pm{V*A=_ZD6(KmhOjRL9`s_a zBsG%2oluiNa>lbOMEfp2;sSX#3P1Vq`ku*@j7Dfc9rdM{R(a{C0$JN1+1FE%L6UbJ zw9p^3pT2yT5>xS*&vr0H%P9TATNp*!X>eiC{0RaMDJ&73sm*4YFr7*9693n0IlAoW zqeX>^;8u|I_X=1>gRJWdZJ&7+6F@8?w|7N#`a(yAB}H0KX7?$|xmBwAb%8tGX2s$) z(>=U;*n-Dq}9Nxo8I!#fk{B3Gg9s<=eyyJ6VQ|!qPW$kU=wsCk>Yo1OV+%rl3bv)0Z z{)5F=^t1}m{_%wzBJdW?_$)nt{_O{E}v26#lGk=pZ1^);z(pVBSOwL)3$B zICOb4wh_@x1q~7D%HdM30i}cn+#g-Z42o#Nw@c0;U~%uCl6E)dj(`h;6~2PqX25qv zpD;eM34GC7XJdThO$6ap9o(jRJ>qJqC_BP8H@Wm2g?Vg|S<0yQ_&M}cYpRW5;Kk>~ zq-l3v{b)RKnWj*c(VSMnf_X@j>wH|w!#9K0R&qX>T%Qa0h+|G)KFeB30$zB&oR0HS zmr4QB>%EPnnaQ3lj$Z90D*RrTay?WC;Ik@!HbQQIKBxOtSlNp(Yc#z%*v#R0J#U#} zr~t5B!kJp_Fq5Y3waEGK=6&~TH&&1Pt`bbNfz2DoRJLUI*z<2(Cgbv8U0R~z-d+Vx zU+90H<1Pz>v{KG$BbWn5bnt zk8o1Hdbhn~#`(SP%tL9h9U0=<#%V~IwIj0Ef?bDM)T7fx(UQ#s1vCYsk}SwzVR1-u=RJD&jefVnUrPtd1x z=ggOR6*S{Xs@sD>mE#5SBOes}cgq>%Cpd`BL)zaE6oLnPopn7PP7%8iF+6Sq?h?Jf zehdf=9JmR&kCL=)TVbT_K@r)`DMd5XeY>bHTrggQU>`Zg=yvCYkESuErc;n zh4^2Su7UZq;~dkf+ASI3e8DkCNoXa~Duv zmpN**k({i)`=wT&D9fb@X05ZWL=y>s;NDkzy>D48+JJc?gPyus?H2CT%akOmNrB1&H}Y_BXrN4vo&oEp6r7f& zsw~Jb?wy`Xbgv%23mNAdCFXR2w5*&cc~)cKY?jxz6XG-PopnER>e?yu<@FKOo6gu{ zqKUpU8Dgp9VpZwQU%JNM3?_Fct0R4J8f?C`!qaVnpP|4tz?zbr^*L~*P?Oeu|Dwu) z8lbR{IpPdo!Y4mpi1__Fht&EzWuxd>6iF~CeyzIz_~QTZRZh?GJnom{C#jOc0|ydr z<4oY=ZN{GSxWCV<$q37T!|?Qz>reL^DV)r_%$*|Sr?IV0p z;({N!rAoC7^;W{2l#@xoQe?T|RZ|tSm3j?*{{cJ4c|SE?(^u)b)MU9s#?*u{1Oc)2 z0(23`&OLk{x$~Z*jc$Lrd4s(-{dJ&p6v%)w*^p5zz?e5Gs^!vX?q2fEVACNcT)9{E zt3(HRaTdZddwPc!p+K1U_U9O=fj=>jSo4=|>jCUX-#SECK6H7OKS z-t-nar907p|C3G>*s(L_eYptHKm>_R5h*6}jB1Vl^2jp^*=Z^$;Kb~lIor_*J%W(giQytUM^^W;I~KOxk3U>v`pnXFi4J=+Zm~H9oItY4HkVd+F*6+S+8|0H!3;qfY7 zHd?Z2%C4$kF^ zG_)8>jmM1+45W8rZqy<8(zL}M7qZyW6!v_IBeP{3YhawEOam_Z)dPj^9}&fzE;QPs z*b%ZmiTwdC4`JF|nqhGu_ANcBDbOUqUG|<=gibmCqwWnovfO|5M%D-q+^J?X9Q>v%(W4jOQif5 zlTw@~xcAPOTpGP`-qML&)3p={|E>Z}0oQNTEcE2UxQK3BjG6T1`?%}i2v*y`o|6O%K~4CL4#$%) zQ+9@}er;<%ZH;}0YrwE89C;EoaN0*1OaP{)VH+#XeM86-zdXi!%fdGAXH$@^-U)m! z1nMJ<(A$&MNgIqHSyxLd<)ZO>R;uhL0O+4nBoP3HC&VxN^-Vo}8+=YyxnR-OjnxQp z!Y&8mr8RMe*xb*zfK2V|)wH)*XO9aX=iWROUGXOC8}sn+=$e~*ma>!tKCRyNcDeyv zPcFZG((ojmSj}xkarM4w;!9KDX?MEj)b;iC?%mxNDN96O)@BFCi-DNYd!#+V6fx7F z^e56fA{l9e*r0K{yH9qOENtVFaf3nQhPcKbMb*{G_>K7;D}k=k`>0R+){TS2siqa| zPx}+mQ3XN{FVs%3Kc%ZL?_{RE!kFOx*baX<1j<}WM>@Kk`%@eqvu>mh;!?8GLN2lw za^$+~@87&Nod{pFqj?YC`#E9kSo5q`#+1^dB^7e$cnH-soXXpE6meMJ4KAl*=fMj~ zou!aRY!ZOYWpdUkz@UO1wX71DsF$7A%W^lCeDIEy6&GC*f>FMTRn{0tL_?Ro3%5$! zdFovYEj1?_CJ@TAt(uPEg((AOUx(>HeWrd=UyNQ8zVvsP;XqQ$uk3MQAi_Jfl7XV< z{e*C5L@pb!aWU8<`DcC%oxz#TBXkTjRb(&j0;gzsp%?Fu>hRL72G58P>n@cg^0xFE zF2p1*Xw?s{Z1a6MiNA9JVJ;4^oOr|qHV^7AcMhe!sY>X;cT6+jetE$uejDYl!$P1@ ztI_t#jk*f=@yIzlP3~|vf{!w|=dof4s)!SCH;{}7--s`)qOM1aJ1$g$HP=BKw@Q67 z>O88o;D&!`x5j z!Z2j!X8i6chXFSgM~^Dl;67&_71wzn>lOxmPVm(D%X3vSm^9JYN^NwpZmKjSeZGOn z9Q?Z7S3IW4N4I;j=iy?rsJ|%lv4W;%-cq$GUYtsvI+Bc{{%O1Acdr#s7;#L<2P!|S z*daann780UN;Q0^+aOy>TOGofkZy7@Vxs=w1|(}1TA(vZ@hq$4?Te(Vb^(T-vb4DS zq+cC&3_rI(Pi243UxT3t&exLlQH5L$hvc2^A^i#_t2Y8mOG{7A4OL^-zxABJ)}{vc zUe_>ql0d7PZJECz8+{>hQ@gu8x-GzFU`Y7IINg`Uc8Ql& zfghQR#w#vc=h2YQ2bY;Hl=(WEg(}Z&-wjN6jYT6c@e-o>}1U z1)s|4dzkduS#odOPr^rFi`Bq_=?+76>RMHwpKtUhXTF5kbn-y_YB70Pxna+xJKrEk zY?EnTMr6lvO0zX6tkGtqb^ z3f)JS!h|qC;x+iJr>T_(fxqWd8jbJOelR1C*Tnb(ga(;pXC|b)K2c|!>=~m~dpNCF z5cEQ$|8?6S)krl1GsWzozI9ZCUI%nB=wXUjNIWiQG5^~MZM#O-v{#+Htb@tNzQq!_ z`pw7|?{Se8VJ<=n@i%}Ju&M2Ee`Kcn(q2aAEjw8Gc(~6_<%G=JdcCB6G2=RRzpd6% z>+B~ynR+gC(^2;GhCSzorVHv*GE|G1l#tKvslxG}ZEc0d6P0++)GA33bwrLIheLo< z{FX|J*J(xc^Lt8Q$tz4}ED!}BASq<0uBlpil*pTz+DN#697jmTqC=Tz^TM_z+` z(tDdKfxqog7vKDJQoH*`$%&JleH{=P_8{^cxe>BsBdTpjPE8IT^wtf{BYGwyCX$bTBzZH z+f|tDRpxj-=A8KGHw7hQOS#xngpnSOOFlxAqy#zk;c+M$;lf$fdG9_34AmLCp;L^b z(j!0KRq1#ve}B93ny)~unDHh4(?zG+)sIyjB_$ZM(R}Tr4=4MC}oA|5{jYLO$*RfNF~pE20IFUN!{IWNO8{ zPwij`<{@fFyaaP|v+&2R*|F%_=Es+(VlXlT7s4%iTc^Z(B+nD-iX~zjWOYb8*;`6& zu5`6~ixj4@PhT9(^04$O@3m*32sP*k^1Wc(pPS9eiPK~yoC!LnG5et~>>QiTG?&4s zU>pHokVRa!0mog{;|An&MBGJIgLc@Ni#V&(V45eKxS2g~gd92B^psV_Zo=8QSi)(_ zhUaQRBM%K>Odq0~KO*(%rjxMR+JvwT1;crDy8D}OL1Z(7 zD^rg7b;8vXG@whf7tHHG+1DJbSv|BZ+T_p3ZLWe3S9*9ReFt@UQrD&qEFJ%^1O&7D{|hjEF^CdFlp0_SLRfoeR5@`iN})-r zx$fCf*4#DsF-yc0PF04J${U0gJ`<+GjlYVJW{|4zhuhiE@9Ig5et+sS=qzrVP(U|y ztRR)sl#ff8lHml%WV3$gT*oW#4A~j zzEFq0fvgW@QB0EzJ>%fQMDQ8@4GAY_3gShB7F$?sE08X6pNF{c2`JD01zU1l>-R;kw=#ls)P4>tld^mbZ)Pj%xDv6~qU_5#DZrcxUh&bS zqeQ0o8(y*HN_mP={D<-h63g`=^JvV|#SEc=;d(um*LH8M=$WqAj-lwjc$#nR_4$$J z6Mv$VuOJThVM@f_INeHwpQ*gHxACJEj=UdE9t-CjeTv3n)eO?8p#*NU_PUW}q)LG= zmo42nh}jlP1Ru3>DQr6qmuIFyMzczQntBEibbqUZPXwdv`V*kG53qCWuy2`_l_4>r z&tpriI%P2R<~zwiI?q~F`xjjrU55HBE&x{YR%CD4-(S?PN)-2@`&nL7lqz@1iD1Id z-$+I=T5*HDh7ln3t}VkIKpD7?|MTp3_Trs&{u-&kn+_vF3QCU@MOfNM$hea>!dXLV z9+JYyo$45mL+m`)c4}rXG4#;mtzLs~wY%uZ_ZcjlQBBoef5pwLDag-s%UUL-tylOiB0HXjc`8X|fq-EWTq{a?D9anrc%1%c7oZV%ytuy9xE) z(8?M@c9;`zjcn`3N6OoxGX4Q5&}(pIDK`!Q)l5)e@1ygjw>}nxyv<*7rq4!%??xFR zUlqhOSl1_Shb2Cn<=$Q~&gRl8mIsOp4h~+~ShO4pqi8I#>FDb4UlSQ3{cQ0?=k{&# zAQM1=Mi~f#+yV#{Xh5Vv5HJm)0wIJnh*X}2kQN6a<@|r&;s5^7idQ!RRQF_0G-`!< R?|)~%y2=IRXNu-Q{{sj6C-VRR diff --git a/src/main/resources/assets/mekanism/gui/GuiLogisticalSorter.png b/src/main/resources/assets/mekanism/gui/GuiLogisticalSorter.png index 42220f9c8db081d25ab1c8aa3053d554e37f3c58..757bbbd0b5ec51c4609aad4d0306544e3b82afc6 100644 GIT binary patch delta 14146 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 BOVt1X From 773d53e93a22b57013aa29f0d23edfee61fb3ebd Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Wed, 13 Jul 2016 17:07:02 -0400 Subject: [PATCH 45/75] Fixed Logistical Transporter network pathfinding --- .../multipart/MultipartTransmitter.java | 2 +- .../multipart/PartLogisticalTransporter.java | 3 +- .../common/util/TransporterUtils.java | 90 ------------------- 3 files changed, 2 insertions(+), 93 deletions(-) diff --git a/src/main/java/mekanism/common/multipart/MultipartTransmitter.java b/src/main/java/mekanism/common/multipart/MultipartTransmitter.java index f05741c06..970043090 100644 --- a/src/main/java/mekanism/common/multipart/MultipartTransmitter.java +++ b/src/main/java/mekanism/common/multipart/MultipartTransmitter.java @@ -55,7 +55,7 @@ public class MultipartTransmitter> extends Tran { IGridTransmitter transmitter = ((ITransmitterTile)potentialTransmitterTile).getTransmitter(); - if(TransmissionType.checkTransmissionType(transmitter, getTransmissionType())) + if(TransmissionType.checkTransmissionType(transmitter, getTransmissionType()) && containingPart.isValidTransmitter(potentialTransmitterTile)) { return sideCoord; } diff --git a/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java b/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java index fa78dfbd3..3b0a16f82 100644 --- a/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java +++ b/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java @@ -383,8 +383,7 @@ public class PartLogisticalTransporter extends PartTransmitter colors = ListUtils.asList(EnumColor.DARK_BLUE, EnumColor.DARK_GREEN, EnumColor.DARK_AQUA, EnumColor.DARK_RED, EnumColor.PURPLE, EnumColor.INDIGO, EnumColor.BRIGHT_GREEN, EnumColor.AQUA, EnumColor.RED, EnumColor.PINK, EnumColor.YELLOW, EnumColor.BLACK); - /** - * Gets all the transporters around a tile entity. - * @param tileEntity - center tile entity - * @return array of TileEntities - */ - public static ILogisticalTransporter[] getConnectedTransporters(ILogisticalTransporter tileEntity) - { - ILogisticalTransporter[] transporters = new ILogisticalTransporter[] {null, null, null, null, null, null}; - - for(ForgeDirection orientation : ForgeDirection.VALID_DIRECTIONS) - { - TileEntity tile = tileEntity.coord().getFromSide(orientation).getTileEntity(tileEntity.world()); - - if(tile instanceof ITransporterTile) - { - ILogisticalTransporter otherTransporter = ((ITransporterTile)tile).getTransmitter(); - - if(otherTransporter.getColor() == null || tileEntity.getColor() == null || otherTransporter.getColor() == tileEntity.getColor()) - { - transporters[orientation.ordinal()] = otherTransporter; - } - } - } - - return transporters; - } - public static boolean isValidAcceptorOnSide(TileEntity tile, ForgeDirection side) { if(tile instanceof ITransmitterTile || !(tile instanceof IInventory)) @@ -76,68 +48,6 @@ public final class TransporterUtils return false; } - /** - * Gets all the adjacent connections to a TileEntity. - * @param transporter - center TileEntity - * @return boolean[] of adjacent connections - */ - public static boolean[] getConnections(ILogisticalTransporter transporter) - { - boolean[] connectable = new boolean[] {false, false, false, false, false, false}; - - ILogisticalTransporter[] connectedTransporters = getConnectedTransporters(transporter); - IInventory[] connectedInventories = getConnectedInventories(transporter); - - for(IInventory inventory : connectedInventories) - { - if(inventory != null) - { - int side = Arrays.asList(connectedInventories).indexOf(inventory); - - if(!transporter.canConnect(ForgeDirection.getOrientation(side))) - { - continue; - } - - ForgeDirection forgeSide = ForgeDirection.getOrientation(side).getOpposite(); - - if(inventory.getSizeInventory() > 0) - { - if(inventory instanceof ISidedInventory) - { - ISidedInventory sidedInventory = (ISidedInventory)inventory; - - if(sidedInventory.getAccessibleSlotsFromSide(forgeSide.ordinal()) != null) - { - if(sidedInventory.getAccessibleSlotsFromSide(forgeSide.ordinal()).length > 0) - { - connectable[side] = true; - } - } - } - else { - connectable[side] = true; - } - } - } - } - - for(ILogisticalTransporter trans : connectedTransporters) - { - if(trans != null) - { - int side = Arrays.asList(connectedTransporters).indexOf(trans); - - if(transporter.canConnectMutual(ForgeDirection.getOrientation(side))) - { - connectable[side] = true; - } - } - } - - return connectable; - } - /** * Gets all the inventories around a tile entity. * @param transporter - center tile entity From e4eb04ea13ac0a2b48e3cf4b9f601b4c24d4f9d3 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Wed, 13 Jul 2016 17:19:23 -0400 Subject: [PATCH 46/75] Fixed texture registration issue --- src/main/java/mekanism/common/item/ItemTierInstaller.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/mekanism/common/item/ItemTierInstaller.java b/src/main/java/mekanism/common/item/ItemTierInstaller.java index ced0b503e..065ec62ad 100644 --- a/src/main/java/mekanism/common/item/ItemTierInstaller.java +++ b/src/main/java/mekanism/common/item/ItemTierInstaller.java @@ -63,7 +63,10 @@ public class ItemTierInstaller extends ItemMekanism { for(BaseTier tier : BaseTier.values()) { - icons[tier.ordinal()] = register.registerIcon("mekanism:" + tier.getName() + "TierInstaller"); + if(tier.isObtainable()) + { + icons[tier.ordinal()] = register.registerIcon("mekanism:" + tier.getName() + "TierInstaller"); + } } } From ca52ba521b8b18f0a14794fc4052e245aad2e5dd Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Fri, 15 Jul 2016 00:06:15 -0400 Subject: [PATCH 47/75] Fixed side output issue --- .../common/tile/component/TileComponentEjector.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/mekanism/common/tile/component/TileComponentEjector.java b/src/main/java/mekanism/common/tile/component/TileComponentEjector.java index 97a597b69..8cb9418c0 100644 --- a/src/main/java/mekanism/common/tile/component/TileComponentEjector.java +++ b/src/main/java/mekanism/common/tile/component/TileComponentEjector.java @@ -154,9 +154,11 @@ public class TileComponentEjector implements ITileComponent for(int i = 0; i < configurable.getConfig().getConfig(type).length; i++) { - if(configurable.getConfig().getConfig(type)[i] == configurable.getConfig().getOutputs(type).indexOf(data)) + int side = MekanismUtils.getBaseOrientation(i, tileEntity.facing); + + if(configurable.getConfig().getConfig(type)[side] == configurable.getConfig().getOutputs(type).indexOf(data)) { - outputSides.add(ForgeDirection.getOrientation(MekanismUtils.getBaseOrientation(i, tileEntity.facing))); + outputSides.add(ForgeDirection.getOrientation(i)); } } From 88ead85f0e2d8371643c42547b25d206461476e6 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Sat, 16 Jul 2016 12:16:55 -0400 Subject: [PATCH 48/75] Fixed Portable Teleporter issue, fixed compounded Factory localization, add upgrades support to Solar Neutron Activator --- .../client/gui/GuiSolarNeutronActivator.java | 2 + .../network/PacketPortableTeleporter.java | 51 +++++++++-------- .../recipe/machines/SolarNeutronRecipe.java | 6 +- .../common/tile/TileEntityFactory.java | 7 +++ .../tile/TileEntitySolarNeutronActivator.java | 56 ++++++++++++------- 5 files changed, 75 insertions(+), 47 deletions(-) diff --git a/src/main/java/mekanism/client/gui/GuiSolarNeutronActivator.java b/src/main/java/mekanism/client/gui/GuiSolarNeutronActivator.java index 7861888bf..abd14af44 100644 --- a/src/main/java/mekanism/client/gui/GuiSolarNeutronActivator.java +++ b/src/main/java/mekanism/client/gui/GuiSolarNeutronActivator.java @@ -12,6 +12,7 @@ import mekanism.client.gui.element.GuiSecurityTab; import mekanism.client.gui.element.GuiSlot; import mekanism.client.gui.element.GuiSlot.SlotOverlay; import mekanism.client.gui.element.GuiSlot.SlotType; +import mekanism.client.gui.element.GuiUpgradeTab; import mekanism.common.inventory.container.ContainerSolarNeutronActivator; import mekanism.common.tile.TileEntitySolarNeutronActivator; import mekanism.common.util.LangUtils; @@ -36,6 +37,7 @@ public class GuiSolarNeutronActivator extends GuiMekanism guiElements.add(new GuiSecurityTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"))); guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"))); + guiElements.add(new GuiUpgradeTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"))); guiElements.add(new GuiSlot(SlotType.NORMAL, this, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"), 4, 55).with(SlotOverlay.MINUS)); guiElements.add(new GuiSlot(SlotType.NORMAL, this, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"), 154, 55).with(SlotOverlay.PLUS)); diff --git a/src/main/java/mekanism/common/network/PacketPortableTeleporter.java b/src/main/java/mekanism/common/network/PacketPortableTeleporter.java index 9bc2683c1..1568e98a9 100644 --- a/src/main/java/mekanism/common/network/PacketPortableTeleporter.java +++ b/src/main/java/mekanism/common/network/PacketPortableTeleporter.java @@ -101,31 +101,34 @@ public class PacketPortableTeleporter implements IMessageHandler> 4, zCoord >> 4) instanceof BiomeGenDesert; @@ -168,9 +172,13 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im return recipe != null && recipe.canOperate(inputTank, outputTank); } - public void operate(SolarNeutronRecipe recipe) + public int operate(SolarNeutronRecipe recipe) { - recipe.operate(inputTank, outputTank); + int operations = getUpgradedUsage(); + + recipe.operate(inputTank, outputTank, operations); + + return operations; } @Override @@ -181,7 +189,6 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im if(worldObj.isRemote) { isActive = dataStream.readBoolean(); - recipeTicks = dataStream.readInt(); controlType = RedstoneControl.values()[dataStream.readInt()]; if(dataStream.readBoolean()) @@ -210,7 +217,6 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im super.getNetworkedData(data); data.add(isActive); - data.add(recipeTicks); data.add(controlType.ordinal()); if(inputTank.getGas() != null) @@ -242,7 +248,6 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im super.readFromNBT(nbtTags); isActive = nbtTags.getBoolean("isActive"); - recipeTicks = nbtTags.getInteger("recipeTicks"); controlType = RedstoneControl.values()[nbtTags.getInteger("controlType")]; inputTank.read(nbtTags.getCompoundTag("inputTank")); @@ -255,7 +260,6 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im super.writeToNBT(nbtTags); nbtTags.setBoolean("isActive", isActive); - nbtTags.setInteger("recipeTicks", recipeTicks); nbtTags.setInteger("controlType", controlType.ordinal()); nbtTags.setTag("inputTank", inputTank.write(new NBTTagCompound())); @@ -417,6 +421,18 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im return securityComponent; } + @Override + public TileComponentUpgrade getComponent() + { + return upgradeComponent; + } + + @Override + public List getInfo(Upgrade upgrade) + { + return upgrade == Upgrade.SPEED ? upgrade.getExpScaledInfo(this) : upgrade.getMultScaledInfo(this); + } + @Override @SideOnly(Side.CLIENT) public AxisAlignedBB getRenderBoundingBox() From 1d51dd34dc4771d28ffc7ef51c1eb0617221d8ee Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Sat, 16 Jul 2016 12:20:56 -0400 Subject: [PATCH 49/75] Better Structural Glass recipe --- src/main/java/mekanism/common/Mekanism.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index bf4b46b15..341bc51f5 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -357,7 +357,7 @@ public class Mekanism " I ", "IBI", " I ", Character.valueOf('I'), "ingotSteel", Character.valueOf('B'), Items.bucket })); CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(MekanismBlocks.BasicBlock, 4, 10), new Object[] { - " I ", "IGI", " I ", Character.valueOf('I'), new ItemStack(MekanismBlocks.BasicBlock, 1, 9), Character.valueOf('G'), "blockGlass" + " I ", "IGI", " I ", Character.valueOf('I'), "ingotSteel", Character.valueOf('G'), "blockGlass" })); CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(MekanismBlocks.BasicBlock, 2, 11), new Object[] { " I ", "ICI", " I ", Character.valueOf('I'), new ItemStack(MekanismBlocks.BasicBlock, 1, 9), Character.valueOf('C'), MekanismUtils.getControlCircuit(BaseTier.BASIC) From cfcb2b33cf6795fb094fd1c35adf2a07d8668bbb Mon Sep 17 00:00:00 2001 From: Marcel Petzold Date: Sat, 16 Jul 2016 20:01:54 +0200 Subject: [PATCH 50/75] added new opaque images --- .../DiversionTransporterHorizontalOpaque.png | Bin 0 -> 180 bytes .../models/opaque/DiversionTransporterOpaque.png | Bin 0 -> 3235 bytes .../DiversionTransporterVerticalOpaque.png | Bin 0 -> 2989 bytes .../blocks/models/opaque/GlowPanelOpaque.png | Bin 0 -> 2956 bytes .../models/opaque/HeatTransmitterOpaque.png | Bin 0 -> 1734 bytes .../LogisticalTransporterAdvancedOpaque.png | Bin 0 -> 3384 bytes .../opaque/LogisticalTransporterBasicOpaque.png | Bin 0 -> 3411 bytes .../opaque/LogisticalTransporterEliteOpaque.png | Bin 0 -> 3390 bytes .../LogisticalTransporterGlassColoredOpaque.png | Bin 0 -> 2973 bytes .../opaque/LogisticalTransporterGlassOpaque.png | Bin 0 -> 2894 bytes ...sticalTransporterHorizontalAdvancedOpaque.png | Bin 0 -> 2963 bytes ...ogisticalTransporterHorizontalBasicOpaque.png | Bin 0 -> 2986 bytes ...ogisticalTransporterHorizontalEliteOpaque.png | Bin 0 -> 2976 bytes ...alTransporterHorizontalGlassColoredOpaque.png | Bin 0 -> 3022 bytes ...ogisticalTransporterHorizontalGlassOpaque.png | Bin 0 -> 2899 bytes ...sticalTransporterHorizontalUltimateOpaque.png | Bin 0 -> 2988 bytes .../LogisticalTransporterUltimateOpaque.png | Bin 0 -> 3413 bytes ...gisticalTransporterVerticalAdvancedOpaque.png | Bin 0 -> 3012 bytes .../LogisticalTransporterVerticalBasicOpaque.png | Bin 0 -> 3022 bytes .../LogisticalTransporterVerticalEliteOpaque.png | Bin 0 -> 3033 bytes ...icalTransporterVerticalGlassColoredOpaque.png | Bin 0 -> 2953 bytes .../LogisticalTransporterVerticalGlassOpaque.png | Bin 0 -> 2895 bytes ...gisticalTransporterVerticalUltimateOpaque.png | Bin 0 -> 3034 bytes .../opaque/MechanicalPipeAdvancedOpaque.png | Bin 0 -> 3416 bytes .../models/opaque/MechanicalPipeBasicOpaque.png | Bin 0 -> 3466 bytes .../models/opaque/MechanicalPipeEliteOpaque.png | Bin 0 -> 3433 bytes .../MechanicalPipeHorizontalAdvancedOpaque.png | Bin 0 -> 3049 bytes .../MechanicalPipeHorizontalBasicOpaque.png | Bin 0 -> 3096 bytes .../MechanicalPipeHorizontalEliteOpaque.png | Bin 0 -> 3074 bytes .../MechanicalPipeHorizontalUltimateOpaque.png | Bin 0 -> 3088 bytes .../opaque/MechanicalPipeUltimateOpaque.png | Bin 0 -> 3456 bytes .../MechanicalPipeVerticalAdvancedOpaque.png | Bin 0 -> 3102 bytes .../opaque/MechanicalPipeVerticalBasicOpaque.png | Bin 0 -> 3131 bytes .../opaque/MechanicalPipeVerticalEliteOpaque.png | Bin 0 -> 3108 bytes .../MechanicalPipeVerticalUltimateOpaque.png | Bin 0 -> 3153 bytes .../opaque/PressurizedTubeAdvancedOpaque.png | Bin 0 -> 1977 bytes .../models/opaque/PressurizedTubeBasicOpaque.png | Bin 0 -> 1983 bytes .../models/opaque/PressurizedTubeEliteOpaque.png | Bin 0 -> 1984 bytes .../opaque/PressurizedTubeUltimateOpaque.png | Bin 0 -> 1998 bytes .../RestrictiveTransporterHorizontalOpaque.png | Bin 0 -> 2936 bytes .../opaque/RestrictiveTransporterOpaque.png | Bin 0 -> 3567 bytes .../RestrictiveTransporterVerticalOpaque.png | Bin 0 -> 2935 bytes .../SmallTransmitterHorizontalAdvancedOpaque.png | Bin 0 -> 3346 bytes .../SmallTransmitterHorizontalBasicOpaque.png | Bin 0 -> 3362 bytes .../SmallTransmitterHorizontalEliteOpaque.png | Bin 0 -> 3351 bytes .../SmallTransmitterHorizontalUltimateOpaque.png | Bin 0 -> 3350 bytes .../SmallTransmitterVerticalAdvancedOpaque.png | Bin 0 -> 3346 bytes .../SmallTransmitterVerticalBasicOpaque.png | Bin 0 -> 3375 bytes .../SmallTransmitterVerticalEliteOpaque.png | Bin 0 -> 3377 bytes .../SmallTransmitterVerticalUltimateOpaque.png | Bin 0 -> 3372 bytes .../opaque/UniversalCableAdvancedOpaque.png | Bin 0 -> 1944 bytes .../models/opaque/UniversalCableBasicOpaque.png | Bin 0 -> 1941 bytes .../models/opaque/UniversalCableEliteOpaque.png | Bin 0 -> 1933 bytes .../opaque/UniversalCableUltimateOpaque.png | Bin 0 -> 1937 bytes 54 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterHorizontalOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterVerticalOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/GlowPanelOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/HeatTransmitterOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterAdvancedOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterBasicOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterEliteOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlassColoredOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlassOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalAdvancedOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalBasicOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalEliteOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlassColoredOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlassOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalUltimateOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterUltimateOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalAdvancedOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalBasicOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalEliteOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassColoredOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalUltimateOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeAdvancedOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeBasicOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeEliteOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalAdvancedOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalBasicOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalEliteOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalUltimateOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeUltimateOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalAdvancedOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalBasicOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalEliteOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalUltimateOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeAdvancedOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeBasicOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeEliteOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeUltimateOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterHorizontalOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterVerticalOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalAdvancedOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalBasicOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalEliteOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalUltimateOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalAdvancedOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalBasicOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalEliteOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalUltimateOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableAdvancedOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableBasicOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableEliteOpaque.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableUltimateOpaque.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterHorizontalOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterHorizontalOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..faafc1f87a2add3896910e176f4728f1a1012941 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0XB4ude`@%$AjKtYKT z*NBqf{Irtt#G+J&g2c?c61}|C5(N`I13e3A6TcfkHBO!`jv*f2Z?7qeG8ph2xnMQ3 z(QD=kPkBv#u9v&>6-=&fvNEzSNd20^xqu~rNrQ0;gBOEpgBZ)ReiQC{C3?}9{xZhC W<~YMMYsojDX$+pOelF{r5}E*#b2Y{Q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..4d52e194698832e1498d6c4fc366d559cf3505cb GIT binary patch literal 3235 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/GlowPanelOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/GlowPanelOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..00dfb6381c667a6f1a9c58736b8f0dcb7899b500 GIT binary patch literal 2956 zcmV;73v={|P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0002DNkl-(>0{u|Le&`V@pey(yoL5%MXK?@tC9*%r$OFURgPe1W zjrPK3Qvymr2^_tE^E?}$nL$L4n0t)(evSY$!x)2F>viyb1pp#KDdqA%dnu)P1puJd z3Ty3G(#9AYLc=-GlluuL!HSYl@{&=^Z4Tx0C?Jsl+SMzWf;dlyYtSh2{;E+0gJ(jKY)-zwqTG3L3g{$wouDv+hW_8 znCoMPiX1$ccrw9X5iY<%0|`MxY)DKvl=ve=5-x_+!%TMv zXvO#R%=3Pq@AvyW?~{Sd=T+Z#(-zEnp{kVf*7(GvmAOHhXIMiwYpQnO=gQ?FfU57i zJaX>+ObX!I_LcAd^Q@`Kz=qTlK(iLuvyeIlx@-F?1mhO4=V<7Mka-s9QsWbokjVmF z^(Za?T~kp!4s@x}No`@q40Cbh4CzWGcl~Ud+tLC)h%7op= zT>sBA>$aBlHUVpcnUO=lR!ALdsDVlxe_~gQBfyK0y6lJf3a}Ycf3#-Ca={irt|ajcdi^v~yrE#?Sk1c_{KG&Z<^rEXG`|s$wbP5r0c> zEaucV)T)I;zz)#&b0k$o(qsyWjmLc~DwN1$;iG6Wje|=GiHAhtq@H93XBAu-iHhS6 zqK?F45ru=j3MNvx9b=key~v7PA}jWaA+b;F5q((VHSxOGFA5?n`o!LLZ8@QDQRjA> z=UrMzEGir!f4aN1wWD`Zz3tdnPThH+y7`D_x$Gx70Rm>)$nDAgFU^0qp~G=qoO|oq z+Dr2se%yTZTl%7YUB9K@&=)!g{a1ZKU(j!m!^NeJWEP2oha^ZiNcM06myjwhzv0nL z;2uz%_D*+qZtN?k?#TCs?+tUZr<2Y8lKnG#J^N|)Z1(quro7^mw2!o}wC}aAwQsZ^ zv9$Br1?>mzqV}csZQ`v~-;eg&lS_0f@m8F*#5MEgM)L);U_NKQWDa%s%=KokIbd!v z3+Bf5yCwCKy*NzZwx_zXR)ibF!{I0rML-o7kK+&Re_Sm#iC!`I(AMq|dqvx&Q8Wrh z4$IhP^clUzK_l1kXKXPFMxU|8C_b=t_9`971S;9*cBYU7%%E_XL*f!3LwPI&=x_SR zl~Zqo*3NA96)WfauCxX{dq2!{9w?>$izAtJe zwuBJoj;fNTDOFWb*EK%RbFwUB5e_q>X&OQZIOmv5COGE+Ff&33Giwn+L;z;~27>{< zsw%3gVmuzt5sApmSsceFl+K~5m>Fh9+qRh5LTFuoe#!)}v9ZBr;PCM9EYK*5xGJ2! zom?4#i2R2Px|hp_so|3(p=lcarBr+SC9K1n-*8YAy>`>~jlAHSHk_NmURhGzhw3T# z2wsmMdtWkqQuGq2Do#8ySRc&w{4$ImLh=CoF7Og$8|p{!sw|hYoA79}r}n4*+Hs52r>b10$Qjna-3FIDBlbIRGeHKxdVhNY ztX*Hjry?{WsA@mKFVHU_n{UzN8uqnDkAS1qO_3ym4s-p#T5? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterAdvancedOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..fa0dc1dd2219dbd4f1844c5b862264d1e41466c7 GIT binary patch literal 3384 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterEliteOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..d970b571aaba7fe669a756a74264fd4ede9f2551 GIT binary patch literal 3390 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlassColoredOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlassColoredOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..63e2165052dea4b638098a5835cdcb951efc12a6 GIT binary patch literal 2973 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalAdvancedOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..47a673d7f2f41e253e295bf79fcfb033e74e2fdd GIT binary patch literal 2963 zcmV;E3vBd>P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0002KNklu#vX z=p$ijqh4Q^UXSO>U*NX_0uX=z1Rwwb2tWV=5P$%yP8SpFFM1*zBWb}Oy*^Ic^?uN( z$nC6RjeO90pPx0FeOQ4NQ0s7!56+}hRl~b?#gubiwtrQX&j7kjVVN8IQIG%t002ov JPDHLkV1m&DfUf`m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalBasicOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..11d7aecb4819c8a9d498fcffa1b903953a1f40ea GIT binary patch literal 2986 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalEliteOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f49898612b58813b472aeefa767658b3269579 GIT binary patch literal 2976 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 QdH?_b07*qoM6N<$f*enqGynhq literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlassOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlassOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..a1b7be40453ca6ddd658a2683edfd6349b978836 GIT binary patch literal 2899 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 QQvd(}07*qoM6N<$g4Ro$AOHXW literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalEliteOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..7d874f72c02f672196894c5a7f2c0fbdc9505954 GIT binary patch literal 3033 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 bB>V;dCtrf*>zNTP00000NkvXXu0mjf8mgZD literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassColoredOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassColoredOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..799824abf3377988f6ba6cb9c22e01cb9399ca28 GIT binary patch literal 2953 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..2d08c1a87805fee8e07db656ea689149d0ed5150 GIT binary patch literal 2895 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalUltimateOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..a102a49e8bd94a539e8be95ee20c1384ecae540c GIT binary patch literal 3034 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeAdvancedOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..406e3a3d71282493f98ba3049a43588f22871717 GIT binary patch literal 3416 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeEliteOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..ccec2dcb7fd440115886b88633a9a7d75ccbe915 GIT binary patch literal 3433 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 LNkvXXu0mjfyY*$d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalAdvancedOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..b3a4f67d8403412f0f6f2374407d80139745e250 GIT binary patch literal 3049 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalBasicOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..f40cba6379772b74cd45ebd97407ef9c8e398519 GIT binary patch literal 3096 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 Qp8x;=07*qoM6N<$f^fI4s{jB1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalUltimateOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..13c74719aa9090da2f04ad3a4ad361475c31d8c3 GIT binary patch literal 3088 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeUltimateOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..1943feb2607e900b3c57951ace71ba701baf8023 GIT binary patch literal 3456 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalBasicOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..38bd95080c1839d0f556d5fc5dddfb1495e4cc90 GIT binary patch literal 3131 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 LNkvXXu0mjf78ugk literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeBasicOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..b6eceb1579e26d302120ec32534ada36d30b65fe GIT binary patch literal 1983 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 g6;lR~RJjcx1^@s607*qoM6N<$f(7Z_82|tP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterHorizontalOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterHorizontalOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..32595e347d20992ff8bfaebcb2127fe45875a7b7 GIT binary patch literal 2936 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalBasicOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..be5895f6f41c12a4f0b99413bb7ffea1ea3fb99d GIT binary patch literal 3362 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalEliteOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..4b940e8c62de2399c966989421c94ccc1485e8da GIT binary patch literal 3351 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalUltimateOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..fd121dc56f721bb875656e75a872af88eb33e53e GIT binary patch literal 3350 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalAdvancedOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd7311ad631bd2f81f2d57a6fbe4bd111c78b65 GIT binary patch literal 3346 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalBasicOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..af78489e86959703583ea473e25cd1496d1873f1 GIT binary patch literal 3375 zcmV+~4bbw5P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z00077NklWyT5QV=P{@5;%O#<`^IYKViO_x1lPEjCD9ZM8BT}YxR*|JMO zfJAa;$oJkn$=lnTJwHElKA-vfv+(rOgF!q*oO3wm`1ttX_4So@yuZKm^72B?nUoTx z6mrh|{&C^^uO~h~Kk2#-jWHr30N50)PI2lHk-Bzk`G;uP%6eN~ul=AR?$L z#WED|-tQJrRdUXBmoKt`iokRr5upqj1u$F6#^~#}Q@5MEjS2BUm=9uB*USuU0}SZ< zVU_4`IPMmi;Zx_Xiq7lWe#o>bS*`(>?rS%BJ!vU)6CZ3i(^XXg6D7z3O&JRJ#(axY z2$khl7+Mu%1_s*5KtxcdyBw(M2<`NU$Vx?(gDOX16|lwhR*_c9ExGfWZzo2fE@S9> zN|9Y?3XoE|>Xo@@GSEHg0r(h+abK#+*e7$GszO7)XA99xY%VJT|A*wd*ESrsojNw6 z;Jm}Bf5<^=72CaLhI)q%!?18*P|A4vT!vlfs@FJ2JRCMxqLFxB`andg!df-lgGxl` zyN>hut5MGaxtT3}FhgXbm{GlD81h3eI-QPVLUk)0ipZvu4a5qnLK=n%2E9w}+7`+c z0&451he_H|N?E~i+tS-4X1Ew}A&^t1nBFarF8zw9TbymoPRM=F(DxjV5h33#aC|!5 zylrb0x^A+?3D1{5blv4XM2*v$89w@}f_`gk^Lq&2aL(;wTivrEHK&YiZsX@0v@LJN zR{z~cD!SFhRYf6$Wy5S*PVp{0^r2yr@`~W5xC@?t0{}(ud^HY{0b&3E002ovPDHLk FV1hhaPqY94 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalEliteOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..08336a44ce3b949b3cc3ac2dc7446f99e5e370fb GIT binary patch literal 3377 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 Hu0mjfaFj-^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalUltimateOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..4f2547dc5e0184dcfa49ab9b334fc1f2a167d82f GIT binary patch literal 3372 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 bRaNmXa(v>1Coc}F00000NkvXXu0mjfi>Ap; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableEliteOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..e78f477563691b6cb104e028f307023f00b46f2e GIT binary patch literal 1933 zcmV;82Xgp{P)4Tx0C?Jsl+SMzWf;dlyYtSh2{;E+0gJ(jKY)-zwqTG3L3g{$wouDv+hW_8 znCoMPiX1$ccrw9X5iY<%0|`MxY)DKvl=ve=5-x_+!%TMv zXvO#R%=3Pq@AvyW?~{Sd=T+Z#(-zEnp{kVf*7(GvmAOHhXIMiwYpQnO=gQ?FfU57i zJaX>+ObX!I_LcAd^Q@`Kz=qTlK(iLuvyeIlx@-F?1mhO4=V<7Mka-s9QsWbokjVmF z^(Za?T~kp!4s@x}No`@q40Cbh4CzWGcl~Ud+tLC)h%7op= zT>sBA>$aBlHUVpcnUO=lR!ALdsDVlxe_~gQBfyK0y6lJf3a}Ycf3#-Ca={irt|ajcdi^v~yrE#?Sk1c_{KG&Z<^rEXG`|s$wbP5r0c> zEaucV)T)I;zz)#&b0k$o(qsyWjmLc~DwN1$;iG6Wje|=GiHAhtq@H93XBAu-iHhS6 zqK?F45ru=j3MNvx9b=key~v7PA}jWaA+b;F5q((VHSxOGFA5?n`o!LLZ8@QDQRjA> z=UrMzEGir!f4aN1wWD`Zz3tdnPThH+y7`D_x$Gx70Rm>)$nDAgFU^0qp~G=qoO|oq z+Dr2se%yTZTl%7YUB9K@&=)!g{a1ZKU(j!m!^NeJWEP2oha^ZiNcM06myjwhzv0nL z;2uz%_D*+qZtN?k?#TCs?+tUZr<2Y8lKnG#J^N|)Z1(quro7^mw2!o}wC}aAwQsZ^ zv9$Br1?>mzqV}csZQ`v~-;eg&lS_0f@m8F*#5MEgM)L);U_NKQWDa%s%=KokIbd!v z3+Bf5yCwCKy*NzZwx_zXR)ibF!{I0rML-o7kK+&Re_Sm#iC!`I(AMq|dqvx&Q8Wrh z4$IhP^clUzK_l1kXKXPFMxU|8C_b=t_9`971S;9*cBYU7%%E_XL*f!3LwPI&=x_SR zl~Zqo*3NA96)WfauCxX{dq7r!Gzg_YiY$oY zCPV?9jbrcK?!0*v&TekKceW$(l~$V3?tb5o`M&qYt*@_JQ52MA2^ii7yw4B}37!xF z-g`uZEX#1tp{k^mh%ut7ohPM4p68ThNmW&Zq9_;+hxFkvGwQlVRdLQSo6T^}0bpjR zYWuZ_AR+)Q-)J-5E_+ev4N(rK2YG_m}8c7pZ zHpWZ;6On!di;ybinOEL{TG2XUb)@`fi@gW8kNwYke|QGX<|rnU2{%7IVC~Xn%6mVO zrjb-u`0?u;Ozv=H<4h+#M`6j3!C=savkdX!?^vy*N*P>ulX7R9%b#aU$s76lAV?i` zVFZo$#S3o`_ike`A;afM@c@&jj!jKda83eYbY{ftpgcUpBN(hci}Qm+?_|cJBO))rWcyqcw7iSe1~~mzZq-%GGbq9jl_jKnSYZYg_>Dev$!MyZ`>i zn6PpY)G@jH%ZcOw`}?!U24aj053EU9+Wm`}I(D~jacy($MDj*Wq49i?iW>6oJ|5yM zvUmTFQ;|0{rK-r$)GR{1bC=mHa`mf~Q+eJou*~z0?A!|Pf5EB9J3TC=(?xLY>$6Wx z4zRbsN2p`$w2AqC4nWbk^W=jk&vL>r&)ZQsKZ)j*psL7%T4}03gwW{(^P_j^Or9_M zlv1zTni(R}lX!0?S5-w(6pwodj%<*%SCwVgmiZ@Y&Gewc2SJl!$ruiYR8_@)lQ`1V T$&cx;00000NkvXXu0mjfv#`JT literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableUltimateOpaque.png new file mode 100644 index 0000000000000000000000000000000000000000..ad77389c4087b594101923fa0a7ea3c9b26093c2 GIT binary patch literal 1937 zcmV;C2X6R@P)4Tx0C?Jsl+SMzWf;dlyYtSh2{;E+0gJ(jKY)-zwqTG3L3g{$wouDv+hW_8 znCoMPiX1$ccrw9X5iY<%0|`MxY)DKvl=ve=5-x_+!%TMv zXvO#R%=3Pq@AvyW?~{Sd=T+Z#(-zEnp{kVf*7(GvmAOHhXIMiwYpQnO=gQ?FfU57i zJaX>+ObX!I_LcAd^Q@`Kz=qTlK(iLuvyeIlx@-F?1mhO4=V<7Mka-s9QsWbokjVmF z^(Za?T~kp!4s@x}No`@q40Cbh4CzWGcl~Ud+tLC)h%7op= zT>sBA>$aBlHUVpcnUO=lR!ALdsDVlxe_~gQBfyK0y6lJf3a}Ycf3#-Ca={irt|ajcdi^v~yrE#?Sk1c_{KG&Z<^rEXG`|s$wbP5r0c> zEaucV)T)I;zz)#&b0k$o(qsyWjmLc~DwN1$;iG6Wje|=GiHAhtq@H93XBAu-iHhS6 zqK?F45ru=j3MNvx9b=key~v7PA}jWaA+b;F5q((VHSxOGFA5?n`o!LLZ8@QDQRjA> z=UrMzEGir!f4aN1wWD`Zz3tdnPThH+y7`D_x$Gx70Rm>)$nDAgFU^0qp~G=qoO|oq z+Dr2se%yTZTl%7YUB9K@&=)!g{a1ZKU(j!m!^NeJWEP2oha^ZiNcM06myjwhzv0nL z;2uz%_D*+qZtN?k?#TCs?+tUZr<2Y8lKnG#J^N|)Z1(quro7^mw2!o}wC}aAwQsZ^ zv9$Br1?>mzqV}csZQ`v~-;eg&lS_0f@m8F*#5MEgM)L);U_NKQWDa%s%=KokIbd!v z3+Bf5yCwCKy*NzZwx_zXR)ibF!{I0rML-o7kK+&Re_Sm#iC!`I(AMq|dqvx&Q8Wrh z4$IhP^clUzK_l1kXKXPFMxU|8C_b=t_9`971S;9*cBYU7%%E_XL*f!3LwPI&=x_SR zl~Zqo*3NA96)WfauCxX{dqDrf%xuoJS-#L%0=N|3 zW+CF@*Z9S+f6BgY*TMVlSHG|S*x8RpBTmC`IBeH1-hK7RzW0PCZztjV%_%7*h=!@5 zQL$(wOxk8n^51R7_imhc&U=4&2hHXo%9@sB}4K&Z^K!Jc>fQqR#K(p>z62ZcewmXwv@b) zuMdLMQ5Qzgct3dh72@~?78BBYiWCnpdE~^@GzI4*5c=o(Ob^P#OFV{r^>Lif5512G zpFhg}Kij&7!)0hyLm|Nx^C`Rrc@w#n!umX(C0# z61=mu*3JC`zBq}5>Oob`rRQT|^~slz;v!jij&MF=YFvC~om5p=RQ7IP=grTUy9*IP zRav>PLMTM2MdnhZI%W6fFIau3_t0OXu!vO&S$&q#&Tm}(^1_KK%5x#8>RjUjc;kZ% z$lCq49}WpCPk=f`w|+g99AJNcdSoER2r_?RP0G^V-%Qo9w{x9qTWhD1H)@i`^F=CZ z$iI58hm*kg&Yx!@Z)&Pz;3U+$x0p^NS3h4lljj`+%RKMM&aLp)r<{qr)5B6aTLjm> zIRDV(0OS2Jp^mX_6NYvAc?WkNnx7&o2)&|cN9E6avrq}DiY%y=rust&olY=2dY8`R z*|JY5&2?KdLqv`wzHBB}RmEU1IO-udvOH^lRhIp>%sx?TCI=Nh2$~d2Mz7bSsw(~m XZQaqg@U|xA00000NkvXXu0mjfb$z@y literal 0 HcmV?d00001 From a25217aab12379afc91fe8f4a81cc344ddb1f6a3 Mon Sep 17 00:00:00 2001 From: Marcel Petzold Date: Sat, 16 Jul 2016 20:02:41 +0200 Subject: [PATCH 51/75] loaded config before Tier.init() --- src/main/java/mekanism/common/Mekanism.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index 341bc51f5..db1e15eee 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -1209,14 +1209,14 @@ public class Mekanism @EventHandler public void preInit(FMLPreInitializationEvent event) { - //Register tier information - Tier.init(); - File config = event.getSuggestedConfigurationFile(); //Set the mod's configuration configuration = new Configuration(config); - + + //Register tier information + Tier.init(); + if(config.getAbsolutePath().contains("voltz")) { logger.info("Detected Voltz in root directory - hello, fellow user!"); From 955ed3e1254fec187dc7939af8a3724717272ee4 Mon Sep 17 00:00:00 2001 From: Marcel Petzold Date: Sat, 16 Jul 2016 20:03:12 +0200 Subject: [PATCH 52/75] added boolean opaque --- .../multipart/PartLogisticalTransporter.java | 3 ++- .../common/multipart/PartMechanicalPipe.java | 4 +++- .../common/multipart/PartPressurizedTube.java | 4 +++- .../multipart/PartThermodynamicConductor.java | 14 ++++++++------ .../common/multipart/PartUniversalCable.java | 12 +++++++----- .../common/multipart/TransmitterIcons.java | 14 ++++++++++++-- 6 files changed, 35 insertions(+), 16 deletions(-) diff --git a/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java b/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java index 3b0a16f82..2bd8de0c3 100644 --- a/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java +++ b/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java @@ -48,6 +48,7 @@ public class PartLogisticalTransporter extends PartTransmitter implements IFluidHandler { public static TransmitterIcons pipeIcons = new TransmitterIcons(4, 8); + private static boolean opaque = Mekanism.configuration.get("client", "opaque", false).getBoolean(); public float currentScale; @@ -227,7 +229,7 @@ public class PartMechanicalPipe extends PartTransmitter Date: Sat, 16 Jul 2016 20:03:31 +0200 Subject: [PATCH 53/75] added boolean opaque --- src/main/java/mekanism/api/MekanismConfig.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/mekanism/api/MekanismConfig.java b/src/main/java/mekanism/api/MekanismConfig.java index d8fea669c..cd532eaee 100644 --- a/src/main/java/mekanism/api/MekanismConfig.java +++ b/src/main/java/mekanism/api/MekanismConfig.java @@ -81,6 +81,7 @@ public class MekanismConfig public static boolean renderCTM = true; public static boolean enableAmbientLighting; public static int ambientLightingLevel; + public static boolean opaque = false; } public static class machines From 438664e26985772c59103006d353914823c4b619 Mon Sep 17 00:00:00 2001 From: Marcel Petzold Date: Sat, 16 Jul 2016 20:30:29 +0200 Subject: [PATCH 54/75] removed the word "opaque" in all image names --- ...ansporterOpaque.png => DiversionTransporter.png} | Bin ...paque.png => DiversionTransporterHorizontal.png} | Bin ...lOpaque.png => DiversionTransporterVertical.png} | Bin .../opaque/{GlowPanelOpaque.png => GlowPanel.png} | Bin ...eatTransmitterOpaque.png => HeatTransmitter.png} | Bin ...Opaque.png => LogisticalTransporterAdvanced.png} | Bin ...sicOpaque.png => LogisticalTransporterBasic.png} | Bin ...iteOpaque.png => LogisticalTransporterElite.png} | Bin ...assOpaque.png => LogisticalTransporterGlass.png} | Bin ...ue.png => LogisticalTransporterGlassColored.png} | Bin ... => LogisticalTransporterHorizontalAdvanced.png} | Bin ...png => LogisticalTransporterHorizontalBasic.png} | Bin ...png => LogisticalTransporterHorizontalElite.png} | Bin ...png => LogisticalTransporterHorizontalGlass.png} | Bin ...LogisticalTransporterHorizontalGlassColored.png} | Bin ... => LogisticalTransporterHorizontalUltimate.png} | Bin ...Opaque.png => LogisticalTransporterUltimate.png} | Bin ...ng => LogisticalTransporterVerticalAdvanced.png} | Bin ...e.png => LogisticalTransporterVerticalBasic.png} | Bin ...e.png => LogisticalTransporterVerticalElite.png} | Bin ...e.png => LogisticalTransporterVerticalGlass.png} | Bin ...> LogisticalTransporterVerticalGlassColored.png} | Bin ...ng => LogisticalTransporterVerticalUltimate.png} | Bin ...dvancedOpaque.png => MechanicalPipeAdvanced.png} | Bin ...lPipeBasicOpaque.png => MechanicalPipeBasic.png} | Bin ...lPipeEliteOpaque.png => MechanicalPipeElite.png} | Bin ...que.png => MechanicalPipeHorizontalAdvanced.png} | Bin ...Opaque.png => MechanicalPipeHorizontalBasic.png} | Bin ...Opaque.png => MechanicalPipeHorizontalElite.png} | Bin ...que.png => MechanicalPipeHorizontalUltimate.png} | Bin ...ltimateOpaque.png => MechanicalPipeUltimate.png} | Bin ...paque.png => MechanicalPipeVerticalAdvanced.png} | Bin ...icOpaque.png => MechanicalPipeVerticalBasic.png} | Bin ...teOpaque.png => MechanicalPipeVerticalElite.png} | Bin ...paque.png => MechanicalPipeVerticalUltimate.png} | Bin ...vancedOpaque.png => PressurizedTubeAdvanced.png} | Bin ...TubeBasicOpaque.png => PressurizedTubeBasic.png} | Bin ...TubeEliteOpaque.png => PressurizedTubeElite.png} | Bin ...timateOpaque.png => PressurizedTubeUltimate.png} | Bin ...sporterOpaque.png => RestrictiveTransporter.png} | Bin ...que.png => RestrictiveTransporterHorizontal.png} | Bin ...paque.png => RestrictiveTransporterVertical.png} | Bin ...e.png => SmallTransmitterHorizontalAdvanced.png} | Bin ...aque.png => SmallTransmitterHorizontalBasic.png} | Bin ...aque.png => SmallTransmitterHorizontalElite.png} | Bin ...e.png => SmallTransmitterHorizontalUltimate.png} | Bin ...que.png => SmallTransmitterVerticalAdvanced.png} | Bin ...Opaque.png => SmallTransmitterVerticalBasic.png} | Bin ...Opaque.png => SmallTransmitterVerticalElite.png} | Bin ...que.png => SmallTransmitterVerticalUltimate.png} | Bin ...dvancedOpaque.png => UniversalCableAdvanced.png} | Bin ...CableBasicOpaque.png => UniversalCableBasic.png} | Bin ...CableEliteOpaque.png => UniversalCableElite.png} | Bin ...ltimateOpaque.png => UniversalCableUltimate.png} | Bin 54 files changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{DiversionTransporterOpaque.png => DiversionTransporter.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{DiversionTransporterHorizontalOpaque.png => DiversionTransporterHorizontal.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{DiversionTransporterVerticalOpaque.png => DiversionTransporterVertical.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{GlowPanelOpaque.png => GlowPanel.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{HeatTransmitterOpaque.png => HeatTransmitter.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterAdvancedOpaque.png => LogisticalTransporterAdvanced.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterBasicOpaque.png => LogisticalTransporterBasic.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterEliteOpaque.png => LogisticalTransporterElite.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterGlassOpaque.png => LogisticalTransporterGlass.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterGlassColoredOpaque.png => LogisticalTransporterGlassColored.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterHorizontalAdvancedOpaque.png => LogisticalTransporterHorizontalAdvanced.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterHorizontalBasicOpaque.png => LogisticalTransporterHorizontalBasic.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterHorizontalEliteOpaque.png => LogisticalTransporterHorizontalElite.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterHorizontalGlassOpaque.png => LogisticalTransporterHorizontalGlass.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterHorizontalGlassColoredOpaque.png => LogisticalTransporterHorizontalGlassColored.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterHorizontalUltimateOpaque.png => LogisticalTransporterHorizontalUltimate.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterUltimateOpaque.png => LogisticalTransporterUltimate.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterVerticalAdvancedOpaque.png => LogisticalTransporterVerticalAdvanced.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterVerticalBasicOpaque.png => LogisticalTransporterVerticalBasic.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterVerticalEliteOpaque.png => LogisticalTransporterVerticalElite.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterVerticalGlassOpaque.png => LogisticalTransporterVerticalGlass.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterVerticalGlassColoredOpaque.png => LogisticalTransporterVerticalGlassColored.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{LogisticalTransporterVerticalUltimateOpaque.png => LogisticalTransporterVerticalUltimate.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeAdvancedOpaque.png => MechanicalPipeAdvanced.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeBasicOpaque.png => MechanicalPipeBasic.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeEliteOpaque.png => MechanicalPipeElite.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeHorizontalAdvancedOpaque.png => MechanicalPipeHorizontalAdvanced.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeHorizontalBasicOpaque.png => MechanicalPipeHorizontalBasic.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeHorizontalEliteOpaque.png => MechanicalPipeHorizontalElite.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeHorizontalUltimateOpaque.png => MechanicalPipeHorizontalUltimate.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeUltimateOpaque.png => MechanicalPipeUltimate.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeVerticalAdvancedOpaque.png => MechanicalPipeVerticalAdvanced.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeVerticalBasicOpaque.png => MechanicalPipeVerticalBasic.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeVerticalEliteOpaque.png => MechanicalPipeVerticalElite.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{MechanicalPipeVerticalUltimateOpaque.png => MechanicalPipeVerticalUltimate.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{PressurizedTubeAdvancedOpaque.png => PressurizedTubeAdvanced.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{PressurizedTubeBasicOpaque.png => PressurizedTubeBasic.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{PressurizedTubeEliteOpaque.png => PressurizedTubeElite.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{PressurizedTubeUltimateOpaque.png => PressurizedTubeUltimate.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{RestrictiveTransporterOpaque.png => RestrictiveTransporter.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{RestrictiveTransporterHorizontalOpaque.png => RestrictiveTransporterHorizontal.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{RestrictiveTransporterVerticalOpaque.png => RestrictiveTransporterVertical.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{SmallTransmitterHorizontalAdvancedOpaque.png => SmallTransmitterHorizontalAdvanced.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{SmallTransmitterHorizontalBasicOpaque.png => SmallTransmitterHorizontalBasic.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{SmallTransmitterHorizontalEliteOpaque.png => SmallTransmitterHorizontalElite.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{SmallTransmitterHorizontalUltimateOpaque.png => SmallTransmitterHorizontalUltimate.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{SmallTransmitterVerticalAdvancedOpaque.png => SmallTransmitterVerticalAdvanced.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{SmallTransmitterVerticalBasicOpaque.png => SmallTransmitterVerticalBasic.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{SmallTransmitterVerticalEliteOpaque.png => SmallTransmitterVerticalElite.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{SmallTransmitterVerticalUltimateOpaque.png => SmallTransmitterVerticalUltimate.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{UniversalCableAdvancedOpaque.png => UniversalCableAdvanced.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{UniversalCableBasicOpaque.png => UniversalCableBasic.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{UniversalCableEliteOpaque.png => UniversalCableElite.png} (100%) rename src/main/resources/assets/mekanism/textures/blocks/models/opaque/{UniversalCableUltimateOpaque.png => UniversalCableUltimate.png} (100%) diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporter.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporter.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterHorizontalOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterHorizontal.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterHorizontalOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterHorizontal.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterVerticalOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterVertical.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterVerticalOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterVertical.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/GlowPanelOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/GlowPanel.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/GlowPanelOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/GlowPanel.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/HeatTransmitterOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/HeatTransmitter.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/HeatTransmitterOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/HeatTransmitter.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterAdvanced.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterAdvancedOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterAdvanced.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterBasic.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterBasicOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterBasic.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterElite.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterEliteOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterElite.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlassOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlass.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlassOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlass.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlassColoredOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlassColored.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlassColoredOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlassColored.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalAdvanced.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalAdvancedOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalAdvanced.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalBasic.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalBasicOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalBasic.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalElite.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalEliteOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalElite.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlassOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlass.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlassOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlass.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlassColoredOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlassColored.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlassColoredOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalGlassColored.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalUltimate.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalUltimateOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalUltimate.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterUltimate.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterUltimateOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterUltimate.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalAdvanced.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalAdvancedOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalAdvanced.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalBasic.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalBasicOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalBasic.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalElite.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalEliteOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalElite.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlass.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlass.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassColoredOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassColored.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassColoredOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlassColored.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalUltimate.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalUltimateOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalUltimate.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeAdvanced.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeAdvancedOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeAdvanced.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeBasic.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeBasicOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeBasic.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeElite.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeEliteOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeElite.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalAdvanced.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalAdvancedOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalAdvanced.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalBasic.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalBasicOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalBasic.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalElite.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalEliteOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalElite.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalUltimate.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalUltimateOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalUltimate.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeUltimate.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeUltimateOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeUltimate.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalAdvanced.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalAdvancedOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalAdvanced.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalBasic.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalBasicOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalBasic.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalElite.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalEliteOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalElite.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalUltimate.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalUltimateOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalUltimate.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeAdvanced.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeAdvancedOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeAdvanced.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeBasic.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeBasicOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeBasic.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeElite.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeEliteOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeElite.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeUltimate.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeUltimateOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeUltimate.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporter.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporter.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterHorizontalOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterHorizontal.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterHorizontalOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterHorizontal.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterVerticalOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterVertical.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterVerticalOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterVertical.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalAdvanced.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalAdvancedOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalAdvanced.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalBasic.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalBasicOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalBasic.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalElite.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalEliteOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalElite.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalUltimate.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalUltimateOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalUltimate.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalAdvanced.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalAdvancedOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalAdvanced.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalBasic.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalBasicOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalBasic.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalElite.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalEliteOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalElite.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalUltimate.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalUltimateOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalUltimate.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableAdvancedOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableAdvanced.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableAdvancedOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableAdvanced.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableBasicOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableBasic.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableBasicOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableBasic.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableEliteOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableElite.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableEliteOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableElite.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableUltimateOpaque.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableUltimate.png similarity index 100% rename from src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableUltimateOpaque.png rename to src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableUltimate.png From 401a4b5787a298e21ed039785dc654ee9ef9d581 Mon Sep 17 00:00:00 2001 From: Marcel Petzold Date: Sat, 16 Jul 2016 21:00:49 +0200 Subject: [PATCH 55/75] compleatly replaced files --- .../models/opaque/DiversionTransporter.png | Bin 3235 -> 3173 bytes .../opaque/DiversionTransporterHorizontal.png | Bin 180 -> 2926 bytes .../opaque/DiversionTransporterVertical.png | Bin 2989 -> 2943 bytes .../blocks/models/opaque/GlowPanel.png | Bin 2956 -> 1381 bytes .../opaque/LogisticalTransporterAdvanced.png | Bin 3384 -> 3103 bytes .../opaque/LogisticalTransporterBasic.png | Bin 3411 -> 3199 bytes .../opaque/LogisticalTransporterElite.png | Bin 3390 -> 3118 bytes .../opaque/LogisticalTransporterGlass.png | Bin 2894 -> 958 bytes .../LogisticalTransporterGlassColored.png | Bin 2973 -> 2935 bytes ...ogisticalTransporterHorizontalAdvanced.png | Bin 2963 -> 2978 bytes .../LogisticalTransporterHorizontalBasic.png | Bin 2986 -> 2976 bytes .../LogisticalTransporterHorizontalElite.png | Bin 2976 -> 2985 bytes .../LogisticalTransporterHorizontalGlass.png | Bin 2899 -> 958 bytes ...ticalTransporterHorizontalGlassColored.png | Bin 3022 -> 2898 bytes ...ogisticalTransporterHorizontalUltimate.png | Bin 2988 -> 2977 bytes .../opaque/LogisticalTransporterUltimate.png | Bin 3413 -> 3125 bytes .../LogisticalTransporterVerticalAdvanced.png | Bin 3012 -> 3056 bytes .../LogisticalTransporterVerticalBasic.png | Bin 3022 -> 3059 bytes .../LogisticalTransporterVerticalElite.png | Bin 3033 -> 3059 bytes .../LogisticalTransporterVerticalGlass.png | Bin 2895 -> 958 bytes ...isticalTransporterVerticalGlassColored.png | Bin 2953 -> 2911 bytes .../LogisticalTransporterVerticalUltimate.png | Bin 3034 -> 3063 bytes .../models/opaque/MechanicalPipeAdvanced.png | Bin 3416 -> 3023 bytes .../models/opaque/MechanicalPipeBasic.png | Bin 3466 -> 3076 bytes .../models/opaque/MechanicalPipeElite.png | Bin 3433 -> 3018 bytes .../MechanicalPipeHorizontalAdvanced.png | Bin 3049 -> 2950 bytes .../opaque/MechanicalPipeHorizontalBasic.png | Bin 3096 -> 2960 bytes .../opaque/MechanicalPipeHorizontalElite.png | Bin 3074 -> 2950 bytes .../MechanicalPipeHorizontalUltimate.png | Bin 3088 -> 2954 bytes .../models/opaque/MechanicalPipeUltimate.png | Bin 3456 -> 3019 bytes .../opaque/MechanicalPipeVerticalAdvanced.png | Bin 3102 -> 2984 bytes .../opaque/MechanicalPipeVerticalBasic.png | Bin 3131 -> 2982 bytes .../opaque/MechanicalPipeVerticalElite.png | Bin 3108 -> 2979 bytes .../opaque/MechanicalPipeVerticalUltimate.png | Bin 3153 -> 2980 bytes .../models/opaque/PressurizedTubeAdvanced.png | Bin 1977 -> 2223 bytes .../models/opaque/PressurizedTubeBasic.png | Bin 1983 -> 2297 bytes .../models/opaque/PressurizedTubeElite.png | Bin 1984 -> 2233 bytes .../models/opaque/PressurizedTubeUltimate.png | Bin 1998 -> 2193 bytes .../models/opaque/RestrictiveTransporter.png | Bin 3567 -> 3082 bytes .../RestrictiveTransporterHorizontal.png | Bin 2936 -> 3007 bytes .../opaque/RestrictiveTransporterVertical.png | Bin 2935 -> 3056 bytes .../SmallTransmitterHorizontalAdvanced.png | Bin 3346 -> 0 bytes .../SmallTransmitterHorizontalBasic.png | Bin 3362 -> 0 bytes .../SmallTransmitterHorizontalElite.png | Bin 3351 -> 0 bytes .../SmallTransmitterHorizontalUltimate.png | Bin 3350 -> 0 bytes .../SmallTransmitterVerticalAdvanced.png | Bin 3346 -> 0 bytes .../opaque/SmallTransmitterVerticalBasic.png | Bin 3375 -> 0 bytes .../opaque/SmallTransmitterVerticalElite.png | Bin 3377 -> 0 bytes .../SmallTransmitterVerticalUltimate.png | Bin 3372 -> 0 bytes .../models/opaque/UniversalCableAdvanced.png | Bin 1944 -> 2094 bytes .../models/opaque/UniversalCableBasic.png | Bin 1941 -> 2080 bytes .../models/opaque/UniversalCableElite.png | Bin 1933 -> 2042 bytes .../models/opaque/UniversalCableUltimate.png | Bin 1937 -> 2055 bytes 53 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalAdvanced.png delete mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalBasic.png delete mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalElite.png delete mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalUltimate.png delete mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalAdvanced.png delete mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalBasic.png delete mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalElite.png delete mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalUltimate.png diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporter.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporter.png index 4d52e194698832e1498d6c4fc366d559cf3505cb..f5303866a6c169aa38f3e12ea2b9cc145c7df356 100644 GIT binary patch delta 432 zcmV;h0Z;y;8RZzTzzTnmNkl56I!(j+bLS%fplv&Ya?XM31OTJ`UT=SQVu9^lpn`;*k7$|( z0B|@QdP4%6rjwn>U(vrYcvZ%L>$NZg|t5uo8E{S z_l5$dvZ1KD+Xa6?pxeIh&)Qg7B8nnCmL!R8zudGt%Z6)1wU1-DW984F6GZK z412J(m1p}$0lls9Pq1=*I6{Gx9Tc-Ho4gS9C!M!dK#nNm=rvMGje`G=iQE6HwSVt- a{51e|Ex#!HJ^6zG0000# z_LiSi>V+OlyxtzD4LELaAR(5bIEl$jcE-yty*@zD<46GD<*^^|x350}0Ps9{!gxGF z94APU6j_!60J1Ct01O5L5D`SG0V5&+fQW#Ipp=5v8f966nW2A_vS+O|m>KV%AIAs) zz-TnWZue~g%uCIS%{_PSTj&1%lpFx$d44W|`9c7gPN$uQy(kLAacr+6JBgyZ=q@6D z0&yIB^=&d{^JUOFFM%XUZUkRoyIEaaM?_~>mOz@OHxbxw*1-}Chr=oX*R@^y!0UlF zb#Cl|kSNUN%OHQ9FL~e;CwLpS0q(dxfN&g zMVKGD_{xK4*8NCuDJ5TJ!e-#>>rD9L6cVZ0KL&04vJ5x&4O3-F9 zV&*CVt#z#gZ6+fx0j1R4l99opQv%F<^DYSe3pWuEOMqq$H@hfGe0iZNfpixEcXx=$ z839`z?#mKHgrX=ajl_Q$&DWf`&)g=4h_ElqDgn)mJfC=5GZAT2v@)|jlv1`eGlyyS k&Ip)Z?cRg>ZqI)Q03S^M%}1Cr3IG5A07*qoM6N<$f*@7g3jhEB diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterHorizontal.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterHorizontal.png index faafc1f87a2add3896910e176f4728f1a1012941..9b00b786f2e08cf2b908d61c2025656445b9fbe0 100644 GIT binary patch literal 2926 zcmV-!3z77RP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0001)NklyC4-w6N! z0000000000004k%t>#suWv$)X%go0WeYfVL0xqT4(QM*79iDo|?i$j5RPX=*0RR63 Y0QUzv@{z?eu>b%707*qoM6N<$f^dCmQUCw| delta 163 zcmaDSwuNzmWIYoD1H&JQw~K)kXMsm#F#`kNVGw3Kp1&dmC@4|l8c`CQpH@vygF~r0B?KMSF1_PcW7p!JBdd*znDX+=T^>TN< zg2~lQRz~&(sb5n#7qA2{X)sP<@M2JH5Mz1PZz98euS75U(qG2d*BobfW-a*!G>*a3 L)z4*}Q$iB}Zeul` diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterVertical.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/DiversionTransporterVertical.png index 5ba076c92fb7625b64a0d8254114ac1ba4ca46e3..8e9d6815131938ed8aeee0f88a671f6d82727a5e 100644 GIT binary patch delta 200 zcmV;(05|`w7ylNpzzTn=NklN1aj{wWZD4-T>pHwI*iN`$(Fca~i=N0ggjb=z~#f z1YB#qAIxG#vklV-*ckH)h^)1bP|^r^Hm21orRZPq9086Up|n6+xNYe3EfiyyisCIC zKtxKSSUE7g3E#R8^(LHxNb(>-$ljF7!7%_=lsg8K`&T0X00003^PM11!;bCcd)GcN+6rN!_3C{0x&M-2S)Zw1z6=b zvnA2Q?)@Cd2%sNWfrJ+9gTcr?s6ZjXp#ru7f(#WbSZ09DfuL>zIf~t#s)PU{X6e78 zSV6%hfEf-F60&CC_!%iVaIuH5I}aS_ZD6(FxRS{>BE>=?mEkb}rt`m$VNk&i2+2yu wXv6M@{u}PgPdd?w(f=ce6iSdSBt6;B0EeKC=`?(2Z2$lO07*qoM6N<$g5B|Pv;Y7A diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/GlowPanel.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/GlowPanel.png index 00dfb6381c667a6f1a9c58736b8f0dcb7899b500..9030348757df0fe9ee7b6b5850dd54dd35f1f9bd 100644 GIT binary patch delta 1344 zcmV-G1;6@?7v&0&BYy+*X+uL$Nkc;*P;zf(X>4Tx0C?Jsl+SMzWf;dlyYtSh2{;E+ z0gJ(jKY)-zwqTG3L3g{$wouDv+hW_8nCoMPiX1$ccrw9X z5iY<%0|`MxY)DKvl=ve=5-x_+!%TMvXvO#R%=3Pq@AvyW?|+kl%;#0#cheTkdZDV6 z^49poq?NfrnrB!;H*2bP;OENaA%LpyyF7C4{Y(nr+V++2|MRS=$-sux6F{>T*t3v2 z2D)qeDg@&eu;*y#hmd&|=u+bolaR>*UG*p~09{j2JPvfJ(MmsLT)?y&)f!~xfu5;E zzMhC94*+zPq<<%sV_TI{-YTo+wByQz-N#)2&ok?`mi0CPYlE4QL%>!@9c!q8N*sS; zSBoRSi;%kPhxrPy8B%|=X2x>BHb_4;tqzPu`1GqM8l!Il>mXfo!okrvf5Mv@J{;Ai z&&)IrRbtF#JLsPTo`>|!h8!G<{Ako=UrMzEGir!f4aN1wWD`Zz3tdnPThH+ zy7`D_x$Gx70Rm>)$nDAgFU^0qp~G=qoO|oq+J8&)9Ddw<^;`O)eqFz%-_RF22>n-m zL0`~ski*5Lj${^zgNGzYI7s$z0hf>}F2CW?OyC|+oc2z4cW&$}r|!u2hVKn?vZs^H z{*wJOdp-MU_H6d|ho-#Zl(dhuue9&AueEQqAF;Ia+6CG5FBd?h$)M+oe%73Pujg*k<$@y~aT!*YRg;F$zYXvBfAp zuyyt-9moVK+2?kqkOa)2aF|2l5+Fl)EPn*(Z~DiTQ*VUU&TRG-E9d*Jv<5wUM~_u? zT}wIjMi^L122#z*+78AiCavffeYZjiNUgil$%SvgzP~`b+R06};EMp(zud`f?S`j6 zhI6~^mYR$I`Ki=T5KQmd8GWtIgMM>q>F#F8dZ;bV*G`2i^n?03tGsZ@xkR008nyL_t(o z!_}8D5`-WOMTOa(j*=sJMNi>N5_V2d3JvLMNdYe*$93h(DbP%O(bQ6hv;?3YrW zjte2Oc8u}!-t=(1(t|N38}Qy|?c+F5N;v0G6Yu-ZL;*EFazqHj*3pjIo2w|G%nMA&>>!2RE%kBIX_!sdw9_SsZ{=@sj z7z$u(e2Ey6^Su%Ep#J4f$wz?}aqDca<+_UrF;(rhT>$Gjl@#WjuLr0n8Mb=D{;v~} ztpeCwx5(jlQak-CKCeKkO4eEuaUJz0000! delta 2950 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 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterAdvanced.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterAdvanced.png index fa0dc1dd2219dbd4f1844c5b862264d1e41466c7..a1b6d79f812f83a4549847081d4450f05cbafe21 100644 GIT binary patch delta 362 zcmV-w0hRu^8lM=jzY2c=N=ZaPRCwC#S3zpRKootGWKj^b5)idgaF;ve5Z&~4UcrsG zX&~ULR0`GKx>UK3?V4X5+=x;s;Z3d zwbo~IFRd4#XY?LGBsWSaBuQeVOeu9nG1JR(1i@)fMNt?(n&*G{Ai+rjri^KS`}_a^ z%;Gr!;QM&EYb@BknC0~+3EPmJY!~al2XYm39KV0-}sMHc0S000K*!W54YVt^fc407*qo IM6N<$g6V@X6oRCwCNmrat>Fc5{m?sjBnSR`|d*-%`94cvokP+Wt9 zu;CJ1g~h~)EvZ?I<*}WaflY*}R3$mF`>B6k>&e5zgCCDa`o0GoRioJj6zI=AB7(ak zA^?~fW(|rUChT@Q%nT7Bgn)>UQX=O}jFFVmYVYoZ5a|1!%jJJUb2uF6x(;Av2;lDS z?&^72yF2dAFbtR(s>(17E5OBIdADgAL}a$N-|uP8=QCw?UBGOISwjfB`BVUH+v4tQ z$I@W=y`0$0h%u6L#@!jm5rDq$Cwm=DK?3mO_b;|4WU=IH z@W7V!ZkYqCk}R>W<$)_sSXO~oHg0BU>EX3Puw_IYW2%4316Llnd$+I30n5{i2x_AL z#RH}En@i5*oEa*D7^dqSfOck>8LieM#a4B0$yzRsDWz&&bgWg3V;|R zno>eU7{{?152Ta;$T>d&D4W_L0M-C%b;F$Vb2luap#Z7T4a;HOoo0-YHU!2Pk?Gzp zue46y5F>s6a`GZjhH<28+b1GA_dQ+P;yLr_@P3kJJ3?q?Nw$<|TN$=p11nLwo$gLI ziPK>iXpYC@i{doKh=_1Hod9@zeEch~FTq?T+k$*n;`DSnt;FK;qi-c+h0MKdn0H_9K3P3AaS31YmJcX?vLhQ{Ww|tHXII@3TQc8aM?#_Cs}Q{9#V6{uT+VpC(4}U97O97 zk?wDht_P|?dES2mor(2~$X)@x8-0?A&k4U%C1^c$=bZ4*?C8!_59koW-EomB!L_() z@Mhn@3Kk202SyiToEe4fynLog+TBcq?u(TWyqMH7z)ouB8fe?%^We+57 zs&cv;iuWCQKGg7YDj<_g?Y_J*>1e`<&!yX?=IfJG)Sg4^R)YU(4(CMVf{2t!cd`bU zYed(;(-YBQEMGYbMx)VI`L_M>bj^M)haF1rGXT{#uYJg!danQg002ovPDHLkV1hh5 B+nfLZ delta 673 zcmV;S0$%<97}FZCzY2c>en~_@RCwCFmqBjaFbqYXC|TA7C?+{Zv+Zr#L$p`vC3>57 zn|riC$;~vRwTIoT|2+y6+!Ap%_C{1!GuPK^0{^I57YQI^ZzZbq(zr z76uF09SNX(`@?_3!vir!T+N@g7FGE4<0J2BzrH+St!-GK>Qq-&7TO+1*B& zs_q-FH8~0a%+Z(hO+kkx;fA>M(HO?FP-<@8HRYk~r<)~2 z1i8Blx4ImNKs^t{iR}i8VMWjoaH}e+%6=UKK=lbAvj`%>Jg^m4pQ?(~Nj0U!sBT<` z)l$kHKq-Y%%BWUIDWwgsl2U53{HPrCKBb;YIp<+zP)fOV!@BeR=9n_5K2;T|(d=X# z$ANkxx^;is2=mOAGuFV*&rhvf^mYGudsF}WkGX!S``DIq(*|ydkuc9_&ZMuuuhMM7 z``vt!%U&u%Lh5n@& ze2hydJ?CUgJ&2XJj+8nt!2%c>__z627ErfGtV2wf~=7tdJl7h~93f}a5Z XepIjyX)IVH00000NkvXXu0mjf3|Xz& delta 652 zcmV;70(1SY7`_^?zY2c>X-PyuRCwCFSIcqTFbrIPl*H#8tTude+DQR9Cza&x0@6;> zj7@z&A_ob2q+i__K--DSUB1kDAr34W{&KWsptm}HrdwYAsvMhh_kB^TCA;3&kkLTO% zhSCg#%~RFG0TE$c*J{0pRBQXbul9X-cz~a#2{A^@^NbJ%IOpM1F#40JsMGP zq%AXV0Lo}@K*0eZ=ez;9rx&5MvE^@hFPA$lW1yB=ZO;HR7Ywwyf->c~S^k&GSTf+8 z`%vSr(t$GYx%||kArMnv9){sRbXN;enGL*3dUx+`in3yllq+GjBgnd=J8g zF<`Oh=bWLcSeiK}EPFYps^H)pm>C0en;=xhu+t9!Y;{^$Kwhl_DJ7`t_BAvra?Z`} z-vEfn#=yOV)+Sj{F_2O^ii4I697So~vmm9^>}za34*&-PO{ADA2K=(F2*Uu`ui|C- zac?A43s8UhiBgs&-8&79?Xx#2tH@CkP~Ds=ob&L$L)UFpvh|HtNPg6go$vUw)~xF~ zOw)vUp5e!FteR7kNej-`*Vjrq&kd|qI7C#96Vc(&#_SO0FN6ReW2~CRa#InhI^wg_ mGbn5GEXWMN*-C%^1^|e^oclyi*hT;V002ovPDBK*LSTYaRyDi; diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlass.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterGlass.png index c9a1b0245b38713a1f84f18326c142c2782c3b1a..7d24d36fb221ec819ddb0f397b1f5fd5f9eab420 100644 GIT binary patch literal 958 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 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalAdvanced.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalAdvanced.png index 47a673d7f2f41e253e295bf79fcfb033e74e2fdd..4eb2d1685d269d92defae3beb8a54bb3b8044e38 100644 GIT binary patch delta 235 zcmV{dd`~GMr=LaPC@z5Nx?YND znwH!cBj)pn`FQy{thHJFbOm&OjR1h>_y7Q0PS>y2#V26ewoPN=ZkU;*8(zC{Zm>Q5 z)P&SD&3{io1*iZOpaRHyp9PT$rH8Mezi~ndJBa3-K|J9Hh^Xtjv_&lvc5|~4(I%p= l_EQrM!;l4$3Z+NKdjPt|h(6q+HLm~w002ovPDHLkV1f>-YAgT% delta 220 zcmV<203-jR7n2vTzzTo9Nklu#vX=p$ijqh4Q^UXSO>U*NX_0uX=z1Rwwb2tZT-0uX=zt4o0mD z93yGLAH65xSo7~ z2*?N!$$vwldhGlG4*^DNYwQ15;|3`)Vavm~@;Gt=BgVYZM95)cVPP?{LtxYaqYfB# zz^DUQjvqfxQX_J-QA+hF_*1SzQHy5iw}_IHlm8QHwP0&@BPTW%78Zg{be!gmCc+yx jZjjW79Bq_R8vq6X6A{DADl>0vfN4RLX zoqKwSH}ZvopvW?l^$S?{ppdf|m zFHeOR3Op`9Uz6;*!7|ynw`YaA)oVlMR2lbmFQ~BEypMw%ggC`l}|$ oZFu%(-CoV-dpy@~U-c`Q;Z1C7I0tLgNd_SBboFyt=akR{0AoySQUCw| diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalElite.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterHorizontalElite.png index b1f49898612b58813b472aeefa767658b3269579..e4cf32ee6e67b9cfc242777b1c70761009a18493 100644 GIT binary patch delta 242 zcmV8C%4lLv~LqB!*#k1WydZ5b>?9>rxBvJxZ0{gb<4NF-FwrNi?qJ21skY z9-MP)FN7%eX~g+>^L0omtMqsU^i(qd;Qe|40Q$@Iw{u_jzWHhd#5j(zxSK3Yr9Zs& z$Mb+4(c=)3G3LJ~zy{a=8(;&pEK3zcGL)Xa0(HBugc1%AjH)1{BYN$LXqu+DM=d4n s&cjATyNJH2$04-VRzV~~>Dl!e04f8Ai!>vqrT_o{07*qoM6N<$g6ZsTc>n+a delta 233 zcmZ1}zCe7#0j~Pfo-U3d6}R3@Kgio`z~lPg{pDOsBc|J5E>&8^UQcMb&%9*EF_#zt z@n|QNvNtwIUKY+$d$?!<%cS;d293`)%}?S3Z_TK2UN0AWp=jIjZ@hI0(bW?62j+eM z`|aaK=3}3gIUGJLeW%61qVk}8%iGFl^=oQl($+pc_4?znxrPs(c_cQlc%UFxpIMnE zlP!gKwH2)uFRE!L`n}s5mbJF)&)Hu|{u|eva(%tx{I#}w5AH4S2vFXc`_rSyb5YOZ eiq5Y2z3&sR*%gf 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 efx`hF0|4Sih^!EvO+1mo^e9EheR`)tR@r-) zsNK}y!jRYoTy$nNL&E1X^MxmdVTkyYQYy9Z-lJ6MpAbUvdyEk^dJ>JRxdH0BZXK3o zS$iQwu}>?`*PEY1N?E1HC!p(P1OUwQ3kpEr-_{vF&PVi`Z$M%gV`A|(S(r+1c}>Dl!j0A+K8XBueYdjJ3c07*qoM6N<$g4P9Y1ONa4 delta 245 zcmZ1|zD9h*0j~P%o-U3d6}R3@-^GQ^|h|}seQo|1|aZs^>bP0l+XkK3}S2B diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterUltimate.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterUltimate.png index af11247a8fd5fb9b9a273949efcb41a087cf8d97..577806f9d7e8223c2f9900e57eec33fdb7103c32 100644 GIT binary patch delta 384 zcmV-`0e}A08nqa(zY2c=U`a$lRCwC#SHWt7KoEWFE~St!NK1}_5PI@dtpAZ;=oj@D z`XQx(LM{yy1&<|xd_gJd_Ov=pW@3vQ^x&LacX4Ll%zHDcBuOj)SZkrRhO?@wz?nN! z*EPFutvxw=?t1|Sw!s51?m;PqD2iCflu{=UQ+R1Qf}p)qS(bmS)1oM*6tpRzkWtw0 z=Z^q@&E^FF5XTSVT6gRN!1v9T^)omEDoxXdxM3JJ8&|tK0Kjbd*~>w6y#fHN_fO5c zEX&#yP&g!U@p4nbB$kH9=5m;QJ@<0#Y5=!m7ouYkagooK{Tw(X*ZVEoBZfzSMngN9 z?;6kxLApm(16+9IzG~p@@WBT_b-);Nv71U7GwFb#5=mjYWDQWZjh6-9YhdwDDfVr2 zKBVH;sRMDm`txLTZvDD@A14dMiAWL=mnK@tRKTPWoeCbEh^DdpS1-u(yc52zA5Ura elNdIo;Aa4|rm+Vy^?$km0000$6z^ delta 675 zcmV;U0$lyI7}XlEzY2c>fJsC_RCwCFm&=jcFbsx2fYigetoND}kZ~7jByFUKw2?;A zM(&w(up>(*i5z6oq~qCBOw4FZ(USfjPXcl}o$Po#vMdW&LY>F^0Rh%+r4}>8dyjJ- z0i1Vu@A2LvB8=k*K#Z|mAp}xNq?EW^E&z<<$g(V~>xw@fkIaAbjF}-K4dCH$c(|YU z%#3Z@h%q7}tZPd+gaA<9&jjarF5madval=*=ku9)o=|moKQK)rW>y{^hM|Dw-}>V< zxvahSzO2oR%jH5!sluD_nF+wxPv1bAuR#rv?_11P48(z5*N>k4@%uZkudgi2f_Khg zW;o|S;Md2WJX3!@|M`Nd77MDXA|j~jyNdlcF?MCIqT99s`{tF@(-~x?0W=3x&FZ-# zc<&3Q=188ViC#V!#}N@B#<&xx{quYSv|8$IU+({VS`ao_z+KvR2!W<}sj8MN=n(_5 zgWj^BiGJ(ifi?yj0zx+_F_0H#*2Mx+1-+`G(=^>qHR*rr0_Plh39+vSDh8^G9zM+E zOz3hHNCmEndUdzvq91-~Z2V@nw^n9dEMNv16F_I@aLzHQc1ywOYJM|AbJrSU>~$KK z9xp$DLkKMa>(deyYZnXT=Ag@YY&7oHlu}{Srx4r`r~^Ve6@rvfakmdK zGC9Y(ZPS+002ov JPDHLkV1h#_PAC8X diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalAdvanced.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalAdvanced.png index fbae4e4934d11b5cb15843925d74e88fcd558288..158c1e1fe106071f2270d57eb9d32b3d2a88307c 100644 GIT binary patch delta 315 zcmV-B0mS~q7w{LbzY2c=8%ab#RCwC#R!a_oFc6&_7z%lv&zld4<5<8)!Z4I79Ih7t061mp2%;#0Hj*TX z(vQ>fd0y|;S(>Iwr(jw9rVjyIl}dISbb-QYV}KB%_JiknMm&F|lxi^>Bk*`i&xaYH zaJCD*Vb(c-!+}#EbH`uz&Y&1GV9VMW=lln%pyB{A!+{CY8&DKQ_2T%3r^O05o4m)ljGIvD} z4q!|<3vgxNd+aku09&K0-=VEo;_&rsq#STNq1y@FPUv>RzuyVp0{}V$hOpg|X*U1> N002ovPDHLkV1jH0i?09x delta 271 zcmV+q0r39t7sMB^zY2c#=XxwJT+bH(z%)%L06-Fw;94ZN?*agl zKoT?+5HDNercVR31w={QHZ&Gk4&K?&gwRofdKRn-$f!VLfir&t>RI4qK$ipVzaU=t z6gQZqz$l>(6^fGqT@r2#F!ciNz}JK@!vcEt0Nd|; V^$Y3K+yDRo07(Z$PDHLkV1nF?cgz3) diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalBasic.png index 42a123df294d34a110f3c9c9f104cd2808248ebb..45bdd474e34d06b5a4cd8731e417507963486d93 100644 GIT binary patch delta 318 zcmV-E0m1&x7xNdezY2c=9!W$&RCwC#R=o~_Kn(uw!02eu#Kjk2ad3lI@%elf2IJ4n z?4~A;4&32FvBVldF99Q+N{@W)ef_zrIF54^5{4nE*e_22fYJI~+M*~z9Z8a;)NiXP z0AR5RN?V$yrLNJk_%9FU<3c-s=YViFH3G=<{OJeJ^PJpNYb}3bzGNUfUI75ZFC7yO zFqH#qy#_cPJOz|HYcGvKD-;(v-r-@h*8V^jQ0@lKYG5V@V2pWu_`Z`{aZHK!hI8QJ zW)AGo(JoL*i8N8}d|^1f6OKtZTF=C8`=htuP$K|7uU)?dS(df^7EC(Y1)TQEP%3g~ zO!FGxn1rLYO7u3f#jg=_S3HQnH*gNaFN3Gt($QtQAn3u;qXACKQ^nZ$cq?Q6V@J z%97ZLp{xrU@?#V*-vhpisrSR8iYfCze;Fx!Kx}w``V=gRNVbaxCKSfd^+0JRi2$P* zN*^T+oC4HLU|q%aK=dH$E+g4C=3pI5lQ61c$rY?)!Xu#{0S6b5^}yB$OwX?$0edMZ fmjd0v9wM zz)#==(7K^8i6!z&z`(4^(7c(x`LZw!H45>4-yCsMCjbDC&!sL10yL2*ipsM(TmS$^ zeJyoT%JR%HvN&}=yzL$Uki`8A7#utrIH0xux*&uYR_#bf`D-_RW5MSurETh2Es< p#Wc*iYqk^ae9arYyMQG81^_2tg68X)5iI}!002ovPDHLkV1oElgU0{> diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlass.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalGlass.png index 2d08c1a87805fee8e07db656ea689149d0ed5150..90ea0180b520fa3aad3a49c3cf2134fa90da890a 100644 GIT binary patch literal 958 zcmaJ=O^ee&7>*QVEi8J~(~uQWu$g=`O%oc|Hfh~}DWzN39yd*m|g3@?9&LbTnJo$ne3{$$}4~ArDKh|6va84e> zWkE#I4Aa=pBFCK}0!C=!hdTS?!zUK_p3WZ0Hg87;n)(OJ7#%LV19v%dRgc|&02-M_ z2?9hMkOe1UqGdX};??LnKZYz=g^-!fUWgjnJz(G%0hy~+T)w6NMdbupQL4&)Ao79? zc?n8h!?nsTYc;dlZCRaGG`LQ$;Hh)S{u ziIY{rWUpW_QR2paM0^~AoY5KKIni0F^rD0y+R%o{x=plUFmoa(aC}};5op{04-JA% zbVB;*Qtv;BlffcFu#XZvk6n6kxCcv2D!?6XJv}vP_+&ES&FqTBoMg_@U+&?b6IHC^9 zmmBNS&BpvFq>hiNwO_pcc!NF*&N7>W?CkrgaD`!ZN^kvNr_#&ow~x=xzn;H&_Sg7) Yjb|RdFX`XP6DxmFR=aDyYaKuT4Q3E2@&Et; delta 2888 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 M07*qoM6N<$g6h;*6951J diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalUltimate.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/LogisticalTransporterVerticalUltimate.png index a102a49e8bd94a539e8be95ee20c1384ecae540c..a38ca108f92a9ead265affa8d08d7b817cdd2c8a 100644 GIT binary patch delta 321 zcmV-H0lxm)7xx#izzTmNNkloza8`ATcf^CJsArc< Tgqil-00000NkvXXu0mjf$JCF` delta 292 zcmV+<0o(rf7upxFzzTl_NklrKx#S~c5uZotU<*Z48s~UbkrH) zDH0pYcFMfftDn1ky33r z0|1a*zozHW7|e3cP<~VeNzXuLK@7qH7!_WG90Z_Ns7i>92u**SykS7u0VhII+x#+L zaK@m(!Hx(sBB2$hm?~~04D5f1dt9(Tyg*>sS1(V12_@6Vciks8Nh5X%iJ)fyEY-}fOF83ue^aQjj1JYD3RZk zV$>L%wpxOpNiq6E6s1)^uy&vSuO~zgr`c}oWE3#VqBHEhDNneqyTE&|(x*Kvt%s-S g{fr5#C3p`2h}jZqO8{F|4FCWD07*qoM6N<$f^r{%W&i*H delta 678 zcmV;X0$Kgf7uXuGzY2c>gGod|RCwCFmrZipFbsu1fOI4;;>nG=>Ls$us&|OH=yVg` zp}U@=yIx9)L=s)tWF*BuN+TOH8i^7q5DyO^Adioaw%KfG+ZF&-#e0vL(RCdFB7&JA zBBSr#dz^EqDyqtAwL(OQF_Kaugg{D(lu~&YW2CAo+P0&qx=A4)r zAp}$vfUfHhk@792ROaSQdhfZry91!EYkbo*G)=?n>nl}N6-!pD6+oGs#~F?3a~=c5 z@+krtg|=;J+m@=T@FG$W*!}&D0RrXD;rX1%V9s#uaGeO`y?+1l#KXe_P1E32wfNS6 zpI^UmP5JTXS3!U3pm*;-=Nz|^tjo;MzV8c3J}b}9&ll&}O6WRiVG`EIxS5CYCQ zG_%+_S4j6iGFQ0`j7=%+5y+dc8*yM5x|-QImxOctJl6%ln+q7k{StnjD8*JBPm3bxl4IWg+F4IFqd}VQ6OiYXR6VDSzjJlu{|5WTu6m$rE-s1G3SY zi%RePMFh@S_>oY}I)OI?LI^j@gfT|Uj2I&tLMVfCvSczE8m+l>9+uG8mTat$xz)HKcLexj@z zJ?AWUt~oU`*6a2A=5+d_X$6zVxt#;>-j_8wuVfypr|ZpZ)SUhs0AHxTs`#6g-2eap M07*qoM6N<$f`I={FaQ7m diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeBasic.png index 82f94148c028cbbc330c2908306812aed0dc75a4..384adb41b26d9d5a7d1a7c4b4433979297fe534d 100644 GIT binary patch delta 335 zcmV-V0kHmx8-y6JzY2c=FG)l}RCwC#SKAH3Fbq7m`9xv?2IvkQh7}lv6&R~hKbZiD zzc%Kl5eL{jM5IIrf3-^5BTRrO)+v;Q?H9K|;f z(u0Vg>pBxM5qW@^;pKER&Gk&vG?|Nza(H3bYA!`|#R<_CXr&vp?A09i&9y37*< zdXM{~y-qbG^kRKDf3?7AyL!F>hU13KnNP}<^brEzM&dyILUb=8*`QylBRV~zJOaEM z?qpES$^lop>(v3LY(9rT-`9Z<0zsEIJOdM6u{VPPRjvapkqnb$P6BHTS6jVRkc|VS zrP%U^EK1>(f~7}(&Q9m1%aJqsEl&vYaF*?6CbNKf7M-iDDoXOPzY2c>wMj%lRCwCFmrZWlFc5{m8B&(ANRTTOT@~%Fw{bVUhJ1kJ z7DZP*PF4llP0t}kKb$UX(v%&`LSknCgQiIPjo!Q&a%8<;+wJWwZQBCioWpyMnbCC} zB7&Kv(K&~64gl{x&N);SRi!8jM1*l12_Y~H10e)L2f&FlT1QFbt?FKyo;)g%HwSRYgSb-m_Y*0H~@8-!u(P)A0QKOjT8g2t`p) z6a_%qyjra$OvLdeJI6rVwzO?aS(bPaNx;9q|J(k900y@I%J#(sB4}LL4+nd*iCOxo zi17Kx2k!6hY1@AmAL$bj4EXx%6W6q-Z-0}9%nXeVIOh+*kJ)7ggpZy@1cNW zOAM&$q6jRB^SlU1Spc9%t7pKM#d$6Zrh?SyO`aNW6WM=R0;Xx0PfnHAx~`Xt?7Rl2 zH6f43DIH!4JTj0AUMDA@y@Tv?a8)#(;bxabKbu$*(~IF3t`;Nn%$IfqtNwO6HG z27FdCHoc%|elT1eJj?&6I}IUVwu{RfD&c0cS)487I3`Su7fMwbc5#u~9mg^3 z8oe3Eah898ixs0CR>Yh*Fz3M~i&4ZJhGDCLcsBD6moiIOyZgY@f$NmQx~?aMaMCa2 z4%ij&kF!Ij4#Y}0sfZV}qwI)!+tmZ#_dU)z`o2eir}dxIkmOCpzO%?4<-E?&X9wyU zhGE}dc3nqRRhSuHettw%@!lV`W^sP*;1ZG4lI2jX*)R+#+m4#k2y&Pz08P_O#+Mq6 z$sJEMRk=LYc}IQJoaW79{wAkxN+OazhaFFR)0pS^dSoxh`#%7z0MMPLvwOV&0000< KMNUMnLSTYzQeEW$ diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeElite.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeElite.png index ccec2dcb7fd440115886b88633a9a7d75ccbe915..dc08dc89e0acfed2d05106b89d8b05814d91cd2e 100644 GIT binary patch delta 277 zcmV+w0qXwg8p;>2zY2c<^+`lQRCwC#S1}HQFbuRIQ|E4-EAfZCt4klyr7uKf?bf+d z5_gI?2^)rnf~wqvM1;-RK3~{-FGNHlLT%epMvRd(Q%m4bBG;5+)EJz$ zT7sWRG5SLkrNy~h+UNi43DLu8wi`Pc1lu1NERCwCFSG#r^F%Z2o(xP?4;rrYqRqCY4Iq(6HROwyi zCu7O1q)D-i(6T(%_QEv6Lio;m=F;=?vn-cOc<(_(U}jirAtKoC_aGwFLPThq1|kA$ zEsQZ>W-v3FrU4NlrG%U_VvGpeVc(d8uek3SK3*hL1{*pcnzFx1f z-EMC`Bq|CRV^Dlyt?d)#gRy2Jv{9Xy{1ga;gplvV5W3M zW(KE}X1DQHSFF1)w{1J?Aeve&%&cMPH=EH+za#h{33YACIZv7emty;#QdLY5>C2Fr z2P5(t_@&ssr&M*3E&G7(akGru2~zKeoKiZ5V5V_uTx&H6{q`7Rz9CoT;=pz-L>`8_aB++z+95p0YR#u)V5G2x~AaU>G;npTqy zIVCG}hK$JJtFc#WI%k!Vi3q;PFBoHBtu0jS8Z|pd&orDVrHjQof?05AXP7ls$GzY2c? z|33pM<}oo0Fc@$LuxM**!#RKc{DHF>85yy%VL^->yvWhP#Kc6Bd81LllJxcM2oHgh zhcB_a3@I^T%fqs05AX*yjAN!=apap0000< KMNUMnLSTXmd0!#` delta 308 zcmV-40n7e|7wH$UzY2c=6iGxuRCwC#moW~5FbqY%QEtEqdXp|aNEh~mu}e=7-?AHL zaEA&BTqgkTVZoLHydTS67=ykzYi9VAgH~1v2`W(hG@1C~-|BMcQjs|~lP5|$Hwy2c<8GxCy zO-lJau-(xnTOmq18iqlBxkB$fn7OD6At1(BAE14P4d65YN9RH{fTMGvt2us|86kvS z5UV**8Y-z_Qtcfmogl_o^+(huVFNe?z{;3V!iZ?2k$To^u{i+uxZaZ<&a!DaU%1q# zte#%GSu7%7n`$i2Xf;~a>pIIPY6#c&{Vr3P(^|Qb{yhM164LYozB~T_0000==Mu7G7{46~kLa6EkYi%o4&RJ1tZ%QfTeXUh-`WZDC!wGfhh5=wU;0bWn6jKj%6_!A18@6&2(p<;J$HULvbN~PV delta 355 zcmV-p0i6Dj7nm5ZzY2c=LrFwIRCwC#m%VYrFbstsc-lZKq)Cw`=ho|}C$$GLLyGK? z45S&5B7y_a=1*kb$pz5~AbtpO90H4J|{O)lN!*x0HB!~5qe zjx>jZtqXWg0p9y!QZ0VB0A?;WVP=F7ni|x^x>A!;a*VNQ6SX=tO_SWSLhn78x%w`I zfEeTB1@ymR7w|L!_TGhu3D|oVT;euK zK&P*>h$R`NqzhYoU`r&c?-yqNa71Ja9O_UgQjoEEZo#OHmAEj) zHJ58tf>8S|<-^ut)HjUdSftt*)dowrzv%z~002ovPDHLkV1jzE Br$+z) diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalElite.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeHorizontalElite.png index 6e6d4eadf7d96c083b4056759f15b786cc7684a7..3290672752d2f8c4f444e15ff99bdfe72fe1c05d 100644 GIT binary patch delta 208 zcmV;>05AW77={? z|33pM<}oo0Fc@$LuxM**!#RKc{DHF>85yy%VL^->yvWhP#Kc6Bd81Ll@YWU;WY7}+5(>VQ!Pj5=V{0W3(zj~^$g5jol@rFs+y z+pQeoAt3g;fncizTeBNEv9YkQ5Nx93G;cH!-nemNv{5>s05AY+`c><$03Uh)0000< KMNUMnLSTXr$X|y5 delta 333 zcmV-T0kZyv7lIhDzY2c=ElET{RCwC#S4$3qAP{|H>;=4`8~5NXx`3XpJ%wkOE(!*x ze8igA1(O&9kC}ObKJ#dvXNC(R0st_tQy`+vSVju>wPZb+(=W^NRYWGI#y%&PpQ_>4 zb#g(h88fd}IF^lKjeWD&E-^C*Qa*#7 zIpM&}P{in9gZD)v?ny%$-b>!_QXCLzY2cRa4u}8|AOb`H zq?CqAq?FRrSMYqiCwJhxd=6U+SG#H00N}8q@A63qbIwC0QcCIBSO)+h169ap%IDqy O0000RH;$4EzAs(np z4$-9-=u-F$>Jq|?qCdm};z3#xi=_Av#1tN_>ly$cgn(X)i0;mly*OsJZG#4=70c53 z@|>!z0_fuSyKa_(&^4(%{i&PkGtB$nr|txR00JQSnkDSdIz@kCMDgAgK=SqZ*SPt4 zz2KQ^!jsnkI46L$wpdh)9|mCNViRVDbFQgD4R$IuDHVI~n|_HJEG^4&=n}Bjf|;v% z&N+DR`vZ*EZ~&YJpmjLKuVgoX+T6&^kE!SQZH3TzH*=siR9c75!~cPnJD}%9G$!Ey zI0b-t`~BDjB4|^UQX(PNA@U*yl986Xz1>VAF#*i?%U4p#QXZFzmuhobr@hkTJTE7t t8mc6sC9%D6!+D+$Yj_M_Gh!Y89{_%O<*hET=u-dy002ovPDHLkV1fynr#}Dy diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeUltimate.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeUltimate.png index 1943feb2607e900b3c57951ace71ba701baf8023..453b778aff242cb2c1625a87f66104b29cbf2004 100644 GIT binary patch delta 278 zcmV+x0qOpL8_O54zY2c<_DMuRRCwC#SHTT~FbuRw9$lduWQB@FxnF zj}OdDAq15&W}Z=u^kO-hX8NbT@716wrCNfi1V|auemUQY26}(K?rNOlG@*s={rDt4TybRCwCFmpyXZFc5{mT|y$=XgrfilM5tG?%*ni@J*xx z*k?+roFS=l0avL_N(8VeNI=k^MMsvmfe2D~i`|EZUAe!%x5Z*X*L9c~RaH?{6##wT z17K!|NPh2}!_08bQB@VHimEc3%}`ZB2*eoa`<@shF-E-i`FDR^*K}RSX0yR977OO{ zImawHa>~pM?>(vtz-F^SMDn{B8B=8~e$0JaZ`8{nn1rta(DbHuD6gVvz zxpQ_e$@3Ww>_i})$uwRSeB5NhGPAu1TpN7Ufl|^nG4g*{cwWu$NfFo+qSBjpIR<9= z4pCLKyye~!f3;ej4#AdyXb2$_;w`}+9v)6{aMyvGo15+JbY<|8gQ<$rvbeZ32+QU2 zMezM=AJ8*@f^gtJE zNI||0)59>neFP4;BU=XmocErps)jyL;LFopAxei0#@Ko6%^x->2lKLBBVhu#^?FTR z*8u$b@I5z~>5@wC((|!9BdKW`OO}@{SsGJw+V@8N>E<+r>G}D2QjJ#<>sWJ|v_JKo zC!5n_4e0*jsbLsuf7YK s6uUfQIHp>lH=*8yYJuK_ixYSb01IhW_vV6h#3iACdt;S(c0M zFmr$Hh-h%I7rbrT#rKH*r8;JYPl7Xmj~MU=GOI121rL*OAtiqnJ&w}KPbVvFrycD^2Evr0B7>(pAgIXTt_P)>^R-l@VE0K0Aa< zD%eu_oF7aYk%eIjw)%mCacIFuPH1Jv+IIEJNbctxJ8^ahH4N-Ep-Csy8j+P0DW(EW zY(mi?v{*D+ADH|v$SuXuGRpaTmedK?n9xXuxxS4h1K$AvS?0o@1<`E000000NkvXX Hu0mjfcmbeG diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalBasic.png index 38bd95080c1839d0f556d5fc5dddfb1495e4cc90..81b9b7ef669e78efe840ebf7a2a6baa6df185455 100644 GIT binary patch delta 240 zcmVRCwC#RyzvAFbsW;1wBX?Z=H?r(Bt$Dy-yF3y?EC`2KJ8j?YpgfP#~dh$aigi!Gb=iE2N^Ev?l=>BRo?>&BraU5Gd-Od1j%j48) zF~*h;*g1A5Kr=SOl8?2v%S9ISI{67O;KBeYl1HEPea~r{007_bzj*z8M$Pl}_Jfy?Cy+$bG;k#0 zACYo^wr&6Qy#oO8$SemR$8q7c`-)5bz4{ zf+kd7j2RG-IEJMm%)Yr&oY8{ZAQm?vv;t}j#n9tz;AnZsK+fs9&a{jc zMRauYVHm0ukzRgC3~P8VD{0=`UP)9LNv;%8V8zPdvtMyoNOEkj?t`GfBYs4yOKI*X zmd9Uj$7(0!6{E=5f(r}ef?Y6GVA%s3K{V}w`4}n-i~@P2Sh|UawY+p6$hJ##A2{m~ kJG6_lt=Ou7&W7-B0F)-%q-LY#DF6Tf07*qoM6N<$f?D^seE zkPZCkPiqvSl0s7wsPrX7IA8AUL&kew@hofYtHphP1^^7VQ=2*G@JWRbTE9D90RV^L z(q=Kn)^}LBRwqCsHrDT{zg zws8wKrNI9LQLS~GK}4JlXZg*=lvLw0j;WV$lmkTcvmAJ5rCLBdA|;ummoZmT?DCA^ nm}-IUgt`-|1-cWiPT(;BeRNgq_u?SA00000NkvXXu0mjf(hP0} delta 367 zcmV-#0g(Qq7o-@lzY2c=Pf0{URCwCNS21$KFbpGg?g#wBPT6G-eM1*}@6;Fi0~wG( zN7b~`go-FdOYR)sK>|QP=6Rm6Z5sigU;d)Y$4V{N&o$B~zKNM>97hWJZ&U-s7>nLN zY=Eo5*Yz2L>5u^Q2AH{u0UP+=Arl_au-{G1vVjv3kijzp%$$E7vcJY>0+;}tB}fn0 ziRMBR;y_CeaAEzxfP=BLVfz}mxOZYp!Kg~Vw$F6uMA!i#29H= z7W4ZudBGzE%ccZs5<=^?`>zXR6XqQ745PjAL&?c~!U)O(LtpSDftcRRz$@U7ydn~0 z4_L~`I}cPH%SdMs&>;_?Bp3wTi-G5Iv6{HxO@Hx~OoMad5K33FQyE!;=#`=|nQ%W6 zUPWW=f;)BGHwVr)BBy42oSb~WjsawYwEsM-sAJFAZWhIs9FS}IZ2%#2+MCFIXqEr~ N002ovPDHLkV1j1Kt3v<) diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalUltimate.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/MechanicalPipeVerticalUltimate.png index 8beb8213bc932719ba4d32b9336d11872fc42e4f..692a5a51ecc89b3e16db8c09c4cb6c97bea5ca6d 100644 GIT binary patch delta 238 zcmVe*#xgOihIfqXwgwXo^?gRk1 z-Op_nV{Cngg==vFG+@(>`B-abIVhzhVyXqiWzRW}K9FXUe577tt87zY2c=d`Uz>RCwCNSHW$BFc6$Ybbypc8ptO-`8(^Mk z6&T)oz*of!3J6Z`bKsEy$1BJs;RLam1271qToT4U_?ILMyP&f2V0jX13A_hL7CGQ> z63U7Mmn9*!+|hq5xF87w`sYEEXf3lO492kvqLc)stySU`iMp=Vl-L|HB^RTXS9e05 z488eLPh88Xqn4maS_yWy3KDcbhqL24m)Uiy4Drl7w7jUJf&jnZwMHVTffZxgWCH zx)qI9wbhF2r6Mckda01Dlr1-EQ}UiDS-tETOWi-Z`}=&(`MrF;-{<-Mp6B^JIRPB+ zWqKxh1Oj21uMaB_pQF^D&Jz4D`TZe^PpdJnP;3htjU{qr2*E>u@({pR!i_-!5w0L9 z{u<&!Abhq~6cmbu`uo9rR6^#eF=T}#4rdbxF7AprE?LNx1Q{RCN3`W48IRpxJ5mF2H82b1CrA(}=F4&=;wNN*NC49*3>K4Z z&xRnn69jqD=pGC@-P4iAqA;jlG)LMZ*HHn7t;$lE`a{njUi${0`sh1y07vFp+eng5_ zybLex*23%02?Q;3UzSIZ;{IsSCiK6oFD}Ql_F=aZgjK`YR@UiFs=;Y}4r(4#v1s@9!$Pqf_>?dX;jGQPRqW%2e1jH?qN&iMy8}(yrOiR<2UNeD_)1WN!QHI&^DxYIdtZY4ev7W^l7VPOG4W2R&a`^AG}SS5)Rm- zQfY?PH@O-m`(ti>K5=V!jce?s^43yHah|fJ_Urs_wM0Ab{8(Cj#wcHFX!ObLYuhpy z-C-}YITsx3|K5GkcBvfVbL)B{{HlB3Ga0J~lb@vr^#*OfbWvL=jLfX1Y`wvnU|cyq zS7ZyZ8@})4&v^eb)R&f@a5AIj>E5|4`I{qOGK##0ZB`yvB4$?bn@42@V2Ji6u))pl zEd*)m*8O_oGCgB5YAz)zs^oFIu|=DBh4dv)cXbP~YNA-xEN=YUiY6DEzzDmJvj+yB zrjq)R)(loRv}f|k>H{j^aepaED^tjdZ;#S9gk$lfQpmtRJZ?a!o`- zDD|kbv*SOrlgjn8ysfp9DxW^svUK*xwtJmlb4o1?vB86HbVqL2r50;txoI~uH4oJ$ ztqSc(4%V-YVlrWEcA167ED_ANe=V}ShcUL`F+3r>w#5`5ncwSz+8GS z@ABXUTG_R>NM+x$&8H1xPTm;1Q{?Oy%mMK{-P1YU6Q5YX<`m63TL;_jy)tTsUX5cO za#(#c@0Hzoy-dsc3c~_$=Qe@QC2Z_Wnwk6do0XGCYk-4>-+kWJZb^3!dw8xfYZkbh zER1i0-jB>QJswCYIM3XAci7|Dl=1yCG=MDJ$SGNY;b4$cJ7d%Nj_5hYuAd^NJt0}Xcz0o& z)kYWNjrBk5`N!MT^i%y6>D@f9hR6{4saHut*rbZn|L*5~Cf(G?am8g{=BChndH-1| zPBxEdIO@kLk0Vq_2RI~J)<)I00Gp8zyJUM literal 1977 zcmV;q2S)gbP)4Tx062|}Ro!pfR1`mnZ(O7nKcKOW4i$^9Ra0BJ8yc;~21%2p=|UR0&DbiW z$#rfTQ`a`O(`{9s_5yDV_yd5l2Of}kLK+Oj_Ok5(v`JGz71bo9J#^YYXp{DWs&KBa zQ@dTpxRI}aIp=pi@6k0t$5)!;m`NF6-tt{FpOKHBn3g+MAqmexC-gw4rh87hTrL7G z#)U`L!(So6-Zux@>;H3gR;i~0B%VTSS3P|m@o9jRsXML@Al^p#@G0Lx-0?i(9WEw_ zSYddU<1E8793KxjQ|c&UmW!mTC>k>?{om1c9S zUx<6_jj_!T&^M{wWM#>IBbOSf*xP<^F{$j$aOQ5Y{cT zROCL1M7^NKKL z&(yA}mSw#iM0^;IB{ZO5!wl{^Sg-*ysE~&Yz8!E;Qv(A`lu*=Clo*MpVGd>OdF6n^ zam1Jntk;<}MrqIC5$=Q>n{*R}?8oOIDUw5En2dl--Xw34!z7E+5pr-OgyQ-soSab)C%saskMla`aQLVzg0+MZf20tJU&K{hZoBrUc+U4e9&3o zw|KmGEe4#xz17wBu{f`SS_4i66?j31EjY7n{zGfhONK~c+td!TS#B}JoR}5UAd7p& z5phTyXSkK0xCeD3xaYP^o&J~#Xp9xFb0C;HHml5fA<%h1eR|qw7wxF+oNL9T1Aits?sKNIwvGaN)^WO$I^cUV)HzL_| z1K?{9p!>B*)`xfEv!4N6IG{J&h49W#Bz^(#YWw%`e_a{8n{G9m5AeR~_yl0%<7V@p zvoGpr?VuDIkCMb!XlPJ?eg0nFK_GPm16enqkbnodC-T&XucVDg-5Q_V2(~sX= zw8aU2Yimo(jYeZ)+!k&=xL=6lvm5POF*=1I_}xnicfNLE3{6ojhV{9WBPeDqhJe3z z|3&Lq3-j$3HkSX~mk}L-!TFS-b88(qwFbO!2A#FDX4yykJd;!pfT}E<46w1XIW-ECzMhiQjgwI>e=LI4vd}L`K{$d9q2H0r7*b{|0&)Q54sv;#Jmc~6RQ)gbv#Y|l{#66rj z;v?|oVhZofHsMGy?9NJ&d{tgKl7m1FnFm7e&B=3$-d}4!gP%z?T#`c_?f}s?E_7@7 zYFP|y3*ydeiR?6jbbu>|pX`Z(IKAEg${1kbvT3Cr!)wezDz|9#fK5>D?Nkin2XnK+lXn3kOC_^ze6k7|pS?J25&EP8^c5{cgmYL)He2 z=k}V%Z-GPJ-a2pVl=**>(c58<6I*YQeT!L&f7$xN*4sBXjclNl;<>)i!1K{qagNweCw4L@~bCQ00000 LNkvXXu0mjf78ugk diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeBasic.png index b6eceb1579e26d302120ec32534ada36d30b65fe..2b281deb07adc2e52d4d3701095cf8f6b7b6c222 100644 GIT binary patch literal 2297 zcmaJ>X;>5I79JG~U67x;NaZ*i05-U3kq(sJqo?oehK#7K>T&y0U}+Dh%ScQT)_<*25vx#U_wwMjg=`G8YVPlmw~U1$0P`x zf?zRB=$$BmmoLah6$nUma&Z*FFbuAvJHb?%GljYaq>y1MiA*QKWJfa0fXNIB8Jr#v z?oA<%VEA!()4uQ>6NEEddVv8X&M z4cAZgAk%m(7uH%bi_L>s+_lg&SNyTNzvFuRUoHt3Loz1!f08|OgjbMp`Mz}V&HLg< zWO&6Z@X~Ir_e%tTxe`8y6`<)h#n-;?PQW-i@$&m`&e%PbdrTcT_= z0aQHMbHFB(U}i^?KfL2?J2~rYW+tJaufCJG)Wp<1n&6SVuTbF{kjm~!YWId3ySko@ z-gXk9|M2d#T`#SAmQlOK_WaX>>cOh#HQML;E{#I*<>gd6ehH&c0+Ftlukjg9@f< zgJ3dyH$VVpy8~vxED$j6G6$i9tJ2cbtA|z{=sPP~xbNJ&hOX>tpMK@Q;NZ2ypKpA? z69ALlfG;~5&SI{}sySO9!c5P~efoKN)?S}9x@uQ(yY`|-48o#Oa#pWf?)C z&$TkyyftQ_UjS5EcCFG@Klr5brOMT&<4%z-=$1pvHX$p~U-e|aVMrrlL6PH}=$z)o zL-n}{oI*!hU}2Ew_}kZE=~;~hJ^JDB#J1YGNJ9Rz^f`Uf?1VROZ4BmG^YWubTUX@O zaLGmA&mV8t$kW?hdYkd@BDaJ*Rmfb)HS4kKYLZ=@TSJcXmiXR8tfHS4Tc6u{JpS0c zXNZ_zs1b}B9oj&PmW70)?T z_ye>5*WUKWZdXsap7})FeWaBANS4ZqI}f|kCZgZ?=J=i#h)ch47AtO68qDbEiXm>(vaKy3Dl^c+H!C~trxQ}ovD&-z%lmV3 z$o63Ib_omFo@(cl8K1mvSplKrU%zg)y1XGw*?EYaV!`OFY}-WLe9khrCAFgR&yhWz zx6*$&@}@?^w=kTHupjpZE81>t0LS76)rGxFhIDSjiw{lG)<0gT{riI*6?5fn0^i(u z4n6tQt_9ttza7_yZM_}S)K?wfRusB3t1!q{x3Fl@Ky;@^;FZz6(E}u`qONQrPz-hD zHQeYpLjC6{yV(0<{;~nvX-&0-m(V#9UB&$ zi#y|Dd*`s+9X>dcwmE2p-7)>>7?Kg+V)@!Otldu%!@Rud)6%A6XHI9@G+}@A1c$eK zpA%TeP?q0Uzmzyw=ravBhVxws0V#0>^^?Ek3jels+fc`MzZVOtavEc*Ddl55gCVu; zm+S?F5lQ`-tVAK*ZdvGIeXOaC`>M&dPlHskq$_?^mhL&0E1DPURVL;x^+Q=!p9K8U zrhL8kr+U+n`Q|N`@&z^x!9iX(txgv52@wPS4*KSiqiIQr1uybX>nsZF9V1PxT~+;V z30M2BnpPi;3j93$Re)u3?fe#UN;vOYB1yRDw8V4a`mJSEOAHCp#x?i6_&*XWj~bR7 zUIK*$H+Qbgd&NzPzVVE>4f?ITa z7nk|ejm9r^JyWT@^4KMNU*QFim{MwZdhGZ9ayO!R;QB_|p8Kt<4qWu#-|F+AHKo@8 z@1NYYwAbRH$g^0NRz>`?W^(5v%oLdIUL0_6B)2I$%tl>8ZL7jczUkk&3vqPW@zvBz z#yd{?FofOtroU?aRR;=p*BnmUTA!iDB_7)o{|hpCvtj@M literal 1983 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 literal 1998 zcmV;<2Qm1GP)4Tx062|}Ro!pfR1`mnZ(O7nKcKOW4i$^9Ra0BJ8yc;~21%2p=|UR0&DbiW z$#rfTQ`a`O(`{9s_5yDV_yd5l2Of}kLK+Oj_Ok5(v`JGz71bo9J#^YYXp{DWs&KBa zQ@dTpxRI}aIp=pi@6k0t$5)!;m`NF6-tt{FpOKHBn3g+MAqmexC-gw4rh87hTrL7G z#)U`L!(So6-Zux@>;H3gR;i~0B%VTSS3P|m@o9jRsXML@Al^p#@G0Lx-0?i(9WEw_ zSYddU<1E8793KxjQ|c&UmW!mTC>k>?{om1c9S zUx<6_jj_!T&^M{wWM#>IBbOSf*xP<^F{$j$aOQ5Y{cT zROCL1M7^NKKL z&(yA}mSw#iM0^;IB{ZO5!wl{^Sg-*ysE~&Yz8!E;Qv(A`lu*=Clo*MpVGd>OdF6n^ zam1Jntk;<}MrqIC5$=Q>n{*R}?8oOIDUw5En2dl--Xw34!z7E+5pr-OgyQ-soSab)C%saskMla`aQLVzg0+MZf20tJU&K{hZoBrUc+U4e9&3o zw|KmGEe4#xz17wBu{f`SS_4i66?j31EjY7n{zGfhONK~c+td!TS#B}JoR}5UAd7p& z5phTyXSkK0xCeD3xaYP^o&J~#Xp9xFb0C;HHml5fA<%h1eR|qw7wxF+oNL9T1Aits?sKNIwvGaN)^WO$I^cUV)HzL_| z1K?{9p!>B*)`xfEv!4N6IG{J&h49W#Bz^(#YWw%`e_a{8n{G9m5AeR~_yl0%<7V@p zIR}W#i7-$a9ATXQu}oi!G0*I7v%vm(^80j(wsrNh)ymmp^qMWD|<# zn{WTjKF+fv^w!pv=4-Xuh&<1n-}ohChp|h~Et5_l2>$Sj!h?%8jG+mtnOMiA=s`A{ zBM5l2{TYqp4a_wgSYO^akP+>H!TFw{b89VFl^Ps>3az!XX4yB#K_aQ{d7f4>DOOy; z-QQZ%w#8VhU|d*I`L9Y)?y(d|h0b@}4I_WEsKF|LEL#Go}Gpl_i+8_i!m>V)9Lh}i~$xdsnJ=~4tm}<@=?ry`DM39`rtNTBT zrj+rZBjW(cAc0z3fctI}cN@>~`-e3`Wo3KBfSwtC<`1Pr@YmmYG3rBZcSM>pCyz+k z{*clp$lAbu!F~P?IO2@g`F(IR(WfYVJ2HU~#MVcYzr`%YH?}V1^$twyGQP2={-yH; zDwN>n4dmWkWFUEt>^#@vahluD9|J>koxvkL@lEC= z8}A5#P2f^#DyNL|I>pU|j3aL{e=YcD!A4~%Q*b@0oWoz0Nxv<|GmcRlBG{FJDCId$ g6;lR~RJjcx1^@s607*qoM6N<$f(7Z_82|tP diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporter.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporter.png index 9965a350b605469b441d4900225400dea26d803d..496338a45e3e30e69349640e6ee6041d767faaa5 100644 GIT binary patch delta 341 zcmV-b0jmD*8;TgPzY2c=HAzH4RCwC#SIZJaFc9qE?ymm zk=c-?s@X nX&NhiwjWRK5aK%Qk>E7|bBEy?PGRU9GcJPa&d8is;U48jIppb1w*jftPu_o zL6RgeCI!R6B=+sufQXP~8HfmN+rl}ArfJZ19lEYV+qV9`C<=d6RfY9>4SRlmj-n{M zf%icu%MwJi;{X5<5kwfyIc&FEFf)h-RDFrBBF}S(2+FdAt*Q!j zU8AmRlw}TM5?Grd&l3RfQ6)(d7=L#(eAfG}>)@P2+qVAFEQkn}%OzH;Rqp^%AE}7o z_4N-#WG9L-gJFMWhA@q1t-qhmX1Kh(L|xag#uxzb5nf$g?R@b0`8hf_pU-#Z7K=r6 zZn$@`SU_#QLBrm||1m_w7cBsA(=;F=SZfDGh@%`65!~GVoU~SLi3nIXTWh1nraDDL zczV2_|HWpiV%*e9LvxP$=r)1z5r*wa5?t{QN*E_Ir(jToRI`QN7ZuH%hJ|QC51hzOg z3}Xy3=1Fb%*NM%Dh>*XX4*`I?uJeDUeZ|!m*8NG$&~<9FZCkJ&q4mHxhS}7A{ghf! z2b!koGoX{F9LuKeRo$S4$ZB{j1E(H7lpQe$0Kk8S*q_n~$L5B$Lqt3E<{>y#10S7> z)y_`P->2ohmb1aujY`5E9oaTA{PZUklM4^dgBNQ4jajL)HBuS7Yi5I75 zXJ>)%k;(BN&o-=07*qo IM6N<$g1_dDG5`Po diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterHorizontal.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterHorizontal.png index 32595e347d20992ff8bfaebcb2127fe45875a7b7..d22f2e4b170302a3240d5332f597f825bb548547 100644 GIT binary patch delta 265 zcmV+k0rvj*7QYv;zzTorNkl^%)ZQFv^d7jV~`&`$haw59!D|3Nm*QvdOT0(` P0000&dxr<`-TDn0t4y*00000|NjF36LL={Rsn-c00000NkvXXu0mjf-JVg{ diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterVertical.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/RestrictiveTransporterVertical.png index 2e008482d4a92c84495800e726d1ac1236c8802c..a611001cab4271c528e811edba0f4278451593c8 100644 GIT binary patch delta 315 zcmV-B0mT0I7VsCazY2c=8%ab#RCwC#mb;FFFc3u#-~#v$3Xl*z|6kMc36ypTh{qPY zL_>s?>;}h3+1p^rSd3@p9ww;kdgVuXo^MOKt^*)VQvlZW`?Y0RkP3nTfO(#G`@=8* z(Dyw6S(e?-v~7D^hj^BuL_$uwP1)#oHV4YGyk-f$1^|hD)Apq?c-sH~ N002ovPDHLkV1l>Ol9m7f delta 193 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 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalBasic.png deleted file mode 100644 index be5895f6f41c12a4f0b99413bb7ffea1ea3fb99d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3362 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 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalElite.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalElite.png deleted file mode 100644 index 4b940e8c62de2399c966989421c94ccc1485e8da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3351 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 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalUltimate.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterHorizontalUltimate.png deleted file mode 100644 index fd121dc56f721bb875656e75a872af88eb33e53e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3350 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 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalAdvanced.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalAdvanced.png deleted file mode 100644 index 4bd7311ad631bd2f81f2d57a6fbe4bd111c78b65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3346 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 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalBasic.png deleted file mode 100644 index af78489e86959703583ea473e25cd1496d1873f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3375 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 FV1hhaPqY94 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalElite.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalElite.png deleted file mode 100644 index 08336a44ce3b949b3cc3ac2dc7446f99e5e370fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3377 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 Hu0mjfaFj-^ diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalUltimate.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/SmallTransmitterVerticalUltimate.png deleted file mode 100644 index 4f2547dc5e0184dcfa49ab9b334fc1f2a167d82f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3372 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 EFV0C|f&c&j literal 1944 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 literal 1941 zcmV;G2Wt34Tx0C?Jsl+SMzWf;dlyYtSh2{;E+0gJ(jKY)-zwqTG3L3g{$wouDv+hW_8 znCoMPiX1$ccrw9X5iY<%0|`MxY)DKvl=ve=5-x_+!%TMv zXvO#R%=3Pq@AvyW?~{Sd=T+Z#(-zEnp{kVf*7(GvmAOHhXIMiwYpQnO=gQ?FfU57i zJaX>+ObX!I_LcAd^Q@`Kz=qTlK(iLuvyeIlx@-F?1mhO4=V<7Mka-s9QsWbokjVmF z^(Za?T~kp!4s@x}No`@q40Cbh4CzWGcl~Ud+tLC)h%7op= zT>sBA>$aBlHUVpcnUO=lR!ALdsDVlxe_~gQBfyK0y6lJf3a}Ycf3#-Ca={irt|ajcdi^v~yrE#?Sk1c_{KG&Z<^rEXG`|s$wbP5r0c> zEaucV)T)I;zz)#&b0k$o(qsyWjmLc~DwN1$;iG6Wje|=GiHAhtq@H93XBAu-iHhS6 zqK?F45ru=j3MNvx9b=key~v7PA}jWaA+b;F5q((VHSxOGFA5?n`o!LLZ8@QDQRjA> z=UrMzEGir!f4aN1wWD`Zz3tdnPThH+y7`D_x$Gx70Rm>)$nDAgFU^0qp~G=qoO|oq z+Dr2se%yTZTl%7YUB9K@&=)!g{a1ZKU(j!m!^NeJWEP2oha^ZiNcM06myjwhzv0nL z;2uz%_D*+qZtN?k?#TCs?+tUZr<2Y8lKnG#J^N|)Z1(quro7^mw2!o}wC}aAwQsZ^ zv9$Br1?>mzqV}csZQ`v~-;eg&lS_0f@m8F*#5MEgM)L);U_NKQWDa%s%=KokIbd!v z3+Bf5yCwCKy*NzZwx_zXR)ibF!{I0rML-o7kK+&Re_Sm#iC!`I(AMq|dqvx&Q8Wrh z4$IhP^clUzK_l1kXKXPFMxU|8C_b=t_9`971S;9*cBYU7%%E_XL*f!3LwPI&=x_SR zl~Zqo*3NA96)WfauCxX{dqbgc%an3QFPI1lwU}mUl zds{>h5rCGj-|rL3vZO3aCX>mWArWcGvMf6>=^QB~%nUOl#)z49T$|+!jU@p4{PePN z>RlwVD$I=aTkGvPc<<*fY<;;kcOH#K7m^N#!}k6D`}f;-?>(W(+j;nLXG%&5qG4)i zR4f`v6W4c!OTQD5ZUl>vD&?t{-h^7wI%0LC{Ckh1M|aNs&U=4SgXVBH*Q3#hA3hng z`SLZ&2S1S}kyKXr;j4^Cce%c^K9`~5(xeEKGSh|Qp7XJH=f4%{KWg1 z@cEM*|Fy>(AO6!(*laY;Ih=F!ikuLfFfnVJY8KVwhx9l0ND5YisdD`24|d-ZOcN;@ zmf+pp%}y^k=ZKR?sQ&B9PI^8SHlBS2DXx%(7YUalrpA@$uac??i^}1H+r0f1omz+p zs><5sH9{dmEz(Jm>Xd`KKV$WY-a~(r!Xj2BWa9-!`@eGI+so&wD9?qUs-3|F@YY8e zkhSOUKOPd+o&j}??)`EhIl%Gp^wdC%abdxll%>NznX2P(|28*wH!mb_)D#-e7pbTr z|L%hx<$-e_x5b=_yr3&ZcG&>Vtbsr;!_9udU?yoPlMY&&kfM@y-{lL_RmeQd%v7 zo8Mge-{b&C$47)Z#&%4Y+1xyz#hCF*%Z8bjDzbvmD~i)qd26u}R25m!D^2%@5auSq z?CM>*lV`n3DRri;nIR$_iFbB#RaFcIgVPy;Bg?b)S7q66%j^@iW-_kuLC~aFGJ3rp bRaNmXa(v>1Coc}F00000NkvXXu0mjfi>Ap; diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableElite.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableElite.png index e78f477563691b6cb104e028f307023f00b46f2e..4470d888db0ed47481d9caf14067de4ad32acba9 100644 GIT binary patch literal 2042 zcmaJ?dsGuw8jpyUMO1WAEDxD8qUD)P5&|S4KpqIO1`uL_+EVfuAV4xP8JYlsEw~^B zX=z>SJ0QryWTiW5MBh!g@uB@iKJh)5$sG!g`? zd?4mcA&#U4arUnG!cGh@8b#$a0zsux;Zf%%*OImp z4T688@m_5uKS2%?f?y>QuMlDRh}^Xb#$xy9j`WHc8yW`@#Y72hi4m33ULW2Swy;9-B`n^nK%~G@d}xyQa3HZ=SX3&D z1Nl&w`9mD4JK23Ni^ycTQ`uy21uK5f-B++ae~2YuWC;4?{w~?8BCLY++jpgl9o`i` zEW;{Zft9uvN=m`u3}d()CSUz<{QC~%ufAr@+Kk>k)meo(?5-U@ed=v{;Z0!KjH!L` zg^W*{E^CYCzW{E2Yh3E)|5>TGH?sRekOOG+fvstNm#shBZ=#Q9Q8f{2sBzb6xPK7~ zlO8bR8ZEUtMOf~hnepbqgjWNnr(UL|rG2l-EFSG^cHy;etaWP5pW2Z=^t0M<(|T{5 z;k&UGz$y9-oC@c4I%}O@-f*99Z+x?-M@K`Rwz@IEAwM-0x{WjXYI#KHfx}$jV>~sYN9Pr8iwknVqgE2$;NkMrHNtmtV}xj@hsG-s#&#*WO37W#(1g zZ(AyJ`@@KJ?U$I$$@9R;+9OVb2a{7S%{~g?U0w5eZ>GtZvieptXvU{=Re#@H)4iwZ zg9hiyp)0>ybVJr6uv}Pi{hKC@O;|utPV-#u)(M^PY)H;Nm{Cz48MXLbzTjjk-*GLd z=`<=2pB*BfpvhnK{_E$odRElXmFL#hZfkm~b`|oAwwbKAeD+1j<*B-Y*|+yf|F{1@ za<^v{zw&X?)}pK8DGz5Gx_wX8+0UlJv+RyPuI<~N4<`r@>^62_Bz0PD^L^WLI}$&Z z8j;{⋙^oR&iWQy>xUiFNoCZ@X54~tu4>F+zF1Hop?BRW**23-@%$w589tN7Vi;a z=N0gek$}xsnMKsXeKr;4e0NRohJdFp3!f2Q&^NWTt6p@K#5uP))g67bZS3k9htb9@ zk`3H7&u52*e?0$`aW*Gwz(}>AJxr$+lw7`^iXODbXH?|p)Q8*tn0bqwC9ENzJD8T6 z|FrW6zF^^j<3yZ+klNb3wY|4$SN%{HvS<$OPDsvf&2CBzi`H>y^KCcP?g01sn}Ta^ zR4z&V(8eO=PQil3LygM-_eo0bxw|UUanJ3V`*bfO!nU3mNy(Elr;qtN(j|{(Z}(l> zzVgXFjpo9gW5fMjKLR!dy){B;C z!LMJbxIaXHI`^My`Jp%5@ZeJ;E%&;PK($AP)BH*-XfH}z{+2nId9KPLrMR}XzAwCN zCr7ubvp6O>FEG!4JjaUvac%WD;n~B+Wh>*{T*BC?oR&oofX>2v+oBcAjxXRgO9 zi2I2+0|1x$;Cz_VM-yR1{Wpb9hoM%ocUe!FaDzGuQO5G1teRQ^|@*{XfavJ}dwL literal 1933 zcmV;82Xgp{P)4Tx0C?Jsl+SMzWf;dlyYtSh2{;E+0gJ(jKY)-zwqTG3L3g{$wouDv+hW_8 znCoMPiX1$ccrw9X5iY<%0|`MxY)DKvl=ve=5-x_+!%TMv zXvO#R%=3Pq@AvyW?~{Sd=T+Z#(-zEnp{kVf*7(GvmAOHhXIMiwYpQnO=gQ?FfU57i zJaX>+ObX!I_LcAd^Q@`Kz=qTlK(iLuvyeIlx@-F?1mhO4=V<7Mka-s9QsWbokjVmF z^(Za?T~kp!4s@x}No`@q40Cbh4CzWGcl~Ud+tLC)h%7op= zT>sBA>$aBlHUVpcnUO=lR!ALdsDVlxe_~gQBfyK0y6lJf3a}Ycf3#-Ca={irt|ajcdi^v~yrE#?Sk1c_{KG&Z<^rEXG`|s$wbP5r0c> zEaucV)T)I;zz)#&b0k$o(qsyWjmLc~DwN1$;iG6Wje|=GiHAhtq@H93XBAu-iHhS6 zqK?F45ru=j3MNvx9b=key~v7PA}jWaA+b;F5q((VHSxOGFA5?n`o!LLZ8@QDQRjA> z=UrMzEGir!f4aN1wWD`Zz3tdnPThH+y7`D_x$Gx70Rm>)$nDAgFU^0qp~G=qoO|oq z+Dr2se%yTZTl%7YUB9K@&=)!g{a1ZKU(j!m!^NeJWEP2oha^ZiNcM06myjwhzv0nL z;2uz%_D*+qZtN?k?#TCs?+tUZr<2Y8lKnG#J^N|)Z1(quro7^mw2!o}wC}aAwQsZ^ zv9$Br1?>mzqV}csZQ`v~-;eg&lS_0f@m8F*#5MEgM)L);U_NKQWDa%s%=KokIbd!v z3+Bf5yCwCKy*NzZwx_zXR)ibF!{I0rML-o7kK+&Re_Sm#iC!`I(AMq|dqvx&Q8Wrh z4$IhP^clUzK_l1kXKXPFMxU|8C_b=t_9`971S;9*cBYU7%%E_XL*f!3LwPI&=x_SR zl~Zqo*3NA96)WfauCxX{dq7r!Gzg_YiY$oY zCPV?9jbrcK?!0*v&TekKceW$(l~$V3?tb5o`M&qYt*@_JQ52MA2^ii7yw4B}37!xF z-g`uZEX#1tp{k^mh%ut7ohPM4p68ThNmW&Zq9_;+hxFkvGwQlVRdLQSo6T^}0bpjR zYWuZ_AR+)Q-)J-5E_+ev4N(rK2YG_m}8c7pZ zHpWZ;6On!di;ybinOEL{TG2XUb)@`fi@gW8kNwYke|QGX<|rnU2{%7IVC~Xn%6mVO zrjb-u`0?u;Ozv=H<4h+#M`6j3!C=savkdX!?^vy*N*P>ulX7R9%b#aU$s76lAV?i` zVFZo$#S3o`_ike`A;afM@c@&jj!jKda83eYbY{ftpgcUpBN(hci}Qm+?_|cJBO))rWcyqcw7iSe1~~mzZq-%GGbq9jl_jKnSYZYg_>Dev$!MyZ`>i zn6PpY)G@jH%ZcOw`}?!U24aj053EU9+Wm`}I(D~jacy($MDj*Wq49i?iW>6oJ|5yM zvUmTFQ;|0{rK-r$)GR{1bC=mHa`mf~Q+eJou*~z0?A!|Pf5EB9J3TC=(?xLY>$6Wx z4zRbsN2p`$w2AqC4nWbk^W=jk&vL>r&)ZQsKZ)j*psL7%T4}03gwW{(^P_j^Or9_M zlv1zTni(R}lX!0?S5-w(6pwodj%<*%SCwVgmiZ@Y&Gewc2SJl!$ruiYR8_@)lQ`1V T$&cx;00000NkvXXu0mjfv#`JT diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableUltimate.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableUltimate.png index ad77389c4087b594101923fa0a7ea3c9b26093c2..4c39e9863ec263e9796716c993624d83bdd65f39 100644 GIT binary patch literal 2055 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 XZQaqg@U|xA00000NkvXXu0mjfb$z@y From 71fbf0a2bd997a61ea77d546ae48ea36e84593da Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Sun, 17 Jul 2016 21:14:47 -0400 Subject: [PATCH 56/75] New textures, round 1. --- .../common/block/BlockGenerator.java | 3 ++- .../blocks/ctm/ReactorPortInput-ctm.png | Bin 1737 -> 1968 bytes .../textures/blocks/ctm/ReactorPortInput.png | Bin 1497 -> 1584 bytes .../blocks/ctm/ReactorPortOutput-ctm.png | Bin 1737 -> 2034 bytes .../textures/blocks/ctm/ReactorPortOutput.png | Bin 1497 -> 1588 bytes .../blocks/ctm/SaturatingCondenser-ctm.png | Bin 0 -> 1841 bytes .../blocks/ctm/SaturatingCondenser.png | Bin 0 -> 1441 bytes 7 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/assets/mekanism/textures/blocks/ctm/SaturatingCondenser-ctm.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/ctm/SaturatingCondenser.png diff --git a/src/main/java/mekanism/generators/common/block/BlockGenerator.java b/src/main/java/mekanism/generators/common/block/BlockGenerator.java index 16cc1b38f..e5a9df04f 100644 --- a/src/main/java/mekanism/generators/common/block/BlockGenerator.java +++ b/src/main/java/mekanism/generators/common/block/BlockGenerator.java @@ -110,6 +110,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds, IB ctms[10] = new CTMData("ctm/TurbineCasing", this, Arrays.asList(10, 11, 12)).registerIcons(register); ctms[11] = new CTMData("ctm/TurbineValve", this, Arrays.asList(10, 11, 12)).registerIcons(register); ctms[12] = new CTMData("ctm/TurbineVent", this, Arrays.asList(10, 11, 12)).registerIcons(register); + ctms[13] = new CTMData("ctm/SaturatingCondenser", this, Arrays.asList(13)).registerIcons(register); icons[7][0] = register.registerIcon("mekanism:TurbineRod"); icons[8][0] = register.registerIcon("mekanism:RotationalComplexSide"); @@ -119,7 +120,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds, IB icons[10][0] = ctms[10].mainTextureData.icon; icons[11][0] = ctms[11].mainTextureData.icon; icons[12][0] = ctms[12].mainTextureData.icon; - icons[13][0] = register.registerIcon("mekanism:SteelCasing"); + icons[13][0] = ctms[13].mainTextureData.icon; } @Override diff --git a/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortInput-ctm.png b/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortInput-ctm.png index 128faeb3ee71096ce069739611892cbe173cc9c9..081cb28e5e5a39539c32c2ab1f7b98ca7467d307 100644 GIT binary patch delta 1335 zcmZ{ieLT|%9LG1Vq^l+>aURBL>Duz!qy1*ce%sD8MUgtm*eIlFw}q%*FC@i^Mwd}H zkCz%JMCEqV>8|8jdB~EaqDR#*&hu)2^yl^c@AG=S-|xS^ZA)uWxg2Cnp5Li86dWIq z$D`fB4R|t@NFZa;1OQKV13))CfCKO}JU}A=dGlhK94U~+BGFJylpRhp?BcOqNd<2yr8G(!93qV{ng~Z2E1juD z8);+b|9m2w&1AEvcoJkZ@GJ_I;6tLas1OTekpVIZ3Ch-)*rC5rz*i_xHiHCYr6z7@ zG5}IoL=wcr6IjL^31m?K5b|L$L3fA@GTddO#@ZK%`BeyK%7E=Fxex+j+RtJ71SLIg zINP`1j%AVAd>Qrg6G`_?xz= zB6v2I=s~9!b1`OSX5*IeOWEPDVZLnO{BV*R-TGD+B;u9tDjZ_Oy({~s>Z-%(+x5Ll z;ct^3t;?mHzJpS&qG9cc-|tzq>JE!M&bXXr9@6Va>yuLU5WjPq1H>o6hSWcrR2c6f&7qrV`r^V;`1|RIW*1L=Tgq(EJyD|ZJaK3-lbJ=VPvDy zUmhhsG3#E_VREb>zjhzZ=I(Ccc{S4%yj;jy0 z3(g3XDs|s422F@TQxe{O4Q9!SL*0w3OM@L+)X9qQHd9-KZ9Az`BoykrjeBPH8EmMj zGS4>)`gdmfCc8{~Cmk?|^hc+j(F6Q4U*1-EG<81D+z1&A;)4gD>&}fAjCJmsnw_{T z+%eYVi@m!lW6>a_N9U`b&|9>3(*Z9kYVWc%qn+CTSvbmJvy#*VhrKfr^XJq3r@bC= z6%|J@u<*{nHu;gbrMT6`&%^c=sAZc7>}16X)C)IvRMub4NE9BNuZgGZQmY z6D5U;+yY-;E0_G_(%jU%5>FRfC7_62N@j``RIe#6y^~)u87M#%8R1l9$t(j?WQKWfuJXrY7 ze0=!t-KW1#C;oZ+cCJ~}^{E$^z4*4fQ@3D2_V-2ev{LJLyvjR2?7!41BR9QC_=sGhDckdHw{;ioj9cHHct9?F+G$lg z!9xni4sl1?h@EN-*jZ(C_idTM^DkdSzTCVinek^`*y_)pKR@|#!BxArzE|Vp;>uLr zJHi*YdI>VMGsj*(n`ZnZ*KYpfe@BxTnccsOzB;1mqR`#nGlf&~LK$DZf_;0*!FY={ z^9`(p5{D1TF@9^@XgjaG(RA@z*B5OcRTen&J~*@Rjf1>hDJ8EVRz<%-oC_t`b>7u{1<8}BQ?l4Y3K#D8zC^(*HqLA$qIG+9vE za^~^HX}1bvw%M|6blfpZ?6KJ6{L_w0ibOhgOzL`)c6CzGi%mNFTs!36zdz2oROJ&( z{qbWz-_3u%+v9WWiH|y+BK2-*y{4|0n16=zzu~ssP?mFg)rMcMUcHjH-EjVM?YH|i z+c}uNFdUOvFJDslk<0ePnO;! zH)q%KiQMTEYrDfd9S=w!DT$h@SP{}9CvDn%{(3^Qk6ko>(a#)PfhC)NY`@CYT3M1hvv+iWApN$#e8?$2h*z>+&(V( f@_zPidnO)+vWL4@L}|!9U;qM7S3j3^P6ULj`k7JwsCqV=7&7F)bT}+%Uj0_E3&79m^&D<>949$$pT`inUOeWVc$-opj<5aYZDPF*?YcQgKUW(oMe*M}fB8tEXR1mlRW!NaGM-JE@Y_|9C6^gUJ<*o%xTYXJ}MBWLl)) zvdF-Y@mbE^&}e7XxnEp$>ubM$K3U<-!N?>K>BVut(1q=Qgt$$h0bh@C6{Dfs6t9(Q z&z7#-v@f@4?aBr3qvH5l0&d(4sxN#Vn_RoBl;_`@Ph19p*_@rC$F|hE@9o+ou#WF7 zFLRIP&24&9p7eOH6>?j!Q18MD1(wyP-fVk6r{Dhk`g8jKq&REiyVrc-oRIu{@{}g8 z;AIJB*{6Ht=f-i}Qe1lR;O$kb>};z}zI*)go!{d*Cw=nwF5yuNG1Yi;cW&5*4OUK^ z^wRtzs93ed()vf$uaBpl;I)7%vW!AQ+8ebdX9;wpX{F>KWpmMr$rBc{FpK8 z;)L7l@|It}y|}&6JIQkIJg*>@iOYW65{%no{OG*9|FJ8zW!DS(S=MGoMK$-meR-)w zO6a=v86Q7s*V|jx$?mHT7QK4$o{Y9+y5V%&q`Xf*WlzZW@`grQ^;k#GUblLxnf<)| zi>@56PELqVq^q=0G z@6uq=qTn%g`?eFGCq%gSbv3RjyKO8jT=+Rwcc!xW7F~V@O$&K1H%+&UywQ@O1TaS?83{1OOl=VtN1o delta 719 zcmdnMbCY|5Cu8A6uRc{%-DCqJLj`k7JwsCyOG85)1tSAPV|_ydeIrXnA0V5{6J}_=c9P}`Vzeb+v;~s$e)!t^WanK{71^Z;g=%4I4>WzUhQ%7 z)Knd@{$nbB)91_o-!QN4|JLXwQ#Qn2&3YSCS^JWC@>aGBLDsfB!5k0k_A854p7Du3 z^O@&t#E}!ecXb-qUhL|*{qXfBm(}ZoYY9q2|<;TCcZg*+@GJa2?pBQ+t2$yT5h(`wl;BU=Ock z+qcm%eW3@pW@5~Oed#+dFn_gRG%s1Vso2S}$8WKz!1g2cd#*Ws`NA?|`Pvh8K@0Zg zUS3ywpr%Lh?JmBQ35?g)x*WV#{r^tWqRhLsH3cc&uHWvp`rMBzdwgi$Zzf>{@h^XW z)fl&AWcR4b-}<%rfI@3FbEr&H{_T*AV=kVDR@@ci3R<(x#$LyD3!n4aef#%|PMosT xD2zkcZ*`pD)?2w(rY(`vWRCB7>hhmeg5lAwqFR+#A!itXz|+;wWt~$(69C){F%SR% diff --git a/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortOutput-ctm.png b/src/main/resources/assets/mekanism/textures/blocks/ctm/ReactorPortOutput-ctm.png index 128faeb3ee71096ce069739611892cbe173cc9c9..d8e53759a93c176d4f415af4ec8bc5ed8f17b5c4 100644 GIT binary patch delta 1401 zcmZ|HdpOez9LMo3JBM5zPN9ooE+=ir`2Bu-ZH)S`gv@0WIiY7M>3HI zf*{V3Vh55C2Z&^gg8-0Z4^ZqufCzw85THUpzB*2F4b7KCq4C0_K0Z|61-j6afKRjk?8xqk`O-3J-XL^eY z9Bwpu!m4V{kU+i<$+v5TGJ#kv9r;U|r2&6;Q^Zr^xa%JS+x-L`G zVl(<@tNa1@T*e6{nljX-V4})_32uFt=bOoOUFqpBt(u(OSE zE%ahL@9?EcwU zgEqxtIo1IuUes*0!N+vY9v}8sjH(E|gV*(2%c04&D1u2R%&u}=GL|dZnyYI?K`Alz z{Xu*YBWMeOa|27andzNts=8bD2Ghf&{-nb@MowsHXl=A!o0{T^KkauY7v|%`<-`1h z-CnO+j%R8c`unvvM}`#w@Rp~lB!A5bU+SDPxawvdIWPjRm->7P=%Yqg=neLH-F^_Ew>>>)qeR+dBEsgBoqt;|+XNqVzbe`=4MBFj)?ofh3%ksxH;i_|q z#U8Ug4)WKUBd?NjX<8jwMfx7Pn0*62<-tQWaCWKk>R=@JYAYP?TI*sJJZ>U4#>+(S z9wpqoq$|%=H`P^N-j|xbs$Nm8X17(2wkONfCPGC+eTek_FTy7rJ-4(8#v;z}%a>_% z>wdGeiL;9-aRzDneHv^V%zq#ALd_qN8`H*D)b{j4UaosxByEmU^V_6~K*o2;Y(`qc zL6uX3HSdxpX93q-FIW-tMH^!u<_tc8#@?jwx|R_-eA3K&xuPmmmN}k%%hbi-hT`wh zg}#8e{5(d^>7kXx*K(b*@vH$lQ5f7qKjJNdN!< delta 1104 zcmeywf0B2CC!^v-uRc{%-DCqJLj`k7JwsCyOG85)1tSAPV|_ydeIrXb4NE9BNuZgGZQmY z6D5U;+yY-;E0_G_(%jU%5>FRfC7_62N@j``RIe#6y^~)u87M#%8R1l9$t(j?WQKWfuJXrY7 ze0=!t-KW1#C;oZ+cCJ~}^{E$^z4*4fQ@3D2_V-2ev{LJLyvjR2?7!41BR9QC_=sGhDckdHw{;ioj9cHHct9?F+G$lg z!9xni4sl1?h@EN-*jZ(C_idTM^DkdSzTCVinek^`*y_)pKR@|#!BxArzE|Vp;>uLr zJHi*YdI>VMGsj*(n`ZnZ*KYpfe@BxTnccsOzB;1mqR`#nGlf&~LK$DZf_;0*!FY={ z^9`(p5{D1TF@9^@XgjaG(RA@z*B5OcRTen&J~*@Rjf1>hDJ8EVRz<%-oC_t`b>7u{1<8}BQ?l4Y3K#D8zC^(*HqLA$qIG+9vE za^~^HX}1bvw%M|6blfpZ?6KJ6{L_w0ibOhgOzL`)c6CzGi%mNFTs!36zdz2oROJ&( z{qbWz-_3u%+v9WWiH|y+BK2-*y{4|0n16=zzu~ssP?mFg)rMcMUcHjH-EjVM?YH|i z+c}uNFdUOvFJDslk<0ePnO;! zH)q%KiQMTEYrDfd9S=w!DT$h@SP{}9CvDn%{(3^Qk6ko>(a#)PfhC)NY`@CYT3M1hvv+iWApN$#e8?$2h*z>+&(V( f@_zPidnO)+vWL4@L}|!9U;qM7S3j3^P6ULj`k7JwsCqV+=Yj7*#@j0_E3%`9D*j(8v{Nl8L3ciJ_B=k(;xLrJJFNo8@F%W*L|w6P$`_nVsr4s@#oZU|>r0 zba4!+xFr*GGfN~;U~l#Jx3`TWO+3<6IMt3^T)}V0rSz}GUdxWtj!Vi!ze~-qlatNY zEpghtcVX9OiJ08IP`b)*Zt;tZ>dD3DESMEE8IwhvRC)xREPW$djGQ>_7!}+Ef=-?7 zEmhpSZspb>ju*GuX30Glips86DZO{~TDsTK2j}(HOQ^``Mku+?Gmq`w%oSV^-kRnl zab!wPuxL<#Q|ly7rNc}09;`ZGsp)I>HtPA~lRvNiJUTyS!@AWKX*Ed>3%`1D^j(+Qc(8WkPAe$CgfOEO=daAE4_J>xDk_q(0OVrB!WCau%w)79tu)xW5-e=fsux?AZq z_j^U1kRwV0PJha3J|=$u*>#4GkFV|U!wi!{{a1bV->>}k^hbJ6-=&V$PYVouUQE(X z^*YS5?`nd9ME~&e7{K9pvpWL5M|9fv$WTc&q&5^_% zOXi+aySzX8uyrHXm7*G3u@fDxcOGfCe>!xhEXAnO^doBQ&M zQYzOiPZafvyGHxRe*X54JNL`If6^_91=F^?U?^E9ZkJ$}CGC|gbEJB<^t!c6PR*~Y zZC_ix`}VndGbcTs^E>BVomw6@L1a2tW}}DDt83!N7I55-E*Df-DA;t?T7A=;hWKkY z-?uOYiZQu|-Mi)VdV)uHXBXpQv$q|+o(2zZdkM5>9t+^+fBEB4c*BYv9Z%$sRSF)L qcnA0V5{6J}_=c9P}`Vzeb+v;~s$e)!t^WanK{71^Z;g=%4I4>WzUhQ%7 z)Knd@{$nbB)91_o-!QN4|JLXwQ#Qn2&3YSCS^JWC@>aGBLDsfB!5k0k_A854p7Du3 z^O@&t#E}!ecXb-qUhL|*{qXfBm(}ZoYY9q2|<;TCcZg*+@GJa2?pBQ+t2$yT5h(`wl;BU=Ock z+qcm%eW3@pW@5~Oed#+dFn_gRG%s1Vso2S}$8WKz!1g2cd#*Ws`NA?|`Pvh8K@0Zg zUS3ywpr%Lh?JmBQ35?g)x*WV#{r^tWqRhLsH3cc&uHWvp`rMBzdwgi$Zzf>{@h^XW z)fl&AWcR4b-}<%rfI@3FbEr&H{_T*AV=kVDR@@ci3R<(x#$LyD3!n4aef#%|PMosT xD2zkcZ*`pD)?2w(rY(`vWRCB7>hhmeg5lAwqFR+#A!itXz|+;wWt~$(69DBNF%tj) diff --git a/src/main/resources/assets/mekanism/textures/blocks/ctm/SaturatingCondenser-ctm.png b/src/main/resources/assets/mekanism/textures/blocks/ctm/SaturatingCondenser-ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..c1823f28314fb547eb7ef198204a96edf6466ce4 GIT binary patch literal 1841 zcmaJ?YgE%_7;aHPaBS$osi-VQoiJ^alv3IXVrg0_$VIG($h4tNX$Ea-8l(lMAUfqD z&dGEN^WeOJD2k2)icG{QDu_;026(@)GZhiMfGE0@i`x%o&iV3P@;>kLUh}1e2G4PH zaB*On-6>lkjsyx)#(-Nj7fXjue3pVZO`7=^PW8ZsIO6nZQM55qByW!ZV$ zo5dPJ5XuNTB51ByP3pOrRfcQU8yPf<O zD(~lFc0Qnvrj23Q-qNw zNCRNih((j}v=7Kw+UJ7a7!>qDvBA_IC?;f(88bo%7l!nDt6#m+COQoN*Nj1>O-hRq zhr)0Z8BeL1d}t>RfSK5RoX9H3SR)Rh2qr0597?L=^|*mnpgth;g{vVnVv!obgz9LF zgR3MCir3jxd6?!0uOyCDgFp5*ea$F;)NIlRSVlgoYJ<6Bx1PCl==y_Jtg#uV2L8W}uOC;jUVGpn$s~IG0 zeOLtkUo6BJ16k|iKlL(j#1x@*`Jwum&4>QM4NTKeOn0Ccex1NH-4X>VQJR}>ga?I; zN1R@oD*~(J{BnELO=jHLuz&0R(pUT14<+i!gIA@W$^6;r=oRM<$5DAti&|$j0}l%e zk5?OC(RYf8VOR9$pgZ zWIrkIk|;sV$+Am5)%mXM*wLGy(Ap zBFoEvA3NC8{Gf4NgTlIpb?%GG1pCF37(d7i?Sf zCsBIr^--reV-j`Ex*7hB=Z|IB=0@cB#*Ld~aHwf17M*)uvMjUevL)2%Vb3hrgy71mAx|zouLYhxWQRMh11!k7J%e$xZSsqn>KQ&&!O5eC;SE4Ww2 zn|PFREn9tgZdy-I&lJVsOUOCrjl*wvH?2RiG=J!@b47~E&WqoagcaOrJ9UbEy`dxT zrr~~7!L&4GWTtIuqvn?qQ={{5_#vC&)$+w2U*-kJ#Kp5*8p2hk^6kC``&G9@YbEVZ zFHS!>zO`-l!SKh$&J`p-q`+(Qw|k-mIhKkAT>(9}zw+MmUiztbc|qyb(wy#qit>U( z$`vzPx4#LAtq0FVQQInxZ1Qe+p`X&Yzpl9fLY5u`iQC6#t$6n+TXtpk&b_jfF~ba1 zTX8pSeX^>vJ-RAz!lfg%CAS0ixK!uF{9LEwgX42cI@#TprW*pgsIPmTbiUCYc$+q( z@=R)VP37#***QsvDRY<2W`59nrObBA(|gU2U#=Vhv(EZup4mQj)LH8#rjP}rMSiN) F{{Z1Y-0c7W literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/ctm/SaturatingCondenser.png b/src/main/resources/assets/mekanism/textures/blocks/ctm/SaturatingCondenser.png new file mode 100644 index 0000000000000000000000000000000000000000..20c6ae1f48f6d0f9c6bcfafcf9ae644a6409c697 GIT binary patch literal 1441 zcmaJ>eM}o=94^~5$cixC;$X`>4%88C@2>5YYe&U$ZAZt-M=2j7Q;+s7+@QU3cR(Q( z_VEXhvEj&=k;LJ2#0}kMwuu^s7#)#GD2o{&FsF?9O_*7LDbDFzpy(gCOYZ%;=lMOq zulE`<(zb_(MTbcwl5lg1!3yWdz#F;>j;|grR>LVuH0Fs}oKvi1cp%X`xI%!KT}%)8Qb{Ql}B&%80mM7*}c53aMOU?u^a<9t+*%C=&lGnr7OMr+Jf+E(fLvMBUpa|>G zp}C|5w|Hn!%%)WHAgemfX0I->YaD3Ovq+*>3k|q{$RJ)aXfdp^vQl2DlyiI$Mrbq|3|C+Zg$yEOLX}%&yfU{C8?;~mf}LkQ zBFnjvfJLT|D;ISr^mH);fxKEVealP6aYeRwCOwxi^7x|ID5GZxJ9!;hr%y%2kX!(5*RgrG0R9m zB*-Yc3JwXNP^M5(g-%MPNl-Y*pq-WYM1l#|8x3j|O(_Y&s7|Jg1ZB|ZNj*(dCQWjX zYjz7FfY&1L* z%|8`#H8neO=4ixcEt_77J~c5$M;LcEH$U0VUj3t=a~}9^PsH%lSj}Kfr|;hF?Ci#M zC1m>%A!n%I9PuD#!moGa82NaA{y@mb8|n$%a( z=9ajj8`pdrEVJ(OQR|h~jQE(TerbC8cwJrX6N=MM&t1uB{Z;CFGj=@g+CdZNRBjCW zw9%aE&lI`}n)mF?xR?FV_?eNvzuDi?8olqVH0Dxg>iJsVU9l`=OXJ}6rui*NQxndf z?VHq@<9pY{Jv{Nl^hi_Nx6j><`KV*fZ`Ls>b@J;+UY|NX{rz8cO?`UG+jMkxPhbDX zA!}dzrTg*eh~F>d`HI$cnj7j1O1nUmdZ0`7Zc9hc0~;k}lW7qbW|9vDewt=un&C|H H%lrNTj(-zW literal 0 HcmV?d00001 From 38024f98ad6b5991f47d78f1c3800c639ded7976 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Mon, 18 Jul 2016 15:17:47 -0400 Subject: [PATCH 57/75] A few minor fixes, added Ultimate Tier Installer texture --- .../common/GeneratorsCommonProxy.java | 2 +- .../generators/common/MekanismGenerators.java | 2 +- .../common/block/BlockGenerator.java | 5 +++-- .../textures/items/UltimateTierInstaller.png | Bin 1446 -> 15632 bytes 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java b/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java index 34f4062eb..63bc3f00f 100644 --- a/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java +++ b/src/main/java/mekanism/generators/common/GeneratorsCommonProxy.java @@ -105,7 +105,7 @@ public class GeneratorsCommonProxy implements IGuiProvider generators.turbineBladesPerCoil = Mekanism.configuration.get("generation", "TurbineBladesPerCoil", 4).getInt(); generators.turbineVentGasFlow = Mekanism.configuration.get("generation", "TurbineVentGasFlow", 16000D).getDouble(); generators.turbineDisperserGasFlow = Mekanism.configuration.get("generation", "TurbineDisperserGasFlow", 640D).getDouble(); - generators.condenserRate = Mekanism.configuration.get("generation", "TurbineCondenserRate", 8000).getInt(); + generators.condenserRate = Mekanism.configuration.get("generation", "TurbineCondenserFlowRate", 32000).getInt(); if(Mekanism.configuration.hasChanged()) { diff --git a/src/main/java/mekanism/generators/common/MekanismGenerators.java b/src/main/java/mekanism/generators/common/MekanismGenerators.java index dcc6d0913..8a39f918c 100644 --- a/src/main/java/mekanism/generators/common/MekanismGenerators.java +++ b/src/main/java/mekanism/generators/common/MekanismGenerators.java @@ -157,7 +157,7 @@ public class MekanismGenerators implements IModule " I ", "IFI", " I ", Character.valueOf('I'), new ItemStack(GeneratorsBlocks.Generator, 1, 10), Character.valueOf('F'), Blocks.iron_bars })); CraftingManager.getInstance().getRecipeList().add(new ShapedMekanismRecipe(new ItemStack(GeneratorsBlocks.Generator, 1, 13), new Object[] { - "STS", "TBT", "STS", Character.valueOf('S'), "ingotSteel", Character.valueOf('T'), "ingotTin", Character.valueOf('E'), Items.bucket + "STS", "TBT", "STS", Character.valueOf('S'), "ingotSteel", Character.valueOf('T'), "ingotTin", Character.valueOf('B'), Items.bucket })); //Reactor Recipes diff --git a/src/main/java/mekanism/generators/common/block/BlockGenerator.java b/src/main/java/mekanism/generators/common/block/BlockGenerator.java index e5a9df04f..4bffd2895 100644 --- a/src/main/java/mekanism/generators/common/block/BlockGenerator.java +++ b/src/main/java/mekanism/generators/common/block/BlockGenerator.java @@ -22,6 +22,7 @@ import mekanism.common.security.ISecurityTile; import mekanism.common.tile.TileEntityBasicBlock; import mekanism.common.tile.TileEntityContainerBlock; import mekanism.common.tile.TileEntityElectricBlock; +import mekanism.common.tile.TileEntityMultiblock; import mekanism.common.util.LangUtils; import mekanism.common.util.MekanismUtils; import mekanism.common.util.SecurityUtils; @@ -669,7 +670,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds, IB TileEntityBasicBlock tileEntity = (TileEntityBasicBlock)world.getTileEntity(x, y, z); ItemStack itemStack = new ItemStack(GeneratorsBlocks.Generator, 1, world.getBlockMetadata(x, y, z)); - if(itemStack.stackTagCompound == null) + if(itemStack.stackTagCompound == null && !(tileEntity instanceof TileEntityMultiblock)) { itemStack.setTagCompound(new NBTTagCompound()); } @@ -696,7 +697,7 @@ public class BlockGenerator extends BlockContainer implements ISpecialBounds, IB electricItem.setEnergy(itemStack, ((TileEntityElectricBlock)tileEntity).electricityStored); } - if(tileEntity instanceof TileEntityContainerBlock) + if(tileEntity instanceof TileEntityContainerBlock && ((TileEntityContainerBlock)tileEntity).handleInventory()) { ISustainedInventory inventory = (ISustainedInventory)itemStack.getItem(); inventory.setInventory(((TileEntityContainerBlock)tileEntity).getInventory(), itemStack); diff --git a/src/main/resources/assets/mekanism/textures/items/UltimateTierInstaller.png b/src/main/resources/assets/mekanism/textures/items/UltimateTierInstaller.png index ea0f39edf851c89c160a2a706a09686ee35fc41f..0dd5a217fc462be04473cb0ba78c851e825670f6 100644 GIT binary patch literal 15632 zcmeI3eT)?49mj`APdPloA=J|ly0?f0;@-^c+w4wu*Y530_b7|!apVqA%k0dvcN2DZ zmYKQRy({tMP$=&rQcV#-3$gJ9gT~e?DcT~v06`3f5KC)Y(OOE4u_aQg@%qfZ-?O_< zFO7dblkCgy`98nj@0ri@d!A?hna!QczTeb%Ya>NbO&yV77yO-Rd~Rrf-{1MyxB!2q zr6Vgfikg0t@tH#X^r;q#;$N4$d-dMvQeIS&ZGxo4KwCDMhP^4ub7wX!h--mvih({k zoxn0gr?qTrzxPQz~pFiT11v*O`N-pb+~L+#~mgs!#ZfjO|y)J zVR@F}t&FK~nSG7$pGTGAd{;1BNCz#ixnI}QJWXdZnYN6rO;P)3*6nuFjFq-pEwG10 z8%pUy){@fZ=YtgE1c4^1a$1*_l*x!I#FPQuYc?B+N>|~&lIdu)lq#ha=s}KjR!Gxq z8$&0PbS+O!?*ipP*7Vf6hth!V0-7?QiU4+>Upr7}5RR^Jx047I8U!i5W+*sk_&~Mt zOJd0c`k>Gz$r5kn1Sf!%WpMzOv$#Y%{Ng~&Vzs+s zahKiAStW;ut{bLYRfSYFQrK*q-RXC@17W|PWkYsXm~n;eR$G8^GJc!QUkqR2S{1e< zrRhRS1ci~yaO9$sWyDxqw1^TTSb){;w!|1lv~V$-7!w$m%OP>a&=u}gp@Tq`2Z0n; zm1J(gqy<$2M)7*h#p*4sumaUw`SWu1m;}xqkBb6lkvO+#0g~NeiE$7v7l(s%3NcBF z!7)|2m&XJXc=EFJ|ISsFdpUX$N5w5y7fVFebVVJi5R5??Tgh^;ZenXuNXU~USK zb3DTohnnkEKZvHp^^Bkbe;-_MzWg!KS==>Dfk5t9FfHtnQ<9R=78RpTbgLg;>=#mf zK=RQ=$6^EO;-QVHOUM&vF5fzFLW|W=T>!?~<^w7aU}1DCN@6m%gSwQ*RgMONf)2{0 zxo+0QGj86-6-k$Z@vTsEkN#x^-niO=O zoD}*1olf<6=yGF4&(gWT2b6@O!eIfQ%|q8}uIW|WBK>eHG*+pG%&IZf?Lyzg*77PX z?fUZ58x#TCcH{CkAr;IV%G%_&5fyf@`IWx~{~#R?4Vr*>goo)_vAO zHl(@2%Q(dIrLi17xB{Qk;jqEu7i~s8I^`@#^af>kwrj?g$~p@^s8G{!Wj)6Vq2QRG zxQa*2T&3k(;R7sucBV@Y&s9ZO+RDGlKjl06CZi&;ND>4H-Xys2d=Qo3LV(~+f(y?F zQ3);t2;L;P@O%)J;6i}lO@a&02T=(w1PIZrTMOBj+ z>55X+@B)f@a05ksF%Ew(Q`7)MQGZ_p-*J7CqHb0m`{9W&MNK)^5%hOwfB)8Q@77y| z*^lhMWnWKoL#X+c)?L!pmdJN|FE%zbb%?^N5npd)moI8Mvg6Q!sXZNit*QG%-;Nzw zbnfBV_fKDZ{O6apy}j3b=JtPdul`W~<>)o{CT-551>CMvO&`6%Umf;NWA>h5qPuth zNE!OUZo-D^{G8tV^F;zU74Z zh4Wkb?WflJ#@5Y!|C7P@TmQ4(_xYFJjY8)O=UZlMy0PK9#d{jJo*0STHgfpN)6>`Q zxMVtXaMeqXo&8vTZ552L%u2aKYUy`ciDbYn$glQG*^NR=!;#)?pA4Qp{^51@sOa3=ymRdC*^fN1HM8eUnEJ&FYv+zVbKlG3 zqX(W}xTXD>&Nm0{UHb0T8S8$1pLo%^J-ngkvkQMX=KAZuKWIKHKBphO_m0!;E6!h; zcJT3IAE}!UUwQrT>3u(2{Z#7I%qh<@U-I+&KL_oUykZy!9medfq-*8Fzp&(lBu y-3OPyy5*toJs5v=^Pk3h20Fj~lKXld^~6u!{;~B@VWaWRaz|)c@NoN@k^chDn>nQb delta 941 zcmbPGwTyd$ikf7JYeY$Kep*R+Vo@rCV@iHfs)A>3VtQ&&YGO)d;mK4R1_tKBiB|rM z3KP5R^i6e>4U7yG%q{f{O-(Ef4RsWZ3=EC+4Gr{-EOiYHtxU|V49ygvK*?_6FDE$# zo1&C7E0@&bJGIDgZbapW}aCUQaG&FQIu`n_=uy8bX zbaS&XHgYs^gz5FnD=taQOHPI9&4lYUbHl6G%2}%@HL)bWC?r2W$5sgvE&&<&CHch} z`2`Bj&I%ggnRzMs<;9vxc9RQPM1+bP70GLbBtyq85sL`eZ6k%Ht4i1+mE6m0a- zf(9lOXVUD++M5?)13g^u|EtN{EU|%z;Tw&zu%*-P_w4Jl8&BoG@B41vyNcp%%iRyhHC=vr6;UOqlSo;!NK5$4}Fe^B1jJ_2zrE=F*^*7hZpTQMP-Em#W%i&PE4@ z`RCJTJBW(5v=r_1F`K>gVur^gr-cryuO{uj`>1GVj;h2XWj>K^*FSakoi0roCR*2x zX7ZeVI_Yrz!vyaKpQ`o>*^6*(j9ObEQmaubcwLIGJy4{zUi!V&!Lnq@EfG3PBClqB z^=CaDA~@sp)0EPS^4qp6G_{_KT6-+o`}eaS5>HQbm!+B>`DwW_#7k|DVPoquzvaO% zH?3F_^*Qj3A-~R-I-O(d{pD5n9e=#hH-TgC*|gwU&n}v5nXenpv%f50jl=fazI)@` lFaK*2tN#Df^q*J)Lww<>X$-1IGk|f+;OXk;vd$@?2>>>fdT;;$ From 903d1c95a4dd57dbff5b7d9f742d554a275fb9c5 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Mon, 18 Jul 2016 16:07:53 -0400 Subject: [PATCH 58/75] Updated Digital Miner textures --- .../render/tileentity/RenderDigitalMiner.java | 2 +- .../assets/mekanism/render/DigitalMiner.png | Bin 21703 -> 22067 bytes .../assets/mekanism/render/DigitalMinerOn.png | Bin 61493 -> 0 bytes .../render/DigitalMiner_OverlayOff.png | Bin 39435 -> 27978 bytes .../render/DigitalMiner_OverlayOn.png | Bin 38491 -> 53087 bytes 5 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 src/main/resources/assets/mekanism/render/DigitalMinerOn.png diff --git a/src/main/java/mekanism/client/render/tileentity/RenderDigitalMiner.java b/src/main/java/mekanism/client/render/tileentity/RenderDigitalMiner.java index 152d9e735..a731187fa 100644 --- a/src/main/java/mekanism/client/render/tileentity/RenderDigitalMiner.java +++ b/src/main/java/mekanism/client/render/tileentity/RenderDigitalMiner.java @@ -29,7 +29,7 @@ public class RenderDigitalMiner extends TileEntitySpecialRenderer GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); - bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "DigitalMiner" + (tileEntity.isActive ? "On" : "") + ".png")); + bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "DigitalMiner.png")); switch(tileEntity.facing) { diff --git a/src/main/resources/assets/mekanism/render/DigitalMiner.png b/src/main/resources/assets/mekanism/render/DigitalMiner.png index b9eefd9908af8c1a6721ee13c4333ad44f5d7c94..6585d6284ef20fa25ea16effc11e6a9ebbbb3418 100644 GIT binary patch delta 20029 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�H@-vQS zxa6Oipq1_d*c&GDNKgy{jehV9krD%DXml(_BqHO-ju5dk^>Z1g^BA2}JQT?pB7- zD5tGHPU6Af?nhVO)8Y3o1`P{B&ID#FO5$C)hDVE^s5)JAsy+tACYwq|5*bU`@ot`G z4CM^Nrkfc6wDggmdOr#nOmVUt(p@SXR4wv$l%1_rgS+e*H*^2KS3#_SIc!Q0M!s<5 z8KQSc&)2eGFeL=BEhvF8X=<1>6@ZIxH@`SLp|i4=-Ou9ASUNKDXAvMtAoG14qSW4qfvBd z!xWv?rfl|XaGX1~m76H6p^M4IkZ6}MwX(AV4hd;(kVc(t3>g+0!~KE>gJi-BXqWR3 zu)hlX;urJL>ZBS-Y}3ce`k^;@5wJFXqw6BS;M?a(GE843WmyzsREC5-Hj5=cNIWYI zT_71dI@2;`Nx(DabMUP06?21Qt7e%z%Cs+Y#)Qh^1FaztGb=vsHyH(rV!3 z_T0OcGs-x*%RF+0rS&C77C4CojSGRa= zy*y_LSbQJwt>c0viNpGim}7Oyu=N?!-@frK3_`T1-K^e84D}$71$T51R|^SLHw*Uy zl33K?HV;f)ZCy@+2S_}(%1p+6Xi4BaGJT9`|Yr|9m^kh&;EL)+4s% zVu_N&bgX`1xWF#F8D@5PUZh^*vhgRKff1E~7(ch%&P{R}MMOy9Pucc z=0R6$GyU~+#sx#jYD|f!e0WN*_%P5kNo>V>sJx({eu|rOQqPod$TwRg*p=(2pi#II zmMYHP!e3I46YYh6CIcHlaW=fl%6LB{=-RNQ_UBi{MnK@aFe$Dix;eE78eKn~plCEozB$Fj$O~!;8(|glh~_!6g?mO* zQ5s$mV9z<2u&$^MXApV>&`pMjy&ORWmwu}RQ|wT0WBHp2t!(d z71rg~CKTf=Wd!l%+~n_FlIxkdU~-jtqbxM}__*&oX;vLqQgK+cdv$04#J~)vrMdKm zTFpjOpJGh4lM|lKRF8G2X^Kz`m^!6jHu56=50e^1-|?~?lRIf^TE>!0BelzQdIWBy zM!wVZY^}%`aHn;hzE1r`zh%5@H+mZ+mYHsfvNui D0KYRx delta 19613 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 rAOHV%@IAg?$#ed{ygE07t?|a|pz2B$I%$ak} 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 Id?UX6H-=E-fB*mh literal 39435 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 diff --git a/src/main/resources/assets/mekanism/render/DigitalMiner_OverlayOn.png b/src/main/resources/assets/mekanism/render/DigitalMiner_OverlayOn.png index a9cb86786531ea2ae380505f53fd3aa8c66f99b1..bd2186b7ddc451ebac62be1b9ddbf66b6afb39b0 100644 GIT binary patch literal 53087 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 From c4ee63081feca5318f54f0dad6404bb3c97f24eb Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 19 Jul 2016 13:16:37 -0400 Subject: [PATCH 59/75] Fixed Reactor Port crash --- .../common/tile/reactor/TileEntityReactorPort.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java b/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java index 09d556655..904107c4e 100644 --- a/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java +++ b/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java @@ -18,7 +18,6 @@ import mekanism.api.gas.ITubeConnection; import mekanism.api.reactor.IReactorBlock; import mekanism.common.Mekanism; import mekanism.common.network.PacketTileEntity.TileEntityMessage; -import mekanism.common.tile.TileEntityBoilerValve; import mekanism.common.util.CableUtils; import mekanism.common.util.HeatUtils; import mekanism.common.util.InventoryUtils; @@ -85,15 +84,15 @@ public class TileEntityReactorPort extends TileEntityReactorBlock implements IFl { CableUtils.emit(this); - if(fluidEject && getReactor() != null && getReactor().getSteamTank().getFluidAmount() > 0) + IFluidTank tank = getReactor().getSteamTank(); + + if(fluidEject && getReactor() != null && tank.getFluid() != null) { - IFluidTank tank = getReactor().getSteamTank(); - for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { TileEntity tile = Coord4D.get(this).getFromSide(side).getTileEntity(worldObj); - if(tile instanceof IFluidHandler && !(tile instanceof TileEntityBoilerValve)) + if(tile instanceof IFluidHandler && !(tile instanceof TileEntityReactorPort)) { if(((IFluidHandler)tile).canFill(side.getOpposite(), tank.getFluid().getFluid())) { From 6aa65916286b710718765ee878b48921493abf3d Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 19 Jul 2016 13:31:52 -0400 Subject: [PATCH 60/75] Bump up Electrolytic Separator gas output --- .../mekanism/common/tile/TileEntityElectrolyticSeparator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mekanism/common/tile/TileEntityElectrolyticSeparator.java b/src/main/java/mekanism/common/tile/TileEntityElectrolyticSeparator.java index 1d2eccff8..2b46fbfa8 100644 --- a/src/main/java/mekanism/common/tile/TileEntityElectrolyticSeparator.java +++ b/src/main/java/mekanism/common/tile/TileEntityElectrolyticSeparator.java @@ -68,7 +68,7 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp public GasTank rightTank = new GasTank(MAX_GAS); /** How fast this block can output gas. */ - public int output = 256; + public int output = 512; /** The type of gas this block is outputting. */ public GasMode dumpLeft = GasMode.IDLE; From ceb1c37b00b22dd44151371209cb6e2bbb5c7e18 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 19 Jul 2016 13:35:48 -0400 Subject: [PATCH 61/75] Fix Reactor Ports, again --- .../common/tile/reactor/TileEntityReactorPort.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java b/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java index 904107c4e..f2340e74b 100644 --- a/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java +++ b/src/main/java/mekanism/generators/common/tile/reactor/TileEntityReactorPort.java @@ -84,10 +84,10 @@ public class TileEntityReactorPort extends TileEntityReactorBlock implements IFl { CableUtils.emit(this); - IFluidTank tank = getReactor().getSteamTank(); - - if(fluidEject && getReactor() != null && tank.getFluid() != null) + if(fluidEject && getReactor() != null && getReactor().getSteamTank().getFluid() != null) { + IFluidTank tank = getReactor().getSteamTank(); + for(ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) { TileEntity tile = Coord4D.get(this).getFromSide(side).getTileEntity(worldObj); From 0ae477fd0103b8368a26ecff2fe9c46220d26baf Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 19 Jul 2016 14:03:11 -0400 Subject: [PATCH 62/75] Completed Opaque Transmitter implementation. Yay! --- .../java/mekanism/api/MekanismConfig.java | 3 +- .../java/mekanism/client/ClientProxy.java | 16 +++++------ .../multipart/PartLogisticalTransporter.java | 4 +-- .../common/multipart/PartMechanicalPipe.java | 5 ++-- .../common/multipart/PartPressurizedTube.java | 5 ++-- .../multipart/PartThermodynamicConductor.java | 5 ++-- .../common/multipart/PartUniversalCable.java | 4 +-- .../common/multipart/TransmitterIcons.java | 27 +++++++++--------- .../network/PacketTransmitterUpdate.java | 10 ++++++- .../blocks/models/opaque/GlowPanel.png | Bin 1381 -> 0 bytes .../blocks/models/opaque/HeatTransmitter.png | Bin 1734 -> 0 bytes .../PressurizedTubeHorizontalAdvanced.png | Bin 0 -> 1325 bytes .../opaque/PressurizedTubeHorizontalBasic.png | Bin 0 -> 1315 bytes .../opaque/PressurizedTubeHorizontalElite.png | Bin 0 -> 1316 bytes .../PressurizedTubeHorizontalUltimate.png | Bin 0 -> 1324 bytes .../PressurizedTubeVerticalAdvanced.png | Bin 0 -> 1427 bytes .../opaque/PressurizedTubeVerticalBasic.png | Bin 0 -> 1459 bytes .../opaque/PressurizedTubeVerticalElite.png | Bin 0 -> 1439 bytes .../PressurizedTubeVerticalUltimate.png | Bin 0 -> 1437 bytes .../opaque/ThermodynamicConductorAdvanced.png | Bin 0 -> 2150 bytes .../opaque/ThermodynamicConductorBasic.png | Bin 0 -> 2160 bytes .../opaque/ThermodynamicConductorElite.png | Bin 0 -> 2150 bytes ...ermodynamicConductorHorizontalAdvanced.png | Bin 0 -> 1408 bytes .../ThermodynamicConductorHorizontalBasic.png | Bin 0 -> 1399 bytes .../ThermodynamicConductorHorizontalElite.png | Bin 0 -> 1372 bytes ...ermodynamicConductorHorizontalUltimate.png | Bin 0 -> 1372 bytes .../opaque/ThermodynamicConductorUltimate.png | Bin 0 -> 2144 bytes ...ThermodynamicConductorVerticalAdvanced.png | Bin 0 -> 1447 bytes .../ThermodynamicConductorVerticalBasic.png | Bin 0 -> 1442 bytes .../ThermodynamicConductorVerticalElite.png | Bin 0 -> 1442 bytes ...ThermodynamicConductorVerticalUltimate.png | Bin 0 -> 1436 bytes .../UniversalCableHorizontalAdvanced.png | Bin 0 -> 1331 bytes .../opaque/UniversalCableHorizontalBasic.png | Bin 0 -> 1341 bytes .../opaque/UniversalCableHorizontalElite.png | Bin 0 -> 1331 bytes .../UniversalCableHorizontalUltimate.png | Bin 0 -> 1352 bytes .../opaque/UniversalCableVerticalAdvanced.png | Bin 0 -> 1457 bytes .../opaque/UniversalCableVerticalBasic.png | Bin 0 -> 1456 bytes .../opaque/UniversalCableVerticalElite.png | Bin 0 -> 1472 bytes .../opaque/UniversalCableVerticalUltimate.png | Bin 0 -> 1456 bytes 39 files changed, 40 insertions(+), 39 deletions(-) delete mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/GlowPanel.png delete mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/HeatTransmitter.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeHorizontalAdvanced.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeHorizontalBasic.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeHorizontalElite.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeHorizontalUltimate.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeVerticalAdvanced.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeVerticalBasic.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeVerticalElite.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeVerticalUltimate.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorAdvanced.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorBasic.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorElite.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorHorizontalAdvanced.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorHorizontalBasic.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorHorizontalElite.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorHorizontalUltimate.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorUltimate.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorVerticalAdvanced.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorVerticalBasic.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorVerticalElite.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorVerticalUltimate.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableHorizontalAdvanced.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableHorizontalBasic.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableHorizontalElite.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableHorizontalUltimate.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableVerticalAdvanced.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableVerticalBasic.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableVerticalElite.png create mode 100644 src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableVerticalUltimate.png diff --git a/src/main/java/mekanism/api/MekanismConfig.java b/src/main/java/mekanism/api/MekanismConfig.java index cd532eaee..40e44fcb0 100644 --- a/src/main/java/mekanism/api/MekanismConfig.java +++ b/src/main/java/mekanism/api/MekanismConfig.java @@ -72,7 +72,6 @@ public class MekanismConfig { public static boolean enablePlayerSounds = true; public static boolean enableMachineSounds = true; - public static boolean fancyUniversalCableRender = true; public static boolean holidays = true; public static float baseSoundVolume = 1F; public static boolean machineEffects = true; @@ -81,7 +80,7 @@ public class MekanismConfig public static boolean renderCTM = true; public static boolean enableAmbientLighting; public static int ambientLightingLevel; - public static boolean opaque = false; + public static boolean opaqueTransmitters = false; } public static class machines diff --git a/src/main/java/mekanism/client/ClientProxy.java b/src/main/java/mekanism/client/ClientProxy.java index d3833b42c..ee3fc7184 100644 --- a/src/main/java/mekanism/client/ClientProxy.java +++ b/src/main/java/mekanism/client/ClientProxy.java @@ -216,18 +216,18 @@ public class ClientProxy extends CommonProxy { super.loadConfiguration(); - client.enablePlayerSounds = Mekanism.configuration.get("client", "EnablePlayerSounds", true).getBoolean(true); - client.enableMachineSounds = Mekanism.configuration.get("client", "EnableMachineSounds", true).getBoolean(true); - client.fancyUniversalCableRender = Mekanism.configuration.get("client", "FancyUniversalCableRender", true).getBoolean(true); - client.holidays = Mekanism.configuration.get("client", "Holidays", true).getBoolean(true); - client.baseSoundVolume = (float)Mekanism.configuration.get("client", "SoundVolume", 1D).getDouble(1D); - client.machineEffects = Mekanism.configuration.get("client", "MachineEffects", true).getBoolean(true); + client.enablePlayerSounds = Mekanism.configuration.get("client", "EnablePlayerSounds", true).getBoolean(); + client.enableMachineSounds = Mekanism.configuration.get("client", "EnableMachineSounds", true).getBoolean(); + client.holidays = Mekanism.configuration.get("client", "Holidays", true).getBoolean(); + client.baseSoundVolume = (float)Mekanism.configuration.get("client", "SoundVolume", 1D).getDouble(); + client.machineEffects = Mekanism.configuration.get("client", "MachineEffects", true).getBoolean(); client.oldTransmitterRender = Mekanism.configuration.get("client", "OldTransmitterRender", false).getBoolean(); client.replaceSoundsWhenResuming = Mekanism.configuration.get("client", "ReplaceSoundsWhenResuming", true, "If true, will reduce lagging between player sounds. Setting to false will reduce GC load").getBoolean(); client.renderCTM = Mekanism.configuration.get("client", "CTMRenderer", true).getBoolean(); - client.enableAmbientLighting = Mekanism.configuration.get("general", "EnableAmbientLighting", true).getBoolean(); - client.ambientLightingLevel = Mekanism.configuration.get("general", "AmbientLightingLevel", 15).getInt(); + client.enableAmbientLighting = Mekanism.configuration.get("client", "EnableAmbientLighting", true).getBoolean(); + client.ambientLightingLevel = Mekanism.configuration.get("client", "AmbientLightingLevel", 15).getInt(); + client.opaqueTransmitters = Mekanism.configuration.get("client", "OpaqueTransmitterRender", false).getBoolean(); if(Mekanism.configuration.hasChanged()) { diff --git a/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java b/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java index 2bd8de0c3..19a4bce76 100644 --- a/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java +++ b/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java @@ -7,6 +7,7 @@ import java.util.Collection; import mekanism.api.Coord4D; import mekanism.api.EnumColor; +import mekanism.api.MekanismConfig.client; import mekanism.api.Range4D; import mekanism.api.transmitters.TransmissionType; import mekanism.client.render.RenderPartTransmitter; @@ -48,7 +49,6 @@ public class PartLogisticalTransporter extends PartTransmitter implements IFluidHandler { public static TransmitterIcons pipeIcons = new TransmitterIcons(4, 8); - private static boolean opaque = Mekanism.configuration.get("client", "opaque", false).getBoolean(); public float currentScale; @@ -229,7 +228,7 @@ public class PartMechanicalPipe extends PartTransmitter4Tx0C?Jsl+SMzWf;dlyYtSh2{;E+0gJ(jKY)-zwqTG3L3g{$wouDv+hW_8 znCoMPiX1$ccrw9X5iY<%0|`MxY)DKvl=ve=5-x_+!%TMv zXvO#R%=3Pq@AvyW?~{Sd=T+Z#(-zEnp{kVf*7(GvmAOHhXIMiwYpQnO=gQ?FfU57i zJaX>+ObX!I_LcAd^Q@`Kz=qTlK(iLuvyeIlx@-F?1mhO4=V<7Mka-s9QsWbokjVmF z^(Za?T~kp!4s@x}No`@q40Cbh4CzWGcl~Ud+tLC)h%7op= zT>sBA>$aBlHUVpcnUO=lR!ALdsDVlxe_~gQBfyK0y6lJf3a}Ycf3#-Ca={irt|ajcdi^v~yrE#?Sk1c_{KG&Z<^rEXG`|s$wbP5r0c> zEaucV)T)I;zz)#&b0k$o(qsyWjmLc~DwN1$;iG6Wje|=GiHAhtq@H93XBAu-iHhS6 zqK?F45ru=j3MNvx9b=key~v7PA}jWaA+b;F5q((VHSxOGFA5?n`o!LLZ8@QDQRjA> z=UrMzEGir!f4aN1wWD`Zz3tdnPThH+y7`D_x$Gx70Rm>)$nDAgFU^0qp~G=qoO|oq z+Dr2se%yTZTl%7YUB9K@&=)!g{a1ZKU(j!m!^NeJWEP2oha^ZiNcM06myjwhzv0nL z;2uz%_D*+qZtN?k?#TCs?+tUZr<2Y8lKnG#J^N|)Z1(quro7^mw2!o}wC}aAwQsZ^ zv9$Br1?>mzqV}csZQ`v~-;eg&lS_0f@m8F*#5MEgM)L);U_NKQWDa%s%=KokIbd!v z3+Bf5yCwCKy*NzZwx_zXR)ibF!{I0rML-o7kK+&Re_Sm#iC!`I(AMq|dqvx&Q8Wrh z4$IhP^clUzK_l1kXKXPFMxU|8C_b=t_9`971S;9*cBYU7%%E_XL*f!3LwPI&=x_SR zl~Zqo*3NA96)WfauCxX{dqh1s5t zk|TLVPvFJu96DiOiyaEGAjyhrNF^`|@8?5MEXy)cB7{)vmr|aN3n8+0jPdi{^l-e= zgE1x>@ZM+b<2X=CIOk9k@B7X~0Z7s!?;U(RfF-ZxetZRLp7Ja=A5qws3#e=dcyv%6OpX~*j%^B;dfFy{VP7N nK&ndCS`u;fZ&%Wo9#`NEq~Mnc2mE9|00000NkvXXu0mjf%n_+Y diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/HeatTransmitter.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/HeatTransmitter.png deleted file mode 100644 index cc7b6cddb19196f786e3c0c1cb23f131f9a9a20b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1734 zcmV;%208hOP)4Tx0C?Jsl+SMzWf;dlyYtSh2{;E+0gJ(jKY)-zwqTG3L3g{$wouDv+hW_8 znCoMPiX1$ccrw9X5iY<%0|`MxY)DKvl=ve=5-x_+!%TMv zXvO#R%=3Pq@AvyW?~{Sd=T+Z#(-zEnp{kVf*7(GvmAOHhXIMiwYpQnO=gQ?FfU57i zJaX>+ObX!I_LcAd^Q@`Kz=qTlK(iLuvyeIlx@-F?1mhO4=V<7Mka-s9QsWbokjVmF z^(Za?T~kp!4s@x}No`@q40Cbh4CzWGcl~Ud+tLC)h%7op= zT>sBA>$aBlHUVpcnUO=lR!ALdsDVlxe_~gQBfyK0y6lJf3a}Ycf3#-Ca={irt|ajcdi^v~yrE#?Sk1c_{KG&Z<^rEXG`|s$wbP5r0c> zEaucV)T)I;zz)#&b0k$o(qsyWjmLc~DwN1$;iG6Wje|=GiHAhtq@H93XBAu-iHhS6 zqK?F45ru=j3MNvx9b=key~v7PA}jWaA+b;F5q((VHSxOGFA5?n`o!LLZ8@QDQRjA> z=UrMzEGir!f4aN1wWD`Zz3tdnPThH+y7`D_x$Gx70Rm>)$nDAgFU^0qp~G=qoO|oq z+Dr2se%yTZTl%7YUB9K@&=)!g{a1ZKU(j!m!^NeJWEP2oha^ZiNcM06myjwhzv0nL z;2uz%_D*+qZtN?k?#TCs?+tUZr<2Y8lKnG#J^N|)Z1(quro7^mw2!o}wC}aAwQsZ^ zv9$Br1?>mzqV}csZQ`v~-;eg&lS_0f@m8F*#5MEgM)L);U_NKQWDa%s%=KokIbd!v z3+Bf5yCwCKy*NzZwx_zXR)ibF!{I0rML-o7kK+&Re_Sm#iC!`I(AMq|dqvx&Q8Wrh z4$IhP^clUzK_l1kXKXPFMxU|8C_b=t_9`971S;9*cBYU7%%E_XL*f!3LwPI&=x_SR zl~Zqo*3NA96)WfauCxX{dq2!{9w?>$izAtJe zwuBJoj;fNTDOFWb*EK%RbFwUB5e_q>X&OQZIOmv5COGE+Ff&33Giwn+L;z;~27>{< zsw%3gVmuzt5sApmSsceFl+K~5m>Fh9+qRh5LTFuoe#!)}v9ZBr;PCM9EYK*5xGJ2! zom?4#i2R2Px|hp_so|3(p=lcarBr+SC9K1n-*8YAy>`>~jlAHSHk_NmURhGzhw3T# z2wsmMdtWkqQuGq2Do#8ySRc&w{4$ImLh=CoF7Og$8|p{!sw|hYoA79}r}n4*+Hs52r>b10$Qjna-3FIDBlbIRGeHKxdVhNY ztX*Hjry?{WsA@mKFVHU_n{UzN8uqnDkAS1qO_3ym4s-p#T5? diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeHorizontalAdvanced.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeHorizontalAdvanced.png new file mode 100644 index 0000000000000000000000000000000000000000..e94b3eaa677dce2ff616efe4cbfb7acba31c4c27 GIT binary patch literal 1325 zcmV+|1=9M7P)4Tx062|}Rb6NtRTMtEb7vzY&QokOg>Hg1+lHrgWS zWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6wD^Ni=!>T7nL9I? zX}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8rehoBb*p;u8ID_yBf z0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J`jH<$>RKN5V(7Oq zK*TS4xZz{h!*f1C3ECFkK$#7nA@pGN!$;%jYvwjAKwmYb0gKL(K8 z-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z>!FI&AHCpoWI|RUq zx?7s@$8!5^Q=anY%X@i5{QA6kNcMelpE>R6eCYFpmMsVTrI(b06~u#xf1yS} z_UGdMvD``!0~u->P=lA4?YN`hilQ|3tHka)7T{2CGqw zjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^7T9R1gAN8V6s;5) zieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2bW$~+pTw@bIek?Zv zKPDL<64`^#UNTAck#RBsB6*5DP4<%UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L_AC5qq~L$#SMj%U z$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPVM6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6=b6>{xYV#Ue-+LB$ z7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re4r3qYr~6#KE>;1F z`>_J_P5xC?ROxV(DIHdCO*p$HRQI@7^PwV@Pvuf+5K}u-6REM(K@W$s zrgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5h^QEb$V`rCQ-|7Z zS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX2i^rZ^Mu;6+rb@? zNPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV0id6JRZw95ZvX%Q z+et)0R7ef&Rxu94APfwNrH&mk^#e?dd?QjH(`V)h-8yutM0X$+q_{^_ws@$NES!%E zj(w7eGR7?3`|10>z;0QXW-bBbQ6FQhbS3zlSeT7h@dR`^te<>3jv3sakGyUbi&vng zX<|3gv|$+74Kxrn-h0+4rG8@Z3d9r8IIiY$eGM?rbG2iwt>RW7UcsKA)q3Xl7I7y-_&^%LZxlzt300000NkvXXu0mjf!0w0T literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeHorizontalBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeHorizontalBasic.png new file mode 100644 index 0000000000000000000000000000000000000000..a0fed322f9f49fb99561b861b7bef966734dba81 GIT binary patch literal 1315 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeVerticalBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeVerticalBasic.png new file mode 100644 index 0000000000000000000000000000000000000000..c24f4709b4921b1c16a407982ea528e0c875921e GIT binary patch literal 1459 zcmV;k1x)&hP)4Tx062|}Rb6NtRTMtEb7vzY&QokOg>Hg1+lHrgWS zWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6wD^Ni=!>T7nL9I? zX}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8rehoBb*p;u8ID_yBf z0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J`jH<$>RKN5V(7Oq zK*TS4xZz{h!*f1C3ECFkK$#7nA@pGN!$;%jYvwjAKwmYb0gKL(K8 z-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z>!FI&AHCpoWI|RUq zx?7s@$8!5^Q=anY%X@i5{QA6kNcMelpE>R6eCYFpmMsVTrI(b06~u#xf1yS} z_UGdMvD``!0~u->P=lA4?YN`hilQ|3tHka)7T{2CGqw zjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^7T9R1gAN8V6s;5) zieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2bW$~+pTw@bIek?Zv zKPDL<64`^#UNTAck#RBsB6*5DP4<%UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L_AC5qq~L$#SMj%U z$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPVM6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6=b6>{xYV#Ue-+LB$ z7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re4r3qYr~6#KE>;1F z`>_J_P5xC?ROxV(DIHdCO*p$HRQI@7^PwV@Pvuf+5K}u-6REM(K@W$s zrgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5h^QEb$V`rCQ-|7Z zS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX2i^rZ^Mu;6+rb@? zNPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV0id6JRZw95ZvX%R zVM#xW^CMFibF{nwl^`jAAxZ zba!=6R}VviEX%Cyf6@KT4&6S+FiDamihZCgOEtgUb*aq5tJ*?E3xR&CZGp}DYhUK_ zq;lZ%uAKtNYOSgU)94z8oURLFn^WNI`n-#H9?duD0N)Cf5E+)AO!0GP%B_(^SpiW24`WE-2l%qBY} zz(0dueh-ZF?}7I&n!8`P6PAeWz)lC4fynef36Kw0@L6}phw*>%yalfOU(IjK1(E;& N002ovPDHLkV1hm5(Z2uy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeVerticalElite.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/PressurizedTubeVerticalElite.png new file mode 100644 index 0000000000000000000000000000000000000000..ffde48b01061bc1c5c7c4da6a1430d8da7ad2f42 GIT binary patch literal 1439 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorAdvanced.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorAdvanced.png new file mode 100644 index 0000000000000000000000000000000000000000..892815da8338df408146ae15ed902ea4d9e85e48 GIT binary patch literal 2150 zcmaJ>eLPg@9zRARu9Qs{$#h61=G9<^p)oU}HI|7*t2AZ~24~JRb2L~arMyI1)!n7o zF123nWh-)RNLTW*s|d-&*yW_^Lw7p_xt;OpWpBIJZauu zyLGjVwE+Oo^>F9#vH76t)52kYc>Wgzn~YFy0J;|mMHK=W1h7O%2!!{51z`{$5{P0C zwL(q+pl&Jl4L}2Uo(v%Z69g&@AqJLWYyfa_iIEC~kr0Xxfx^TRCOCfc7Kj&%n4mw6 zN8(A@P`KDVP6q9b^YRtOMGEO6(8U?=6vMzAzz{0H$G}k%IU|M%F8O6(wrZOQ;+G(3 zBolluDuCyWXCpEQPb1jb2+3qJ-kwe%(;TQ2nl+w6BGZT@I+0AWA(0tm5`#j*FAorl zCKH7+_#C(8SlEgQhNGyIK_n^^3W9=4KxAP=GM!E*k|;z9#Rfyz$YUj_AjU=_H(&9< zf#gD&Sc-}f30~z<5Q0RbOb}E0{s^#?$NS(|B417vmNH_DKuRPNNJJP`oofj#NBPhn zGCqoy`^HKkA|H|?(J~=ck5Ka!GM2kP52ONOY8V_u7!5-b)PutWu^oa)EMnM_$rKWa zg=NqIGr4vS9ImY^l|^-Bk=V9Wvcn43Ln2275+St075~8{{VA8hmO%m(k@+G>)JpZd z!x0pbha*xvo4r&m{C0n_M1&~hJ5=diRtw3*har)h41w`W`C*7ZqJheyaNX!MGKovK zQ|YI(sVp~&t%Dtj=1L>GalvJ-=p$!e=2HGImxzfWs*3wR#a`LMI!I-HXkBdaq4^;R z*6}i|wTr>~=Kx^ULk|wiH>Ur$3+;#rcSD0BEL5?;4La$1C};KMv;m9gB1`UNi=q(? zziEEsR0Zvj^9~R<-Uo2^v;^K2Kqiy;Ga_&*>?KL;9V*dqD zdk+S1YAR}#h2bZGLjAz9xVpbP#$BOMv+`S~Q}=EgePE>Daj0OMysuN9C<3!DWL5r@ zb6${oR1dccDAwiXe={*RtFEqI&)8iNgignYhiCpIongAVcO@petadFP32L01l8+iT zDoy>5oaV%j)AQPsHEyp{-({0kWIx^=e`?I2VrsGFv*yT(0PnB*8D+-wNSdu#mLyI+k<*7uUy;)UQhO$T%5vhU|_F*CaawCp{= z2(vtVyjrWUA- znU}&=8g;m&qGpB5-8N|Jbc<5C=(IWb+Q{2O36=%HKM!_4X>lIBmt?JXCN;>V*n`)Y z8ff|Dn^&#E`mqUR;>6UMOLhJC_FugCG<}P~wd=&;AM@NE^h8uWPUMx)%M%6N zxA?iOq8pWZj82op>%)qhSG_yd|4aXBBW|W<+ggJ!7IzFArf0;R`eA5d;`?LOW+XF? zeb)AuOlNxX8m~K!mDz3e;B`f^hrYHNqoCV{|lJv zdWB_eB}|SI#g(xyZER+x1zeTBNv{bKoh|Mp3ElZWK&{tGJ7`;z!@0c!7KZZP>FrIt zFtaFly5PZNpSb_Xr#1%Z?mm6F$2Vl0w@KTw4}8fkyCE6Loh{88dY5k=T>WB{*Bn&y zC}lSFnAf?p*Sk)%x8zru)G59mH0c`k3=VwkYglWFYr1)AaKSG3hLvK_++0~v^H6J6 zRO_ehm#39lv9&jX=6o{Zck_w`c=PD=+wqix`=gWr*{KC+@3iwj(V6;$%o6&rv)jlo zUG)X}eFbYab~DWGD0LEbAD7+zxjHuQ`2eVdZ);-LaT-7WT}jzrH!*|FHb*~?EN4z> zy2TF{S~76MbiI{3+r0=@b{!b{wFz8OQOYl7BVYn}KMz^>){hX9AY z1VBWJ*1`c#5i!_%{9C<<3f!&DIxCJ=Ex!~P945cCF=f~Q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorBasic.png new file mode 100644 index 0000000000000000000000000000000000000000..9d94375271634d1ae0ef9eb5441d41dff4a501e8 GIT binary patch literal 2160 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorHorizontalAdvanced.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorHorizontalAdvanced.png new file mode 100644 index 0000000000000000000000000000000000000000..36281461650cd71392e71e1954d00eeeec1a313c GIT binary patch literal 1408 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorVerticalElite.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorVerticalElite.png new file mode 100644 index 0000000000000000000000000000000000000000..650d217eb6bcc3efd2273d65f0e27f234ed2da93 GIT binary patch literal 1442 zcmV;T1zq}yP)4Tx062|}Rb6NtRTMtEb7vzY&QokOg>Hg1+lHrgWS zWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6wD^Ni=!>T7nL9I? zX}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8rehoBb*p;u8ID_yBf z0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J`jH<$>RKN5V(7Oq zK*TS4xZz{h!*f1C3ECFkK$#7nA@pGN!$;%jYvwjAKwmYb0gKL(K8 z-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z>!FI&AHCpoWI|RUq zx?7s@$8!5^Q=anY%X@i5{QA6kNcMelpE>R6eCYFpmMsVTrI(b06~u#xf1yS} z_UGdMvD``!0~u->P=lA4?YN`hilQ|3tHka)7T{2CGqw zjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^7T9R1gAN8V6s;5) zieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2bW$~+pTw@bIek?Zv zKPDL<64`^#UNTAck#RBsB6*5DP4<%UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L_AC5qq~L$#SMj%U z$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPVM6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6=b6>{xYV#Ue-+LB$ z7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re4r3qYr~6#KE>;1F z`>_J_P5xC?ROxV(DIHdCO*p$HRQI@7^PwV@Pvuf+5K}u-6REM(K@W$s zrgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5h^QEb$V`rCQ-|7Z zS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX2i^rZ^Mu;6+rb@? zNPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV0id6JRZw95ZvX%R zP)S5VR7efYRn1DoFc41Lu*cE|D22t~sVCWkZ{j2PZ2BY~)CZ8&LJ@Hf1?f@xqokeb zmt`k*g|gdAzhu75LhToeW4 zkkLXw&&ivbD@*%)92C%4sY!v9$0^YFd|C(jVJHj67-FZu!K}ZN@7re^T8#u6r_+^5 zOO?DOamjH3jdK1vB40d;BCd?Q2;xd<4tiK@bF7P?E_650KoryaH)cS(b4qR6{R%qh7SR zwXqa>QC-)}N8nsC%0v=jU%Y7=qABD#1(>l1sP~*_FG3f!ZM(O3cj$8&=0V=+T!ee4 w-t(^)4do!l0&_4P5%Q065s}GNXYr!_05#xd4DKr&SO5S307*qoM6N<$f^enB5C8xG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorVerticalUltimate.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/ThermodynamicConductorVerticalUltimate.png new file mode 100644 index 0000000000000000000000000000000000000000..1a082971f5bef1a4dee33a954ae8c1b69fe10489 GIT binary patch literal 1436 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableHorizontalBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableHorizontalBasic.png new file mode 100644 index 0000000000000000000000000000000000000000..286f0eff33d92f5cdec4f2159671c2e088b63160 GIT binary patch literal 1341 zcmV-D1;YA?P)4Tx062|}Rb6NtRTMtEb7vzY&QokOg>Hg1+lHrgWS zWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6wD^Ni=!>T7nL9I? zX}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8rehoBb*p;u8ID_yBf z0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J`jH<$>RKN5V(7Oq zK*TS4xZz{h!*f1C3ECFkK$#7nA@pGN!$;%jYvwjAKwmYb0gKL(K8 z-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z>!FI&AHCpoWI|RUq zx?7s@$8!5^Q=anY%X@i5{QA6kNcMelpE>R6eCYFpmMsVTrI(b06~u#xf1yS} z_UGdMvD``!0~u->P=lA4?YN`hilQ|3tHka)7T{2CGqw zjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^7T9R1gAN8V6s;5) zieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2bW$~+pTw@bIek?Zv zKPDL<64`^#UNTAck#RBsB6*5DP4<%UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L_AC5qq~L$#SMj%U z$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPVM6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6=b6>{xYV#Ue-+LB$ z7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re4r3qYr~6#KE>;1F z`>_J_P5xC?ROxV(DIHdCO*p$HRQI@7^PwV@Pvuf+5K}u-6REM(K@W$s zrgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5h^QEb$V`rCQ-|7Z zS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX2i^rZ^Mu;6+rb@? zNPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV0id6JRZw95ZvX%Q z>q$gGR7efAm9Y|nFc3r&I9nXQz@ew4@h_jMkDMf}9TrD?FO)?JQiDC5Nx7 zs(0@z%d#1|zE@hg7a&i4N@<~+i_a5h=Fh8n11ZZ=_e{%qo-0rL)O1~^8t?roHg{m& zKrW}-Xl-}g4{LOf>m9Y*T$?-aJO`T602n4iW|-8Ir{3Iwc>}5Inod`7+qTM!h~lCs z6#oL|4i+IZSPnJrjy&}YmU?ps<_#pB52K^$ByT^t-;==Hfp3~de_afan4c!YWXLf_ z&32(t)(DutA_*a^?w$5&nL~{?lBeF>fq8=`l$m1`0v#2^00000NkvXXu0mjf4fK%* literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableHorizontalElite.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableHorizontalElite.png new file mode 100644 index 0000000000000000000000000000000000000000..4972ee794037c343569c3f8395d0287aad4616a8 GIT binary patch literal 1331 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 LNkvXXu0mjfVG7O% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableVerticalBasic.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableVerticalBasic.png new file mode 100644 index 0000000000000000000000000000000000000000..9a3aba9ab5cc67634c82f72f4eed1b44649333da GIT binary patch literal 1456 zcmV;h1yA~kP)4Tx062|}Rb6NtRTMtEb7vzY&QokOg>Hg1+lHrgWS zWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6wD^Ni=!>T7nL9I? zX}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8rehoBb*p;u8ID_yBf z0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J`jH<$>RKN5V(7Oq zK*TS4xZz{h!*f1C3ECFkK$#7nA@pGN!$;%jYvwjAKwmYb0gKL(K8 z-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z>!FI&AHCpoWI|RUq zx?7s@$8!5^Q=anY%X@i5{QA6kNcMelpE>R6eCYFpmMsVTrI(b06~u#xf1yS} z_UGdMvD``!0~u->P=lA4?YN`hilQ|3tHka)7T{2CGqw zjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^7T9R1gAN8V6s;5) zieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2bW$~+pTw@bIek?Zv zKPDL<64`^#UNTAck#RBsB6*5DP4<%UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L_AC5qq~L$#SMj%U z$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPVM6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6=b6>{xYV#Ue-+LB$ z7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re4r3qYr~6#KE>;1F z`>_J_P5xC?ROxV(DIHdCO*p$HRQI@7^PwV@Pvuf+5K}u-6REM(K@W$s zrgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5h^QEb$V`rCQ-|7Z zS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX2i^rZ^Mu;6+rb@? zNPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV0id6JRZw95ZvX%R zUP(kjR7efYRXtLMFc95@*y7KOwS|UC=Eo}Do+~MoP8EjqG0c)V0fXT%@xjJ=I zBZUf5T;|asHA@sFm?o$Nw$|H@PV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableVerticalElite.png b/src/main/resources/assets/mekanism/textures/blocks/models/opaque/UniversalCableVerticalElite.png new file mode 100644 index 0000000000000000000000000000000000000000..83d7856cd7d924268185347a5bcd5e5048363928 GIT binary patch literal 1472 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 KMNUMnLSTXhe%1E? literal 0 HcmV?d00001 From a59ba334bac763d26c1d376bfb03b2eba1661ae6 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 19 Jul 2016 15:43:09 -0400 Subject: [PATCH 63/75] Wind Generators are now much more efficient --- .../client/gui/GuiWindGenerator.java | 6 +-- .../client/render/RenderWindGenerator.java | 3 +- .../common/tile/TileEntityWindGenerator.java | 38 ++++++++++++++++--- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/src/main/java/mekanism/generators/client/gui/GuiWindGenerator.java b/src/main/java/mekanism/generators/client/gui/GuiWindGenerator.java index 94289a00c..07d21b127 100644 --- a/src/main/java/mekanism/generators/client/gui/GuiWindGenerator.java +++ b/src/main/java/mekanism/generators/client/gui/GuiWindGenerator.java @@ -46,7 +46,7 @@ public class GuiWindGenerator extends GuiMekanism public List getInfo() { return ListUtils.asList( - LangUtils.localize("gui.producing") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.isActive ? generators.windGenerationMin*tileEntity.getMultiplier() : 0) + "/t", + LangUtils.localize("gui.producing") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.isActive ? generators.windGenerationMin*tileEntity.currentMultiplier : 0) + "/t", LangUtils.localize("gui.maxOutput") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t"); } }, this, MekanismUtils.getResource(ResourceType.GUI, "GuiWindTurbine.png"))); @@ -62,12 +62,12 @@ public class GuiWindGenerator extends GuiMekanism fontRendererObj.drawString(tileEntity.getInventoryName(), 45, 6, 0x404040); fontRendererObj.drawString(LangUtils.localize("container.inventory"), 8, (ySize - 96) + 2, 0x404040); fontRendererObj.drawString(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()), 51, 26, 0x00CD00); - fontRendererObj.drawString(LangUtils.localize("gui.power") + ": " + powerFormat.format(MekanismUtils.convertToDisplay(generators.windGenerationMin*tileEntity.getMultiplier())), 51, 35, 0x00CD00); + fontRendererObj.drawString(LangUtils.localize("gui.power") + ": " + powerFormat.format(MekanismUtils.convertToDisplay(generators.windGenerationMin*tileEntity.currentMultiplier)), 51, 35, 0x00CD00); fontRendererObj.drawString(LangUtils.localize("gui.out") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t", 51, 44, 0x00CD00); int size = 44; - if(!tileEntity.getWorldObj().canBlockSeeTheSky(tileEntity.xCoord, tileEntity.yCoord+4, tileEntity.zCoord)) + if(!tileEntity.getActive()) { size += 9; fontRendererObj.drawString(EnumColor.DARK_RED + LangUtils.localize("gui.skyBlocked"), 51, size, 0x00CD00); diff --git a/src/main/java/mekanism/generators/client/render/RenderWindGenerator.java b/src/main/java/mekanism/generators/client/render/RenderWindGenerator.java index 35744a2a2..610ef98ef 100644 --- a/src/main/java/mekanism/generators/client/render/RenderWindGenerator.java +++ b/src/main/java/mekanism/generators/client/render/RenderWindGenerator.java @@ -36,8 +36,7 @@ public class RenderWindGenerator extends TileEntitySpecialRenderer GL11.glRotatef(180, 0F, 0F, 1F); - if(!Mekanism.proxy.isPaused() && - tileEntity.getWorldObj().canBlockSeeTheSky(tileEntity.xCoord, tileEntity.yCoord+4, tileEntity.zCoord)) + if(!Mekanism.proxy.isPaused() && tileEntity.getActive()) { tileEntity.angle = (tileEntity.angle+((tileEntity.yCoord+4F)/256F)*8) % 360; } diff --git a/src/main/java/mekanism/generators/common/tile/TileEntityWindGenerator.java b/src/main/java/mekanism/generators/common/tile/TileEntityWindGenerator.java index d7c355962..56dbae40e 100644 --- a/src/main/java/mekanism/generators/common/tile/TileEntityWindGenerator.java +++ b/src/main/java/mekanism/generators/common/tile/TileEntityWindGenerator.java @@ -1,5 +1,9 @@ package mekanism.generators.common.tile; +import io.netty.buffer.ByteBuf; + +import java.util.ArrayList; + import mekanism.api.Coord4D; import mekanism.api.MekanismConfig.generators; import mekanism.common.base.IBoundingBlock; @@ -14,6 +18,8 @@ public class TileEntityWindGenerator extends TileEntityGenerator implements IBou { /** The angle the blades of this Wind Turbine are currently at. */ public double angle; + + public float currentMultiplier; public TileEntityWindGenerator() { @@ -30,16 +36,38 @@ public class TileEntityWindGenerator extends TileEntityGenerator implements IBou { ChargeUtils.charge(0, this); - if(canOperate()) + if(ticker % 20 == 0) { - setActive(true); - setEnergy(electricityStored + (generators.windGenerationMin*getMultiplier())); + setActive((currentMultiplier = getMultiplier()) > 0); } - else { - setActive(false); + System.out.println(currentMultiplier + " " + worldObj.canBlockSeeTheSky(xCoord, yCoord+4, zCoord)); + if(getActive()) + { + setEnergy(electricityStored + (generators.windGenerationMin*currentMultiplier)); } } } + + @Override + public void handlePacketData(ByteBuf dataStream) + { + super.handlePacketData(dataStream); + + if(worldObj.isRemote) + { + currentMultiplier = dataStream.readFloat(); + } + } + + @Override + public ArrayList getNetworkedData(ArrayList data) + { + super.getNetworkedData(data); + + data.add(currentMultiplier); + + return data; + } /** Determines the current output multiplier, taking sky visibility and height into account. **/ public float getMultiplier() From bc0bd8030278e7ba2bf57759ee859f9ef3749521 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 19 Jul 2016 15:46:51 -0400 Subject: [PATCH 64/75] Removed println --- .../generators/common/tile/TileEntityWindGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mekanism/generators/common/tile/TileEntityWindGenerator.java b/src/main/java/mekanism/generators/common/tile/TileEntityWindGenerator.java index 56dbae40e..c3e455473 100644 --- a/src/main/java/mekanism/generators/common/tile/TileEntityWindGenerator.java +++ b/src/main/java/mekanism/generators/common/tile/TileEntityWindGenerator.java @@ -40,7 +40,7 @@ public class TileEntityWindGenerator extends TileEntityGenerator implements IBou { setActive((currentMultiplier = getMultiplier()) > 0); } - System.out.println(currentMultiplier + " " + worldObj.canBlockSeeTheSky(xCoord, yCoord+4, zCoord)); + if(getActive()) { setEnergy(electricityStored + (generators.windGenerationMin*currentMultiplier)); From d1eff9c37894c80c76bb2331842b98e3137c6fef Mon Sep 17 00:00:00 2001 From: Aidan Date: Tue, 19 Jul 2016 16:46:03 -0400 Subject: [PATCH 65/75] Updated license to prevent future misuse of Mekanism --- README.md | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index c331e9c19..4cc7c5d48 100644 --- a/README.md +++ b/README.md @@ -11,21 +11,36 @@ Mekanism is a Minecraft add-on featuring high-tech machinery that can be used to # Modpacks, websites, reviews, or anything else # Some people really don't like others to review or distribute their mods, something which I honestly don't understand. You are the ones who help get this mod into the Minecraft community's hands, which seems like a good thing from my perspective. -So go ahead, do whatever you like. I honestly just don't want you messaging me on IRC or on the forums, asking my permission. If you need proof, provide a link to this page, or give them information on the MIT license. +As long as you follow the terms laid out in the license below, go right ahead. I honestly just don't want you messaging me on IRC or on the forums, asking my permission. If you need proof, provide a link to this page. # License # -Licenses are not really my friend -- strict closed source software really drives me nuts. Even more, with a derivative work coded in a language such as Java, nothing can really prevent people from looking through my source with JD-GUI. -However, I welcome people wanting to learn how to mod, and because of this, I have licensed Mekanism under the MIT License, which doesn't include many guidelines. This basically means you have the right to use my mod's source code, learn -from it, and even use it in your own mod. You even have the right to distribute this mod to the public and make money off of it, although this is something I wouldn't necessarily encourage! :) +**Note that this license exists for Mekanism v9.1 or later. Previous versions of Mekanism utilize the MIT license.** -Copyright © 2016 Aidan Brady +Licenses are not really my friend -- strict closed source software really drives me nuts. Even more, with a derivative work coded in a language such as Java, nothing can really prevent people from looking through my source with JD-GUI. I learned to program through a combination of textbooks, trial-and-error and browsing open source projects. As such, I have decided to utilize a fairly lenient policy in hopes that my work will educate and inspire others with interests in computer science. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +I'm choosing to not adopt a specific license, meaning that all rights to source code, assets and distributed binaries are reserved to me by default. However, I've made some notable exceptions in regards to Mekanism's source code, which can be listed below. Read each section carefully to make sure you understand exactly what you can and can't do. Don't try to work in the 'grey area' - if it's not listed, don't attempt it. -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +**Mekanism's artwork and sounds are licensed under Creative Commons Attribution-ShareAlike 4.0 International.** -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +**You may:** +- Use any Mekanism binaries. Free of charge :) +- View Mekanism's source code, either through this website or decompiling. +- Utilize and/or package copies of Mekanism's API (MDK) in third-party projects. +- Create and make profit from Mekanism-dependent, third-party Mekanism modules, as long as no Mekanism source code (other than the API) is included in public releases. +- Learn from, utilize, and/or distribute **small snippets** of Mekanism code for use in third-party projects, with credit to the author. +- Include and distribute official Mekanism binaries in public modpacks, with credit to the author. +- Distribute **modified** Mekanism binaries for **private** use, with or without credit to the author. + +**You may, with permission (via Twitter or Email):** +- Distribute **modified** Mekanism binaries for use in **public** modpacks with credit to the author. + +**You may *not*:** +- Distribute **official** Mekanism binaries in **public** modpacks without credit to the author. +- Distribute **modified** Mekanism binaries in **public** modpacks without permission from the author. +- Publicly distribute 10% or more of Mekanism's raw or compiled source code, without explicit permission from the author, with the exception of modpacks. + +**Copyright © 2016 Aidan Brady** # Developers & Credits # From 50693e27d267cffc7f1741e3d784bb6e15bd25ea Mon Sep 17 00:00:00 2001 From: Aidan Date: Wed, 20 Jul 2016 02:22:04 -0400 Subject: [PATCH 66/75] Going back to MIT, thanks to the concerns of @bshelden and @asiekierka --- README.md | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 4cc7c5d48..042489490 100644 --- a/README.md +++ b/README.md @@ -15,30 +15,9 @@ As long as you follow the terms laid out in the license below, go right ahead. # License # -**Note that this license exists for Mekanism v9.1 or later. Previous versions of Mekanism utilize the MIT license.** +Licenses are not really my friend -- strict closed source software really drives me nuts. Even more, with a derivative work coded in a language such as Java, nothing can really prevent people from looking through my source with JD-GUI. I learned to program through a combination of textbooks, trial-and-error and browsing open source projects. As such, I have decided to license Mekanism under the MIT license, allowing for anyone with an interest in the project to fork/pull/distribute. -Licenses are not really my friend -- strict closed source software really drives me nuts. Even more, with a derivative work coded in a language such as Java, nothing can really prevent people from looking through my source with JD-GUI. I learned to program through a combination of textbooks, trial-and-error and browsing open source projects. As such, I have decided to utilize a fairly lenient policy in hopes that my work will educate and inspire others with interests in computer science. - -I'm choosing to not adopt a specific license, meaning that all rights to source code, assets and distributed binaries are reserved to me by default. However, I've made some notable exceptions in regards to Mekanism's source code, which can be listed below. Read each section carefully to make sure you understand exactly what you can and can't do. Don't try to work in the 'grey area' - if it's not listed, don't attempt it. - -**Mekanism's artwork and sounds are licensed under Creative Commons Attribution-ShareAlike 4.0 International.** - -**You may:** -- Use any Mekanism binaries. Free of charge :) -- View Mekanism's source code, either through this website or decompiling. -- Utilize and/or package copies of Mekanism's API (MDK) in third-party projects. -- Create and make profit from Mekanism-dependent, third-party Mekanism modules, as long as no Mekanism source code (other than the API) is included in public releases. -- Learn from, utilize, and/or distribute **small snippets** of Mekanism code for use in third-party projects, with credit to the author. -- Include and distribute official Mekanism binaries in public modpacks, with credit to the author. -- Distribute **modified** Mekanism binaries for **private** use, with or without credit to the author. - -**You may, with permission (via Twitter or Email):** -- Distribute **modified** Mekanism binaries for use in **public** modpacks with credit to the author. - -**You may *not*:** -- Distribute **official** Mekanism binaries in **public** modpacks without credit to the author. -- Distribute **modified** Mekanism binaries in **public** modpacks without permission from the author. -- Publicly distribute 10% or more of Mekanism's raw or compiled source code, without explicit permission from the author, with the exception of modpacks. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. **Copyright © 2016 Aidan Brady** From 3462baf7615e13a0a0906bbb0d9f90628c3112cd Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Sat, 23 Jul 2016 23:11:32 -0400 Subject: [PATCH 67/75] Restrict Thermal Evaporation Plant output to needed --- .../common/tile/TileEntityThermalEvaporationController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java b/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java index 929dbaa69..1fb9d6928 100644 --- a/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java +++ b/src/main/java/mekanism/common/tile/TileEntityThermalEvaporationController.java @@ -111,10 +111,12 @@ public class TileEntityThermalEvaporationController extends TileEntityThermalEva { int outputNeeded = outputTank.getCapacity()-outputTank.getFluidAmount(); int inputStored = inputTank.getFluidAmount(); + double outputRatio = (double)recipe.recipeOutput.output.amount/(double)recipe.recipeInput.ingredient.amount; double tempMult = Math.max(0, getTemperature())*general.evaporationTempMultiplier; double inputToUse = (tempMult*recipe.recipeInput.ingredient.amount)*((float)height/(float)MAX_HEIGHT); inputToUse = Math.min(inputTank.getFluidAmount(), inputToUse); + inputToUse = Math.min(inputToUse, outputNeeded/outputRatio); lastGain = (float)inputToUse/(float)recipe.recipeInput.ingredient.amount; partialInput += inputToUse; From 833d7372fbb707e4e8c61d33555ba8556fcf913b Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 9 Aug 2016 01:34:47 -0400 Subject: [PATCH 68/75] Fixed chunk churning issue with frames --- .../mekanism/common/block/BlockBounding.java | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/mekanism/common/block/BlockBounding.java b/src/main/java/mekanism/common/block/BlockBounding.java index 176585493..3a16ac6da 100644 --- a/src/main/java/mekanism/common/block/BlockBounding.java +++ b/src/main/java/mekanism/common/block/BlockBounding.java @@ -37,7 +37,7 @@ public class BlockBounding extends Block { try { TileEntityBoundingBlock tileEntity = (TileEntityBoundingBlock)world.getTileEntity(x, y, z); - return world.getBlock(tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ).onBlockActivated(world, tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ, entityplayer, facing, playerX, playerY, playerZ); + return getMainBlock(tileEntity, world).onBlockActivated(world, tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ, entityplayer, facing, playerX, playerY, playerZ); } catch(Exception e) { return false; } @@ -56,7 +56,7 @@ public class BlockBounding extends Block { try { TileEntityBoundingBlock tileEntity = (TileEntityBoundingBlock)world.getTileEntity(x, y, z); - return world.getBlock(tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ).getPickBlock(target, world, tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ, player); + return getMainBlock(tileEntity, world).getPickBlock(target, world, tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ, player); } catch(Exception e) { return null; } @@ -67,7 +67,7 @@ public class BlockBounding extends Block { try { TileEntityBoundingBlock tileEntity = (TileEntityBoundingBlock)world.getTileEntity(x, y, z); - return world.getBlock(tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ).removedByPlayer(world, player, tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ, willHarvest); + return getMainBlock(tileEntity, world).removedByPlayer(world, player, tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ, willHarvest); } catch(Exception e) { return false; } @@ -79,7 +79,7 @@ public class BlockBounding extends Block try { TileEntityBoundingBlock tileEntity = (TileEntityBoundingBlock)world.getTileEntity(x, y, z); tileEntity.onNeighborChange(block); - world.getBlock(tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ).onNeighborBlockChange(world, tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ, this); + getMainBlock(tileEntity, world).onNeighborBlockChange(world, tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ, this); } catch(Exception e) {} } @@ -88,11 +88,23 @@ public class BlockBounding extends Block { try { TileEntityBoundingBlock tileEntity = (TileEntityBoundingBlock)world.getTileEntity(x, y, z); - return world.getBlock(tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ).getPlayerRelativeBlockHardness(player, world, tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ); + return getMainBlock(tileEntity, world).getPlayerRelativeBlockHardness(player, world, tileEntity.mainX, tileEntity.mainY, tileEntity.mainZ); } catch(Exception e) { return super.getPlayerRelativeBlockHardness(player, world, x, y, z); } } + + private Block getMainBlock(TileEntityBoundingBlock mainTile, World world) + { + Block block = world.getBlock(mainTile.mainX, mainTile.mainY, mainTile.mainZ); + + if(block instanceof BlockBounding) + { + return null; + } + + return block; + } @Override public int quantityDropped(Random random) From 03191f198b2b705dc6f36607fb182a1d241b8edc Mon Sep 17 00:00:00 2001 From: Clienthax Date: Mon, 15 Aug 2016 02:58:15 +0100 Subject: [PATCH 69/75] Add config option to disable block protections --- src/main/java/mekanism/api/MekanismConfig.java | 1 + .../java/mekanism/client/gui/element/GuiSecurityTab.java | 6 +++++- src/main/java/mekanism/common/CommonProxy.java | 1 + .../java/mekanism/common/item/ItemBlockEnergyCube.java | 2 +- src/main/java/mekanism/common/item/ItemBlockGasTank.java | 2 +- src/main/java/mekanism/common/item/ItemBlockMachine.java | 2 +- .../java/mekanism/common/network/PacketConfigSync.java | 2 ++ .../common/tile/component/TileComponentSecurity.java | 7 ++++++- .../generators/common/item/ItemBlockGenerator.java | 2 +- 9 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/mekanism/api/MekanismConfig.java b/src/main/java/mekanism/api/MekanismConfig.java index 40e44fcb0..e0167926f 100644 --- a/src/main/java/mekanism/api/MekanismConfig.java +++ b/src/main/java/mekanism/api/MekanismConfig.java @@ -66,6 +66,7 @@ public class MekanismConfig public static double superheatingHeatTransfer = 10000; public static double heatPerFuelTick = 4; public static boolean allowTransmitterAlloyUpgrade; + public static boolean allowProtection = true; } public static class client diff --git a/src/main/java/mekanism/client/gui/element/GuiSecurityTab.java b/src/main/java/mekanism/client/gui/element/GuiSecurityTab.java index c01e7dbcd..ece37160e 100644 --- a/src/main/java/mekanism/client/gui/element/GuiSecurityTab.java +++ b/src/main/java/mekanism/client/gui/element/GuiSecurityTab.java @@ -2,6 +2,7 @@ package mekanism.client.gui.element; import mekanism.api.Coord4D; import mekanism.api.EnumColor; +import mekanism.api.MekanismConfig.general; import mekanism.api.util.ListUtils; import mekanism.client.MekanismClient; import mekanism.client.gui.IGuiWrapper; @@ -129,6 +130,9 @@ public class GuiSecurityTab extends GuiElement private SecurityMode getSecurity() { + if(!general.allowProtection) { + return SecurityMode.PUBLIC; + } if(isItem) { if(getItem() == null || !(getItem().getItem() instanceof ISecurityItem)) @@ -172,7 +176,7 @@ public class GuiSecurityTab extends GuiElement @Override public void mouseClicked(int xAxis, int yAxis, int button) { - if(button == 0) + if(button == 0 && general.allowProtection) { if(getOwner() != null && mc.thePlayer.getCommandSenderName().equals(getOwner())) { diff --git a/src/main/java/mekanism/common/CommonProxy.java b/src/main/java/mekanism/common/CommonProxy.java index b1fe7d693..73dc1d6a8 100644 --- a/src/main/java/mekanism/common/CommonProxy.java +++ b/src/main/java/mekanism/common/CommonProxy.java @@ -298,6 +298,7 @@ public class CommonProxy implements IGuiProvider general.superheatingHeatTransfer = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "SuperheatingHeatTransfer", 10000D).getDouble(); general.heatPerFuelTick = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "HeatPerFuelTick", 4D).getDouble(); general.allowTransmitterAlloyUpgrade = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "AllowTransmitterAlloyUpgrade", true).getBoolean(); + general.allowProtection = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "AllowProtection", true).getBoolean(); general.blacklistIC2 = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "BlacklistIC2Power", false).getBoolean(); general.blacklistRF = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "BlacklistRFPower", false).getBoolean(); diff --git a/src/main/java/mekanism/common/item/ItemBlockEnergyCube.java b/src/main/java/mekanism/common/item/ItemBlockEnergyCube.java index 1a1fe7c42..d467beb84 100644 --- a/src/main/java/mekanism/common/item/ItemBlockEnergyCube.java +++ b/src/main/java/mekanism/common/item/ItemBlockEnergyCube.java @@ -393,7 +393,7 @@ public class ItemBlockEnergyCube extends ItemBlock implements IEnergizedItem, IE @Override public SecurityMode getSecurity(ItemStack stack) { - if(stack.stackTagCompound == null) + if(stack.stackTagCompound == null || !general.allowProtection) { return SecurityMode.PUBLIC; } diff --git a/src/main/java/mekanism/common/item/ItemBlockGasTank.java b/src/main/java/mekanism/common/item/ItemBlockGasTank.java index 188d7dda5..1f9be49f8 100644 --- a/src/main/java/mekanism/common/item/ItemBlockGasTank.java +++ b/src/main/java/mekanism/common/item/ItemBlockGasTank.java @@ -373,7 +373,7 @@ public class ItemBlockGasTank extends ItemBlock implements IGasItem, ISustainedI @Override public SecurityMode getSecurity(ItemStack stack) { - if(stack.stackTagCompound == null) + if(stack.stackTagCompound == null || !general.allowProtection) { return SecurityMode.PUBLIC; } diff --git a/src/main/java/mekanism/common/item/ItemBlockMachine.java b/src/main/java/mekanism/common/item/ItemBlockMachine.java index 71d449eb8..7d695f6b2 100644 --- a/src/main/java/mekanism/common/item/ItemBlockMachine.java +++ b/src/main/java/mekanism/common/item/ItemBlockMachine.java @@ -944,7 +944,7 @@ public class ItemBlockMachine extends ItemBlock implements IEnergizedItem, ISpec @Override public SecurityMode getSecurity(ItemStack stack) { - if(stack.stackTagCompound == null) + if(stack.stackTagCompound == null || !general.allowProtection) { return SecurityMode.PUBLIC; } diff --git a/src/main/java/mekanism/common/network/PacketConfigSync.java b/src/main/java/mekanism/common/network/PacketConfigSync.java index 58e1b3a22..c1836d40b 100644 --- a/src/main/java/mekanism/common/network/PacketConfigSync.java +++ b/src/main/java/mekanism/common/network/PacketConfigSync.java @@ -72,6 +72,7 @@ public class PacketConfigSync implements IMessageHandler Date: Mon, 5 Sep 2016 15:28:55 -0400 Subject: [PATCH 70/75] Bump up Dynamic Tank max storage, fixed Factory container issue --- .../content/tank/TankUpdateProtocol.java | 2 +- .../inventory/container/ContainerFactory.java | 24 ++++--------------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/src/main/java/mekanism/common/content/tank/TankUpdateProtocol.java b/src/main/java/mekanism/common/content/tank/TankUpdateProtocol.java index 12cebf11d..995051974 100644 --- a/src/main/java/mekanism/common/content/tank/TankUpdateProtocol.java +++ b/src/main/java/mekanism/common/content/tank/TankUpdateProtocol.java @@ -16,7 +16,7 @@ import net.minecraft.item.ItemStack; public class TankUpdateProtocol extends UpdateProtocol { - public static final int FLUID_PER_TANK = 16000; + public static final int FLUID_PER_TANK = 64000; public TankUpdateProtocol(TileEntityDynamicTank tileEntity) { diff --git a/src/main/java/mekanism/common/inventory/container/ContainerFactory.java b/src/main/java/mekanism/common/inventory/container/ContainerFactory.java index 088e03932..03643cb52 100644 --- a/src/main/java/mekanism/common/inventory/container/ContainerFactory.java +++ b/src/main/java/mekanism/common/inventory/container/ContainerFactory.java @@ -116,7 +116,7 @@ public class ContainerFactory extends Container { ItemStack stack = null; Slot currentSlot = (Slot)inventorySlots.get(slotID); - + if(currentSlot != null && currentSlot.getHasStack()) { ItemStack slotStack = currentSlot.getStack(); @@ -178,7 +178,7 @@ public class ContainerFactory extends Container } else if(tileEntity.recipeType.getItemGas(slotStack) != null) { - if(slotID > tileEntity.inventory.length-1) + if(slotID >= tileEntity.inventory.length-1) { if(!mergeItemStack(slotStack, 3, 4, false)) { @@ -194,7 +194,7 @@ public class ContainerFactory extends Container } else if(tileEntity.recipeType == RecipeType.INFUSING && InfuseRegistry.getObject(slotStack) != null && (tileEntity.infuseStored.type == null || tileEntity.infuseStored.type == InfuseRegistry.getObject(slotStack).type)) { - if(slotID > tileEntity.inventory.length-1) + if(slotID >= tileEntity.inventory.length-1) { if(!mergeItemStack(slotStack, 3, 4, false)) { @@ -267,25 +267,11 @@ public class ContainerFactory extends Container public boolean isInputSlot(int slot) { - if(tileEntity.tier == Tier.FactoryTier.BASIC) - return slot >= 4 && slot <= 6; - if(tileEntity.tier == Tier.FactoryTier.ADVANCED) - return slot >= 4 && slot <= 8; - if(tileEntity.tier == Tier.FactoryTier.ELITE) - return slot >= 4 && slot <= 10; - - return false; + return slot >= 4 && slot < 4+tileEntity.tier.processes; } public boolean isOutputSlot(int slot) { - if(tileEntity.tier == Tier.FactoryTier.BASIC) - return slot >= 7 && slot <= 9; - if(tileEntity.tier == Tier.FactoryTier.ADVANCED) - return slot >= 9 && slot <= 13; - if(tileEntity.tier == Tier.FactoryTier.ELITE) - return slot >= 11 && slot <= 17; - - return false; + return slot >= 4+tileEntity.tier.processes && slot < 4+tileEntity.tier.processes*2; } } From ddc9e68f8ef81f5ae3979be0cecf4cce016a2ab2 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Thu, 11 Aug 2016 12:15:16 -0400 Subject: [PATCH 71/75] Added version-based handling, bump version to 9.1.1 --- build.properties | 2 +- src/main/java/mekanism/common/Mekanism.java | 4 +-- .../java/mekanism/common/ThreadGetData.java | 27 ++++++++++++++-- src/main/java/mekanism/common/Version.java | 27 +++++++++++++++- .../mekanism/common/util/MekanismUtils.java | 31 ++----------------- .../generators/common/MekanismGenerators.java | 4 +-- .../mekanism/tools/common/MekanismTools.java | 4 +-- 7 files changed, 60 insertions(+), 39 deletions(-) diff --git a/build.properties b/build.properties index cd60cf117..b8e16c745 100644 --- a/build.properties +++ b/build.properties @@ -4,4 +4,4 @@ FMP_version=1.1.2.331 CCLIB_version=1.1.3.136 NEI_version=1.0.4.101 CCC_version=1.0.6.39 -mod_version=9.1.0 +mod_version=9.1.1 diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index db1e15eee..b7a597646 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -142,7 +142,7 @@ import cpw.mods.fml.common.registry.GameRegistry; * @author AidanBrady * */ -@Mod(modid = "Mekanism", name = "Mekanism", version = "9.1.0", guiFactory = "mekanism.client.gui.ConfigGuiFactory", +@Mod(modid = "Mekanism", name = "Mekanism", version = "9.1.1", guiFactory = "mekanism.client.gui.ConfigGuiFactory", dependencies = "after:ForgeMultipart;after:BuildCraft;after:BuildCraftAPI;after:IC2;after:CoFHCore;" + "after:ComputerCraft;after:Galacticraft API;after:MetallurgyCore") public class Mekanism @@ -168,7 +168,7 @@ public class Mekanism public static Configuration configuration; /** Mekanism version number */ - public static Version versionNumber = new Version(9, 1, 0); + public static Version versionNumber = new Version(9, 1, 1); /** MultiblockManagers for various structrures */ public static MultiblockManager tankManager = new MultiblockManager("dynamicTank"); diff --git a/src/main/java/mekanism/common/ThreadGetData.java b/src/main/java/mekanism/common/ThreadGetData.java index 310154f54..40e4bb4fd 100644 --- a/src/main/java/mekanism/common/ThreadGetData.java +++ b/src/main/java/mekanism/common/ThreadGetData.java @@ -1,6 +1,9 @@ package mekanism.common; +import java.util.List; + import mekanism.common.util.MekanismUtils; +import cpw.mods.fml.relauncher.FMLInjectionData; /** * Thread used to retrieve data from the Mekanism server. @@ -18,9 +21,27 @@ public class ThreadGetData extends Thread @Override public void run() { - Mekanism.latestVersionNumber = MekanismUtils.getLatestVersion(); - Mekanism.recentNews = MekanismUtils.getRecentNews(); - + List ret = MekanismUtils.getHTML("https://dl.dropbox.com/u/90411166/Versions/Mekanism.txt"); + + Mekanism.latestVersionNumber = "null"; + Mekanism.recentNews = "null"; + + for(String s : ret) + { + String[] text = s.split(":"); + + if(text.length == 3 && !text[0].contains("UTF-8") && !text[0].contains("HTML") && !text[0].contains("http")) + { + if(Version.get(text[0]) != null && Version.get(text[0]).equals(Version.get((String)FMLInjectionData.data()[4]))) + { + Mekanism.latestVersionNumber = text[1]; + Mekanism.recentNews = text[2]; + + break; + } + } + } + MekanismUtils.updateDonators(); } } diff --git a/src/main/java/mekanism/common/Version.java b/src/main/java/mekanism/common/Version.java index ee5b058cd..ff1eb97e1 100644 --- a/src/main/java/mekanism/common/Version.java +++ b/src/main/java/mekanism/common/Version.java @@ -1,7 +1,7 @@ package mekanism.common; /** - * Version v1.0.4. Simple version handling for Mekanism. + * Version v2.0.0. Simple version handling for Mekanism. * @author AidanBrady * */ @@ -127,4 +127,29 @@ public class Version return major + "." + minor + "." + build; } } + + @Override + public int hashCode() + { + int result = 1; + + result = 31 * result + build; + result = 31 * result + major; + result = 31 * result + minor; + + return result; + } + + @Override + public boolean equals(Object obj) + { + if(obj == null || getClass() != obj.getClass()) + { + return false; + } + + Version other = (Version)obj; + + return build == other.build && major == other.major && minor == other.minor; + } } diff --git a/src/main/java/mekanism/common/util/MekanismUtils.java b/src/main/java/mekanism/common/util/MekanismUtils.java index c1eff4ca5..a658157ec 100644 --- a/src/main/java/mekanism/common/util/MekanismUtils.java +++ b/src/main/java/mekanism/common/util/MekanismUtils.java @@ -160,28 +160,6 @@ public final class MekanismUtils return false; } - /** - * Gets the latest version using getHTML and returns it as a string. - * @return latest version - */ - public static String getLatestVersion() - { - String[] text = merge(getHTML("https://dl.dropbox.com/u/90411166/Mod%20Versions/Mekanism.txt")).split(":"); - if(text.length > 1 && !text[0].contains("UTF-8") && !text[0].contains("HTML") && !text[0].contains("http")) return text[0]; - return "null"; - } - - /** - * Gets the recent news using getHTML and returns it as a string. - * @return recent news - */ - public static String getRecentNews() - { - String[] text = merge(getHTML("https://dl.dropbox.com/u/90411166/Mod%20Versions/Mekanism.txt")).split(":"); - if(text.length > 1 && !text[1].contains("UTF-8") && !text[1].contains("HTML") && !text[1].contains("http")) return text[1]; - return "null"; - } - /** * Updates the donator list by retrieving the most recent information from a foreign document. */ @@ -202,17 +180,14 @@ public final class MekanismUtils */ public static List getHTML(String urlToRead) { - URL url; - HttpURLConnection conn; - BufferedReader rd; String line; List result = new ArrayList(); try { - url = new URL(urlToRead); - conn = (HttpURLConnection)url.openConnection(); + URL url = new URL(urlToRead); + HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("GET"); - rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); + BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); while((line = rd.readLine()) != null) { diff --git a/src/main/java/mekanism/generators/common/MekanismGenerators.java b/src/main/java/mekanism/generators/common/MekanismGenerators.java index 8a39f918c..e2203bc66 100644 --- a/src/main/java/mekanism/generators/common/MekanismGenerators.java +++ b/src/main/java/mekanism/generators/common/MekanismGenerators.java @@ -44,7 +44,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.network.NetworkRegistry; -@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "9.1.0", dependencies = "required-after:Mekanism", guiFactory = "mekanism.generators.client.gui.GeneratorsGuiFactory") +@Mod(modid = "MekanismGenerators", name = "MekanismGenerators", version = "9.1.1", dependencies = "required-after:Mekanism", guiFactory = "mekanism.generators.client.gui.GeneratorsGuiFactory") public class MekanismGenerators implements IModule { @SidedProxy(clientSide = "mekanism.generators.client.GeneratorsClientProxy", serverSide = "mekanism.generators.common.GeneratorsCommonProxy") @@ -54,7 +54,7 @@ public class MekanismGenerators implements IModule public static MekanismGenerators instance; /** MekanismGenerators version number */ - public static Version versionNumber = new Version(9, 1, 0); + public static Version versionNumber = new Version(9, 1, 1); public static MultiblockManager turbineManager = new MultiblockManager("industrialTurbine"); diff --git a/src/main/java/mekanism/tools/common/MekanismTools.java b/src/main/java/mekanism/tools/common/MekanismTools.java index 36e5b72bf..88fa2cdf4 100644 --- a/src/main/java/mekanism/tools/common/MekanismTools.java +++ b/src/main/java/mekanism/tools/common/MekanismTools.java @@ -29,7 +29,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; -@Mod(modid = "MekanismTools", name = "MekanismTools", version = "9.1.0", dependencies = "required-after:Mekanism", guiFactory = "mekanism.tools.client.gui.ToolsGuiFactory") +@Mod(modid = "MekanismTools", name = "MekanismTools", version = "9.1.1", dependencies = "required-after:Mekanism", guiFactory = "mekanism.tools.client.gui.ToolsGuiFactory") public class MekanismTools implements IModule { @SidedProxy(clientSide = "mekanism.tools.client.ToolsClientProxy", serverSide = "mekanism.tools.common.ToolsCommonProxy") @@ -39,7 +39,7 @@ public class MekanismTools implements IModule public static MekanismTools instance; /** MekanismTools version number */ - public static Version versionNumber = new Version(9, 1, 0); + public static Version versionNumber = new Version(9, 1, 1); //Enums: Tools public static ToolMaterial toolOBSIDIAN; From 9a0c0b0a00410337a4653b9aefb37902c6bc11f3 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Thu, 13 Apr 2017 17:11:07 -0400 Subject: [PATCH 72/75] Fix a quick miner issue --- .../common/tile/TileEntityDigitalMiner.java | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/src/main/java/mekanism/common/tile/TileEntityDigitalMiner.java b/src/main/java/mekanism/common/tile/TileEntityDigitalMiner.java index 0010f168a..25c7e744f 100644 --- a/src/main/java/mekanism/common/tile/TileEntityDigitalMiner.java +++ b/src/main/java/mekanism/common/tile/TileEntityDigitalMiner.java @@ -598,6 +598,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I oresToMine.clear(); replaceMap.clear(); missingStack = null; + setActive(false); MekanismUtils.saveChunk(this); } @@ -1253,7 +1254,7 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I numPowering--; } - public String[] methods = {"setRadius", "setMin", "setMax", "addFilter", "removeFilter", "addOreFilter", "removeOreFilter", "reset", "start", "stop"}; + public String[] methods = {"setRadius", "setMin", "setMax", "addFilter", "removeFilter", "addOreFilter", "removeOreFilter", "reset", "start", "stop", "getToMine"}; @Override public String[] getMethods() @@ -1352,18 +1353,22 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I } } } - else if(method == 7) - { - reset(); - } - else if(method == 8) - { - start(); - } - else if(method == 9) - { - stop(); - } + } + else if(method == 7) + { + reset(); + } + else if(method == 8) + { + start(); + } + else if(method == 9) + { + stop(); + } + else if(method == 10) + { + return new Object[] {searcher != null ? searcher.found : 0}; } } From 24319034fa97d45fb1eec95c58488eba0a964247 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Tue, 16 May 2017 11:09:45 -0400 Subject: [PATCH 73/75] Temporary fix --- .../mekanism/common/multipart/PartLogisticalTransporter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java b/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java index 19a4bce76..436b686c5 100644 --- a/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java +++ b/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java @@ -340,7 +340,7 @@ public class PartLogisticalTransporter extends PartTransmitter Date: Tue, 16 May 2017 11:17:38 -0400 Subject: [PATCH 74/75] Revert "Temporary fix" This reverts commit 24319034fa97d45fb1eec95c58488eba0a964247. --- .../mekanism/common/multipart/PartLogisticalTransporter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java b/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java index 436b686c5..19a4bce76 100644 --- a/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java +++ b/src/main/java/mekanism/common/multipart/PartLogisticalTransporter.java @@ -340,7 +340,7 @@ public class PartLogisticalTransporter extends PartTransmitter Date: Thu, 31 Aug 2017 16:46:06 -0400 Subject: [PATCH 75/75] Update version stuff --- .../mekanism/client/ClientTickHandler.java | 28 ++----------------- .../java/mekanism/common/ThreadGetData.java | 2 +- .../mekanism/common/util/MekanismUtils.java | 2 +- 3 files changed, 5 insertions(+), 27 deletions(-) diff --git a/src/main/java/mekanism/client/ClientTickHandler.java b/src/main/java/mekanism/client/ClientTickHandler.java index 09d420ba7..7daf8d181 100644 --- a/src/main/java/mekanism/client/ClientTickHandler.java +++ b/src/main/java/mekanism/client/ClientTickHandler.java @@ -66,11 +66,9 @@ public class ClientTickHandler public static Minecraft mc = FMLClientHandler.instance().getClient(); - public static final String MIKE_CAPE = "https://dl.dropboxusercontent.com/s/ji06yflixnszcby/cape.png"; - public static final String DONATE_CAPE = "https://dl.dropboxusercontent.com/u/90411166/donate.png"; - public static final String AIDAN_CAPE = "https://dl.dropboxusercontent.com/u/90411166/aidan.png"; + public static final String DONATE_CAPE = "http://aidancbrady.com/data/capes/donate.png"; + public static final String AIDAN_CAPE = "http://aidancbrady.com/data/capes/aidan.png"; - private Map mikeDownload = new HashMap(); private Map donateDownload = new HashMap(); private Map aidanDownload = new HashMap(); @@ -137,27 +135,7 @@ public class ClientTickHandler if(player != null) { - if(StringUtils.stripControlCodes(player.getCommandSenderName()).equals("mikeacttck")) - { - CapeBufferDownload download = mikeDownload.get(player.getCommandSenderName()); - - if(download == null) - { - download = new CapeBufferDownload(player.getCommandSenderName(), MIKE_CAPE); - mikeDownload.put(player.getCommandSenderName(), download); - - download.start(); - } - else { - if(!download.downloaded) - { - continue; - } - - player.func_152121_a(MinecraftProfileTexture.Type.CAPE, download.getResourceLocation()); - } - } - else if(StringUtils.stripControlCodes(player.getCommandSenderName()).equals("aidancbrady")) + if(StringUtils.stripControlCodes(player.getCommandSenderName()).equals("aidancbrady")) { CapeBufferDownload download = aidanDownload.get(player.getCommandSenderName()); diff --git a/src/main/java/mekanism/common/ThreadGetData.java b/src/main/java/mekanism/common/ThreadGetData.java index 40e4bb4fd..bdcc621c8 100644 --- a/src/main/java/mekanism/common/ThreadGetData.java +++ b/src/main/java/mekanism/common/ThreadGetData.java @@ -21,7 +21,7 @@ public class ThreadGetData extends Thread @Override public void run() { - List ret = MekanismUtils.getHTML("https://dl.dropbox.com/u/90411166/Versions/Mekanism.txt"); + List ret = MekanismUtils.getHTML("http://aidancbrady.com/data/versions/Mekanism.txt"); Mekanism.latestVersionNumber = "null"; Mekanism.recentNews = "null"; diff --git a/src/main/java/mekanism/common/util/MekanismUtils.java b/src/main/java/mekanism/common/util/MekanismUtils.java index a658157ec..c4edc1871 100644 --- a/src/main/java/mekanism/common/util/MekanismUtils.java +++ b/src/main/java/mekanism/common/util/MekanismUtils.java @@ -167,7 +167,7 @@ public final class MekanismUtils { Mekanism.donators.clear(); - for(String s : getHTML("https://dl.dropbox.com/u/90411166/Donators/Mekanism.txt")) + for(String s : getHTML("http://aidancbrady.com/data/capes/Mekanism.txt")) { Mekanism.donators.add(s); }