I'm not getting the "There has been an error" message showing, and the method does not seem to be being called. This is in my Item Class. I thing it may be the getSubItems method, as I haven't overwritten it, but I'm not sure how I'm meant to do that. This is the entire class:
package items.enderalchemy.apple1417.com.github;
import java.awt.List;
import cpw.mods.fml.common.registry.GameRegistry;
import enderalchemy.apple1417.com.github.EnderAlchemy;
import net.minecraft.block.material.Material;
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.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class ItemCeremonyPlacer extends Item
{
public ItemCeremonyPlacer()
{
this.setCreativeTab(EnderAlchemy.tabEnderAlchemy);
this.setMaxStackSize(1);
this.setHasSubtypes(true);
}
public String getUnlocalizedName(ItemStack stack){
return "item.CeremonyPlacer." + stack.getItemDamage();
}
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4){
if (stack.getItemDamage() == 1)
{
list.add("Line 1");
list.add("Line 2");
}
else if (stack.getItemDamage() == 2)
{
list.add("1st Line");
list.add("2nd Line");
}
else
{
list.add("If you can see this then there has been an error");
}
}
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
{
if (player.isSneaking()){
int damage = stack.getItemDamage();
if (damage == 1)
{
damage=2;
}
else if (damage == 2)
{
damage=1;
}
stack.setItemDamage(damage);
if (!world.isRemote)
{
player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("ceremony.name")+ " " + StatCollector.translateToLocal("ceremony." + stack.getItemDamage() + ".name")));
}
}
return stack;
}
}