Transferred a bunch of text to lang file

Transferred a bunch of text to lang file(not all)
This commit is contained in:
sdddddf80 2023-11-08 16:23:28 +08:00
parent a5c49f6d64
commit fe152fb676
90 changed files with 1613 additions and 1244 deletions

View File

@ -21,9 +21,8 @@ public interface ITooltipProvider {
if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
for(String s : I18nUtil.resolveKeyArray(((Block)this).getUnlocalizedName() + ".desc")) list.add(EnumChatFormatting.YELLOW + s); for(String s : I18nUtil.resolveKeyArray(((Block)this).getUnlocalizedName() + ".desc")) list.add(EnumChatFormatting.YELLOW + s);
} else { } else {
list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +I18nUtil.resolveKey("tooltip.block" ,
EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT"));
EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info");
} }
} }

View File

@ -13,6 +13,7 @@ import com.hbm.main.MainRegistry;
import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.IPersistentNBT;
import com.hbm.tileentity.machine.storage.TileEntityBarrel; import com.hbm.tileentity.machine.storage.TileEntityBarrel;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.Block; 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) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
if(this == ModBlocks.barrel_plastic) { if(this == ModBlocks.barrel_plastic) {
list.add(EnumChatFormatting.AQUA + "Capacity: 12,000mB"); list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","12,000"));
list.add(EnumChatFormatting.YELLOW + "Cannot store hot fluids"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[1]);
list.add(EnumChatFormatting.YELLOW + "Cannot store corrosive fluids"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[4]);
list.add(EnumChatFormatting.YELLOW + "Cannot store antimatter"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[1]);
} }
if(this == ModBlocks.barrel_corroded) { if(this == ModBlocks.barrel_corroded) {
list.add(EnumChatFormatting.AQUA + "Capacity: 6,000mB"); list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","6,000"));
list.add(EnumChatFormatting.GREEN + "Can store hot fluids"); list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[0]);
list.add(EnumChatFormatting.GREEN + "Can store highly corrosive fluids"); list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[0]);
list.add(EnumChatFormatting.YELLOW + "Cannot store antimatter"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[1]);
list.add(EnumChatFormatting.RED + "Leaky"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKey("trait.tile.barrel.leak"));
} }
if(this == ModBlocks.barrel_iron) { if(this == ModBlocks.barrel_iron) {
list.add(EnumChatFormatting.AQUA + "Capacity: 8,000mB"); list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","8,000"));
list.add(EnumChatFormatting.GREEN + "Can store hot fluids"); list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[0]);
list.add(EnumChatFormatting.YELLOW + "Cannot store corrosive fluids properly"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[3]);
list.add(EnumChatFormatting.YELLOW + "Cannot store antimatter"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[1]);
} }
if(this == ModBlocks.barrel_steel) { if(this == ModBlocks.barrel_steel) {
list.add(EnumChatFormatting.AQUA + "Capacity: 16,000mB"); list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","16,000"));
list.add(EnumChatFormatting.GREEN + "Can store hot fluids"); list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[0]);
list.add(EnumChatFormatting.GREEN + "Can store corrosive fluids"); list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[1]);
list.add(EnumChatFormatting.YELLOW + "Cannot store highly corrosive fluids properly"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[2]);
list.add(EnumChatFormatting.YELLOW + "Cannot store antimatter"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[1]);
} }
if(this == ModBlocks.barrel_antimatter) { if(this == ModBlocks.barrel_antimatter) {
list.add(EnumChatFormatting.AQUA + "Capacity: 16,000mB"); list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","16,000"));
list.add(EnumChatFormatting.GREEN + "Can store hot fluids"); list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[0]);
list.add(EnumChatFormatting.GREEN + "Can store highly corrosive fluids"); list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[0]);
list.add(EnumChatFormatting.GREEN + "Can store antimatter"); list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[0]);
} }
if(this == ModBlocks.barrel_tcalloy) { if(this == ModBlocks.barrel_tcalloy) {
list.add(EnumChatFormatting.AQUA + "Capacity: 24,000mB"); list.add(EnumChatFormatting.AQUA + I18nUtil.resolveKey("trait.tile.barrel.capacity","24,000"));
list.add(EnumChatFormatting.GREEN + "Can store hot fluids"); list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.hot")[0]);
list.add(EnumChatFormatting.GREEN + "Can store highly corrosive fluids"); list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.tile.barrel.corrosive")[0]);
list.add(EnumChatFormatting.YELLOW + "Cannot store antimatter"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.tile.barrel.antimatter")[1]);
} }
} }
} }

View File

@ -59,9 +59,8 @@ public class BlockHadronCooler extends BlockMulti implements ITooltipProvider {
if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
for(String s : I18nUtil.resolveKeyArray(this.getUnlocalizedName(stack) + ".desc")) list.add(EnumChatFormatting.YELLOW + s); for(String s : I18nUtil.resolveKeyArray(this.getUnlocalizedName(stack) + ".desc")) list.add(EnumChatFormatting.YELLOW + s);
} else { } else {
list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +I18nUtil.resolveKey("tooltip.block" ,
EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT"));
EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info");
} }
} }
} }

View File

@ -113,9 +113,8 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP
if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
for(String s : I18nUtil.resolveKeyArray("tile.capacitor.desc")) list.add(EnumChatFormatting.YELLOW + s); for(String s : I18nUtil.resolveKeyArray("tile.capacitor.desc")) list.add(EnumChatFormatting.YELLOW + s);
} else { } else {
list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +I18nUtil.resolveKey("tooltip.block" ,
EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT"));
EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info");
} }
} }

View File

@ -7,6 +7,7 @@ import com.hbm.blocks.ITooltipProvider;
import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare;
import com.hbm.util.I18nUtil;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -61,13 +62,7 @@ public class MachineGasFlare extends BlockDummyable implements ITooltipProvider
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
for(String s : I18nUtil.resolveKeyArray("tile.machine_flare.desc"))
list.add(EnumChatFormatting.GOLD + "Can burn fluids and vent gasses"); list.add(EnumChatFormatting.GOLD + s);
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%");
} }
} }

View File

@ -7,6 +7,7 @@ import com.hbm.blocks.ITooltipProvider;
import com.hbm.tileentity.network.TileEntityPylonBase; import com.hbm.tileentity.network.TileEntityPylonBase;
import com.hbm.tileentity.network.TileEntityPylonLarge; import com.hbm.tileentity.network.TileEntityPylonLarge;
import com.hbm.util.I18nUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -33,9 +34,8 @@ public class PylonLarge extends BlockDummyable implements ITooltipProvider {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add(EnumChatFormatting.GOLD + "Connection Type: " + EnumChatFormatting.YELLOW + "Quadruple"); for(String s : I18nUtil.resolveKeyArray("tile.red_pylon_large.desc"))
list.add(EnumChatFormatting.GOLD + "Connection Range: " + EnumChatFormatting.YELLOW + "100m"); list.add(EnumChatFormatting.GOLD + s);
list.add(EnumChatFormatting.GOLD + "This pylon requires a substation!");
} }
@Override @Override

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.tileentity.network.TileEntityPylon; import com.hbm.tileentity.network.TileEntityPylon;
import com.hbm.util.I18nUtil;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -24,7 +25,7 @@ public class PylonRedWire extends PylonBase {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add(EnumChatFormatting.GOLD + "Connection Type: " + EnumChatFormatting.YELLOW + "Single"); for(String s : I18nUtil.resolveKeyArray("tile.red_pylon.desc"))
list.add(EnumChatFormatting.GOLD + "Connection Range: " + EnumChatFormatting.YELLOW + "25m"); list.add(EnumChatFormatting.GOLD + s);
} }
} }

View File

@ -8,6 +8,7 @@ import com.hbm.tileentity.TileEntityProxyConductor;
import com.hbm.tileentity.network.TileEntityPylonBase; import com.hbm.tileentity.network.TileEntityPylonBase;
import com.hbm.tileentity.network.TileEntitySubstation; import com.hbm.tileentity.network.TileEntitySubstation;
import com.hbm.util.I18nUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -37,8 +38,8 @@ public class Substation extends BlockDummyable implements ITooltipProvider {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add(EnumChatFormatting.GOLD + "Connection Type: " + EnumChatFormatting.YELLOW + "Quadruple"); for(String s : I18nUtil.resolveKeyArray("tile.substation.desc"))
list.add(EnumChatFormatting.GOLD + "Connection Range: " + EnumChatFormatting.YELLOW + "20m"); list.add(EnumChatFormatting.GOLD + s);
} }
@Override @Override

View File

@ -14,6 +14,7 @@ import com.hbm.inventory.recipes.CustomMachineRecipes;
import com.hbm.inventory.recipes.CustomMachineRecipes.CustomMachineRecipe; import com.hbm.inventory.recipes.CustomMachineRecipes.CustomMachineRecipe;
import com.hbm.items.machine.ItemFluidIcon; import com.hbm.items.machine.ItemFluidIcon;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.util.I18nUtil;
import com.hbm.util.ItemStackUtil; import com.hbm.util.ItemStackUtil;
import com.hbm.util.Tuple.Pair; import com.hbm.util.Tuple.Pair;
@ -104,7 +105,7 @@ public class CustomMachineHandler extends TemplateRecipeHandler {
@Override @Override
public String getRecipeName() { 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 @Override

View File

@ -218,9 +218,8 @@ public class FluidType {
info.addAll(hidden); info.addAll(hidden);
} else { } else {
info.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + info.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +I18nUtil.resolveKey("tooltip.block" ,
EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT"));
EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info");
} }
} }
} }

View File

