diff --git a/src/main/java/com/hbm/blocks/ITooltipProvider.java b/src/main/java/com/hbm/blocks/ITooltipProvider.java index e959db070..4ca8d3678 100644 --- a/src/main/java/com/hbm/blocks/ITooltipProvider.java +++ b/src/main/java/com/hbm/blocks/ITooltipProvider.java @@ -21,9 +21,8 @@ public interface ITooltipProvider { if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { for(String s : I18nUtil.resolveKeyArray(((Block)this).getUnlocalizedName() + ".desc")) list.add(EnumChatFormatting.YELLOW + s); } else { - list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + - EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + - EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info"); + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +I18nUtil.resolveKey("tooltip.block" , + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT")); } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockFluidBarrel.java b/src/main/java/com/hbm/blocks/machine/BlockFluidBarrel.java index 84ad21963..4acf88e73 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockFluidBarrel.java +++ b/src/main/java/com/hbm/blocks/machine/BlockFluidBarrel.java @@ -13,6 +13,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.machine.storage.TileEntityBarrel; +import com.hbm.util.I18nUtil; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.Block; @@ -191,47 +192,47 @@ public class BlockFluidBarrel extends BlockContainer implements ITooltipProvider public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { if(this == ModBlocks.barrel_plastic) { - list.add(EnumChatFormatting.AQUA + "Capacity: 12,000mB"); - list.add(EnumChatFormatting.YELLOW + "Cannot store hot fluids"); - list.add(EnumChatFormatting.YELLOW + "Cannot store corrosive fluids"); - list.add(EnumChatFormatting.YELLOW + "Cannot store antimatter"); + list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","12,000")); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[1]); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[4]); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[1]); } if(this == ModBlocks.barrel_corroded) { - list.add(EnumChatFormatting.AQUA + "Capacity: 6,000mB"); - list.add(EnumChatFormatting.GREEN + "Can store hot fluids"); - list.add(EnumChatFormatting.GREEN + "Can store highly corrosive fluids"); - list.add(EnumChatFormatting.YELLOW + "Cannot store antimatter"); - list.add(EnumChatFormatting.RED + "Leaky"); + list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","6,000")); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[0]); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[0]); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[1]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("trait.tile.barrel.leak")); } if(this == ModBlocks.barrel_iron) { - list.add(EnumChatFormatting.AQUA + "Capacity: 8,000mB"); - list.add(EnumChatFormatting.GREEN + "Can store hot fluids"); - list.add(EnumChatFormatting.YELLOW + "Cannot store corrosive fluids properly"); - list.add(EnumChatFormatting.YELLOW + "Cannot store antimatter"); + list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","8,000")); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[0]); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[3]); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[1]); } if(this == ModBlocks.barrel_steel) { - list.add(EnumChatFormatting.AQUA + "Capacity: 16,000mB"); - list.add(EnumChatFormatting.GREEN + "Can store hot fluids"); - list.add(EnumChatFormatting.GREEN + "Can store corrosive fluids"); - list.add(EnumChatFormatting.YELLOW + "Cannot store highly corrosive fluids properly"); - list.add(EnumChatFormatting.YELLOW + "Cannot store antimatter"); + list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","16,000")); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[0]); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[1]); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[2]); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[1]); } if(this == ModBlocks.barrel_antimatter) { - list.add(EnumChatFormatting.AQUA + "Capacity: 16,000mB"); - list.add(EnumChatFormatting.GREEN + "Can store hot fluids"); - list.add(EnumChatFormatting.GREEN + "Can store highly corrosive fluids"); - list.add(EnumChatFormatting.GREEN + "Can store antimatter"); + list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","16,000")); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[0]); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[0]); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[0]); } if(this == ModBlocks.barrel_tcalloy) { - list.add(EnumChatFormatting.AQUA + "Capacity: 24,000mB"); - list.add(EnumChatFormatting.GREEN + "Can store hot fluids"); - list.add(EnumChatFormatting.GREEN + "Can store highly corrosive fluids"); - list.add(EnumChatFormatting.YELLOW + "Cannot store antimatter"); + list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","24,000")); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[0]); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[0]); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[1]); } } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java b/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java index a242772e2..c2c220ff8 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java @@ -59,9 +59,8 @@ public class BlockHadronCooler extends BlockMulti implements ITooltipProvider { if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { for(String s : I18nUtil.resolveKeyArray(this.getUnlocalizedName(stack) + ".desc")) list.add(EnumChatFormatting.YELLOW + s); } else { - list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + - EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + - EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info"); + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +I18nUtil.resolveKey("tooltip.block" , + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT")); } } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java index be083f6e3..e55f4844b 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java @@ -113,9 +113,8 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { for(String s : I18nUtil.resolveKeyArray("tile.capacitor.desc")) list.add(EnumChatFormatting.YELLOW + s); } else { - list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + - EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + - EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info"); + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +I18nUtil.resolveKey("tooltip.block" , + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT")); } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java b/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java index 4567cf760..db5bd32f5 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java +++ b/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java @@ -7,6 +7,7 @@ import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; +import com.hbm.util.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -61,13 +62,7 @@ public class MachineGasFlare extends BlockDummyable implements ITooltipProvider @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - - list.add(EnumChatFormatting.GOLD + "Can burn fluids and vent gasses"); - list.add(EnumChatFormatting.GOLD + "Burns up to " + EnumChatFormatting.RED + "10mB/t"); - list.add(EnumChatFormatting.GOLD + "Vents up to " + EnumChatFormatting.RED + "50mB/t"); - list.add(""); - list.add(EnumChatFormatting.YELLOW + "Fuel efficiency:"); - list.add(EnumChatFormatting.YELLOW + "-Flammable Gasses: " + EnumChatFormatting.RED + "50%"); - list.add(EnumChatFormatting.YELLOW + "-Flammable Liquids: " + EnumChatFormatting.RED + "10%"); + for(String s : I18nUtil.resolveKeyArray("tile.machine_flare.desc")) + list.add(EnumChatFormatting.GOLD + s); } } diff --git a/src/main/java/com/hbm/blocks/network/PylonLarge.java b/src/main/java/com/hbm/blocks/network/PylonLarge.java index 395b27dd1..65605d4d3 100644 --- a/src/main/java/com/hbm/blocks/network/PylonLarge.java +++ b/src/main/java/com/hbm/blocks/network/PylonLarge.java @@ -7,6 +7,7 @@ import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.network.TileEntityPylonBase; import com.hbm.tileentity.network.TileEntityPylonLarge; +import com.hbm.util.I18nUtil; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -33,9 +34,8 @@ public class PylonLarge extends BlockDummyable implements ITooltipProvider { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - list.add(EnumChatFormatting.GOLD + "Connection Type: " + EnumChatFormatting.YELLOW + "Quadruple"); - list.add(EnumChatFormatting.GOLD + "Connection Range: " + EnumChatFormatting.YELLOW + "100m"); - list.add(EnumChatFormatting.GOLD + "This pylon requires a substation!"); + for(String s : I18nUtil.resolveKeyArray("tile.red_pylon_large.desc")) + list.add(EnumChatFormatting.GOLD + s); } @Override diff --git a/src/main/java/com/hbm/blocks/network/PylonRedWire.java b/src/main/java/com/hbm/blocks/network/PylonRedWire.java index 79a44f541..9b9d8750b 100644 --- a/src/main/java/com/hbm/blocks/network/PylonRedWire.java +++ b/src/main/java/com/hbm/blocks/network/PylonRedWire.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.tileentity.network.TileEntityPylon; +import com.hbm.util.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -24,7 +25,7 @@ public class PylonRedWire extends PylonBase { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - list.add(EnumChatFormatting.GOLD + "Connection Type: " + EnumChatFormatting.YELLOW + "Single"); - list.add(EnumChatFormatting.GOLD + "Connection Range: " + EnumChatFormatting.YELLOW + "25m"); + for(String s : I18nUtil.resolveKeyArray("tile.red_pylon.desc")) + list.add(EnumChatFormatting.GOLD + s); } } diff --git a/src/main/java/com/hbm/blocks/network/Substation.java b/src/main/java/com/hbm/blocks/network/Substation.java index 7499992fd..4f61cf58d 100644 --- a/src/main/java/com/hbm/blocks/network/Substation.java +++ b/src/main/java/com/hbm/blocks/network/Substation.java @@ -8,6 +8,7 @@ import com.hbm.tileentity.TileEntityProxyConductor; import com.hbm.tileentity.network.TileEntityPylonBase; import com.hbm.tileentity.network.TileEntitySubstation; +import com.hbm.util.I18nUtil; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -37,8 +38,8 @@ public class Substation extends BlockDummyable implements ITooltipProvider { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - list.add(EnumChatFormatting.GOLD + "Connection Type: " + EnumChatFormatting.YELLOW + "Quadruple"); - list.add(EnumChatFormatting.GOLD + "Connection Range: " + EnumChatFormatting.YELLOW + "20m"); + for(String s : I18nUtil.resolveKeyArray("tile.substation.desc")) + list.add(EnumChatFormatting.GOLD + s); } @Override diff --git a/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java b/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java index 844af6e60..659289307 100644 --- a/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java +++ b/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java @@ -14,6 +14,7 @@ import com.hbm.inventory.recipes.CustomMachineRecipes; import com.hbm.inventory.recipes.CustomMachineRecipes.CustomMachineRecipe; import com.hbm.items.machine.ItemFluidIcon; import com.hbm.lib.RefStrings; +import com.hbm.util.I18nUtil; import com.hbm.util.ItemStackUtil; import com.hbm.util.Tuple.Pair; @@ -104,7 +105,7 @@ public class CustomMachineHandler extends TemplateRecipeHandler { @Override public String getRecipeName() { - return conf.localizedName; + return (I18nUtil.resolveKey("tile.cm_" + conf.unlocalizedName + ".name").startsWith("tile.cm_")) ? conf.localizedName : I18nUtil.resolveKey("tile.cm_" + conf.unlocalizedName + ".name"); } @Override diff --git a/src/main/java/com/hbm/inventory/fluid/FluidType.java b/src/main/java/com/hbm/inventory/fluid/FluidType.java index d6fa4d759..e6015725b 100644 --- a/src/main/java/com/hbm/inventory/fluid/FluidType.java +++ b/src/main/java/com/hbm/inventory/fluid/FluidType.java @@ -218,9 +218,8 @@ public class FluidType { info.addAll(hidden); } else { - info.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + - EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + - EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info"); + info.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +I18nUtil.resolveKey("tooltip.block" , + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT")); } } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Combustible.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Combustible.java index a297d40ca..9d566e0fb 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Combustible.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Combustible.java @@ -7,6 +7,7 @@ import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.util.BobMathUtil; +import com.hbm.util.I18nUtil; import net.minecraft.util.EnumChatFormatting; public class FT_Combustible extends FluidTrait { @@ -25,11 +26,11 @@ public class FT_Combustible extends FluidTrait { public void addInfo(List info) { super.addInfo(info); - info.add(EnumChatFormatting.GOLD + "[Combustible]"); + info.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible","","")[0]); if(combustionEnergy > 0) { - info.add(EnumChatFormatting.GOLD + "Provides " + EnumChatFormatting.RED + "" + BobMathUtil.getShortNumber(combustionEnergy) + "HE " + EnumChatFormatting.GOLD + "per bucket"); - info.add(EnumChatFormatting.GOLD + "Fuel grade: " + EnumChatFormatting.RED + this.fuelGrade.getGrade()); + info.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible",BobMathUtil.getShortNumber(combustionEnergy),"")[1]); + info.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible","",this.fuelGrade.getGrade())[2]); } } @@ -42,11 +43,11 @@ public class FT_Combustible extends FluidTrait { } public static enum FuelGrade { - LOW("Low"), //heating and industrial oil < star engine, iGen - MEDIUM("Medium"), //petroil < diesel generator - HIGH("High"), //diesel, gasoline < HP engine - AERO("Aviation"), //kerosene and other light aviation fuels < turbofan - GAS("Gaseous"); //fuel gasses like NG, PG and syngas < gas turbine + LOW(I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible.FuelGrade")[0]), //heating and industrial oil < star engine, iGen + MEDIUM(I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible.FuelGrade")[1]), //petroil < diesel generator + HIGH(I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible.FuelGrade")[2]), //diesel, gasoline < HP engine + AERO(I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible.FuelGrade")[3]), //kerosene and other light aviation fuels < turbofan + GAS(I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible.FuelGrade")[4]); //fuel gasses like NG, PG and syngas < gas turbine private String grade; diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java index 1bb6d3574..a0aae7d54 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java @@ -10,6 +10,7 @@ import com.google.gson.stream.JsonWriter; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; +import com.hbm.util.I18nUtil; import net.minecraft.util.EnumChatFormatting; public class FT_Coolable extends FluidTrait { @@ -42,14 +43,14 @@ public class FT_Coolable extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.AQUA + "Thermal capacity: " + heatEnergy + " TU"); + info.add(EnumChatFormatting.AQUA + I18nUtil.resolveKeyArray("hbmfluid.Trait.Coolable",heatEnergy,"")[0]); for(CoolingType type : CoolingType.values()) { double eff = getEfficiency(type); if(eff > 0) { info.add(EnumChatFormatting.AQUA + "[" + type.name + "]"); - info.add(EnumChatFormatting.AQUA + "Efficiency: " + ((int) (eff * 100D)) + "%"); + info.add(EnumChatFormatting.AQUA + I18nUtil.resolveKeyArray("hbmfluid.Trait.Coolable","",((int) (eff * 100D)))[1]); } } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Corrosive.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Corrosive.java index 2a459e25c..8387b0e23 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Corrosive.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Corrosive.java @@ -6,6 +6,7 @@ import java.util.List; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.util.I18nUtil; import net.minecraft.util.EnumChatFormatting; public class FT_Corrosive extends FluidTrait { @@ -31,9 +32,9 @@ public class FT_Corrosive extends FluidTrait { public void addInfo(List info) { if(isHighlyCorrosive()) - info.add(EnumChatFormatting.GOLD + "[Strongly Corrosive]"); + info.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("hbmfluid.Trait.Corrosive")[0]); else - info.add(EnumChatFormatting.YELLOW + "[Corrosive]"); + info.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("hbmfluid.Trait.Corrosive")[1]); } @Override diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Flammable.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Flammable.java index 82e309ef9..e2f35ff3c 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Flammable.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Flammable.java @@ -7,6 +7,7 @@ import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.util.BobMathUtil; +import com.hbm.util.I18nUtil; import net.minecraft.util.EnumChatFormatting; public class FT_Flammable extends FluidTrait { @@ -28,10 +29,10 @@ public class FT_Flammable extends FluidTrait { public void addInfo(List info) { super.addInfo(info); - info.add(EnumChatFormatting.YELLOW + "[Flammable]"); + info.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("hbmfluid.Trait.Flammable","")[0]); if(energy > 0) - info.add(EnumChatFormatting.YELLOW + "Provides " + EnumChatFormatting.RED + "" + BobMathUtil.getShortNumber(energy) + "TU " + EnumChatFormatting.YELLOW + "per bucket"); + info.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("hbmfluid.Trait.Flammable",BobMathUtil.getShortNumber(energy))[1]); } @Override diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java index c828858b8..7ce3ee4fc 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java @@ -6,6 +6,7 @@ import com.google.gson.stream.JsonWriter; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; +import com.hbm.util.I18nUtil; import net.minecraft.util.EnumChatFormatting; import java.io.IOException; @@ -42,14 +43,14 @@ public class FT_Heatable extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.AQUA + "Thermal capacity: " + this.getFirstStep().heatReq + " TU"); + info.add(EnumChatFormatting.AQUA + I18nUtil.resolveKeyArray("hbmfluid.Trait.Coolable",this.getFirstStep().heatReq,"")[0]); for(HeatingType type : HeatingType.values()) { double eff = getEfficiency(type); if(eff > 0) { info.add(EnumChatFormatting.AQUA + "[" + type.name + "]"); - info.add(EnumChatFormatting.AQUA + "Efficiency: " + ((int) (eff * 100D)) + "%"); + info.add(EnumChatFormatting.AQUA + I18nUtil.resolveKeyArray("hbmfluid.Trait.Coolable","",((int) (eff * 100D)))[1]); } } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_PWRModerator.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_PWRModerator.java index 65386405a..3e5aad50c 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_PWRModerator.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_PWRModerator.java @@ -6,6 +6,7 @@ import java.util.List; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.util.I18nUtil; import net.minecraft.util.EnumChatFormatting; public class FT_PWRModerator extends FluidTrait { @@ -22,13 +23,13 @@ public class FT_PWRModerator extends FluidTrait { @Override public void addInfo(List info) { - info.add(EnumChatFormatting.BLUE + "[PWR Flux Multiplier]"); + info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKeyArray("hbmfluid.Trait.PWRModerator","","")[0]); } @Override public void addInfoHidden(List info) { int mult = (int) (multiplier * 100 - 100); - info.add(EnumChatFormatting.BLUE + "Core flux " + (mult >= 0 ? "+" : "") + mult + "%"); + info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKeyArray("hbmfluid.Trait.PWRModerator",(mult >= 0 ? "+" : ""),mult)[1]); } @Override diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java index 335c182cb..39d31bc25 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java @@ -6,6 +6,7 @@ import java.util.List; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.util.I18nUtil; import net.minecraft.util.EnumChatFormatting; @Deprecated //use FT_Toxin instead @@ -31,7 +32,7 @@ public class FT_Poison extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.GREEN + "[Toxic Fumes]"); + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("hbmfluid.Trait.Poison")); } @Override public void serializeJSON(JsonWriter writer) throws IOException { diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Toxin.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Toxin.java index fe814219e..b7234584c 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Toxin.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Toxin.java @@ -31,7 +31,7 @@ public class FT_Toxin extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.LIGHT_PURPLE + "[Toxin]"); + info.add(EnumChatFormatting.LIGHT_PURPLE + I18nUtil.resolveKey("hbmfluid.Trait.Toxin")); for(ToxinEntry entry : entries) { entry.addInfo(info); diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java index 516ef0e81..ef090d9d9 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java @@ -8,6 +8,7 @@ import com.google.gson.stream.JsonWriter; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.util.I18nUtil; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; @@ -32,7 +33,7 @@ public class FT_VentRadiation extends FluidTrait { @Override public void addInfo(List info) { - info.add(EnumChatFormatting.YELLOW + "[Radioactive]"); + info.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("hbmfluid.Trait.VentRadiation")); } @Override diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java b/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java index d282cea42..19e2c5369 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java @@ -2,63 +2,64 @@ package com.hbm.inventory.fluid.trait; import java.util.List; +import com.hbm.util.I18nUtil; import net.minecraft.util.EnumChatFormatting; public class FluidTraitSimple { public static class FT_Gaseous extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.BLUE + "[Gaseous]"); + info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Gaseous")); } } /** gaseous at room temperature, for cryogenic hydrogen for example */ public static class FT_Gaseous_ART extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.BLUE + "[Gaseous at Room Temperature]"); + info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Gaseous_ART")); } } public static class FT_Liquid extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.BLUE + "[Liquid]"); + info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Liquid")); } } /** to viscous to be sprayed/turned into a mist */ public static class FT_Viscous extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.BLUE + "[Viscous]"); + info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Viscous")); } } public static class FT_Plasma extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.LIGHT_PURPLE + "[Plasma]"); + info.add(EnumChatFormatting.LIGHT_PURPLE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Plasma")); } } public static class FT_Amat extends FluidTrait { @Override public void addInfo(List info) { - info.add(EnumChatFormatting.DARK_RED + "[Antimatter]"); + info.add(EnumChatFormatting.DARK_RED + I18nUtil.resolveKey("hbmfluid.TraitSimple.Amat")); } } public static class FT_LeadContainer extends FluidTrait { @Override public void addInfo(List info) { - info.add(EnumChatFormatting.DARK_RED + "[Requires hazardous material tank to hold]"); + info.add(EnumChatFormatting.DARK_RED + I18nUtil.resolveKey("hbmfluid.TraitSimple.LeadContainer")); } } public static class FT_Delicious extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.DARK_GREEN + "[Delicious]"); + info.add(EnumChatFormatting.DARK_GREEN + I18nUtil.resolveKey("hbmfluid.TraitSimple.Delicious")); } } public static class FT_Leaded extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.BLUE + "[Leaded Fuel]"); + info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Leaded")); } } diff --git a/src/main/java/com/hbm/items/armor/ArmorDNT.java b/src/main/java/com/hbm/items/armor/ArmorDNT.java index 068ae49f1..37e4d6bc3 100644 --- a/src/main/java/com/hbm/items/armor/ArmorDNT.java +++ b/src/main/java/com/hbm/items/armor/ArmorDNT.java @@ -173,7 +173,7 @@ public class ArmorDNT extends ArmorFSBPowered { @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add("Charge: " + BobMathUtil.getShortNumber(getCharge(stack)) + " / " + BobMathUtil.getShortNumber(maxPower)); + list.add(I18nUtil.resolveKey("armor.charge",BobMathUtil.getShortNumber(getCharge(stack)),BobMathUtil.getShortNumber(maxPower))); list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("armor.fullSetBonus")); diff --git a/src/main/java/com/hbm/items/armor/ArmorFSBPowered.java b/src/main/java/com/hbm/items/armor/ArmorFSBPowered.java index 139df77fe..c5ab83d19 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSBPowered.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSBPowered.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.util.BobMathUtil; import api.hbm.energy.IBatteryItem; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; @@ -31,7 +32,7 @@ public class ArmorFSBPowered extends ArmorFSB implements IBatteryItem { @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - list.add("Charge: " + BobMathUtil.getShortNumber(getCharge(stack)) + " / " + BobMathUtil.getShortNumber(maxPower)); + list.add(I18nUtil.resolveKey("armor.charge",BobMathUtil.getShortNumber(getCharge(stack)),BobMathUtil.getShortNumber(maxPower))); super.addInformation(stack, player, list, ext); } diff --git a/src/main/java/com/hbm/items/armor/ItemArmorMod.java b/src/main/java/com/hbm/items/armor/ItemArmorMod.java index 505028648..fac21dec9 100644 --- a/src/main/java/com/hbm/items/armor/ItemArmorMod.java +++ b/src/main/java/com/hbm/items/armor/ItemArmorMod.java @@ -53,7 +53,7 @@ public class ItemArmorMod extends Item { if(boots) list.add(" " + I18nUtil.resolveKey("armorMod.boots")); } - list.add(EnumChatFormatting.DARK_PURPLE + "Slot:"); + list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKey("armorMod.slot")); switch(this.type) { case ArmorModHandler.helmet_only: list.add(" " + I18nUtil.resolveKey("armorMod.type.helmet")); break; diff --git a/src/main/java/com/hbm/items/armor/ItemModAuto.java b/src/main/java/com/hbm/items/armor/ItemModAuto.java index 4dd232198..7b64bd4e6 100644 --- a/src/main/java/com/hbm/items/armor/ItemModAuto.java +++ b/src/main/java/com/hbm/items/armor/ItemModAuto.java @@ -6,6 +6,7 @@ import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.ArmorModHandler; import com.hbm.potion.HbmPotion; +import com.hbm.util.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -21,7 +22,7 @@ public class ItemModAuto extends ItemArmorMod { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.BLUE + "Imported from Japsterdam."); + list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("armorMod.mod.auto")); list.add(""); super.addInformation(stack, player, list, bool); diff --git a/src/main/java/com/hbm/items/armor/ItemModBandaid.java b/src/main/java/com/hbm/items/armor/ItemModBandaid.java index c04751443..7705f9cfb 100644 --- a/src/main/java/com/hbm/items/armor/ItemModBandaid.java +++ b/src/main/java/com/hbm/items/armor/ItemModBandaid.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -18,14 +19,14 @@ public class ItemModBandaid extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.RED + "3% chance for full heal when damaged"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("armorMod.mod.bandaid")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.RED + " " + stack.getDisplayName() + " (3% chance for full heal)"); + list.add(EnumChatFormatting.RED + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.bandaid")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModBathwater.java b/src/main/java/com/hbm/items/armor/ItemModBathwater.java index c0d077197..595e381c1 100644 --- a/src/main/java/com/hbm/items/armor/ItemModBathwater.java +++ b/src/main/java/com/hbm/items/armor/ItemModBathwater.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -29,7 +30,7 @@ public class ItemModBathwater extends ItemArmorMod { if(this == ModItems.bathwater_mk2) color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.GREEN : EnumChatFormatting.YELLOW); - list.add(color + "Inflicts poison on the attacker"); + list.add(color + I18nUtil.resolveKeyArray("armorMod.mod.bathwater")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @@ -42,7 +43,7 @@ public class ItemModBathwater extends ItemArmorMod { if(this == ModItems.bathwater_mk2) color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.GREEN : EnumChatFormatting.YELLOW); - list.add(color + " " + stack.getDisplayName() + " (Poisons attackers)"); + list.add(color + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.bathwater")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModCharm.java b/src/main/java/com/hbm/items/armor/ItemModCharm.java index 2d68ff328..a8c52707c 100644 --- a/src/main/java/com/hbm/items/armor/ItemModCharm.java +++ b/src/main/java/com/hbm/items/armor/ItemModCharm.java @@ -6,6 +6,7 @@ import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -20,16 +21,15 @@ public class ItemModCharm extends ItemArmorMod { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.AQUA + "You feel blessed."); + list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("armorMod.mod.charm")); if(this == ModItems.protection_charm) { - list.add(EnumChatFormatting.AQUA + "Diverts meteors away from the player."); - list.add(EnumChatFormatting.AQUA + "Meteors no longer destroy blocks."); - list.add(EnumChatFormatting.AQUA + "Halves broadcaster damage"); + for(String s : I18nUtil.resolveKeyArray( "armorMod.mod.charm.protection")) + list.add(s); } if(this == ModItems.meteor_charm) { - list.add(EnumChatFormatting.AQUA + "Disables meteorite spawning."); - list.add(EnumChatFormatting.AQUA + "Negates broadcaster damage"); + for(String s : I18nUtil.resolveKeyArray( "armorMod.mod.charm.meteor")) + list.add(s); } super.addInformation(stack, player, list, bool); diff --git a/src/main/java/com/hbm/items/armor/ItemModCladding.java b/src/main/java/com/hbm/items/armor/ItemModCladding.java index a71b8cb28..18d1f5e24 100644 --- a/src/main/java/com/hbm/items/armor/ItemModCladding.java +++ b/src/main/java/com/hbm/items/armor/ItemModCladding.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; import com.hbm.items.armor.ItemArmorMod; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -20,13 +21,13 @@ public class ItemModCladding extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.YELLOW + "+" + rad + " rad-resistance"); + list.add(EnumChatFormatting.YELLOW + "+" + rad + I18nUtil.resolveKeyArray("armorMod.mod.cladding")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.YELLOW + " " + stack.getDisplayName() + " (+" + rad + " radiation resistence)"); + list.add(EnumChatFormatting.YELLOW + " " + stack.getDisplayName() + " (+" + rad + I18nUtil.resolveKeyArray("armorMod.mod.cladding")[1]); } } diff --git a/src/main/java/com/hbm/items/armor/ItemModDefuser.java b/src/main/java/com/hbm/items/armor/ItemModDefuser.java index 48eb2afe9..d540f9f55 100644 --- a/src/main/java/com/hbm/items/armor/ItemModDefuser.java +++ b/src/main/java/com/hbm/items/armor/ItemModDefuser.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.ai.EntityAICreeperSwell; import net.minecraft.entity.ai.EntityAITasks.EntityAITaskEntry; @@ -25,14 +26,14 @@ public class ItemModDefuser extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.YELLOW + "Defuses nearby creepers"); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("armorMod.mod.defuser")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.YELLOW + " " + stack.getDisplayName() + " (Defuses creepers)"); + list.add(EnumChatFormatting.YELLOW + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.defuser")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModGasmask.java b/src/main/java/com/hbm/items/armor/ItemModGasmask.java index 7c8fd77f6..62b04a129 100644 --- a/src/main/java/com/hbm/items/armor/ItemModGasmask.java +++ b/src/main/java/com/hbm/items/armor/ItemModGasmask.java @@ -40,7 +40,7 @@ public class ItemModGasmask extends ItemArmorMod implements IGasMask { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.GREEN + "Gas protection"); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("armorMod.mod.gasmask")[0]); list.add(""); super.addInformation(stack, player, list, bool); @@ -50,7 +50,7 @@ public class ItemModGasmask extends ItemArmorMod implements IGasMask { List haz = getBlacklist(stack, player); if(!haz.isEmpty()) { - list.add(EnumChatFormatting.RED + "Will never protect against:"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("armorMod.mod.gasmask")[1]); for(HazardClass clazz : haz) { list.add(EnumChatFormatting.DARK_RED + " -" + I18nUtil.resolveKey(clazz.lang)); @@ -61,7 +61,7 @@ public class ItemModGasmask extends ItemArmorMod implements IGasMask { @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.GREEN + " " + stack.getDisplayName() + " (gas protection)"); + list.add(EnumChatFormatting.GREEN + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.gasmask")[2]); ArmorUtil.addGasMaskTooltip(stack, MainRegistry.proxy.me(), list, false); } diff --git a/src/main/java/com/hbm/items/armor/ItemModHealth.java b/src/main/java/com/hbm/items/armor/ItemModHealth.java index 6e757153a..5f3e59fe9 100644 --- a/src/main/java/com/hbm/items/armor/ItemModHealth.java +++ b/src/main/java/com/hbm/items/armor/ItemModHealth.java @@ -6,6 +6,7 @@ import com.google.common.collect.Multimap; import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.player.EntityPlayer; @@ -27,11 +28,11 @@ public class ItemModHealth extends ItemArmorMod { String color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.RED : EnumChatFormatting.LIGHT_PURPLE); - list.add(color + "+" + (Math.round(health * 10 / 2) * 0.1) + " health"); + list.add(color + "+" + (Math.round(health * 10 / 2) * 0.1) + I18nUtil.resolveKeyArray("armorMod.mod.health")[0]); list.add(""); if(this == ModItems.black_diamond) { - list.add(EnumChatFormatting.DARK_GRAY + "Nostalgia"); + list.add(EnumChatFormatting.DARK_GRAY + I18nUtil.resolveKeyArray("armorMod.mod.health")[1]); list.add(""); } @@ -43,7 +44,7 @@ public class ItemModHealth extends ItemArmorMod { String color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.RED : EnumChatFormatting.LIGHT_PURPLE); - list.add(color + " " + stack.getDisplayName() + " (+" + (Math.round(health * 10 / 2) * 0.1) + " health)"); + list.add(color + " " + stack.getDisplayName() + " (+" + (Math.round(health * 10 / 2) * 0.1) + I18nUtil.resolveKeyArray("armorMod.mod.health")[0]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModInk.java b/src/main/java/com/hbm/items/armor/ItemModInk.java index f8604c8f2..88da55114 100644 --- a/src/main/java/com/hbm/items/armor/ItemModInk.java +++ b/src/main/java/com/hbm/items/armor/ItemModInk.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -19,15 +20,15 @@ public class ItemModInk extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.LIGHT_PURPLE + "10% chance to nullify damage"); - list.add(EnumChatFormatting.LIGHT_PURPLE + "Flowers!"); + list.add(EnumChatFormatting.LIGHT_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Ink")[0]); + list.add(EnumChatFormatting.LIGHT_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Ink")[1]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.LIGHT_PURPLE + " " + stack.getDisplayName() + " (10% chance to nullify damage)"); + list.add(EnumChatFormatting.LIGHT_PURPLE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Ink")[2]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModInsert.java b/src/main/java/com/hbm/items/armor/ItemModInsert.java index a8f114c95..ae539765d 100644 --- a/src/main/java/com/hbm/items/armor/ItemModInsert.java +++ b/src/main/java/com/hbm/items/armor/ItemModInsert.java @@ -8,6 +8,7 @@ import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; @@ -37,18 +38,18 @@ public class ItemModInsert extends ItemArmorMod { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { if(damageMod != 1F) - list.add(EnumChatFormatting.RED + (damageMod < 1 ? "-" : "+") + Math.abs(Math.round((1F - damageMod) * 100)) + "% damage"); + list.add(EnumChatFormatting.RED + (damageMod < 1 ? "-" : "+") + Math.abs(Math.round((1F - damageMod) * 100)) + I18nUtil.resolveKeyArray("armorMod.mod.Insert")[0]); if(projectileMod != 1F) - list.add(EnumChatFormatting.YELLOW + "-" + Math.round((1F - projectileMod) * 100) + "% projectile damage"); + list.add(EnumChatFormatting.YELLOW + "-" + Math.round((1F - projectileMod) * 100) + I18nUtil.resolveKeyArray("armorMod.mod.Insert")[1]); if(explosionMod != 1F) - list.add(EnumChatFormatting.YELLOW + "-" + Math.round((1F - explosionMod) * 100) + "% explosion damage"); + list.add(EnumChatFormatting.YELLOW + "-" + Math.round((1F - explosionMod) * 100) + I18nUtil.resolveKeyArray("armorMod.mod.Insert")[2]); if(speed != 1F) - list.add(EnumChatFormatting.BLUE + "-" + Math.round((1F - speed) * 100) + "% speed"); + list.add(EnumChatFormatting.BLUE + "-" + Math.round((1F - speed) * 100) + I18nUtil.resolveKeyArray("armorMod.mod.Insert")[3]); if(this == ModItems.insert_polonium) list.add(EnumChatFormatting.DARK_RED + "+100 RAD/s"); - list.add((stack.getMaxDamage() - stack.getItemDamage()) + "/" + stack.getMaxDamage() + "HP"); + list.add((stack.getMaxDamage() - stack.getItemDamage()) + "/" + stack.getMaxDamage() + I18nUtil.resolveKeyArray("armorMod.mod.Insert")[4]); list.add(""); super.addInformation(stack, player, list, bool); @@ -60,20 +61,20 @@ public class ItemModInsert extends ItemArmorMod { List desc = new ArrayList(); if(damageMod != 1F) - desc.add((damageMod < 1 ? "-" : "+") + Math.abs(Math.round((1F - damageMod) * 100)) + "% dmg"); + desc.add((damageMod < 1 ? "-" : "+") + Math.abs(Math.round((1F - damageMod) * 100)) + I18nUtil.resolveKeyArray("armorMod.mod.Insert")[0]); if(projectileMod != 1F) - desc.add("-" + Math.round((1F - projectileMod) * 100) + "% proj"); + desc.add("-" + Math.round((1F - projectileMod) * 100) + I18nUtil.resolveKeyArray("armorMod.mod.Insert")[1]); if(explosionMod != 1F) - desc.add("-" + Math.round((1F - explosionMod) * 100) + "% exp"); + desc.add("-" + Math.round((1F - explosionMod) * 100) + I18nUtil.resolveKeyArray("armorMod.mod.Insert")[2]); if(explosionMod != 1F) - desc.add("-" + Math.round((1F - speed) * 100) + "% speed"); + desc.add("-" + Math.round((1F - speed) * 100) + I18nUtil.resolveKeyArray("armorMod.mod.Insert")[3]); if(this == ModItems.insert_polonium) desc.add("+100 RAD/s"); String join = String.join(" / ", desc); - list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (" + join + " / " + (stack.getMaxDamage() - stack.getItemDamage()) + "HP)"); + list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (" + join + " / " + (stack.getMaxDamage() - stack.getItemDamage()) + I18nUtil.resolveKeyArray("armorMod.mod.Insert")[4] + ")"); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModIron.java b/src/main/java/com/hbm/items/armor/ItemModIron.java index 99b7fc753..17b9aa4e8 100644 --- a/src/main/java/com/hbm/items/armor/ItemModIron.java +++ b/src/main/java/com/hbm/items/armor/ItemModIron.java @@ -5,6 +5,7 @@ import java.util.List; import com.google.common.collect.Multimap; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.player.EntityPlayer; @@ -20,14 +21,14 @@ public class ItemModIron extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.WHITE + "+0.5 knockback resistance"); + list.add(EnumChatFormatting.WHITE + I18nUtil.resolveKeyArray("armorMod.mod.Iron")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.WHITE + " " + stack.getDisplayName() + " (+0.5 knockback resistence)"); + list.add(EnumChatFormatting.WHITE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Iron")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModKnife.java b/src/main/java/com/hbm/items/armor/ItemModKnife.java index 9d61d7e2e..9742a2af4 100644 --- a/src/main/java/com/hbm/items/armor/ItemModKnife.java +++ b/src/main/java/com/hbm/items/armor/ItemModKnife.java @@ -8,6 +8,7 @@ import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; @@ -29,11 +30,8 @@ public class ItemModKnife extends ItemArmorMod { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - - list.add(EnumChatFormatting.RED + "Pain."); - list.add(""); - list.add(EnumChatFormatting.RED + "Hurts, doesn't it?"); - + for(String s : I18nUtil.resolveKeyArray("armorMod.mod.Knife")) + list.add(EnumChatFormatting.RED + s); list.add(""); super.addInformation(stack, player, list, bool); } diff --git a/src/main/java/com/hbm/items/armor/ItemModLens.java b/src/main/java/com/hbm/items/armor/ItemModLens.java index a9df9cfff..68e27a3a4 100644 --- a/src/main/java/com/hbm/items/armor/ItemModLens.java +++ b/src/main/java/com/hbm/items/armor/ItemModLens.java @@ -11,6 +11,7 @@ import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.Satellite; import com.hbm.saveddata.satellites.SatelliteScanner; +import com.hbm.util.I18nUtil; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -30,7 +31,7 @@ public class ItemModLens extends ItemArmorMod implements ISatChip { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.AQUA + "Satellite Frequency: " + this.getFreq(itemstack)); + list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKeyArray("armorMod.mod.Lens")[0] + this.getFreq(itemstack)); list.add(""); super.addInformation(itemstack, player, list, bool); @@ -38,7 +39,7 @@ public class ItemModLens extends ItemArmorMod implements ISatChip { @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.AQUA + " " + stack.getDisplayName() + " (Freq: " + getFreq(stack) + ")"); + list.add(EnumChatFormatting.AQUA + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Lens",getFreq(stack))[1] ); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModLodestone.java b/src/main/java/com/hbm/items/armor/ItemModLodestone.java index 9939244b7..ae7c4039a 100644 --- a/src/main/java/com/hbm/items/armor/ItemModLodestone.java +++ b/src/main/java/com/hbm/items/armor/ItemModLodestone.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -23,15 +24,15 @@ public class ItemModLodestone extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.DARK_GRAY + "Attracts nearby items"); - list.add(EnumChatFormatting.DARK_GRAY + "Item attraction range: " + range); + list.add(EnumChatFormatting.DARK_GRAY + I18nUtil.resolveKeyArray("armorMod.mod.Lodestone")[0]); + list.add(EnumChatFormatting.DARK_GRAY + I18nUtil.resolveKeyArray("armorMod.mod.Lodestone",range)[1]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.DARK_GRAY + " " + stack.getDisplayName() + " (Magnetic range: " + range + ")"); + list.add(EnumChatFormatting.DARK_GRAY + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Lodestone",range)[2] ); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModMilk.java b/src/main/java/com/hbm/items/armor/ItemModMilk.java index 1985c6b17..455d449b8 100644 --- a/src/main/java/com/hbm/items/armor/ItemModMilk.java +++ b/src/main/java/com/hbm/items/armor/ItemModMilk.java @@ -8,6 +8,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; import com.hbm.potion.HbmPotion; +import com.hbm.util.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -24,14 +25,14 @@ public class ItemModMilk extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.WHITE + "Removes bad potion effects"); + list.add(EnumChatFormatting.WHITE + I18nUtil.resolveKeyArray("armorMod.mod.Milk")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.WHITE + " " + stack.getDisplayName() + " (Removes bad potion effects)"); + list.add(EnumChatFormatting.WHITE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Milk")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModMorningGlory.java b/src/main/java/com/hbm/items/armor/ItemModMorningGlory.java index b33bbfa30..625db4ef3 100644 --- a/src/main/java/com/hbm/items/armor/ItemModMorningGlory.java +++ b/src/main/java/com/hbm/items/armor/ItemModMorningGlory.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -21,14 +22,14 @@ public class ItemModMorningGlory extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.LIGHT_PURPLE + "5% chance to apply resistance when hit, wither immunity"); + list.add(EnumChatFormatting.LIGHT_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.MorningGlory")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.LIGHT_PURPLE + " " + stack.getDisplayName() + " (5% for resistance, wither immunity)"); + list.add(EnumChatFormatting.LIGHT_PURPLE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.MorningGlory")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModObsidian.java b/src/main/java/com/hbm/items/armor/ItemModObsidian.java index 2227c1dd1..16b5726a8 100644 --- a/src/main/java/com/hbm/items/armor/ItemModObsidian.java +++ b/src/main/java/com/hbm/items/armor/ItemModObsidian.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -16,13 +17,13 @@ public class ItemModObsidian extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.DARK_PURPLE + "Makes dropped armor indestructible"); + list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Obsidian")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Item indestructible)"); + list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Obsidian")[1]); } } diff --git a/src/main/java/com/hbm/items/armor/ItemModPads.java b/src/main/java/com/hbm/items/armor/ItemModPads.java index 9e7d62556..39234d5d2 100644 --- a/src/main/java/com/hbm/items/armor/ItemModPads.java +++ b/src/main/java/com/hbm/items/armor/ItemModPads.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -25,10 +26,10 @@ public class ItemModPads extends ItemArmorMod { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { if(damageMod != 1F) - list.add(EnumChatFormatting.RED + "-" + Math.round((1F - damageMod) * 100) + "% fall damage"); + list.add(EnumChatFormatting.RED + "-" + Math.round((1F - damageMod) * 100) + I18nUtil.resolveKeyArray("armorMod.mod.Pads")[0]); if(this == ModItems.pads_static) - list.add(EnumChatFormatting.DARK_PURPLE + "Passively charges electric armor when walking"); + list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Pads")[1]); list.add(""); super.addInformation(itemstack, player, list, bool); @@ -38,9 +39,9 @@ public class ItemModPads extends ItemArmorMod { public void addDesc(List list, ItemStack stack, ItemStack armor) { if(this == ModItems.pads_static) - list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (-" + Math.round((1F - damageMod) * 100) + "% fall dmg / passive charge)"); + list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (-" + Math.round((1F - damageMod) * 100) + I18nUtil.resolveKeyArray("armorMod.mod.Pads")[2]); else - list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (-" + Math.round((1F - damageMod) * 100) + "% fall dmg)"); + list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (-" + Math.round((1F - damageMod) * 100) + I18nUtil.resolveKeyArray("armorMod.mod.Pads")[0]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModPolish.java b/src/main/java/com/hbm/items/armor/ItemModPolish.java index b35e13480..96c803442 100644 --- a/src/main/java/com/hbm/items/armor/ItemModPolish.java +++ b/src/main/java/com/hbm/items/armor/ItemModPolish.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -18,14 +19,14 @@ public class ItemModPolish extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.BLUE + "5% chance to nullify damage"); + list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKeyArray("armorMod.mod.Polish")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.BLUE + " " + stack.getDisplayName() + " (5% chance to nullify damage)"); + list.add(EnumChatFormatting.BLUE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Polish")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModQuartz.java b/src/main/java/com/hbm/items/armor/ItemModQuartz.java index 9179681b2..90bcf6833 100644 --- a/src/main/java/com/hbm/items/armor/ItemModQuartz.java +++ b/src/main/java/com/hbm/items/armor/ItemModQuartz.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -19,14 +20,14 @@ public class ItemModQuartz extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.DARK_GRAY + "Taking damage removes 10 RAD"); + list.add(EnumChatFormatting.DARK_GRAY + I18nUtil.resolveKeyArray("armorMod.mod.Quartz")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.DARK_GRAY + " " + stack.getDisplayName() + " (-10 RAD when hit)"); + list.add(EnumChatFormatting.DARK_GRAY + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Quartz")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModRevive.java b/src/main/java/com/hbm/items/armor/ItemModRevive.java index 57519ed89..055017430 100644 --- a/src/main/java/com/hbm/items/armor/ItemModRevive.java +++ b/src/main/java/com/hbm/items/armor/ItemModRevive.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -20,23 +21,19 @@ public class ItemModRevive extends ItemArmorMod { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { if(this == ModItems.scrumpy) { - list.add(EnumChatFormatting.GOLD + "But how did you survive?"); - list.add(EnumChatFormatting.RED + "I was drunk."); + list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("armorMod.mod.Revive.scrumpy")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("armorMod.mod.Revive.scrumpy")[1]); } if(this == ModItems.wild_p) { - list.add(EnumChatFormatting.DARK_GRAY + "Explosive " + EnumChatFormatting.RED + "Reactive " + EnumChatFormatting.DARK_GRAY + "Plot " + EnumChatFormatting.RED + "Armor"); + list.add(I18nUtil.resolveKey("armorMod.mod.Revive.wild_p")); } if(this == ModItems.fabsols_vodka) { - list.add(EnumChatFormatting.ITALIC + "In the news:"); - list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "Man literally too angry to die."); - list.add(""); - list.add(EnumChatFormatting.ITALIC + "\"I ain't got time to die\" says local"); - list.add(EnumChatFormatting.ITALIC + "man after ripping the physical manifestation"); - list.add(EnumChatFormatting.ITALIC + "of disaster itself in half."); + for(String s : I18nUtil.resolveKeyArray("armorMod.mod.Revive.fabsols_vodka")) + list.add(EnumChatFormatting.ITALIC + s); } list.add(""); - list.add(EnumChatFormatting.GOLD + "" + (stack.getMaxDamage() - stack.getItemDamage()) + " revives left"); + list.add(EnumChatFormatting.GOLD + "" + (stack.getMaxDamage() - stack.getItemDamage()) + I18nUtil.resolveKey("armorMod.mod.Revive")); list.add(""); super.addInformation(stack, player, list, bool); } @@ -44,6 +41,6 @@ public class ItemModRevive extends ItemArmorMod { @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.GOLD + " " + stack.getDisplayName() + " (" + (stack.getMaxDamage() - stack.getItemDamage()) + " revives left)"); + list.add(EnumChatFormatting.GOLD + " " + stack.getDisplayName() + " (" + (stack.getMaxDamage() - stack.getItemDamage()) + I18nUtil.resolveKey("armorMod.mod.Revive") + ")"); } } diff --git a/src/main/java/com/hbm/items/armor/ItemModSensor.java b/src/main/java/com/hbm/items/armor/ItemModSensor.java index cfdec7ff9..4ab0619d2 100644 --- a/src/main/java/com/hbm/items/armor/ItemModSensor.java +++ b/src/main/java/com/hbm/items/armor/ItemModSensor.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -22,15 +23,15 @@ public class ItemModSensor extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.YELLOW + "Beeps near hazardous gasses"); - list.add(EnumChatFormatting.YELLOW + "Works in the inventory or when applied to armor"); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("armorMod.mod.Sensor")[0]); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("armorMod.mod.Sensor")[1]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.YELLOW + " " + stack.getDisplayName() + " (Detects gasses)"); + list.add(EnumChatFormatting.YELLOW + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Sensor")[2]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModSerum.java b/src/main/java/com/hbm/items/armor/ItemModSerum.java index 29988e37b..3d9d91049 100644 --- a/src/main/java/com/hbm/items/armor/ItemModSerum.java +++ b/src/main/java/com/hbm/items/armor/ItemModSerum.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -20,14 +21,14 @@ public class ItemModSerum extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.GREEN + "Cures poison and gives strength"); + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("armorMod.mod.Serum")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.BLUE + " " + stack.getDisplayName() + " (replaces poison with strength)"); + list.add(EnumChatFormatting.BLUE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Serum")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModServos.java b/src/main/java/com/hbm/items/armor/ItemModServos.java index cb07d46f3..a014d2305 100644 --- a/src/main/java/com/hbm/items/armor/ItemModServos.java +++ b/src/main/java/com/hbm/items/armor/ItemModServos.java @@ -6,6 +6,7 @@ import com.google.common.collect.Multimap; import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; @@ -26,12 +27,12 @@ public class ItemModServos extends ItemArmorMod { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { if(this == ModItems.servo_set) { - list.add(EnumChatFormatting.DARK_PURPLE + "Chestplate: Haste I / Damage +50%"); - list.add(EnumChatFormatting.DARK_PURPLE + "Leggings: Speed +25% / Jump II"); + list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Servos")[0]); + list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Servos")[1]); } if(this == ModItems.servo_set_desh) { - list.add(EnumChatFormatting.DARK_PURPLE + "Chestplate: Haste III / Damage +150%"); - list.add(EnumChatFormatting.DARK_PURPLE + "Leggings: Speed +50% / Jump III"); + list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Servos.desh")[0]); + list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Servos.desh")[1]); } list.add(""); @@ -46,20 +47,20 @@ public class ItemModServos extends ItemArmorMod { if(item.armorType == 1) { if(this == ModItems.servo_set) { - list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Haste I / Damage +50%)"); + list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Servos")[2]); } if(this == ModItems.servo_set_desh) { - list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Haste III / Damage +150%)"); + list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Servos.desh")[2]); } } if(item.armorType == 2) { if(this == ModItems.servo_set) { - list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Speed +25% / Jump II)"); + list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Servos")[3]); } if(this == ModItems.servo_set_desh) { - list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Speed +50% / Jump III)"); + list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Servos.desh")[3]); } } } diff --git a/src/main/java/com/hbm/items/armor/ItemModShackles.java b/src/main/java/com/hbm/items/armor/ItemModShackles.java index 306dd3c2a..aad9cfcce 100644 --- a/src/main/java/com/hbm/items/armor/ItemModShackles.java +++ b/src/main/java/com/hbm/items/armor/ItemModShackles.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -17,12 +18,12 @@ public class ItemModShackles extends ItemArmorMod { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.RED + "You will speak when I ask you to."); - list.add(EnumChatFormatting.RED + "You will eat when I tell you to."); - list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "You will die when I allow you to."); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("armorMod.mod.Shackles")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("armorMod.mod.Shackles")[1]); + list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + I18nUtil.resolveKeyArray("armorMod.mod.Shackles")[2]); list.add(""); - list.add(EnumChatFormatting.GOLD + "∞ revives left"); + list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("armorMod.mod.Shackles")[3]); list.add(""); super.addInformation(stack, player, list, bool); } @@ -30,6 +31,6 @@ public class ItemModShackles extends ItemArmorMod { @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.GOLD + " " + stack.getDisplayName() + " (∞ revives left)"); + list.add(EnumChatFormatting.GOLD + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Shackles")[4]); } } diff --git a/src/main/java/com/hbm/items/armor/ItemModTesla.java b/src/main/java/com/hbm/items/armor/ItemModTesla.java index b09a37770..cfddd60ea 100644 --- a/src/main/java/com/hbm/items/armor/ItemModTesla.java +++ b/src/main/java/com/hbm/items/armor/ItemModTesla.java @@ -7,6 +7,7 @@ import com.hbm.handler.ArmorModHandler; import com.hbm.render.model.ModelBackTesla; import com.hbm.tileentity.machine.TileEntityTesla; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBiped; @@ -30,14 +31,14 @@ public class ItemModTesla extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.YELLOW + "Zaps nearby entities (requires full electric set)"); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("armorMod.mod.Tesla")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @SideOnly(Side.CLIENT) public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.YELLOW + stack.getDisplayName() + " (zaps nearby entities)"); + list.add(EnumChatFormatting.YELLOW + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.Tesla")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModTwoKick.java b/src/main/java/com/hbm/items/armor/ItemModTwoKick.java index a93ab9574..f647e509f 100644 --- a/src/main/java/com/hbm/items/armor/ItemModTwoKick.java +++ b/src/main/java/com/hbm/items/armor/ItemModTwoKick.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.handler.ArmorModHandler; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -17,14 +18,14 @@ public class ItemModTwoKick extends ItemArmorMod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.ITALIC + "\"I've had worse\""); - list.add(EnumChatFormatting.YELLOW + "Punches fire 12 gauge shells"); + list.add(EnumChatFormatting.ITALIC + I18nUtil.resolveKeyArray("armorMod.mod.TwoKick")[0]); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("armorMod.mod.TwoKick")[1]); list.add(""); super.addInformation(itemstack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.YELLOW + " " + stack.getDisplayName() + " (Shotgun punches)"); + list.add(EnumChatFormatting.YELLOW + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.TwoKick")[2]); } } diff --git a/src/main/java/com/hbm/items/armor/ItemModV1.java b/src/main/java/com/hbm/items/armor/ItemModV1.java index bb5d8a3a6..e7e67f8d3 100644 --- a/src/main/java/com/hbm/items/armor/ItemModV1.java +++ b/src/main/java/com/hbm/items/armor/ItemModV1.java @@ -7,6 +7,7 @@ import com.google.common.collect.Multimap; import com.hbm.handler.ArmorModHandler; import com.hbm.interfaces.IArmorModDash; +import com.hbm.util.I18nUtil; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.player.EntityPlayer; @@ -31,14 +32,14 @@ public class ItemModV1 extends ItemArmorMod implements IArmorModDash { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.RED + "BLOOD IS FUEL"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("armorMod.mod.V1")[0]); list.add(""); super.addInformation(stack, player, list, bool); } @Override public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.RED + " " + stack.getDisplayName() + " (BLOOD IS FUEL)"); + list.add(EnumChatFormatting.RED + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.V1")[1]); } public int getDashes() { diff --git a/src/main/java/com/hbm/items/armor/ItemModWD40.java b/src/main/java/com/hbm/items/armor/ItemModWD40.java index b01f48217..ace751d25 100644 --- a/src/main/java/com/hbm/items/armor/ItemModWD40.java +++ b/src/main/java/com/hbm/items/armor/ItemModWD40.java @@ -6,6 +6,7 @@ import com.google.common.collect.Multimap; import com.hbm.handler.ArmorModHandler; import com.hbm.main.MainRegistry; +import com.hbm.util.I18nUtil; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; @@ -27,7 +28,7 @@ public class ItemModWD40 extends ItemArmorMod { String color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.BLUE : EnumChatFormatting.YELLOW); - list.add(color + "Highly reduces damage taken by armor, +2 HP"); + list.add(color + I18nUtil.resolveKeyArray("armorMod.mod.WD40")[0]); list.add(""); super.addInformation(itemstack, player, list, bool); } @@ -37,7 +38,7 @@ public class ItemModWD40 extends ItemArmorMod { String color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.BLUE : EnumChatFormatting.YELLOW); - list.add(color + " " + stack.getDisplayName() + " (-80% armor wear / +2 HP)"); + list.add(color + " " + stack.getDisplayName() + I18nUtil.resolveKeyArray("armorMod.mod.WD40")[1]); } @Override diff --git a/src/main/java/com/hbm/items/armor/JetpackBase.java b/src/main/java/com/hbm/items/armor/JetpackBase.java index e5701e3d8..ff96db4cc 100644 --- a/src/main/java/com/hbm/items/armor/JetpackBase.java +++ b/src/main/java/com/hbm/items/armor/JetpackBase.java @@ -8,6 +8,7 @@ import com.hbm.render.model.ModelJetPack; import com.hbm.util.ArmorUtil; import api.hbm.fluid.IFillableItem; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; @@ -40,7 +41,7 @@ public abstract class JetpackBase extends ItemArmorMod implements IFillableItem list.add(EnumChatFormatting.LIGHT_PURPLE + fuel.getLocalizedName() + ": " + this.getFuel(itemstack) + "mB / " + this.maxFuel + "mB"); list.add(""); super.addInformation(itemstack, player, list, bool); - list.add(EnumChatFormatting.GOLD + "Can be worn on its own!"); + list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("item.jetpack.desc")); } @Override diff --git a/src/main/java/com/hbm/items/armor/JetpackBooster.java b/src/main/java/com/hbm/items/armor/JetpackBooster.java index 09b90947b..a7a0084ec 100644 --- a/src/main/java/com/hbm/items/armor/JetpackBooster.java +++ b/src/main/java/com/hbm/items/armor/JetpackBooster.java @@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -14,6 +15,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -67,9 +69,8 @@ public class JetpackBooster extends JetpackBase { @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - - list.add("High-powered vectorized jetpack."); - list.add("Highly increased fuel consumption."); + for(String s : I18nUtil.resolveKeyArray("item.jetpack_boost.desc")) + list.add(s); super.addInformation(stack, player, list, ext); } diff --git a/src/main/java/com/hbm/items/armor/JetpackBreak.java b/src/main/java/com/hbm/items/armor/JetpackBreak.java index 340fd2f09..92da43169 100644 --- a/src/main/java/com/hbm/items/armor/JetpackBreak.java +++ b/src/main/java/com/hbm/items/armor/JetpackBreak.java @@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -77,9 +78,8 @@ public class JetpackBreak extends JetpackBase { @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - list.add("Regular jetpack that will automatically hover mid-air."); - list.add("Sneaking will stop hover mode."); - list.add("Hover mode will consume less fuel and increase air-mobility."); + for(String s : I18nUtil.resolveKeyArray("item.jetpack_break.desc")) + list.add(s); super.addInformation(stack, player, list, ext); } diff --git a/src/main/java/com/hbm/items/armor/JetpackRegular.java b/src/main/java/com/hbm/items/armor/JetpackRegular.java index cbf04933b..5c3da193b 100644 --- a/src/main/java/com/hbm/items/armor/JetpackRegular.java +++ b/src/main/java/com/hbm/items/armor/JetpackRegular.java @@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -56,7 +57,7 @@ public class JetpackRegular extends JetpackBase { @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - list.add("Regular jetpack for simple upwards momentum."); + list.add(I18nUtil.resolveKey("item.jetpack_fly.desc")); super.addInformation(stack, player, list, ext); } diff --git a/src/main/java/com/hbm/items/armor/JetpackVectorized.java b/src/main/java/com/hbm/items/armor/JetpackVectorized.java index d95312f80..d878a4d6d 100644 --- a/src/main/java/com/hbm/items/armor/JetpackVectorized.java +++ b/src/main/java/com/hbm/items/armor/JetpackVectorized.java @@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -68,8 +69,8 @@ public class JetpackVectorized extends JetpackBase { @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - list.add("High-mobility jetpack."); - list.add("Higher fuel consumption."); + for(String s : I18nUtil.resolveKeyArray("item.jetpack_vector.desc")) + list.add(s); super.addInformation(stack, player, list, ext); } diff --git a/src/main/java/com/hbm/items/block/ItemBlockBlastInfo.java b/src/main/java/com/hbm/items/block/ItemBlockBlastInfo.java index 4ded08d51..a278ad15d 100644 --- a/src/main/java/com/hbm/items/block/ItemBlockBlastInfo.java +++ b/src/main/java/com/hbm/items/block/ItemBlockBlastInfo.java @@ -2,6 +2,7 @@ package com.hbm.items.block; import java.util.List; +import com.hbm.util.I18nUtil; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -25,6 +26,6 @@ public class ItemBlockBlastInfo extends ItemBlockBase { if(block == null) return; - list.add(EnumChatFormatting.GOLD + "Blast Resistance: " + block.getExplosionResistance(null)); + list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("desc.block.blastinfo", block.getExplosionResistance(null))); } } diff --git a/src/main/java/com/hbm/items/block/ItemBlockLore.java b/src/main/java/com/hbm/items/block/ItemBlockLore.java index 6d26836e0..24d86b52c 100644 --- a/src/main/java/com/hbm/items/block/ItemBlockLore.java +++ b/src/main/java/com/hbm/items/block/ItemBlockLore.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.RedBarrel; +import com.hbm.util.I18nUtil; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -21,35 +22,21 @@ public class ItemBlockLore extends ItemBlockBase { super.addInformation(itemstack, player, list, bool); if(this.field_150939_a instanceof RedBarrel) { - list.add("Static fluid barrel"); + list.add(I18nUtil.resolveKey("tile.red_barrel.desc")); } if(this.field_150939_a == ModBlocks.meteor_battery) { - list.add("Provides infinite charge to tesla coils"); + list.add(I18nUtil.resolveKey("tile.meteor_battery.desc")); } if(this.field_150939_a == ModBlocks.ore_oil) { - list.add("You weren't supposed to mine that."); - list.add("Come on, get a derrick you doofus."); + for(String s : I18nUtil.resolveKeyArray("tile.ore_oil.desc")) + list.add(s); } if(this.field_150939_a == ModBlocks.gravel_diamond) { - list.add("There is some kind of joke here,"); - list.add("but I can't quite tell what it is."); - list.add(""); - list.add("Update, 2020-07-04:"); - list.add("We deny any implications of a joke on"); - list.add("the basis that it was so severely unfunny"); - list.add("that people started stabbing their eyes out."); - list.add(""); - list.add("Update, 2020-17-04:"); - list.add("As it turns out, \"Diamond Gravel\" was"); - list.add("never really a thing, rendering what might"); - list.add("have been a joke as totally nonsensical."); - list.add("We apologize for getting your hopes up with"); - list.add("this non-joke that hasn't been made."); - list.add(""); - list.add("i added an item for a joke that isn't even here, what am i, stupid? can't even tell the difference between gravel and a gavel, how did i not forget how to breathe yet?"); + for(String s : I18nUtil.resolveKeyArray("tile.gravel_diamond.desc")) + list.add(s); } } diff --git a/src/main/java/com/hbm/items/block/ItemCustomMachine.java b/src/main/java/com/hbm/items/block/ItemCustomMachine.java index 61b1cf00c..b1c1199ad 100644 --- a/src/main/java/com/hbm/items/block/ItemCustomMachine.java +++ b/src/main/java/com/hbm/items/block/ItemCustomMachine.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.config.CustomMachineConfigJSON; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -37,7 +38,7 @@ public class ItemCustomMachine extends ItemBlock { MachineConfiguration conf = CustomMachineConfigJSON.niceList.get(id); if(conf != null) { - return conf.localizedName; + return (I18nUtil.resolveKey("tile.cm_" + conf.unlocalizedName + ".name").startsWith("tile.cm_")) ? conf.localizedName : I18nUtil.resolveKey("tile.cm_" + conf.unlocalizedName + ".name"); } } diff --git a/src/main/java/com/hbm/items/bomb/ItemFleija.java b/src/main/java/com/hbm/items/bomb/ItemFleija.java index d9424f67e..0ef739264 100644 --- a/src/main/java/com/hbm/items/bomb/ItemFleija.java +++ b/src/main/java/com/hbm/items/bomb/ItemFleija.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; @@ -14,8 +15,8 @@ public class ItemFleija extends Item { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Used in:"); - list.add("F.L.E.I.J.A."); + for(String s : I18nUtil.resolveKeyArray( "tile.nuke_fleija.desc")) + list.add(s); super.addInformation(itemstack, player, list, bool); } diff --git a/src/main/java/com/hbm/items/bomb/ItemMissileShuttle.java b/src/main/java/com/hbm/items/bomb/ItemMissileShuttle.java index edbcbc693..707be6ba1 100644 --- a/src/main/java/com/hbm/items/bomb/ItemMissileShuttle.java +++ b/src/main/java/com/hbm/items/bomb/ItemMissileShuttle.java @@ -2,6 +2,7 @@ package com.hbm.items.bomb; import java.util.List; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -10,12 +11,7 @@ public class ItemMissileShuttle extends Item { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Tonite, on bo''om gear:"); - list.add("James huffs leaded gasoline and"); - list.add("goes insane, Richard spends the"); - list.add("entire budget on a broken .PNG,"); - list.add("And I forget to set the infinite"); - list.add("Water tanks on our RBMK to flow"); - list.add("out, blowing up our entire base"); + for(String s : I18nUtil.resolveKeyArray( "item.missile_shuttle.desc")) + list.add(s); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/items/bomb/ItemN2.java b/src/main/java/com/hbm/items/bomb/ItemN2.java index c837fee78..f1a5ce766 100644 --- a/src/main/java/com/hbm/items/bomb/ItemN2.java +++ b/src/main/java/com/hbm/items/bomb/ItemN2.java @@ -2,17 +2,19 @@ package com.hbm.items.bomb; import java.util.List; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; public class ItemN2 extends Item { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Used in:"); - list.add("N² Mine"); + for(String s : I18nUtil.resolveKeyArray( "tile.nuke_n2.desc")) + list.add(s); } } diff --git a/src/main/java/com/hbm/items/bomb/ItemPrototypeBlock.java b/src/main/java/com/hbm/items/bomb/ItemPrototypeBlock.java index 6335866f3..53a79c575 100644 --- a/src/main/java/com/hbm/items/bomb/ItemPrototypeBlock.java +++ b/src/main/java/com/hbm/items/bomb/ItemPrototypeBlock.java @@ -2,6 +2,7 @@ package com.hbm.items.bomb; import java.util.List; +import com.hbm.util.I18nUtil; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; @@ -16,10 +17,8 @@ public class ItemPrototypeBlock extends ItemBlock { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("It didn't have to be like this."); - list.add(""); - list.add("You monster."); - + for(String s : I18nUtil.resolveKeyArray( "tile.nuke_prototype.desc")) + list.add(s); /*list.add("In memory of Euphemia."); list.add(""); list.add("Rest in spaghetti, never forgetti.");*/ diff --git a/src/main/java/com/hbm/items/bomb/ItemSolinium.java b/src/main/java/com/hbm/items/bomb/ItemSolinium.java index a04321ecb..01776fa26 100644 --- a/src/main/java/com/hbm/items/bomb/ItemSolinium.java +++ b/src/main/java/com/hbm/items/bomb/ItemSolinium.java @@ -2,6 +2,7 @@ package com.hbm.items.bomb; import java.util.List; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -11,8 +12,8 @@ public class ItemSolinium extends Item { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Used in:"); - list.add("Solinium Bomb"); + for(String s : I18nUtil.resolveKeyArray( "tile.nuke_solinium.desc")) + list.add(s); super.addInformation(itemstack, player, list, bool); } } diff --git a/src/main/java/com/hbm/items/food/ItemLemon.java b/src/main/java/com/hbm/items/food/ItemLemon.java index 25bb74a9e..b2d332c51 100644 --- a/src/main/java/com/hbm/items/food/ItemLemon.java +++ b/src/main/java/com/hbm/items/food/ItemLemon.java @@ -6,6 +6,7 @@ import com.hbm.items.ModItems; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.I18nUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -30,72 +31,57 @@ public class ItemLemon extends ItemFood { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { if(this == ModItems.lemon) { - list.add("Eh, good enough."); + list.add(I18nUtil.resolveKey("item.lemon.desc")); } if(this == ModItems.definitelyfood) { - list.add("A'right, I got sick and tired of"); - list.add("having to go out, kill things just"); - list.add("to get food and not die, so here is "); - list.add("my absolutely genius solution:"); - list.add(""); - list.add("Have some edible dirt."); + for(String s : I18nUtil.resolveKeyArray("item.definitelyfood.desc")) + list.add(s); } if(this == ModItems.med_ipecac) { - list.add("Bitter juice that will cause your stomach"); - list.add("to forcefully eject its contents."); + for(String s : I18nUtil.resolveKeyArray("item.med_ipecac.desc")) + list.add(s); } if(this == ModItems.med_ptsd) { - list.add("This isn't even PTSD mediaction, it's just"); - list.add("Ipecac in a different bottle!"); + for(String s : I18nUtil.resolveKeyArray("item.med_ptsd.desc")) + list.add(s); } if(this == ModItems.med_schizophrenia) { - list.add("Makes the voices go away. Just for a while."); - list.add(""); - list.add("..."); - list.add("Better not take it."); - } - - if(this == ModItems.med_schizophrenia) { - list.add("Makes the voices go away. Just for a while."); - list.add(""); - list.add("..."); - list.add("Better not take it."); + for(String s : I18nUtil.resolveKeyArray("item.med_schiziphrenia.desc")) + list.add(s); } if(this == ModItems.loops) { - list.add("Brøther, may I have some lööps?"); + list.add(I18nUtil.resolveKey("item.loops.desc")); } if(this == ModItems.loop_stew) { - list.add("A very, very healthy breakfast."); + list.add(I18nUtil.resolveKey("item.loop_stew.desc")); } if(this == ModItems.twinkie) { - list.add("Expired 600 years ago!"); + list.add(I18nUtil.resolveKey("item.twinkie.desc")); } if(this == ModItems.pudding) { - list.add("What if he did?"); - list.add("What if he didn't?"); - list.add("What if the world was made of pudding?"); + for(String s : I18nUtil.resolveKeyArray("item.pudding.desc")) + list.add(s); } if(this == ModItems.ingot_semtex) { - list.add("Semtex H Plastic Explosive"); - list.add("Performant explosive for many applications."); - list.add("Edible"); + for(String s : I18nUtil.resolveKeyArray("item.ingot_semtex.desc")) + list.add(s); } if(this == ModItems.peas) { - list.add("He accepts your offering."); + list.add(I18nUtil.resolveKey("item.peas.desc")); } if(this == ModItems.quesadilla) { - list.add("That's what a 50 year old yeast infection does to you."); + list.add(I18nUtil.resolveKey("item.cheese_quesadilla.desc")); } } diff --git a/src/main/java/com/hbm/items/food/ItemTemFlakes.java b/src/main/java/com/hbm/items/food/ItemTemFlakes.java index d6eee715b..b0435244d 100644 --- a/src/main/java/com/hbm/items/food/ItemTemFlakes.java +++ b/src/main/java/com/hbm/items/food/ItemTemFlakes.java @@ -2,6 +2,7 @@ package com.hbm.items.food; import java.util.List; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.creativetab.CreativeTabs; @@ -39,15 +40,15 @@ public class ItemTemFlakes extends ItemFood { { if(itemstack.getItemDamage() == 0) { - list.add("Heals 2HP DISCOUNT FOOD OF TEM!!!"); + list.add(I18nUtil.resolveKeyArray("item.tem_flakes.desc")[0]); } if(itemstack.getItemDamage() == 1) { - list.add("Heals 2HP food of tem"); + list.add(I18nUtil.resolveKeyArray("item.tem_flakes.desc")[1]); } if(itemstack.getItemDamage() == 2) { - list.add("Heals food of tem (expensiv)"); + list.add(I18nUtil.resolveKeyArray("item.tem_flakes.desc")[2]); } } diff --git a/src/main/java/com/hbm/items/machine/ItemBattery.java b/src/main/java/com/hbm/items/machine/ItemBattery.java index 4f0fda9a7..3de7fd67b 100644 --- a/src/main/java/com/hbm/items/machine/ItemBattery.java +++ b/src/main/java/com/hbm/items/machine/ItemBattery.java @@ -6,6 +6,7 @@ import com.hbm.items.ModItems; import com.hbm.util.BobMathUtil; import api.hbm.energy.IBatteryItem; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.creativetab.CreativeTabs; @@ -34,14 +35,14 @@ public class ItemBattery extends Item implements IBatteryItem { charge = getCharge(itemstack); if(itemstack.getItem() != ModItems.fusion_core && itemstack.getItem() != ModItems.energy_core) { - list.add("Energy stored: " + BobMathUtil.getShortNumber(charge) + "/" + BobMathUtil.getShortNumber(maxCharge) + "HE"); + list.add(I18nUtil.resolveKey("desc.item.battery.charge",BobMathUtil.getShortNumber(charge),BobMathUtil.getShortNumber(maxCharge))); } else { String charge1 = BobMathUtil.getShortNumber((charge * 100) / this.maxCharge); - list.add("Charge: " + charge1 + "%"); + list.add(I18nUtil.resolveKey("desc.item.battery.chargePerc", charge1)); list.add("(" + BobMathUtil.getShortNumber(charge) + "/" + BobMathUtil.getShortNumber(maxCharge) + "HE)"); } - list.add("Charge rate: " + BobMathUtil.getShortNumber(chargeRate) + "HE/t"); - list.add("Discharge rate: " + BobMathUtil.getShortNumber(dischargeRate) + "HE/t"); + list.add(I18nUtil.resolveKey("desc.item.battery.chargeRate",BobMathUtil.getShortNumber(chargeRate))); + list.add(I18nUtil.resolveKey("desc.item.battery.dischargeRate",BobMathUtil.getShortNumber(dischargeRate))); } @Override diff --git a/src/main/java/com/hbm/items/machine/ItemMachineUpgrade.java b/src/main/java/com/hbm/items/machine/ItemMachineUpgrade.java index 1a04a4649..5fb6e7a76 100644 --- a/src/main/java/com/hbm/items/machine/ItemMachineUpgrade.java +++ b/src/main/java/com/hbm/items/machine/ItemMachineUpgrade.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -33,132 +34,131 @@ public class ItemMachineUpgrade extends Item { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { if(this.type == UpgradeType.SPEED) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Delay -" + (15 * this.tier) + "% / Consumption +" + (300 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Laser Miner:"); - list.add("Delay ÷" + (1 + this.tier) + " / Consumption +" + (625 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Electric Furnace:"); - list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (50 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Assembly Machine:"); - list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (300 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Chemical Plant:"); - list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (300 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Oil Wells:"); - list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (25 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Crystallizer:"); - list.add("Delay -" + (20 * this.tier) + "% / Consumption +" + (1000 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Cyclotron:"); - list.add("Speed x" + (1 + this.tier)); - list.add(EnumChatFormatting.RED + "Flare Stack:"); - list.add("Speed x" + (1 + this.tier)); - list.add(EnumChatFormatting.RED + "Maxwell:"); - list.add("Damage +" + (0.25 * (double)this.tier) + "dmg/t"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed",(15 * this.tier),(300 * this.tier),"","","","","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[1]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed","","",(1 + this.tier),(625 * this.tier),"","","","")[1]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[2]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed",(25 * this.tier),(50 * this.tier),"","","","","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[3]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed",(25 * this.tier),(300 * this.tier),"","","","","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[4]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed",(25 * this.tier),(300 * this.tier),"","","","","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[5]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed","","","","",(25 * this.tier),(25 * this.tier),"","")[2]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[6]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed",(20 * this.tier),(1000 * this.tier),"","","","","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[7]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed","","","","","","",(1 + this.tier),"")[3]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[8]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed","","","","","","",(1 + this.tier),"")[3]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[9]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed","","","","","","","",(0.25 * (double)this.tier))[4]); } if(this.type == UpgradeType.EFFECT) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Radius +" + this.tier + "m / Consumption +" + (80 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Crystallizer:"); - list.add("+" + (5 * this.tier) + "% chance of not consuming an item / Acid consumption +" + (1000 * this.tier) + "mB"); - list.add(EnumChatFormatting.RED + "Cyclotron:"); - list.add("-" + (100 - 100 / (this.tier + 1)) + "% chance of incrementing overheat counter"); - list.add(EnumChatFormatting.RED + "Flare Stack:"); - list.add("+" + (100 * this.tier / 3) + "% power production"); - list.add(EnumChatFormatting.RED + "Maxwell:"); - list.add("Range +" + (3 * this.tier) + "m"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.effect",this.tier,(80 * this.tier),"","","","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[6]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.effect","","",(5 * this.tier),(1000 * this.tier),"","","")[1]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[7]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.effect","","","","",(100 - 100 / (this.tier + 1)),"","")[2]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[8]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.effect","","","","","",(100 * this.tier / 3),"")[3]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[9]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.effect","","","","","","",(3 * this.tier))[4]); } if(this.type == UpgradeType.POWER) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Consumption -" + (30 * this.tier) + "HE/t / Delay +" + (5 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Electric Furnace:"); - list.add("Consumption -" + (15 * this.tier) + "HE/t / Delay +" + (10 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Assembly Machine:"); - list.add("Consumption -" + (30 * this.tier) + "HE/t / Delay +" + (5 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Chemical Plant:"); - list.add("Consumption -" + (30 * this.tier) + "HE/t / Delay +" + (5 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Oil Wells:"); - list.add("Consumption -" + (25 * this.tier) + "% / Delay +" + (10 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Cyclotron:"); - list.add("Consumption -" + (100 * this.tier) + "kHE/t"); - list.add(EnumChatFormatting.RED + "Maxwell:"); - list.add("Consumption -" + (150 * this.tier) + "HE/t"); - list.add("Consumption when firing -" + (1500 * this.tier) + "HE/t"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power",(30 * this.tier),(5 * this.tier),"","","","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[2]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power",(15 * this.tier),(10 * this.tier),"","","","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[3]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power",(30 * this.tier),(5 * this.tier),"","","","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[4]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power",(30 * this.tier),(5 * this.tier),"","","","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[5]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power","","",(25 * this.tier),(10 * this.tier),"","","")[1]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[7]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power","","","","",(100 * this.tier),"","")[2]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[9]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power","","","","","",(150 * this.tier),"")[3]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power","","","","","","",(1500 * this.tier))[4]); } if(this == ModItems.upgrade_fortune_1) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Fortune +1 / Delay +15"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]); + list.add(I18nUtil.resolveKey("desc.item.upgrade.fortune","1","15")); } if(this == ModItems.upgrade_fortune_2) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Fortune +2 / Delay +30"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]); + list.add(I18nUtil.resolveKey("desc.item.upgrade.fortune","2","30")); } if(this == ModItems.upgrade_fortune_3) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Fortune +3 / Delay +45"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]); + list.add(I18nUtil.resolveKey("desc.item.upgrade.fortune","3","45")); } if(this.type == UpgradeType.AFTERBURN) { - list.add(EnumChatFormatting.RED + "Turbofan:"); - list.add("Production x" + (this.tier + 1) + " / Consumption x" + (this.tier + 2)); - list.add(EnumChatFormatting.RED + "Maxwell:"); - list.add("Afterburn +" + (this.tier * 3) + "s"); - list.add(EnumChatFormatting.RED + "Oil Wells:"); - list.add("Burn " + (this.tier * 10) + "mB of gas for " + (this.tier * 50) + "HE/t"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[10]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.afterburn",(this.tier + 1),(this.tier + 2),"","","")[0]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[9]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.afterburn","","",(this.tier * 3),"","")[1]); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[5]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.afterburn","","","",(this.tier * 10),(this.tier * 50))[2]); } if(this == ModItems.upgrade_radius) { - list.add(EnumChatFormatting.RED + "Forcefield Range Upgrade"); - list.add("Radius +16 / Consumption +500"); - list.add("Stacks to 16"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[11]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.forcefield","16","500")[0]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.forcefield")[2]); } if(this == ModItems.upgrade_health) { - list.add(EnumChatFormatting.RED + "Forcefield Health Upgrade"); - list.add("Max. Health +50 / Consumption +250"); - list.add("Stacks to 16"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[12]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.forcefield","50","250")[1]); + list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.forcefield")[2]); } if(this == ModItems.upgrade_smelter) { - list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); - list.add("Smelts blocks. Easy enough."); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]); + list.add(I18nUtil.resolveKey("desc.item.upgrade.smelter")); } if(this == ModItems.upgrade_shredder) { - list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); - list.add("Crunches ores"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]); + list.add(I18nUtil.resolveKey("desc.item.upgrade.shredder")); } if(this == ModItems.upgrade_centrifuge) { - list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); - list.add("Hopefully self-explanatory"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]); + list.add(I18nUtil.resolveKey("desc.item.upgrade.centrifuge")); } if(this == ModItems.upgrade_crystallizer) { - list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); - list.add("Your new best friend"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]); + list.add(I18nUtil.resolveKey("desc.item.upgrade.crystallizer")); } if(this == ModItems.upgrade_screm) { - list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); - list.add("It's like in Super Mario where all blocks are"); - list.add("actually Toads, but here it's Half-Life scientists"); - list.add("and they scream. A lot."); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]); + for(String s : I18nUtil.resolveKeyArray("desc.item.upgrade.screm")) + list.add(s); } if(this == ModItems.upgrade_nullifier) { - list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); - list.add("50% chance to override worthless items with /dev/zero"); - list.add("50% chance to move worthless items to /dev/null"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]); + for(String s : I18nUtil.resolveKeyArray("desc.item.upgrade.nullifier")) + list.add(s); } if(this == ModItems.upgrade_gc_speed) { - list.add(EnumChatFormatting.RED + "Gas Centrifuge Upgrade"); - list.add("Allows for total isotopic separation of HEUF6"); - list.add(EnumChatFormatting.YELLOW + "also your centrifuge goes sicko mode"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[14]); + for(String s : I18nUtil.resolveKeyArray("desc.item.upgrade.gc_speed")) + list.add(s); } } diff --git a/src/main/java/com/hbm/items/machine/ItemPWRFuel.java b/src/main/java/com/hbm/items/machine/ItemPWRFuel.java index db802776a..70bd64d81 100644 --- a/src/main/java/com/hbm/items/machine/ItemPWRFuel.java +++ b/src/main/java/com/hbm/items/machine/ItemPWRFuel.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.items.ItemEnumMulti; import com.hbm.util.EnumUtil; +import com.hbm.util.I18nUtil; import com.hbm.util.function.Function; import com.hbm.util.function.Function.FunctionLogarithmic; import com.hbm.util.function.Function.FunctionSqrt; @@ -55,10 +56,7 @@ public class ItemPWRFuel extends ItemEnumMulti { EnumPWRFuel num = EnumUtil.grabEnumSafely(EnumPWRFuel.class, stack.getItemDamage()); String color = EnumChatFormatting.GOLD + ""; - String reset = EnumChatFormatting.RESET + ""; - - list.add(color + "Heat per flux: " + reset + num.heatEmission + " TU"); - list.add(color + "Reacton function: " + reset + num.function.getLabelForFuel()); - list.add(color + "Fuel type: " + reset + num.function.getDangerFromFuel()); + for(String s : I18nUtil.resolveKeyArray("trait.pwr_fuel" , num.heatEmission, num.function.getLabelForFuel(), num.function.getDangerFromFuel())) + list.add(color + s); } } diff --git a/src/main/java/com/hbm/items/machine/ItemPlateFuel.java b/src/main/java/com/hbm/items/machine/ItemPlateFuel.java index f30978de9..6f76853b2 100644 --- a/src/main/java/com/hbm/items/machine/ItemPlateFuel.java +++ b/src/main/java/com/hbm/items/machine/ItemPlateFuel.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.util.BobMathUtil; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -27,10 +28,8 @@ public class ItemPlateFuel extends ItemFuelRod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add(EnumChatFormatting.YELLOW + "[Research Reactor Plate Fuel]"); - list.add(EnumChatFormatting.DARK_AQUA + " " + getFunctionDesc()); - list.add(EnumChatFormatting.DARK_AQUA + " Yield of " + BobMathUtil.getShortNumber(lifeTime) + " events"); + for(String s : I18nUtil.resolveKeyArray("trait.platefuel", getFunctionDesc(), BobMathUtil.getShortNumber(lifeTime))) + list.add(EnumChatFormatting.YELLOW + s); super.addInformation(itemstack, player, list, bool); } diff --git a/src/main/java/com/hbm/items/machine/ItemRBMKPellet.java b/src/main/java/com/hbm/items/machine/ItemRBMKPellet.java index e50dbcd66..09f5a359a 100644 --- a/src/main/java/com/hbm/items/machine/ItemRBMKPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemRBMKPellet.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.items.special.ItemNuclearWaste; import com.hbm.main.MainRegistry; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; @@ -77,20 +78,20 @@ public class ItemRBMKPellet extends ItemNuclearWaste { super.addInformation(stack, player, list, bool); list.add(EnumChatFormatting.ITALIC + this.fullName); - list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "Pellet for recycling"); + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[0]); int meta = rectify(stack.getItemDamage()); switch(meta % 5) { - case 0: list.add(EnumChatFormatting.GOLD + "Brand New"); break; - case 1: list.add(EnumChatFormatting.YELLOW + "Barely Depleted"); break; - case 2: list.add(EnumChatFormatting.GREEN + "Moderately Depleted"); break; - case 3: list.add(EnumChatFormatting.DARK_GREEN + "Highly Depleted"); break; - case 4: list.add(EnumChatFormatting.DARK_GRAY + "Fully Depleted"); break; + case 0: list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[1]); break; + case 1: list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[2]); break; + case 2: list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[3]); break; + case 3: list.add(EnumChatFormatting.DARK_GREEN + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[4]); break; + case 4: list.add(EnumChatFormatting.DARK_GRAY + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[5]); break; } if(hasXenon(meta)) - list.add(EnumChatFormatting.DARK_PURPLE + "High Xenon Poison"); + list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[6]); } @Override diff --git a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java index 960a84874..9808cf170 100644 --- a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java +++ b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java @@ -223,15 +223,15 @@ public class ItemRBMKRod extends Item { } public static enum EnumBurnFunc { - PASSIVE(EnumChatFormatting.DARK_GREEN + "SAFE / PASSIVE"), //const, no reactivity - LOG_TEN(EnumChatFormatting.YELLOW + "MEDIUM / LOGARITHMIC"), //log10(x + 1) * reactivity * 50 - PLATEU(EnumChatFormatting.GREEN + "SAFE / EULER"), //(1 - e^(-x/25)) * reactivity * 100 - ARCH(EnumChatFormatting.RED + "DANGEROUS / NEGATIVE-QUADRATIC"), //x-(x²/1000) * reactivity - SIGMOID(EnumChatFormatting.GREEN + "SAFE / SIGMOID"), //100 / (1 + e^(-(x - 50) / 10)) <- tiny amount of reactivity at x=0 ! - SQUARE_ROOT(EnumChatFormatting.YELLOW + "MEDIUM / SQUARE ROOT"), //sqrt(x) * 10 * reactivity - LINEAR(EnumChatFormatting.RED + "DANGEROUS / LINEAR"), //x * reactivity - QUADRATIC(EnumChatFormatting.RED + "DANGEROUS / QUADRATIC"), //x^2 / 100 * reactivity - EXPERIMENTAL(EnumChatFormatting.RED + "EXPERIMENTAL / SINE SLOPE"); //x * (sin(x) + 1) + PASSIVE(EnumChatFormatting.DARK_GREEN + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[0]), //const, no reactivity + LOG_TEN(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[1]), //log10(x + 1) * reactivity * 50 + PLATEU(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[2]), //(1 - e^(-x/25)) * reactivity * 100 + ARCH(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[3]), //x-(x²/1000) * reactivity + SIGMOID(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[4]), //100 / (1 + e^(-(x - 50) / 10)) <- tiny amount of reactivity at x=0 ! + SQUARE_ROOT(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[5]), //sqrt(x) * 10 * reactivity + LINEAR(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[6]), //x * reactivity + QUADRATIC(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[7]), //x^2 / 100 * reactivity + EXPERIMENTAL(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[8]); //x * (sin(x) + 1) public String title = ""; diff --git a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java index be5e0ad7f..73971bb41 100644 --- a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java @@ -9,6 +9,7 @@ import com.hbm.main.MainRegistry; import com.hbm.render.icon.RGBMutatorInterpolatedComponentRemap; import com.hbm.render.icon.TextureAtlasSpriteMutatable; import com.hbm.util.EnumUtil; +import com.hbm.util.I18nUtil; import com.hbm.util.function.Function; import com.hbm.util.function.Function.*; @@ -127,23 +128,23 @@ public class ItemWatzPellet extends ItemEnumMulti { if(this != ModItems.watz_pellet) return; EnumWatzType num = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); - - list.add(EnumChatFormatting.GREEN + "Depletion: " + String.format(Locale.US, "%.1f", getDurabilityForDisplay(stack) * 100D) + "%"); + + list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("trait.watz_pellet", String.format(Locale.US, "%.1f", getDurabilityForDisplay(stack) * 100D))); String color = EnumChatFormatting.GOLD + ""; String reset = EnumChatFormatting.RESET + ""; if(num.passive > 0){ - list.add(color + "Base fission rate: " + reset + num.passive); - list.add(EnumChatFormatting.RED + "Self-igniting!"); + list.add(color + I18nUtil.resolveKeyArray("trait.watz_pellet.passive")[0] + reset + num.passive); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.watz_pellet.passive")[1]); } - if(num.heatEmission > 0) list.add(color + "Heat per flux: " + reset + num.heatEmission + " TU"); + if(num.heatEmission > 0) list.add(color + I18nUtil.resolveKey("trait.watz_pellet.heatEmission") + reset + num.heatEmission + " TU"); if(num.burnFunc != null) { - list.add(color + "Reacton function: " + reset + num.burnFunc.getLabelForFuel()); - list.add(color + "Fuel type: " + reset + num.burnFunc.getDangerFromFuel()); + list.add(color + I18nUtil.resolveKeyArray("trait.watz_pellet.burnFunc")[0] + reset + num.burnFunc.getLabelForFuel()); + list.add(color + I18nUtil.resolveKeyArray("trait.watz_pellet.burnFunc")[1] + reset + num.burnFunc.getDangerFromFuel()); } - if(num.heatDiv != null) list.add(color + "Thermal multiplier: " + reset + num.heatDiv.getLabelForFuel() + " TU⁻¹"); - if(num.absorbFunc != null) list.add(color + "Flux capture: " + reset + num.absorbFunc.getLabelForFuel()); + if(num.heatDiv != null) list.add(color + I18nUtil.resolveKey("trait.watz_pellet.heatDiv") + reset + num.heatDiv.getLabelForFuel() + " TU⁻¹"); + if(num.absorbFunc != null) list.add(color + I18nUtil.resolveKey("trait.watz_pellet.absorbFunc") + reset + num.absorbFunc.getLabelForFuel()); } @Override diff --git a/src/main/java/com/hbm/items/special/ItemAMSCore.java b/src/main/java/com/hbm/items/special/ItemAMSCore.java index 6a4fb569f..68c12677f 100644 --- a/src/main/java/com/hbm/items/special/ItemAMSCore.java +++ b/src/main/java/com/hbm/items/special/ItemAMSCore.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; @@ -28,51 +29,26 @@ public class ItemAMSCore extends Item { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { if (this == ModItems.ams_core_sing) { - list.add("A modified undefined state of spacetime"); - list.add("used to aid in inter-gluon fusion and"); - list.add("spacetime annihilation. Yes, this destroys"); - list.add("the universe itself, slowly but steadily,"); - list.add("but at least you can power your toaster with"); - list.add("this, so it's all good."); + for(String s : I18nUtil.resolveKeyArray("item.ams_core_sing.desc")) + list.add(s); } if (this == ModItems.ams_core_wormhole) { - list.add("A cloud of billions of nano-wormholes which"); - list.add("deliberately fail at tunneling matter from"); - list.add("another dimension, rather it converts all"); - list.add("that matter into pure energy. That means"); - list.add("you're actively contributing to the destruction"); - list.add("of another dimension, sucking it dry like a"); - list.add("juicebox."); - list.add("That dimension probably sucked, anyways. I"); - list.add("bet it was full of wasps or some crap, man,"); - list.add("I hate these things."); + for(String s : I18nUtil.resolveKeyArray("item.ams_core_wormhole.desc")) + list.add(s); } if (this == ModItems.ams_core_eyeofharmony) { - list.add("A star collapsing in on itself, mere nanoseconds"); - list.add("away from being turned into a black hole,"); - list.add("frozen in time. If I didn't know better I"); - list.add("would say this is some deep space magic"); - list.add("bullcrap some guy made up to sound intellectual."); - list.add("Probably Steve from accounting. You still owe me"); - list.add("ten bucks."); + for(String s : I18nUtil.resolveKeyArray("item.ams_core_eyeofharmony.desc")) + list.add(s); } if (this == ModItems.ams_core_thingy) { if(MainRegistry.polaroidID == 11) { - list.add("Yeah I'm not even gonna question that one."); + list.add(I18nUtil.resolveKey("item.ams_core_thingy_hide.desc")); } else { - list.add("..."); - list.add("..."); - list.add("...am I even holding this right?"); - list.add("It's a small metal thing. I dunno where it's from"); - list.add("or what it does, maybe they found it on a"); - list.add("junkyard and sold it as some kind of antique"); - list.add("artifact. If it weren't for the fact that I can"); - list.add("actually stuff this into some great big laser"); - list.add("reactor thing, I'd probably bring it back to where"); - list.add("it belongs. In the trash."); + for(String s : I18nUtil.resolveKeyArray("item.ams_core_thingy.desc")) + list.add(s); } } } diff --git a/src/main/java/com/hbm/items/special/ItemGlitch.java b/src/main/java/com/hbm/items/special/ItemGlitch.java index 9942c4754..f44dab7ec 100644 --- a/src/main/java/com/hbm/items/special/ItemGlitch.java +++ b/src/main/java/com/hbm/items/special/ItemGlitch.java @@ -13,6 +13,7 @@ import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import api.hbm.energy.IBatteryItem; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; @@ -39,10 +40,10 @@ public class ItemGlitch extends Item implements IBatteryItem { if(!world.isRemote) switch(itemRand.nextInt(31)) { case 0: - player.addChatMessage(new ChatComponentText("Sorry nothing.")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[0])); break; case 1: - player.addChatMessage(new ChatComponentText("Prometheus was punished by the gods by giving the gift of knowledge to man. He was cast into the bowels of the earth and pecked by birds.")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[1])); break; case 2: player.attackEntityFrom(ModDamageSource.radiation, 1000); @@ -66,7 +67,7 @@ public class ItemGlitch extends Item implements IBatteryItem { break; case 8: player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_container, 10)); - player.addChatMessage(new ChatComponentText("Oh, and by the way: The polaroid shifts reality. Things can be different if the polaroid is broken.")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[2])); break; case 9: player.inventory.addItemStackToInventory(new ItemStack(ModItems.nuke_advanced_kit, 1)); @@ -94,7 +95,7 @@ public class ItemGlitch extends Item implements IBatteryItem { player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_revolver_pip)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.bottle_sparkle)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.geiger_counter)); - player.addChatMessage(new ChatComponentText("Have some free stuff. You'll need it for that one cryptic achievement.")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[3])); break; case 14: player.inventory.dropAllItems(); @@ -105,43 +106,43 @@ public class ItemGlitch extends Item implements IBatteryItem { player.inventory.addItemStackToInventory(new ItemStack(Blocks.dirt, 64)); break; case 16: - player.addChatMessage(new ChatComponentText("v yvxr lbhe nggvghqr!")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[4])); break; case 17: - player.addChatMessage(new ChatComponentText("89% of magic tricks are not magic. Technically, they are sorcery.")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[5])); break; case 18: player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_20gauge, 12)); - player.addChatMessage(new ChatComponentText("Here ya go.")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[6])); break; case 19: - player.addChatMessage(new ChatComponentText("Ë")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[7])); break; case 20: - player.addChatMessage(new ChatComponentText("Good day, I am text")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[8])); break; case 21: player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_nuclear)); - player.addChatMessage(new ChatComponentText("73616d706c652074657874!")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[9])); break; case 22: - player.addChatMessage(new ChatComponentText("Budget cuts, no effect for you.")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[10])); break; case 23: - player.addChatMessage(new ChatComponentText("oof")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[11])); break; case 24: player.addPotionEffect(new PotionEffect(Potion.resistance.id, 60 * 20, 9)); - player.addChatMessage(new ChatComponentText("Tank!")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[12])); break; case 25: player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 60 * 20, 9)); - player.addChatMessage(new ChatComponentText("More devastating than a falling boxcar!")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[13])); break; case 26: player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 60 * 20, 9)); - player.addChatMessage(new ChatComponentText("Ha!")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[14])); break; case 27: EntityVortex vortex = new EntityVortex(world, 2.5F); @@ -156,15 +157,15 @@ public class ItemGlitch extends Item implements IBatteryItem { mirv.posY = player.posY + 100; mirv.posZ = player.posZ; world.spawnEntityInWorld(mirv); - player.addChatMessage(new ChatComponentText("Watch your head!")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[15])); break; case 29: ExplosionLarge.spawnBurst(world, player.posX, player.posY, player.posZ, 27, 3); - player.addChatMessage(new ChatComponentText("Bam!")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[16])); break; case 30: player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_saturnite)); - player.addChatMessage(new ChatComponentText("It's dangerous to go alone, take this!")); + player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[17])); break; } @@ -176,62 +177,62 @@ public class ItemGlitch extends Item implements IBatteryItem { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("It's a gamble!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[0]); list.add(""); switch(MainRegistry.polaroidID) { case 1: - list.add("Click-click-click!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[1]); break; case 2: - list.add("Creek!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[2]); break; case 3: - list.add("Bzzzt!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[3]); break; case 4: - list.add("TS staring off into space."); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[4]); break; case 5: - list.add("BANG!!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[5]); break; case 6: - list.add("Woop!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[6]); break; case 7: - list.add("Poow!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[7]); break; case 8: - list.add("Pft!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[8]); break; case 9: - list.add("GF fgnevat bss vagb fcnpr."); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[9]); break; case 10: - list.add("Backup memory #8 on 1.44 million bytes."); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[10]); break; case 11: - list.add("PTANG!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[11]); break; case 12: - list.add("Bzzt-zrrt!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[12]); break; case 13: - list.add("Clang, click-brrthththrtrtrtrtrtr!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[13]); break; case 14: - list.add("KABLAM!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[14]); break; case 15: - list.add("PLENG!"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[15]); break; case 16: - list.add("Wheeeeeeee-"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[16]); break; case 17: - list.add("Thump."); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[17]); break; case 18: - list.add("BANG! Choo-chooo! B A N G ! ! !"); + list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[18]); break; } } diff --git a/src/main/java/com/hbm/items/special/ItemRag.java b/src/main/java/com/hbm/items/special/ItemRag.java index bb883f6eb..f94b5ba49 100644 --- a/src/main/java/com/hbm/items/special/ItemRag.java +++ b/src/main/java/com/hbm/items/special/ItemRag.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.block.material.Material; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -39,7 +40,7 @@ public class ItemRag extends Item { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Drop into water to make damp cloth."); - list.add("Right-click to urinate on the cloth."); + for(String s : I18nUtil.resolveKeyArray("item.rag.desc")) + list.add(s); } } diff --git a/src/main/java/com/hbm/items/special/ItemSoyuz.java b/src/main/java/com/hbm/items/special/ItemSoyuz.java index 7644a0880..adfe591cd 100644 --- a/src/main/java/com/hbm/items/special/ItemSoyuz.java +++ b/src/main/java/com/hbm/items/special/ItemSoyuz.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.lib.RefStrings; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; @@ -50,12 +51,12 @@ public class ItemSoyuz extends Item { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - list.add("Skin:"); + list.add(I18nUtil.resolveKeyArray("item.missile_soyuz.desc")[0]); switch(stack.getItemDamage()) { - case 0: list.add(EnumChatFormatting.GOLD + "Original"); break; - case 1: list.add(EnumChatFormatting.BLUE + "Luna Space Center"); break; - case 2: list.add(EnumChatFormatting.GREEN + "Post War"); break; + case 0: list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("item.missile_soyuz.desc")[1]); break; + case 1: list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKeyArray("item.missile_soyuz.desc")[2]); break; + case 2: list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("item.missile_soyuz.desc")[3]); break; } } diff --git a/src/main/java/com/hbm/items/tool/ItemAnchorRemote.java b/src/main/java/com/hbm/items/tool/ItemAnchorRemote.java index 9fb384f23..927ae5165 100644 --- a/src/main/java/com/hbm/items/tool/ItemAnchorRemote.java +++ b/src/main/java/com/hbm/items/tool/ItemAnchorRemote.java @@ -7,6 +7,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; import com.hbm.util.BobMathUtil; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -27,14 +28,14 @@ public class ItemAnchorRemote extends ItemBattery { charge = getCharge(itemstack); if(itemstack.getItem() != ModItems.fusion_core && itemstack.getItem() != ModItems.energy_core) { - list.add("Energy stored: " + BobMathUtil.getShortNumber(charge) + "/" + BobMathUtil.getShortNumber(maxCharge) + "HE"); + list.add(I18nUtil.resolveKey("desc.item.battery.charge",BobMathUtil.getShortNumber(charge),BobMathUtil.getShortNumber(maxCharge))); } else { String charge1 = BobMathUtil.getShortNumber((charge * 100) / this.maxCharge); - list.add("Charge: " + charge1 + "%"); + list.add(I18nUtil.resolveKey("desc.item.battery.chargePerc", charge1)); list.add("(" + BobMathUtil.getShortNumber(charge) + "/" + BobMathUtil.getShortNumber(maxCharge) + "HE)"); } - list.add("Charge rate: " + BobMathUtil.getShortNumber(chargeRate) + "HE/t"); + list.add(I18nUtil.resolveKey("desc.item.battery.chargeRate",BobMathUtil.getShortNumber(chargeRate))); } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemCMStructure.java b/src/main/java/com/hbm/items/tool/ItemCMStructure.java index 6c46decee..415076832 100644 --- a/src/main/java/com/hbm/items/tool/ItemCMStructure.java +++ b/src/main/java/com/hbm/items/tool/ItemCMStructure.java @@ -7,6 +7,7 @@ import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.main.MainRegistry; +import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; @@ -156,10 +157,8 @@ public class ItemCMStructure extends Item implements ILookOverlay { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { super.addInformation(stack, player, list, ext); - list.add(EnumChatFormatting.YELLOW + "Click Custom Machine Structure Positioning Anchor to"); - list.add(EnumChatFormatting.YELLOW + "Confirm the location of the custom machine core block."); - list.add(EnumChatFormatting.YELLOW + "Output all blocks between Position1 and Position2 with"); - list.add(EnumChatFormatting.YELLOW + "metadata to \"CMstructureOutput.txt\" in hbmConfig."); + for(String s : I18nUtil.resolveKeyArray("item.structure_custommachine.desc")) + list.add(EnumChatFormatting.YELLOW + s); } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemDetonator.java b/src/main/java/com/hbm/items/tool/ItemDetonator.java index 201f60c5a..c34742f75 100644 --- a/src/main/java/com/hbm/items/tool/ItemDetonator.java +++ b/src/main/java/com/hbm/items/tool/ItemDetonator.java @@ -2,6 +2,7 @@ package com.hbm.items.tool; import java.util.List; +import com.hbm.util.I18nUtil; import org.apache.logging.log4j.Level; import com.hbm.config.GeneralConfig; @@ -21,12 +22,12 @@ public class ItemDetonator extends Item { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Shift right-click to set position,"); - list.add("right-click to detonate!"); + for(String s : I18nUtil.resolveKeyArray("item.detonator.desc")) + list.add(s); if(itemstack.getTagCompound() == null) { - list.add(EnumChatFormatting.RED + "No position set!"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("item.detonator.pos.desc")[0]); } else { - list.add(EnumChatFormatting.YELLOW + "Linked to " + itemstack.stackTagCompound.getInteger("x") + ", " + itemstack.stackTagCompound.getInteger("y") + ", " + itemstack.stackTagCompound.getInteger("z")); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("item.detonator.pos.desc" , itemstack.stackTagCompound.getInteger("x") , itemstack.stackTagCompound.getInteger("y") , itemstack.stackTagCompound.getInteger("z"))[1]); } } @@ -45,7 +46,7 @@ public class ItemDetonator extends Item { player.addChatMessage(ChatBuilder.start("[").color(EnumChatFormatting.DARK_AQUA) .nextTranslation(this.getUnlocalizedName() + ".name").color(EnumChatFormatting.DARK_AQUA) .next("] ").color(EnumChatFormatting.DARK_AQUA) - .next("Position set!").color(EnumChatFormatting.GREEN).flush()); + .next(I18nUtil.resolveKeyArray("desc.item.detonator")[0]).color(EnumChatFormatting.GREEN).flush()); } world.playSoundAtEntity(player, "hbm:item.techBoop", 2.0F, 1.0F); @@ -64,7 +65,7 @@ public class ItemDetonator extends Item { player.addChatMessage(ChatBuilder.start("[").color(EnumChatFormatting.DARK_AQUA) .nextTranslation(this.getUnlocalizedName() + ".name").color(EnumChatFormatting.DARK_AQUA) .next("] ").color(EnumChatFormatting.DARK_AQUA) - .next("No position set!").color(EnumChatFormatting.RED).flush()); + .next(I18nUtil.resolveKeyArray("desc.item.detonator")[1]).color(EnumChatFormatting.RED).flush()); } } else { int x = stack.stackTagCompound.getInteger("x"); diff --git a/src/main/java/com/hbm/items/tool/ItemMS.java b/src/main/java/com/hbm/items/tool/ItemMS.java index 77495a356..bcb3b7c7f 100644 --- a/src/main/java/com/hbm/items/tool/ItemMS.java +++ b/src/main/java/com/hbm/items/tool/ItemMS.java @@ -7,6 +7,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -18,7 +19,7 @@ public class ItemMS extends Item { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Lost but not forgotten"); + list.add(I18nUtil.resolveKey("item.mysteryshovel.desc")); } public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float a, float b, float c) diff --git a/src/main/java/com/hbm/items/tool/ItemSwordMeteorite.java b/src/main/java/com/hbm/items/tool/ItemSwordMeteorite.java index eefbae55d..bf8b970b3 100644 --- a/src/main/java/com/hbm/items/tool/ItemSwordMeteorite.java +++ b/src/main/java/com/hbm/items/tool/ItemSwordMeteorite.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; @@ -26,63 +27,63 @@ public class ItemSwordMeteorite extends ItemSwordAbility { super.addInformation(stack, player, list, ext); if(this == ModItems.meteorite_sword) { - list.add(EnumChatFormatting.ITALIC + "Forged from a fallen star"); - list.add(EnumChatFormatting.ITALIC + "Sharper than most terrestrial blades"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_seared) { - list.add(EnumChatFormatting.ITALIC + "Fire strengthens the blade"); - list.add(EnumChatFormatting.ITALIC + "Making it even more powerful"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_seared.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_reforged) { - list.add(EnumChatFormatting.ITALIC + "The sword has been reforged"); - list.add(EnumChatFormatting.ITALIC + "To rectify past imperfections"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_reforged.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_hardened) { - list.add(EnumChatFormatting.ITALIC + "Extremely high pressure has been used"); - list.add(EnumChatFormatting.ITALIC + "To harden the blade further"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_hardened.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_alloyed) { - list.add(EnumChatFormatting.ITALIC + "Cobalt fills the fissures"); - list.add(EnumChatFormatting.ITALIC + "Strengthening the sword"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_alloyed.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_machined) { - list.add(EnumChatFormatting.ITALIC + "Advanced machinery was used"); - list.add(EnumChatFormatting.ITALIC + "To refine the blade even more"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_machined.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_treated) { - list.add(EnumChatFormatting.ITALIC + "Chemicals have been applied"); - list.add(EnumChatFormatting.ITALIC + "Making the sword more powerful"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_treated.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_etched) { - list.add(EnumChatFormatting.ITALIC + "Acids clean the material"); - list.add(EnumChatFormatting.ITALIC + "To make this the perfect sword"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_etched.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_bred) { - list.add(EnumChatFormatting.ITALIC + "Immense heat and radiation"); - list.add(EnumChatFormatting.ITALIC + "Compress the material"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_bred.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_irradiated) { - list.add(EnumChatFormatting.ITALIC + "The power of the Atom"); - list.add(EnumChatFormatting.ITALIC + "Gives the sword might"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_irradiated.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_fused) { - list.add(EnumChatFormatting.ITALIC + "This blade has met"); - list.add(EnumChatFormatting.ITALIC + "With the forces of the stars"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_fused.desc")) + list.add(EnumChatFormatting.ITALIC + s); } if(this == ModItems.meteorite_sword_baleful) { - list.add(EnumChatFormatting.ITALIC + "This sword has met temperatures"); - list.add(EnumChatFormatting.ITALIC + "Far beyond what normal material can endure"); + for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_baleful.desc")) + list.add(EnumChatFormatting.ITALIC + s); } /* diff --git a/src/main/java/com/hbm/items/tool/ItemWand.java b/src/main/java/com/hbm/items/tool/ItemWand.java index 9bb6dc6ca..d3a532941 100644 --- a/src/main/java/com/hbm/items/tool/ItemWand.java +++ b/src/main/java/com/hbm/items/tool/ItemWand.java @@ -2,6 +2,7 @@ package com.hbm.items.tool; import java.util.List; +import com.hbm.util.I18nUtil; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -15,22 +16,20 @@ public class ItemWand extends Item { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Creative-only item"); - list.add("\"Destruction brings creation\""); - list.add("(Set positions with right click,"); - list.add("set block with shift-right click!)"); + for(String s : I18nUtil.resolveKeyArray( "item.wand_k.desc")) + list.add(s); if(itemstack.stackTagCompound != null && !(itemstack.stackTagCompound.getInteger("x") == 0 && itemstack.stackTagCompound.getInteger("y") == 0 && itemstack.stackTagCompound.getInteger("z") == 0)) { - list.add("Pos: " + itemstack.stackTagCompound.getInteger("x") + ", " + itemstack.stackTagCompound.getInteger("y") + ", " + itemstack.stackTagCompound.getInteger("z")); + list.add(I18nUtil.resolveKey("item.wand_k.pos" , itemstack.stackTagCompound.getInteger("x") , itemstack.stackTagCompound.getInteger("y") , itemstack.stackTagCompound.getInteger("z"))); } else { - list.add("Positions not set!"); + list.add(I18nUtil.resolveKey("item.wand_k.null")); } if(itemstack.stackTagCompound != null) - list.add("Block saved: " + Block.getBlockById(itemstack.stackTagCompound.getInteger("block")).getUnlocalizedName()); + list.add(I18nUtil.resolveKey("item.wand_k.block" , Block.getBlockById(itemstack.stackTagCompound.getInteger("block")).getUnlocalizedName())); } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemWandS.java b/src/main/java/com/hbm/items/tool/ItemWandS.java index ea7ba07fa..f2985ac02 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandS.java +++ b/src/main/java/com/hbm/items/tool/ItemWandS.java @@ -3,6 +3,7 @@ package com.hbm.items.tool; import java.util.List; import java.util.Random; +import com.hbm.util.I18nUtil; import com.hbm.world.machine.FWatz; import com.hbm.world.machine.NuclearReactor; import com.hbm.world.machine.Watz; @@ -19,10 +20,8 @@ public class ItemWandS extends Item { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Creative-only item"); - list.add("\"Instant structures for everyone!\""); - list.add("(Cycle with shift-right click,"); - list.add("spawn structures with right click!)"); + for(String s : I18nUtil.resolveKeyArray( "item.wand_s.desc")) + list.add(s); if(itemstack.stackTagCompound != null) { switch(itemstack.stackTagCompound.getInteger("building")) diff --git a/src/main/java/com/hbm/items/tool/WeaponSpecial.java b/src/main/java/com/hbm/items/tool/WeaponSpecial.java index c59daa016..ca10cc59a 100644 --- a/src/main/java/com/hbm/items/tool/WeaponSpecial.java +++ b/src/main/java/com/hbm/items/tool/WeaponSpecial.java @@ -12,6 +12,7 @@ import com.hbm.main.MainRegistry; import com.hbm.potion.HbmPotion; import com.hbm.util.ArmorUtil; +import com.hbm.util.I18nUtil; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; @@ -249,58 +250,52 @@ public class WeaponSpecial extends ItemSword { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { if(this == ModItems.schrabidium_hammer) { - list.add("Even though it says \"+1000000000"); - list.add("damage\", it's actually \"onehit anything\""); + for(String s : I18nUtil.resolveKeyArray("item.schrabidium_hammer.desc")) + list.add(s); } if(this == ModItems.ullapool_caber) { - list.add("High-yield Scottish face removal."); - list.add("A sober person would throw it..."); + for(String s : I18nUtil.resolveKeyArray("item.ullapool_caber.desc")) + list.add(s); } if(this == ModItems.bottle_opener) { - list.add("My very own bottle opener."); - list.add("Use with caution!"); + for(String s : I18nUtil.resolveKeyArray("item.bottle_opener.desc")) + list.add(s); } if(this == ModItems.shimmer_sledge) { if(MainRegistry.polaroidID == 11) { - list.add("shimmer no"); - list.add("drop that hammer"); - list.add("you're going to hurt somebody"); - list.add("shimmer no"); - list.add("shimmer pls"); + for(String s : I18nUtil.resolveKeyArray("item.shimmer_sledge.desc.hide")) + list.add(s); } else { - list.add("Breaks everything, even portals."); + list.add(I18nUtil.resolveKey("item.shimmer_sledge.desc")); } } if(this == ModItems.shimmer_axe) { if(MainRegistry.polaroidID == 11) { - list.add("shim's toolbox does an e-x-p-a-n-d"); + list.add(I18nUtil.resolveKey("item.shimmer_axe.desc.hide")); } else { - list.add("Timber!"); + list.add(I18nUtil.resolveKey("item.shimmer_axe.desc")); } } if(this == ModItems.wrench) { - list.add("Mechanic Richard"); + list.add(I18nUtil.resolveKey("item.wrench.desc")); } if(this == ModItems.wrench_flipped) { - list.add("Wrench 2: The Wrenchening"); + list.add(I18nUtil.resolveKey("item.wrench_flipped.desc")); } if(this == ModItems.memespoon) { - list.add(EnumChatFormatting.DARK_GRAY + "Level 10 Shovel"); - list.add(EnumChatFormatting.AQUA + "Deals crits while the wielder is rocket jumping"); - list.add(EnumChatFormatting.RED + "20% slower firing speed"); - list.add(EnumChatFormatting.RED + "No random critical hits"); + for(String s : I18nUtil.resolveKeyArray("item.memespoon.desc")) + list.add(s); } if(this == ModItems.wood_gavel) { - list.add("Thunk!"); + list.add(I18nUtil.resolveKey("item.wood_gavel.desc")); } if(this == ModItems.lead_gavel) { - list.add("You are hereby sentenced to lead poisoning."); + list.add(I18nUtil.resolveKey("item.lead_gavel.desc")); } if(this == ModItems.diamond_gavel) { - list.add("The joke! It makes sense now!!"); - list.add(""); - list.add(EnumChatFormatting.BLUE + "Deals as much damage as it needs to."); + for(String s : I18nUtil.resolveKeyArray("item.diamond_gavel.desc")) + list.add(s); } } diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 7e3226470..dc43341b9 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -717,9 +717,8 @@ public class ModEventHandlerClient { } } else { - list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + - EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + - EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display protection info"); + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + I18nUtil.resolveKey("tooltip.show" , + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT")); } } @@ -733,13 +732,12 @@ public class ModEventHandlerClient { if(!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && !(Minecraft.getMinecraft().currentScreen instanceof GUIArmorTable)) { - list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + - EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + - EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display installed armor mods"); + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + I18nUtil.resolveKey("tooltip.armormodsshow" , + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT" )); } else { - list.add(EnumChatFormatting.YELLOW + "Mods:"); + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("tooltip.armormods")); ItemStack[] mods = ArmorModHandler.pryMods(stack); @@ -760,12 +758,12 @@ public class ModEventHandlerClient { List names = ItemStackUtil.getOreDictNames(stack); if(names.size() > 0) { - list.add(EnumChatFormatting.BLUE + "Ore Dict:"); + list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("tooltip.oredict")); for(String s : names) { list.add(EnumChatFormatting.AQUA + " -" + s); } } else { - list.add(EnumChatFormatting.RED + "No Ore Dict data!"); + list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("tooltip.oredict.null")); } } @@ -786,10 +784,10 @@ public class ModEventHandlerClient { list.add(""); if(entry.entry == EnumEntryType.ADD) - list.add(EnumChatFormatting.GOLD + "Adds " + entry.value + " to the custom nuke stage " + entry.type); + list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("tooltip.customnuke",entry.value,entry.type)); if(entry.entry == EnumEntryType.MULT) - list.add(EnumChatFormatting.GOLD + "Adds multiplier " + entry.value + " to the custom nuke stage " + entry.type); + list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("tooltip.customnukemultiplier",entry.value ,entry.type)); } try { diff --git a/src/main/java/com/hbm/util/function/Function.java b/src/main/java/com/hbm/util/function/Function.java index 9dd32272c..0e82a7f07 100644 --- a/src/main/java/com/hbm/util/function/Function.java +++ b/src/main/java/com/hbm/util/function/Function.java @@ -4,6 +4,7 @@ import java.util.Locale; import com.hbm.util.BobMathUtil; +import com.hbm.util.I18nUtil; import net.minecraft.util.EnumChatFormatting; /** @@ -50,21 +51,21 @@ public abstract class Function { public FunctionLogarithmic(double level) { super(level); this.withOff(1D); } @Override public double effonix(double x) { return Math.log10(getX(x)) * level; } @Override public String getLabelForFuel() { return "log10(" + getXName(false) + ") * " + String.format(Locale.US, "%,.1f", this.level); } - @Override public String getDangerFromFuel() { return EnumChatFormatting.YELLOW + "MEDIUM / LOGARITHMIC"; } + @Override public String getDangerFromFuel() { return EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[1]; } } public static class FunctionPassive extends FunctionSingleArg { public FunctionPassive(double level) { super(level); } @Override public double effonix(double x) { return this.level; } @Override public String getLabelForFuel() { return "" + String.format(Locale.US, "%,.1f", this.level); } - @Override public String getDangerFromFuel() { return EnumChatFormatting.DARK_GREEN + "SAFE / PASSIVE"; } + @Override public String getDangerFromFuel() { return EnumChatFormatting.DARK_GREEN + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[0]; } } public static class FunctionSqrt extends FunctionSingleArg { public FunctionSqrt(double level) { super(level); } @Override public double effonix(double x) { return BobMathUtil.squirt(getX(x)) * this.level; } @Override public String getLabelForFuel() { return "sqrt(" + getXName(false) + ") * " + String.format(Locale.US, "%,.3f", this.level); } //not entirely correct but good enough - @Override public String getDangerFromFuel() { return EnumChatFormatting.YELLOW + "MEDIUM / SQUARE ROOT"; } + @Override public String getDangerFromFuel() { return EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[5]; } } public static class FunctionSqrtFalling extends FunctionSqrt { @@ -78,7 +79,7 @@ public abstract class Function { public FunctionLinear(double level) { super(level); } @Override public double effonix(double x) { return getX(x) * this.level; } @Override public String getLabelForFuel() { return getXName(true) + " * " + String.format(Locale.US, "%,.1f", this.level); } - @Override public String getDangerFromFuel() { return EnumChatFormatting.RED + "DANGEROUS / LINEAR"; } + @Override public String getDangerFromFuel() { return EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[6]; } } public static class FunctionQuadratic extends FunctionDoubleArg { @@ -86,6 +87,6 @@ public abstract class Function { public FunctionQuadratic(double level, double vOff) { super(level, vOff); } @Override public double effonix(double x) { return getX(x) * getX(x) * this.level + this.vOff; } @Override public String getLabelForFuel() { return getXName(true) + "² * " + String.format(Locale.US, "%,.1f", this.level) + (vOff != 0 ? (" + " + String.format(Locale.US, "%,.1f", vOff)) : ""); } - @Override public String getDangerFromFuel() { return EnumChatFormatting.RED + "DANGEROUS / QUADRATIC"; } + @Override public String getDangerFromFuel() { return EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[7]; } } } diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 19cb1bd86..696c95c96 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -131,6 +131,7 @@ achievement.ZIRNOXBoom=CIRNOX armor.blastProtection=Damage modifier of %s against explosions armor.cap=Hard damage cap of %s +armor.charge=Charge: %s / %s armor.damageModifier=Damage modifier of %s against %s armor.dash=Grants %s dashes armor.electricJetpack=Ion Jetpack @@ -164,6 +165,42 @@ armorMod.chestplates=Chestplates armorMod.helmets=Helmets armorMod.insertHere=Insert armor to modify... armorMod.leggings=Leggings +armorMod.slot=Slot: +armorMod.mod.auto=Imported from Japsterdam. +armorMod.mod.bandaid=3%% chance for full heal when damaged$ (3%% chance for full heal) +armorMod.mod.bathwater=Inflicts poison on the attacker$ (Poisons attackers) +armorMod.mod.charm=You feel blessed. +armorMod.mod.charm.protection=Diverts meteors away from the player.$Meteors no longer destroy blocks.$Halves broadcaster damage +armorMod.mod.charm.meteor=Disables meteorite spawning.$Negates broadcaster damage +armorMod.mod.cladding= rad-resistance$ radiation resistence) +armorMod.mod.defuser=Defuses nearby creepers$ (Defuses creepers) +armorMod.mod.gasmask=Gas protection$Will never protect against:$ (gas protection) +armorMod.mod.health= health$Nostalgia +armorMod.mod.Ink=10%% chance to nullify damage$Flowers!$ (10%% chance to nullify damage) +armorMod.mod.Insert=%% damage$%% projectile damage$%% explosion damage$%% speed$HP +armorMod.mod.Iron=+0.5 knockback resistance$ (+0.5 knockback resistence) +armorMod.mod.Knife=Pain.$ $Hurts, doesn't it? +armorMod.mod.Lens=Satellite Frequency: $ (Freq: %%d) +armorMod.mod.Lodestone=Attracts nearby items$Item attraction range: %%d$ (Magnetic range: %%d) +armorMod.mod.Milk=Removes bad potion effects$ (Removes bad potion effects) +armorMod.mod.MorningGlory=5%% chance to apply resistance when hit, wither immunity$ (5%% for resistance, wither immunity) +armorMod.mod.Obsidian=Makes dropped armor indestructible$ (Item indestructible) +armorMod.mod.Pads=%% fall damage$Passively charges electric armor when walking$%% fall dmg / passive charge) +armorMod.mod.Polish=5%% chance to nullify damage$ (5%% chance to nullify damage) +armorMod.mod.Quartz=Taking damage removes 10 RAD$ (-10 RAD when hit) +armorMod.mod.Revive= revives left +armorMod.mod.Revive.scrumpy=But how did you survive?$I was drunk. +armorMod.mod.Revive.wild_p=§8Explosive §cReactive "§8Plot §cArmor +armorMod.mod.Revive.fabsols_vodka=In the news:$§c§lMan literally too angry to die.$ $§o"I ain't got time to die" says local$man after ripping the physical manifestation$of disaster itself in half. +armorMod.mod.Sensor=Beeps near hazardous gasses$Works in the inventory or when applied to armor$ (Detects gasses) +armorMod.mod.Serum=Cures poison and gives strength$ (replaces poison with strength) +armorMod.mod.Servos=Chestplate: Haste I / Damage +50%%$Leggings: Speed +25%% / Jump II$ (Haste I / Damage +50%%)$ (Speed +25%% / Jump II) +armorMod.mod.Servos.desh=Chestplate: Haste III / Damage +150%%$Leggings: Speed +50%% / Jump III$ (Haste III / Damage +150%%)$ (Speed +50%% / Jump III) +armorMod.mod.Shackles=You will speak when I ask you to.$You will eat when I tell you to.$You will die when I allow you to.$∞ revives left$ (∞ revives left) +armorMod.mod.Tesla=Zaps nearby entities (requires full electric set)$ (zaps nearby entities) +armorMod.mod.TwoKick="I've had worse"$ (Shotgun punches) +armorMod.mod.V1=BLOOD IS FUEL$ (BLOOD IS FUEL) +armorMod.mod.WD40=Highly reduces damage taken by armor, +2 HP$ (-80%% armor wear / +2 HP) armorMod.type.boots=Boots armorMod.type.chestplate=Chestplate armorMod.type.cladding=Cladding @@ -866,6 +903,7 @@ death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons. death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces. death.attack.teleporter=%1$s was teleported into nothingness. +desc.block.blastinfo=Blast Resistance: %s desc.gui.assembler.warning=§cError:§r This machine requires an assembly template! desc.gui.chemplant.warning=§cError:§r This machine requires an chemistry template! desc.gui.gasCent.enrichment=§2Enrichment§r$Uranium enrichment requires cascades.$Two-centrifuge cascades will give$uranium fuel, four-centrifuge cascades$will give total separation. @@ -980,6 +1018,7 @@ desc.item.battery.charge=Charge: %s / %sHE desc.item.battery.chargePerc=Charge: %s%% desc.item.battery.chargeRate=Charge rate: %sHE/tick desc.item.battery.dischargeRate=Discharge rate: %sHE/tick +desc.item.detonator=Position set!$No position set! desc.item.durability=Durability: %s desc.item.grenade.fuse=Fuse: %s desc.item.grenade.fuseImpact=Impact @@ -1022,6 +1061,20 @@ desc.misc.noPos=No position set! desc.misc.pos=Set pos to: %s, %s, %s desc.misc.posSet=Position set! desc.item.wasteCooling=Cool in a Spent Fuel Pool Drum +desc.item.upgrade.machine=Mining Drill:§r$Laser Miner:$Electric Furnace:§r$Assembly Machine:§r$Chemical Plant:§r$Oil Wells:§r$Crystallizer:§r$Cyclotron:§r$Flare Stack:§r$Maxwell:§r$Turbofan:§r$Forcefield Range Upgrade§r$Forcefield Health Upgrade§r$Mining Laser Upgrade§r$Gas Centrifuge Upgrade§r$ +desc.item.upgrade.speed=Delay -%s%% / Consumption +%sHE/t$Delay ÷%s / Consumption +%sHE/t$Delay -%s%% / Consumption +%s%%$Speed x%s$Damage +%sdmg/t +desc.item.upgrade.effect=Radius +%sm / Consumption +%sHE/t$+%s%% chance of not consuming an item / Acid consumption +%smB$-%s%% chance of incrementing overheat counter$+%s%% power production$Range +%sm +desc.item.upgrade.power=Consumption -%sHE/t / Delay +%s%%$Consumption -%s%% / Delay +%s%%$Consumption -%skHE/t$Consumption -%sHE/t$Consumption when firing -%sHE/t +desc.item.upgrade.fortune=Fortune +%s / Delay +%s +desc.item.upgrade.afterburn=Production x%s / Consumption x%s$Afterburn +%ss$Burn %smB of gas for %sHE/t +desc.item.upgrade.forcefield=Radius +16 / Consumption +500$Max. Health +50 / Consumption +250$Stacks to 16 +desc.item.upgrade.smelter=Smelts blocks. Easy enough. +desc.item.upgrade.shredder=Crunches ores +desc.item.upgrade.centrifuge=Hopefully self-explanatory +desc.item.upgrade.crystallizer=Your new best friend +desc.item.upgrade.screm=It's like in Super Mario where all blocks are$actually Toads, but here it's Half-Life scientists$and they scream. A lot. +desc.item.upgrade.nullifier=50%% chance to override worthless items with /dev/zero$50%% chance to move worthless items to /dev/null +desc.item.upgrade.gc_speed=Allows for total isotopic separation of HEUF6$§ealso your centrifuge goes sicko mode desc.item.zirnoxBreedingRod=§2[ZIRNOX Breeding Rod]$§ePlace next to fuel rods to breed$§eLasts %d ticks desc.item.zirnoxRod=§a[ZIRNOX Fuel Rod]$§eGenerates %1$d heat per tick$§eLasts %2$d ticks @@ -1403,6 +1456,26 @@ hbmfluid.woodoil=Wood Oil hbmfluid.xenon=Xenon Gas hbmfluid.xpjuice=Experience Juice hbmfluid.xylene=BTX + +hbmfluid.Trait.Combustible=[Combustible]$Provides §c%sHE §6per bucket$Fuel grade: §c%s +hbmfluid.Trait.Combustible.FuelGrade=Low$Medium$High$Aviation$Gaseous +hbmfluid.Trait.Coolable=Thermal capacity: %s TU$Efficiency: %s%% +hbmfluid.Trait.Corrosive=[Strongly Corrosive]$[Corrosive] +hbmfluid.Trait.Flammable=[Flammable]$Provides §c%sTU §eper bucket +hbmfluid.Trait.Poison=[Toxic Fumes] +hbmfluid.Trait.PWRModerator=[PWR Flux Multiplier]$"Core flux %s%s%% +hbmfluid.Trait.Toxin=[Toxin] +hbmfluid.Trait.VentRadiation=[Radioactive] +hbmfluid.TraitSimple.Amat=[Antimatter] +hbmfluid.TraitSimple.Delicious=[Delicious] +hbmfluid.TraitSimple.Gaseous=[Gaseous] +hbmfluid.TraitSimple.Gaseous_ART=[Gaseous at Room Temperature] +hbmfluid.TraitSimple.LeadContainer=[Requires hazardous material tank to hold] +hbmfluid.TraitSimple.Leaded=[Leaded Fuel] +hbmfluid.TraitSimple.Liquid=[Liquid] +hbmfluid.TraitSimple.Plasma=[Plasma] +hbmfluid.TraitSimple.Viscous=[Viscous] + hbmpseudofluid.none=Empty hbmpseudofluid.heuf6=Highly Enriched UF6 hbmpseudofluid.meuf6=Medium Enriched UF6 @@ -1751,9 +1824,14 @@ item.ams_catalyst_strontium.name=Strontium Reaction Catalyst item.ams_catalyst_thorium.name=Thorium Reaction Catalyst item.ams_catalyst_tungsten.name=Tungsten Reaction Catalyst item.ams_core_eyeofharmony.name=Eye of Harmony (AMS/DFC Core) +item.ams_core_eyeofharmony.desc=A star collapsing in on itself, mere nanoseconds$away from being turned into a black hole,$frozen in time. If I didn't know better I$would say this is some deep space magic$bullcrap some guy made up to sound intellectual.$Probably Steve from accounting. You still owe me$ten bucks. item.ams_core_sing.name=Vibrant Singularity (AMS/DFC Core) +item.ams_core_sing.desc=A modified undefined state of spacetime$used to aid in inter-gluon fusion and$spacetime annihilation. Yes, this destroys$the universe itself, slowly but steadily,$but at least you can power your toaster with$this, so it's all good. item.ams_core_thingy.name=Thingy (AMS/DFC Core) +item.ams_core_thingy.desc=...$"...$...am I even holding this right?$It's a small metal thing. I dunno where it's from$or what it does, maybe they found it on a$junkyard and sold it as some kind of antique$artifact. If it weren't for the fact that I can$actually stuff this into some great big laser$reactor thing, I'd probably bring it back to where$it belongs. In the trash. +item.ams_core_thingy_hide.desc=Yeah I'm not even gonna question that one. item.ams_core_wormhole.name=Tiny Wormhole (AMS/DFC Core) +item.ams_core_wormhole.desc=A cloud of billions of nano-wormholes which$deliberately fail at tunneling matter from$another dimension, rather it converts all$that matter into pure energy. That means$you're actively contributing to the destruction$of another dimension, sucking it dry like a$juicebox.$That dimension probably sucked, anyways. I$bet it was full of wasps or some crap, man,$I hate these things. item.ams_focus_blank.name=Blank Stabilizer Focus item.ams_focus_booster.name=Boosting Stabilizer Focus item.ams_focus_booster.desc=Weaker restriction field and core energy injection:$More heat generation, extra energy. @@ -1964,6 +2042,7 @@ item.bottle_empty.name=Empty Bomb-Shaped Bottle item.bottle_mercury.name=Bottle of Mercury item.bottle_nuka.name=Bottle of Nuka Cola item.bottle_opener.name=Hbm's Own Self-Made Bottle Opener +item.bottle_opener.desc=My very own bottle opener.$Use with caution! item.bottle_quantum.name=Bottle of Nuka Cola Quantum item.bottle_rad.name=Bottle of S~Cola RAD item.bottle_sparkle.name=Bottle of S~Cola @@ -2118,6 +2197,7 @@ item.centrifuge_tower.name=Centrifuge Tower item.chainsaw.name=Chainsaw item.cheese.name=Cheese item.cheese_quesadilla.name=Cheese Quesadilla +item.cheese_quesadilla.desc=That's what a 50 year old yeast infection does to you. item.chemical_dye.black.name=Chemical Dye (Black) item.chemical_dye.blue.name=Chemical Dye (Blue) item.chemical_dye.brown.name=Chemical Dye (Brown) @@ -2360,6 +2440,7 @@ item.debris_graphite.name=Hot Graphite Chunk item.debris_metal.name=Broken Metal Bar item.debris_shrapnel.name=Walkway Shrapnel item.definitelyfood.name=TotallyNotDirt-Brand MRE +item.definitelyfood.desc=A'right, I got sick and tired of$having to go out, kill things just$to get food and not die, so here is $my absolutely genius solution:$ $Have some edible dirt. item.defuser.name=High-Tech Bomb Defusing Device item.defuser_gold.name=Golden Wire Cutter item.demon_core_closed.name=Closed Demon Core @@ -2374,12 +2455,15 @@ item.designator_arty_range.name=Long Range Artillery Remote item.designator_manual.name=Manual Target Designator item.designator_range.name=Long Range Target Designator item.detonator.name=Detonator +item.detonator.desc=Shift right-click to set position,$right-click to detonate! +item.detonator.pos.desc=No position set!$Linked to %s, %s, %s item.detonator_de.name=Dead Man's Explosive item.detonator_deadman.name=Dead Man's Detonator item.detonator_laser.name=Laser Detonator item.detonator_multi.name=Multi Detonator item.deuterium_filter.name=Deuterium Filter item.diamond_gavel.name=Diamond Gavel +item.diamond_gavel.desc=The joke! It makes sense now!!$ $§9Deals as much damage as it needs to. item.dieselsuit_boots.name=Diesel-Powered High Heels item.dieselsuit_helmet.name=Diesel-Powered Head-Mounted Environmental Sensor item.dieselsuit_legs.name=Diesel-Powered Leg Servos @@ -2563,6 +2647,8 @@ item.gem_volcanic.name=Volcanic Gem item.generator_front.name=Generator Front item.generator_steel.name=Generator Body item.glitch.name=Glitch +item.glitch.desc=It's a gamble!$Click-click-click!$Creek!$Bzzzt!$TS staring off into space.$BANG!!$Woop!$Poow!$Pft!$GF fgnevat bss vagb fcnpr.$Backup memory #8 on 1.44 million bytes.$PTANG!$Bzzt-zrrt!$Clang, click-brrthththrtrtrtrtrtr!$KABLAM!$PLENG!$Wheeeeeeee-$Thump.$BANG! Choo-chooo! B A N G ! ! ! +item.glitch.message=Sorry nothing.$Prometheus was punished by the gods by giving the gift of knowledge to man. He was cast into the bowels of the earth and pecked by birds.$Oh, and by the way: The polaroid shifts reality. Things can be different if the polaroid is broken.$Have some free stuff. You'll need it for that one cryptic achievement.$v yvxr lbhe nggvghqr!$89%% of magic tricks are not magic. Technically, they are sorcery.$Here ya go.$Ë$Good day, I am text$73616d706c652074657874!$Budget cuts, no effect for you.$oof$Tank!$More devastating than a falling boxcar!$Ha!$Watch your head!$Bam!$t's dangerous to go alone, take this! item.glowing_stew.name=Glowing Mushroom Stew item.glyphid_meat.name=Glyphid Meat item.glyphid_meat_grilled.name=Grilled Glyphid Meat @@ -2875,6 +2961,7 @@ item.ingot_schrabidium_fuel.name=Ingot of Schrabidium Fuel item.ingot_schraranium.name=Schraranium Ingot item.ingot_schraranium.desc=Made from uranium in a schrabidium transmutator item.ingot_semtex.name=Bar of Semtex +item.ingot_semtex.desc=Semtex H Plastic Explosive$Performant explosive for many applications.$Edible item.ingot_smore.name=S'more Ingot item.ingot_solinium.name=Solinium Ingot item.ingot_sr90.name=Strontium-90 Ingot @@ -2920,11 +3007,16 @@ item.iv_xp.name=Experience Bag item.iv_xp_empty.name=Empty Experience Bag item.jackt.name=Damn Stylish Ballistic Jacket item.jackt2.name=Damn Stylish Ballistic Jacket 2: Tokyo Drift +item.jetpack.desc=Can be worn on its own! item.jetpack_boost.name=Boostpack +item.jetpack_boost.desc=High-powered vectorized jetpack.$Highly increased fuel consumption. item.jetpack_break.name=Builder's Jetpack +item.jetpack_break.desc=Regular jetpack that will automatically hover mid-air.$Sneaking will stop hover mode.$Hover mode will consume less fuel and increase air-mobility. item.jetpack_fly.name=Jetpack +item.jetpack_fly.desc=Regular jetpack for simple upwards momentum. item.jetpack_tank.name=Jetpack Reserve Fuel Tank item.jetpack_vector.name=Vectored Jetpack +item.jetpack_vector.desc=High-mobility jetpack.$Higher fuel consumption. item.journal_bj.name=Whiskey Drenched Notebook item.journal_pip.name=Survivalist's Journal item.journal_silver.name=Contractor's Notes @@ -2946,7 +3038,9 @@ item.laser_crystal_digamma.name=Digamma Laser Crystal item.laser_crystal_dnt.desc=Dineutronium-Spark Fermion Supercrystal item.laser_crystal_dnt.name=Spark Laser Crystal item.lead_gavel.name=Leaden Gavel +item.lead_gavel.desc=You are hereby sentenced to lead poisoning. item.lemon.name="Lemon" +item.lemon.desc=Eh, good enough. item.letter.name=Express Mail item.levitation_unit.name=Gravity Manipulator item.lignite.name=Lignite @@ -2959,7 +3053,9 @@ item.liquidator_plate.name=Liquidator Suit Chestplate item.lithium.name=Lithium Cube item.lodestone.name=Lodestone item.loop_stew.name=IT Breakfast +item.loop_stew.desc=A very, very healthy breakfast. item.loops.name=Lööps +item.loops.desc=Brøther, may I have some lööps? item.loot_10.name=Size 10 Missile Loot Crate item.loot_15.name=Size 15 Missile Loot Crate item.loot_misc.name=General Missile Loot Crate @@ -2986,28 +3082,44 @@ item.mechanism_rifle_2.name=Advanced Rifle Mechanism item.mechanism_special.name=High-Tech Weapon Mechanism item.med_bag.name=Doctor's Bag item.med_ipecac.name=Ipecac Syrup +item.med_ipecac.desc=Bitter juice that will cause your stomach$to forcefully eject its contents. item.med_ptsd.name=PTSD Medication +item.med_ptsd.desc=This isn't even PTSD mediaction, it's just$Ipecac in a different bottle! item.med_schiziphrenia.name=Schizophrenia Medication +item.med_schiziphrenia.desc=Makes the voices go away. Just for a while.$ $...$Better not take it. item.medal_liquidator.name=Liquidator Medal item.meltdown_tool.name=Dyatlov Instant Meltdown Applicator item.memespoon.name=§eMarket Gardener +item.memespoon.desc=§8Level 10 Shovel$§bDeals crits while the wielder is rocket jumping$§c20%% slower firing speed$§cNo random critical hits item.memory.name=item.null.name item.mese_gavel.name=Mese Gavel item.mese_pickaxe.name=Mese Pickaxe item.meteor_charm.name=Meteor Charm item.meteor_remote.name=Meteorite Remote item.meteorite_sword.name=Meteorite Sword +item.meteorite_sword.desc=Forged from a fallen star$Sharper than most terrestrial blades item.meteorite_sword_seared.name=Meteorite Sword (Seared) +item.meteorite_sword_seared.desc=Fire strengthens the blade$Making it even more powerful item.meteorite_sword_reforged.name=Meteorite Sword (Reforged) +item.meteorite_sword_reforged.desc=The sword has been reforged$To rectify past imperfections item.meteorite_sword_hardened.name=Meteorite Sword (Hardened) +item.meteorite_sword_hardened.desc=Extremely high pressure has been used$To harden the blade further item.meteorite_sword_alloyed.name=Meteorite Sword (Alloyed) +item.meteorite_sword_alloyed.desc=Cobalt fills the fissures$Strengthening the sword item.meteorite_sword_machined.name=Meteorite Sword (Machined) +item.meteorite_sword_machined.desc=Advanced machinery was used$To refine the blade even more item.meteorite_sword_treated.name=Meteorite Sword (Treated) +item.meteorite_sword_treated.desc=Chemicals have been applied$Making the sword more powerful item.meteorite_sword_etched.name=Meteorite Sword (Etched) +item.meteorite_sword_etched.desc=Acids clean the material$To make this the perfect sword item.meteorite_sword_bred.name=Meteorite Sword (Bred) +item.meteorite_sword_bred.desc=Immense heat and radiation$Compress the material item.meteorite_sword_irradiated.name=Meteorite Sword (Irradiated) +item.meteorite_sword_irradiated.desc=The power of the Atom$Gives the sword might item.meteorite_sword_fused.name=Meteorite Sword (Fused) +item.meteorite_sword_fused.desc=This blade has met$With the forces of the stars item.meteorite_sword_baleful.name=Meteorite Sword (Baleful) +item.meteorite_sword_baleful.desc=This sword has met temperatures$Far beyond what normal material can endure item.mike_cooling_unit.name=Deuterium Cooling Unit item.mike_core.name=Uranium Coated Deuterium Tank item.mike_deut.name=Deuterium Tank @@ -3042,6 +3154,7 @@ item.missile_nuclear_cluster.name=Thermonuclear Missile item.missile_rain.name=Bomblet Rain item.missile_schrabidium.name=Schrabidium Missile item.missile_shuttle.name=Reliant Robin Space Shuttle +item.missile_shuttle.desc=Tonite, on bo''om gear:$James huffs leaded gasoline and$goes insane, Richard spends the$entire budget on a broken .PNG,$And I forget to set the infinite$Water tanks on our RBMK to flow$out, blowing up our entire base item.missile_skin_camo.name=Missile Skin: Camo item.missile_skin_color.desc=I can't find my missile anymore! item.missile_skin_desert.name=Missile Skin: Desert Camo @@ -3061,6 +3174,7 @@ item.missile_skin_soviet_glory.desc=услуга перевода недосту item.missile_skin_soviet_stank.name=Missile Skin: Soviet Stank item.missile_skin_soviet_stank.desc=This one's got the real 60's stank to it. item.missile_soyuz.name=Soyuz-FG +item.missile_soyuz.desc=Skin:$Original$Luna Space Center$Post War item.missile_soyuz_lander.name=Orbital Module item.missile_soyuz_lander.desc=Doubles as a crappy lander! item.missile_strong.name=Strong HE Missile @@ -3207,6 +3321,7 @@ item.multitool_miner.name=Power Fist (Extracting Mining Laser) item.multitool_silk.name=Power Fist (Silk Touch Claw) item.multitool_sky.name=Power Fist (Crack the Sky) item.mysteryshovel.name=Brittle Spade +item.mysteryshovel.desc=Lost but not forgotten item.n2_charge.name=Large Explosive Charge item.neutrino_lens.name=Neutrino Lens item.neutron_reflector.name=Neutron Reflector @@ -3388,6 +3503,7 @@ item.particle_strange.name=Strange Quark Capsule item.particle_tachyon.name=Tachyon Capsule item.parts_legendary.name=Legendary Parts item.peas.name=Peas +item.peas.desc=He accepts your offering. item.pedestal_steel.name=Steel Pedestal item.pellet_advanced.name=Advanced Watz Performance Improver item.pellet_antimatter.name=Antimatter Cluster @@ -3644,6 +3760,7 @@ item.primer_buckshot.name=Buckshot Primer (x12) item.protection_charm.name=Charm of Protection item.prototype_kit.name=Prototype Kit item.pudding.name=Pudding +item.pudding.desc=What if he did?$What if he didn't?$What if the world was made of pudding? item.pwr_fuel.bfb_am_mix.name=Fuel Grade Americium PWR BFB Rod item.pwr_fuel.bfb_pu241.name=Plutonium-241 PWR BFB Rod item.pwr_fuel.hea242.name=HEA-242 PWR Fuel Rod @@ -3696,6 +3813,7 @@ item.radaway_strong.name=Strong RadAway item.radx.name=Rad-X item.radx.desc=Increases radiation resistance by 0.2 (37%%) for 3 minutes item.rag.name=Cloth +item.rag.desc=Drop into water to make damp cloth.$Right-click to urinate on the cloth. item.rag_damp.name=Damp Cloth item.rag_piss.name=Piss-Soaked Rag item.rbmk_fuel_balefire.name=Balefire RBMK Fuel Rod @@ -4002,6 +4120,7 @@ item.schnitzel_vegan.name=Vegan Schnitzel item.schrabidium_axe.name=Schrabidium Axe item.schrabidium_boots.name=Schrabidium Boots item.schrabidium_hammer.name=Schrabidium Hammer +item.schrabidium_hammer.desc=Even though it says "+1000000000"$damage", it's actually "onehit anything" item.schrabidium_helmet.name=Schrabidium Helmet item.schrabidium_hoe.name=Schrabidium Hoe item.schrabidium_legs.name=Schrabidium Leggings @@ -4030,10 +4149,14 @@ item.servo_set.name=Servo Set item.servo_set_desh.name=Desh Servo Set item.shackles.name=Shackles item.shimmer_axe.name=Shimmer Axe +item.shimmer_axe.desc=Timber! +item.shimmer_axe.desc.hide=shim's toolbox does an e-x-p-a-n-d item.shimmer_axe_head.name=Heavy Axe Head item.shimmer_handle.name=Reinforced Polymer Handle item.shimmer_head.name=Heavy Hammer Head item.shimmer_sledge.name=Shimmer Sledge +item.shimmer_sledge.desc=Breaks everything, even portals. +item.shimmer_sledge.desc.hide=shimmer no$drop that hammer$you're going to hurt somebody$shimmer no$shimmer pls item.singularity.name=Singularity item.singularity_counter_resonant.name=Contained Counter-Resonant Singularity item.singularity_micro.name=Micro Singularity @@ -4155,6 +4278,7 @@ item.tank_waste_7.name=Mud Container item.tank_waste_8.name=Mud Container item.telepad.name=Telepad item.tem_flakes.name=Tem Flakes +item.tem_flakes.desc=Heals 2HP DISCOUNT FOOD OF TEM!!!$Heals 2HP food of tem$Heals food of tem (expensiv) item.template_folder.name=Machine Template Folder item.template_folder.desc=Machine Templates: Paper + Dye$Fluid IDs: Iron Plate + Dye$Press Stamps: Flat Stamp$Siren Tracks: Insulator + Steel Plate item.test_nuke_igniter.name=Igniter @@ -4208,7 +4332,9 @@ item.turret_rocket_ammo.name=Rocket Turret 2x4 Ammunition item.turret_spitfire_ammo.name=AA-Shell item.turret_tau_ammo.name=Tau Turret Uranium Ammo item.twinkie.name=Twinkie +item.twinkie.desc=Expired 600 years ago! item.ullapool_caber.name=Ullapool Caber +item.ullapool_caber.desc=High-yield Scottish face removal.$A sober person would throw it... item.undefined.name=Undefined item.upgrade_5g.name=5G Radiation Emitter Upgrade item.upgrade_afterburn_1.name=Afterburner Upgrade Mk.I @@ -4249,8 +4375,14 @@ item.v1.name=V1 item.volcanic_pickaxe.name=Molten Pickaxe item.wand_d.name=Debug Wand item.wand_k.name=Construction Wand +item.wand_k.block=Block saved: %s +item.wand_k.desc=Creative-only item$"Destruction brings creation"$(Set positions with right click,$set block with shift-right click!) +item.wand_k.null=Positions not set! +item.wand_k.pos=Pos: %s, %s, %s item.wand_s.name=Structure Wand +item.wand_s.desc=Creative-only item$"Instant structures for everyone!"$(Cycle with shift-right click,$spawn structures with right click!) item.structure_custommachine.name=Custom Machine Structure Output Wand +item.structure_custommachine.desc=Click Custom Machine Structure Positioning Anchor to$Confirm the location of the custom machine core block.$Output all blocks between Position1 and Position2 with$metadata to \"CMstructureOutput.txt\" in hbmConfig. item.warhead_buster_large.name=Large Bunker Buster Warhead item.warhead_buster_medium.name=Medium Bunker Buster Warhead item.warhead_buster_small.name=Small Bunker Buster Warhead @@ -4333,9 +4465,12 @@ item.wire_schrabidium.name=Schrabidium Wire item.wire_tungsten.name=Tungsten Wire item.wiring_red_copper.name=Cable Drum item.wood_gavel.name=Wooden Gavel +item.wood_gavel.desc=Thunk! item.wrench.name=Pipe Wrench +item.wrench.desc=Mechanic Richard item.wrench_archineer.name=Archineer's Wrench item.wrench_flipped.name=Blade on a Wrench +item.wrench_flipped.desc=Wrench 2: The Wrenchening item.xanax.name=NAXA Anti-Digamma Medication item.xanax.desc=Removes 500mDRX item.zirconium_legs.name=Zirconium Pants @@ -4681,6 +4816,7 @@ tile.cm_tank.alloy.name=Advanced Alloy Tank tile.cm_tank.desh.name=Desh Tank tile.cm_tank.steel.name=Steel Tank tile.cm_tank.tcalloy.name=Technetium Steel Tank +tile.cm_paperPress.name=Paper Press tile.cmb_brick.name=CMB Steel Tile tile.cmb_brick_reinforced.name=Reinforced CMB Bricks tile.compact_launcher.name=Compact Launch Pad @@ -4934,6 +5070,7 @@ tile.gneiss_brick.name=Schist Brick tile.gneiss_chiseled.name=Chiseled Schist tile.gneiss_tile.name=Schist Tile tile.gravel_diamond.name=Diamond Gravel +tile.gravel_diamond.desc=There is some kind of joke here,$but I can't quite tell what it is.$ $Update, 2020-07-04:$We deny any implications of a joke on$the basis that it was so severely unfunny$that people started stabbing their eyes out.$$Update, 2020-17-04:$As it turns out, "Diamond Gravel" was$never really a thing, rendering what might$have been a joke as totally nonsensical.$We apologize for getting your hopes up with$this non-joke that hasn't been made.$$i added an item for a joke that isn't even here, what am i, stupid? can't even tell the difference between gravel and a gavel, how did i not forget how to breathe yet? tile.gravel_obsidian.name=Crushed Obsidian tile.hadron_access.name=Particle Accelerator Access Terminal tile.hadron_analysis.name=Particle Accelerator Analysis Chamber Wall @@ -5064,6 +5201,7 @@ tile.machine_excavator.name=Large Mining Drill tile.machine_fel.name=FEL tile.machine_fensu.name=FEnSU tile.machine_flare.name=Flare Stack +tile.machine_flare.desc=Can burn fluids and vent gasses$Burns up to §c10mB/t$Vents up to §c50mB/t$ $§eFuel efficiency:$§e-Flammable Gasses: §c50%%$§e-Flammable Liquids: §c10%% tile.machine_fluidtank.name=Tank tile.machine_forcefield.name=Forcefield Emitter tile.machine_fraction_tower.name=Fractioning Tower @@ -5155,6 +5293,7 @@ tile.machine_zirnox.name=ZIRNOX Nuclear Reactor tile.marker_structure.name=Multiblock Structure Marker tile.mass_storage.name=Mass Storage Unit tile.meteor_battery.name=Starmetal Static Electricity Generator +tile.meteor_battery.desc=Provides infinite charge to tesla coils tile.meteor_brick.name=Meteor Bricks tile.meteor_brick_chiseled.name=Chiseled Meteor Bricks tile.meteor_brick_cracked.name=Cracked Meteor Bricks @@ -5174,14 +5313,18 @@ tile.ntm_dirt.name=Dirt tile.nuke_boy.name=Little Boy tile.nuke_custom.name=Custom Nuke tile.nuke_fleija.name=F.L.E.I.J.A. +tile.nuke_fleija.desc=Used in:$F.L.E.I.J.A. tile.nuke_fstbmb.name=Balefire Bomb tile.nuke_gadget.name=The Gadget tile.nuke_man.name=Fat Man tile.nuke_mike.name=Ivy Mike tile.nuke_n2.name=N² Mine +tile.nuke_n2.desc=Used in:$N² Mine tile.nuke_n45.name=N45 Naval Mine tile.nuke_prototype.name=The Prototype +tile.nuke_prototype.desc=It didn't have to be like this.$ $You monster. tile.nuke_solinium.name=The Blue Rinse +tile.nuke_solinium.desc=Used in:$Solinium Bomb tile.nuke_tsar.name=Tsar Bomba tile.oil_duct.name=Oil Pipe tile.oil_duct_solid.name=Coated Oil Pipe @@ -5240,6 +5383,7 @@ tile.ore_nether_uranium.name=Nether Uranium Ore tile.ore_nether_uranium_scorched.name=Scorched Nether Uranium Ore tile.ore_niter.name=Niter Ore tile.ore_oil.name=Oil Deposit +tile.ore_oil.desc=You weren't supposed to mine that.$Come on, get a derrick you doofus. tile.ore_oil_empty.name=Empty Oil Deposit tile.ore_oil_sand.name=Tar Sand tile.ore_random.name=%s Ore @@ -5353,6 +5497,7 @@ tile.reactor_element.name=Reactor Chamber tile.reactor_hatch.name=Reactor Access Hatch tile.reactor_inserter.name=Reactor Fuel Inserter tile.red_barrel.name=Explosive Barrel +tile.red_barrel.desc=Static fluid barrel tile.red_cable.name=Red Copper Cable tile.red_cable_classic.name=Red Copper Cable (Classic) tile.red_cable_gauge.name=Power Gauge @@ -5360,7 +5505,9 @@ tile.red_cable_gauge.desc=Cable that displays how much power$moves within the ne tile.red_cable_paintable.name=Paintable Red Copper Cable tile.red_connector.name=Electricity Connector tile.red_pylon.name=Electricity Pole +tile.red_pylon.desc=Connection Type: §eSingle$Connection Range: §e25m tile.red_pylon_large.name=Large Electricity Pylon +tile.red_pylon_large.desc=Connection Type: §eQuadruple$Connection Range: §e100m$This pylon requires a substation! tile.red_wire_coated.name=Coated Red Copper Cable tile.reinforced_brick.name=Reinforced Stone tile.reinforced_brick_stairs.name=Reinforced Stone Stairs @@ -5445,6 +5592,7 @@ tile.struct_scaffold.name=Launch Pad Scaffold Block tile.struct_soyuz_core.name=Soyuz Launcher Core Component tile.struct_watz_core.name=Watz Powerplant Core Component tile.substation.name=Substation +tile.substation.desc=Connection Type: §eQuadruple$Connection Range: §e20m tile.sulfuric_acid_block.name=Sulfuric Acid tile.taint.name=Taint tile.taint_barrel.name=IMP Residue Barrel @@ -5527,6 +5675,10 @@ trait.hydro=Hydroreactive trait.radioactive=Radioactive trait.radResistance=Radiation resistance: %s +trait.platefuel=[Research Reactor Plate Fuel]$§3 %s$§3 Yield of %s events +trait.pwr_fuel=Heat per flux: §r%s TU$Reacton function: §r%s$Fuel type: §r%s + +trait.rbmk.BurnFunc=SAFE / PASSIVE$MEDIUM / LOGARITHMIC$SAFE / EULER$DANGEROUS / NEGATIVE-QUADRATIC$SAFE / SIGMOID$MEDIUM / SQUARE ROOT$DANGEROUS / LINEAR$DANGEROUS / QUADRATIC$EXPERIMENTAL / SINE SLOPE trait.rbmk.coreTemp=Core temp: %s trait.rbmk.depletion=Depletion: %s trait.rbmk.diffusion=Diffusion: %s @@ -5563,8 +5715,21 @@ trait.rbmx.xenon=Lead poison: %s trait.rbmx.xenonBurn=Lead destruction function: %s trait.rbmx.xenonGen=Lead creation function: %s +trait.rbmk_pellet=Pellet for recycling$Brand New$Barely Depleted$Moderately Depleted$Highly Depleted$Fully Depleted$High Xenon Poison +trait.watz_pellet=Depletion: %s%% +trait.watz_pellet.passive=Base fission rate: $Self-igniting! +trait.watz_pellet.heatEmission=Heat per flux: +trait.watz_pellet.burnFunc=Reacton function: $Fuel type: +trait.watz_pellet.heatDiv=Thermal multiplier: +trait.watz_pellet.absorbFunc=Flux capture: + trait.tile.cluster=Drops only when broken by a player trait.tile.depth=Can only be destroyed by explosions +trait.tile.barrel.capacity=Capacity: %smB +trait.tile.barrel.hot=Can store hot fluids$Cannot store hot fluids +trait.tile.barrel.corrosive=Can store highly corrosive fluids$Can store corrosive fluids$Cannot store highly corrosive fluids properly$Cannot store corrosive fluids properly$Cannot store corrosive fluids +trait.tile.barrel.antimatter=Can store antimatter$Cannot store antimatter +trait.tile.barrel.leak=Leaky tool.ability.centrifuge=Auto-Centrifuge tool.ability.crystallizer=Auto-Crystallizer @@ -5578,6 +5743,15 @@ tool.ability.shredder=Auto-Shredder tool.ability.silktouch=Silk Touch tool.ability.smelter=Auto-Smelter +tooltip.armormods=Mods: +tooltip.armormodsshow=Hold < %s §8§o> to display installed armor mods§r +tooltip.block=Hold < %s §8§o> to display more info§r +tooltip.customnuke=Adds %s to the custom nuke stage %s +tooltip.customnukemultiplier=Adds multiplier %s to the custom nuke stage %s +tooltip.oredict=Ore Dict: +tooltip.oredict.null=No Ore Dict data! +tooltip.show=Hold < %s §8§o> to display protection info§r + turret.animals=Target Passive: %s turret.arty.artillery=§eArtillery Mode$Grace: 250m$Range: 3,000m turret.arty.cannon=§eCannon Mode$Grace: 32m$Range: 250m diff --git a/src/main/resources/assets/hbm/lang/zh_CN.lang b/src/main/resources/assets/hbm/lang/zh_CN.lang index 4bd5871e0..7610a1c62 100644 --- a/src/main/resources/assets/hbm/lang/zh_CN.lang +++ b/src/main/resources/assets/hbm/lang/zh_CN.lang @@ -52,13 +52,13 @@ achievement.fiend2=残忍2:更残忍 achievement.fiend=残忍 achievement.freytag.desc=英勇的救生员 achievement.freytag=弗雷塔格 -achievement.fusion.desc=氘核、海卫一与能量的舞蹈。 -achievement.fusion=聚合 -achievement.gasCent.desc=贫铀讨厌他! -achievement.gasCent=链式 +achievement.fusion.desc=氘核, 氚核和能量之舞. +achievement.fusion=热核聚变反应 +achievement.gasCent.desc=未浓缩的铀讨厌他! +achievement.gasCent=拉链式 achievement.goFish.desc=航海十字架 achievement.goFish=去钓鱼 -achievement.hidden.desc=使用一节坠落的车厢杀死一只污染苦力怕 +achievement.hidden.desc=使用一节坠落的车厢杀死一只污染爬行者 achievement.hidden=隐藏目录 achievement.horizonsBonus.desc=说实话,你到底怎么了 achievement.horizonsBonus=地平线! @@ -72,14 +72,14 @@ achievement.inferno.desc=“把它变成灰烬!这还不够!投更多的炸 achievement.inferno=食人行动 achievement.manhattan.desc=1945年8月6日 8:15 achievement.manhattan=曼哈顿计划 -achievement.meltdown.desc=你走了这么远,怎么能把事情搞砸? -achievement.meltdown=快速非计划拆卸 -achievement.no9.desc=“我希望我开采的铅能被用在你的油漆里” -achievement.no9=旧数字9 -achievement.omega12.desc=解决在这个可怜的星球上继续生存的问题 -achievement.omega12=欧米茄-12粒子加速器 -achievement.polymer.desc=美味、美味的微塑料。 -achievement.polymer=特氟隆 +achievement.meltdown.desc=你都走到了这一步,怎么还能把事情搞砸? +achievement.meltdown="快速"拆卸 +achievement.no9.desc="我希望我开采的铅能被用于你的绘画" +achievement.no9=老九号 +achievement.omega12.desc=解决在这个荒凉的的星球上继续生存的问题. +achievement.omega12=欧米伽-12号粒子加速器 +achievement.polymer.desc=美味,美味的微塑料. +achievement.polymer=特氟隆 聚四氟乙烯 achievement.potato.desc=你居然捅我!你怎—喔哦哦哦哦哦! achievement.potato=流氓AI achievement.radDeath.desc=居里夫人开创了放射性理论、放射性治疗和放射性死亡。。。。 @@ -124,30 +124,32 @@ achievement.watzBoom.desc=下次记得把毒泥浆容器清空 achievement.watzBoom=令人厌恶 achievement.watz.desc=可能包括Fólkvangr弗尔克范格场 achievement.watz=126号元素的力量 -achievement.witchtaunter.desc=那些古怪的生物对你毫无兴趣! -achievement.witchtaunter=巫婆陶恩特 -achievement.ZIRNOXBoom.desc=处理, 看,满地是残骸碎片 -achievement.ZIRNOXBoom=锆诺克斯 -armor.blastProtection=修正 %s 的爆炸伤害 -armor.cap=伤害上限 %s -armor.damageModifier=修正 %s 对 %s 的伤害 -armor.dash=给予 %s 冲刺 -armor.electricJetpack=离子喷射背包 +achievement.witchtaunter.desc=那些怪胎什么都没发现! +achievement.witchtaunter=女巫陶恩特 +achievement.ZIRNOXBoom.desc=处理, 遍地都是, 残骸碎片 +achievement.ZIRNOXBoom=CIRNOX + +armor.blastProtection=只受%s的爆炸伤害 +armor.cap=硬伤上限 %s +armor.charge=电量: %s / %s +armor.damageModifier=只受%s的%s伤害 +armor.dash=提供 %s 次冲刺 +armor.electricJetpack=等离子推进器 armor.explosionImmune=免疫除爆炸伤害外的一切伤害 armor.fasterReload=快速装填 armor.fastFall=快速降落 armor.fireproof=防火 -armor.fullSetBonus=全套效果: -armor.geigerHUD=盖革计数器HUD -armor.geigerSound=盖革计数器警报 -armor.glider=滑翔 -armor.gravity=重力修正 %s -armor.hardLanding=硬着陆 -armor.ignoreLimit=防御值不受防御上限的影响 -armor.modifier=伤害修正 %s +armor.fullSetBonus=完整套装增益: +armor.geigerHUD=内置盖格计数器 +armor.geigerSound=听觉式盖革计数器 +armor.glider=按下潜行以滑翔 +armor.gravity=重力效果调整为%s +armor.hardLanding=坠地AOE伤害 +armor.ignoreLimit=防御值不受防御值上限的影响 +armor.modifier=只受%s的一般伤害 armor.moreAmmo=更多弹药 -armor.nullDamage=免疫 %s 伤害 -armor.projectileProtection=免疫 %s 的弹射物伤害 +armor.nullDamage=免疫所有的%s伤害 +armor.projectileProtection=只受%s的弹射物伤害 armor.rocketBoots=火箭靴 armor.sprintBoost=冲刺辅助加速 armor.stepSize=步长:%s @@ -162,8 +164,44 @@ armorMod.chestplates=胸甲 armorMod.helmets=头盔 armorMod.insertHere=插入装甲以改装。。。 armorMod.leggings=护腿 -armorMod.type.boots=靴子 -armorMod.type.chestplate=胸甲 +armorMod.slot=槽位: +armorMod.mod.auto=从日本进口. +armorMod.mod.bandaid=3%% 的几率让你受到伤害时HP回满$ (3%% 的几率HP回满) +armorMod.mod.bathwater=使攻击者中毒$ (让攻击者中毒) +armorMod.mod.charm=你感受到了祝福. +armorMod.mod.charm.protection=使陨石偏移以远离玩家.$陨石不再破坏方块.$将腐化广播的伤害减半 +armorMod.mod.charm.meteor=禁止陨石生成.$无视腐化广播的伤害 +armorMod.mod.cladding= 辐射抗性$ 辐射抗性) +armorMod.mod.defuser=拆除附近爬行者引信$ (拆除爬行者引信) +armorMod.mod.gasmask=有毒气体防护$绝对不会提供的危害防护:$ (有毒气体防护) +armorMod.mod.health= 生命值$怀旧 +armorMod.mod.Ink=10%% 的几率免疫伤害$花朵的护佑!$ (10%% 的几率免疫伤害) +armorMod.mod.Insert=%% 伤害$%% 弹射物伤害$%% 爆炸伤害$%% 移动速度$耐久 +armorMod.mod.Iron=+0.5 抗击退性$ (+0.5 抗击退性) +armorMod.mod.Knife=痛苦.$ $很疼, 不是吗? +armorMod.mod.Lens=卫星频道: $ (频道: %%d) +armorMod.mod.Lodestone=吸引附近的掉落物$掉落物吸引范围: %%d$ (磁力范围: %%d) +armorMod.mod.Milk=移除负面效果$ (移除负面效果) +armorMod.mod.MorningGlory=5%% 的几率在被击中时得到抗性提升效果, 免疫凋零效果$ (5%% 的几率得到抗性提升效果, 免疫凋零效果) +armorMod.mod.Obsidian=使掉落的盔甲坚不可摧$ (使掉落的盔甲坚不可摧) +armorMod.mod.Pads=%% 摔落伤害$行走时可为盔甲充电$%% 摔落伤害 / 行走时可为盔甲充电) +armorMod.mod.Polish=5%% 的几率免疫伤害$ (5%% 的几率免疫伤害) +armorMod.mod.Quartz=每受一次受到伤害将移除 10 RAD$ (每受一次受到伤害将移除10 RAD) +armorMod.mod.Revive= 条额外生命 +armorMod.mod.Revive.scrumpy=但,但你是怎么活下来的?$我当时喝醉了. +armorMod.mod.Revive.wild_p=§8爆炸 §c反应 §8局部 §c装甲 +armorMod.mod.Revive.fabsols_vodka=新闻:$§c§l一男子在极度愤怒的情况下拒绝死亡.$ $§o"我没这功夫去死" 该名当地$男子在把灾难本身在物理层面上的体现$撕成两半后如是说道. +armorMod.mod.Sensor=有危险气体在附近时发出蜂鸣音$在背包中或装配于装甲时工作$ (检测气体) +armorMod.mod.Serum=解除中毒效果并替换为力量效果$ (解除中毒效果并替换为力量效果) +armorMod.mod.Servos=装配于胸甲时: 给予 急迫 I / 伤害 +50%%$装配于护腿时: 移动速度 +25%% / 给予 跳跃提升 II$ (给予 急迫 I / 伤害 +50%%)$ (移动速度 +25%% / 给予 跳跃提升p II) +armorMod.mod.Servos.desh=装配于胸甲时: 给予 急迫 III / 伤害 +150%%$装配于护腿时: 移动速度d +50%% / 给予 跳跃提升 III$ (给予 急迫 III / 伤害e +150%%)$ (移动速度 +50%% / 给予 跳跃提升 III) +armorMod.mod.Shackles=我让你说话时,你才能说话.$我让你吃时,你才能吃.$我让你死时,你才能死.$∞ 条额外生命$ (∞ 条额外生命) +armorMod.mod.Tesla=电击附近的生物 (需要全套电动套装)$ (电击附近的生物) +armorMod.mod.TwoKick="我还有更糟的"$ (Shotgun punches) +armorMod.mod.V1=鲜血即是燃料$ (鲜血即是燃料) +armorMod.mod.WD40=-80%%对盔甲的耐久损耗度, +2 生命值$ (-80%% 对盔甲的耐久损耗度 / +2 生命值) +armorMod.type.boots=靴子配件 +armorMod.type.chestplate=胸甲配件 armorMod.type.cladding=覆层 armorMod.type.helmet=头盔 armorMod.type.insert=插板 @@ -205,11 +243,12 @@ book.error.page5=§l错误类型:§r "错误_错误区段" §l描述:§r 粒子 book.error.title6=错误 0x06 [分析室过长] book.error.page6=§l错误类型:§r "错误_分析室过长" §l描述:§r 粒子已通过三个以上所需的有效分析室段。 §l修复方式:§r 确保环形加速器的分析室长度正好为3个方块, 直线加速器的分析室长度至少为2个方块。 还要检查粒子是否未通过分支或 环形加速器中的多个分析室。 book.error.title7=错误 0x07 [分析室过短] -book.error.page7=§l错误类型:§r "错误_分析室过短" §l描述:§r 粒子已离开分析室,尽管不符合长度要求。 §l修复方式:§r 确保环形加速器上的分析室正好有3个方块长。 有效的分析段没有线圈,镀层完全由分析室壁/窗组成。 带有线圈的分析室被视为规则段。 -book.error.title8=错误 0x08 [二极管方向错误] -book.error.page8=§l错误类型:§r "错误_二极管方向错误" §l描述:§r 该粒子与肖特基粒子二极管的非输入侧碰撞。§l修复方式:§r 检查二极管的配置是否正确。 粒子只能从带有绿色向内箭头的侧面进入二极管。 -book.error.title9=错误 0x09 [多处分支] -book.error.page9=§l错误类型:§r "错误_多处分支" §l描述:§r 粒子到达具有多个出口的转弯处。§l修复方式:§r 如果你的对撞机是正常的,检查所有需要的线圈是否都存在(即线圈中没有缺漏)。如果转弯处打算进行分支,则需要正确放置的肖特基粒子二极管。 +book.error.page7=§l错误名称:§r "错误_分析室过短" §l说明:§r 粒子离开了分析室,尽管分析室不符合长度要求. §l解决方法:§r 确保环型加速器上的分析室正好有3格长. 有效的分析室部分没有线圈, 镀层完全由分析室壁/窗组成. 带有线圈的分析室会被视为普通加速部分. +book.error.title8=错误 0x08 [粒子与肖特基粒子二极管碰撞] +book.error.page8=§l错误名称:§r "错误_粒子与肖特基粒子二极管碰撞" §l说明:§r 该粒子与肖特基粒子二极管的非输入侧碰撞. §l解决方法:§r 检查二极管的方向配置是否正确. 粒子只能从带有绿色向内箭头的侧面进入二极管. +book.error.title9=错误 0x09 [转弯处分岔] +book.error.page9=§l错误名称:§r "错误_转弯处分岔" §l说明:§r 粒子已到达具有多个出口的转弯处. §l解决方法:§r 如果你的拐弯处是正常的, 检查所有需要的线圈是否都存在(即线圈层中没有孔). 如果转弯处打算进行分支, 则需要正确配置的肖特基粒子二极管. + book.rbmk.cover=$我的第一个$RBMK石墨式反应堆:$建造一个$反应堆$的基础知识 book.rbmk.title1=介绍 book.rbmk.page1=§lRBMK石墨式反应堆§r是一个完全模块化的核反应堆. 与大多数其他反应堆不同的是, 该反应堆没有"多方块结构核心"和尺寸上的限制, 而反应堆的性能和效率仅取决于你是如何建造它的, 以及各个组件如何相互作用. @@ -221,15 +260,15 @@ book.rbmk.title4=控制棒 book.rbmk.page4=反应堆中的 §l控制棒§r 将减少中子通过它的数量. 完全插入时, 它会阻挡所有中子; 当插入一半时, 它只会阻挡一半中子. 控制棒用于调节反应堆的活跃状态和使其关闭. book.rbmk.title5=控制棒 - 使用 book.rbmk.title5.scale=0.9 -book.rbmk.page5=当前控制棒插入的程度将显示在GUI的中心. 边的彩色按钮将把控制棒添加到不同的颜色组中, 这对于在 §lRBMK石墨式反应堆§r 控制台上快速选择屏幕上不同区域的控制棒非常有用. 右侧的按钮允许您以每次25%的增量手动插入. +book.rbmk.page5=当前控制棒插入的程度将显示在GUI的中心. 边的彩色按钮将把控制棒添加到不同的颜色组中, 这对于在 §lRBMK石墨式反应堆§r 控制台上快速选择屏幕上不同区域的控制棒非常有用. 右侧的按钮允许您以每次25%%的增量手动插入. book.rbmk.title6=自动控制棒 book.rbmk.page6=§L自动控制棒§r 与常规控制棒几乎相同, 但它们不能手动调整, 而是根据当前温度来调整控制棒插入的程度. 使用哪种功能, 在多少的温度插入多少的深度必须被事先设定好. book.rbmk.title7=蒸汽管道 book.rbmk.page7=反应堆中的 §l蒸汽管道§r 是唯一能有效降低反应堆热水平的组件. 如果一个蒸汽管道组件的沸点高于其设定的蒸汽类型的沸点, 那么它将试图消耗尽可能多的水 并产生尽可能多的蒸汽来冷却到沸点以下. book.rbmk.title8=碳化钨中子反射器 -book.rbmk.page8=反应堆中的 §l碳化钨中子反射器§r 将阻止中子的通过, 相反,中子将被反射回它们来自的燃料棒上. 这对于使用中子是有用的, 否则这些中子一旦离开反应堆就会被浪费掉. +book.rbmk.page8=反应堆中的 §l碳化钨中子反射器§r 将阻止中子的通过, 相反, 中子将被反射回它们来自的燃料棒上. 这对于使用中子是有用的, 否则这些中子一旦离开反应堆就会被浪费掉. book.rbmk.title9=硼中子吸收器 -book.rbmk.page9=§l硼中子吸收器§r 只是阻挡中子. 被吸收的中子不会产生热量,会被有效地吸收. 这有助于防止燃料棒发生过度反应从而超出临界值. +book.rbmk.page9=§l硼中子吸收器§r 只是阻挡中子. 被吸收的中子不会产生热量, 会被有效地吸收. 这有助于防止燃料棒发生过度反应从而超出临界值. book.rbmk.title10=石墨慢化剂 book.rbmk.page10=§l石墨慢化剂§r 把穿过它的快中子转换成慢中子. 大多数核燃料反应释放出快中子, 而引起裂变需要慢中子, 所以强烈建议使用慢化剂. book.rbmk.title11=结构柱 @@ -237,180 +276,164 @@ book.rbmk.page11=§l结构柱§r 对中子没有任何影响也没有任何特 book.rbmk.title12=控制台 book.rbmk.page12=§lRBMK石墨式反应堆控制台§r 允许你远程控制反应堆. 使用 §lRBMK石墨式反应堆连接装置记录反应堆§r 然后潜行右击控制台就能把反应堆和控制台连接起来. 一个控制台只能控制15x15个组件, 对于大型反应堆可以使用多个控制台. book.rbmk.title13=控制台的使用 -book.rbmk.page13=单击屏幕上的组件将选择或取消选择它们. 使用彩色按钮,可以快速选择该颜色组中的所有控制棒. 按钮“A”将选择所有控制棒, “X”将取消选择所有控制棒. +book.rbmk.page13=单击屏幕上的组件将选择或取消选择它们. 使用彩色按钮, 可以快速选择该颜色组中的所有控制棒. 按钮“A”将选择所有控制棒, “X”将取消选择所有控制棒. book.rbmk.page14=在绿色框中输入一个介于0和100之间的数字, 然后按下旁边的按钮, 将所有选定的控制棒拔出程度设置到该位置. 按钮“AZ-5”将使所有控制棒完全插入. book.rbmk.title15=核燃料 book.rbmk.page15= §l核燃料§r 的反应取决于许多因素. 主要是 §l核燃料强度§r, §l氙中毒程度§r 和接收到的 §l中子数量§r. 氙元素会在核燃料的中子含量较低时积聚起来, 并在正常运行时燃烧殆尽. 中子的效率取决于其类型, 大多数核燃料 §l用慢中子轰击来裂变效果最好§r. book.rbmk.title16=熔毁 book.rbmk.page16=§4§l尽量避免发生, 你不会想让这样一场核灾难发生在你的存档或服务器里的. -book.starter.cover=重建$社会的实业家$指南 + +book.starter.cover=重建工业社会的$一本实业家$的指南 book.starter.title1=介绍 -book.starter.page1=如果你正在读这篇文章,很可能社会已经因这样或 那样的方式完全崩溃了。政府、国家和权威是过去的概念, 以及文明生活的所有便利设施。因此,本指南将 告诉您如何通过重新创造过去的行业和技术 来改善自己的生活,从而改变这种状况。 -book.starter.title2=煤和芥子气 -book.starter.page2=虽然无法预测世界末日后的实际状态, 但目前形式的战争和工业不太可能没有结束。 为了保护自己的肺部,一种有效且廉价的方法是 在§L布§r上小便,制作一个§L防毒面具§r, 以使你免受煤尘或芥子气的伤害. -book.starter.title3=铁砧和锻压机 -book.starter.page3=开始工业振兴的精髓是§l砧§r和§l火力锻压机§r. 铁砧将允许您手动组合早期机械,如组装机, 而火力锻压机将允许您制作 无法用铁砧制作的板材、电线和电路. +book.starter.page1=如果你读到这篇文章, 那么很有可能社会已经以这样或那样的方式完全崩溃了. 政府,国家和权威已经是过去的概念——以及文明生活 的所有便利设施. 因此,本指南将告诉你如何通过重新创造过去的行业和 科学技术 来改善你自己的生活. +book.starter.title2=煤尘与芥子气 +book.starter.page2=虽然不可能预测世界在后世界末日时代的实际状态, 但目前形式的战争和工业活动不太可能没有结束. 为了保护自己的肺部, 一种有效且廉价的方法是在一些 §l布料§r上小便来制作一个 §l战壕版粗制防护面罩§r, 以保护你免受煤尘或芥子气的伤害, 以防你遇到其中任何一种情况. +book.starter.title3=砧与锻压机 +book.starter.page3=开始你的工业振兴的核心是一个§lE合前期的机械, 如组装机, 而火力锻压机将允许您制作无法用砧锤击在一起的板材, 金属线和电路. book.starter.title4=模板 -book.starter.page4=为了将金属冲压成有用的 形状、组装机械和执行 化学反应,您需要创建 一个§L机器模板文件夹§r, 以创建右侧显示的 各种锻模以及配方。 -book.starter.title5=废墟探索 -book.starter.page5=根据最初的世界末日事件对世界现有结构的影响程度, 有可能直接从中抢救出许多有用的材料和机器。 钢铁等金属合金、电路等部件,甚至核电站的 裂变材料都可能在等着你。 然而,要小心某些废墟,因为那里可能潜伏着过度的危险, 就像草丛中的蛇一样; 等待着用辐射、陷阱或无法形容的恐怖袭击你... +book.starter.page4=为了将金属冲压成有用的 形状,组装成机器并进行化 学反应,您需要创建一个 §l机器模板文件夹§r来制造右 侧显示的各种冲压和模板. +book.starter.title5=拾荒 +book.starter.page5=根据最初的世界末日事件对世界现有建筑的破坏程度, 你有可能直接从中回收许多有用的材料和机器. 钢铁等金属合金, 电路等零件, 甚至核电站的可裂变物质都可能在等着你. 然而, 要小心某些废墟, 因为那里可能潜伏着过度的危险, 就像草丛中的蛇一样; 等着用辐射, 陷阱或其他无法形容的恐怖袭击你... book.starter.title6=早期机械 -book.starter.page6a=您应首先装配的两台机器是§l高炉§r和§l装配机§r. 前者允许您制造合金,如§L钢§r、§l工业级铜§r和§l高级合金§r; 你需要将这些金属用于机器的机身、 电路的布线、高级电磁铁等. -book.starter.page6b=汇编程序将用于创建本指南中描述的几乎所有其他机器. 您需要一个电源,如§L火力§r§L发电机§r或§L太阳能锅炉§r. -book.starter.page7a=§l粉碎机§r以及一对粉碎机刀片将会非常有用, 能将大多数矿石粉碎成可熔炼的粉末,使其产量提高一倍. 这些粉末对于开始为各种机器制作电路也至关重要, 例如§l增强电路§r和§l超频电路§r。 -book.starter.page7b=使用您的新机器,您可以创建§L化工厂§r, 用于合成更好的电路、混凝土或进行石化产品加工等。 +book.starter.page6a=您应该首先组装的两台机器是§l高炉§r 和§l装配机§r. 前者将允许您制造合金, 如§l钢§r, §l紫铜§r, 和§l高级合金§r; 你需要将这些金属用于机器的机身, 电路的布线, 先进的电磁铁等等. +book.starter.page6b=装配机将用于制造本指南中描述的几乎所有其他机器. 您需要一个电源, 如§l火力§r§l发电机§r或§l太阳能锅炉§r. +book.starter.page7a=§l粉碎机§r以及一对粉碎机刀片将非常有用, 可以通过粉碎成可冶炼的粉末, 将大多数矿石的产量提高一倍. 这些粉末对于开始为合成各种机器而制造的电路 也至关重要,例如§l增强§r和§l超频§r电路. +book.starter.page7b=使用您的新机器, 您可以组装出§l化工装置§r, 用于合成更好的电路, 混凝土, 石化产品等. book.starter.title8=黑金 -book.starter.page8a=使用§l石油§l储层§r§l探测仪§r, 您可以通过测量一个区域 来发现地下的油岩以 放置§l石油钻机§r或 §l钻油塔§r来开采 记住,石油储备会随着时间 的推移而耗尽 +book.starter.page8a=使用§l石油§l储层§r§l探测仪§r, 您可以通过测量一个区域 来发现地下石油沉积物以 放置§l梁式抽油机§r或 §l石油钻井塔§r. 记住,石油储备会随着时间 的推移而耗尽. book.starter.page8b=在§l炼油厂§r中提炼和分离石油 成分之前,你必须在§l锅炉§r中将 石油加热至300°C. -book.starter.title9=石油化工产品 -book.starter.page9=使用§l化工厂§r, §l分馏§r§l塔§r和§l催化裂化§r§l塔§r, 你可以将分离出的油转化为各种有用的产品. §l催化裂化§r§l塔§r, 可以将分离出的油转化为各种有用的产品。 例如:§l聚合物§r或§l电木§r, 耐用又柔性的塑料; §lDesh§r, 一种非常耐用和耐热的稀土金属合金; §l固体燃料§r, 可燃烧获取能量; 甚至是§l液体燃料§r, 比如§l汽油§r, §l柴油§r, §l煤油§r等等。 -book.starter.title10=先进的机械 -book.starter.page10=通过一套成熟的石油加工系统,您可以制造§l离心机§r, 这将使矿石的产量增加三倍; §l矿物§l结晶机§r将 矿石结晶后,产量将进一步提高; 以及§lSILEX同位素激光分离室+§lFEL§r, 这两个现代工程的奇迹可以轻松地分离材料的同位素. 你需要更多的能量来驱动这些; 可通过§l柴油发电机§r,§l工业发电机§r, 甚至核反应堆等来源获取更多的能量。 -book.starter.title11=特殊地层 -book.starter.page11=在你行走的地面之下,有几个 自然形成的§l岩层§r,或者说特殊的 矿层和岩层。 §l片岩地层§r是蓝色的含锂层, 其中有铀、铁、铜、石棉和其他矿石 可供你使用。 §l深板岩层§r含有大量稀有矿物, 如§l锆§r、§l硼§r和§l朱砂§r等, 但你需要炸药才能采集 +book.starter.title9=石油化工 +book.starter.page9=使用§l化工厂§r, §l分馏§r§l塔§r和§l催化裂化§r§l塔§r, 你可以将分离出的油转化为各种有用的产品. §l催化裂化§r§l塔§r, 可以将分离出的油转化为各种有用的产品. 例如:§l聚合物§r或§l电木§r, 耐用又柔性的塑料; §l德什§r, 一种非常耐用和耐热的稀土金属合金; §l固体燃料§r, 可燃烧获取能量; 甚至是§l液体燃料§r, 比如§l汽油§r, §l柴油§r, §l煤油§r等等. +book.starter.title10=高级机械 +book.starter.page10=通过一套成熟的石油加工系统,您可以制造§l离心机§r, 这将使矿石的产量增加三倍; §l矿物§l结晶机§r将 矿石结晶后,产量将进一步提高; 以及§lSILEX同位素激光分离室+§lFEL§r, 这两个现代工程的奇迹可以轻松地分离材料的同位素. 你需要更多的能量来驱动这些; 可通过§l柴油发电机§r,§l工业发电机§r, 甚至核反应堆等来源获取更多的能量. +book.starter.title11=特殊岩层 +book.starter.page11=在你行走的地面之下,有几个自 然形成的§l岩层§r,或者说特殊的矿 层和岩层. §l片岩地层§r是蓝色的含锂层,填充 有铀,铁,铜,石棉和其他矿石可供 你自己使用. §l深板岩层§r含有大量稀有矿物, 如§l锆§r和§l硼§r,但 需要炸药才能采集. book.starter.title12=辐射 -book.starter.page12a=本书其余部分将讨论与辐射有关的问题。 为了您和他人的安全,我将提供一些建议以说明如何缓解和处理暴露于此的风险。 -book.starter.page12b=充分暴露在辐射中会导致身体伤害. 第一步是预防; 一定要限制接触,并穿戴防护装备,如§l防辐射套装§r, 或在衣服或盔甲上加装§l防辐射覆层/涂料§r; 你也可以服用§lRad-X防辐射药§r来限制你的辐射量. 多亏了现代医学,第二步可以在必要时移除; 例如,§l玩家§l去污器§r将缓慢减少身体吸收的辐射. §l消辐宁§r还可以用作暴露后预防,快速有效地逆转 电离辐射对身体造成的损害。 +book.starter.page12a=§o本书其余部分将讨论与§o辐射有关的问题. 为了您和其他人的安全,我将提供§o一些建议以说明如何缓解和处理暴露于此的风险.§r +book.starter.page12b=充分暴露在辐射中会导致身体伤害. 第一步是预防; 一定要限制接触,并穿戴防护装备,如§l防辐射套装§r, 或在衣服或盔甲上加装§l防辐射覆层/涂料§r; 你也可以服用§lRad-X防辐射药§r来限制你的辐射量. 多亏了现代医学,第二步可以在必要时移除; 例如,§l玩家§l去污器§r将缓慢减少身体吸收的辐射. §l消辐宁§r还可以用作暴露后预防,快速有效地逆转 电离辐射对身体造成的损害. book.starter.title13=铀浓缩 -book.starter.page13=核反应堆的燃料有几个简单的选择; 例如,§l天然铀§r或§l钍燃料§r。 然而, 如果你寻找更强力的东西,你可以设置两台§l气体离心机§r 的浓缩级联,用剩余的§l铀-238§r生产§l铀燃料§r. 你必须将天然铀转化为§l黄饼§r,然后是§l六氟化§l铀§r. +book.starter.page13=核反应堆的燃料有几个简单的选择; 例如,§l天然铀§r或§l钍燃料§r. 然而, 如果你寻找更强力的东西,你可以设置两台§l气体离心机§r 的浓缩级联,用剩余的§l铀-238§r生产§l铀燃料§r. 你必须将天然铀转化为§l黄饼§r,然后是§l六氟化§l铀§r. book.starter.title14=芝加哥反应堆 -book.starter.page14=或者,您可以使用§l芝加哥反应堆§r从天然铀中增殖出 §l反应堆级钚§r,这是一种更强大的燃料. 通过堆叠石墨块并在其中钻孔,您可以将燃料棒插入钚 和中子源棒,例如§l镭226-铍中子源§r,以开始反应. 确保测试你的设计;为防止过热, 可能需要隔开或限制石墨块的数量。 +book.starter.page14=或者,您可以使用§l芝加哥反应堆§r从天然铀中增殖出 §l反应堆级钚§r,这是一种更强大的燃料. 通过堆叠石墨块并在其中钻孔,您可以将燃料棒插入钚 和中子源棒,例如§l镭226-铍中子源§r,以开始反应. 确保测试你的设计;为防止过热, 可能需要隔开或限制石墨块的数量. book.starter.title15=ZIRNOX锆诺克斯 -book.starter.page15=最终,你可以制造你的第一个§o真正§r的能源来源: §lZIRNOX§r核反应堆. 与其他能量源相比,核反应堆需要更多的准备; 首先,你需要有一个强悍的水源,比如§l重型§l无限水罐§r. 要从反应堆堆芯中排出热量并将水煮沸成蒸汽, 你需要足够的§l二氧化碳§r. 你只需要足够的压力, 不要让压力§o太§r大! 你还需要三个蒸汽涡轮机来利用产生的蒸汽来制造能量; §l蒸汽§l轮机§r或§l大型工业§l汽轮机§r将是最佳的. 最后,需要一个§l冷凝器§r或§l冷却塔§r来将残余蒸汽冷凝成水, 在这个冷却回路中可以将其排空或回收。 +book.starter.page15=最终,你可以制造你的第一个§o真正§r的能源来源: §lZIRNOX§r核反应堆. 与其他能量源相比,核反应堆需要更多的准备; 首先,你需要有一个强悍的水源,比如§l重型§l无限水罐§r. 要从反应堆堆芯中排出热量并将水煮沸成蒸汽, 你需要足够的§l二氧化碳§r. 你只需要足够的压力, 不要让压力§o太§r大! 你还需要三个蒸汽涡轮机来利用产生的蒸汽来制造能量; §l蒸汽§l轮机§r或§l大型工业§l汽轮机§r将是最佳的. 最后,需要一个§l冷凝器§r或§l冷却塔§r来将残余蒸汽冷凝成水, 在这个冷却回路中可以将其排空或回收. book.starter.title16=结论 book.starter.page16=如果你已经走到了这一步,你已经走在重建文明大道上了. 你已经成功地用核能, 石油化工等重新制造了世界末日前的那些先进机器. 我不知道你将如何利用这些新发现的科技, 但我个人希望你利用这些优势是为了自己和他人的利益 - 或者至少是为了自卫. 再见! book.starter.title18=关于作者 -book.starter.page18=v?r只是一个被困在"传声头像"的§o《一生一次》§r中的 灰色虚空中太久的人. 有一次, 他发现了一扇工作室的门, 但令他沮丧的是, 他发现那是一个纸板剪出来的 -#book.rbmk.cover=HOW 2 RBMK:$The Basics$of Reactor$Construction -#book.rbmk.title1=Introduction -#book.rbmk.page1=The §lRBMK§r is a fully modular nuclear reactor. Unlike most other reactors, there is no "core", and no size limitations, rather, the behavior and efficiency of the reactor comes from how it is built and how the different pieces interact with each other. -#book.rbmk.title2=Heat -#book.rbmk.page2=As the reactor operates, it will generate §lheat§r. Heat will spread between parts, slowly decreasing in the process. The goal is to produce as much heat as possible without melting the reactor, and to move that heat to a §lsteam channel§r which cools the reactor and produces steam. -#book.rbmk.title3=Fuel Rod -#book.rbmk.page3=The §lfuel rod§r will capture neutron flux, causing the fuel inside the fuel rod to react, giving off neutrons in the process. Neutrons are released in all four cardinal directions with a maximum range of 5 blocks. The amount of neutrons released depends on the §lfuel§r used. -#book.rbmk.title4=Control Rod -#book.rbmk.page4=The §lcontrol rod§r will decrease the amount of neutrons passing though it. Fully inserted, it will block all neutrons, at half insertion, it will only block half. Control rods are used to regulate the reactor's activity and to turn it off. -#book.rbmk.title5=Control Rod - Usage -#book.rbmk.page5=The center of the GUI will display the current rod insertion. The colored buttons on the left will add a control rod to a color group, which is useful to quickly select grouped rods from the §lRBMK console§r. The buttons on the right allow for manual insertion in increments of 25%%. -#book.rbmk.title6=Automatic Control Rod -#book.rbmk.page6=§lAutomatic control rods§r function nearly identical to regular control rods, but they cannot be configured manually, instead they will adjust the rod position based on the current temperature. What function to use and how deep to insert at what temperature has to be defined first. -#book.rbmk.title7=Steam Channel -#book.rbmk.page7=The §lsteam channel§r is the only part that will actively reduce the reactor's heat level. If the component's temperature exceeds the boiling point of the set steam type, it will try to consume as much water and produce as much steam as needed to cool back below the boiling point. -#book.rbmk.title8=Neutron Reflector -#book.rbmk.page8=The §lneutron reflector§r will block neutrons from passing it, instead the neutrons will be reflected back at the fuel rod they came from. This is useful for utilizing neutrons that would otherwise be wasted by simply exiting the reactor. -#book.rbmk.title9=Neutron Absorber -#book.rbmk.page9=The §lneutron absorber§r will simply block neutrons. Neutrons absorbed will not generate heat and be effectively voided. This is useful to prevent fuel rods from reacting that would otherwise be in range. -#book.rbmk.title10=Graphite Moderator -#book.rbmk.page10=The §lgraphite moderator§r will convert fast neutrons passing through it into slow neutrons. Most fuels fission into fast neutrons while needing slow neutrons to split, so using moderators is strongly recommended. -#book.rbmk.title11=Structural Column -#book.rbmk.page11=The §lstructural column§r will not interfere with neutrons, nor does it have special uses. It is recommended to fill the reactor with structural columns where no other parts will be, because structural columns are capable of transporting heat. -#book.rbmk.title12=Console -#book.rbmk.page12=The §lRBMK console§r lets you control the reactor from afar. Using the §lRBMK§r §lconsole linking device§r on an RBMK part and then the console will link the reactor to the console. The console can only manage 15x15 parts, for larger reactors you might want to use multiple consoles. -#book.rbmk.title13=Console Usage -#book.rbmk.page13=Clicking on the parts will select and deselect them. Using the colored buttons, you can quickly select all control rods of that color group. Button 'A' will select all control rods, 'X' will deselect all. -#book.rbmk.page14=Entering a number 0-100 in the green box and then hitting the button next to it will set all selected control rods to this position. Button 'AZ-5' will cause all control rods to fully insert. -#book.rbmk.title15=Fuel -#book.rbmk.page15=The §lfuel§r's reactivity is based on multiple factors. The main ones are the §lenrichment§r, §lxenon poison§r and the amount of incoming §lneutrons§r. Xenon builds up when the fuel receives few neutrons and burns away during normal operation. The effectivity of neutrons depends on the type, most fuels §lsplit best with slow neutrons§r. -#book.rbmk.title16=Meltdown -#book.rbmk.page16=§4§lAvoid. -book_lore.author=由%s +book.starter.page18=vær只是一个被困在"传声头像"的§o《一生一次》§r中的 灰色虚空中太久的人. 有一次, 他发现了一扇工作室的门, 但令他沮丧的是, 他发现那是一个纸板剪出来的. + + +book_lore.author= %s 著 book_lore.test.name=测试 book_lore.test.author=那个家伙 -book_lore.test.page.0=>hello anons before i begin let me clarify that i'm not gay. >Be me >This night >18 > At hanging out with my best friend with my parents gone for a few days >We've been best friends for a year now >Been drinking a bit and playing lots of video games and ordered a pizza >We were having a blast >At a certain point in the night like around 9:00 he makes a really funny joke that I don't remember but I know that it made us both laugh really hard > With out thinking I brush my right hand through his semi-curly black hair and call him a funny boy >He blushes >I realize I'm feeling flustered >We're kinda close >All of the sudden he kisses me and for some reason I kiss him back >We make love >Cuddle together and fall asleep >Wake up in the middle of the night with his head snuggled up on my chest and neck area >It feels nice but I'm not a homosexual -book_lore.test.page.1=>你好,在我开始之前,让我澄清我不是同性恋。>做我>今天晚上>18>和我最好的朋友和我的父母出去玩了几天>我们已经是最好的朋友一年了>喝了点酒,玩了很多电子游戏,还点了一份披萨>我们玩得很开心>在晚上的某个时候,比如9点左右,他开了一个非常有趣的玩笑,我不记得了,但我知道这让我们俩都笑得很厉害>没有我想我用右手摸了摸他那半卷曲的黑发,然后叫他一个有趣的男孩>他脸红了>我意识到我很慌张>我们有点亲密>突然他吻了我,出于某种原因我又吻了他>我们做爱>拥抱在一起睡着了>半夜醒来时,他的头贴在我的胸部和颈部>感觉很好,但我不是同性恋 -book_lore.test.page.2=他在我怀里睡着时,我正在打字。我怎么才能让我最好的朋友失望呢?我不想成为[编辑]/b/ -book_lore.test.page.3=3 +book_lore.test.page.0=>在我开始之前,请允许我 澄清我不是同性恋. >做我 >今晚 >18点 >趁我的父母走了几天,和我最好 的朋友一起出去玩 >我们已经是一年的好朋友了 >喝了点酒,玩了很多电子游戏, 还点了一个比萨饼 >我们玩得很开心 >在晚上的某个时刻,比如9点 左右,他开了一个非常有趣的 玩笑,我不记得了, 但我知道这让我们都笑得很开心 > 我不假思索地用右手 +book_lore.test.page.1=拂过他半卷曲的黑发, 说他真是一个有趣的男孩 >他脸红了 >我意识到我很慌乱 >我们有点太亲近了 >突然他吻了我,出于某种原因 我回吻了他 >我们做爱了 >拥抱在一起睡着了 >半夜醒来,他的头紧贴在我的 胸口和脖子上 >这感觉很好, 但我仍是个钢铁直男 +book_lore.test.page.2=我在他在我怀里睡着的时候 写了这个. 我怎么能让我最好的 朋友失望呢? 我可不想成为一个 [弱智] /b/ +book_lore.test.page.3=4 book_lore.test.page.4=4 + book_lore.book_iodine.name=笔记 book_lore.book_iodine.author=戴夫 -book_lore.book_iodine.page.0=alright you will not believe this, but old man weathervane finally managed to show up again since he left two weeks ago and what's more surprising is the fact that he actually decided to spill the beans on what they were doing in the canyon: -book_lore.book_iodine.page.1=alright you will not believe this, but old man weathervane finally managed to show up again since he left two weeks ago and what's more surprising is the fact that he actually decided to spill the beans on what they were doing in the canyon: -book_lore.book_iodine.page.2=apparently the morons from R&D discovered a compound that is mostly inorganic, pretty much like a toxin in nature, but get this: the dying cells will reproduce said toxin and excrete it through the skin, creating an aerosol that is highly contagious. +book_lore.book_iodine.page.0=好吧,你不会相信的, 但自从两周前离开后,这位老人终于再次出现了。更令人惊讶的是,他竟然决定把他们在峡谷里的所作所为泄露出去: +book_lore.book_iodine.page.1=显然,研发部门的白痴们发现了一种主要是无机的化合物, 很像自然界中的毒素, 但要记住:濒死的细胞会繁殖毒素并通过皮肤排出, 产生一种具有高度传染性的气溶胶. +book_lore.book_iodine.page.2=就像病毒一样, 但不是病毒. 它的成分很奇怪, 你可以把它放在任何家用瓶子里,但你必须把顺序弄对. 博士告诉我第一种成分是粉末状的碘晶体,要放进槽 %d + book_lore.book_phosphorous.name=笔记 book_lore.book_phosphorous.author=戴夫 -book_lore.book_phosphorous.page.0=heyo, it's me again. i assume you got my last memo, the doc wasn't too happy about it. i'll have to do this quick, the dunderheads from R&D are currently moaning again, probably over money. again. anyway, doc weathervane found that the second -book_lore.book_phosphorous.page.1=heyo, it's me again. i assume you got my last memo, the doc wasn't too happy about it. i'll have to do this quick, the dunderheads from R&D are currently moaning again, probably over money. again. anyway, doc weathervane found that the second +book_lore.book_phosphorous.page.0=嘿,又是我. 我想你收到了我最后的备忘录,博士对此不太高兴. 我得动作快点, 研发部门的笨蛋们现在又在抱怨了, 可能是因为钱, 又一次. 无论如何, 风向标博士发现第二种 +book_lore.book_phosphorous.page.1=成分是红磷, 必须将其混入 %d槽中 + book_lore.book_dust.name=笔记 book_lore.book_dust.author=戴夫 -book_lore.book_dust.page.0=the doc was furious when he found out that the R&D dorks kept the one remaining sample, ranting about gross negligence this and a doomsday scenario that. i told him to chill for a minute, getting all worked up isn't good for his blood pressure, not -book_lore.book_dust.page.1=the doc was furious when he found out that the R&D dorks kept the one remaining sample, ranting about gross negligence this and a doomsday scenario that. i told him to chill for a minute, getting all worked up isn't good for his blood pressure, not -book_lore.book_dust.page.2=that he has much blood left to begin with. one of the R&D morons slipped some more info into last week's circular, they call their little concoction \"MKU\" whatever that means, and that it contains actual household lint. can you believe that? one of the most +book_lore.book_dust.page.0=当博士发现研发人员保留了剩下的一个样本时,他大发雷霆, 大喊大叫说这是严重的疏忽,简直是世界末日的剧本. 我告诉他冷静一分钟, 紧张起来对他的血压没有好处, 并 +book_lore.book_dust.page.1=不是说他还剩下很多血. 一个研发部的白痴在上周的通告中透露了更多信息, 他们称他们那宝贝混合物 \"MKU\" ,鬼知道这是啥意思, 它含有货真价实的家用棉绒. 你能相信吗? 这是他们 +book_lore.book_dust.page.2=最危险的发明之一而它含有灰尘. 奇怪的是,他们还提到它会进入槽 %d + book_lore.book_mercury.name=笔记 book_lore.book_mercury.author=戴夫 -book_lore.book_mercury.page.0=well that settles that. not counting the vomitting blood part, the toxicological report mostly resembles that of mercury poisoning. why? because our little mix also contains mercury! i just wonder where all that stuff comes from when being -book_lore.book_mercury.page.1=well that settles that. not counting the vomitting blood part, the toxicological report mostly resembles that of mercury poisoning. why? because our little mix also contains mercury! i just wonder where all that stuff comes from when being +book_lore.book_mercury.page.0=好吧,这就说得通了. 不包括呕吐的血液部分, 毒理学报告表明其主要类似于汞中毒. 为什么? 因为我们的小混合物也含有汞! 我只是想知道当这些东西 +book_lore.book_mercury.page.1=被身体复制时,它们从哪来? 不管怎样,水银要进入槽 %d + book_lore.book_flower.name=笔记 book_lore.book_flower.author=戴夫 -book_lore.book_flower.page.0=remember when i mentioned in my first memo that the compound is mostly anorganic? well guess what, the old man shared the fourth ingredient: ipomoea nil, a genus of flower. morning glory! it might be due to its low sulfur content, whatever might be the case, -book_lore.book_flower.page.1=remember when i mentioned in my first memo that the compound is mostly anorganic? well guess what, the old man shared the fourth ingredient: ipomoea nil, a genus of flower. morning glory! it might be due to its low sulfur content, whatever might be the case, +book_lore.book_flower.page.0=还记得我在第一份备忘录中提到的化合物大多是无机的吗? 好吧,你猜怎么着, 那个老家伙分享了第四种配料: 牵牛花, 花的一属. 就是喇叭花! 可能是因为它的硫含量低, 不管是什么情况, +book_lore.book_flower.page.1=其他花就是不起作用. 牵牛花要放入槽 %d + book_lore.book_syringe.name=笔记 book_lore.book_syringe.author=戴夫 -book_lore.book_syringe.page.0=a little addendum to my fifth message, obviously you have to store this MKU stuff in a container. the R&D nuts used regular metal syringes that they got from medical. surplus ware i presume, they got thousands of needles just lying around. the metal -book_lore.book_syringe.page.1=a little addendum to my fifth message, obviously you have to store this MKU stuff in a container. the R&D nuts used regular metal syringes that they got from medical. surplus ware i presume, they got thousands of needles just lying around. the metal +book_lore.book_syringe.page.0=我第五条留言的一个小附录, 显然你必须把这些叫MKU的东西放在一个容器里. 研发人员使用的是从医疗机构购买的普通金属注射器. 我猜是多余的, 他们有成千上万的针头. +book_lore.book_syringe.page.1=金属注射器要放入槽 %d + book_lore.resignation_note.name=辞职信 book_lore.resignation_note.author=科斯马 -book_lore.resignation_note.page.0=Management downsized our department again yesterday. Those idiots only have themselves to blame, I don't know what they were expecting after that fiasco. Who the hell leaks that sort of information? We're losing millions and -book_lore.resignation_note.page.1=管理层昨天又对我们的部门进行裁员了。那群白痴要怪只能怪他们自己,我都不知道他们在那场惨败后还在期待什么。到底是谁他妈泄露了那种程度的信息? -book_lore.resignation_note.page.2=我们损失了几百万,而且现在失业的还是爷。老子希望你们这帮混蛋最后能从你们的一堆问题中学到点教训然后给爷滚去自闭。 -book_lore.memo_stocks.name=公司内部备忘录 -book_lore.memo_stocks.page.0=投资者关系 - $ $ 最新季度报告提供的数据存在一些明显差异。财务部门做出一些调整是谨慎的,所以不必有任何担忧。 +book_lore.resignation_note.page.0=管理层昨天又缩减了我们的 部门.那帮白痴只能怪自己, 我不知道他们在那场惨败后 还在期待什么. 到底是谁泄露了这种信息? 我们损失了数百万 +book_lore.resignation_note.page.1=现在老子失业了. 我是那个被要求辞职的人. 我希望你们这帮混蛋们终于 从自己的错误中吸取点教训, 把那根棍子从屁股里拿出来. +book_lore.resignation_note.page.2=我星期五不会回来的. 发工资就行了. + +book_lore.memo_stocks.name=内部备忘录 +book_lore.memo_stocks.page.0=投资者关系部 - $ $ 最新季度报告中提供的数据 存在一些明显的差异. 让财务部门进行一些调整是 谨慎的做法, 所以不用有任何顾虑. + book_lore.memo_schrab_gsa.name=内部备忘录 -book_lore.memo_schrab_gsa.page.0=Contract Management - $ $ Legal has made a breakthrough with the DLA. They've awarded us with a 45 BILLION GSA Schedule for further procurement and research of saralloy. At current estimates, that would be at minimum -book_lore.memo_schrab_gsa.page.1=合同管理记录 - 法务部在与美国国防部后勤局的谈判中取得了突破。他们批准了450亿的联邦采购服务总署投资资金用于异变金属的采购与研究。 +book_lore.memo_schrab_gsa.page.0=合同管理部 - $ $ 法律部与DLA取得了突破. 他们授予我们450亿GSA计划, 用于进一步采购和研究saralloy. 根据目前的估计 +book_lore.memo_schrab_gsa.page.1=相关业务的利润至少为 40%%, 更不用说未来合同的可能性了. 由于保密性质,所有财务证据 都应保密. + book_lore.memo_schrab_rd.name=内部备忘录 -book_lore.memo_schrab_rd.page.0=Research & Development - $ $ Our main production method of saralloy has been through the new particle accelerator. However, the energy costs are exorbitantly high compared to the amount of output. -book_lore.memo_schrab_rd.page.1=研发 - 目前我们主要生产方法是使用新型粒子加速器。然而,与产出量相比,能源成本高得惊人。 -book_lore.memo_schrab_rd.page.2=然而,Schrabauer博士发现了一种全新的相互作用——暂称为“奇异轻子振荡”——该作用可以显著降低生产成本。通过一个目前未被完全理解的的过程,提供的电子被一种奇特的“魔力”转化为极高能量的光子。 -book_lore.memo_schrab_rd.page.3=这是许多已明确的粒子转换定律的极端例外。但初步实验证明,这些质子先转变为上下夸克,最终形成了异变金属。奇怪的是,原型机中需要钨与少量异变金属合金化所得到的合金。 +book_lore.memo_schrab_rd.page.0=研究与开发部 - $ $ 我们生产saralloy的主要方法是 使用新型粒子加速器. 然而, 与产量相比,能源成本过高. +book_lore.memo_schrab_rd.page.1=然而,Schrabauer博士发现 了一种新的相互作用, 称为 "奇异轻子振荡",可以 显著降低成本. 通过一个不完 全被理解的过程, 所提供的电 子通过一种 +book_lore.memo_schrab_rd.page.2=奇特的作用被转化为极高能 量的光子. 这是许多既定粒子 转化定律的极端例外, 但初步 实验证明,这些质子转变为 上下夸克,最终形成了 saralloy. +book_lore.memo_schrab_rd.page.3=奇怪的是,原型需要钨合金 和少量的 saralloy. 此外, 需要一个特殊的电容器来 抵消剩余的正电荷. + book_lore.memo_schrab_nuke.name=研究报告 book_lore.memo_schrab_nuke.author=Schrabauer博士 -book_lore.memo_schrab_nuke.page.0=Our most recent investigation led us to the effects of nuclear explosions on materials. Thanks to our grant money, we *accidentally* tested our theory on direct saralloy synthesis from uranium. -book_lore.memo_schrab_nuke.page.1=最近的调查使我们了解了核爆炸对材料造成的影响。多亏外界给我们的赠款,我们*意外地*测试了铀直接合成异变金属的理论。 -book_lore.memo_schrab_nuke.page.2=而此前我们只在回旋加速器中制作出异变金属。但这次,我们在对Everwerpen的地下拍摄中,在该地点的铀矿石中发现了微量的异变金属。其附近所有的纯金属铀则都发生了裂变。 +book_lore.memo_schrab_nuke.page.0=我们最近的调查使我们了 解了核爆炸对材料的影响. 感谢给我们的赠款, 我们 *意外地* 测试了 我们从铀直接合成 saralloy的理论. +book_lore.memo_schrab_nuke.page.1=以前只有我们的回旋加速 器真正创造了saralloy. 然而,在我们在埃弗沃彭 的地下拍摄中,在现场的 铀矿中发现了微量的saralloy. 附近所有纯金属铀都发生了 裂变. +book_lore.memo_schrab_nuke.page.2=因此,如果有足够多的铀 矿石集中在炸药周围, 甚至可能是一枚富含可裂 变材料的脏弹,人们可以 理论上制造出足够多的 saralloy来人工收集. + book_lore.bf_bomb_1.name=私人笔记 book_lore.bf_bomb_1.author=M. 波特 -book_lore.bf_bomb_1.page.0=Took long enough, but my transfer was accepted. Those new grads were already hard to handle, let alone all the unprofessionalism of the lead. $ Not all good news - this lab was withholding further detail, and I didn't need more chaos over another magic new discovery. -book_lore.bf_bomb_1.page.1=Of course that was the case. The alumni had their doubts (surprising, considering how bright-eyed they were), but my only... competent? colleague actually got his hands on the primer hand-out. Must have more connections than I thought. His memo is discouraging: -book_lore.bf_bomb_1.page.2=apparently, there's yet ANOTHER miracle material that they prodded out of some concoction of antimatter and a fringe isotope. The brochure calls it "SWIRLMAT" - hell if I know - and that's it. No wonder they wanted a theoretical physicist, -book_lore.bf_bomb_1.page.3=they don't even know what it is yet. Either way, practically any job would be better than my old position, so I can't complain much about sketchiness. +book_lore.bf_bomb_1.page.0=花了足够长的时间, 但我的转会被接受了. 那些应届毕业生已经很难应付了, 更不用说那些不专业的领导了. $ 这还不是所有的好消息 - 这个实验室隐瞒了更多的细节, 我不需要在另一个神奇的新发现上碰到更多的混乱. +book_lore.bf_bomb_1.page.1=当然是这样. 毕业生们有他们的疑虑 (考虑到他们的眼睛多么纯真,真是令人惊讶), 但我唯一... 有能力的? 同事实际上拿到了项目介绍资料. 一定比我想象的有更多的关系. 他的备忘录令人沮丧: +book_lore.bf_bomb_1.page.2=显然, 他们从反物质和边缘同位素的混合物中又发现了 另 一 种 神奇的物质. 小册子上称之为 "SWIRLMAT" - 鬼知道是啥 - 就这样. 难怪他们想要一个理论物理学家, +book_lore.bf_bomb_1.page.3=他们甚至还不知道它是什么. 不管怎样, 实际上任何一份工作都会比我以前的职位好, 我不能对这些粗糙之处抱怨太多. + book_lore.bf_bomb_2.name=私人笔记 book_lore.bf_bomb_2.author=M. 波特 -book_lore.bf_bomb_2.page.0=Despite the absence of information in that primer, I still had some hope they knew a bit more. Not at all. Every other senior researcher has a blind faith in this material; their propositions were practically biblical. I was near speechless. -book_lore.bf_bomb_2.page.1=And yet I can't even blame them. Swirlmat makes no goddamn sense - it is completely unlike any other substance I've seen before. Its appearance was near frightening, a literal mass of swirling colors, with darker lines permeating through the neon green surface. -book_lore.bf_bomb_2.page.2=Even worse, this thing is an energy source. The existence of our sample is a violation of ALARA: the lab was vacated when it arrived, and the only person brave enough (one Dr. Melfyn) donned a level A hazmat just to carry it 20 meters. -book_lore.bf_bomb_2.page.3=The empirical data isn't better, as we're breaking the first law of thermodynamics with how much energy it radiates. Being anywhere near that thing - even behind a meter of lead - was terrifying. We sprinted out of the chamber upon conclusion of the spectroscopy -book_lore.bf_bomb_2.page.4=and we got nothing new out of it. Those idiots in the science team, god, did not even waver after all that. Sitting through those "discussions" was horrible; that quack of a head researcher even rumored that the test ban would be lifted, that we could be -book_lore.bf_bomb_2.page.5=building bombs out of the shit in the coming weeks, who in their right mind would work on that? Hell, the one sane assistant (an Andrew) nicknamed it "balefire" - because burning to death on a funeral pyre would be painless by comparison. - - +book_lore.bf_bomb_2.page.0=尽管项目介绍资料中缺乏信息, 但我仍抱着他们或许了解更多的希望. 完全相反! 每一位老研究员都对这种材料抱有盲目的信念; 他们的主张跟圣经似的. 我几乎无言以对. +book_lore.bf_bomb_2.page.1=但我甚至不能责怪他们. Swirlmat 完全不合常理 - 它与我以前见过的任何其他物质都完全不同. 它的外观几乎令人恐惧, 一团漩涡般的色彩, 深色的线条渗透到霓虹绿的表面. +book_lore.bf_bomb_2.page.2=更糟糕的是, 这个东西是一种能量源. 我们的样本的存在违反了ALARA合理最低剂量原则: 实验室在它到达时被清场了, 唯一一个足够勇敢的人 (Dr. Melfyn) 穿着a级危险防护服,只为了把它抬20米. +book_lore.bf_bomb_2.page.3=经验数据也好不到哪里去, 为我们正在用它辐射的能量打破热力学第一定律. 在那东西附近的任何地方 - 甚至是一米厚的铅后面 - 都是可怕的. 光谱分析结束后,我们迅速跑出了房间 +book_lore.bf_bomb_2.page.4=而且我们并没有从中得到什么新的东西. 科学团队中的那些白痴, 天啊, 在这一切之后甚至没有产生一丝动摇. 坐在那里进行这些"讨论" 可怕的; 首席研究员中的一位半吊子甚至扬言说测试禁令将被取消, 这样我们就可能 +book_lore.bf_bomb_2.page.5=在未来几周内用这鬼玩意制造出炸弹, 哪个脑袋正常的人会去干这事? 真见鬼, 一个理智的助手 (Andrew) 给它起了个绰号"balefire" - 因为相比之下,在火葬柴堆上烧死更好受. + book_lore.bf_bomb_3.name=私人笔记 book_lore.bf_bomb_3.author=M. 波特 -book_lore.bf_bomb_3.page.0=The team and I have made some breakthroughs. Emphasis on the separation - isolating myself from the more devout has made working there so much more bearable. While we still have no idea about the actual properties of balefire (it's difficult to analyze -book_lore.bf_bomb_3.page.1=a sample that fries your equipment) its interactions with other matter has proved fruitful. Notably, they synthesized a "gaseous" form: Andrew, of all people, informed me that it was really a colloid consisting of microscopic balefire particles, suspended in some -book_lore.bf_bomb_3.page.2=noble gas. Each particle is enveloped by a positively-charged 'bubble' of ionized gas, preventing it from settling. Who could've guessed that fatal gamma radiation had a benefit? Not me. $ I'm choosing not to think about how they transformed the sample into -book_lore.bf_bomb_3.page.3=particulate, but I can't understate the utility of this gaseous balefire - it's made it much safer to experiment on. $ Speaking of safety, the head researcher (in an act of callous disregard) made a discovery that also nearly took his head off. - - -book_lore.bf_bomb_3.page.4=He decided to get "dirty" by letting a cell of our new colloid interact directly with some very expensive antimatter: the resulting explosion turned the table it was on into a piece of radiation-bleached slag, carved a near-perfect hemisphere through -book_lore.bf_bomb_3.page.5=the top, and gave the head a healthy dose of ARS. I guess we know how to make it explode now, but god, some people... +book_lore.bf_bomb_3.page.0=我和团队取得了一些突破. 主要是靠分离 - 将我自己与那些神经兮兮的人隔离开来让在这里工作变得更容易忍受. 虽然我们仍然不知道balefire的实际性质 (很难分析会 +book_lore.bf_bomb_3.page.1=炸烂设备的样品) 但事实证明它与其他物质的相互作用是富有成效的. 值得注意的是, 他们合成了一种"气态" 形式: 在所有人中, Andrew, 告诉我,这实际上是一种胶体, 由悬浮在某种惰性气体中的微小balefire颗粒组成 +book_lore.bf_bomb_3.page.2=每个粒子都充满被带正电的电离气体的'气泡'包裹, 阻止其沉降. 谁能想到致命的伽马射线有好处? 反正不是我. $ 我选择不去想他们是如何将样本转化为颗粒的 +book_lore.bf_bomb_3.page.3=, 但我不能低估这种气态balefire的效用 - 它使实验更加安全. $ 说到安全, 首席研究员 (以一种无视安全的行为) 做出了一个几乎让他大吃一惊的发现. +book_lore.bf_bomb_3.page.4=他决定让我们新胶体的一个细胞与一些非常昂贵的反物质直接相互作用来“推进”实验: 由此产生的爆炸将它所在的桌子变成了一块辐射漂白的渣子, 在顶部雕刻出一个近乎完美的半球 +book_lore.bf_bomb_3.page.5=, 并给予头部健康剂量的ARS. 我想我们现在知道如何让它爆炸了, 但天哪, 有些人... + book_lore.bf_bomb_4.name=私人笔记 book_lore.bf_bomb_4.author=M. 波特 -book_lore.bf_bomb_4.page.0=I just can't escape my old work. They're the only place that's hiring despite all this godforsaken turmoil, but I'm not going back into that hole. $ They only tempted me because I need out, fast. Remember that atmospheric testing treaty we withdrew from a week ago? -book_lore.bf_bomb_4.page.1=Well, the dipshit in charge of our lab got something right for once. The denunciation came with a flurry of new "scientists" joining, just so we could weaponize balefire. The lack of critical thought here is honestly baffling - bless him, Andrew even jumped ship the -book_lore.bf_bomb_4.page.2=second the first fucking BOMB DESIGN was drafted. That ass Melfyn looked so happy with his little mechanism - perhaps he got brainworms from carrying that sample? - which involved some stupid shit using the solidified, base balefire and an HV -book_lore.bf_bomb_4.page.3=battery. $ Apparently, the form matters for energy output and activation method or whatever, kind of like uranium versus plutonium in regular nukes, but the end result is an initial shock starting the explosion. I find it funny, hilarious even. -book_lore.bf_bomb_4.page.4=All of them place such emphasis on the activation; they ignore the actual mechanism of it all because they don't have a single clue how it works! It may as well be magic at this point, and yet they're still trying to twist and bend it - just for more weapons of war. +book_lore.bf_bomb_4.page.0=我就是逃避不了以前的工作. 他们是唯一一个在经历了这场混乱之后仍在招聘的地方, 但我不会再回到那个坑里了. $ 他们只是诱惑我,因为我需要出去,要很快出去. 还记得我们一周前退出的大气试验条约吗? +book_lore.bf_bomb_4.page.1=好吧, 我们实验室的负责人这一次做对了. 谴责随着一批新的 "科学家"的加入而来, 只是为了让我们可以将balefire武器化. 这里缺乏批判性思维确实令人困惑 - 祝福他,安德鲁甚至在第一个该死的 +book_lore.bf_bomb_4.page.2=炸 弹 设 计 起草的第二天就跳槽了. 那个混蛋Melfyn看起来对他的那些小玩意很满意 - 也许他携带样本时脑子里进了啥东西? - 其中包括一些愚蠢的垃圾,使用固化的 +book_lore.bf_bomb_4.page.3=基础balefire和高压电池. $ 显然,这种形式对能量输出和激活方法或其他什么都很重要, 有点像常规核武器中的铀与钚, 但最终结果是引发爆炸的初始冲击. 我觉得它很有趣, 甚至很搞笑. +book_lore.bf_bomb_4.page.4=所有这些都强调激活; 他们忽略了这一切的实际机制,因为他们根本不知道它是如何工作的! 在这一点上,这可能很神奇, 但他们仍在试图扭转和弯曲它 - 只是为了获得更多的战争武器. + book_lore.bf_bomb_5.name=私人笔记 book_lore.bf_bomb_5.author=M. 波特 -book_lore.bf_bomb_5.page.0=I just... can't come to grips with it, even days after. It was a foregone conclusion, really, with how flippant the science team was with safety. $ $ Doctor Melfyn, M.S., is gone. Dead, maybe. I saw it happen before my own eyes, in their test chamber. -book_lore.bf_bomb_5.page.1=We had just gotten another batch of pure balefire, and he had recovered electrical equipment and an energy source to test his proposal. I don't know what caused it (was the power on? had he begun too soon?), but it seemingly progressed in agonizingly slow motion, -book_lore.bf_bomb_5.page.2=as the green-tinted light consumed the table, the battery, and Dr. Melfyn standing only a meter away. Even when the table had degraded into a pool of broiling metal on the floor, he did not burn. I don't know what I saw in his eyes... $ $ Terror, or awe -book_lore.bf_bomb_5.page.3=over his continued survival, maybe? Whatever our "miracle" material was, it didn't care. With a bright blaze of light, he disappeared in the next moment. Was he evaporated? incinerated? annihilated? sent to fucking hell itself, I don't know anymore! -book_lore.bf_bomb_5.page.4=The head researcher sickens me. Said we could be more careful, keep trucking, whatever other morale-improving filth he spewed. That dipshit won't ever figure out that playing with fire will get you burned. $ I didn't bother -book_lore.bf_bomb_5.page.5=resigning, I just grabbed my shit and ran for the hills. Not like it matters, anyway; considering the lack of calls, and the mushroom cloud that rose over my (now former) workplace, they've either blown everything up or entered full-on military jurisdiction. -book_lore.bf_bomb_5.page.6=There's a vital distinction to be made between dissection and VIVISECTION, one which was clearly lost on them. They can dissect metal or atoms as much as they like, but tearing into, vivisecting reality itself is only going to end in more Dr. Melfyns. Who knows! -book_lore.bf_bomb_5.page.7=The government wants to put this shit into bombs after all, maybe we'll see a couple more wars, couple more million resigned to a fate worse than death. They can't hide this forever. $ $ I don't care. Not anymore. Please, god, let me go back -book_lore.bf_bomb_5.page.8=to actual science. $ $ Goddamnit, Mae, get ahold of yourself... +book_lore.bf_bomb_5.page.0=我只是... 即使几天后也无法应对. 事实上, 科学团队对安全问题的轻率态度已成定局. $ $ Doctor Melfyn, M.S., 不在了. 也许死了. 我亲眼目睹了这一切, 在他们的试验室里. +book_lore.bf_bomb_5.page.1=我们刚刚得到了另一批纯balefire, 他已经找到了电气设备和能源来测试他的提议. 我不知道是什么原因造成的 (电源开了? 他开始得太早了?), 但它似乎以令人痛苦的慢动作进行, +book_lore.bf_bomb_5.page.2=绿色的光芒吞噬了桌子, 电池, Dr. Melfyn就站在一米外. 即使桌子已经化成地板上的一池灼热的金属, 他也没有被烧伤. 不知道我从他的眼睛里看到了什么... $ $ 也许是对他继续生存 +book_lore.bf_bomb_5.page.3=的恐惧,或者敬畏? 不管我们的“奇迹”材料是什么, 它都不在乎. 随着一道明亮的光, 他在下一刻消失了. 他蒸发了吗? 烧成灰烬了? 完全湮灭了? 被送进他妈的地狱了? 我再也不会知道了! +book_lore.bf_bomb_5.page.4=首席研究员让我恶心. 他说我们可以更加小心, 继续用卡车运输, 或者其他什么能提高士气的屁话. 那个混蛋永远不会明白玩火终会自焚. $ 我没有辞职 +book_lore.bf_bomb_5.page.5=, 我只是抓起我的那点破烂往山上跑. 无论如何,现在这些都不重要了; 考虑到没有电话, 加上我 (现在是以前的了) 工作场所上空升起的蘑菇云, 他们要么炸毁了一切要么完全进入了军事管辖模式. +book_lore.bf_bomb_5.page.6=解剖和 活 体 解 剖 之间有一个重要的区别, 这一点在他们身上显然已经消失了. 们可以随心所欲地解剖金属或原子, 但撕裂、活体解剖现实本身只会以更多的Dr. Melfyns而告终. 谁知道呢! +book_lore.bf_bomb_5.page.7=毕竟政府想把这些玩意装进炸弹里, 也许我们会看到更多的战争, 数百万人听天由命. 他们不能永远隐瞒这件事. $ $ 我不在乎. 再也不了. 求你了, 上帝, 让我回到 +book_lore.bf_bomb_5.page.8=实际的科学上来. $ $ 妈的, Mae, 保持冷静... + book_lore.beacon.name=信号信标说明书 book_lore.beacon.author=Flim Flam工业 book_lore.beacon.page.0=感谢您购买Mk.2照明信号信标(版本1.3)!这本小册子将简要介绍信标的操作及其内部工作原理。 @@ -594,10 +617,11 @@ commands.satellite.not_a_satellite=持有的物品不是卫星! commands.satellite.satellite_descended=卫星成功降落。 commands.satellite.satellite_orbited=卫星发射。 commands.satellite.should_be_run_as_player=此命令应该由玩家运行! -container.amsBase=AMS基座(装饰) -container.amsEmitter=AMS发射极(装饰) -container.amsLimiter=AMS稳能器(装饰) -container.anvil=砧 + +container.amsBase=AMS基座 [装饰] +container.amsEmitter=AMS激发装置 [装饰] +container.amsLimiter=AMS稳定力场发生装置 [装饰] +container.anvil=%s 级砧 container.arcFurnace=电弧炉 container.armorTable=装甲改装台 container.ashpit=储灰槽 @@ -659,9 +683,10 @@ container.heaterOven=加热炉 container.iGenerator=工业发电机 container.keyForge=锁匠桌 container.launchPad=导弹发射台 -container.launchTable=大型发射台 -container.leadBox=安全盒 -container.machineBoiler=锅炉 +container.launchTable=大型导弹发射台 +container.leadBox=安全箱 +container.machineArcWelder=弧焊机 +container.machineBoiler=原油加热器 container.machineCMB=CMB炼钢炉 container.machineCoal=火力发电机 container.machineCoker=焦化装置 @@ -681,9 +706,9 @@ container.machineShredder=粉碎机 container.machineSILEX=激光同位素分离室 container.machineSolidifier=固化机 container.machineTurbine=汽轮机 -container.machineTurbofan=涡扇发动机 -container.machine_schrabidium_transmutator=Sa326嬗变装置 -container.massStorage=存储 +container.machineTurbofan=涡扇发电机 +container.machine_schrabidium_transmutator=Sa326异变铀金属嬗变装置 +container.massStorage=存储器 container.microwave=微波炉 container.miningDrill=自动采矿钻机 container.miningLaser=采矿激光 @@ -765,97 +790,100 @@ crucible.hematite=赤铁矿炼铁 crucible.hss=高速钢生产 crucible.malachite=孔雀石炼铜 crucible.redcopper=紫铜生产 -crucible.steel=钢铁生产 -crucible.steelMeteoric=陨铁炼钢 -crucible.steelPig=生铁炼钢 -crucible.steelWrought=锻铁炼钢 -crucible.tcalloy=锝钢合金生产 -death.attack.acid=%1$s 掉进了酸里 -death.attack.acidPlayer=%1$s 被 %2$s 溶解 -death.attack.ams=%1$s 沐浴在尚未被人类科学命名的致命粒子中 -death.attack.amsCore=%1$s 在奇点之火中蒸发 -death.attack.asbestos=%1$s现在有权获得经济补偿 -death.attack.bang=%1$s 被炸成小块碎片 -death.attack.blackhole=%1$s 粉身碎骨 -death.attack.blender=%1$s 被切成小块 -death.attack.boat=%1$s 被船撞了 -death.attack.boil=%1$s被%2$s活活煮沸 -death.attack.boxcar=%1$s 被一节坠落的车厢撞死了...好吧 -death.attack.broadcast=%1$s 的大脑融化了 -death.attack.building=%1$s 被从天而降的建筑砸中了 -death.attack.cheater=%1$s 的肠子变成了燕麦(???) -death.attack.chopperBullet=%1$s 被 %2$s 屠杀 -death.attack.cloud=%1$s 像冰棒一样在太阳下融化 -death.attack.cmb=%1$s 被 %2$s 搞得嘶嘶作响 -death.attack.digamma=%1$s 踏入深渊 -death.attack.electricity=%1$s 被电死 -death.attack.electrified=%1$s 被 %2$s 电死 -death.attack.euthanized=%1$s 被 %2$s 安乐死 -death.attack.euthanizedSelf2=%1$s 获得了达尔文奖 -death.attack.euthanizedSelf=%1$s 把自己安乐死了,可真傻 -death.attack.exhaust=%1$s 被火箭烤成了羊肉串 -death.attack.flamethrower=%1$s 被 %2$s 火化 -death.attack.flamethrower.item=%1$s 被 %2$s 使用 %3$s 火化 -death.attack.ice=%1$s 被 %2$s 做成了冰棒 -death.attack.laser=%1$s 被 %2$s 变成了灰烬 -death.attack.laser.item=%1$s 被 %2$s 使用 %3$s 变成灰烬 -death.attack.lead=%1$s 死于铅中毒 -death.attack.lunar=%1$s 忘记了给重要器官充电 -death.attack.meteorite=%1$s 被来自外太空的陨石击中 -death.attack.microwave=%1s 因微波辐射爆炸 -death.attack.mku=%1$s 死于不明原因 -death.attack.monoxide=%1$s忘了换一氧化碳探测器的电池 -death.attack.mudPoisoning=%1$s 死于毒泥浆中 -death.attack.nuclearBlast=%1$s 被核爆炸飞 -death.attack.overdose=%1$s 上瘾并窒息 -death.attack.pc=%1$s 在粉红色的云中变成了一个水坑 -death.attack.plasma=%1$s 被 %2$s 烧死 -death.attack.radiation=%1$s 死于辐射 -death.attack.revolverBullet=%1$s 被 %2$s 用 %3$s 击中头部 -death.attack.revolverBullet.item=%1$s 被 %2$s 使用 %3$s 爆头 -death.attack.rubble=%1$s 被碎片压扁了 -death.attack.shrapnel=%1$s 被榴弹碎片炸得千疮百孔 -death.attack.spikes=%1$s被刺穿了 -death.attack.subAtomic1=%1$s 的原子已被 %2$s 销毁. -death.attack.subAtomic2=%1$s 因为被 %2$s 篡改了实际速度,导致QPU没有对准 -death.attack.subAtomic3=由于 %2$s,1$s 的偏差下降到1%以下 -death.attack.subAtomic4=%1$s 因为 %2$s 被零除了 -death.attack.subAtomic5=%1$s 因为 %2$s 无效了 -death.attack.suicide=%1$s 打爆了自己的头 -death.attack.taint=%1$s 死于恶性肿瘤 -death.attack.tau=%1$s 被 %2$s 用带负电荷的陶子射穿 -death.attack.tauBlast=%1$s 对XVL1456充能时间过长,被炸成碎片 -death.attack.teleporter=%1$s 被传送到虚空 -desc.gui.assembler.warning=§c错误:§r此机器需要装配机模板! -desc.gui.chemplant.warning=§c错误:§r此机器需要化工厂模板! -desc.gui.gasCent.enrichment=§2浓缩§r$浓缩铀需要串联$两个离心机串联将离心出$铀燃料,四个离心机串联$将完全分离出铀235。 -desc.gui.gasCent.output=§6流体输送§r$流体可通过输出端口输送至另一台离心机$进行进一步处理。 -desc.gui.nukeBoy.desc=§1需要:§r$ * 中子屏蔽罩$ * 铀-235弹头$ * 次临界铀-235标靶$ * 炸药$ * 点火器 -desc.gui.nukeGadget.desc=§1需要:§r$ * 4个 初代$ 炸药透镜阵列$ * 钚核心$ * 线路 -desc.gui.nukeMan.desc=§1需要:§r$ * 4个 初代$ 炸药透镜阵列$ * 钚核心$ * 点火器 -desc.gui.nukeMike.desc=§1需要:§r$ * 4个 炸药透镜阵列$ * 钚核心$ * 氘冷却装置$ * 铀涂层氘罐 * 氘罐 -desc.gui.nukeTsar.desc=§1需要:§r$ * 4个 炸药透镜阵列$ * 钚核心$§9可选:§r$ * 沙皇炸弹核心 -desc.gui.radiolysis.desc=§9说明§r$该RTG比其他RTG更高效,并且$配备了一个用于$裂解和灭菌的辐解室。 -desc.gui.rtgBFurnace.desc=处理$金-198需要至少15热量。此外,热量越多,运行速度越快$金-198可能会衰变为水银 -desc.gui.rtg.heat=§e当前热等级:%s -desc.gui.rtg.pellets=接受的靶丸: +crucible.steel=钢生产 +crucible.steelMeteoric=陨铁->钢 生产 +crucible.steelPig=生铁->钢 生产 +crucible.steelWrought=锻铁->钢 生产 +crucible.tcalloy=锝-钢合金生产 + +death.attack.acid=%1$s 掉进了酸里. +death.attack.acidPlayer=%1$s 被 %2$s 溶解了. +death.attack.ams=%1$s 沐浴在尚未被人类科学命名的致命粒子中. +death.attack.amsCore=%1$s 在高能奇点之火中蒸发. +death.attack.asbestos=%1$s 现在有权获得经济补偿. +death.attack.bang=%1$s 被炸成一口大小碎片. +death.attack.blackhole=%1$s 被黑洞拉成了意大利面. +death.attack.blender=%1$s 被切割成了很小的,以Byte计数的单位. +death.attack.boat=%1$s 被船砸扁了. +death.attack.boil=%1$s 被 %2$s 活生生煮沸了. +death.attack.boxcar=%1$s 被一节坠落的车厢砸扁了...好吧. +death.attack.broadcast=%1$s 的大脑融化了. +death.attack.building=%1$s 被从天而降的建筑砸中了. +death.attack.cheater=%1$s 的内脏变成了燕麦(???). +death.attack.chopperBullet=%1$s 被 %2$s 屠杀. +death.attack.cloud=%1$s 像在太阳下的冰棒一样融化. +death.attack.cmb=%1$s 被 %2$s 电的焦脆. +death.attack.digamma=%1$s 在追求真理时步入了深渊. +death.attack.electricity=%1$s 被电死. +death.attack.electrified=%1$s 被 %2$s 电死. +death.attack.euthanized=%1$s 被 %2$s 安乐死. +death.attack.euthanizedSelf2=%1$s 获得了达尔文奖. +death.attack.euthanizedSelf=%1$s 把自己安乐死了, 真鸡儿丢人. +death.attack.exhaust=%1$s 被火箭烤成了羊肉串. +death.attack.flamethrower=%1$s 被 %2$s 火化. +death.attack.flamethrower.item=%1$s 被 %2$s 用 %3$s火化. +death.attack.ice=%1$s 被 %2$s 冻成了冰棒. +death.attack.laser=%1$s 被 %2$s 变成了灰烬. +death.attack.laser.item=%1$s 被 %2$s 用 %3$s 变成了灰烬. +death.attack.lead=%1$s 死于铅中毒. +death.attack.lunar=%1$s 忘了给他的重要器官维持系统充电. +death.attack.meteorite=%1$s 被来自外太空的陨石击中,他可以去买彩票了. +death.attack.microwave=%1$s 被过量微波辐射而爆炸了. +death.attack.mku=%1$s 死于不知名的原因. +death.attack.monoxide=%1$s 忘了给一氧化碳探测器换电池. +death.attack.mudPoisoning=%1$s 死于毒泥浆中. +death.attack.nuclearBlast=%1$s 被核爆冲击波炸飞. +death.attack.overdose=%1$s 服药过量后窒息了. +death.attack.pc=%1$s 在粉红色的云中变成了一滩水. +death.attack.plasma=%1$s 被 %2$s 献祭了. +death.attack.radiation=%1$s 死于辐射. +death.attack.revolverBullet=%1$s 被 %2$s 爆头. +death.attack.revolverBullet.item=%1$s 被 %2$s 用 %3$s 爆头. +death.attack.rubble=%1$s 被挤压成了碎片. +death.attack.shrapnel=%1$s 被榴弹碎片炸得千疮百孔. +death.attack.spikes=%1$s 被刺了个透心凉. +death.attack.subAtomic1=%1$s 的原子被 %2$s 摧毁. +death.attack.subAtomic2=%1$s 因为被 %2$s 篡改了实际速度, 导致QPU没有对准. +death.attack.subAtomic3=由于 %2$s, 1$s 的偏差下降到1%以下. +death.attack.subAtomic4=%1$s 因为 %2$s 被零除了. +death.attack.subAtomic5=%1$s 因为 %2$s 无效了. +death.attack.suicide=%1$s 打爆了自己的头. +death.attack.taint=%1$s 死于恶性肿瘤. +death.attack.tau=%1$s 被 %2$s 用带负电荷的陶子打得千疮百孔. +death.attack.tauBlast=%1$s 对XVL1456充能时间过长, 被炸成碎片. +death.attack.teleporter=%1$s 被传送到虚空. + +desc.block.blastinfo=方块抗爆性: %s +desc.gui.assembler.warning=§c错误:§r 错误:此装配机需要组装机模板! +desc.gui.chemplant.warning=§c错误:§r 此化工装置需要化学配方模板! +desc.gui.gasCent.enrichment=§2浓缩§r$铀浓缩需要多个离心机串联.$两个离心串联$将仅分离出铀238,$四个离心串联将完全分离六氟化铀. +desc.gui.gasCent.output=§6流体传输§r$液体可以通过输出端口转移到$另一台离心机进行进一步处理. +desc.gui.nukeBoy.desc=§1需要组件:§r$ * 中子屏蔽罩$ * 铀235弹头$ * 次临界铀235标靶$ * 炸药$ * 点火器 +desc.gui.nukeGadget.desc=§1需要组件:§r$ * 4 个初代高能$ 内爆炸药阵列$ * 大型钚核心$ * 线路 +desc.gui.nukeMan.desc=§1需要组件:§r$ * 4 个初代高能$ 内爆炸药阵列$ * 钚核心$ * 炸弹点火装置 +desc.gui.nukeMike.desc=§1需要组件:§r$ * 4 个高能内爆炸药阵列$ * 钚核心$ * 氘冷却装置$ * 铀涂层氘罐$ * 氘罐 +desc.gui.nukeTsar.desc=§1需要组件:§r$ * 4 个高能内爆炸药阵列$ * 钚核心$§9可选:§r$ * 沙皇炸弹核心 +desc.gui.radiolysis.desc=§9说明§r$这种RTG比其他RTG效率更高, $配有一个辐解室,$用于裂解和灭菌. +desc.gui.rtgBFurnace.desc=需要至少15级热量来进行加工$热量越多,运行速度越快$超过最大速度后多余的热量不会产生任何影响$短半衰期的靶丸可能会衰变 +desc.gui.rtg.heat=§e当前热量级别: %s +desc.gui.rtg.pellets=可接受的靶丸: desc.gui.rtg.pelletHeat=%s (%s 热量) -desc.gui.rtg.pelletPower=%s (%s HE/刻) -desc.gui.template=§9模板§r$模板可由$机器模板文件夹制作。 -desc.gui.turbinegas.automode=§2自动涡轮机节流模式§r$通过单击“AUTO”按钮,涡轮机$将根据网络所需的功率自动调整发电量$ -desc.gui.turbinegas.fuels=§6可接受的燃料:§r -desc.gui.turbinegas.warning=§c燃油或润滑油液位低!§r -desc.gui.upgrade=§l可接受的升级:§r -desc.gui.upgrade.afterburner=*§d加力燃烧§r:堆叠至3级 -desc.gui.upgrade.effectiveness=*§a效率§r:堆叠至3级 -desc.gui.upgrade.overdrive=*§7超速§r:堆叠至3级 -desc.gui.upgrade.power=*§1节能§r:堆叠至3级 -desc.gui.upgrade.speed=*§4速度§r:堆叠至3级 -desc.gui.zirnox.coolant=§3冷却剂§r$CO2将热量从堆芯转移到水中$这会令它变成成超热蒸汽$冷却和蒸汽生产的效率取决于压力。 -desc.gui.zirnox.pressure=§6压力§r$排放二氧化碳可以降低压力$然而,压力过低,冷却效率和蒸汽产量将降低$小心熔毁! -desc.gui.zirnox.warning1=§c错误:§r反应堆正常运行需要水! -desc.gui.zirnox.warning2=§c错误:§r二氧化碳是反应堆正常运行所必需的! -desc.item.ammo.con_accuracy2=- 精度大幅降低 +desc.gui.rtg.pelletPower=%s (%s HE/tick) +desc.gui.template=§9模板§r$可以使用机器模板$文件夹制作模板. +desc.gui.turbinegas.automode=§2燃汽轮机自动节流模式§r$通过点击 "AUTO" 按钮, 燃汽轮机$将根据电网所需功率$自动调整发电量 +desc.gui.turbinegas.fuels=§6可接受的燃气:§r$ +desc.gui.turbinegas.warning=§c燃油或润滑油液位低!§r +desc.gui.upgrade=§l可接受的升级:§r +desc.gui.upgrade.afterburner= * §d加力燃烧§r: 最高为3级 +desc.gui.upgrade.effectiveness= * §a效率§r: 最高为3级 +desc.gui.upgrade.overdrive= * §7超频§r: 最高为3级 +desc.gui.upgrade.power= * §1节能§r: 最高为3级 +desc.gui.upgrade.speed= * §4速度§r: 最高为3级 +desc.gui.zirnox.coolant=§3冷却§r$二氧化碳将热量从反应堆核心转移到水中.$这会把水加热成蒸汽. $冷却和蒸汽生产的$效率取决于压力大小. +desc.gui.zirnox.pressure=§6压力§r$可以通过减少反应堆中的CO2量来降低压力.$但是, 压力过低, 冷却效率和$蒸汽产量会降低.$小心熔毁! +desc.gui.zirnox.warning1=§c错误:§r 反应堆正常运行$需要水! +desc.gui.zirnox.warning2=§c错误:§r 反应堆正常运行$需要二氧化碳! +desc.item.ammo.con_accuracy2=- 精确度大大降低 desc.item.ammo.con_damage=- 伤害大幅降低 desc.item.ammo.con_heavy_wear=- 大幅增加磨损 desc.item.ammo.con_ling_fire=- 没有火焰 @@ -880,27 +908,27 @@ desc.item.ammo.neu_boat=* 船 desc.item.ammo.neu_boxcar=* 车厢 desc.item.ammo.neu_building=* 建筑物 desc.item.ammo.neu_chlorophyte=* 叶绿 -desc.item.ammo.neu_eraser=* 用于消除重大错误 -desc.item.ammo.neu_fun=* 全家其乐无穷! -desc.item.ammo.neu_heavy_metal=* 重金属 -desc.item.ammo.neu_homing=* 追踪 -desc.item.ammo.neu_jolt=* 震荡 +desc.item.ammo.neu_eraser=* 为了消除一些大麻烦 +desc.item.ammo.neu_fun=* 和你的核谐家庭一起快乐的来放烟花玩耍吧! +desc.item.ammo.neu_heavy_metal=* 含重金属 +desc.item.ammo.neu_homing=* 自动追踪目标 +desc.item.ammo.neu_jolt=* 颠簸 desc.item.ammo.neu_leadburster=* 附着在表面并喷射子弹 -desc.item.ammo.neu_less_bouncy=* 弹性更小 -desc.item.ammo.neu_maskman_flechette=* 曳光弹,同时引发一场贫铀飞镖弹风暴 -desc.item.ammo.neu_maskman_meteorite=* 高伤害,同时召唤小陨石 -desc.item.ammo.neu_more_bouncy=* 额外弹性 -desc.item.ammo.neu_no_bounce=* 没有弹性 -desc.item.ammo.neu_no_con=* 没有缺点 -desc.item.ammo.neu_starmetal=* 星辉金属 -desc.item.ammo.neu_tracer=* 示踪剂 -desc.item.ammo.neu_uhh=* Uhhh -desc.item.ammo.neu_warcrime1=* 从技术上来讲触犯了战争罪 -desc.item.ammo.neu_warcrime2=* 一发触犯两条战争罪! -desc.item.ammo.pro_accurate1=+ 提升精度 -desc.item.ammo.pro_accurate2=+ 近乎完美的精度 -desc.item.ammo.pro_balefire=+ 野火 -desc.item.ammo.pro_bomb_count=+ 炸弹数量增加 +desc.item.ammo.neu_less_bouncy=* 霰弹更少 +desc.item.ammo.neu_maskman_flechette=* 发射一个能召唤出一场铀涂层镖弹碎片风暴的示踪剂 +desc.item.ammo.neu_maskman_meteorite=* 发射高伤害的子弹并召唤一颗小陨石 +desc.item.ammo.neu_more_bouncy=* 更多霰弹 +desc.item.ammo.neu_no_bounce=* 非霰弹 +desc.item.ammo.neu_no_con=* 没有任何负面作用 lol +desc.item.ammo.neu_starmetal=* 含星辉金属 +desc.item.ammo.neu_tracer=* 曳光弹 +desc.item.ammo.neu_uhh=* 啊哈 +desc.item.ammo.neu_warcrime1=* 从技术上讲使用它是犯了战争罪 +desc.item.ammo.neu_warcrime2=* 一颗子弹犯下两条战争罪! +desc.item.ammo.pro_accurate1=+ 准确性提高 +desc.item.ammo.pro_accurate2=+ 近乎完美的精确度 +desc.item.ammo.pro_balefire=+ B.F.野火 +desc.item.ammo.pro_bomb_count=+ 增加炸弹数量 desc.item.ammo.pro_caustic=+ 腐蚀性 desc.item.ammo.pro_chainsaw=+ 电锯 desc.item.ammo.pro_chlorine=+ 氯气 @@ -935,18 +963,19 @@ desc.item.ammo.pro_stunning=+ 眩晕 desc.item.ammo.pro_toxic=+ 剧毒 desc.item.ammo.pro_wear=+ 减少磨损 desc.item.ammo.pro_withering=+ 凋零 -desc.item.armorMod.display=显示已安装的装甲模块 -desc.item.battery.charge=储能: %s / %sHE -desc.item.battery.chargePerc=储能: %s%% -desc.item.battery.chargeRate=充电效率: %sHE/刻 -desc.item.battery.dischargeRate=放电效率: %sHE/刻 -desc.item.durability=耐久: %s -desc.item.grenade.fuse=引信: %s -desc.item.grenade.fuseImpact=碰炸 -desc.item.grenade.fuseInstant=瞬发 -desc.item.gun.ammo=弹药 %s -desc.item.gun.ammoBelt=从背包中使用 -desc.item.gun.ammoEnergy=能耗; %sHE 每发 +desc.item.armorMod.display=来显示该盔甲上所安装的配件的效果 +desc.item.battery.charge=电量: %s / %sHE +desc.item.battery.chargePerc=电量: %s%% +desc.item.battery.chargeRate=充电速率: %sHE/tick +desc.item.battery.dischargeRate=放电速率: %sHE/tick +desc.item.detonator=已设置引爆位置!$未设置引爆位置! +desc.item.durability=耐久度: %s +desc.item.grenade.fuse=引爆延时: %s +desc.item.grenade.fuseImpact=接触爆炸 +desc.item.grenade.fuseInstant=即爆 +desc.item.gun.ammo=弹药量 %s +desc.item.gun.ammoBelt=自动从背包中装填 +desc.item.gun.ammoEnergy=能量; %sHE 每发 desc.item.gun.ammoEnergyAlt=%sHE 每发 desc.item.gun.ammoMag=%s / %s desc.item.gun.ammoType=弹药类型: %s @@ -956,18 +985,16 @@ desc.item.gun.damageAlt=伤害: %s desc.item.gun.lore=查看深入的知识 desc.item.gun.loreFunc=查看深入功能 desc.item.gun.manufacturer=制造商: %s -desc.item.gun.name=名称: %s -desc.item.gun.pellets=弹丸数:%s-%s -desc.item.gun.penetration=装甲穿透值: %s -desc.item.kitArmor=装甲将被新的装备取代。 -desc.item.kitHaz=装甲将被防护服取代。 -desc.item.kitPack=真便宜! -desc.item.kitPool=请在打开前清空背包库存! -desc.item.pileRod=§e使用钻孔石墨插入$§E使用螺丝刀拔出$ - - -desc.item.rtgDecay=衰变为:%s -desc.item.rtgHeat=功率级别:%s +desc.item.gun.name=枪械名称: %s +desc.item.gun.pellets=弹丸: %s - %s +desc.item.gun.penetration=护甲穿透值: %s +desc.item.kitArmor=现穿的护甲将被新护甲取代. +desc.item.kitHaz=防护服将取代现穿的护甲. +desc.item.kitPack=真便宜! +desc.item.kitPool=请在打开前清空你的背包! +desc.item.pileRod=§e用于插入钻削过的石墨$§e使用螺丝刀翘出$ +desc.item.rtgDecay=衰变为: %s +desc.item.rtgHeat=热量级别: %s desc.item.storage.capacity=容量 %s%%s desc.item.storage.proscons=查看利弊列表 desc.misc.357=.357 马格南 @@ -980,18 +1007,34 @@ desc.misc.lore=§n-- 知识 -- desc.misc.lshift=§8按住 <§e§o左SHIFT§8§o> %s desc.misc.luna=§o20x155mm Lunatic desc.misc.meltPoint=熔点: §c%s -desc.misc.noPos=未设置位置! -desc.misc.pos=将位置设置为:%s,%s,%s -desc.misc.posSet=位置已设置! +desc.misc.noPos=未设置触发位置! +desc.misc.pos=设置触发位置为 : %s, %s, %s +desc.misc.posSet=触发位置已设置! desc.item.wasteCooling=在乏燃料池中冷却 -desc.item.zirnoxBreedingRod=§2[ZIRNOX增殖棒]$§e放在燃料棒旁边增殖$§e持续 %d 刻 -desc.item.zirnoxRod=§a[ZIRNOX燃料棒]$§e每刻产生 %1$d 热量$§e持续 %2$d 刻 -digamma.playerDigamma=玩家F-迪伽马辐照水平: -digamma.playerHealth=玩家所受F-迪伽马辐照影响: -digamma.playerRes=玩家F-迪伽马防护水平: -digamma.title=玩家F-迪伽马辐射自检器 -entity.entity_cyber_crab.name=赛博螃蟹 -entity.entity_elder_one.name=上古鸭神 +desc.item.upgrade.machine=采矿钻机:§r$自动激光采矿钻机:$电炉:§r$装配机:§r$化工厂:§r$油井:§r$矿物结晶机:§r$回旋加速器:§r$废气燃烧塔:§r$高能微波炮塔:§r$涡扇发电机:§r$力场范围升级§r$力场能量升级§r$采矿激光升级§r$气体离心机升级§r$ +desc.item.upgrade.speed=耗时 -%s%% / 耗电量 +%sHE/t$耗时 ÷%s / 耗电量 +%sHE/t$耗时 -%s%% / 耗电量 +%s%%$对撞速度 x%s$伤害 +%sdmg/t +desc.item.upgrade.effect=半径 +%sm / 耗电量 +%sHE/t$+%s%% 的几率不消耗物品 / 酸消耗量 +%smB$-%s%% 的几率延长加速器过热缓冲时间$+%s%% 发电量$攻击范围 +%sm +desc.item.upgrade.power=耗电量 -%sHE/t / 耗时 +%s%%$耗电量 -%s%% / 耗时 +%s%%$耗电量 -%skHE/t$耗电量 -%sHE/t$单次开火耗电 -%sHE/t +desc.item.upgrade.fortune=幸运 +%s / 耗时 +%s +desc.item.upgrade.afterburn=发电量 x%s / 燃料消耗 x%s$加力燃烧 +%ss$燃烧%smB燃气产生%sHE/t +desc.item.upgrade.forcefield=半径 +16 / 耗电 +500$最大能量 +50 / 耗电 +250$最多堆叠16个 +desc.item.upgrade.smelter=融化方块.够简单了. +desc.item.upgrade.shredder=自动粉碎矿石 +desc.item.upgrade.centrifuge=其作用不言自明 +desc.item.upgrade.crystallizer=你新的最好的朋友:) +desc.item.upgrade.screm=就像在《超级马里奥》里,所有的方块都是蟾蜍$但在这里是半条命的科学家.$他们在尖叫.很多尖叫. +desc.item.upgrade.nullifier=有50%%的几率用/dev/zero覆盖无用物品$有50%%的几率将无用物品移到/dev/null +desc.item.upgrade.gc_speed=允许对六氟化铀进行全同位素分离$§e离心机也会进入病态模式 +desc.item.zirnoxBreedingRod=§2[ZIRNOX锆诺克斯反应堆增殖棒]$§e放在燃料棒旁边以增殖$§e持续 %d ticks +desc.item.zirnoxRod=§a[ZIRNOX锆诺克斯反应堆燃料棒]$§e产生 %1$d 热量每tick$§e持续 %2$d ticks + +digamma.playerDigamma=玩家Ϝ迪伽马辐照水平: +digamma.playerHealth=玩家所受Ϝ迪伽马辐照影响: +digamma.playerRes=玩家Ϝ迪伽马防护水平: +digamma.title=玩家Ϝ迪伽马辐射自检器 + +entity.entity_cyber_crab.name=机械螃蟹 +entity.entity_elder_one.name=Quackos古老者 entity.entity_fucc_a_ducc.name=鸭子 entity.entity_glyphid.name=异虫 entity.entity_glyphid_behemoth.name=巨兽异虫 @@ -1011,20 +1054,24 @@ entity.entity_mob_nuclear_creeper.name=核爆爬行者 entity.entity_mob_phosgene_creeper.name=光气爬行者 entity.entity_mob_tainted_creeper.name=污染爬行者 entity.entity_mob_volatile_creeper.name=不稳定爬行者 -entity.entity_taint_crab.name=污染螃蟹 -entity.entity_tesla_crab.name=磁暴螃蟹 -entity.hbm.entity_balls_o_tron.name=机械蠕虫 -entity.hbm.entity_balls_o_tron_seg.name=机械蠕虫 +entity.entity_plastic_bag.name=塑料袋 +entity.entity_taint_crab.name=腐化机械螃蟹 +entity.entity_tesla_crab.name=磁暴机械螃蟹 +entity.hbm.entity_balls_o_tron.name=世-界-毁-灭-者 O-TRON +entity.hbm.entity_balls_o_tron_seg.name=世-界-毁-灭-者 O-TRON 躯干 entity.hbm.entity_bullet.name=子弹 entity.hbm.entity_rocket.name=火箭弹 -entity.hbm.entity_schrabnel.name=Schrabnel +entity.hbm.entity_schrabnel.name=弹片 + excavator.crusher=粉碎开关 excavator.drill=挖掘开关 excavator.silktouch=精准采集开关 excavator.veinminer=连锁挖矿开关 excavator.walling=填充开关 -flare.ignition=点火装置 -flare.valve=流量阀 + +flare.ignition=点火开关 +flare.valve=燃气阀门 + fluid.acid_fluid=酸 fluid.corium_fluid=堆芯熔融物 fluid.mud_fluid=毒泥 @@ -1069,7 +1116,7 @@ gun.make.MANN=Open Mann公司 gun.make.MAXIM=海勒姆·马克沁 gun.make.METRO=地铁枪手 gun.make.MWT=MWT原型实验室 -gun.make.NAWS=Kayarm Industries +gun.make.NAWS=Kayarm工业 gun.make.ERFURT=埃尔福特机械制造厂 gun.make.NONE=- gun.make.RAYTHEON=导弹系统公司 @@ -1082,74 +1129,75 @@ gun.make.SACO=萨科防卫军械 gun.make.TULSKY=图拉武器厂 gun.make.UAC=联合宇宙航空公司 gun.make.UNKNOWN=??? -gun.make.WESTTEK=WestTek研究设施 -gun.make.WGW=威廉·古斯特洛夫·维尔克 -gun.make.WINCHESTER=温彻斯特速射武器公司 -gun.make.WINCHESTER_BIGMT=温彻斯特速射武器公司/大型MT -gun.name.ar15_50=AR-15 .50BMG型 -gun.name.baeAR=英国制式突击步枪 -gun.name.bel=野火蛋发射器 -gun.name.benelli=伯奈利M4 Super 90霰弹枪 -gun.name.benelliDrum=伯奈利M4 Super 90霰弹枪 (泵动供弹改进型) +gun.make.WESTTEK=西部科技 +gun.make.WGW=威廉·古斯特洛夫·沃克 +gun.make.WINCHESTER=温彻斯特连发轻武器公司 +gun.make.WINCHESTER_BIGMT=温彻斯特连发轻武器公司 / 巨山研发中心 + +gun.name.ar15_50=AR-15 .50 BMG 模式 +gun.name.baeAR=不列颠标准型突击步枪 +gun.name.bel=B.F.野火蛋弹射器 +gun.name.benelli=贝内利M4 Super 90霰弹枪 +gun.name.benelliDrum=贝内利M4 Super 90霰弹枪(弹鼓) gun.name.bio=RI No. 2 Mark 1 gun.name.bolter=Manticora Pattern爆弹枪 gun.name.congoLake=刚果湖水泵动榴弹发射器 gun.name.cPython=柯尔特蟒蛇 -gun.name.cz53=CZ53 单兵转轮机枪 -gun.name.cz57=CZ57 复仇者机枪 -gun.name.dart=针枪 -gun.name.deagle=以色列军事工业公司沙漠之鹰 -gun.name.emp=EMP投射器 -gun.name.extinguisher=PROTEX灭火器6kg -gun.name.ffiV=FFI Viper -gun.name.ffiVInox=FFI Viper Inox -gun.name.ffiVLead=FFI Viper Lead -gun.name.ffiVN1=FFI Viper N1 -gun.name.ffiVN2=FFI Viper N2 -gun.name.ffiVUltra=FFI Viper Ultra -gun.name.ffivBling=FFI Viper Bling -gun.name.ffivSatur=FFI Viper D-25A -gun.name.g36=HK G36突击步枪 -gun.name.gPistol=HK69A1 手持单发榴弹发射器 -gun.name.gustav=卡尔·古斯塔夫M1无后坐力炮 -gun.name.ifHorseshoe=IF-18 蹄铁 -gun.name.ifPit=IF-18 蹄铁 Bottomless Pit -gun.name.ifScope=IF-18 蹄铁 Scoped -gun.name.ifStorm=IF-18 蹄铁 银色风暴 -gun.name.ifVanity=IF-18 蹄铁 Vanity -gun.name.karl=M1 卡尔·古斯塔夫 -gun.name.ks23=KS-23霰弹枪 -gun.name.lacunae=Auntie Lacunae -gun.name.lasetDet=霍普维尔激光雷管 -gun.name.lunaAR=1986 Bishamonten式突击步枪 -gun.name.lunaGun=1978 Rāhula type Standard Issue Sidearm (Revision 2) -gun.name.lunaHLR=1944嫦娥式轻机枪 -gun.name.lunaShotty=1978年关羽式散弹枪(第1次修订) -gun.name.lunaSMG=1956 ānanda type Submachine Gun -gun.name.lunaSniper=1915后羿式反器材步枪 +gun.name.cz53=CZ53单兵火神炮 +gun.name.cz57=CZ57复仇火神炮 +gun.name.dart=气动射针枪 +gun.name.deagle=IMI沙漠之鹰 +gun.name.emp=EMP磁暴步枪 +gun.name.extinguisher=PROTEX6kg灭火器 +gun.name.ffiV=普通左轮手枪 +gun.name.ffiVInox=强化左轮手枪 +gun.name.ffiVLead=核子左轮手枪 +gun.name.ffiVN1=梦魇左轮手枪(初代) +gun.name.ffiVN2=梦魇左轮手枪(黑暗) +gun.name.ffiVUltra=Sa326元素左轮手枪 +gun.name.ffivBling=黄金左轮手枪 +gun.name.ffivSatur=土星金属手枪 +gun.name.g36=黑克勒 & 科赫 G36突击步枪 +gun.name.gPistol=HK69榴弹手枪 +gun.name.gustav=M1卡尔·古斯塔夫无后座力步枪 +gun.name.ifHorseshoe=IF-18蹄铁军工诺华克 +gun.name.ifPit=IF-18蹄铁军工红钥匙左轮手枪 +gun.name.ifScope=小皮的IF-18蹄铁军工左轮手枪 +gun.name.ifStorm=IF-18蹄铁军工银色风暴 +gun.name.ifVanity=黑杰克的IF-18蹄铁军工五发装左轮枪 +gun.name.karl=M1卡尔火箭筒 +gun.name.ks23=萨缪尔-23大口径霰弹枪 +gun.name.lacunae=CZ33地狱火神 +gun.name.lasetDet=霍普维尔激光引爆器 +gun.name.lunaAR=1986-”毘沙门天“式突击步枪 +gun.name.lunaGun=1978-”毗纽天“式标配自卫武器 (2改型) +gun.name.lunaHLR=1944-“嫦娥”式轻机枪 +gun.name.lunaShotty=1978-”关羽“式霰弹枪 (1改型) +gun.name.lunaSMG=1956-”阿难答“式冲锋枪 +gun.name.lunaSniper=1915 “后羿” 式反物质来复枪 gun.name.lunaTWR=时间扭曲步枪 -gun.name.m2=M2式勃朗宁大口径重机枪 -gun.name.m42=M-42战术核弹发射器 -gun.name.m42MIRV=M-42实验MIRV -gun.name.m60=7.62毫米口径M60机枪 +gun.name.m2=.50口径勃朗宁机枪, M2, HB +gun.name.m42=M-42战术核弹射器 +gun.name.m42MIRV=M-42 核弹弹射器"试验性子母弹头 +gun.name.m60= 7.62 mm口径机枪, M60 gun.name.maxim=马克沁机枪 -gun.name.maximDouble=双重马克沁机枪 -gun.name.mg3=MG-42通用机枪 -gun.name.mp40=MP40冲锋枪 -gun.name.nerf=某些无良记者眼中的大规模杀伤性武器 -gun.name.osipr=守望标准型脉冲步枪 -gun.name.panz=反坦克火箭来复枪 54 -gun.name.quadro=OpenQuadro便携式导弹发射器 +gun.name.maximDouble=双管马克沁机枪 +gun.name.mg3=通用MG3机枪 - .50 模式 +gun.name.mp40=Mp40冲锋枪 +gun.name.nerf=设计者未知的NERF发射器 +gun.name.osipr=看守者暗能量脉冲步枪 +gun.name.panz=坦克杀手54 +gun.name.quadro=四联装制导便携式电视制导导弹发射器 gun.name.remington870=雷明顿870 -gun.name.revolverCursed=不列颠标准问题电动手枪 -gun.name.sauer=绍尔猎枪 -gun.name.spas12=弗兰基SPAS-12式12号霰弹枪 -gun.name.spiw=H&R SPIW -gun.name.stinger=FIM-92毒刺便携式防空系统 -gun.name.stingerOneSky=The One Sky 毒刺便携式防空系统 +gun.name.revolverCursed=被诅咒的不列颠标准发行版左轮手枪 +gun.name.sauer=斯坦.索尔的萨缪尔-23霰 +gun.name.spas12= +gun.name.spiw=H&R弗莱切特镖 +gun.name.stinger=FIM-92“毒刺”便携式防空导弹 +gun.name.stingerOneSky=天马防空导弹 gun.name.supershotty=双管战斗霰弹枪 -gun.name.tau=XVL1456 陶子加农炮 -gun.name.tommy9=M1A1冲锋枪9毫米型 +gun.name.tau=XVL1456 负陶子加农炮原型 +gun.name.tommy9=9mm口径M1A1冲锋枪 gun.name.tommy=M1A1冲锋枪 gun.name.topaz=重型火焰燃烧器 gun.name.uacCarbine=UAC-41卡宾枪 @@ -1249,14 +1297,15 @@ hbmfluid.death=锇酸溶液 hbmfluid.deuterium=氘 hbmfluid.diesel=柴油 hbmfluid.diesel_crack=裂化柴油 -hbmfluid.diesel_crack_reform=高辛烷值裂化柴油 +hbmfluid.diesel_crack_reform=高辛烷值裂解柴油 hbmfluid.diesel_reform=高辛烷值柴油 hbmfluid.egg=蛋溶解液 hbmfluid.estradiol=雌二醇溶液 hbmfluid.ethanol=乙醇 -hbmfluid.enderjuice=末影果汁 +hbmfluid.enderjuice=末影液 hbmfluid.fishoil=鱼油 hbmfluid.fracksol=压裂液 +hbmfluid.fullerene=富勒烯溶液 hbmfluid.gas=天然气 hbmfluid.gas_coker=焦化气 hbmfluid.gasoline=含铅汽油基油 @@ -1312,7 +1361,7 @@ hbmfluid.potassium_chloride=氯化钾溶液 hbmfluid.puf6=六氟化钚 hbmfluid.radiosolvent=高性能溶剂 hbmfluid.reclaimed=再生油 -hbmfluid.redmud=红色泥浆 +hbmfluid.redmud=红泥浆 hbmfluid.reformate=重整油 hbmfluid.reformgas=重整气 hbmfluid.salient=绿色液体 @@ -1331,7 +1380,7 @@ hbmfluid.spentsteam=低压蒸汽 hbmfluid.steam=蒸汽 hbmfluid.sulfuric_acid=硫酸 hbmfluid.sunfloweroil=葵花籽油 -hbmfluid.superhotsteam=超热蒸汽 +hbmfluid.superhotsteam=超热浓蒸汽 hbmfluid.syngas=合成气 hbmfluid.thorium_salt=液态钍盐 hbmfluid.thorium_salt_depleted=贫化液态钍盐 @@ -1347,7 +1396,27 @@ hbmfluid.watz=毒泥浆 hbmfluid.woodoil=木油 hbmfluid.xenon=氙气 hbmfluid.xpjuice=经验汁 -hbmfluid.xylene=轻质芳烃(BTX) +hbmfluid.xylene=BTX苯-甲苯-二甲苯混合物 + +hbmfluid.Trait.Combustible=[可燃烧发电]$产生 §c%sHE §6每桶$燃料等级: §c%s +hbmfluid.Trait.Combustible.FuelGrade=低$中$高$航空级$气态 +hbmfluid.Trait.Coolable=热容量: %s TU$导热效率: %s%% +hbmfluid.Trait.Corrosive=[强腐蚀性]$[腐蚀性] +hbmfluid.Trait.Flammable=[可燃烧产热]$产生 §c%sTU §e每桶 +hbmfluid.Trait.Poison=[有毒气体] +hbmfluid.Trait.PWRModerator=[PWR中子通量倍增]$核心中子通量 %s%s%% +hbmfluid.Trait.Toxin=[毒素] +hbmfluid.Trait.VentRadiation=[放射性] +hbmfluid.TraitSimple.Amat=[反物质] +hbmfluid.TraitSimple.Delicious=[美味] +hbmfluid.TraitSimple.Gaseous=[气体] +hbmfluid.TraitSimple.Gaseous_ART=[室温下为气体] +hbmfluid.TraitSimple.LeadContainer=[需要用危险品罐容纳] +hbmfluid.TraitSimple.Leaded=[含铅燃料] +hbmfluid.TraitSimple.Liquid=[液体] +hbmfluid.TraitSimple.Plasma=[等离子体] +hbmfluid.TraitSimple.Viscous=[粘性] + hbmpseudofluid.none=空 hbmpseudofluid.heuf6=高浓缩六氟化铀 hbmpseudofluid.meuf6=中浓缩六氟化铀 @@ -1527,12 +1596,12 @@ item.ammo_4gauge_explosive.name=23mm榴弹 item.ammo_4gauge_flechette.name=4号箭霰弹 item.ammo_4gauge_flechette_phosphorus.name=4号箭霰弹[白磷] item.ammo_4gauge_kampf.name=23mm火箭弹 -item.ammo_4gauge_semtex.name=23mm采矿弹药 -item.ammo_4gauge_sleek.name=4号鹿弹[IF-R&D] -item.ammo_4gauge_slug.name=四号实心独头弹 -item.ammo_4gauge_titan.name=4号Quacker鹿弹 -item.ammo_4gauge_vampire.name=4号木签弹 -item.ammo_4gauge_void.name=4号电离粒子弹 +item.ammo_4gauge_semtex.name=23mm挖掘榴弹 +item.ammo_4gauge_sleek.name=4口径鹿弹[IF-R&D] +item.ammo_4gauge_slug.name=四口径实心独头弹 +item.ammo_4gauge_titan.name=四口径泰坦杀手弹 +item.ammo_4gauge_vampire.name=4口径反吸血鬼木桩霰弹 +item.ammo_4gauge_void.name=4口径电离子霰弹 item.ammo_50ae.name=.50AE子弹 item.ammo_50ae_ap.name=.50AE子弹[AP] item.ammo_50ae_chlorophyte.name=.50AE子弹[叶绿] @@ -1551,17 +1620,17 @@ item.ammo_50bmg_phosphorus.name=.50BMG子弹[白磷] item.ammo_50bmg_sleek.name=.50BMG子弹[IF-R&D] item.ammo_50bmg_star.name=.50BMG子弹[星辉] item.ammo_556.name=5.56mm子弹 -item.ammo_556_ap.name=5.56mm子弹[AP] -item.ammo_556_chlorophyte.name=5.56mm子弹[叶绿] -item.ammo_556_du.name=5.56mm子弹[贫铀] -item.ammo_556_flechette.name=5.56mm弗莱彻子弹 -item.ammo_556_flechette_chlorophyte.name=5.56mm弗莱彻子弹[叶绿] -item.ammo_556_flechette_du.name=5.56mm弗莱彻子弹 [贫铀穿甲] -item.ammo_556_flechette_incendiary.name=5.56mm弗莱彻子弹 [燃烧] -item.ammo_556_flechette_phosphorus.name=5.56mm弗莱彻子弹 [白磷穿甲] -item.ammo_556_flechette_sleek.name=5.56mm弗莱彻子弹[IF-R&D] +item.ammo_556_ap.name=5.56mm子弹[穿甲弹] +item.ammo_556_chlorophyte.name=5.56mm弹药[绿藻] +item.ammo_556_du.name=5.56mm子弹[贫铀涂层] +item.ammo_556_flechette.name=5.56mm镖形弹 +item.ammo_556_flechette_chlorophyte.name=5.56mm镖形弹弹药[绿藻] +item.ammo_556_flechette_du.name=5.56mm镖形弹 [贫铀涂层] +item.ammo_556_flechette_incendiary.name=5.56mm镖形弹 [燃烧] +item.ammo_556_flechette_phosphorus.name=5.56mm镖形弹 [白磷弹] +item.ammo_556_flechette_sleek.name=5.56mm镖形弹[IF-R&D] item.ammo_556_k.name=5.56mm空包弹 -item.ammo_556_phosphorus.name=5.56mm子弹[白磷] +item.ammo_556_phosphorus.name=5.56mm子弹[白磷弹] item.ammo_556_sleek.name=5.56mm子弹[IF-R&D] item.ammo_556_star.name=5.56mm子弹 [星辉] item.ammo_556_tracer.name=5.56mm 子弹[曳光弹] @@ -1601,13 +1670,13 @@ item.ammo_coilgun.name=钨制线圈枪子弹 item.ammo_coilgun_du.name=铀铁合金制线圈枪子弹 item.ammo_coilgun_rubber.name=橡胶制线圈枪子弹 item.ammo_container.name=万能弹药盒 -item.ammo_dart.name=塑料镖[凋零] -item.ammo_dart_nerf.name=NERF 飞镖 -item.ammo_dart_nuclear.name=塑料镖[定时炸药] -item.ammo_dgk.name=双联守门员近防系统200发弹药 -item.ammo_fireext.name=灭火器 水罐 -item.ammo_fireext_foam.name=灭火器 泡沫罐 -item.ammo_fireext_sand.name=灭火器 硼砂罐 +item.ammo_dart.name=塑料飞镖 [凋零] +item.ammo_dart_nerf.name=NERF飞镖 +item.ammo_dart_nuclear.name=塑料飞镖 [定时爆炸] +item.ammo_dgk.name=200发双管近防炮"霍华德"弹药箱 +item.ammo_fireext.name=灭火器水罐 +item.ammo_fireext_foam.name=灭火器泡沫罐 +item.ammo_fireext_sand.name=灭火器硼砂罐 item.ammo_folly.name=银弹 item.ammo_folly_du.name=银弹[贫铀, 不爆炸] item.ammo_folly_nuclear.name=银弹[核子] @@ -1615,7 +1684,7 @@ item.ammo_fuel.name=柴油罐 item.ammo_fuel_gas.name=毒气罐 item.ammo_fuel_napalm.name=凝固汽油罐 item.ammo_fuel_phosphorus.name=白磷罐 -item.ammo_fuel_vaporizer.name=汽化罐 +item.ammo_fuel_vaporizer.name=挥发性燃料罐 item.ammo_grenade.name=40mm榴弹 item.ammo_grenade_concussion.name=40mm榴弹[震荡] item.ammo_grenade_finned.name=40mm榴弹[尾翼稳定] @@ -1649,8 +1718,8 @@ item.ammo_nuke_barrel.name=小型核废料桶 item.ammo_nuke_high.name=迷你核弹 (高当量) item.ammo_nuke_low.name=迷你核弹 (低当量) item.ammo_nuke_pumpkin.name=南瓜炸弹 -item.ammo_nuke_safe.name=迷你核弹 (安全) -item.ammo_nuke_tots.name=迷你核弹 (幼体) +item.ammo_nuke_safe.name=迷你核弹 (安全) +item.ammo_nuke_tots.name=迷你核弹 (小型散射弹丸) item.ammo_rocket.name=84mm火箭弹 item.ammo_rocket_canister.name=84mm 火箭弹[榴霰弹] item.ammo_rocket_digamma.name=§4归 零§r @@ -1663,7 +1732,7 @@ item.ammo_rocket_phosphorus.name=84mm火箭弹[白磷] item.ammo_rocket_rpc.name=84mm火箭弹[飞行电锯] item.ammo_rocket_shrapnel.name=84mm火箭弹[破片] item.ammo_rocket_sleek.name=84mm火箭弹[IF-R&D] -item.ammo_rocket_toxic.name=84mm火箭弹[化学] +item.ammo_rocket_toxic.name=84mm火箭弹[化学毒气] item.ammo_shell.name=240mm炮弹 item.ammo_shell_apfsds_du.name=240mm 贫铀尾翼稳定脱壳穿甲弹 item.ammo_shell_apfsds_t.name=240mm 钨心尾翼稳定脱壳穿甲弹 @@ -1691,9 +1760,14 @@ item.ams_catalyst_strontium.name=锶反应催化剂 item.ams_catalyst_thorium.name=钍反应催化剂 item.ams_catalyst_tungsten.name=钨反应催化剂 item.ams_core_eyeofharmony.name=和谐之眼[AMS/DFC核心] +item.ams_core_eyeofharmony.desc=一颗恒星自行崩塌,$仅仅几纳秒就变成了黑洞,$被时间冻结了.$如果我不了解相关领域的话,$我会说这是某个人编出来的一些$关于深空魔法的故作高深的鬼话.$你还欠我十块钱. item.ams_core_sing.name=活跃奇点[AMS/DFC核心] -item.ams_core_thingy.name=Thingy[AMS/DFC核心] +item.ams_core_sing.desc=一种被修正的、未定义的时空状态$用于协助胶子间聚变和时空湮灭.$是的,这会缓慢而稳定地摧毁$宇宙本身结构,但至少你可以用它给你的$烤面包机供电$所以一切都安好. +item.ams_core_thingy.name=暮光闪闪的皇冠[AMS/DFC核心] +item.ams_core_thingy.desc=...$...$...我还拿着这个吗?$这是个小金属制品.$我不知道它是从哪里来的,也不知道它是干什么的,$也许他们是在垃圾场发现的,$然后把它当作某种古董艺术品卖掉.$事实上如果不是因为我可以把它塞进一个巨大的激光反应堆里,$我可能会把它扔回到它属于的地方$----垃圾桶. +item.ams_core_thingy_hide.desc=是的,我甚至不会质疑这个. item.ams_core_wormhole.name=微型虫洞[AMS/DFC核心] +item.ams_core_wormhole.desc=数十亿个纳米虫洞云无法主动从$另一个维度获取物质$而是将所有物质转化为$纯能量.这意味着$你正在积极地破坏另一个$维度,像吸一盒果汁$一样吸干它.$无论如何,这个维度可能很糟糕.$我敢打赌里面全是黄蜂或是别的什么垃圾,伙计,$而我讨厌这些东西. item.ams_focus_blank.name=空白稳定器焦点 item.ams_focus_booster.name=较弱的约束场和核心能量注入:$更多的热量产生,更多的能量。 item.ams_focus_booster.desc=较弱的约束场和核心能量注入:$更多的热量产生,更多的能量。 @@ -1874,7 +1948,7 @@ item.blade_meteorite.name=陨石刀 item.blade_titanium.name=钛扇片 item.blade_tungsten.name=钨强化扇片 item.blades_advanced_alloy.name=高级合金刀片 -item.blades_desh.name=Desh制刀片 +item.blades_desh.name=德什制刀片 item.blades_steel.name=钢制刀片 item.blades_titanium.name=钛制刀片 item.blowtorch.name=喷灯 @@ -1904,6 +1978,7 @@ item.bottle_empty.name=空可乐瓶 item.bottle_mercury.name=一瓶水银 item.bottle_nuka.name=核子可乐 item.bottle_opener.name=Hbm自制开瓶器 +item.bottle_opener.desc=我自己的开瓶器.$谨慎使用! item.bottle_quantum.name=量子核子可乐 item.bottle_rad.name=辐射S~核子可乐 item.bottle_sparkle.name=S~核子可乐 @@ -2013,7 +2088,7 @@ item.canned_yogurt.desc=可能坏掉了,但管它呢 item.canteen_13.name=Vault13水壶 item.canteen_fab.name=极品伏特加 item.canteen_vodka.name=伏特加 -item.cap_fritz.name=弗里茨瓶盖 +item.cap_fritz.name=Fritz弗里茨可乐瓶盖 item.cap_korl.name=Korl瓶盖 item.cap_nuka.name=核子可乐瓶盖 item.cap_quantum.name=樱桃味核子可乐瓶盖 @@ -2057,25 +2132,26 @@ item.centrifuge_element.name=离心元件 item.centrifuge_tower.name=离心塔 item.chainsaw.name=链锯 item.cheese.name=奶酪 -item.cheese_quesadilla.name=奶酪油炸玉米粉饼 -item.chemical_dye.black.name=化学染料(黑色) -item.chemical_dye.blue.name=化学染料(蓝色) -item.chemical_dye.brown.name=化学染料(棕色) -item.chemical_dye.cyan.name=化学染料(青色) -item.chemical_dye.gray.name=化学染料(灰色) -item.chemical_dye.green.name=化学染料(绿色) -item.chemical_dye.lightblue.name=化学染料(浅蓝色) -item.chemical_dye.lime.name=化学染料(石灰) -item.chemical_dye.magenta.name=化学染料(品红色) -item.chemical_dye.orange.name=化学染料(橙色) -item.chemical_dye.pink.name=化学染料(粉色) -item.chemical_dye.purple.name=化学染料(紫色) -item.chemical_dye.red.name=化学染料(红色) -item.chemical_dye.silver.name=化学染料(浅灰色) -item.chemical_dye.white.name=化学染料(白色) -item.chemical_dye.yellow.name=化学染料(黄色) -item.chemistry_set.name=实验室玻璃器皿 -item.chemistry_set_boron.name=实验室玻璃器皿(硼玻璃) +item.cheese_quesadilla.name=墨西哥奶酪饼 +item.cheese_quesadilla.desc=这就是50年份的酵母感染对你的影响. +item.chemical_dye.black.name=化学染料 (黑色) +item.chemical_dye.blue.name=化学染料 (蓝色) +item.chemical_dye.brown.name=化学染料 (棕色) +item.chemical_dye.cyan.name=化学染料 (青色) +item.chemical_dye.gray.name=化学染料 (灰色) +item.chemical_dye.green.name=化学染料 (绿色) +item.chemical_dye.lightblue.name=化学染料 (浅蓝色) +item.chemical_dye.lime.name=化学染料 (石灰色) +item.chemical_dye.magenta.name=化学染料 (洋红色) +item.chemical_dye.orange.name=化学染料 (橙色) +item.chemical_dye.pink.name=化学染料 (粉色) +item.chemical_dye.purple.name=化学染料 (紫色) +item.chemical_dye.red.name=化学染料 (红色) +item.chemical_dye.silver.name=化学染料 (浅灰色) +item.chemical_dye.white.name=化学染料 (白色) +item.chemical_dye.yellow.name=化学染料 (黄色) +item.chemistry_set.name=化学玻璃仪器 +item.chemistry_set_boron.name=化学玻璃仪器(硼玻璃) item.chemistry_template.name=化工厂模板: item.chernobylsign.name=辐射警告标志战斧 item.chlorine_pinwheel.name=氯气转轮 @@ -2300,6 +2376,7 @@ item.debris_graphite.name=热石墨块 item.debris_metal.name=断裂金属棒 item.debris_shrapnel.name=走道碎片 item.definitelyfood.name=完全不脏牌军粮 +item.definitelyfood.desc=是的,$我厌倦了不得不外出$为了找东西吃而不至于饿死,$所以这就是我天才般的解决的方案:$ $吃点可食用的泥土. item.defuser.name=高科技拆弹装置 item.defuser_gold.name=黄金剪线钳 item.demon_core_closed.name=封闭的恶魔核心 @@ -2314,13 +2391,16 @@ item.designator_arty_range.name=远程火炮遥控器 item.designator_manual.name=手动目标指示器 item.designator_range.name=远程目标指示器 item.detonator.name=起爆器 +item.detonator.desc=Shift右击来设置触发位置,$右击来触发! +item.detonator.pos.desc=未设置触发位置!$连接到: %s, %s, %s item.detonator_de.name=死亡炸弹 item.detonator_deadman.name=死亡雷管 item.detonator_laser.name=激光起爆器 item.detonator_multi.name=多发起爆器 item.deuterium_filter.name=氘过滤器 item.diamond_gavel.name=钻石槌 -item.dieselsuit_boots.name=柴油动力高跟鞋 +item.diamond_gavel.desc=那个关于钻石沙砾的笑话! 它现在终于讲得通了!!$ $§9能造成尽可能多的伤害. +item.dieselsuit_boots.name=柴油动力装甲靴 item.dieselsuit_helmet.name=柴油动力头戴式环境传感器 item.dieselsuit_legs.name=柴油动力腿部伺服系统 item.dieselsuit_plate.name=柴油动力控制器 @@ -2389,17 +2469,17 @@ item.envsuit_boots.name=M1TTY环保套装靴子 item.envsuit_helmet.name=M1TTY环保套装头盔 item.envsuit_legs.name=M1TTY环保套装护腿 item.envsuit_plate.name=M1TTY环保套装胸甲 -item.euphemium_boots.name=Ep靴子 -item.euphemium_capacitor.name=Ep电容 -item.euphemium_capacitor.desc=允许被动分散累积的正能量。 -item.euphemium_helmet.name=Ep头盔 -item.euphemium_kit.name=Ep工具箱 -item.euphemium_legs.name=Ep护腿 -item.euphemium_plate.name=Ep胸甲 -item.euphemium_stopper.name=Ep-阻滞者 -item.explosive_lenses.name=炸药透镜阵列 -item.explosive_lenses.desc=8个PBX炸药组装的阵列,带有一个薄的$铝推进器、硬铝外壳和$小型桥丝雷管。 -item.fabsols_vodka.name=Fabsol伏特加 +item.euphemium_boots.name=Ep元素靴子 +item.euphemium_capacitor.name=Ep元素电容器 +item.euphemium_capacitor.desc=允许被动分散累积的正能量. +item.euphemium_helmet.name=Ep元素头盔 +item.euphemium_kit.name=Ep元素工具箱 +item.euphemium_legs.name=Ep元素护腿 +item.euphemium_plate.name=Ep元素胸甲 +item.euphemium_stopper.name=Ep元素-阻滞者 +item.explosive_lenses.name=高能内爆炸药阵列 +item.explosive_lenses.desc=由8个PBX聚合物粘结炸药装配而成,带有一个薄型铝推进器, $硬铝外壳和小型桥丝式雷管. +item.fabsols_vodka.name=Fabsol的伏特加 item.factory_core_advanced.name=高级工厂能源组件 item.factory_core_titanium.name=工厂能源组件 item.fallout.name=一堆辐射尘 @@ -2442,8 +2522,8 @@ item.fluid_identifier_multi.info=通用流体识别码: item.fluid_identifier_multi.info2=次要类型: item.fluid_tank_empty.name=空通用流体罐 item.fluid_tank_full.name=通用流体罐: -item.fluid_tank_lead_empty.name=空危险品罐 -item.fluid_tank_lead_full.name=危险品罐: +item.fluid_tank_lead_empty.name=空的危险品流体罐 +item.fluid_tank_lead_full.name=危险品流体罐: item.fluorite.name=氟石粉 item.flywheel_beryllium.name=铍制飞轮 item.fmn.name=氟硝西泮片 @@ -2472,7 +2552,7 @@ item.fusion_shield_chlorophyte.name=叶绿金属聚变反应堆覆层 item.fusion_shield_desh.name=Desh聚变反应堆覆层 item.fusion_shield_tungsten.name=钨聚变反应堆覆层 item.fusion_shield_vaporwave.name=蒸汽波反应堆覆层 -item.gadget_core.name=钚核心 +item.gadget_core.name=大型钚核心 item.gadget_explosive.name=炸药 item.gadget_kit.name=小玩意 套件 item.gadget_wireing.name=线路 @@ -2556,7 +2636,7 @@ item.gun_avenger.name=CZ57复仇者机枪 item.gun_b92.name=§9B92能量手枪§r item.gun_b92_ammo.name=§9B92能量单元§r item.gun_b93.name=§cB93能量手枪§r -item.gun_benelli.name=伯奈利自动霰弹枪(Drum Mod) +item.gun_benelli.name=伯奈利自动霰弹枪(弹鼓) item.gun_bf.name=BEL item.gun_bf_ammo.name=Mk.V小型AMAT-炮弹 –野火型 item.gun_bio_revolver.name=Atlas @@ -2609,8 +2689,8 @@ item.gun_lever_action.name=马腿杠杆式霰弹枪[原版] item.gun_lever_action_ammo.name=12x74 鹿弹 item.gun_lever_action_dark.name=马腿杠杆式霰弹枪[黑暗] item.gun_lever_action_sonata.name=自杀霰弹 -item.gun_lever_action_sonata_2.name=§cSonata的麦克风§r -item.gun_lunatic_marksman.name=Lunatic狙击步枪 +item.gun_lever_action_sonata_2.name=§c奏鸣的麦克风§r +item.gun_lunatic_marksman.name=月都科技狙击步枪 item.gun_m2.name=勃朗宁M2HB型重机枪 item.gun_minigun.name=CZ53机枪 item.gun_mirv.name=M42核弹发射器 "试验型MIRV" @@ -2671,9 +2751,9 @@ item.gun_uboinik.name=Uboinik item.gun_uboinik_ammo.name=12x70 鹿弹 item.gun_uzi.name=Uzi冲锋枪 item.gun_uzi_ammo.name=.22LR子弹 -item.gun_uzi_saturnite.name=土星Uzi冲锋枪 -item.gun_uzi_saturnite_silencer.name=带消音器的土星Uzi冲锋枪 -item.gun_uzi_silencer.name=带消音器的Uzi冲锋枪 +item.gun_uzi_saturnite.name=土星金属Uzi +item.gun_uzi_saturnite_silencer.name=带消音器的土星金属Uzi +item.gun_uzi_silencer.name=带消音器的Uzi item.gun_xvl1456.name=XVL1456陶子加农炮原型机 item.gun_xvl1456_ammo.name=贫化铀235子弹 item.gun_zomg.name=奇点能湮灭射线“ZOMG炮” @@ -2751,8 +2831,9 @@ item.ingot_boron.name=硼锭 item.ingot_c4.name=一块C-4 item.ingot_cadmium.name=镉锭 item.ingot_calcium.name=钙锭 -item.ingot_cdalloy.name=镉钢锭 -item.ingot_chainsteel.name=重链钢 +item.ingot_cdalloy.name=镉钢合金锭 +item.ingot_cft.name=结晶富勒烯 +item.ingot_chainsteel.name=沉重链钢 item.ingot_co60.name=钴-60锭 item.ingot_cobalt.name=钴锭 item.ingot_combine_steel.name=CMB钢锭 @@ -2808,14 +2889,15 @@ item.ingot_red_copper.name=紫铜锭 item.ingot_reiium.name=雷恩锭 item.ingot_rubber.name=橡胶锭 item.ingot_saturnite.name=土星锭 -item.ingot_schrabidate.name=Sa酸铁锭 -item.ingot_schrabidium.name=Sa326锭 -item.ingot_schrabidium_fuel.name=Sa326燃料锭 -item.ingot_schraranium.name=低丰度Sa326锭 -item.ingot_schraranium.desc=在Sa326嬗变器中由铀制成 -item.ingot_semtex.name=塞姆汀塑胶炸药块 -item.ingot_smore.name=S'more 锭 -item.ingot_solinium.name=Sa327锭 +item.ingot_schrabidate.name=Sa326元素酸化铁锭 +item.ingot_schrabidium.name=Sa326异变铀金属锭 +item.ingot_schrabidium_fuel.name=Sa326异变铀金属燃料锭 +item.ingot_schraranium.name=低丰度Sa326异变铀金属锭 +item.ingot_schraranium.desc=在Sa326异变铀金属嬗变器中由铀锭嬗变而来 +item.ingot_semtex.name=塞姆汀塑胶炸药 +item.ingot_semtex.desc=塞姆汀H塑料炸药$适用于多种应用的明星炸药.$可食用 +item.ingot_smore.name=S'more饼干 +item.ingot_solinium.name=Sa327索林锭 item.ingot_sr90.name=锶-90锭 item.ingot_starmetal.name=§9星辉锭§r item.ingot_steel.name=钢锭 @@ -2859,12 +2941,17 @@ item.iv_xp.name=经验包 item.iv_xp_empty.name=空的经验包 item.jackt.name=时尚防弹夹克 item.jackt2.name=时尚防弹夹克2:东京漂移 -item.jetpack_boost.name=弹跳背包 -item.jetpack_break.name=缓降背包 +item.jetpack.desc=本身可单独穿戴! +item.jetpack_boost.name=强力喷气背包 +item.jetpack_boost.desc=拥有强劲动力的矢量喷气背包.$燃油消耗量大幅增加. +item.jetpack_break.name=建筑工喷气背包 +item.jetpack_break.desc=可以让你在空中自动悬停的常规动力喷气背包.$潜行将关闭悬停模式.$悬停模式将消耗更少的燃料并增加你的空中机动性. item.jetpack_fly.name=喷气背包 +item.jetpack_fly.desc=常规动力喷气背包,提供简单的上升动力. item.jetpack_tank.name=喷气背包备用燃料罐 item.jetpack_vector.name=矢量喷气背包 -item.journal_bj.name=被威士忌浸透的笔记本 +item.jetpack_vector.desc=超高机动性喷气背包.$更高的燃料消耗率. +item.journal_bj.name=被威士忌泡湿透的笔记本 item.journal_pip.name=生存主义者日记 item.journal_silver.name=承包商注释 item.key.name=钥匙 @@ -2885,7 +2972,9 @@ item.laser_crystal_digamma.name=Digamma迪伽马激光晶体 item.laser_crystal_dnt.desc=双聚态中子-Spark费米子超晶体 item.laser_crystal_dnt.name=Spark激光晶体 item.lead_gavel.name=铅槌 +item.lead_gavel.desc=你被判决为铅中毒. item.lemon.name="柠檬" +item.lemon.desc=嗯,不错. item.letter.name=快捷邮件 item.levitation_unit.name=重力控制器 item.lignite.name=褐煤 @@ -2898,7 +2987,9 @@ item.liquidator_plate.name=核废土清道夫套装胸甲 item.lithium.name=锂锭 item.lodestone.name=磁石 item.loop_stew.name=程序猿专属早餐 +item.loop_stew.desc=一份非常非常非常健康的早餐. item.loops.name=五彩麦圈 +item.loops.desc=bro,我能拿你一些麦圈吗? item.loot_10.name=10号导弹战利箱 item.loot_15.name=15号导弹战利箱 item.loot_misc.name=普通导弹战利箱 @@ -2925,28 +3016,44 @@ item.mechanism_rifle_2.name=先进步枪机构 item.mechanism_special.name=高科技武器机构 item.med_bag.name=医疗包 item.med_ipecac.name=吐根酊催吐剂 +item.med_ipecac.desc=苦涩的果汁会使你的胃$强行排出里面的东西. item.med_ptsd.name=PTSD治疗药物 +item.med_ptsd.desc=这根本不是PTSD治疗药物,$只是换了个瓶子装的吐根酊! item.med_schiziphrenia.name=抗精神分裂症药物 +item.med_schiziphrenia.desc=求求了,让那声音消失,就一会儿.$ $...$最好不要服用. item.medal_liquidator.name=核废土清道夫勋章 item.meltdown_tool.name=达洛夫快速熔毁装置 -item.memespoon.name=§ee花园园丁 +item.memespoon.name=§e花园园丁 +item.memespoon.desc=§810级铲子$§b持用者在火箭跳跃时可造成暴击$§c减缓 20%% 开火速度$§c没有随机的暴击 item.memory.name=item.null.name item.mese_gavel.name=Mese槌 item.mese_pickaxe.name=Mese镐 item.meteor_charm.name=陨石项链 item.meteor_remote.name=陨石召唤器 item.meteorite_sword.name=陨石剑 -item.meteorite_sword_seared.name=陨石剑(烧焦) -item.meteorite_sword_reforged.name=陨石剑(重铸) -item.meteorite_sword_hardened.name=陨石剑(硬化) -item.meteorite_sword_alloyed.name=陨石剑(合金) -item.meteorite_sword_machined.name=陨石剑(机械加工) -item.meteorite_sword_treated.name=陨石剑(精制) -item.meteorite_sword_etched.name=陨石剑(刻蚀) -item.meteorite_sword_bred.name=陨石剑(增殖) -item.meteorite_sword_irradiated.name=陨石剑(辐照) -item.meteorite_sword_fused.name=陨石剑(熔融) -item.meteorite_sword_baleful.name=陨石剑(凶恶) +item.meteorite_sword.desc=由一颗坠落之星锻造而成$比大多数地球上的刀刃锋利 +item.meteorite_sword_seared.name=陨石剑 (炽热) +item.meteorite_sword_seared.desc=火焰增强了刀刃$让它更加强大 +item.meteorite_sword_reforged.name=陨石剑 (重铸) +item.meteorite_sword_reforged.desc=这把剑已经被重铸了$以改正过去的缺陷 +item.meteorite_sword_hardened.name=陨石剑 (硬化) +item.meteorite_sword_hardened.desc=极高的压力让$刀刃进一步的硬化了 +item.meteorite_sword_alloyed.name=陨石剑 (合金化) +item.meteorite_sword_alloyed.desc==钴元素填充剑身上的裂缝$进一步加强了这把剑 +item.meteorite_sword_machined.name=陨石剑 (机械加工) +item.meteorite_sword_machined.desc=使用了先进的机械来$进一步改进刀刃 +item.meteorite_sword_treated.name=陨石剑 (治疗) +item.meteorite_sword_treated.desc=化学物质的应用使$这把剑更加强大 +item.meteorite_sword_etched.name=陨石剑 (蚀刻) +item.meteorite_sword_etched.desc=酸清洗了原材料,$打造出了这把完美的剑 +item.meteorite_sword_bred.name=陨石剑 (增殖) +item.meteorite_sword_bred.desc=巨大的热量和辐射$压缩了这把剑的材料 +item.meteorite_sword_irradiated.name=陨石剑 (辐照处理) +item.meteorite_sword_irradiated.desc=原子的力量$赋予了这把剑新的力量 +item.meteorite_sword_fused.name=陨石剑 (熔融) +item.meteorite_sword_fused.desc=这把剑已经沐浴过了$来自星星的远古力量 +item.meteorite_sword_baleful.name=陨石剑 (B.F野火烧炼处理) +item.meteorite_sword_baleful.desc=这把剑在远远超过$正常材料所能承受的温度下被锻造出来 item.mike_cooling_unit.name=氘冷却装置 item.mike_core.name=铀涂层氘罐 item.mike_deut.name=氘罐 @@ -2981,6 +3088,7 @@ item.missile_nuclear_cluster.name=热核导弹 item.missile_rain.name=炸弹雨 item.missile_schrabidium.name=Sa326导弹 item.missile_shuttle.name=万金罗宾航天飞机 +item.missile_shuttle.desc=今夜, 在bo''om gear真人秀上:$James吸含铅汽油吸嗨了,$Richard把整个项目的预算都花在了$一张损坏的PNG色图文件上,$而我忘记了打开RBMK反应堆的$水循环系统,等反应过来,$整个基地都被炸飞了. item.missile_skin_camo.name=导弹外壳:迷彩 item.missile_skin_color.desc=我再也找不到我的导弹了! item.missile_skin_desert.name=导弹外壳:沙漠迷彩 @@ -3000,6 +3108,7 @@ item.missile_skin_soviet_glory.desc=услуга перевода недосту item.missile_skin_soviet_stank.name=导弹外壳:苏维埃不朽 item.missile_skin_soviet_stank.desc=这个真的很有60年代的味道。 item.missile_soyuz.name=联盟-FG运载火箭 +item.missile_soyuz.desc=Skin:$Original$Luna Space Center$Post War item.missile_soyuz_lander.name=联盟号轨道舱 item.missile_soyuz_lander.desc=劣质着陆器! item.missile_strong.name=强化型高爆导弹 @@ -3010,8 +3119,8 @@ item.mold_base.name=毛坯铸造模具 item.mold.name=铸造模具 item.morning_glory.name=牵牛花 item.motor.name=马达 -item.motor_bismuth.name=铋马达 -item.motor_desh.name=Desh马达 +item.motor_bismuth.name=铋制马达 +item.motor_desh.name=德什制马达 item.mp_c_1.name=1级导弹制导芯片 item.mp_c_2.name=2级导弹制导芯片 item.mp_c_3.name=3级导弹制导芯片 @@ -3146,6 +3255,7 @@ item.multitool_miner.name=动力拳套[采矿激光] item.multitool_silk.name=动力拳套[精准采集] item.multitool_sky.name=动力拳套[划破天际] item.mysteryshovel.name=易碎锹 +item.mysteryshovel.desc=失去了却没有被忘记 item.n2_charge.name=大型炸药 item.neutrino_lens.name=中子透镜 item.neutron_reflector.name=中子反射板 @@ -3260,31 +3370,31 @@ item.ore.titanium=钛 item.ore.tungsten=钨 item.ore.thorium=钍 item.ore.uranium=铀 -item.ore_bedrock.name=基岩%s矿 -item.ore_byproduct.b_aluminium.name=铝晶体碎片 -item.ore_byproduct.b_bismuth.name=铋晶体碎片 -item.ore_byproduct.b_calcium.name=钙晶体碎片 -item.ore_byproduct.b_copper.name=铜晶体碎片 -item.ore_byproduct.b_iron.name=铁晶体碎片 -item.ore_byproduct.b_lead.name=铅晶体碎片 -item.ore_byproduct.b_lithium.name=锂晶体碎片 -item.ore_byproduct.b_polonium.name=钋晶体碎片 -item.ore_byproduct.b_radium.name=镭晶体碎片 -item.ore_byproduct.b_silicon.name=硅晶体碎片 -item.ore_byproduct.b_sulfur.name=硫晶体碎片 -item.ore_byproduct.b_technetium.name=锝晶体碎片 -item.ore_byproduct.b_titanium.name=钛晶体碎片 -item.ore_byproduct.b_uranium.name=铀晶体碎片 -item.ore_centrifuged.name=离心%s矿 -item.ore_cleaned.name=清洁%s矿 -item.ore_deepcleaned.name=深清洁%s矿 -item.ore_enriched.name=富集%s矿 -item.ore_nitrated.name=硝化%s矿 -item.ore_nitrocrystalline.name=亚硝基结晶%s矿 -item.ore_purified.name=净化%s矿 -item.ore_radcleaned.name=经辐射清洁的%s矿 -item.ore_seared.name=灼热的%s矿 -item.ore_separated.name=分离的%s矿 +item.ore_bedrock.name=%s 基岩矿粉 +item.ore_byproduct.b_aluminium.name=结晶铝碎片 +item.ore_byproduct.b_bismuth.name=结晶铋碎片 +item.ore_byproduct.b_calcium.name=结晶钙碎片 +item.ore_byproduct.b_copper.name=结晶铜碎片 +item.ore_byproduct.b_iron.name=结晶铁碎片 +item.ore_byproduct.b_lead.name=结晶铅碎片 +item.ore_byproduct.b_lithium.name=结晶锂碎片 +item.ore_byproduct.b_polonium.name=结晶钋碎片 +item.ore_byproduct.b_radium.name=结晶镭碎片 +item.ore_byproduct.b_silicon.name=结晶硅碎片 +item.ore_byproduct.b_sulfur.name=结晶硫碎片 +item.ore_byproduct.b_technetium.name=结晶锝碎片 +item.ore_byproduct.b_titanium.name=结晶钛碎片 +item.ore_byproduct.b_uranium.name=结晶铀碎片 +item.ore_centrifuged.name=离心 %s 基岩矿粉 +item.ore_cleaned.name=洗净 %s 基岩矿粉 +item.ore_deepcleaned.name=深度清洁 %s 基岩矿粉 +item.ore_enriched.name=富集 %s 基岩矿粉 +item.ore_nitrated.name=硝化 %s 基岩矿粉 +item.ore_nitrocrystalline.name=硝化结晶 %s 基岩矿粉 +item.ore_purified.name=纯化 %s 基岩矿粉 +item.ore_radcleaned.name=辐照清洁 %s 基岩矿粉 +item.ore_seared.name=灼烧 %s 基岩矿粉 +item.ore_separated.name=分离提纯 %s 基岩矿粉 item.overfuse.name=奇异螺丝刀 item.overfuse.desc=说啥? item.oxy_mask.name=氧气面罩 @@ -3325,6 +3435,7 @@ item.particle_strange.name=奇夸克胶囊 item.particle_tachyon.name=超光速粒子密封胶囊 item.parts_legendary.name=传奇零件 item.peas.name=豌豆 +item.peas.desc=他接受了你的贡品. item.pedestal_steel.name=钢底座 item.pellet_advanced.name=高级Watz性能增强剂 item.pellet_antimatter.name=反物质团 @@ -3411,6 +3522,7 @@ item.plan_c.desc=致死 item.plant_item.mustardwillow.name=芥子柳叶 item.plant_item.rope.name=麻绳 item.plant_item.tobacco.name=烟叶 +item.plastic_bag.name=塑料袋 item.plate_advanced_alloy.name=高级合金板 item.plate_aluminium.name=铝板 item.plate_armor_ajr.name=铁皮装甲板 @@ -3446,6 +3558,7 @@ item.plate_saturnite.name=土星板 item.plate_schrabidium.name=Sa326板 item.plate_steel.name=钢板 item.plate_titanium.name=钛板 +item.plate_welded.name=焊接的%s板 item.polaroid.name=偏光片 item.pollution_detector.name=污染探测器 item.powder_actinium.name=锕粉 @@ -3456,6 +3569,7 @@ item.powder_asbestos.name=石棉粉 item.powder_asbestos.desc=§o\"Sniffffffff- MHHHHHHMHHHHHHHHH\"§r item.powder_ash.coal.name=煤灰 item.powder_ash.fly.name=飞尘 +item.powder_ash.fullerene.name=富勒烯 item.powder_ash.misc.name=灰尘 item.powder_ash.soot.name=细烟灰 item.powder_ash.wood.name=木灰 @@ -3476,7 +3590,7 @@ item.powder_caesium.name=铯粉 item.powder_calcium.name=钙粉 item.powder_cerium.name=铈粉 item.powder_cerium_tiny.name=小撮铈粉 -item.powder_chlorocalcite.name=氯方解石 +item.powder_chlorocalcite.name=氯方解石粉 item.powder_chlorophyte.name=叶绿粉 item.powder_cloud.name=云粉末 item.powder_co60.name=钴-60粉 @@ -3498,8 +3612,8 @@ item.powder_diamond.name=钻石粉 item.powder_dineutronium.name=双聚中子态素粉 item.powder_dura_steel.name=高速钢粉 item.powder_emerald.name=绿宝石粉 -item.powder_euphemium.name=Ep粉 -item.powder_euphemium.desc=粉红色$尝起来像草莓。 +item.powder_euphemium.name=Ep元素粉 +item.powder_euphemium.desc=粉色的粉末..$尝起来像草莓. item.powder_fertilizer.name=工业肥料 item.powder_fire.name=火焰粉 item.powder_fire.desc=用于多用途炸弹:燃烧弹很有趣! @@ -3578,6 +3692,7 @@ item.primer_buckshot.name=鹿弹底火[x12] item.protection_charm.name=守护项链 item.prototype_kit.name=原型 套件 item.pudding.name=布丁 +item.pudding.desc=如果他做了呢?$如果他没有呢?$如果这个世界是布丁做的呢? item.pwr_fuel.bfb_am_mix.name=燃料级镅压水堆BFB燃料棒 item.pwr_fuel.bfb_pu241.name=钚-241压水堆BFB棒 item.pwr_fuel.hea242.name=HEA-242 高浓缩度镅-242压水堆燃料棒 @@ -3628,44 +3743,45 @@ item.radaway.name=消辐宁 item.radaway_flush.name=超级消辐宁 item.radaway_strong.name=强效消辐宁 item.radx.name=防辐射药 -item.radx.desc=在3分钟内增加0.2(37%)的抗辐射能力 -item.rag.name=布 -item.rag_damp.name=湿布 -item.rag_piss.name=沾有尿的布 -item.rbmk_fuel_balefire.name=RBMK反应堆野火燃料棒 -item.rbmk_fuel_balefire_gold.name=RBMK反应堆激活态金-198燃料棒 -item.rbmk_fuel_drx.name=§cRBMK反应堆F迪伽马粒子燃料棒§r -item.rbmk_fuel_empty.name=空 RBMK反应堆燃料棒 -item.rbmk_fuel_flashlead.name=RBMK反应堆闪光铅燃料棒 -item.rbmk_fuel_hea241.name=HEA-241 RBMK反应堆高浓缩度镅-241燃料棒 -item.rbmk_fuel_hea242.name=HEA-242 RBMK反应堆高浓缩度镅-242燃料棒 -item.rbmk_fuel_heaus.name=HEAus RBMK反应堆高浓缩度奥斯燃料棒 -item.rbmk_fuel_hen.name=HEN RBMK反应堆高浓缩度镎燃料棒 -item.rbmk_fuel_hes.name=HES RBMK反应堆高浓缩度Sa326燃料棒 -item.rbmk_fuel_hep.name=HEP-239 RBMK反应堆高浓缩度钚-239燃料棒 -item.rbmk_fuel_hep241.name=HEP-241 RBMK反应堆高浓缩度钚-241燃料棒 -item.rbmk_fuel_heu233.name=HEU-233 RBMK反应堆高浓缩度铀-233燃料棒 -item.rbmk_fuel_heu235.name=HEU-235 RBMK反应堆高浓缩度铀-235燃料棒 -item.rbmk_fuel_lea.name=LEA RBMK反应堆低浓缩度镅-242燃料棒 -item.rbmk_fuel_leaus.name=LEAus RBMK反应堆低浓缩度奥斯燃料棒 -item.rbmk_fuel_lep.name=LEP RBMK反应堆低浓缩度钚-239燃料棒 -item.rbmk_fuel_les.name=LES RBMK反应堆低浓缩度Sa326燃料棒 -item.rbmk_fuel_mea.name=MEA RBMK反应堆中浓缩度镅-242燃料棒 -item.rbmk_fuel_men.name=MEN RBMK反应堆中浓缩度镎-237燃料棒 -item.rbmk_fuel_mep.name=MEP RBMK反应堆中浓缩度钚-239燃料棒 -item.rbmk_fuel_mes.name=MES RBMK中浓缩度Sa326燃料棒 -item.rbmk_fuel_meu.name=MEU RBMK中浓缩度铀-235燃料棒 -item.rbmk_fuel_mox.name=MOX RBMK反应堆燃料棒 -item.rbmk_fuel_po210be.name=钋210-铍 RBMK反应堆中子源 -item.rbmk_fuel_pu238be.name=钚238-铍 RBMK反应堆中子源 -item.rbmk_fuel_ra226be.name=镭226-铍 RBMK反应堆中子源 -item.rbmk_fuel_thmeu.name=ThMEU RBMK反应堆中浓缩度铀-233导向钍燃料棒 -item.rbmk_fuel_ueu.name=NU RBMK反应堆未浓缩铀燃料棒 -item.rbmk_fuel_zfb_am_mix.name=ZFB 燃料级镅RBMK反应堆燃料棒 -item.rbmk_fuel_zfb_bismuth.name=ZFB 铋RBMK反应堆燃料棒 -item.rbmk_fuel_zfb_pu241.name=ZFB 钚-241RBMK反应堆燃料棒 -item.rbmk_lid.name=RBMK反应堆覆盖层 -item.rbmk_lid_glass.name=RBMK反应堆玻璃覆盖层 +item.radx.desc=增加0.2(37%%)的抗辐射能力,持续3分钟 +item.rag.name=破布 +item.rag.desc=丢进水中合成湿破布.$右击尿在破布上. +item.rag_damp.name=湿破布 +item.rag_piss.name=尿湿润的破布 +item.rbmk_fuel_balefire.name=RBMK石墨式反应堆野火燃料棒 +item.rbmk_fuel_balefire_gold.name=激活态金-198 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_drx.name=§cϜ迪伽马粒子 RBMK石墨式反应堆燃料棒§r +item.rbmk_fuel_empty.name=空 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_flashlead.name=激活态铅 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hea241.name=HEA-241 高浓缩度镅-241 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hea242.name=HEA-242 高浓缩度镅-242 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_heaus.name=HEAus 高浓缩度奥金 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hen.name=HEN 高浓缩度镎-237 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hes.name=HES 高浓缩度Sa-326 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hep.name=HEP-239 高浓缩度钚-239 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hep241.name=HEP-241 高浓缩度钚-241 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_heu233.name=HEU-233 高浓缩度铀-233 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_heu235.name=HEU-235 高浓缩度铀-235 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_lea.name=LEA 低浓缩度镅-242 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_leaus.name=LEAus 低浓缩度奥金 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_lep.name=LEP 低浓缩度钚-239 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_les.name=LES 低浓缩度Sa-326 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_mea.name=MEA 中浓缩度镅-242 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_men.name=MEN 中浓缩度镎-237 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_mep.name=MEP 中浓缩度钚-239 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_mes.name=MES 中浓缩度Sa-326 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_meu.name=MEU 中浓缩度铀-235 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_mox.name=MOX 钚-铀混合RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_po210be.name=钋210-铍RBMK石墨式反应堆中子源 +item.rbmk_fuel_pu238be.name=钚238-铍RBMK石墨式反应堆中子源 +item.rbmk_fuel_ra226be.name=镭226-铍RBMK石墨式反应堆中子源 +item.rbmk_fuel_thmeu.name=ThMEU 中浓缩度铀-235导向钍 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_ueu.name=NU 未浓缩铀 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_zfb_am_mix.name=ZFB 锆混合反应堆级镅快速增殖式RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_zfb_bismuth.name=ZFB 锆混合铋快速增殖式RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_zfb_pu241.name=ZFB 锆混合钚-241快速增殖式RBMK石墨式反应堆燃料棒 +item.rbmk_lid.name=RBMK石墨式反应堆覆盖层 +item.rbmk_lid_glass.name=RBMK石墨式反应堆玻璃覆盖层 item.rbmk_pellet_balefire.name=野火燃料芯块 item.rbmk_pellet_balefire_gold.name=激活态金-198燃料芯块 item.rbmk_pellet_drx.name=§cF迪伽马粒子燃料芯块§r @@ -3816,16 +3932,16 @@ item.rod_lithium.name=锂棒 item.rod_mox_fuel.name=核反应堆 MOX燃料棒 item.rod_mox_fuel_depleted.name=核反应堆 枯竭MOX燃料棒 item.rod_neptunium.name=镎燃料棒 -item.rod_of_discord.name=混沌传送杖 +item.rod_of_discord.name=混沌传送法杖 item.rod_plutonium.name=钚棒 -item.rod_plutonium_fuel.name=核反应堆 钚燃料棒 -item.rod_plutonium_fuel_depleted.name=核反应堆 枯竭钚燃料棒 -item.rod_polonium.name=钋棒 -item.rod_pu238.name=钚-238燃料棒 -item.rod_pu239.name=钚-239燃料棒 -item.rod_pu240.name=钚-240燃料棒 -item.rod_quad_balefire.name=四联野火燃料棒 -item.rod_quad_balefire_blazing.name=炽热的四联野火燃料棒 +item.rod_plutonium_fuel.name=钚燃料棒 +item.rod_plutonium_fuel_depleted.name=枯竭钚燃料棒 +item.rod_polonium.name=钋-210棒 +item.rod_pu238.name=钚238燃料棒 +item.rod_pu239.name=钚239燃料棒 +item.rod_pu240.name=钚240燃料棒 +item.rod_quad_balefire.name=四联BF燃料棒 +item.rod_quad_balefire_blazing.name=炽热的四联BF燃料棒 item.rod_quad_coolant.name=四联燃料棒[冷却液] item.rod_quad_euphemium.name=枯竭的四联Sa326燃料棒 item.rod_quad_lead.name=四联铅棒 @@ -3933,16 +4049,18 @@ item.sat_resonator.name=X晶体共振卫星 item.sat_scanner.name=绘测和资源探测卫星 item.sawblade.name=锯片 item.schnitzel_vegan.name=“素”肉排 -item.schrabidium_axe.name=Sa326斧 -item.schrabidium_boots.name=Sa326靴子 -item.schrabidium_hammer.name=Sa326锤 -item.schrabidium_helmet.name=Sa326头盔 -item.schrabidium_hoe.name=Sa326锄 -item.schrabidium_legs.name=Sa326护腿 -item.schrabidium_pickaxe.name=Sa326镐 -item.schrabidium_plate.name=Sa326胸甲 -item.schrabidium_shovel.name=Sa326锹 -item.schrabidium_sword.name=Sa326剑 + +item.schrabidium_axe.name=Sa326异变铀金属斧 +item.schrabidium_boots.name=Sa326异变铀金属靴子 +item.schrabidium_hammer.name=Sa326异变铀金属锤 +item.schrabidium_hammer.desc=尽管上面写着 "+1000000000"$的伤害", 但它实际上是 "一击必杀任何东西" +item.schrabidium_helmet.name=Sa326异变铀金属头盔 +item.schrabidium_hoe.name=Sa326异变铀金属锄 +item.schrabidium_legs.name=Sa326异变铀金属护腿 +item.schrabidium_pickaxe.name=Sa326异变铀金属镐 +item.schrabidium_plate.name=Sa326异变铀金属胸甲 +item.schrabidium_shovel.name=Sa326异变铀金属锹 +item.schrabidium_sword.name=Sa326异变铀金属剑 item.scrap.name=废料 item.scrap_nuclear.name=放射性废料 item.scrap_oil.name=油性废料 @@ -3964,10 +4082,14 @@ item.servo_set.name=伺服装置 item.servo_set_desh.name=Desh伺服装置 item.shackles.name=枷锁 item.shimmer_axe.name=闪耀斧 +item.shimmer_axe.desc=木材! +item.shimmer_axe.desc.hide=shim的工具箱得到了 扩-展 item.shimmer_axe_head.name=重型斧头 item.shimmer_handle.name=强化聚合物手柄 item.shimmer_head.name=重型锤头 item.shimmer_sledge.name=闪耀锤 +item.shimmer_sledge.desc=可以破坏一切东西,甚至包括传送门方块. +item.shimmer_sledge.desc.hide=shimmer别$放下那把锤子$你会伤到别人的$shimmer别$shimmer求你了 item.singularity.name=奇点 item.singularity_counter_resonant.name=可控反振谐奇点 item.singularity_micro.name=微型奇点 @@ -4055,7 +4177,7 @@ item.steel_shovel.name=钢锹 item.steel_sword.name=钢剑 item.stick_c4.name=C-4炸药棒 item.stick_dynamite.name=炸药棒 -item.stick_dynamite_fishing.name=捕鱼炸药棒 +item.stick_dynamite_fishing.name=炸鱼用炸药棒 item.stick_semtex.name=塞姆汀塑胶炸药棒 item.stick_tnt.name=TNT棒 item.stopsign.name=停车标志战斧 @@ -4089,6 +4211,7 @@ item.tank_waste_7.name=泥浆容器 item.tank_waste_8.name=泥浆容器 item.telepad.name=传送部件 item.tem_flakes.name=Tem薄片 +item.tem_flakes.desc=能回复一颗心的廉价Tem薄片!!!$能回复一颗心的Tem薄片$能回复生命值的Tem薄片(昂贵) item.template_folder.name=机器模板文件夹 item.template_folder.desc=机器模板:纸张+染料$流体识别码:铁板+染料$锻模:空白锻模 $警报声轨:绝缘体+钢板 item.test_nuke_igniter.name=点火器 @@ -4119,10 +4242,10 @@ item.titanium_shovel.name=钛锹 item.titanium_sword.name=钛剑 item.toothpicks.name=牙签 item.train.cargo_tram.name=平板载货电车 -item.trenchmaster_boots.name=Trenchmaster的靴子 -item.trenchmaster_helmet.name=Trenchmaster的头盔 -item.trenchmaster_legs.name=Trenchmaster的护腿 -item.trenchmaster_plate.name=Trenchmaster的胸甲 +item.trenchmaster_boots.name=战术大师的靴子 +item.trenchmaster_helmet.name=战术大师的头盔 +item.trenchmaster_legs.name=战术大师的护腿 +item.trenchmaster_plate.name=战术大师的胸甲 item.trinitite.name=玻璃石 item.tritium_deuterium_cake.name=氚氘饼 item.tritium_deuterium_cake.desc=不是真正的蛋糕,而是很棒的$聚变燃料! @@ -4142,7 +4265,9 @@ item.turret_rocket_ammo.name=火箭炮塔弹药 item.turret_spitfire_ammo.name=防空炮弹 item.turret_tau_ammo.name=陶子炮塔铀弹药 item.twinkie.name=小蛋糕 +item.twinkie.desc=600年前就过期了! item.ullapool_caber.name=阿勒浦长木杆 +item.ullapool_caber.desc=苏格兰式高效面部切除术.$一个清醒的人会扔掉它... item.undefined.name=形态未定义物质 item.upgrade_5g.name=5G辐射发射器升级 item.upgrade_afterburn_1.name=一级粉色机器升级 @@ -4183,7 +4308,14 @@ item.v1.name=V1 item.volcanic_pickaxe.name=熔岩镐 item.wand_d.name=调试魔杖 item.wand_k.name=建筑魔杖 +item.wand_k.block=保存的方块: %s +item.wand_k.desc=创造模式专有物品$"毁灭往往带来创造"$(右击以选择点,$shift右击选择放置方块种类!) +item.wand_k.null=未选择位置! +item.wand_k.pos=坐标: %s, %s, %s item.wand_s.name=结构魔杖 +item.wand_s.desc=创造模式专有物品$"每个人都能使用的快速建造多方块结构的工具!"$(shift右击以切换到下一结构,$右击以生成结构!) +item.structure_custommachine.name=自定义机器结构输出杖 +item.structure_custommachine.desc=点击自定义机器结构定位锚以确认$自定义机器核心块的位置.$将Position1和Position2之间所有方块$以及其metadata数据一起输出到hbmConfig下的"CMstructureOutput.txt". item.warhead_buster_large.name=大型掩体破坏弹头 item.warhead_buster_medium.name=中型掩体破坏弹头 item.warhead_buster_small.name=小型掩体破坏弹头 @@ -4265,22 +4397,27 @@ item.wire_schrabidium.name=Sa326线 item.wire_tungsten.name=钨线 item.wiring_red_copper.name=电缆卷 item.wood_gavel.name=木槌 +item.wood_gavel.desc=砰砰! item.wrench.name=管道扳手 -item.wrench_archineer.name=Archineer扳手 +item.wrench.desc=机械师理查德 +item.wrench_archineer.name=Archineer的扳手 item.wrench_flipped.name=刺刀扳手 -item.xanax.name=NAXA 抗迪伽马药物 -item.xanax.desc=移除500mDRX迪伽马辐射 +item.wrench_flipped.desc=扳手2:扳手 +item.xanax.name=NAXA 抗Ϝ迪伽马辐射药物 +item.xanax.desc=移除500mDRX的Ϝ迪伽马辐射 item.zirconium_legs.name=锆质护腿 -itemGroup.tabBlocks=HBM 矿石和方块 -itemGroup.tabConsumable=HBM 食物和装备 -itemGroup.tabControl=HBM 机器项目和燃料 -itemGroup.tabMachine=HBM 机器 -itemGroup.tabMissile=HBM 导弹和卫星 -itemGroup.tabNuke=HBM 炸弹 -itemGroup.tabParts=HBM 资源和零件 -itemGroup.tabTemplate=HBM 模板 -itemGroup.tabTest=HBM的核科技mod测试项[S166、Bismarck、nukesteve联合汉化] -itemGroup.tabWeapon=HBM 武器和炮塔 + +itemGroup.tabBlocks=核技术矿石和方块 +itemGroup.tabConsumable=核技术食物和装备 +itemGroup.tabControl=核技术机器项目和燃料 +itemGroup.tabMachine=核技术机器 +itemGroup.tabMissile=核技术导弹和卫星 +itemGroup.tabNuke=核技术炸弹 +itemGroup.tabParts=核技术资源和零件 +itemGroup.tabTemplate=核技术模板 +itemGroup.tabTest=HBM的核科技mod测试项[S166, Bismarck, nukesteve联合汉化] +itemGroup.tabWeapon=核技术武器和炮塔 + potion.hbm_bang=! ! ! potion.hbm_death=重度突变 potion.hbm_lead=铅中毒 @@ -4384,8 +4521,8 @@ tile.basalt_fluorite.name=富含氟石的玄武岩 tile.basalt_gem.name=富含宝石的玄武岩 tile.basalt_polished.name=抛光玄武岩 tile.basalt_smooth.name=平滑玄武岩 -tile.basalt_sulfur.name=富含硫的玄武岩 -tile.basalt_tiles.name=玄武岩砖 +tile.basalt_sulfur.name=富硫玄武岩 +tile.basalt_tiles.name=玄武岩瓦 tile.blast_door.name=防爆闸门 tile.block_actinium.name=锕块 tile.block_advanced_alloy.name=高级合金块 @@ -4396,16 +4533,16 @@ tile.block_bakelite.name=电木块 tile.block_beryllium.name=铍块 tile.block_bismuth.name=铋块 tile.block_boron.name=硼块 -tile.block_c4.name=C-4块 +tile.block_c4.name=C-4炸药块 tile.block_cadmium.name=镉块 -tile.block_cap_fritz.name=弗里茨瓶盖方块 -tile.block_cap_korl.name=Korl瓶盖方块 -tile.block_cap_nuka.name=核子可乐瓶盖方块 -tile.block_cap_quantum.name=樱桃味核子可乐瓶盖方块 -tile.block_cap_rad.name=辐射 S~核子可乐瓶盖方块 -tile.block_cap_sparkle.name=核子可乐瓶盖方块 -tile.block_cap_star.name=夕阳沙士星星瓶盖方块 -tile.block_cap_sunset.name=夕阳沙士瓶盖方块 +tile.block_cap_fritz.name=Fritz弗里茨可乐瓶盖压缩块 +tile.block_cap_korl.name=Korl库尔勒瓶盖压缩块 +tile.block_cap_nuka.name=核子可乐瓶盖压缩块 +tile.block_cap_quantum.name=樱桃味量子核子可乐瓶盖压缩块 +tile.block_cap_rad.name=辐射S~闪闪可乐瓶盖压缩块 +tile.block_cap_sparkle.name=S~闪闪可乐瓶盖压缩块 +tile.block_cap_star.name=夕阳沙士星星瓶盖压缩块 +tile.block_cap_sunset.name=夕阳沙士瓶盖压缩块 tile.block_cdalloy.name=镉钢块 tile.block_cobalt.name=钴块 tile.block_coke.coal.name=煤焦炭块 @@ -4568,9 +4705,9 @@ tile.charger.name=充电站 tile.cheater_virus.name=冻结Ep tile.cheater_virus_seed.name=不稳定Ep Schrabide块 tile.chimney_brick.name=烟囱 -tile.chimney_brick.desc=使用排气管连接污染机器$减少75%的污染排放 +tile.chimney_brick.desc=使用排气管连接污染机器$减少75%%的污染排放 tile.chimney_industrial.name=工业烟囱 -tile.chimney_industrial.desc=使用排气管连接污染机器$减少90%的污染排放 +tile.chimney_industrial.desc=使用排气管连接污染机器$减少90%%的污染排放 tile.chlorine_gas.name=氯气 tile.cluster_aluminium.name=铝矿簇 tile.cluster_copper.name=铜矿簇 @@ -4579,6 +4716,7 @@ tile.cluster_depth_titanium.name=深层钛矿簇 tile.cluster_depth_tungsten.name=深层钨矿簇 tile.cluster_iron.name=铁矿簇 tile.cluster_titanium.name=钛矿簇 +tile.custom_machine_anchor.name=自定义机器结构定位锚 tile.cm_block.alloy.name=高级合金机器外壳 tile.cm_block.desh.name=Desh机器外壳 tile.cm_block.steel.name=钢制机器外壳 @@ -4603,6 +4741,7 @@ tile.cm_tank.alloy.name=高级合金储罐 tile.cm_tank.desh.name=Desh储罐 tile.cm_tank.steel.name=钢制储罐 tile.cm_tank.tcalloy.name=锝钢储罐 +tile.cm_paperPress.name=压纸机 tile.cmb_brick.name=CMB钢瓦块 tile.cmb_brick_reinforced.name=加固CMB钢砖块 tile.compact_launcher.name=紧凑型发射台 @@ -4630,22 +4769,22 @@ tile.concrete_colored.red.name=红色混凝土 tile.concrete_colored.silver.name=淡灰色混凝土 tile.concrete_colored.white.name=白色混凝土 tile.concrete_colored.yellow.name=黄色混凝土 -tile.concrete_colored_ext.hazard.name=建筑商指定混凝土-危险地带 -tile.concrete_colored_ext.indigo.name=建筑商指定混凝土-深靛蓝 -tile.concrete_colored_ext.machine.name=建筑商指定混凝土-工业风 -tile.concrete_colored_ext.machine_stripe.name=建筑商指定混凝土-工业条纹 -tile.concrete_colored_ext.pink.name=建筑商指定混凝土-猛男粉 -tile.concrete_colored_ext.purple.name=建筑商指定混凝土-神秘紫 +tile.concrete_colored_ext.hazard.name=建筑玩家首选混凝土 - 警示条纹 +tile.concrete_colored_ext.indigo.name=建筑玩家首选混凝土 - 深靛色 +tile.concrete_colored_ext.machine.name=建筑玩家首选混凝土 - 工业风 +tile.concrete_colored_ext.machine_stripe.name=建筑玩家首选混凝土 - 工业条纹 +tile.concrete_colored_ext.pink.name=建筑玩家首选混凝土 - 猛男粉 +tile.concrete_colored_ext.purple.name=建筑玩家首选混凝土 - 神秘紫 tile.concrete_pillar.name=钢筋混凝土柱 -tile.concrete_slab.concrete.name=混凝土瓷砖板 -tile.concrete_slab.concrete_asbestos.name=石棉混凝土板 -tile.concrete_slab.concrete_smooth.name=混凝土板 -tile.concrete_slab.ducrete.name=高密度贫铀混凝土瓷砖板 -tile.concrete_slab.ducrete_smooth.name=高密度贫铀混凝土板 +tile.concrete_slab.concrete.name=混凝土瓷砖台阶 +tile.concrete_slab.concrete_asbestos.name=石棉夹层混凝土台阶 +tile.concrete_slab.concrete_smooth.name=混凝土台阶 +tile.concrete_slab.ducrete.name=贫铀高密度混凝土瓦台阶 +tile.concrete_slab.ducrete_smooth.name=贫铀高密度混凝土砖台阶 tile.concrete_smooth.name=混凝土 tile.concrete_smooth_stairs.name=混凝土楼梯 -tile.concrete_stairs.name=混凝土瓷砖楼梯 -tile.concrete_super.name=über混凝土 +tile.concrete_stairs.name=混凝土瓦楼梯 +tile.concrete_super.name=Über混凝土 tile.concrete_super_broken.name=发霉的碎片 tile.conveyor.name=输送带 tile.conveyor.desc=移动掉在上面的物品$可以用螺丝刀顺时针旋转$用螺丝刀按住Shift键单击以转弯 @@ -4695,7 +4834,7 @@ tile.deco_aluminium.name=铝装饰块 tile.deco_asbestos.name=石棉瓦 tile.deco_beryllium.name=铍装饰块 tile.deco_computer.ibm_300pl.name=IBM个人电脑300PL -tile.deco_emitter.name=Deco发光体 +tile.deco_emitter.name=装饰性激光发射器 tile.deco_lead.name=铅装饰块 tile.deco_rbmk.name=RBMK装饰块 tile.deco_rbmk_smooth.name=平滑RBMK装饰块 @@ -4755,10 +4894,10 @@ tile.drone_waypoint_request.name=物流无人机航路点 tile.door_bunker.name=仓门 tile.door_metal.name=金属门 tile.door_office.name=办公室门 -tile.ducrete.name=高密度贫铀混凝土瓷砖 -tile.ducrete_stairs.name=高密度贫铀混凝土瓷砖楼梯 -tile.ducrete_smooth.name=高密度贫铀混凝土 -tile.ducrete_smooth_stairs.name=高密度贫铀混凝土楼梯 +tile.ducrete.name=贫铀高密度混凝土瓦 +tile.ducrete_stairs.name=贫铀高密度混凝土瓦楼梯 +tile.ducrete_smooth.name=贫铀高密度混凝土 +tile.ducrete_smooth_stairs.name=贫铀高密度混凝土台阶 tile.dummy_block.name=虚拟方块 tile.dummy_port.name=虚拟方块[电力接口] tile.dungeon_chain.name=金属链 @@ -4779,7 +4918,7 @@ tile.fence_metal.name=铁丝网围栏 tile.field_disturber.name=高能场干扰机 tile.filing_cabinet.green.name=蒙尘的文件柜 tile.filing_cabinet.steel.name=钢制文件柜 -tile.fire_digamma.name=挥之不去的迪伽马之火 +tile.fire_digamma.name=挥之不去的迪伽玛之火 tile.fire_door.name=防火门 tile.fireworks.name=烟花箱 tile.fireworks.charges=已充能: %s @@ -4799,13 +4938,13 @@ tile.fluid_duct_solid.name=带涂层的通用流体导管 tile.fluid_switch.name=红石流体阀 tile.fluid_valve.name=流体阀 tile.foam_layer.name=泡沫层 -tile.foundry_basin.name=铸造盘 -tile.foundry_channel.name=铸造浇道 -tile.foundry_tank.name=铸造池 -tile.foundry_mold.name=浅铸造池 -tile.foundry_outlet.name=浇筑出口 -tile.foundry_slagtap.name=炉渣出口 -tile.fraction_spacer.name=分馏塔分隔器 +tile.foundry_basin.name=浇筑盆 +tile.foundry_channel.name=浇筑道 +tile.foundry_tank.name=储液池 +tile.foundry_mold.name=浅浇筑盆 +tile.foundry_outlet.name=浇筑口 +tile.foundry_slagtap.name=铸造出渣口 +tile.fraction_spacer.name=分馏塔分离器 tile.frozen_dirt.name=冰冻土 tile.frozen_grass.name=冰冻草 tile.frozen_log.name=冰冻原木 @@ -4856,6 +4995,7 @@ tile.gneiss_brick.name=页岩砖 tile.gneiss_chiseled.name=錾制页岩砖 tile.gneiss_tile.name=页岩瓷砖 tile.gravel_diamond.name=钻石砂砾 +tile.gravel_diamond.desc=这里有个笑话,$但我不太清楚它是什么.$ $上传日期, 2020-07-04:$我们否认一个笑话的任何含义,$因为它是如此的令人不愉快,$以至于让人们觉得眼睛刺痛.$$上传日期, 2020-17-04:$事实证明,“粉碎钻石”从来就不是一个真正的东西,$它让原本可能是个笑话$的东西变得毫无意义.$ tile.gravel_obsidian.name=碎黑曜石 tile.hadron_access.name=粒子加速器接入终端 tile.hadron_analysis.name=粒子加速器分析室壁 @@ -4872,32 +5012,32 @@ tile.hadron_coil_starmetal.name=密集星辉线圈 tile.hadron_cooler.name=粒子加速器冷却装置 tile.hadron_cooler.desc=冷却功率:10$过冷阈值:10$冷却加成:+10%%$过冷惩罚:-25%% tile.hadron_cooler_mk2.name=粒子加速器冷却装置-回文特制 -tile.hadron_cooler_mk2.desc=冷却功率:5$效率功能:2-(冷却-15)2/225$最高惩罚:-90%% -tile.hadron_core.name=粒子加速器核心组件 -tile.hadron_diode.name=肖基特二极管 -tile.hadron_plating.name=粒子加速器镀层 -tile.hadron_plating_black.name=粒子加速器镀层 (黑) -tile.hadron_plating_blue.name=粒子加速器镀层 (蓝) -tile.hadron_plating_glass.name=粒子加速器镀层 (窗口) -tile.hadron_plating_striped.name=粒子加速器镀层(低温危险) -tile.hadron_plating_voltz.name=粒子加速器镀层 (VOLTZ) -tile.hadron_plating_yellow.name=粒子加速器镀层(Yello染料) -tile.hadron_power.name=粒子加速器电源接口 -tile.hadron_power_10m.name=粒子加速器电源接口(10MHE) -tile.hadron_power_100m.name=粒子加速器电源接口(100MHE) -tile.hadron_power_1g.name=粒子加速器电源接口(1GHE) -tile.hadron_power_10g.name=粒子加速器电源接口(10GHE) +tile.hadron_cooler_mk2.desc=冷却功率:5$效率函数:2-(冷却功率-15)²/225$最高惩罚:-90%% +tile.hadron_core.name=粒子加速器核心部件 +tile.hadron_diode.name=肖特基粒子二极管 +tile.hadron_plating.name=粒子加速器电镀层 +tile.hadron_plating_black.name=粒子加速器电镀层 (黑色) +tile.hadron_plating_blue.name=粒子加速器电镀层 (蓝色) +tile.hadron_plating_glass.name=粒子加速器电镀层 (窗口) +tile.hadron_plating_striped.name=粒子加速器电镀层 (炫酷的警示条纹) +tile.hadron_plating_voltz.name=粒子加速器电镀层 (VOLTZ) +tile.hadron_plating_yellow.name=粒子加速器电镀层 (黄色) +tile.hadron_power.name=粒子加速器电力接口 (1MHE) +tile.hadron_power_10m.name=粒子加速器电力接口 (10MHE) +tile.hadron_power_100m.name=粒子加速器电力接口 (100MHE) +tile.hadron_power_1g.name=粒子加速器电力接口 (1GHE) +tile.hadron_power_10g.name=粒子加速器电力接口 (10GHE) tile.hazmat.name=防辐射布块 tile.heater_electric.name=电加热器 -tile.heater_electric.desc=利用电能产生热量$以85%的效率接受来自底部的热量$可使用螺丝刀进行配置。 +tile.heater_electric.desc=使用电能来产生热量.$可以85%%的效率接受来自底部的热量.$可用螺丝刀配置效率. tile.heater_firebox.name=燃烧室 tile.heater_firebox.desc=燃烧固体燃料以产生热量。 tile.heater_heatex.name=换热加热器 tile.heater_heatex.desc=从热流体中产生热量。 tile.heater_oilburner.name=流体燃烧器 tile.heater_oilburner.desc=燃烧可燃液体产生热量。 -tile.heater_oven.name=加热炉 -tile.heater_oven.desc=燃烧固体燃料以产生热量$以50%的效率接受来自底部的热量。 +tile.heater_oven.name=加热 +tile.heater_oven.desc=燃烧固体燃料以产生热量.$可以85%%的效率接受来自底部的热量. tile.hev_battery.name=盔甲电池 tile.impact_dirt.name=烧焦的泥土 tile.iter.name=聚变反应堆 @@ -4925,6 +5065,7 @@ tile.lox_barrel.name=液氧桶 tile.machine_amgen.name=环境辐射发电机 tile.machine_arc_furnace_off.name=电弧炉 tile.machine_arc_furnace_on.name=电弧炉 +tile.machine_arc_welder.name=弧焊机 tile.machine_armor_table.name=装甲改装台 tile.machine_ashpit.name=储灰槽 tile.machine_ashpit.desc=收集来自燃烧室和加热炉的灰烬 @@ -4984,7 +5125,8 @@ tile.machine_epress.name=电动锻压机 tile.machine_excavator.name=大型采矿钻机 tile.machine_fel.name=FEL自由电子激光器 tile.machine_fensu.name=FEnSU飞轮储能系统 -tile.machine_flare.name=高架火炬 +tile.machine_flare.name=废气燃烧塔 +tile.machine_flare.desc=可燃烧液体和排出气体$燃烧速率 §c10mB/t$排放速率 §c50mB/t$ $§e燃料效率:$§e-易燃气体: §c50%%$§e-易燃液体: §c10%% tile.machine_fluidtank.name=储罐 tile.machine_forcefield.name=力场发生器 tile.machine_fraction_tower.name=分馏塔 @@ -5050,7 +5192,7 @@ tile.machine_steam_engine.desc=效率:85% tile.machine_stirling.name=斯特林发电机 tile.machine_stirling.desc=它将热量转化为能量。这需要外部热源$传热率:T*0.1 TU/T$最大进气量:300 TU/T$效率:50% tile.machine_stirling_creative.name=创造斯特林发动机 -tile.machine_stirling_creative.desc=将热量转化为能量。需要外部热源$传热率:T*0.1 TU/T$无限吸热/T$效率:100% +tile.machine_stirling_creative.desc=将热量转化为能量。需要外部热源$传热率:T*0.1 TU/T$无限吸热/T$效率:100%% tile.machine_stirling_steel.name=重型斯特林发电机 tile.machine_stirling_steel.desc=它将热量转化为能量。这需要外部热源$使用更重的齿轮来支持更高的温度$传热率:T*0.1 TU/T$最大进气量:1500 TU/T$效率:50% tile.machine_storage_drum.name=核废料处理桶 @@ -5074,6 +5216,7 @@ tile.machine_zirnox.name=锆诺克斯核反应堆 tile.marker_structure.name=多方块结构信标 tile.mass_storage.name=大规模存储单元 tile.meteor_battery.name=星辉静电发生器 +tile.meteor_battery.desc=为特斯拉线圈提供无限电能 tile.meteor_brick.name=陨石砖 tile.meteor_brick_chiseled.name=錾制陨石砖 tile.meteor_brick_cracked.name=裂纹陨石砖 @@ -5093,14 +5236,18 @@ tile.ntm_dirt.name=泥土 tile.nuke_boy.name=小男孩 tile.nuke_custom.name=自定义核弹 tile.nuke_fleija.name=F.L.E.I.J.A. +tile.nuke_fleija.desc=适用于:$F.L.E.I.J.A. tile.nuke_fstbmb.name=BF炸弹 tile.nuke_gadget.name=小玩意 tile.nuke_man.name=胖子 tile.nuke_mike.name=常青藤迈克 -tile.nuke_n2.name=N2炸弹 +tile.nuke_n2.name=N²炸弹 +tile.nuke_n2.desc=适用于:$N²炸弹 tile.nuke_n45.name=N45水雷 tile.nuke_prototype.name=原型 +tile.nuke_prototype.desc=本不必如此的.$ $你这个怪物. tile.nuke_solinium.name=蔚蓝洗礼 +tile.nuke_solinium.desc=适用于:$蔚蓝洗礼 tile.nuke_tsar.name=沙皇炸弹 tile.oil_duct.name=输油管 tile.oil_duct_solid.name=粗输油管 @@ -5159,6 +5306,7 @@ tile.ore_nether_uranium.name=下界铀矿石 tile.ore_nether_uranium_scorched.name=烧焦的下界铀矿石 tile.ore_niter.name=硝石矿石 tile.ore_oil.name=油岩 +tile.ore_oil.desc=你不该把它挖出来的..$来吧,去拿个井架,你这个笨蛋. tile.ore_oil_empty.name=空油岩 tile.ore_oil_sand.name=沥青砂 tile.ore_random.name=%s 矿 @@ -5177,7 +5325,7 @@ tile.ore_uranium_scorched.name=烧焦的铀矿石 tile.ore_verticium.name=韦德赛矿石 tile.ore_volcano.name=地热裂缝 tile.ore_weidanium.name=魏丹矿石 -tile.part_emitter.name=Deco粒子发射器 +tile.part_emitter.name=装饰性粒子生成器 tile.pink_barrel.name=煤油桶 tile.pink_log.name=粉色原木 tile.pink_planks.name=粉色木板 @@ -5229,13 +5377,13 @@ tile.pwr_port.name=PWR接入端口 tile.pwr_port.desc=允许物品和液体交换$位置:组件 tile.pwr_reflector.name=PWR中子反射器 tile.pwr_reflector.desc=将中子通量反射回燃料棒$位置:网格,用于增加反应速率$可作为外壳材料 -tile.radio_telex.name=Telex Machine -tile.radio_torch_counter.name=红石无线项目计数器 -tile.radio_torch_counter.desc=平面或比较器兼容块上的标牌$根据匹配项目的数量发出信号 -tile.radio_torch_receiver.name=无线红石信号接收器 -tile.radio_torch_receiver.desc=可在平坦表面或与比较器兼容的方块上放置 -tile.radio_torch_sender.name=无线红石信号发射器 -tile.radio_torch_sender.desc=可在平坦表面或比较器兼容的方块上放置$读取红石信号或比较器输入 +tile.radio_telex.name=电报机 +tile.radio_torch_counter.name=红石无线物品计数器 +tile.radio_torch_counter.desc=平面或比较器兼容块上的标牌$根据匹配物品的数量发出信号 +tile.radio_torch_receiver.name=红石无线信号接收器 +tile.radio_torch_receiver.desc=可在平坦表面或与比较器兼容的块上放置 +tile.radio_torch_sender.name=红石无线信号发送器 +tile.radio_torch_sender.desc=可在平坦表面或与比较器兼容的块上放置$读取红石信号或比较器输入 tile.radiobox.name=无线怪物清除箱 tile.radiorec.name=坏掉的收音机 tile.rail_booster.name=高速动力轨道 @@ -5272,6 +5420,7 @@ tile.reactor_element.name=反应堆室 tile.reactor_hatch.name=反应堆端口 tile.reactor_inserter.name=反应堆燃料插入器 tile.red_barrel.name=炸药桶 +tile.red_barrel.desc=静态流体桶 tile.red_cable.name=紫铜电线 tile.red_cable_classic.name=紫铜电缆(经典型) tile.red_cable_gauge.name=功率计 @@ -5279,13 +5428,15 @@ tile.red_cable_gauge.desc=显示每刻在网络中流动的电力$的电缆$由 tile.red_cable_paintable.name=可涂漆紫铜线 tile.red_connector.name=电力连接器 tile.red_pylon.name=电线杆 +tile.red_pylon.desc=连接类型: §e单通道$连接范围: §e25m tile.red_pylon_large.name=大型输电塔 +tile.red_pylon_large.desc=连接类型: §e四通道$连接范围: §e100m$这个输电塔需要配合变电器使用! tile.red_wire_coated.name=密封紫铜电缆 tile.reinforced_brick.name=强化石头 tile.reinforced_brick_stairs.name=钢筋石楼梯 tile.reinforced_ducrete.name=加固高密度贫铀混凝土 tile.reinforced_glass.name=强化玻璃 -tile.reinforced_glass_pane.name=强化玻璃窗 +tile.reinforced_glass_pane.name=强化玻璃板 tile.reinforced_lamp_off.name=强化红石灯 tile.reinforced_lamp_on.name=强化红石灯 tile.reinforced_light.name=强化萤石 @@ -5349,7 +5500,7 @@ tile.stone_depth.name=深层岩石 tile.stone_depth_nether.name=下界深层岩石 tile.stone_gneiss.name=石墨页岩 tile.stone_porous.name=多孔石 -tile.stone_resource.asbestos.name=温石棉 +tile.stone_resource.asbestos.name=蛇纹石石棉 tile.stone_resource.bauxite.name=铝土矿 tile.stone_resource.hematite.name=赤铁矿 tile.stone_resource.limestone.name=石灰石 @@ -5362,8 +5513,9 @@ tile.struct_launcher_core_large.name=发射台核心组件 tile.struct_plasma_core.name=等离子加热器核心组件 tile.struct_scaffold.name=发射台骨架 tile.struct_soyuz_core.name=联盟号发射器核心组件 -tile.struct_watz_core.name=Watz发电厂核心组件 -tile.substation.name=变电站 +tile.struct_watz_core.name=Watz瓦茨电厂核心组件 +tile.substation.name=变电器 +tile.substation.desc=连接类型: §e四通道$连接范围: §e20m tile.sulfuric_acid_block.name=硫酸 tile.taint.name=腐质 tile.taint_barrel.name=IMP残渣桶 @@ -5388,10 +5540,10 @@ tile.turret_flamer.name=喷火炮塔 tile.turret_friendly.name=轻机枪炮塔“友好先生” tile.turret_fritz.name=重型火焰喷射器炮塔“弗里茨” tile.turret_heavy.name=重型机枪炮塔 -tile.turret_himars.name=火箭炮塔“亨利” -tile.turret_howard.name=双联守门员近防系统“霍华德” -tile.turret_howard_damaged.name=CIWS双联守门员近防系统 "玛士撒拉" -tile.turret_jeremy.name=重炮炮塔“杰里米” +tile.turret_himars.name=远程火箭弹炮塔"亨利" +tile.turret_howard.name=双管近防炮"霍华德" +tile.turret_howard_damaged.name=双管近防炮 "玛土撒拉" +tile.turret_jeremy.name=重炮炮台"杰米里" tile.turret_light.name=轻型机枪炮塔 tile.turret_maxwell.name=高能微波炮塔 "麦克斯韦" tile.turret_rocket.name=火箭炮塔 @@ -5406,8 +5558,8 @@ tile.vent_chlorine.name=氯气排气口 tile.vent_chlorine_seal.name=氯气容器 tile.vent_cloud.name=云排气口 tile.vent_pink_cloud.name=粉色云排气口 -tile.vinyl_tile.large.name=大型乙烯基瓷砖 -tile.vinyl_tile.small.name=小型乙烯基瓷砖 +tile.vinyl_tile.large.name=大块乙烯基瓷砖 +tile.vinyl_tile.small.name=小块乙烯基瓷砖 tile.vitrified_barrel.name=玻璃化核废料桶 tile.volcanic_lava_block.name=火山熔岩 tile.volcano_core.name=火山核心 @@ -5444,6 +5596,11 @@ trait.hot=自燃/高温 trait.hydro=与水反应 trait.radioactive=放射性 trait.radResistance=辐射抗性: %s + +trait.platefuel=[研究反应堆堆板式燃料]$§3 %s$§3 %s事件的收益率 +trait.pwr_fuel=每通量热量: §r%s TU$反应函数: §r%s$燃料类型: §r%s + +trait.rbmk.BurnFunc=安全 / 被动$中等 / 对数方程$安全 / 欧拉方程$危险 / 负二次方程$安全 / S型饱和函数$中等 / 平方根函数$危险 / 线性函数$危险 / 二次函数$实验性 / 正弦斜率函数 trait.rbmk.coreTemp=核心温度: %s trait.rbmk.depletion=燃料消耗: %s trait.rbmk.diffusion=扩散度: %s @@ -5478,8 +5635,23 @@ trait.rbmx.splitsWith=接受: %s trait.rbmx.xenon=铅元素堆积程度: %s trait.rbmx.xenonBurn=铅元素寂灭函数: %s trait.rbmx.xenonGen=铅元素产生函数: %s + +trait.rbmk_pellet=可回收芯块$全新的$少量衰变$中度衰变$高度衰变$完全衰变$大量氙元素堆积 +trait.watz_pellet=消耗: %s%% +trait.watz_pellet.passive=基本裂变率: $自燃! +trait.watz_pellet.heatEmission=每中子通量产生热量: +trait.watz_pellet.burnFunc=反应函数: $燃料类型: +trait.watz_pellet.heatDiv=热倍增系数: +trait.watz_pellet.absorbFunc=中子通量捕获: + trait.tile.cluster=只有在被玩家破坏时才会掉落 trait.tile.depth=只能被爆炸破坏 +trait.tile.barrel.capacity=容量: %smB +trait.tile.barrel.hot=可以储存热的液体$不能储存热的液体 +trait.tile.barrel.corrosive=可以储存强腐蚀性液体$可以储存腐蚀性液体$不能长期地储存强腐蚀性液体$不能长期地储存腐蚀性液体$不能储存腐蚀性液体 +trait.tile.barrel.antimatter=可以储存反物质类物质$不能储存反物质类物质 +trait.tile.barrel.leak=泄露 + tool.ability.centrifuge=自动离心 tool.ability.crystallizer=自动结晶 tool.ability.explosion=爆破 @@ -5491,16 +5663,27 @@ tool.ability.recursion=连锁挖矿 tool.ability.shredder=自动粉碎 tool.ability.silktouch=精准采集 tool.ability.smelter=自动熔炼 -turret.animals=被动目标:%s -turret.arty.artillery=§e火炮模式$最低射程: 250m$最大射程: 3,000m -turret.arty.cannon=§e炮塔模式$最低射程: 32m$射程: 250m -turret.arty.manual=§e手动模式$射程: 3,000m -turret.machines=以机械为目标: %s -turret.mobs=以怪物为目标: %s -turret.none=无 -turret.off=关 -turret.on=开 -turret.players=以玩家为目标:%s + +tooltip.armormods=附件: +tooltip.armormodsshow=按住 < %s §8§o> 来显示该盔甲上所安装的配件的效果§r +tooltip.block=按住 < %s §8§o>以显示更多信息§r +tooltip.customnuke=增加 %s 给自定义核弹 %s 阶段 +tooltip.customnukemultiplier=增加倍数 %s 给自定义核弹 %s 阶段 +tooltip.oredict=矿物辞典: +tooltip.oredict.null=无矿物辞典数据! +tooltip.show=按住 < %s §8§o> 来显示所能提供的防护的信息§r + +turret.animals=攻击中立生物: %s +turret.arty.artillery=§e重炮模式$宽度: 250m$范围: 3,000m +turret.arty.cannon=§e加农炮模式$宽度: 32m$范围: 250m +turret.arty.manual=§e手动模式$范围: 3,000m +turret.machines=攻击机器: %s +turret.mobs=攻击敌对生物: %s +turret.none=无白名单 +turret.off=OFF +turret.on=ON +turret.players=攻击玩家: %s + wavelengths.name.ir=红外线 wavelengths.name.visible=可见光 wavelengths.name.uv=紫外线 @@ -5526,7 +5709,41 @@ weapon.elecGun.glass_cannon.ir=红外线 weapon.elecGun.glass_cannon.visible=可见光 weapon.elecGun.glass_cannon.uv=紫外线 weapon.elecGun.glass_cannon.xray=X射线 -weapon.elecGun.glass_cannon.gamma=伽马射线 -hadron.error=错误! -container.reactor=增殖反应堆 -death.attack.subAtomic=%1$s 的原子被 %2$s 摧毁 \ No newline at end of file +weapon.elecGun.glass_cannon.gamma=γ射线 + +#book_lore.insanity_1.author=Ferguson博士 +#book_lore.insanity_1.name=撕裂的书页 +#book_lore.insanity_1.page.1=8月6日$ $几个月,不,几年来, 为了与投资者角力和运营 北半球最大的能源市场而 讨价还价,终于有了回报. +#book_lore.insanity_1.page.2=虽然我们不能完全确定 我们到底发现了什么—— 考虑到我们在粒子上进行了 千兆伏特的碰撞,而这些 粒子的记录仍然很差—— 但结果再令人兴奋不过了. +#book_lore.insanity_1.page.3=我们还没有为我们发现的 这东西找到一个名字, 也不确定我们是否在寻找 一种新的粒子, 一个通向另一个维度的虫洞, 或者撒旦的肛门, 但我相信我们的公关人员 可以想出一些办法. +#book_lore.insanity_2.author=Ferguson博士 +#book_lore.insanity_2.name=撕裂的书页 +#book_lore.insanity_2.page.1=8月8日$ $过去几天,我们一直将 “The Thing” (是的,我们现在就是 这么称呼这玩意的) 保持在磁隔离状态。 光谱测试最终搞坏了 我们的光谱仪,但我们 设法获得了一些有用的数据. +#book_lore.insanity_2.page.2=首先,这东西像圣诞树 一样发光,你能想到的 每种波长的辐射光子都被 强大的红外日冕所包围。 逻辑上的结论是, 用肉眼看它很可能会杀死你。 +#book_lore.insanity_2.page.3=这就引出了一个问题: 这么小的粒子怎么能辐射 出如此巨大的能量? 你隐藏了些什么,小家伙? +#book_lore.insanity_3.author=Ferguson博士 +#book_lore.insanity_3.name=撕裂的书页 +#book_lore.insanity_3.page.1=8月22日 $ $ 我已经好几天没睡好了。 医生说他什么毛病都找不到。 现在我正在服用各种药物, 但头痛只会加重。 实验室工作人员怀疑这 可能是两周前的事件造成 的污染. +#book_lore.insanity_3.page.2=医生说不太可能, 这症状和急性放射病不同。 如果这种情况持续下去, 我可能需要休息一段时间。 实验人员推测, 如果约束磁场下降, 整个综合体建筑群就会变成 蘑菇云. +#book_lore.insanity_3.page.3=我不知道行政部门如何 保持冷静,但我没有被 支付足够的薪水来浪费时间. +#book_lore.insanity_4.author=Ferguson博士 +#book_lore.insanity_4.name=撕裂的书页 +#book_lore.insanity_4.page.1=8月28日 $ $ 他们拒绝了我的请假请求, 过去几天我一直在努力。 头痛越来越严重了。 我也不是唯一有这种感 觉的人。一些实验室的人员 也有类似的情况. +#book_lore.insanity_4.page.2=The Thing终于离开了综合体 -真tm棒。 昨天有几套西装运过来, 天知道在哪里。 一名实验室人员扎卡里说, 他们可能正在把密封装置 埋在沙漠里, +#book_lore.insanity_4.page.3=慢慢地试图让The Thing 远离文明来“虎头蛇尾 地结束”。要我说我们应 把它射向太空。 不用说,我们的投资者 暂时削减了所有资金。 我应该开始找另一份工作了. +#book_lore.insanity_5.author=Ferguson博士 +#book_lore.insanity_5.name=撕裂的书页 +#book_lore.insanity_5.page.1=9月11日 $ $ 我正在反复做一场噩梦。 我在一块空地上走来走去, 到处都是这些人, 穿着橡胶服和长着畸形的脸。 总是一样的噩梦, +#book_lore.insanity_5.page.2=和我最近交谈过的一个实验 室的同事也做了同样的梦。 与此同时,我的工作已经 相当枯燥了,加速器已经 关闭,所有正在进行的 项目都停止了,我们的 预算也在慢慢减少. +#book_lore.insanity_5.page.3=有某种东西在告诉我 The Thing还在某处。 我能感觉到. +#book_lore.insanity_6.author=Ferguson博士 +#book_lore.insanity_6.name=撕裂的书页 +#book_lore.insanity_6.page.1=10月3日 $ $ 一半的工作人员已经死亡, 其余大部分在ICU。 我的病情在过去几周里 没有改变,无论是好是坏. +#book_lore.insanity_6.page.2=然而,现实开始变得越来越 不真实。 有时我会在夜晚仰望天空, 幻想着我们在几个星期前 发现的东西. +#book_lore.insanity_6.page.3=我们的分光计吐出的同样 灿烂的深红光泽。 我的医生说这是由这起事件 引起的精神错乱和压力, 也许他是对的, 但药物根本不起作用. +#book_lore.insanity_7.author=Ferguson博士 +#book_lore.insanity_7.name=撕裂的书页 +#book_lore.insanity_7.page.1=12月12日 $ $ 我已经失业了,但老实说, 我对此有些感激。 我以前的工作场所已经 付之一炬了 ——他们这么说的. +#book_lore.insanity_7.page.2=南部几英里处的地震观测站 连续几天记录到持续不断的 地震,而其他任何人都不会 注意到沙漠深处. +#book_lore.insanity_7.page.3=我的结论是,这个地方被 诅咒了,让每个人都感到恶心, 然后像埃德加·爱伦·坡 (Edgar Allan Poe)的故事 一样坠入地狱。 谢天谢地. +