I'm trying to tame an entity using a Gui I made. It works at first when I play Minecraft and tame the entity but when I restart Minecraft the entity is no longer tamed. How can I fix this?
EntityTitan code
public boolean allyTitan(EntityPlayer player)
{
this.setTamed(true);
this.setPathToEntity((PathEntity)null);
this.setAttackTarget((EntityLivingBase)null);
this.aiSit.setSitting(true);
this.setEntityHealth(20);
this.setOwner(player.username);
this.playTameEffect(true);
this.worldObj.setEntityState(this, (byte)7);
this.worldObj.setEntityState(this, (byte)18);
return true;
}
public boolean followPlayer()
{
this.aiSit.setSitting(!this.isSitting());
this.isJumping = false;
this.setPathToEntity((PathEntity)null);
return true;
}
public boolean interact(EntityPlayer player)
{
super.interact(player);
player.openGui(mod_POTE.instance, 3, worldObj, (int)posX, (int)posY, (int)posZ);
return true;
}
[/Code]
GuiTitan code
[Code]
package power_of_the_elements.client.gui;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.network.PacketDispatcher;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import power_of_the_elements.common.PacketCreator;
import power_of_the_elements.common.PlayerMemory;
import power_of_the_elements.entities.mobs.EntityFireTitan;
import power_of_the_elements.entities.mobs.EntityIceTitan;
import power_of_the_elements.entities.mobs.EntityTitan;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.achievement.GuiAchievements;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.pathfinding.PathEntity;
import net.minecraft.src.ModLoader;
import net.minecraft.world.World;
public class GuiTitan extends GuiScreen
{
private final EntityPlayer thePlayer;
private GuiButton recruitButton;
private GuiButton recruitScoutButton;
private GuiButton recruitSoldierButton;
private GuiButton recruitHunterButton;
private GuiButton recruitLeaderButton;
private GuiButton followButton;
//Whether or not a certain Gui is open.
private boolean inRecruitGui = false;
private boolean inTitanGui = false;
public GuiTitan(EntityTitan titan, EntityPlayer player)
{
super();
thePlayer = player;
}
public void initGui()
{
EntityTitan titan = (EntityTitan)this.mc.pointedEntityLiving;
buttonList.clear();
byte b0 = -16;
this.buttonList.add(recruitButton = new GuiButton(0, this.width / 2 - 100, this.height / 4 + 120 + b0, I18n.func_135053_a("Recruit")));
if(titan.isTamed())
{
drawTitanGui();
}
}
private void drawRecruitGui()
{
buttonList.clear();
byte b0 = -16;
this.buttonList.add(recruitScoutButton = new GuiButton(0, this.width / 2 - 100, this.height / 4 + 120 + b0, I18n.func_135053_a("Recruit as Scout")));
this.buttonList.add(recruitSoldierButton = new GuiButton(1, this.width / 2 - 100, this.height / 4 + 24 + b0, I18n.func_135053_a("Recruit as Soldier")));
this.buttonList.add(recruitHunterButton = new GuiButton(2, this.width / 2 - 100, this.height / 4 + 96 + b0, 98, 20, I18n.func_135053_a("Recruit as Hunter")));
this.buttonList.add(recruitLeaderButton = new GuiButton(3, this.width / 2 - 100, this.height / 4 + 48 + b0, 98, 20, I18n.func_135053_a("Recruit as Leader")));
}
private void drawTitanGui()
{
buttonList.clear();
byte b0 = -16;
this.buttonList.add(followButton = new GuiButton(1, this.width / 2 - 100, this. height / 4 + 160 + b0, I18n.func_135053_a("Follow")));
}
protected void actionPerformed(GuiButton button)
{
if(button == recruitButton)
{
drawRecruitGui();
}
if(!inRecruitGui)
{
actionPerformedRecruit(button);
}
if(!inTitanGui)
{
actionPerformedTitan(button);
}
}
private void actionPerformedRecruit(GuiButton button)
{
EntityTitan titan = (EntityTitan)this.mc.pointedEntityLiving;
EntityPlayer player = this.mc.thePlayer;
if(button == recruitScoutButton)
{
titan.allyTitan(player);
titan.isScout = true;
this.mc.displayGuiScreen((GuiScreen)null);
}
if(button == recruitSoldierButton)
{
titan.allyTitan(player);
titan.isSoldier = true;
this.mc.displayGuiScreen((GuiScreen)null);
}
if(button == recruitHunterButton)
{
titan.allyTitan(player);
titan.isHunter = true;
this.mc.displayGuiScreen((GuiScreen)null);
}
if(button == recruitLeaderButton)
{
titan.allyTitan(player);
titan.isLeader = true;
this.mc.displayGuiScreen((GuiScreen)null);
}
}
private void actionPerformedTitan(GuiButton button)
{
EntityTitan titan = (EntityTitan)this.mc.pointedEntityLiving;
if(button == followButton)
{
titan.followPlayer();
this.mc.displayGuiScreen((GuiScreen)null);
}
}
}
[/Code]