@ -7,6 +7,7 @@ import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.util.BobMathUtil; import com.hbm.util.BobMathUtil;
import com.hbm.util.I18nUtil;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
public class FT_Combustible extends FluidTrait { public class FT_Combustible extends FluidTrait {
@ -25,11 +26,11 @@ public class FT_Combustible extends FluidTrait {
public void addInfo(List<String> info) { public void addInfo(List<String> info) {
super.addInfo(info); super.addInfo(info);
info.add(EnumChatFormatting.GOLD + "[Combustible]"); info.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible","","")[0]);
if(combustionEnergy > 0) { if(combustionEnergy > 0) {
info.add(EnumChatFormatting.GOLD + "Provides " + EnumChatFormatting.RED + "" + BobMathUtil.getShortNumber(combustionEnergy) + "HE " + EnumChatFormatting.GOLD + "per bucket"); info.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible",BobMathUtil.getShortNumber(combustionEnergy),"")[1]);
info.add(EnumChatFormatting.GOLD + "Fuel grade: " + EnumChatFormatting.RED + this.fuelGrade.getGrade()); 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 { public static enum FuelGrade {
LOW("Low"), //heating and industrial oil < star engine, iGen LOW(I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible.FuelGrade")[0]), //heating and industrial oil < star engine, iGen
MEDIUM("Medium"), //petroil < diesel generator MEDIUM(I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible.FuelGrade")[1]), //petroil < diesel generator
HIGH("High"), //diesel, gasoline < HP engine HIGH(I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible.FuelGrade")[2]), //diesel, gasoline < HP engine
AERO("Aviation"), //kerosene and other light aviation fuels < turbofan AERO(I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible.FuelGrade")[3]), //kerosene and other light aviation fuels < turbofan
GAS("Gaseous"); //fuel gasses like NG, PG and syngas < gas turbine GAS(I18nUtil.resolveKeyArray("hbmfluid.Trait.Combustible.FuelGrade")[4]); //fuel gasses like NG, PG and syngas < gas turbine
private String grade; private String grade;

View File

@ -10,6 +10,7 @@ import com.google.gson.stream.JsonWriter;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.util.I18nUtil;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
public class FT_Coolable extends FluidTrait { public class FT_Coolable extends FluidTrait {
@ -42,14 +43,14 @@ public class FT_Coolable extends FluidTrait {
@Override @Override
public void addInfoHidden(List<String> info) { public void addInfoHidden(List<String> 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()) { for(CoolingType type : CoolingType.values()) {
double eff = getEfficiency(type); double eff = getEfficiency(type);
if(eff > 0) { if(eff > 0) {
info.add(EnumChatFormatting.AQUA + "[" + type.name + "]"); 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]);
} }
} }
} }

View File

@ -6,6 +6,7 @@ import java.util.List;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.util.I18nUtil;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
public class FT_Corrosive extends FluidTrait { public class FT_Corrosive extends FluidTrait {
@ -31,9 +32,9 @@ public class FT_Corrosive extends FluidTrait {
public void addInfo(List<String> info) { public void addInfo(List<String> info) {
if(isHighlyCorrosive()) if(isHighlyCorrosive())
info.add(EnumChatFormatting.GOLD + "[Strongly Corrosive]"); info.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("hbmfluid.Trait.Corrosive")[0]);
else else
info.add(EnumChatFormatting.YELLOW + "[Corrosive]"); info.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("hbmfluid.Trait.Corrosive")[1]);
} }
@Override @Override

View File

@ -7,6 +7,7 @@ import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.util.BobMathUtil; import com.hbm.util.BobMathUtil;
import com.hbm.util.I18nUtil;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
public class FT_Flammable extends FluidTrait { public class FT_Flammable extends FluidTrait {
@ -28,10 +29,10 @@ public class FT_Flammable extends FluidTrait {
public void addInfo(List<String> info) { public void addInfo(List<String> info) {
super.addInfo(info); super.addInfo(info);
info.add(EnumChatFormatting.YELLOW + "[Flammable]"); info.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("hbmfluid.Trait.Flammable","")[0]);
if(energy > 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 @Override

View File

@ -6,6 +6,7 @@ import com.google.gson.stream.JsonWriter;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.util.I18nUtil;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import java.io.IOException; import java.io.IOException;
@ -42,14 +43,14 @@ public class FT_Heatable extends FluidTrait {
@Override @Override
public void addInfoHidden(List<String> info) { public void addInfoHidden(List<String> 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()) { for(HeatingType type : HeatingType.values()) {
double eff = getEfficiency(type); double eff = getEfficiency(type);
if(eff > 0) { if(eff > 0) {
info.add(EnumChatFormatting.AQUA + "[" + type.name + "]"); 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]);
} }
} }
} }

View File

@ -6,6 +6,7 @@ import java.util.List;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.util.I18nUtil;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
public class FT_PWRModerator extends FluidTrait { public class FT_PWRModerator extends FluidTrait {
@ -22,13 +23,13 @@ public class FT_PWRModerator extends FluidTrait {
@Override @Override
public void addInfo(List<String> info) { public void addInfo(List<String> info) {
info.add(EnumChatFormatting.BLUE + "[PWR Flux Multiplier]"); info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKeyArray("hbmfluid.Trait.PWRModerator","","")[0]);
} }
@Override @Override
public void addInfoHidden(List<String> info) { public void addInfoHidden(List<String> info) {
int mult = (int) (multiplier * 100 - 100); 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 @Override

View File

@ -6,6 +6,7 @@ import java.util.List;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.util.I18nUtil;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
@Deprecated //use FT_Toxin instead @Deprecated //use FT_Toxin instead
@ -31,7 +32,7 @@ public class FT_Poison extends FluidTrait {
@Override @Override
public void addInfoHidden(List<String> info) { public void addInfoHidden(List<String> info) {
info.add(EnumChatFormatting.GREEN + "[Toxic Fumes]"); info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("hbmfluid.Trait.Poison"));
} }
@Override public void serializeJSON(JsonWriter writer) throws IOException { @Override public void serializeJSON(JsonWriter writer) throws IOException {

View File

@ -31,7 +31,7 @@ public class FT_Toxin extends FluidTrait {
@Override @Override
public void addInfoHidden(List<String> info) { public void addInfoHidden(List<String> info) {
info.add(EnumChatFormatting.LIGHT_PURPLE + "[Toxin]"); info.add(EnumChatFormatting.LIGHT_PURPLE + I18nUtil.resolveKey("hbmfluid.Trait.Toxin"));
for(ToxinEntry entry : entries) { for(ToxinEntry entry : entries) {
entry.addInfo(info); entry.addInfo(info);

View File

@ -8,6 +8,7 @@ import com.google.gson.stream.JsonWriter;
import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.handler.radiation.ChunkRadiationManager;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.util.I18nUtil;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -32,7 +33,7 @@ public class FT_VentRadiation extends FluidTrait {
@Override @Override
public void addInfo(List<String> info) { public void addInfo(List<String> info) {
info.add(EnumChatFormatting.YELLOW + "[Radioactive]"); info.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("hbmfluid.Trait.VentRadiation"));
} }
@Override @Override

View File

@ -2,63 +2,64 @@ package com.hbm.inventory.fluid.trait;
import java.util.List; import java.util.List;
import com.hbm.util.I18nUtil;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
public class FluidTraitSimple { public class FluidTraitSimple {
public static class FT_Gaseous extends FluidTrait { public static class FT_Gaseous extends FluidTrait {
@Override public void addInfoHidden(List<String> info) { @Override public void addInfoHidden(List<String> info) {
info.add(EnumChatFormatting.BLUE + "[Gaseous]"); info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Gaseous"));
} }
} }
/** gaseous at room temperature, for cryogenic hydrogen for example */ /** gaseous at room temperature, for cryogenic hydrogen for example */
public static class FT_Gaseous_ART extends FluidTrait { public static class FT_Gaseous_ART extends FluidTrait {
@Override public void addInfoHidden(List<String> info) { @Override public void addInfoHidden(List<String> 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 { public static class FT_Liquid extends FluidTrait {
@Override public void addInfoHidden(List<String> info) { @Override public void addInfoHidden(List<String> info) {
info.add(EnumChatFormatting.BLUE + "[Liquid]"); info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Liquid"));
} }
} }
/** to viscous to be sprayed/turned into a mist */ /** to viscous to be sprayed/turned into a mist */
public static class FT_Viscous extends FluidTrait { public static class FT_Viscous extends FluidTrait {
@Override public void addInfoHidden(List<String> info) { @Override public void addInfoHidden(List<String> info) {
info.add(EnumChatFormatting.BLUE + "[Viscous]"); info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Viscous"));
} }
} }
public static class FT_Plasma extends FluidTrait { public static class FT_Plasma extends FluidTrait {
@Override public void addInfoHidden(List<String> info) { @Override public void addInfoHidden(List<String> info) {
info.add(EnumChatFormatting.LIGHT_PURPLE + "[Plasma]"); info.add(EnumChatFormatting.LIGHT_PURPLE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Plasma"));
} }
} }
public static class FT_Amat extends FluidTrait { public static class FT_Amat extends FluidTrait {
@Override public void addInfo(List<String> info) { @Override public void addInfo(List<String> info) {
info.add(EnumChatFormatting.DARK_RED + "[Antimatter]"); info.add(EnumChatFormatting.DARK_RED + I18nUtil.resolveKey("hbmfluid.TraitSimple.Amat"));
} }
} }
public static class FT_LeadContainer extends FluidTrait { public static class FT_LeadContainer extends FluidTrait {
@Override public void addInfo(List<String> info) { @Override public void addInfo(List<String> 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 { public static class FT_Delicious extends FluidTrait {
@Override public void addInfoHidden(List<String> info) { @Override public void addInfoHidden(List<String> info) {
info.add(EnumChatFormatting.DARK_GREEN + "[Delicious]"); info.add(EnumChatFormatting.DARK_GREEN + I18nUtil.resolveKey("hbmfluid.TraitSimple.Delicious"));
} }
} }
public static class FT_Leaded extends FluidTrait { public static class FT_Leaded extends FluidTrait {
@Override public void addInfoHidden(List<String> info) { @Override public void addInfoHidden(List<String> info) {
info.add(EnumChatFormatting.BLUE + "[Leaded Fuel]"); info.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("hbmfluid.TraitSimple.Leaded"));
} }
} }

View File

@ -173,7 +173,7 @@ public class ArmorDNT extends ArmorFSBPowered {
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { 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")); list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("armor.fullSetBonus"));

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.util.BobMathUtil; import com.hbm.util.BobMathUtil;
import api.hbm.energy.IBatteryItem; import api.hbm.energy.IBatteryItem;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -31,7 +32,7 @@ public class ArmorFSBPowered extends ArmorFSB implements IBatteryItem {
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { 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); super.addInformation(stack, player, list, ext);
} }

View File

@ -53,7 +53,7 @@ public class ItemArmorMod extends Item {
if(boots) if(boots)
list.add(" " + I18nUtil.resolveKey("armorMod.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) { switch(this.type) {
case ArmorModHandler.helmet_only: list.add(" " + I18nUtil.resolveKey("armorMod.type.helmet")); break; case ArmorModHandler.helmet_only: list.add(" " + I18nUtil.resolveKey("armorMod.type.helmet")); break;

View File

@ -6,6 +6,7 @@ import com.hbm.extprop.HbmLivingProps;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.potion.HbmPotion; import com.hbm.potion.HbmPotion;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -21,7 +22,7 @@ public class ItemModAuto extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(stack, player, list, bool); super.addInformation(stack, player, list, bool);

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
@ -18,14 +19,14 @@ public class ItemModBandaid extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -29,7 +30,7 @@ public class ItemModBathwater extends ItemArmorMod {
if(this == ModItems.bathwater_mk2) if(this == ModItems.bathwater_mk2)
color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.GREEN : EnumChatFormatting.YELLOW); 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@ -42,7 +43,7 @@ public class ItemModBathwater extends ItemArmorMod {
if(this == ModItems.bathwater_mk2) if(this == ModItems.bathwater_mk2)
color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.GREEN : EnumChatFormatting.YELLOW); 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 @Override

View File

@ -6,6 +6,7 @@ import com.hbm.handler.ArmorModHandler;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.lib.ModDamageSource; import com.hbm.lib.ModDamageSource;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
@ -20,16 +21,15 @@ public class ItemModCharm extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { 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) { if(this == ModItems.protection_charm) {
list.add(EnumChatFormatting.AQUA + "Diverts meteors away from the player."); for(String s : I18nUtil.resolveKeyArray( "armorMod.mod.charm.protection"))
list.add(EnumChatFormatting.AQUA + "Meteors no longer destroy blocks."); list.add(s);
list.add(EnumChatFormatting.AQUA + "Halves broadcaster damage");
} }
if(this == ModItems.meteor_charm) { if(this == ModItems.meteor_charm) {
list.add(EnumChatFormatting.AQUA + "Disables meteorite spawning."); for(String s : I18nUtil.resolveKeyArray( "armorMod.mod.charm.meteor"))
list.add(EnumChatFormatting.AQUA + "Negates broadcaster damage"); list.add(s);
} }
super.addInformation(stack, player, list, bool); super.addInformation(stack, player, list, bool);

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.items.armor.ItemArmorMod; import com.hbm.items.armor.ItemArmorMod;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
@ -20,13 +21,13 @@ public class ItemModCladding extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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]);
} }
} }

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.ai.EntityAICreeperSwell; import net.minecraft.entity.ai.EntityAICreeperSwell;
import net.minecraft.entity.ai.EntityAITasks.EntityAITaskEntry; import net.minecraft.entity.ai.EntityAITasks.EntityAITaskEntry;
@ -25,14 +26,14 @@ public class ItemModDefuser extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -40,7 +40,7 @@ public class ItemModGasmask extends ItemArmorMod implements IGasMask {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(stack, player, list, bool); super.addInformation(stack, player, list, bool);
@ -50,7 +50,7 @@ public class ItemModGasmask extends ItemArmorMod implements IGasMask {
List<HazardClass> haz = getBlacklist(stack, player); List<HazardClass> haz = getBlacklist(stack, player);
if(!haz.isEmpty()) { 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) { for(HazardClass clazz : haz) {
list.add(EnumChatFormatting.DARK_RED + " -" + I18nUtil.resolveKey(clazz.lang)); list.add(EnumChatFormatting.DARK_RED + " -" + I18nUtil.resolveKey(clazz.lang));
@ -61,7 +61,7 @@ public class ItemModGasmask extends ItemArmorMod implements IGasMask {
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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); ArmorUtil.addGasMaskTooltip(stack, MainRegistry.proxy.me(), list, false);
} }

View File

@ -6,6 +6,7 @@ import com.google.common.collect.Multimap;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer; 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); 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(""); list.add("");
if(this == ModItems.black_diamond) { if(this == ModItems.black_diamond) {
list.add(EnumChatFormatting.DARK_GRAY + "Nostalgia"); list.add(EnumChatFormatting.DARK_GRAY + I18nUtil.resolveKeyArray("armorMod.mod.health")[1]);
list.add(""); list.add("");
} }
@ -43,7 +44,7 @@ public class ItemModHealth extends ItemArmorMod {
String color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.RED : EnumChatFormatting.LIGHT_PURPLE); 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 @Override

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -19,15 +20,15 @@ public class ItemModInk extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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 + I18nUtil.resolveKeyArray("armorMod.mod.Ink")[0]);
list.add(EnumChatFormatting.LIGHT_PURPLE + "Flowers!"); list.add(EnumChatFormatting.LIGHT_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Ink")[1]);
list.add(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -8,6 +8,7 @@ import com.hbm.extprop.HbmLivingProps;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier; 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) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
if(damageMod != 1F) 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) 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) 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) 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) if(this == ModItems.insert_polonium)
list.add(EnumChatFormatting.DARK_RED + "+100 RAD/s"); 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(""); list.add("");
super.addInformation(stack, player, list, bool); super.addInformation(stack, player, list, bool);
@ -60,20 +61,20 @@ public class ItemModInsert extends ItemArmorMod {
List<String> desc = new ArrayList(); List<String> desc = new ArrayList();
if(damageMod != 1F) 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) 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) 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) 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) if(this == ModItems.insert_polonium)
desc.add("+100 RAD/s"); desc.add("+100 RAD/s");
String join = String.join(" / ", desc); 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 @Override

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -20,14 +21,14 @@ public class ItemModIron extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -8,6 +8,7 @@ import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.SharedMonsterAttributes;
@ -29,11 +30,8 @@ public class ItemModKnife extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
for(String s : I18nUtil.resolveKeyArray("armorMod.mod.Knife"))
list.add(EnumChatFormatting.RED + "Pain."); list.add(EnumChatFormatting.RED + s);
list.add("");
list.add(EnumChatFormatting.RED + "Hurts, doesn't it?");
list.add(""); list.add("");
super.addInformation(stack, player, list, bool); super.addInformation(stack, player, list, bool);
} }

View File

@ -11,6 +11,7 @@ import com.hbm.saveddata.SatelliteSavedData;
import com.hbm.saveddata.satellites.Satellite; import com.hbm.saveddata.satellites.Satellite;
import com.hbm.saveddata.satellites.SatelliteScanner; import com.hbm.saveddata.satellites.SatelliteScanner;
import com.hbm.util.I18nUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -30,7 +31,7 @@ public class ItemModLens extends ItemArmorMod implements ISatChip {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
@ -38,7 +39,7 @@ public class ItemModLens extends ItemArmorMod implements ISatChip {
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -23,15 +24,15 @@ public class ItemModLodestone extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add(EnumChatFormatting.DARK_GRAY + "Attracts nearby items"); list.add(EnumChatFormatting.DARK_GRAY + I18nUtil.resolveKeyArray("armorMod.mod.Lodestone")[0]);
list.add(EnumChatFormatting.DARK_GRAY + "Item attraction range: " + range); list.add(EnumChatFormatting.DARK_GRAY + I18nUtil.resolveKeyArray("armorMod.mod.Lodestone",range)[1]);
list.add(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -8,6 +8,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.potion.HbmPotion; import com.hbm.potion.HbmPotion;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -24,14 +25,14 @@ public class ItemModMilk extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -21,14 +22,14 @@ public class ItemModMorningGlory extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
@ -16,13 +17,13 @@ public class ItemModObsidian extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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]);
} }
} }

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; 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) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
if(damageMod != 1F) 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) 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
@ -38,9 +39,9 @@ public class ItemModPads extends ItemArmorMod {
public void addDesc(List list, ItemStack stack, ItemStack armor) { public void addDesc(List list, ItemStack stack, ItemStack armor) {
if(this == ModItems.pads_static) 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 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 @Override

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
@ -18,14 +19,14 @@ public class ItemModPolish extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.extprop.HbmLivingProps; import com.hbm.extprop.HbmLivingProps;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
@ -19,14 +20,14 @@ public class ItemModQuartz extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; 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) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
if(this == ModItems.scrumpy) { if(this == ModItems.scrumpy) {
list.add(EnumChatFormatting.GOLD + "But how did you survive?"); list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("armorMod.mod.Revive.scrumpy")[0]);
list.add(EnumChatFormatting.RED + "I was drunk."); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("armorMod.mod.Revive.scrumpy")[1]);
} }
if(this == ModItems.wild_p) { 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) { if(this == ModItems.fabsols_vodka) {
list.add(EnumChatFormatting.ITALIC + "In the news:"); for(String s : I18nUtil.resolveKeyArray("armorMod.mod.Revive.fabsols_vodka"))
list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "Man literally too angry to die."); list.add(EnumChatFormatting.ITALIC + s);
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.");
} }
list.add(""); 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(""); list.add("");
super.addInformation(stack, player, list, bool); super.addInformation(stack, player, list, bool);
} }
@ -44,6 +41,6 @@ public class ItemModRevive extends ItemArmorMod {
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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") + ")");
} }
} }

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
@ -22,15 +23,15 @@ public class ItemModSensor extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add(EnumChatFormatting.YELLOW + "Beeps near hazardous gasses"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("armorMod.mod.Sensor")[0]);
list.add(EnumChatFormatting.YELLOW + "Works in the inventory or when applied to armor"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("armorMod.mod.Sensor")[1]);
list.add(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -20,14 +21,14 @@ public class ItemModSerum extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -6,6 +6,7 @@ import com.google.common.collect.Multimap;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier; 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) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
if(this == ModItems.servo_set) { if(this == ModItems.servo_set) {
list.add(EnumChatFormatting.DARK_PURPLE + "Chestplate: Haste I / Damage +50%"); list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Servos")[0]);
list.add(EnumChatFormatting.DARK_PURPLE + "Leggings: Speed +25% / Jump II"); list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Servos")[1]);
} }
if(this == ModItems.servo_set_desh) { if(this == ModItems.servo_set_desh) {
list.add(EnumChatFormatting.DARK_PURPLE + "Chestplate: Haste III / Damage +150%"); list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Servos.desh")[0]);
list.add(EnumChatFormatting.DARK_PURPLE + "Leggings: Speed +50% / Jump III"); list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("armorMod.mod.Servos.desh")[1]);
} }
list.add(""); list.add("");
@ -46,20 +47,20 @@ public class ItemModServos extends ItemArmorMod {
if(item.armorType == 1) { if(item.armorType == 1) {
if(this == ModItems.servo_set) { 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) { 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(item.armorType == 2) {
if(this == ModItems.servo_set) { 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) { 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]);
} }
} }
} }

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
@ -17,12 +18,12 @@ public class ItemModShackles extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { 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 + I18nUtil.resolveKeyArray("armorMod.mod.Shackles")[0]);
list.add(EnumChatFormatting.RED + "You will eat when I tell you to."); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("armorMod.mod.Shackles")[1]);
list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "You will die when I allow you to."); list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + I18nUtil.resolveKeyArray("armorMod.mod.Shackles")[2]);
list.add(""); list.add("");
list.add(EnumChatFormatting.GOLD + "∞ revives left"); list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("armorMod.mod.Shackles")[3]);
list.add(""); list.add("");
super.addInformation(stack, player, list, bool); super.addInformation(stack, player, list, bool);
} }
@ -30,6 +31,6 @@ public class ItemModShackles extends ItemArmorMod {
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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]);
} }
} }

