<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[DrawSelectionBoundingBox]]></title><description><![CDATA[<p dir="auto">Salut,<br />
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.<br />
Voici mon code : <br />
:::</p>
<pre><code class="java">
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
&amp;&amp; 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();
}

</code></pre>
<p dir="auto">:::<br />
Je mets ce code dans une fonction prenant en paramètre un</p>
<pre><code>WorldTickEvent
</code></pre>
<p dir="auto">appelé par le 5zigMod.<br />
J’ai récupéré ce code depuis la fonction RenderGlobal#drawSelectionBox.<br />
Le problème est que ça n’affiche absolu rien autour de ma shulker.<br />
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.</p>
]]></description><link>https://www.minecraftforgefrance.fr/topic/4973/drawselectionboundingbox</link><generator>RSS for Node</generator><lastBuildDate>Mon, 15 Jun 2026 04:34:41 GMT</lastBuildDate><atom:link href="https://www.minecraftforgefrance.fr/topic/4973.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 03 Jun 2018 13:58:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DrawSelectionBoundingBox on Mon, 04 Jun 2018 17:20:55 GMT]]></title><description><![CDATA[<p dir="auto">En fait pour être plus précis comme je l’ai dit plus haut ce que je fais est un plugin pour le 5ZigMod. Je ne peux donc pas register des events normaux de forge car justement ce n’est pas un mod et ma classe n’est pas détectée par forge.<br />
Je ne peux donc qu’utiliser les events du 5ZigMod et des fonctions de forge.<br />
Et de plus j’avais bien précisé que la méthode worldTickEvent était appelée par le 5ZigMod et non pas par forge.</p>
<p dir="auto">Bon bah tant pis.</p>
]]></description><link>https://www.minecraftforgefrance.fr/post/60609</link><guid isPermaLink="true">https://www.minecraftforgefrance.fr/post/60609</guid><dc:creator><![CDATA[fabulacraft]]></dc:creator><pubDate>Mon, 04 Jun 2018 17:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to DrawSelectionBoundingBox on Mon, 04 Jun 2018 06:38:02 GMT]]></title><description><![CDATA[<p dir="auto">Bonjour,</p>
<p dir="auto">Premièrement, <strong>WorldTickEvent</strong> est un évènement qui est appelé <em>côté serveur</em> et <em>côté client</em>, or tu ne fais en aucun cas la distinction ici donc tu essais aussi de dessiner quelque chose sur le serveur ce qui n’est pas possible. De plus tu utilises la classe <strong>Minecraft</strong> qui est aussi une classe <em>côté client</em>, cela te fait déjà 2 raisons pour lesquelles ton code fera crash ton serveur.</p>
<p dir="auto">Ensuite, comme l’a dit <a href="https://www.minecraftforgefrance.fr/member.php?action=profile&amp;uid=1304">AymericRed</a>, cet évènement n’est pas fait pour le rendu, cependant tu peux utiliser <strong>RenderWorldLastEvent</strong> qui est un évènement de rendu et comme tu n’utilises aucun champ et aucune méthode de l’évènement cela ne te changera rien.</p>
<p dir="auto">Par ce qui est d’ajouter la possibilité de voir la boite de collision même lorsque que celle-ci est derrière un mur il te suffit de désactiver le test de profondeur :</p>
<pre><code class="java">
GlStateManager.disableDepth();

// Ici tu rend la boite de collision

GLStateManager.enableDepth();

</code></pre>
<p dir="auto">N’oublie pas de la réactiver, bien sûr.</p>
]]></description><link>https://www.minecraftforgefrance.fr/post/60602</link><guid isPermaLink="true">https://www.minecraftforgefrance.fr/post/60602</guid><dc:creator><![CDATA[BrokenSwing]]></dc:creator><pubDate>Mon, 04 Jun 2018 06:38:02 GMT</pubDate></item><item><title><![CDATA[Reply to DrawSelectionBoundingBox on Sun, 03 Jun 2018 19:33:39 GMT]]></title><description><![CDATA[<p dir="auto">Oui en fait je me suis mal exprimé effectivement je ne cherche à draw la hitbox que d’un seul shulker.<br />
Merci je vais essayer de faire comme ça pour le nom du block.</p>
<p dir="auto">Autrement c’est vraiment complètement impossible d’utiliser des méthodes du GLStateManager lorsque ce n’est pas dans un event de rendu ?</p>
]]></description><link>https://www.minecraftforgefrance.fr/post/60601</link><guid isPermaLink="true">https://www.minecraftforgefrance.fr/post/60601</guid><dc:creator><![CDATA[fabulacraft]]></dc:creator><pubDate>Sun, 03 Jun 2018 19:33:39 GMT</pubDate></item><item><title><![CDATA[Reply to DrawSelectionBoundingBox on Sun, 03 Jun 2018 17:47:01 GMT]]></title><description><![CDATA[<p dir="auto">Salut, l’event que tu as utilisé n’est pas un event de rendu, donc tu ne peux rien dessiner quand il est appelé.<br />
Ensuite, ton code actuelle va dessiner les countours d’un seul shulker, le dernier qu’il trouve dans la liste.<br />
De plus, vérifier le nom du block comme tu le fais n’est pas du tout optimisé, compares plutôt avec Blocks.SHULKER_BOX (je connais pas le nom exact).</p>
]]></description><link>https://www.minecraftforgefrance.fr/post/60600</link><guid isPermaLink="true">https://www.minecraftforgefrance.fr/post/60600</guid><dc:creator><![CDATA[AymericRed]]></dc:creator><pubDate>Sun, 03 Jun 2018 17:47:01 GMT</pubDate></item></channel></rss>