Résolu Problème de texture ( Background de CreativeTab )
-
Bonjour, je me présente, Eryah, moddeur amateur, très débutant. Je développe un mod sur Forge ( acniennement sur MCreator) depuis quelques temps, Useful Things (http://forum.minecraft-france.fr/threads/usefulthings-project.28533/)
J’ai coder un bloc ( Bloc de tronc d’arbre ) , donc la pas de problème , mais sur la texture, j’ai beaucoup de mal. En rendu inventaire, la texture est correctement apliquée, mais en jeu, elle reste en violet/noir
Je ne sais pas cela vient de quel fichier, le model/blocks, ou le blockstates.
Dans les deux cas, voici mon code :
src/main/resources/assets/ut/blockstates/resin_log.json
{ "variants": { "normal": [ { "model": "ut:blocks/resin_block" } ] } }
src/main/resources/assets/ut/models/block/resin_log.json
{ "parent": "block/cube_column", "textures": { "end": "ut:blocks/resin_log_top", "side": "ut:blocks/resin_log" } }
Merci de m’apporter un réponse au plus vite, j’ai supprimé puis re-codé 3x le bloc, puis j’ai recodé au moins une vingtaine de fois ces deux fichier, en vain.
-
@‘Eryah’:
Dans les deux cas, voici mon code :
src/main/resources/assets/ut/models/block/resin_log.json
{ "parent": "block/cube_column", "textures": { "end": "ut:blocks/resin_log_top", "side": "ut:blocks/resin_log" } }
Merci de m’apporter un réponse au plus vite, j’ai supprimé puis re-codé 3x le bloc, puis j’ai recodé au moins une vingtaine de fois ces deux fichier, en vain.
Je prense pas que le problème vienne de ce json.
@‘Eryah’:
Dans les deux cas, voici mon code :
src/main/resources/assets/ut/blockstates/resin_log.json
{ "variants": { "normal": [ { "model": "ut:blocks/resin_block" } ] } }
je pense que ça viens de là, pourquoi tu met “blocks/resin_block”, normalement tu as pas besoin de préciser le dossier, il vas directement dans le models/block pour les blocks et models/item pour les item.
Sinon, pourrais-tu donner les logs ? -
Sérieusement, frappez moi avec un bâton, un pied de biche, un pied de biche au sens propre, ou avec n’importe quoi qui fait mal…
La texture s’apelle resin_log… [size=small ]
{ “model”: "ut:blocks/resin_block" }
Le pire, c’est que sa m’est déja arrivé, la texture s’appellait log_resin au lieu de resin_log
Le pire du pire, c’est que j’ai refait le code 10 fois, 10 fois la même erreur !!Sinon ouais, c’était bien le blocks/ qui bloquait aussi, thx guy
Bien joué Eryah !
Eryah se suicida la nuit qui suit
-
J’ai lu le post sur minecraft-france, tu as des bases en java maintenant ?
edit : au passage si ton problème est résolut passe le sujet en résolut.
-
Sujet en résolu
Bah enfaite, je m’instruit au fur et a mesure. Je regarde ( principalement MrCrayfish ) plusieurs tutos, puis je m’entraîne a les faire de tête. (Jamais réussi ). D’ailleurs, j’en profite pour poser une question, les codes 1.7 et 1.8 sont-ils les mêmes ?
-
PROUUBLEME 2
Mon background de Creative tab déconnne completement, il est entièrement en violet/noir (que j’appelle le bloc Inconnu )
Code du Tab
package eryah.usefulthings; import eryah.usefulthings.init.ResinTree; import eryah.usefulthings.init.UTResin; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class CreativeTab extends CreativeTabs { public CreativeTab(String label) { super(label); this.setBackgroundImageName("tab_items.png"); } @Override public Item getTabIconItem() { return UTResin.resin; } }
Texture du background : http://image.noelshack.com/fichiers/2015/22/1432728530-tab-items.png
Je ne sais pas tu dout ce qui déconne, car j’ai suivi parfaitement le tuto de Crayfish, ma texture m’a l’air parfaitement correcte, et aucune faute d’orthographe ( A voir après…)
-
setBackgroundImage ne marche que dans les dossiers de minecraft, il faut réécrire la méthode drawGuiContainerBackgroundLayer.
-
Sa me donne ça quand je remplace les donnés érronés
package eryah.usefulthings; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import eryah.usefulthings.init.UTResin; public class CreativeTab extends CreativeTabs { public CreativeTab(String label) { super(label); this.drawGuiContainerBackgroundLayer("tab_items.png"); } private void drawGuiContainerBackgroundLayer(String string) { } @Override public Item getTabIconItem() { return UTResin.resin; } }
Il faut mettre quoi dans (String string) ?
-
Fait alt + shift + S puis override or implement methods et choisis drawGuiContainerBakcgroundLayer
-
Alors j’ai pas trop compris mais j’ai improvisé , sa me donne ceci
package eryah.usefulthings; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import eryah.usefulthings.init.UTResin; public class CreativeTab extends CreativeTabs { public CreativeTab(String label) { super(label); this.drawGuiContainerBackgroundLayer("tab_items.png"); } private void drawGuiContainerBackgroundLayer(String string) { // TODO Auto-generated method stub } @Override public String getBackgroundImageName() { return super.getBackgroundImageName(); } @Override public Item getTabIconItem() { return UTResin.resin; } }
Ou dois-je mettre la texture ? :S
-
Il faut copier le code de base et l’adapter avec ta texture.
-
Dans le dossier où il y a les sources de forge (là où il y a gradlew.bat) pour moi :
Minecraft Moding\Forge Mod\src\main\resources\assets
tu crée une succession de dossier dans cette ordre à chaque fois l’un dans l’autre :
minecraft\textures\gui\container\creative_inventory\tab_tatexture.png
Texture qui de devra évidement respecter les dimensions des autres, le nom de cette dernière doit impérativement commencer par un “tab_” et enfin l’extension “.png” est obligatoire.
Ensuite tu devras aller dans la classe de tes creatives tabs et écrire ça :
package eryah.usefulthings; import eryah.usefulthings.init.ResinTree; import eryah.usefulthings.init.UTResin; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class CreativeTab extends CreativeTabs { public CreativeTab(String label) { super(label); //Tres important de ne pas ecrire "tab_" this.setBackgroundImageName("tatexture.png"); } @Override public Item getTabIconItem() { return UTResin.resin; } }
C’est la seule méthode je pense et/ou sûrement la plus simple qui existe, à toi de choisir.
-
J’ai rien compris dans le dossier *CreativeTabs.class. *Les *.setBackgroundImageName *se trouvent en fin de code, et quand je l’adapte a mon code, ça ne fonctionne pas
Et EmotionalFox, ta technique ne fonctionne pas non plus.
Pourtant, ma texture s’appelle tab_items, est au format .png, fait la même dimension que celle de base ( 256x256 ) par contre, l’emplacement de ma texture est : *1.8 Useful Things\src\main\resources\assets\textures\gui\container\creative_inventory *, je ne sais pas ou faut-il créer le dossier “minecraft” donc tu parleJe me retrouve bien dans le caca vis a vis de cette texture.
J’envisage de joué la carte de la banalité, et de ne pas faire de fond
Dommage, moi qui voulait faire une touche d’originalité sur mon CreativeTab…
Mais sa fait tout de même presque 3j que je stagne sur cette texture, je vais arrêter de mon concentrer dessus, et continue le développement normal -
Tu dois créer un dossier minecraft dans le dossier assets et déplacer le dossier textures dans ce dossier.
-
Pourtant c’est pas bien compliqué, comme la dis Robin tu a oublié de créer le dossier Minecraft dans le dossier assets, voilà mon chemin complet et la texture fonctionne à merveille :
Minecraft Moding\Forge Mod\src\main\resources\assets\minecraft\textures\gui\container\creative_inventory\tab_items_emo.png
Ps: Tu doit aussi et obligatoirement prendre pour base le fichier tab_items.png mais ne pas l’appeller de la même façon.
-
HEY HEY, merci beaucoup les gens ! Sa fait original, d’avoir sa propre texture de Tab
Je suis quand même déçu d’avoir gaché pas mal de temps a suivre le tuto de Scarex, qui n’a pas du tout fonctioné, et qui, en plus, était dans le faux total
-
J’ai pas fait de tutoriel là-dessus.
-
La balise s’il te plaît.
-
Excusez-moi, j’ai oublié
Le topic repassera surement en non-résolu dans quelques temps, si j’ai un problème et que je trouve aucune solution -
Créer une autre discussion dans ce cas.
Il est mieux de faire une discussion par problème à cause du titre, si quelqu’un a le même problème que ton premier problème il risque de ne pas trouver cette discussion comme tu aura mit en titre le deuxième problème.