View File

@ -7,6 +7,7 @@ import com.hbm.handler.ArmorModHandler;
import com.hbm.render.model.ModelBackTesla; import com.hbm.render.model.ModelBackTesla;
import com.hbm.tileentity.machine.TileEntityTesla; import com.hbm.tileentity.machine.TileEntityTesla;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelBiped;
@ -30,14 +31,14 @@ public class ItemModTesla extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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 @Override

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
@ -17,14 +18,14 @@ public class ItemModTwoKick extends ItemArmorMod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add(EnumChatFormatting.ITALIC + "\"I've had worse\""); list.add(EnumChatFormatting.ITALIC + I18nUtil.resolveKeyArray("armorMod.mod.TwoKick")[0]);
list.add(EnumChatFormatting.YELLOW + "Punches fire 12 gauge shells"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("armorMod.mod.TwoKick")[1]);
list.add(""); list.add("");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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]);
} }
} }

View File

@ -7,6 +7,7 @@ import com.google.common.collect.Multimap;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.interfaces.IArmorModDash; import com.hbm.interfaces.IArmorModDash;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -31,14 +32,14 @@ public class ItemModV1 extends ItemArmorMod implements IArmorModDash {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { 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(""); list.add("");
super.addInformation(stack, player, list, bool); super.addInformation(stack, player, list, bool);
} }
@Override @Override
public void addDesc(List list, ItemStack stack, ItemStack armor) { 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() { public int getDashes() {

View File

@ -6,6 +6,7 @@ import com.google.common.collect.Multimap;
import com.hbm.handler.ArmorModHandler; import com.hbm.handler.ArmorModHandler;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier; 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); 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(""); list.add("");
super.addInformation(itemstack, player, list, bool); 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); 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 @Override

View File

@ -8,6 +8,7 @@ import com.hbm.render.model.ModelJetPack;
import com.hbm.util.ArmorUtil; import com.hbm.util.ArmorUtil;
import api.hbm.fluid.IFillableItem; import api.hbm.fluid.IFillableItem;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.Minecraft; 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(EnumChatFormatting.LIGHT_PURPLE + fuel.getLocalizedName() + ": " + this.getFuel(itemstack) + "mB / " + this.maxFuel + "mB");
list.add(""); list.add("");
super.addInformation(itemstack, player, list, bool); 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 @Override

View File

@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.FluidType;
import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -14,6 +15,7 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -67,9 +69,8 @@ public class JetpackBooster extends JetpackBase {
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
for(String s : I18nUtil.resolveKeyArray("item.jetpack_boost.desc"))
list.add("High-powered vectorized jetpack."); list.add(s);
list.add("Highly increased fuel consumption.");
super.addInformation(stack, player, list, ext); super.addInformation(stack, player, list, ext);
} }

View File

@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.FluidType;
import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -77,9 +78,8 @@ public class JetpackBreak extends JetpackBase {
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add("Regular jetpack that will automatically hover mid-air."); for(String s : I18nUtil.resolveKeyArray("item.jetpack_break.desc"))
list.add("Sneaking will stop hover mode."); list.add(s);
list.add("Hover mode will consume less fuel and increase air-mobility.");
super.addInformation(stack, player, list, ext); super.addInformation(stack, player, list, ext);
} }

View File

@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.FluidType;
import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -56,7 +57,7 @@ public class JetpackRegular extends JetpackBase {
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { 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); super.addInformation(stack, player, list, ext);
} }

View File

@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.FluidType;
import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@ -68,8 +69,8 @@ public class JetpackVectorized extends JetpackBase {
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add("High-mobility jetpack."); for(String s : I18nUtil.resolveKeyArray("item.jetpack_vector.desc"))
list.add("Higher fuel consumption."); list.add(s);
super.addInformation(stack, player, list, ext); super.addInformation(stack, player, list, ext);
} }

View File

@ -2,6 +2,7 @@ package com.hbm.items.block;
import java.util.List; import java.util.List;
import com.hbm.util.I18nUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -25,6 +26,6 @@ public class ItemBlockBlastInfo extends ItemBlockBase {
if(block == null) if(block == null)
return; return;
list.add(EnumChatFormatting.GOLD + "Blast Resistance: " + block.getExplosionResistance(null)); list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("desc.block.blastinfo", block.getExplosionResistance(null)));
} }
} }

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.RedBarrel; import com.hbm.blocks.generic.RedBarrel;
import com.hbm.util.I18nUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
@ -21,35 +22,21 @@ public class ItemBlockLore extends ItemBlockBase {
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
if(this.field_150939_a instanceof RedBarrel) { 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) { 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) { if(this.field_150939_a == ModBlocks.ore_oil) {
list.add("You weren't supposed to mine that."); for(String s : I18nUtil.resolveKeyArray("tile.ore_oil.desc"))
list.add("Come on, get a derrick you doofus."); list.add(s);
} }
if(this.field_150939_a == ModBlocks.gravel_diamond) { if(this.field_150939_a == ModBlocks.gravel_diamond) {
list.add("There is some kind of joke here,"); for(String s : I18nUtil.resolveKeyArray("tile.gravel_diamond.desc"))
list.add("but I can't quite tell what it is."); list.add(s);
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?");
} }
} }

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.config.CustomMachineConfigJSON; import com.hbm.config.CustomMachineConfigJSON;
import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -37,7 +38,7 @@ public class ItemCustomMachine extends ItemBlock {
MachineConfiguration conf = CustomMachineConfigJSON.niceList.get(id); MachineConfiguration conf = CustomMachineConfigJSON.niceList.get(id);
if(conf != null) { 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");
} }
} }

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -14,8 +15,8 @@ public class ItemFleija extends Item {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
{ {
list.add("Used in:"); for(String s : I18nUtil.resolveKeyArray( "tile.nuke_fleija.desc"))
list.add("F.L.E.I.J.A."); list.add(s);
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }

View File

@ -2,6 +2,7 @@ package com.hbm.items.bomb;
import java.util.List; import java.util.List;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -10,12 +11,7 @@ public class ItemMissileShuttle extends Item {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add("Tonite, on bo''om gear:"); for(String s : I18nUtil.resolveKeyArray( "item.missile_shuttle.desc"))
list.add("James huffs leaded gasoline and"); list.add(s);
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");
} }
} }

View File

@ -2,17 +2,19 @@ package com.hbm.items.bomb;
import java.util.List; import java.util.List;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ItemN2 extends Item { public class ItemN2 extends Item {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
{ {
list.add("Used in:"); for(String s : I18nUtil.resolveKeyArray( "tile.nuke_n2.desc"))
list.add("N² Mine"); list.add(s);
} }
} }

View File

