Support for custom localizations, closes #2626

This commit is contained in:
aidancbrady 2015-07-20 18:48:45 -07:00
parent 9a9f77af87
commit 7323a13e09
4 changed files with 62 additions and 48 deletions

View file

@ -1,7 +1,7 @@
package mekanism.common.item; package mekanism.common.item;
import java.util.List; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mekanism.api.Coord4D; import mekanism.api.Coord4D;
import mekanism.api.EnumColor; import mekanism.api.EnumColor;
import mekanism.api.Pos3D; import mekanism.api.Pos3D;
@ -17,10 +17,11 @@ 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.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import java.util.List;
public class ItemBalloon extends ItemMekanism public class ItemBalloon extends ItemMekanism
{ {
@ -74,14 +75,20 @@ public class ItemBalloon extends ItemMekanism
@Override @Override
public String getItemStackDisplayName(ItemStack stack) public String getItemStackDisplayName(ItemStack stack)
{ {
String color = getColor(stack).getDyedName(); EnumColor color = getColor(stack);
String dyeName = color.getDyedName();
if(StatCollector.canTranslate(getUnlocalizedName(stack) + "." + color.dyeName))
{
return LangUtils.localize(getUnlocalizedName(stack) + "." + color.dyeName);
}
if(getColor(stack) == EnumColor.BLACK) if(getColor(stack) == EnumColor.BLACK)
{ {
color = EnumColor.DARK_GREY + getColor(stack).getDyeName(); dyeName = EnumColor.DARK_GREY + color.getDyeName();
} }
return color + " " + LangUtils.localize("tooltip.balloon"); return dyeName + " " + LangUtils.localize("tooltip.balloon");
} }
@Override @Override

View file

@ -1,13 +1,15 @@
package mekanism.common.item; package mekanism.common.item;
import cofh.api.energy.IEnergyContainerItem;
import cpw.mods.fml.common.Optional.Interface;
import cpw.mods.fml.common.Optional.InterfaceList;
import cpw.mods.fml.common.Optional.Method;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import ic2.api.item.ElectricItem; import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem; import ic2.api.item.IElectricItem;
import ic2.api.item.IElectricItemManager; import ic2.api.item.IElectricItemManager;
import ic2.api.item.ISpecialElectricItem; import ic2.api.item.ISpecialElectricItem;
import java.util.List;
import java.util.Map;
import mekanism.api.Coord4D; import mekanism.api.Coord4D;
import mekanism.api.EnumColor; import mekanism.api.EnumColor;
import mekanism.api.MekanismConfig.general; import mekanism.api.MekanismConfig.general;
@ -18,25 +20,14 @@ import mekanism.client.MekanismKeyHandler;
import mekanism.common.Mekanism; import mekanism.common.Mekanism;
import mekanism.common.Tier.BaseTier; import mekanism.common.Tier.BaseTier;
import mekanism.common.Upgrade; import mekanism.common.Upgrade;
import mekanism.common.base.IElectricChest; import mekanism.common.base.*;
import mekanism.common.base.IFactory;
import mekanism.common.base.IRedstoneControl;
import mekanism.common.base.IRedstoneControl.RedstoneControl; import mekanism.common.base.IRedstoneControl.RedstoneControl;
import mekanism.common.base.ISideConfiguration;
import mekanism.common.base.ISustainedData;
import mekanism.common.base.ISustainedInventory;
import mekanism.common.base.ISustainedTank;
import mekanism.common.base.IUpgradeTile;
import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.block.BlockMachine.MachineType;
import mekanism.common.integration.IC2ItemManager; import mekanism.common.integration.IC2ItemManager;
import mekanism.common.inventory.InventoryElectricChest; import mekanism.common.inventory.InventoryElectricChest;
import mekanism.common.network.PacketElectricChest.ElectricChestMessage; import mekanism.common.network.PacketElectricChest.ElectricChestMessage;
import mekanism.common.network.PacketElectricChest.ElectricChestPacketType; import mekanism.common.network.PacketElectricChest.ElectricChestPacketType;
import mekanism.common.tile.TileEntityBasicBlock; import mekanism.common.tile.*;
import mekanism.common.tile.TileEntityElectricBlock;
import mekanism.common.tile.TileEntityElectricChest;
import mekanism.common.tile.TileEntityFactory;
import mekanism.common.tile.TileEntityPortableTank;
import mekanism.common.util.LangUtils; import mekanism.common.util.LangUtils;
import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -53,6 +44,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.Constants.NBT; import net.minecraftforge.common.util.Constants.NBT;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@ -60,12 +52,9 @@ import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem; import net.minecraftforge.fluids.IFluidContainerItem;
import cofh.api.energy.IEnergyContainerItem;
import cpw.mods.fml.common.Optional.Interface; import java.util.List;
import cpw.mods.fml.common.Optional.InterfaceList; import java.util.Map;
import cpw.mods.fml.common.Optional.Method;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/** /**
* Item class for handling multiple machine block IDs. * Item class for handling multiple machine block IDs.
@ -149,10 +138,14 @@ public class ItemBlockMachine extends ItemBlock implements IEnergizedItem, ISpec
if(type == MachineType.BASIC_FACTORY || type == MachineType.ADVANCED_FACTORY || type == MachineType.ELITE_FACTORY) if(type == MachineType.BASIC_FACTORY || type == MachineType.ADVANCED_FACTORY || type == MachineType.ELITE_FACTORY)
{ {
String tier = type == MachineType.BASIC_FACTORY ? BaseTier.BASIC.getLocalizedName() : (type == MachineType.ADVANCED_FACTORY ? BaseTier tier = type == MachineType.BASIC_FACTORY ? BaseTier.BASIC : (type == MachineType.ADVANCED_FACTORY ? BaseTier.ADVANCED : BaseTier.ELITE);
BaseTier.ADVANCED.getLocalizedName() : BaseTier.ELITE.getLocalizedName());
if(StatCollector.canTranslate("tile." + tier.getName() + RecipeType.values()[getRecipeType(itemstack)].getUnlocalizedName() + "Factory"))
return tier + " " + RecipeType.values()[getRecipeType(itemstack)].getLocalizedName() + " " + super.getItemStackDisplayName(itemstack); {
return LangUtils.localize("tile." + tier.getName() + RecipeType.values()[getRecipeType(itemstack)].getUnlocalizedName() + "Factory");
}
return tier.getLocalizedName() + " " + RecipeType.values()[getRecipeType(itemstack)].getLocalizedName() + " " + super.getItemStackDisplayName(itemstack);
} }
return super.getItemStackDisplayName(itemstack); return super.getItemStackDisplayName(itemstack);

View file

@ -1,13 +1,14 @@
package mekanism.common.item; package mekanism.common.item;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import mekanism.api.EnumColor; import mekanism.api.EnumColor;
import mekanism.common.util.LangUtils;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side; import net.minecraft.util.StatCollector;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemBlockPlastic extends ItemBlock public class ItemBlockPlastic extends ItemBlock
{ {
@ -37,6 +38,12 @@ public class ItemBlockPlastic extends ItemBlock
{ {
EnumColor colour = EnumColor.DYES[stack.getItemDamage()&15]; EnumColor colour = EnumColor.DYES[stack.getItemDamage()&15];
String colourName; String colourName;
if(StatCollector.canTranslate(getUnlocalizedName(stack) + "." + colour.dyeName))
{
return LangUtils.localize(getUnlocalizedName(stack) + "." + colour.dyeName);
}
if(colour == EnumColor.BLACK) if(colour == EnumColor.BLACK)
{ {
colourName = EnumColor.DARK_GREY + colour.getDyeName(); colourName = EnumColor.DARK_GREY + colour.getDyeName();

View file

@ -1,16 +1,5 @@
package mekanism.common.multipart; package mekanism.common.multipart;
import java.util.List;
import mekanism.api.EnumColor;
import mekanism.common.Mekanism;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import codechicken.lib.vec.BlockCoord; import codechicken.lib.vec.BlockCoord;
import codechicken.lib.vec.Vector3; import codechicken.lib.vec.Vector3;
import codechicken.microblock.HollowMicroblock; import codechicken.microblock.HollowMicroblock;
@ -19,6 +8,19 @@ import codechicken.multipart.TMultiPart;
import codechicken.multipart.TileMultipart; import codechicken.multipart.TileMultipart;
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 mekanism.api.EnumColor;
import mekanism.common.Mekanism;
import mekanism.common.util.LangUtils;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import java.util.List;
public class ItemGlowPanel extends JItemMultiPart public class ItemGlowPanel extends JItemMultiPart
{ {
@ -104,6 +106,11 @@ public class ItemGlowPanel extends JItemMultiPart
{ {
EnumColor colour = EnumColor.DYES[stack.getItemDamage()]; EnumColor colour = EnumColor.DYES[stack.getItemDamage()];
String colourName; String colourName;
if(StatCollector.canTranslate(getUnlocalizedName(stack) + "." + colour.dyeName))
{
return LangUtils.localize(getUnlocalizedName(stack) + "." + colour.dyeName);
}
if(colour == EnumColor.BLACK) if(colour == EnumColor.BLACK)
{ {