3 juin 2018, 13:58

Salut,
je voudrai faire un mod permettant de voir la hitbox d’une shulker meme lorsqu’on ne fait pas F3+B et qu’elle est derrière un mur.
Voici mon code : 
:::


TileEntity shulker = null;
for (TileEntity e : Minecraft.getMinecraft().world.loadedTileEntityList) {
     String name = e.getBlockType().getUnlocalizedName();
     if (name.contains("shulker")) {
          shulker = e;
      }
}
if (shulker != null) {
//j'affiche
GlStateManager.enableBlend();
GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA,
GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE,
GlStateManager.DestFactor.ZERO);
GlStateManager.glLineWidth(2.0F);
GlStateManager.disableTexture2D();
GlStateManager.depthMask(false);
BlockPos blockpos = shulker.getPos();
IBlockState iblockstate = Minecraft.getMinecraft().world.getBlockState(blockpos);

EntityPlayer player = Minecraft.getMinecraft().player;

float partialTicks = Minecraft.getMinecraft().getRenderPartialTicks();
if (iblockstate.getMaterial() != Material.AIR
&& Minecraft.getMinecraft().world.getWorldBorder().contains(blockpos)) {
double d0 = player.lastTickPosX + (player.posX - player.lastTickPosX) * partialTicks;
double d1 = player.lastTickPosY + (player.posY - player.lastTickPosY) * partialTicks;
double d2 = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * partialTicks;
RenderGlobal
.drawSelectionBoundingBox(
iblockstate.getSelectedBoundingBox(Minecraft.getMinecraft().world, blockpos)
.expandXyz(0.0020000000949949026D).offset(-d0, -d1, -d2),
0.0F, 0.0F, 0.0F, 0.4F);
}
GlStateManager.depthMask(true);
GlStateManager.enableTexture2D();
GlStateManager.disableBlend();
}

:::
Je mets ce code dans une fonction prenant en paramètre un

WorldTickEvent

appelé par le 5zigMod.
J’ai récupéré ce code depuis la fonction RenderGlobal#drawSelectionBox.
Le problème est que ça n’affiche absolu rien autour de ma shulker.
Je suis en 1.11.2. J’ai mis des debugs pour être sur que ça entre bien dans le if et il se sont affichés.