Créer un item simple
-
@‘floriangabet’:
Tu parle de cette fonction? :
@Override
public void registerRender() {
RenderItem registerMesher = Minecraft.getMinecraft().getRenderItem();
registerMesher.getItemModelMesher().register(WasteLandMod.INSTANCE.wastelandmoditems.itemwater, 0, new ModelResourceLocation(WasteLandMod.MODID + “:itemwater”, “inventory”));
registerMesher.getItemModelMesher().register(WasteLandMod.INSTANCE.wastelandmoditems.trousseaoutils, 0, new ModelResourceLocation(WasteLandMod.MODID + “:trousseaoutils”, “inventory”));
}Utilises plutôt cette fonction :
ModelLoader.setCustomModelResourceLocation(NOM, 0, new ModelResourceLocation(ClassePrincipale.MODID + “:nom_dans_le_registre”, “inventory”));@‘minantcraft2’:
Il y a un problème dans le tuto: “(assets/modid/textures/item%(red)~~/nomdelatexture.png)”
C’est corrigé.~~
-
C’est pareil robin…
-
@‘AymericRed’:
@‘minantcraft2’:
Il y a un problème dans le tuto: “(assets/modid/textures/item%(red)~~/nomdelatexture.png)”
Non, ça dépend de ce que l’on met ici : “layer0”: “tutorial:item%(#ff3333)~~/tutorial_item”
Et de toute façon, le “s” est bien marqué dans le chemin dans le tuto.oui mais dans le tuto c’est “layer0”: item%(red) ~~et juste en dessous c’est ecris en rouge: (assets/modid/textures/item/nomdelatexture.png)" sans le s
PS: tu peut utiliser color=red pas obligé de le faire en html et en plus en html le rouge fonctionne aussi comme ça: #ff0000 (je fait de l’html)___@‘robin4002’:@‘minantcraft2’:
Il y a un problème dans le tuto: “(assets/modid/textures/item%(red)~~/nomdelatexture.png)”
C’est corrigé.
OK ps aymeric c’est pour ça que tu as cru qu’il y était~~~~~~~~
-
Ah ok ^^
Et j’ai pas utilisé le html, j’ai utilisé le bouton du forum (mais après il reforme tout en html pour qu’on le voit tel quel). -
@‘floriangabet’:
C’est pareil robin…
Oui et non, normalement les mods ne devrait pas utiliser directement l’ItemModelMesher. Cette fonction de forge n’existe pas pour rien.
-
Je fais quoi du coup? ça marche toujours pas.
-
Renvoies ton code.
-
Alors,
Classe principale:
@EventHandler public void preInit(FMLPreInitializationEvent event){ proxy.preInit(event.getSuggestedConfigurationFile()); } @EventHandler public void init(FMLInitializationEvent event) { proxy.init(); }WasteLandModItems:
public class WasteLandModItems { public static final Item TUTORIAL = new ItemWater().setUnlocalizedName("tutorial").setCreativeTab(CreativeTabs.tabMisc); public static void registerItems() { GameRegistry.registerItem(TUTORIAL, "tutorial_item"); } @SideOnly(Side.CLIENT) public static void registerItemsModels() { System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); ModelLoader.setCustomModelResourceLocation(TUTORIAL, 0, new ModelResourceLocation(WasteLandMod.MODID + ":tutorial_item", "inventory")); } }ClientProxy:
@Override public void preInit(File configFile) { super.preInit(configFile); WasteLandModItems.registerItemsModels(); } @Override public void init() { super.init(); }CommonProxy:
public void postInit(FMLPostInitializationEvent e) { } public void preInit(File configFile) { WasteLandModItems.registerItems(); } public void init() { }ItemWater.json qui se situe dans: assets/wl/models/item
{ "parent": "builtin/generated", "textures": { "layer0": "wl:items/itemwater" }, "display": { "thirdperson": { "rotation": [ 0, 90, -35 ], "translation": [ 0, 1.25, -3.5 ], "scale": [ 0.85, 0.85, 0.85 ] }, "firstperson": { "rotation": [ 0, -135, 25 ], "translation": [ 0, 4, 2 ], "scale": [ 1.7, 1.7, 1.7 ] } } }Texture en 128*128 qui se situe dans: assets/wl/textures/items
-
Je ne vois aucune erreur. Les fichiers sont bien visible depuis eclipse ?
-
Oui ils sont bien visible.
http://puu.sh/pASR8/e18178ad3d.PNG -
@‘floriangabet’:
WasteLandModItems:
public class WasteLandModItems { public static final Item TUTORIAL = new ItemWater().setUnlocalizedName("tutorial").setCreativeTab(CreativeTabs.tabMisc); public static void registerItems() { GameRegistry.registerItem(TUTORIAL, "tutorial_item"); } @SideOnly(Side.CLIENT) public static void registerItemsModels() { System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); ModelLoader.setCustomModelResourceLocation(TUTORIAL, 0, new ModelResourceLocation(WasteLandMod.MODID + ":tutorial_item", "inventory")); } }Il faudrait peut-être remplacer tutorial_item par itemwater non ?
-
Naaaaaaaaaaaaaaaaaaaaan c’était juste pour ça a merde.
Bon bah merci x) . -
Bonjour et merci pour le tuto.
J’ai réussi à créer Item et Block sans problème sur la 1.9 car la fonction GameRegistry.registerBlock/Item() est @Deprecated sur cette version.
Tout marche, je n’ai aucun soucis excepté lorsque je drop mon Item (un lingot) celui est beaucoup plus grand que les autres.
Les blocs eux ont la bonne taille. De plus, dans un inventaire, aucun soucis de taille ou autre.
Toutes mes textures sont en 16x16.
Quelqu’un aurait une solution ?
Merci.
-
Fait voir le json de ton item, mais c’est bizarre
-
@‘BrokenSwing’:
Fait voir le json de ton item, mais c’est bizarre
Merci de ta réponse.
C’est bizarre en effet surtout que c’est le JSON du tuto :
{ "parent": "builtin/generated", "textures": { "layer0": "evocraft:items/copper_ingot" }, "display": { "thirdperson": { "rotation": [ 0, 90, -35 ], "translation": [ 0, 1.25, -3.5 ], "scale": [ 0.85, 0.85, 0.85 ] }, "firstperson": { "rotation": [ 0, -135, 25 ], "translation": [ 0, 4, 2 ], "scale": [ 1.7, 1.7, 1.7 ] } } } -
Pour la 1.9 :
{ "parent": "item/generated", "textures": { "layer0": "evocraft:items/copper_ingot" } } -
@‘robin4002’:
Pour la 1.9 :
{ "parent": "item/generated", "textures": { "layer0": "evocraft:items/copper_ingot" } }Merci beaucoup cela marche parfaitement !

-
Salut,
pour éviter de confondre “TutorialItem” et “TutorialItems”, c’est pas mieux de mettre le deuxième en abstract ? -
C’est TutorialItems et ItemTutorial, les noms sont quand même assez différent.
Sur les prochains tutoriels je vais voir pour utiliser un autre nom pour être sûr qu’on ne puisse pas confondre. -
Bonsoir,
Je suis en plein apprentissage avec vos tutoriels et j’ai rencontré un problème, le “setUnlocalizedName” est souligné en rouge et je ne comprends pas pourquoi.
Merci d’avance pour votre réponse.