Erreur bloc type four
-
C’est mon monde qui était bugué en fait.
Du coup pour les valeurs à 128 ça fait quelque chose d’étrange :

-
Oui c’est normal, il faut que tu ajuste :
this.drawTexturedModalRect(x, y, u, v, width, height);En gros cette fonction dessine un morceau de la texture qui à était bind. Ce morceau a les dimensions width*height et commence au coordonnées u,v et sera dessinée sur l’écran aux coordonnées x, y. A toi d’ajuster les valeurs
-
@‘BrokenSwing’:
Oui c’est normal, il faut que tu ajuste :
this.drawTexturedModalRect(x, y, u, v, width, height);En gros cette fonction dessine un morceau de la texture qui à était bind. Ce morceau a les dimensions width*height et commence au coordonnées u,v et sera dessinée sur l’écran aux coordonnées x, y. A toi d’ajuster les valeurs
Dans ce cas je suis obligé de prendre la taille en largeur et en hauteur de l’image dans la fonction non ? Mon image fait 256*256 mais mon problème revient au même. Pourquoi ma texture s’affiche aussi grande ?
int k = (this.width - this.xSize) / 2;
int l = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(k, l, 0, 0, 256, 256);Ici la coordonné y est représenté par la variable l donc pourquoi la texture s’affiche tout en haut de l’écran ?
-
L’origine du repère est en haut à gauche de l’écran, this.height est la hauteur du Gui me semble-t-il tandis que this.ySize et la hauteur de la fenêtre (pas sûr de ce que je dis), en tout cas tout cas si c’est ça alors this.height < this.ySize mais de pas beaucoup donc tu obtient un petit nombre, puis tu le divise pas deux, et tu affiche la texture à cette hauteur, qui je rappelle commence d’en haut
-
Non c’est le contraire, this.height est la hauteur de la fenêtre de Minecraft et this.ySize la hauteur du gui en lui-même, donc height > ySize.
-
Pour le positionnement j’ai finalement juste mis this.height/4 pour la position en y.
Cependant j’ai toujours le problème de la texture qui s’affiche très grosse. Je ne comprends pas j’ai bien mis 256 en largeur et en hauteur.
-
Je me souvien avoir eu des problèmes similaires avec une taille de gui custom il y a un bout de temps, cette fonction permet de chosoir la taille de l’image à l’éccran et de la texture indépendament :
this.drawModalRectWithCustomSizedTexture(x, y, u, v, xSize, ySize, uSize, vSize);PS : au lieu de this.height / 4 tu peux mettre this.guiTop, c’est mieux

-
La fonction n’est pas reconnu, ça me dit qu’elle n’existe pas.
Pour le this.guiTop ce n’est pas ce que je veux, avec this.height/4 ça m’affiche ma texture au quart de la hauteur.
-
guiTop donne aussi le quart, mais en fonction de ySize, donc c’est plus précis.
Pour la fonction, je suis en 1.8.9 donc c’est peut-être ça, essaye de voir si il n’y a pas une fonction avec 8 arguments comme celle-ci. -
Je viens de trouver cette fonction : this.func_146110_a(k, this.height/4, 0, 0, xSize, ySize, 256, 256);
Mais le rendu est toujours pareil (à savoir que xSize et ySize valent aussi 256 du coup je sais pas si cette fonction sert vraiment).
Pour le guiTop ça me le mets toujours tout en haut c’est normal ? -
Le guiTop te met toujours tout tout en haut de l’écran ? Essaye de mettre la valeur de ySize plus bas.
-
@‘AymericRed’:
Le guiTop te met toujours tout tout en haut de l’écran ? Essaye de mettre la valeur de ySize plus bas.
Ah ok d’accord merci.
Pour la taille de l’image tu as une idée ?
-
La taille de l’image ? Pour la taille affichée sur l’écran c’est xSize et ySize qu’il faut modifier, et les deux derniers paramètres de la fonction, c’est la taille de l’image sur la texture.
-
Je ne comprends vraiment pas que je fasse ça :
this.func_146110_a(k, this.height/4, 0, 0, 128, 128, 256, 256);
Ou ça :
this.func_146110_a(k, this.height/4, 0, 0, 256, 256, 256, 256);J’ai un problème. Dans le premier cas la texture n’est pas affiché complètement et dans ledeuxieme cas ça prend tout l’écran.
-
Pour le premier cas, ça ne devrait pas, essaye 164 au encore autre chose au lieu de 128.
-
64 tu voulais dire non ?
-
Envoi ta texture sinon
-
Voici la texture :

-
tu dois faire ceci :
int k = (this.width - this.xSize) / 2; int l = (this.height - this.ySize) / 2; this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); -
C’est ce que j’avais fait au début mais toujours pareil ça prend tout l’écran, je ne vois pas pourquoi.