Disons que c’est juste un détail qui change pas le problème ^^’
En fait j’avais pas vu que les position XYZ étaient posX, posY et posZ. Mais ça me créais un nœud dans le vide, donc j’ai recopié la fonction qui créer le nœud et j’ai remplacé la création du nœud par mon entity et ça marche ^^ pour ça que ça interesserais :
/**
* First layer of player interaction
*/
public boolean interactFirst(EntityPlayer par1EntityPlayer)
{
if (this.riddenByEntity != null && this.riddenByEntity instanceof EntityPlayer && this.riddenByEntity != par1EntityPlayer)
{
return true;
}
else
{
if (!this.worldObj.isRemote)
{
if(!leash(par1EntityPlayer))
{
par1EntityPlayer.mountEntity(this);
}
}
return true;
}
}
protected boolean leash(EntityPlayer p_150909_0_)
{
World p_150909_1_ = this.worldObj;
int p_150909_2_ = (int)this.posX;
int p_150909_3_ = (int)this.posY;
int p_150909_4_ = (int)this.posZ;
EntityLeashKnot entityleashknot = EntityLeashKnot.getKnotForBlock(p_150909_1_, p_150909_2_, p_150909_3_, p_150909_4_);
boolean flag = false;
double d0 = 7.0D;
List list = p_150909_1_.getEntitiesWithinAABB(EntityLiving.class, AxisAlignedBB.getAABBPool().getAABB((double)p_150909_2_ - d0, (double)p_150909_3_ - d0, (double)p_150909_4_ - d0, (double)p_150909_2_ + d0, (double)p_150909_3_ + d0, (double)p_150909_4_ + d0));
if (list != null)
{
Iterator iterator = list.iterator();
while (iterator.hasNext())
{
EntityLiving entityliving = (EntityLiving)iterator.next();
if (entityliving.getLeashed() && entityliving.getLeashedToEntity() == p_150909_0_)
{
entityliving.setLeashedToEntity(this, true);
flag = true;
}
}
}
return flag;
}