Bloc qui change de metadata en fonction du bloc sous lui
-
merci je vais regarder tout ca
dpnc je peut utiliser AxisAlignedBB getSelectedBoundingBoxFromPool pour faire une hitbox de 1x2?
-
getSelectedBoundingBoxFromPool -> visuel pour le client
getCollisionBoundingBoxFromPool -> pour la collision côté serveur. -
d’accord merci
je n’est pas compris ce qu’il fallait modifier….
-
return AxisAlignedBB.getAABBPool().getAABB((double)x + this.minX, (double)y + this.minY, (double)z + this.minZ, (double)x + this.maxX, (double)y + this.maxY, (double)z + this.maxZ);
Les valeurs ici (this.minX, etc …) correspondent à un bloc par défaut 1x1 (donc 0.0, 0.0, 0.0, 1.0, 1.0, 1.0)
pour augmenter la hitbox de deux vers le haut :
return AxisAlignedBB.getAABBPool().getAABB((double)x + this.minX, (double)y + this.minY, (double)z + this.minZ, (double)x + this.maxX, (double)y + 2.0D, (double)z + this.maxZ);
Je remplace simplement le this.maxY par 2.0
Pour augmenter vers le bas, remplace le this.minY par -1.0D -
ok merci
EDIT: si je regarde la hitbox du haut elle n’apparait pas… et si j’éssaye de casser en visa la partie du haut ca ne casse pas…
-
Il faut aussi mettre une hitbox au bloc du haut.
-
comment ca?
-

@SideOnly(Side.CLIENT) public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { if(world.getBlockMetadata(x, y, z) == 1) { return AxisAlignedBB.getAABBPool().getAABB((double)x + this.minX, (double)y - 1.0D, (double)z + this.minZ, (double)x + this.maxX, (double)y + this.maxY, (double)z + this.maxZ); } return AxisAlignedBB.getAABBPool().getAABB((double)x + this.minX, (double)y + this.minY, (double)z + this.minZ, (double)x + this.maxX, (double)y + 2.0D, (double)z + this.maxZ); } -
heu avec ce code la hitbox ne change pas…
-
Sinon utilise les setBlockBound. Aussi, es-tu sûr que ton bloc du haut à bien le metadata 1 et celui du bas 0 ?
-
a en fait c’est deux bloc différent?
-
Celui du bas à un metadata 0, celui du haut 1. Tu ne peux faire sans avoir un metadata différent ou alors un tile entity avec un data différent. Il faut quelque chose pour différencier les deux blocs, sinon ça passe pas.
-
a d’accord