Effectivement ! Tout tourne autour de la variable width. J’ai donc bidouillé un peu, si je modifie cette ligne :
this.width = p_70105_1_;
La hitbox sera modifié pour l’axe des X, j’avais donc tenté ça pour mon axe des Z mais marche pas
this.width = p_70105_1_ * 4F;
Pour info je l’avais placé de manière à ce que ma méthode ressemble à ça :
@Override
protected void setSize(float p_70105_1_, float p_70105_2_)
{
float f2;
if (p_70105_1_ != this.width || p_70105_2_ != this.height)
{
f2 = this.width;
this.width = p_70105_1_;
this.height = p_70105_2_;
this.boundingBox.maxX = this.boundingBox.minX + (double) this.width;
this.boundingBox.maxY = this.boundingBox.minY + (double) this.height;
this.width = p_70105_1_ * 4F;
this.boundingBox.maxZ = this.boundingBox.minZ + (double) this.width;
if (this.width > f2 && !this.worldObj.isRemote)
{
this.moveEntity((double) (f2 - this.width), 0.0D, (double) (f2 - this.width));
}
}
f2 = p_70105_1_ % 2.0F;
if ((double) f2 < 0.375D)
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_1;
}
else if ((double) f2 < 0.75D)
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_2;
}
else if ((double) f2 < 1.0D)
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_3;
}
else if ((double) f2 < 1.375D)
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_4;
}
else if ((double) f2 < 1.75D)
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_5;
}
else
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_6;
}
}
Si vous avez d’autres idées, je suis preneur. Mais je pense être près du but, la journée de demain sera sûrement la bonne 😉
EDIT = Je pense avoir compris ce qui n’allait pas. La méthode est appelée deux fois car un message en fin de méthode apparaissait deux fois dans la console.
Mais du coup j’ai fait ça et ça ne marche toujours pas ???
@Override
protected void setSize(float p_70105_1_, float p_70105_2_)
{
float f2;
if (p_70105_1_ != this.width || p_70105_2_ != this.height)
{
f2 = this.width;
this.width = p_70105_1_;
this.height = p_70105_2_;
this.boundingBox.maxX = this.boundingBox.minX + (double) this.width;
this.boundingBox.maxY = this.boundingBox.minY + (double) this.height;
this.width = p_70105_1_ * 4;
this.boundingBox.maxZ = this.boundingBox.minZ + (double) this.width;
this.width = p_70105_1_;
if (this.width > f2 && !this.worldObj.isRemote)
{
this.moveEntity((double) (f2 - this.width), 0.0D, (double) (f2 - this.width));
}
}
f2 = p_70105_1_ % 2.0F;
if ((double) f2 < 0.375D)
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_1;
}
else if ((double) f2 < 0.75D)
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_2;
}
else if ((double) f2 < 1.0D)
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_3;
}
else if ((double) f2 < 1.375D)
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_4;
}
else if ((double) f2 < 1.75D)
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_5;
}
else
{
this.myEntitySize = Entity.EnumEntitySize.SIZE_6;
}
}