@ -2,6 +2,7 @@ package com.hbm.items.bomb;
import java.util.List; import java.util.List;
import com.hbm.util.I18nUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
@ -16,10 +17,8 @@ public class ItemPrototypeBlock extends ItemBlock {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
{ {
list.add("It didn't have to be like this."); for(String s : I18nUtil.resolveKeyArray( "tile.nuke_prototype.desc"))
list.add(""); list.add(s);
list.add("You monster.");
/*list.add("In memory of Euphemia."); /*list.add("In memory of Euphemia.");
list.add(""); list.add("");
list.add("Rest in spaghetti, never forgetti.");*/ list.add("Rest in spaghetti, never forgetti.");*/

View File

@ -2,6 +2,7 @@ package com.hbm.items.bomb;
import java.util.List; import java.util.List;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -11,8 +12,8 @@ public class ItemSolinium extends Item {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
{ {
list.add("Used in:"); for(String s : I18nUtil.resolveKeyArray( "tile.nuke_solinium.desc"))
list.add("Solinium Bomb"); list.add(s);
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }
} }

View File

@ -6,6 +6,7 @@ import com.hbm.items.ModItems;
import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items; 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) public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
{ {
if(this == ModItems.lemon) { if(this == ModItems.lemon) {
list.add("Eh, good enough."); list.add(I18nUtil.resolveKey("item.lemon.desc"));
} }
if(this == ModItems.definitelyfood) { if(this == ModItems.definitelyfood) {
list.add("A'right, I got sick and tired of"); for(String s : I18nUtil.resolveKeyArray("item.definitelyfood.desc"))
list.add("having to go out, kill things just"); list.add(s);
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.");
} }
if(this == ModItems.med_ipecac) { if(this == ModItems.med_ipecac) {
list.add("Bitter juice that will cause your stomach"); for(String s : I18nUtil.resolveKeyArray("item.med_ipecac.desc"))
list.add("to forcefully eject its contents."); list.add(s);
} }
if(this == ModItems.med_ptsd) { if(this == ModItems.med_ptsd) {
list.add("This isn't even PTSD mediaction, it's just"); for(String s : I18nUtil.resolveKeyArray("item.med_ptsd.desc"))
list.add("Ipecac in a different bottle!"); list.add(s);
} }
if(this == ModItems.med_schizophrenia) { if(this == ModItems.med_schizophrenia) {
list.add("Makes the voices go away. Just for a while."); for(String s : I18nUtil.resolveKeyArray("item.med_schiziphrenia.desc"))
list.add(""); list.add(s);
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.");
} }
if(this == ModItems.loops) { 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) { if(this == ModItems.loop_stew) {
list.add("A very, very healthy breakfast."); list.add(I18nUtil.resolveKey("item.loop_stew.desc"));
} }
if(this == ModItems.twinkie) { if(this == ModItems.twinkie) {
list.add("Expired 600 years ago!"); list.add(I18nUtil.resolveKey("item.twinkie.desc"));
} }
if(this == ModItems.pudding) { if(this == ModItems.pudding) {
list.add("What if he did?"); for(String s : I18nUtil.resolveKeyArray("item.pudding.desc"))
list.add("What if he didn't?"); list.add(s);
list.add("What if the world was made of pudding?");
} }
if(this == ModItems.ingot_semtex) { if(this == ModItems.ingot_semtex) {
list.add("Semtex H Plastic Explosive"); for(String s : I18nUtil.resolveKeyArray("item.ingot_semtex.desc"))
list.add("Performant explosive for many applications."); list.add(s);
list.add("Edible");
} }
if(this == ModItems.peas) { if(this == ModItems.peas) {
list.add("He accepts your offering."); list.add(I18nUtil.resolveKey("item.peas.desc"));
} }
if(this == ModItems.quesadilla) { 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"));
} }
} }

View File

@ -2,6 +2,7 @@ package com.hbm.items.food;
import java.util.List; import java.util.List;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
@ -39,15 +40,15 @@ public class ItemTemFlakes extends ItemFood {
{ {
if(itemstack.getItemDamage() == 0) 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) if(itemstack.getItemDamage() == 1)
{ {
list.add("Heals 2HP food of tem"); list.add(I18nUtil.resolveKeyArray("item.tem_flakes.desc")[1]);
} }
if(itemstack.getItemDamage() == 2) if(itemstack.getItemDamage() == 2)
{ {
list.add("Heals food of tem (expensiv)"); list.add(I18nUtil.resolveKeyArray("item.tem_flakes.desc")[2]);
} }
} }

View File

@ -6,6 +6,7 @@ import com.hbm.items.ModItems;
import com.hbm.util.BobMathUtil; import com.hbm.util.BobMathUtil;
import api.hbm.energy.IBatteryItem; import api.hbm.energy.IBatteryItem;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
@ -34,14 +35,14 @@ public class ItemBattery extends Item implements IBatteryItem {
charge = getCharge(itemstack); charge = getCharge(itemstack);
if(itemstack.getItem() != ModItems.fusion_core && itemstack.getItem() != ModItems.energy_core) { 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 { } else {
String charge1 = BobMathUtil.getShortNumber((charge * 100) / this.maxCharge); 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("(" + 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)));
list.add("Discharge rate: " + BobMathUtil.getShortNumber(dischargeRate) + "HE/t"); list.add(I18nUtil.resolveKey("desc.item.battery.dischargeRate",BobMathUtil.getShortNumber(dischargeRate)));
} }
@Override @Override

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; 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) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
if(this.type == UpgradeType.SPEED) { if(this.type == UpgradeType.SPEED) {
list.add(EnumChatFormatting.RED + "Mining Drill:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]);
list.add("Delay -" + (15 * this.tier) + "% / Consumption +" + (300 * this.tier) + "HE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed",(15 * this.tier),(300 * this.tier),"","","","","","")[0]);
list.add(EnumChatFormatting.RED + "Laser Miner:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[1]);
list.add("Delay ÷" + (1 + this.tier) + " / Consumption +" + (625 * this.tier) + "HE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed","","",(1 + this.tier),(625 * this.tier),"","","","")[1]);
list.add(EnumChatFormatting.RED + "Electric Furnace:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[2]);
list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (50 * this.tier) + "HE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed",(25 * this.tier),(50 * this.tier),"","","","","","")[0]);
list.add(EnumChatFormatting.RED + "Assembly Machine:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[3]);
list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (300 * this.tier) + "HE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed",(25 * this.tier),(300 * this.tier),"","","","","","")[0]);
list.add(EnumChatFormatting.RED + "Chemical Plant:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[4]);
list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (300 * this.tier) + "HE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed",(25 * this.tier),(300 * this.tier),"","","","","","")[0]);
list.add(EnumChatFormatting.RED + "Oil Wells:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[5]);
list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (25 * this.tier) + "%"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed","","","","",(25 * this.tier),(25 * this.tier),"","")[2]);
list.add(EnumChatFormatting.RED + "Crystallizer:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[6]);
list.add("Delay -" + (20 * this.tier) + "% / Consumption +" + (1000 * this.tier) + "HE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed",(20 * this.tier),(1000 * this.tier),"","","","","","")[0]);
list.add(EnumChatFormatting.RED + "Cyclotron:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[7]);
list.add("Speed x" + (1 + this.tier)); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed","","","","","","",(1 + this.tier),"")[3]);
list.add(EnumChatFormatting.RED + "Flare Stack:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[8]);
list.add("Speed x" + (1 + this.tier)); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed","","","","","","",(1 + this.tier),"")[3]);
list.add(EnumChatFormatting.RED + "Maxwell:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[9]);
list.add("Damage +" + (0.25 * (double)this.tier) + "dmg/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.speed","","","","","","","",(0.25 * (double)this.tier))[4]);
} }
if(this.type == UpgradeType.EFFECT) { if(this.type == UpgradeType.EFFECT) {
list.add(EnumChatFormatting.RED + "Mining Drill:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]);
list.add("Radius +" + this.tier + "m / Consumption +" + (80 * this.tier) + "HE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.effect",this.tier,(80 * this.tier),"","","","","")[0]);
list.add(EnumChatFormatting.RED + "Crystallizer:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[6]);
list.add("+" + (5 * this.tier) + "% chance of not consuming an item / Acid consumption +" + (1000 * this.tier) + "mB"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.effect","","",(5 * this.tier),(1000 * this.tier),"","","")[1]);
list.add(EnumChatFormatting.RED + "Cyclotron:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[7]);
list.add("-" + (100 - 100 / (this.tier + 1)) + "% chance of incrementing overheat counter"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.effect","","","","",(100 - 100 / (this.tier + 1)),"","")[2]);
list.add(EnumChatFormatting.RED + "Flare Stack:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[8]);
list.add("+" + (100 * this.tier / 3) + "% power production"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.effect","","","","","",(100 * this.tier / 3),"")[3]);
list.add(EnumChatFormatting.RED + "Maxwell:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[9]);
list.add("Range +" + (3 * this.tier) + "m"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.effect","","","","","","",(3 * this.tier))[4]);
} }
if(this.type == UpgradeType.POWER) { if(this.type == UpgradeType.POWER) {
list.add(EnumChatFormatting.RED + "Mining Drill:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]);
list.add("Consumption -" + (30 * this.tier) + "HE/t / Delay +" + (5 * this.tier) + "%"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power",(30 * this.tier),(5 * this.tier),"","","","","")[0]);
list.add(EnumChatFormatting.RED + "Electric Furnace:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[2]);
list.add("Consumption -" + (15 * this.tier) + "HE/t / Delay +" + (10 * this.tier) + "%"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power",(15 * this.tier),(10 * this.tier),"","","","","")[0]);
list.add(EnumChatFormatting.RED + "Assembly Machine:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[3]);
list.add("Consumption -" + (30 * this.tier) + "HE/t / Delay +" + (5 * this.tier) + "%"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power",(30 * this.tier),(5 * this.tier),"","","","","")[0]);
list.add(EnumChatFormatting.RED + "Chemical Plant:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[4]);
list.add("Consumption -" + (30 * this.tier) + "HE/t / Delay +" + (5 * this.tier) + "%"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power",(30 * this.tier),(5 * this.tier),"","","","","")[0]);
list.add(EnumChatFormatting.RED + "Oil Wells:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[5]);
list.add("Consumption -" + (25 * this.tier) + "% / Delay +" + (10 * this.tier) + "%"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power","","",(25 * this.tier),(10 * this.tier),"","","")[1]);
list.add(EnumChatFormatting.RED + "Cyclotron:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[7]);
list.add("Consumption -" + (100 * this.tier) + "kHE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power","","","","",(100 * this.tier),"","")[2]);
list.add(EnumChatFormatting.RED + "Maxwell:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[9]);
list.add("Consumption -" + (150 * this.tier) + "HE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power","","","","","",(150 * this.tier),"")[3]);
list.add("Consumption when firing -" + (1500 * this.tier) + "HE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.power","","","","","","",(1500 * this.tier))[4]);
} }
if(this == ModItems.upgrade_fortune_1) { if(this == ModItems.upgrade_fortune_1) {
list.add(EnumChatFormatting.RED + "Mining Drill:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]);
list.add("Fortune +1 / Delay +15"); list.add(I18nUtil.resolveKey("desc.item.upgrade.fortune","1","15"));
} }
if(this == ModItems.upgrade_fortune_2) { if(this == ModItems.upgrade_fortune_2) {
list.add(EnumChatFormatting.RED + "Mining Drill:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]);
list.add("Fortune +2 / Delay +30"); list.add(I18nUtil.resolveKey("desc.item.upgrade.fortune","2","30"));
} }
if(this == ModItems.upgrade_fortune_3) { if(this == ModItems.upgrade_fortune_3) {
list.add(EnumChatFormatting.RED + "Mining Drill:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[0]);
list.add("Fortune +3 / Delay +45"); list.add(I18nUtil.resolveKey("desc.item.upgrade.fortune","3","45"));
} }
if(this.type == UpgradeType.AFTERBURN) { if(this.type == UpgradeType.AFTERBURN) {
list.add(EnumChatFormatting.RED + "Turbofan:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[10]);
list.add("Production x" + (this.tier + 1) + " / Consumption x" + (this.tier + 2)); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.afterburn",(this.tier + 1),(this.tier + 2),"","","")[0]);
list.add(EnumChatFormatting.RED + "Maxwell:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[9]);
list.add("Afterburn +" + (this.tier * 3) + "s"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.afterburn","","",(this.tier * 3),"","")[1]);
list.add(EnumChatFormatting.RED + "Oil Wells:"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[5]);
list.add("Burn " + (this.tier * 10) + "mB of gas for " + (this.tier * 50) + "HE/t"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.afterburn","","","",(this.tier * 10),(this.tier * 50))[2]);
} }
if(this == ModItems.upgrade_radius) { if(this == ModItems.upgrade_radius) {
list.add(EnumChatFormatting.RED + "Forcefield Range Upgrade"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[11]);
list.add("Radius +16 / Consumption +500"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.forcefield","16","500")[0]);
list.add("Stacks to 16"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.forcefield")[2]);
} }
if(this == ModItems.upgrade_health) { if(this == ModItems.upgrade_health) {
list.add(EnumChatFormatting.RED + "Forcefield Health Upgrade"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[12]);
list.add("Max. Health +50 / Consumption +250"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.forcefield","50","250")[1]);
list.add("Stacks to 16"); list.add(I18nUtil.resolveKeyArray("desc.item.upgrade.forcefield")[2]);
} }
if(this == ModItems.upgrade_smelter) { if(this == ModItems.upgrade_smelter) {
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]);
list.add("Smelts blocks. Easy enough."); list.add(I18nUtil.resolveKey("desc.item.upgrade.smelter"));
} }
if(this == ModItems.upgrade_shredder) { if(this == ModItems.upgrade_shredder) {
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]);
list.add("Crunches ores"); list.add(I18nUtil.resolveKey("desc.item.upgrade.shredder"));
} }
if(this == ModItems.upgrade_centrifuge) { if(this == ModItems.upgrade_centrifuge) {
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]);
list.add("Hopefully self-explanatory"); list.add(I18nUtil.resolveKey("desc.item.upgrade.centrifuge"));
} }
if(this == ModItems.upgrade_crystallizer) { if(this == ModItems.upgrade_crystallizer) {
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]);
list.add("Your new best friend"); list.add(I18nUtil.resolveKey("desc.item.upgrade.crystallizer"));
} }
if(this == ModItems.upgrade_screm) { if(this == ModItems.upgrade_screm) {
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]);
list.add("It's like in Super Mario where all blocks are"); for(String s : I18nUtil.resolveKeyArray("desc.item.upgrade.screm"))
list.add("actually Toads, but here it's Half-Life scientists"); list.add(s);
list.add("and they scream. A lot.");
} }
if(this == ModItems.upgrade_nullifier) { if(this == ModItems.upgrade_nullifier) {
list.add(EnumChatFormatting.RED + "Mining Laser Upgrade"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[13]);
list.add("50% chance to override worthless items with /dev/zero"); for(String s : I18nUtil.resolveKeyArray("desc.item.upgrade.nullifier"))
list.add("50% chance to move worthless items to /dev/null"); list.add(s);
} }
if(this == ModItems.upgrade_gc_speed) { if(this == ModItems.upgrade_gc_speed) {
list.add(EnumChatFormatting.RED + "Gas Centrifuge Upgrade"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("desc.item.upgrade.machine")[14]);
list.add("Allows for total isotopic separation of HEUF6"); for(String s : I18nUtil.resolveKeyArray("desc.item.upgrade.gc_speed"))
list.add(EnumChatFormatting.YELLOW + "also your centrifuge goes sicko mode"); list.add(s);
} }
} }

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.items.ItemEnumMulti; import com.hbm.items.ItemEnumMulti;
import com.hbm.util.EnumUtil; import com.hbm.util.EnumUtil;
import com.hbm.util.I18nUtil;
import com.hbm.util.function.Function; import com.hbm.util.function.Function;
import com.hbm.util.function.Function.FunctionLogarithmic; import com.hbm.util.function.Function.FunctionLogarithmic;
import com.hbm.util.function.Function.FunctionSqrt; import com.hbm.util.function.Function.FunctionSqrt;
@ -55,10 +56,7 @@ public class ItemPWRFuel extends ItemEnumMulti {
EnumPWRFuel num = EnumUtil.grabEnumSafely(EnumPWRFuel.class, stack.getItemDamage()); EnumPWRFuel num = EnumUtil.grabEnumSafely(EnumPWRFuel.class, stack.getItemDamage());
String color = EnumChatFormatting.GOLD + ""; String color = EnumChatFormatting.GOLD + "";
String reset = EnumChatFormatting.RESET + ""; for(String s : I18nUtil.resolveKeyArray("trait.pwr_fuel" , num.heatEmission, num.function.getLabelForFuel(), num.function.getDangerFromFuel()))
list.add(color + s);
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());
} }
} }

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.util.BobMathUtil; import com.hbm.util.BobMathUtil;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
@ -27,10 +28,8 @@ public class ItemPlateFuel extends ItemFuelRod {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
for(String s : I18nUtil.resolveKeyArray("trait.platefuel", getFunctionDesc(), BobMathUtil.getShortNumber(lifeTime)))
list.add(EnumChatFormatting.YELLOW + "[Research Reactor Plate Fuel]"); list.add(EnumChatFormatting.YELLOW + s);
list.add(EnumChatFormatting.DARK_AQUA + " " + getFunctionDesc());
list.add(EnumChatFormatting.DARK_AQUA + " Yield of " + BobMathUtil.getShortNumber(lifeTime) + " events");
super.addInformation(itemstack, player, list, bool); super.addInformation(itemstack, player, list, bool);
} }

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.items.special.ItemNuclearWaste; import com.hbm.items.special.ItemNuclearWaste;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -77,20 +78,20 @@ public class ItemRBMKPellet extends ItemNuclearWaste {
super.addInformation(stack, player, list, bool); super.addInformation(stack, player, list, bool);
list.add(EnumChatFormatting.ITALIC + this.fullName); 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()); int meta = rectify(stack.getItemDamage());
switch(meta % 5) { switch(meta % 5) {
case 0: list.add(EnumChatFormatting.GOLD + "Brand New"); break; case 0: list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[1]); break;
case 1: list.add(EnumChatFormatting.YELLOW + "Barely Depleted"); break; case 1: list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[2]); break;
case 2: list.add(EnumChatFormatting.GREEN + "Moderately Depleted"); break; case 2: list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[3]); break;
case 3: list.add(EnumChatFormatting.DARK_GREEN + "Highly Depleted"); break; case 3: list.add(EnumChatFormatting.DARK_GREEN + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[4]); break;
case 4: list.add(EnumChatFormatting.DARK_GRAY + "Fully Depleted"); break; case 4: list.add(EnumChatFormatting.DARK_GRAY + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[5]); break;
} }
if(hasXenon(meta)) if(hasXenon(meta))
list.add(EnumChatFormatting.DARK_PURPLE + "High Xenon Poison"); list.add(EnumChatFormatting.DARK_PURPLE + I18nUtil.resolveKeyArray("trait.rbmk_pellet")[6]);
} }
@Override @Override

View File

@ -223,15 +223,15 @@ public class ItemRBMKRod extends Item {
} }
public static enum EnumBurnFunc { public static enum EnumBurnFunc {
PASSIVE(EnumChatFormatting.DARK_GREEN + "SAFE / PASSIVE"), //const, no reactivity PASSIVE(EnumChatFormatting.DARK_GREEN + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[0]), //const, no reactivity
LOG_TEN(EnumChatFormatting.YELLOW + "MEDIUM / LOGARITHMIC"), //log10(x + 1) * reactivity * 50 LOG_TEN(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[1]), //log10(x + 1) * reactivity * 50
PLATEU(EnumChatFormatting.GREEN + "SAFE / EULER"), //(1 - e^(-x/25)) * reactivity * 100 PLATEU(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[2]), //(1 - e^(-x/25)) * reactivity * 100
ARCH(EnumChatFormatting.RED + "DANGEROUS / NEGATIVE-QUADRATIC"), //x-(x²/1000) * reactivity ARCH(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[3]), //x-(x²/1000) * reactivity
SIGMOID(EnumChatFormatting.GREEN + "SAFE / SIGMOID"), //100 / (1 + e^(-(x - 50) / 10)) <- tiny amount of reactivity at x=0 ! 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 + "MEDIUM / SQUARE ROOT"), //sqrt(x) * 10 * reactivity SQUARE_ROOT(EnumChatFormatting.YELLOW + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[5]), //sqrt(x) * 10 * reactivity
LINEAR(EnumChatFormatting.RED + "DANGEROUS / LINEAR"), //x * reactivity LINEAR(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[6]), //x * reactivity
QUADRATIC(EnumChatFormatting.RED + "DANGEROUS / QUADRATIC"), //x^2 / 100 * reactivity QUADRATIC(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[7]), //x^2 / 100 * reactivity
EXPERIMENTAL(EnumChatFormatting.RED + "EXPERIMENTAL / SINE SLOPE"); //x * (sin(x) + 1) EXPERIMENTAL(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("trait.rbmk.BurnFunc")[8]); //x * (sin(x) + 1)
public String title = ""; public String title = "";

View File

@ -9,6 +9,7 @@ import com.hbm.main.MainRegistry;
import com.hbm.render.icon.RGBMutatorInterpolatedComponentRemap; import com.hbm.render.icon.RGBMutatorInterpolatedComponentRemap;
import com.hbm.render.icon.TextureAtlasSpriteMutatable; import com.hbm.render.icon.TextureAtlasSpriteMutatable;
import com.hbm.util.EnumUtil; import com.hbm.util.EnumUtil;
import com.hbm.util.I18nUtil;
import com.hbm.util.function.Function; import com.hbm.util.function.Function;
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; if(this != ModItems.watz_pellet) return;
EnumWatzType num = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); 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 color = EnumChatFormatting.GOLD + "";
String reset = EnumChatFormatting.RESET + ""; String reset = EnumChatFormatting.RESET + "";
if(num.passive > 0){ if(num.passive > 0){
list.add(color + "Base fission rate: " + reset + num.passive); list.add(color + I18nUtil.resolveKeyArray("trait.watz_pellet.passive")[0] + reset + num.passive);
list.add(EnumChatFormatting.RED + "Self-igniting!"); 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) { if(num.burnFunc != null) {
list.add(color + "Reacton function: " + reset + num.burnFunc.getLabelForFuel()); list.add(color + I18nUtil.resolveKeyArray("trait.watz_pellet.burnFunc")[0] + reset + num.burnFunc.getLabelForFuel());
list.add(color + "Fuel type: " + reset + num.burnFunc.getDangerFromFuel()); 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.heatDiv != null) list.add(color + I18nUtil.resolveKey("trait.watz_pellet.heatDiv") + reset + num.heatDiv.getLabelForFuel() + " TU⁻¹");
if(num.absorbFunc != null) list.add(color + "Flux capture: " + reset + num.absorbFunc.getLabelForFuel()); if(num.absorbFunc != null) list.add(color + I18nUtil.resolveKey("trait.watz_pellet.absorbFunc") + reset + num.absorbFunc.getLabelForFuel());
} }
@Override @Override

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer; 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) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
if (this == ModItems.ams_core_sing) { if (this == ModItems.ams_core_sing) {
list.add("A modified undefined state of spacetime"); for(String s : I18nUtil.resolveKeyArray("item.ams_core_sing.desc"))
list.add("used to aid in inter-gluon fusion and"); list.add(s);
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.");
} }
if (this == ModItems.ams_core_wormhole) { if (this == ModItems.ams_core_wormhole) {
list.add("A cloud of billions of nano-wormholes which"); for(String s : I18nUtil.resolveKeyArray("item.ams_core_wormhole.desc"))
list.add("deliberately fail at tunneling matter from"); list.add(s);
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.");
} }
if (this == ModItems.ams_core_eyeofharmony) { if (this == ModItems.ams_core_eyeofharmony) {
list.add("A star collapsing in on itself, mere nanoseconds"); for(String s : I18nUtil.resolveKeyArray("item.ams_core_eyeofharmony.desc"))
list.add("away from being turned into a black hole,"); list.add(s);
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.");
} }
if (this == ModItems.ams_core_thingy) { if (this == ModItems.ams_core_thingy) {
if(MainRegistry.polaroidID == 11) { 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 { } else {
list.add("..."); for(String s : I18nUtil.resolveKeyArray("item.ams_core_thingy.desc"))
list.add("..."); list.add(s);
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.");
} }
} }
} }

View File

@ -13,6 +13,7 @@ import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import api.hbm.energy.IBatteryItem; import api.hbm.energy.IBatteryItem;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -39,10 +40,10 @@ public class ItemGlitch extends Item implements IBatteryItem {
if(!world.isRemote) if(!world.isRemote)
switch(itemRand.nextInt(31)) { switch(itemRand.nextInt(31)) {
case 0: case 0:
player.addChatMessage(new ChatComponentText("Sorry nothing.")); player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[0]));
break; break;
case 1: 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; break;
case 2: case 2:
player.attackEntityFrom(ModDamageSource.radiation, 1000); player.attackEntityFrom(ModDamageSource.radiation, 1000);
@ -66,7 +67,7 @@ public class ItemGlitch extends Item implements IBatteryItem {
break; break;
case 8: case 8:
player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_container, 10)); 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; break;
case 9: case 9:
player.inventory.addItemStackToInventory(new ItemStack(ModItems.nuke_advanced_kit, 1)); 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.gun_revolver_pip));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.bottle_sparkle)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.bottle_sparkle));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.geiger_counter)); 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; break;
case 14: case 14:
player.inventory.dropAllItems(); player.inventory.dropAllItems();
@ -105,43 +106,43 @@ public class ItemGlitch extends Item implements IBatteryItem {
player.inventory.addItemStackToInventory(new ItemStack(Blocks.dirt, 64)); player.inventory.addItemStackToInventory(new ItemStack(Blocks.dirt, 64));
break; break;
case 16: case 16:
player.addChatMessage(new ChatComponentText("v yvxr lbhe nggvghqr!")); player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[4]));
break; break;
case 17: 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; break;
case 18: case 18:
player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action));
player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_20gauge, 12)); 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; break;
case 19: case 19:
player.addChatMessage(new ChatComponentText("Ë")); player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[7]));
break; break;
case 20: case 20:
player.addChatMessage(new ChatComponentText("Good day, I am text")); player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[8]));
break; break;
case 21: case 21:
player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_nuclear)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_nuclear));
player.addChatMessage(new ChatComponentText("73616d706c652074657874!")); player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[9]));
break; break;
case 22: case 22:
player.addChatMessage(new ChatComponentText("Budget cuts, no effect for you.")); player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[10]));
break; break;
case 23: case 23:
player.addChatMessage(new ChatComponentText("oof")); player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[11]));
break; break;
case 24: case 24:
player.addPotionEffect(new PotionEffect(Potion.resistance.id, 60 * 20, 9)); 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; break;
case 25: case 25:
player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 60 * 20, 9)); 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; break;
case 26: case 26:
player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 60 * 20, 9)); 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; break;
case 27: case 27:
EntityVortex vortex = new EntityVortex(world, 2.5F); EntityVortex vortex = new EntityVortex(world, 2.5F);
@ -156,15 +157,15 @@ public class ItemGlitch extends Item implements IBatteryItem {
mirv.posY = player.posY + 100; mirv.posY = player.posY + 100;
mirv.posZ = player.posZ; mirv.posZ = player.posZ;
world.spawnEntityInWorld(mirv); world.spawnEntityInWorld(mirv);
player.addChatMessage(new ChatComponentText("Watch your head!")); player.addChatMessage(new ChatComponentText(I18nUtil.resolveKeyArray("item.glitch.message")[15]));
break; break;
case 29: case 29:
ExplosionLarge.spawnBurst(world, player.posX, player.posY, player.posZ, 27, 3); 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; break;
case 30: case 30:
player.inventory.addItemStackToInventory(new ItemStack(ModItems.plate_saturnite)); 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; break;
} }
@ -176,62 +177,62 @@ public class ItemGlitch extends Item implements IBatteryItem {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) 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(""); list.add("");
switch(MainRegistry.polaroidID) { switch(MainRegistry.polaroidID) {
case 1: case 1:
list.add("Click-click-click!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[1]);
break; break;
case 2: case 2:
list.add("Creek!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[2]);
break; break;
case 3: case 3:
list.add("Bzzzt!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[3]);
break; break;
case 4: case 4:
list.add("TS staring off into space."); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[4]);
break; break;
case 5: case 5:
list.add("BANG!!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[5]);
break; break;
case 6: case 6:
list.add("Woop!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[6]);
break; break;
case 7: case 7:
list.add("Poow!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[7]);
break; break;
case 8: case 8:
list.add("Pft!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[8]);
break; break;
case 9: case 9:
list.add("GF fgnevat bss vagb fcnpr."); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[9]);
break; break;
case 10: case 10:
list.add("Backup memory #8 on 1.44 million bytes."); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[10]);
break; break;
case 11: case 11:
list.add("PTANG!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[11]);
break; break;
case 12: case 12:
list.add("Bzzt-zrrt!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[12]);
break; break;
case 13: case 13:
list.add("Clang, click-brrthththrtrtrtrtrtr!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[13]);
break; break;
case 14: case 14:
list.add("KABLAM!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[14]);
break; break;
case 15: case 15:
list.add("PLENG!"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[15]);
break; break;
case 16: case 16:
list.add("Wheeeeeeee-"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[16]);
break; break;
case 17: case 17:
list.add("Thump."); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[17]);
break; break;
case 18: case 18:
list.add("BANG! Choo-chooo! B A N G ! ! !"); list.add(I18nUtil.resolveKeyArray("item.glitch.desc")[18]);
break; break;
} }
} }

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -39,7 +40,7 @@ public class ItemRag extends Item {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add("Drop into water to make damp cloth."); for(String s : I18nUtil.resolveKeyArray("item.rag.desc"))
list.add("Right-click to urinate on the cloth."); list.add(s);
} }
} }

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -50,12 +51,12 @@ public class ItemSoyuz extends Item {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { 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()) { switch(stack.getItemDamage()) {
case 0: list.add(EnumChatFormatting.GOLD + "Original"); break; case 0: list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKeyArray("item.missile_soyuz.desc")[1]); break;
case 1: list.add(EnumChatFormatting.BLUE + "Luna Space Center"); break; case 1: list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKeyArray("item.missile_soyuz.desc")[2]); break;
case 2: list.add(EnumChatFormatting.GREEN + "Post War"); break; case 2: list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKeyArray("item.missile_soyuz.desc")[3]); break;
} }
} }

View File

@ -7,6 +7,7 @@ import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemBattery; import com.hbm.items.machine.ItemBattery;
import com.hbm.util.BobMathUtil; import com.hbm.util.BobMathUtil;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
@ -27,14 +28,14 @@ public class ItemAnchorRemote extends ItemBattery {
charge = getCharge(itemstack); charge = getCharge(itemstack);
if(itemstack.getItem() != ModItems.fusion_core && itemstack.getItem() != ModItems.energy_core) { 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 { } else {
String charge1 = BobMathUtil.getShortNumber((charge * 100) / this.maxCharge); 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("(" + 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 @Override

View File

@ -7,6 +7,7 @@ import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ILookOverlay;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.util.I18nUtil;
import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.BlockPos;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -156,10 +157,8 @@ public class ItemCMStructure extends Item implements ILookOverlay {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
super.addInformation(stack, player, list, ext); super.addInformation(stack, player, list, ext);
list.add(EnumChatFormatting.YELLOW + "Click Custom Machine Structure Positioning Anchor to"); for(String s : I18nUtil.resolveKeyArray("item.structure_custommachine.desc"))
list.add(EnumChatFormatting.YELLOW + "Confirm the location of the custom machine core block."); list.add(EnumChatFormatting.YELLOW + s);
list.add(EnumChatFormatting.YELLOW + "Output all blocks between Position1 and Position2 with");
list.add(EnumChatFormatting.YELLOW + "metadata to \"CMstructureOutput.txt\" in hbmConfig.");
} }
@Override @Override

View File

@ -2,6 +2,7 @@ package com.hbm.items.tool;
import java.util.List; import java.util.List;
import com.hbm.util.I18nUtil;
import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Level;
import com.hbm.config.GeneralConfig; import com.hbm.config.GeneralConfig;
@ -21,12 +22,12 @@ public class ItemDetonator extends Item {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add("Shift right-click to set position,"); for(String s : I18nUtil.resolveKeyArray("item.detonator.desc"))
list.add("right-click to detonate!"); list.add(s);
if(itemstack.getTagCompound() == null) { if(itemstack.getTagCompound() == null) {
list.add(EnumChatFormatting.RED + "No position set!"); list.add(EnumChatFormatting.RED + I18nUtil.resolveKeyArray("item.detonator.pos.desc")[0]);
} else { } 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) player.addChatMessage(ChatBuilder.start("[").color(EnumChatFormatting.DARK_AQUA)
.nextTranslation(this.getUnlocalizedName() + ".name").color(EnumChatFormatting.DARK_AQUA) .nextTranslation(this.getUnlocalizedName() + ".name").color(EnumChatFormatting.DARK_AQUA)
.next("] ").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); 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) player.addChatMessage(ChatBuilder.start("[").color(EnumChatFormatting.DARK_AQUA)
.nextTranslation(this.getUnlocalizedName() + ".name").color(EnumChatFormatting.DARK_AQUA) .nextTranslation(this.getUnlocalizedName() + ".name").color(EnumChatFormatting.DARK_AQUA)
.next("] ").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 { } else {
int x = stack.stackTagCompound.getInteger("x"); int x = stack.stackTagCompound.getInteger("x");

View File

@ -7,6 +7,7 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -18,7 +19,7 @@ public class ItemMS extends Item {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) 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) public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float a, float b, float c)

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -26,63 +27,63 @@ public class ItemSwordMeteorite extends ItemSwordAbility {
super.addInformation(stack, player, list, ext); super.addInformation(stack, player, list, ext);
if(this == ModItems.meteorite_sword) { if(this == ModItems.meteorite_sword) {
list.add(EnumChatFormatting.ITALIC + "Forged from a fallen star"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword.desc"))
list.add(EnumChatFormatting.ITALIC + "Sharper than most terrestrial blades"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_seared) { if(this == ModItems.meteorite_sword_seared) {
list.add(EnumChatFormatting.ITALIC + "Fire strengthens the blade"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_seared.desc"))
list.add(EnumChatFormatting.ITALIC + "Making it even more powerful"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_reforged) { if(this == ModItems.meteorite_sword_reforged) {
list.add(EnumChatFormatting.ITALIC + "The sword has been reforged"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_reforged.desc"))
list.add(EnumChatFormatting.ITALIC + "To rectify past imperfections"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_hardened) { if(this == ModItems.meteorite_sword_hardened) {
list.add(EnumChatFormatting.ITALIC + "Extremely high pressure has been used"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_hardened.desc"))
list.add(EnumChatFormatting.ITALIC + "To harden the blade further"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_alloyed) { if(this == ModItems.meteorite_sword_alloyed) {
list.add(EnumChatFormatting.ITALIC + "Cobalt fills the fissures"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_alloyed.desc"))
list.add(EnumChatFormatting.ITALIC + "Strengthening the sword"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_machined) { if(this == ModItems.meteorite_sword_machined) {
list.add(EnumChatFormatting.ITALIC + "Advanced machinery was used"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_machined.desc"))
list.add(EnumChatFormatting.ITALIC + "To refine the blade even more"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_treated) { if(this == ModItems.meteorite_sword_treated) {
list.add(EnumChatFormatting.ITALIC + "Chemicals have been applied"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_treated.desc"))
list.add(EnumChatFormatting.ITALIC + "Making the sword more powerful"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_etched) { if(this == ModItems.meteorite_sword_etched) {
list.add(EnumChatFormatting.ITALIC + "Acids clean the material"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_etched.desc"))
list.add(EnumChatFormatting.ITALIC + "To make this the perfect sword"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_bred) { if(this == ModItems.meteorite_sword_bred) {
list.add(EnumChatFormatting.ITALIC + "Immense heat and radiation"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_bred.desc"))
list.add(EnumChatFormatting.ITALIC + "Compress the material"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_irradiated) { if(this == ModItems.meteorite_sword_irradiated) {
list.add(EnumChatFormatting.ITALIC + "The power of the Atom"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_irradiated.desc"))
list.add(EnumChatFormatting.ITALIC + "Gives the sword might"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_fused) { if(this == ModItems.meteorite_sword_fused) {
list.add(EnumChatFormatting.ITALIC + "This blade has met"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_fused.desc"))
list.add(EnumChatFormatting.ITALIC + "With the forces of the stars"); list.add(EnumChatFormatting.ITALIC + s);
} }
if(this == ModItems.meteorite_sword_baleful) { if(this == ModItems.meteorite_sword_baleful) {
list.add(EnumChatFormatting.ITALIC + "This sword has met temperatures"); for(String s : I18nUtil.resolveKeyArray("item.meteorite_sword_baleful.desc"))
list.add(EnumChatFormatting.ITALIC + "Far beyond what normal material can endure"); list.add(EnumChatFormatting.ITALIC + s);
} }
/* /*

View File

@ -2,6 +2,7 @@ package com.hbm.items.tool;
import java.util.List; import java.util.List;
import com.hbm.util.I18nUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -15,22 +16,20 @@ public class ItemWand extends Item {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
{ {
list.add("Creative-only item"); for(String s : I18nUtil.resolveKeyArray( "item.wand_k.desc"))
list.add("\"Destruction brings creation\""); list.add(s);
list.add("(Set positions with right click,");
list.add("set block with shift-right click!)");
if(itemstack.stackTagCompound != null && if(itemstack.stackTagCompound != null &&
!(itemstack.stackTagCompound.getInteger("x") == 0 && !(itemstack.stackTagCompound.getInteger("x") == 0 &&
itemstack.stackTagCompound.getInteger("y") == 0 && itemstack.stackTagCompound.getInteger("y") == 0 &&
itemstack.stackTagCompound.getInteger("z") == 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 { } else {
list.add("Positions not set!"); list.add(I18nUtil.resolveKey("item.wand_k.null"));
} }
if(itemstack.stackTagCompound != 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 @Override

View File

@ -3,6 +3,7 @@ package com.hbm.items.tool;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import com.hbm.util.I18nUtil;
import com.hbm.world.machine.FWatz; import com.hbm.world.machine.FWatz;
import com.hbm.world.machine.NuclearReactor; import com.hbm.world.machine.NuclearReactor;
import com.hbm.world.machine.Watz; import com.hbm.world.machine.Watz;
@ -19,10 +20,8 @@ public class ItemWandS extends Item {
@Override @Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
{ {
list.add("Creative-only item"); for(String s : I18nUtil.resolveKeyArray( "item.wand_s.desc"))
list.add("\"Instant structures for everyone!\""); list.add(s);
list.add("(Cycle with shift-right click,");
list.add("spawn structures with right click!)");
if(itemstack.stackTagCompound != null) if(itemstack.stackTagCompound != null)
{ {
switch(itemstack.stackTagCompound.getInteger("building")) switch(itemstack.stackTagCompound.getInteger("building"))

View File

@ -12,6 +12,7 @@ import com.hbm.main.MainRegistry;
import com.hbm.potion.HbmPotion; import com.hbm.potion.HbmPotion;
import com.hbm.util.ArmorUtil; import com.hbm.util.ArmorUtil;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes; 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) public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
{ {
if(this == ModItems.schrabidium_hammer) { if(this == ModItems.schrabidium_hammer) {
list.add("Even though it says \"+1000000000"); for(String s : I18nUtil.resolveKeyArray("item.schrabidium_hammer.desc"))
list.add("damage\", it's actually \"onehit anything\""); list.add(s);
} }
if(this == ModItems.ullapool_caber) { if(this == ModItems.ullapool_caber) {
list.add("High-yield Scottish face removal."); for(String s : I18nUtil.resolveKeyArray("item.ullapool_caber.desc"))
list.add("A sober person would throw it..."); list.add(s);
} }
if(this == ModItems.bottle_opener) { if(this == ModItems.bottle_opener) {
list.add("My very own bottle opener."); for(String s : I18nUtil.resolveKeyArray("item.bottle_opener.desc"))
list.add("Use with caution!"); list.add(s);
} }
if(this == ModItems.shimmer_sledge) { if(this == ModItems.shimmer_sledge) {
if(MainRegistry.polaroidID == 11) { if(MainRegistry.polaroidID == 11) {
list.add("shimmer no"); for(String s : I18nUtil.resolveKeyArray("item.shimmer_sledge.desc.hide"))
list.add("drop that hammer"); list.add(s);
list.add("you're going to hurt somebody");
list.add("shimmer no");
list.add("shimmer pls");
} else { } else {
list.add("Breaks everything, even portals."); list.add(I18nUtil.resolveKey("item.shimmer_sledge.desc"));
} }
} }
if(this == ModItems.shimmer_axe) { if(this == ModItems.shimmer_axe) {
if(MainRegistry.polaroidID == 11) { 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 { } else {
list.add("Timber!"); list.add(I18nUtil.resolveKey("item.shimmer_axe.desc"));
} }
} }
if(this == ModItems.wrench) { if(this == ModItems.wrench) {
list.add("Mechanic Richard"); list.add(I18nUtil.resolveKey("item.wrench.desc"));
} }
if(this == ModItems.wrench_flipped) { if(this == ModItems.wrench_flipped) {
list.add("Wrench 2: The Wrenchening"); list.add(I18nUtil.resolveKey("item.wrench_flipped.desc"));
} }
if(this == ModItems.memespoon) { if(this == ModItems.memespoon) {
list.add(EnumChatFormatting.DARK_GRAY + "Level 10 Shovel"); for(String s : I18nUtil.resolveKeyArray("item.memespoon.desc"))
list.add(EnumChatFormatting.AQUA + "Deals crits while the wielder is rocket jumping"); list.add(s);
list.add(EnumChatFormatting.RED + "20% slower firing speed");
list.add(EnumChatFormatting.RED + "No random critical hits");
} }
if(this == ModItems.wood_gavel) { if(this == ModItems.wood_gavel) {
list.add("Thunk!"); list.add(I18nUtil.resolveKey("item.wood_gavel.desc"));
} }
if(this == ModItems.lead_gavel) { 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) { if(this == ModItems.diamond_gavel) {
list.add("The joke! It makes sense now!!"); for(String s : I18nUtil.resolveKeyArray("item.diamond_gavel.desc"))
list.add(""); list.add(s);
list.add(EnumChatFormatting.BLUE + "Deals as much damage as it needs to.");
} }
} }

View File

@ -717,9 +717,8 @@ public class ModEventHandlerClient {
} }
} else { } else {
list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + I18nUtil.resolveKey("tooltip.show" ,
EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT"));
EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display protection info");
} }
} }
@ -733,13 +732,12 @@ public class ModEventHandlerClient {
if(!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && !(Minecraft.getMinecraft().currentScreen instanceof GUIArmorTable)) { if(!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && !(Minecraft.getMinecraft().currentScreen instanceof GUIArmorTable)) {
list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + I18nUtil.resolveKey("tooltip.armormodsshow" ,
EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.YELLOW +"" + EnumChatFormatting.ITALIC + "LSHIFT" ));
EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display installed armor mods");
} else { } else {
list.add(EnumChatFormatting.YELLOW + "Mods:"); list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("tooltip.armormods"));
ItemStack[] mods = ArmorModHandler.pryMods(stack); ItemStack[] mods = ArmorModHandler.pryMods(stack);
@ -760,12 +758,12 @@ public class ModEventHandlerClient {
List<String> names = ItemStackUtil.getOreDictNames(stack); List<String> names = ItemStackUtil.getOreDictNames(stack);
if(names.size() > 0) { if(names.size() > 0) {
list.add(EnumChatFormatting.BLUE + "Ore Dict:"); list.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("tooltip.oredict"));
for(String s : names) { for(String s : names) {
list.add(EnumChatFormatting.AQUA + " -" + s); list.add(EnumChatFormatting.AQUA + " -" + s);
} }
} else { } 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(""); list.add("");
if(entry.entry == EnumEntryType.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) 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 { try {

View File

@ -4,6 +4,7 @@ import java.util.Locale;
import com.hbm.util.BobMathUtil; import com.hbm.util.BobMathUtil;
import com.hbm.util.I18nUtil;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
/** /**
@ -50,21 +51,21 @@ public abstract class Function {
public FunctionLogarithmic(double level) { super(level); this.withOff(1D); } public FunctionLogarithmic(double level) { super(level); this.withOff(1D); }
@Override public double effonix(double x) { return Math.log10(getX(x)) * level; } @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 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 static class FunctionPassive extends FunctionSingleArg {
public FunctionPassive(double level) { super(level); } public FunctionPassive(double level) { super(level); }
@Override public double effonix(double x) { return this.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 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 static class FunctionSqrt extends FunctionSingleArg {
public FunctionSqrt(double level) { super(level); } public FunctionSqrt(double level) { super(level); }
@Override public double effonix(double x) { return BobMathUtil.squirt(getX(x)) * this.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 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 { public static class FunctionSqrtFalling extends FunctionSqrt {
@ -78,7 +79,7 @@ public abstract class Function {
public FunctionLinear(double level) { super(level); } public FunctionLinear(double level) { super(level); }
@Override public double effonix(double x) { return getX(x) * this.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 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 { public static class FunctionQuadratic extends FunctionDoubleArg {
@ -86,6 +87,6 @@ public abstract class Function {
public FunctionQuadratic(double level, double vOff) { super(level, vOff); } 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 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 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]; }
} }
} }

View File

@ -131,6 +131,7 @@ achievement.ZIRNOXBoom=CIRNOX
armor.blastProtection=Damage modifier of %s against explosions armor.blastProtection=Damage modifier of %s against explosions
armor.cap=Hard damage cap of %s armor.cap=Hard damage cap of %s
armor.charge=Charge: %s / %s
armor.damageModifier=Damage modifier of %s against %s armor.damageModifier=Damage modifier of %s against %s
armor.dash=Grants %s dashes armor.dash=Grants %s dashes
armor.electricJetpack=Ion Jetpack armor.electricJetpack=Ion Jetpack
@ -164,6 +165,42 @@ armorMod.chestplates=Chestplates
armorMod.helmets=Helmets armorMod.helmets=Helmets
armorMod.insertHere=Insert armor to modify... armorMod.insertHere=Insert armor to modify...
armorMod.leggings=Leggings 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.boots=Boots
armorMod.type.chestplate=Chestplate armorMod.type.chestplate=Chestplate
armorMod.type.cladding=Cladding 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.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces.
death.attack.teleporter=%1$s was teleported into nothingness. 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.assembler.warning=§cError:§r This machine requires an assembly template!
desc.gui.chemplant.warning=§cError:§r This machine requires an chemistry 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. 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.chargePerc=Charge: %s%%
desc.item.battery.chargeRate=Charge rate: %sHE/tick desc.item.battery.chargeRate=Charge rate: %sHE/tick
desc.item.battery.dischargeRate=Discharge 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.durability=Durability: %s
desc.item.grenade.fuse=Fuse: %s desc.item.grenade.fuse=Fuse: %s
desc.item.grenade.fuseImpact=Impact 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.pos=Set pos to: %s, %s, %s
desc.misc.posSet=Position set! desc.misc.posSet=Position set!
desc.item.wasteCooling=Cool in a Spent Fuel Pool Drum 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.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 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.xenon=Xenon Gas
hbmfluid.xpjuice=Experience Juice hbmfluid.xpjuice=Experience Juice
hbmfluid.xylene=BTX 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.none=Empty
hbmpseudofluid.heuf6=Highly Enriched UF6 hbmpseudofluid.heuf6=Highly Enriched UF6
hbmpseudofluid.meuf6=Medium 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_thorium.name=Thorium Reaction Catalyst
item.ams_catalyst_tungsten.name=Tungsten 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.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.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.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.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_blank.name=Blank Stabilizer Focus
item.ams_focus_booster.name=Boosting 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. 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_mercury.name=Bottle of Mercury
item.bottle_nuka.name=Bottle of Nuka Cola item.bottle_nuka.name=Bottle of Nuka Cola
item.bottle_opener.name=Hbm's Own Self-Made Bottle Opener 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_quantum.name=Bottle of Nuka Cola Quantum
item.bottle_rad.name=Bottle of S~Cola RAD item.bottle_rad.name=Bottle of S~Cola RAD
item.bottle_sparkle.name=Bottle of S~Cola item.bottle_sparkle.name=Bottle of S~Cola
@ -2118,6 +2197,7 @@ item.centrifuge_tower.name=Centrifuge Tower
item.chainsaw.name=Chainsaw item.chainsaw.name=Chainsaw
item.cheese.name=Cheese item.cheese.name=Cheese
item.cheese_quesadilla.name=Cheese Quesadilla 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.black.name=Chemical Dye (Black)
item.chemical_dye.blue.name=Chemical Dye (Blue) item.chemical_dye.blue.name=Chemical Dye (Blue)
item.chemical_dye.brown.name=Chemical Dye (Brown) 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_metal.name=Broken Metal Bar
item.debris_shrapnel.name=Walkway Shrapnel item.debris_shrapnel.name=Walkway Shrapnel
item.definitelyfood.name=TotallyNotDirt-Brand MRE 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.name=High-Tech Bomb Defusing Device
item.defuser_gold.name=Golden Wire Cutter item.defuser_gold.name=Golden Wire Cutter
item.demon_core_closed.name=Closed Demon Core 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_manual.name=Manual Target Designator
item.designator_range.name=Long Range Target Designator item.designator_range.name=Long Range Target Designator
item.detonator.name=Detonator 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_de.name=Dead Man's Explosive
item.detonator_deadman.name=Dead Man's Detonator item.detonator_deadman.name=Dead Man's Detonator
item.detonator_laser.name=Laser Detonator item.detonator_laser.name=Laser Detonator
item.detonator_multi.name=Multi Detonator item.detonator_multi.name=Multi Detonator
item.deuterium_filter.name=Deuterium Filter item.deuterium_filter.name=Deuterium Filter
item.diamond_gavel.name=Diamond Gavel 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_boots.name=Diesel-Powered High Heels
item.dieselsuit_helmet.name=Diesel-Powered Head-Mounted Environmental Sensor item.dieselsuit_helmet.name=Diesel-Powered Head-Mounted Environmental Sensor
item.dieselsuit_legs.name=Diesel-Powered Leg Servos 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_front.name=Generator Front
item.generator_steel.name=Generator Body item.generator_steel.name=Generator Body
item.glitch.name=Glitch 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.glowing_stew.name=Glowing Mushroom Stew
item.glyphid_meat.name=Glyphid Meat item.glyphid_meat.name=Glyphid Meat
item.glyphid_meat_grilled.name=Grilled 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.name=Schraranium Ingot
item.ingot_schraranium.desc=Made from uranium in a schrabidium transmutator item.ingot_schraranium.desc=Made from uranium in a schrabidium transmutator
item.ingot_semtex.name=Bar of Semtex 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_smore.name=S'more Ingot
item.ingot_solinium.name=Solinium Ingot item.ingot_solinium.name=Solinium Ingot
item.ingot_sr90.name=Strontium-90 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.iv_xp_empty.name=Empty Experience Bag
item.jackt.name=Damn Stylish Ballistic Jacket item.jackt.name=Damn Stylish Ballistic Jacket
item.jackt2.name=Damn Stylish Ballistic Jacket 2: Tokyo Drift 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.name=Boostpack
item.jetpack_boost.desc=High-powered vectorized jetpack.$Highly increased fuel consumption.
item.jetpack_break.name=Builder's Jetpack 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.name=Jetpack
item.jetpack_fly.desc=Regular jetpack for simple upwards momentum.
item.jetpack_tank.name=Jetpack Reserve Fuel Tank item.jetpack_tank.name=Jetpack Reserve Fuel Tank
item.jetpack_vector.name=Vectored Jetpack 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_bj.name=Whiskey Drenched Notebook
item.journal_pip.name=Survivalist's Journal item.journal_pip.name=Survivalist's Journal
item.journal_silver.name=Contractor's Notes 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.desc=Dineutronium-Spark Fermion Supercrystal
item.laser_crystal_dnt.name=Spark Laser Crystal item.laser_crystal_dnt.name=Spark Laser Crystal
item.lead_gavel.name=Leaden Gavel item.lead_gavel.name=Leaden Gavel
item.lead_gavel.desc=You are hereby sentenced to lead poisoning.
item.lemon.name="Lemon" item.lemon.name="Lemon"
item.lemon.desc=Eh, good enough.
item.letter.name=Express Mail item.letter.name=Express Mail
item.levitation_unit.name=Gravity Manipulator item.levitation_unit.name=Gravity Manipulator
item.lignite.name=Lignite item.lignite.name=Lignite
@ -2959,7 +3053,9 @@ item.liquidator_plate.name=Liquidator Suit Chestplate
item.lithium.name=Lithium Cube item.lithium.name=Lithium Cube
item.lodestone.name=Lodestone item.lodestone.name=Lodestone
item.loop_stew.name=IT Breakfast item.loop_stew.name=IT Breakfast
item.loop_stew.desc=A very, very healthy breakfast.
item.loops.name=Lööps 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_10.name=Size 10 Missile Loot Crate
item.loot_15.name=Size 15 Missile Loot Crate item.loot_15.name=Size 15 Missile Loot Crate
item.loot_misc.name=General 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.mechanism_special.name=High-Tech Weapon Mechanism
item.med_bag.name=Doctor's Bag item.med_bag.name=Doctor's Bag
item.med_ipecac.name=Ipecac Syrup 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.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.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.medal_liquidator.name=Liquidator Medal
item.meltdown_tool.name=Dyatlov Instant Meltdown Applicator item.meltdown_tool.name=Dyatlov Instant Meltdown Applicator
item.memespoon.name=§eMarket Gardener 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.memory.name=item.null.name
item.mese_gavel.name=Mese Gavel item.mese_gavel.name=Mese Gavel
item.mese_pickaxe.name=Mese Pickaxe item.mese_pickaxe.name=Mese Pickaxe
item.meteor_charm.name=Meteor Charm item.meteor_charm.name=Meteor Charm
item.meteor_remote.name=Meteorite Remote item.meteor_remote.name=Meteorite Remote
item.meteorite_sword.name=Meteorite Sword 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.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.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.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.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.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.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.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.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.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.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.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_cooling_unit.name=Deuterium Cooling Unit
item.mike_core.name=Uranium Coated Deuterium Tank item.mike_core.name=Uranium Coated Deuterium Tank
item.mike_deut.name=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_rain.name=Bomblet Rain
item.missile_schrabidium.name=Schrabidium Missile item.missile_schrabidium.name=Schrabidium Missile
item.missile_shuttle.name=Reliant Robin Space Shuttle 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_camo.name=Missile Skin: Camo
item.missile_skin_color.desc=I can't find my missile anymore! item.missile_skin_color.desc=I can't find my missile anymore!
item.missile_skin_desert.name=Missile Skin: Desert Camo 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.name=Missile Skin: Soviet Stank
item.missile_skin_soviet_stank.desc=This one's got the real 60's stank to it. 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.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.name=Orbital Module
item.missile_soyuz_lander.desc=Doubles as a crappy lander! item.missile_soyuz_lander.desc=Doubles as a crappy lander!
item.missile_strong.name=Strong HE Missile 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_silk.name=Power Fist (Silk Touch Claw)
item.multitool_sky.name=Power Fist (Crack the Sky) item.multitool_sky.name=Power Fist (Crack the Sky)
item.mysteryshovel.name=Brittle Spade item.mysteryshovel.name=Brittle Spade
item.mysteryshovel.desc=Lost but not forgotten
item.n2_charge.name=Large Explosive Charge item.n2_charge.name=Large Explosive Charge
item.neutrino_lens.name=Neutrino Lens item.neutrino_lens.name=Neutrino Lens
item.neutron_reflector.name=Neutron Reflector item.neutron_reflector.name=Neutron Reflector
@ -3388,6 +3503,7 @@ item.particle_strange.name=Strange Quark Capsule
item.particle_tachyon.name=Tachyon Capsule item.particle_tachyon.name=Tachyon Capsule
item.parts_legendary.name=Legendary Parts item.parts_legendary.name=Legendary Parts
item.peas.name=Peas item.peas.name=Peas
item.peas.desc=He accepts your offering.
item.pedestal_steel.name=Steel Pedestal item.pedestal_steel.name=Steel Pedestal
item.pellet_advanced.name=Advanced Watz Performance Improver item.pellet_advanced.name=Advanced Watz Performance Improver
item.pellet_antimatter.name=Antimatter Cluster 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.protection_charm.name=Charm of Protection
item.prototype_kit.name=Prototype Kit item.prototype_kit.name=Prototype Kit
item.pudding.name=Pudding 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_am_mix.name=Fuel Grade Americium PWR BFB Rod
item.pwr_fuel.bfb_pu241.name=Plutonium-241 PWR BFB Rod item.pwr_fuel.bfb_pu241.name=Plutonium-241 PWR BFB Rod
item.pwr_fuel.hea242.name=HEA-242 PWR Fuel 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.name=Rad-X
item.radx.desc=Increases radiation resistance by 0.2 (37%%) for 3 minutes item.radx.desc=Increases radiation resistance by 0.2 (37%%) for 3 minutes
item.rag.name=Cloth 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_damp.name=Damp Cloth
item.rag_piss.name=Piss-Soaked Rag item.rag_piss.name=Piss-Soaked Rag
item.rbmk_fuel_balefire.name=Balefire RBMK Fuel Rod 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_axe.name=Schrabidium Axe
item.schrabidium_boots.name=Schrabidium Boots item.schrabidium_boots.name=Schrabidium Boots
item.schrabidium_hammer.name=Schrabidium Hammer 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_helmet.name=Schrabidium Helmet
item.schrabidium_hoe.name=Schrabidium Hoe item.schrabidium_hoe.name=Schrabidium Hoe
item.schrabidium_legs.name=Schrabidium Leggings 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.servo_set_desh.name=Desh Servo Set
item.shackles.name=Shackles item.shackles.name=Shackles
item.shimmer_axe.name=Shimmer Axe 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_axe_head.name=Heavy Axe Head
item.shimmer_handle.name=Reinforced Polymer Handle item.shimmer_handle.name=Reinforced Polymer Handle
item.shimmer_head.name=Heavy Hammer Head item.shimmer_head.name=Heavy Hammer Head
item.shimmer_sledge.name=Shimmer Sledge 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.name=Singularity
item.singularity_counter_resonant.name=Contained Counter-Resonant Singularity item.singularity_counter_resonant.name=Contained Counter-Resonant Singularity
item.singularity_micro.name=Micro 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.tank_waste_8.name=Mud Container
item.telepad.name=Telepad item.telepad.name=Telepad
item.tem_flakes.name=Tem Flakes 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.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.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 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_spitfire_ammo.name=AA-Shell
item.turret_tau_ammo.name=Tau Turret Uranium Ammo item.turret_tau_ammo.name=Tau Turret Uranium Ammo
item.twinkie.name=Twinkie item.twinkie.name=Twinkie
item.twinkie.desc=Expired 600 years ago!
item.ullapool_caber.name=Ullapool Caber 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.undefined.name=Undefined
item.upgrade_5g.name=5G Radiation Emitter Upgrade item.upgrade_5g.name=5G Radiation Emitter Upgrade
item.upgrade_afterburn_1.name=Afterburner Upgrade Mk.I item.upgrade_afterburn_1.name=Afterburner Upgrade Mk.I
@ -4249,8 +4375,14 @@ item.v1.name=V1
item.volcanic_pickaxe.name=Molten Pickaxe item.volcanic_pickaxe.name=Molten Pickaxe
item.wand_d.name=Debug Wand item.wand_d.name=Debug Wand
item.wand_k.name=Construction 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.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.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_large.name=Large Bunker Buster Warhead
item.warhead_buster_medium.name=Medium Bunker Buster Warhead item.warhead_buster_medium.name=Medium Bunker Buster Warhead
item.warhead_buster_small.name=Small 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.wire_tungsten.name=Tungsten Wire
item.wiring_red_copper.name=Cable Drum item.wiring_red_copper.name=Cable Drum
item.wood_gavel.name=Wooden Gavel item.wood_gavel.name=Wooden Gavel
item.wood_gavel.desc=Thunk!
item.wrench.name=Pipe Wrench item.wrench.name=Pipe Wrench
item.wrench.desc=Mechanic Richard
item.wrench_archineer.name=Archineer's Wrench item.wrench_archineer.name=Archineer's Wrench
item.wrench_flipped.name=Blade on a 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.name=NAXA Anti-Digamma Medication
item.xanax.desc=Removes 500mDRX item.xanax.desc=Removes 500mDRX
item.zirconium_legs.name=Zirconium Pants 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.desh.name=Desh Tank
tile.cm_tank.steel.name=Steel Tank tile.cm_tank.steel.name=Steel Tank
tile.cm_tank.tcalloy.name=Technetium 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.name=CMB Steel Tile
tile.cmb_brick_reinforced.name=Reinforced CMB Bricks tile.cmb_brick_reinforced.name=Reinforced CMB Bricks
tile.compact_launcher.name=Compact Launch Pad 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_chiseled.name=Chiseled Schist
tile.gneiss_tile.name=Schist Tile tile.gneiss_tile.name=Schist Tile
tile.gravel_diamond.name=Diamond Gravel 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.gravel_obsidian.name=Crushed Obsidian
tile.hadron_access.name=Particle Accelerator Access Terminal tile.hadron_access.name=Particle Accelerator Access Terminal
tile.hadron_analysis.name=Particle Accelerator Analysis Chamber Wall 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_fel.name=FEL
tile.machine_fensu.name=FEnSU tile.machine_fensu.name=FEnSU
tile.machine_flare.name=Flare Stack 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_fluidtank.name=Tank
tile.machine_forcefield.name=Forcefield Emitter tile.machine_forcefield.name=Forcefield Emitter
tile.machine_fraction_tower.name=Fractioning Tower 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.marker_structure.name=Multiblock Structure Marker
tile.mass_storage.name=Mass Storage Unit tile.mass_storage.name=Mass Storage Unit
tile.meteor_battery.name=Starmetal Static Electricity Generator 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.name=Meteor Bricks
tile.meteor_brick_chiseled.name=Chiseled Meteor Bricks tile.meteor_brick_chiseled.name=Chiseled Meteor Bricks
tile.meteor_brick_cracked.name=Cracked 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_boy.name=Little Boy
tile.nuke_custom.name=Custom Nuke tile.nuke_custom.name=Custom Nuke
tile.nuke_fleija.name=F.L.E.I.J.A. 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_fstbmb.name=Balefire Bomb
tile.nuke_gadget.name=The Gadget tile.nuke_gadget.name=The Gadget
tile.nuke_man.name=Fat Man tile.nuke_man.name=Fat Man
tile.nuke_mike.name=Ivy Mike tile.nuke_mike.name=Ivy Mike
tile.nuke_n2.name=N² Mine tile.nuke_n2.name=N² Mine
tile.nuke_n2.desc=Used in:$N² Mine
tile.nuke_n45.name=N45 Naval Mine tile.nuke_n45.name=N45 Naval Mine
tile.nuke_prototype.name=The Prototype 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.name=The Blue Rinse
tile.nuke_solinium.desc=Used in:$Solinium Bomb
tile.nuke_tsar.name=Tsar Bomba tile.nuke_tsar.name=Tsar Bomba
tile.oil_duct.name=Oil Pipe tile.oil_duct.name=Oil Pipe
tile.oil_duct_solid.name=Coated 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_nether_uranium_scorched.name=Scorched Nether Uranium Ore
tile.ore_niter.name=Niter Ore tile.ore_niter.name=Niter Ore
tile.ore_oil.name=Oil Deposit 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_empty.name=Empty Oil Deposit
tile.ore_oil_sand.name=Tar Sand tile.ore_oil_sand.name=Tar Sand
tile.ore_random.name=%s Ore 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_hatch.name=Reactor Access Hatch
tile.reactor_inserter.name=Reactor Fuel Inserter tile.reactor_inserter.name=Reactor Fuel Inserter
tile.red_barrel.name=Explosive Barrel tile.red_barrel.name=Explosive Barrel
tile.red_barrel.desc=Static fluid barrel
tile.red_cable.name=Red Copper Cable tile.red_cable.name=Red Copper Cable
tile.red_cable_classic.name=Red Copper Cable (Classic) tile.red_cable_classic.name=Red Copper Cable (Classic)
tile.red_cable_gauge.name=Power Gauge 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_cable_paintable.name=Paintable Red Copper Cable
tile.red_connector.name=Electricity Connector tile.red_connector.name=Electricity Connector
tile.red_pylon.name=Electricity Pole 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.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.red_wire_coated.name=Coated Red Copper Cable
tile.reinforced_brick.name=Reinforced Stone tile.reinforced_brick.name=Reinforced Stone
tile.reinforced_brick_stairs.name=Reinforced Stone Stairs 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_soyuz_core.name=Soyuz Launcher Core Component
tile.struct_watz_core.name=Watz Powerplant Core Component tile.struct_watz_core.name=Watz Powerplant Core Component
tile.substation.name=Substation tile.substation.name=Substation
tile.substation.desc=Connection Type: §eQuadruple$Connection Range: §e20m
tile.sulfuric_acid_block.name=Sulfuric Acid tile.sulfuric_acid_block.name=Sulfuric Acid
tile.taint.name=Taint tile.taint.name=Taint
tile.taint_barrel.name=IMP Residue Barrel tile.taint_barrel.name=IMP Residue Barrel
@ -5527,6 +5675,10 @@ trait.hydro=Hydroreactive
trait.radioactive=Radioactive trait.radioactive=Radioactive
trait.radResistance=Radiation resistance: %s 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.coreTemp=Core temp: %s
trait.rbmk.depletion=Depletion: %s trait.rbmk.depletion=Depletion: %s
trait.rbmk.diffusion=Diffusion: %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.xenonBurn=Lead destruction function: %s
trait.rbmx.xenonGen=Lead creation 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.cluster=Drops only when broken by a player
trait.tile.depth=Can only be destroyed by explosions 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.centrifuge=Auto-Centrifuge
tool.ability.crystallizer=Auto-Crystallizer tool.ability.crystallizer=Auto-Crystallizer
@ -5578,6 +5743,15 @@ tool.ability.shredder=Auto-Shredder
tool.ability.silktouch=Silk Touch tool.ability.silktouch=Silk Touch
tool.ability.smelter=Auto-Smelter 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.animals=Target Passive: %s
turret.arty.artillery=§eArtillery Mode$Grace: 250m$Range: 3,000m turret.arty.artillery=§eArtillery Mode$Grace: 250m$Range: 3,000m
turret.arty.cannon=§eCannon Mode$Grace: 32m$Range: 250m turret.arty.cannon=§eCannon Mode$Grace: 32m$Range: 250m

File diff suppressed because it is too large Load Diff