Créer un item simple
-
Bonjour,
Il te suffit de faire strictement la même manœuvre que pour ton premier item.
Sur quoi bloques-tu ? As tu des questions sur une partie de ton code, si oui, envoie-le nous qu’on puisse mieux t’éclaircir -
@‘Plaigon’:
Bonjour,
Il te suffit de faire strictement la même manœuvre que pour ton premier item.
Sur quoi bloques-tu ? As tu des questions sur une partie de ton code, si oui, envoie-le nous qu’on puisse mieux t’éclairciren faite j’ai reussi a cree le premier item mais je voudrai recree un item dans la meme classe
voici ma classe item -
Ohlala, originale ta classe multifonction, je veux la même :3
Elle fait à la fois ItemHandler, CustomItem et ClientProxy, remarquable, nan ?Bref, j’arrête ma moquerie, pense à la convention Java. Et fais des copy paste de ton premier item, et si une erreur survient, montre la nous. Si tu ne connais pas le Java et que tu ne souhaites pas l’apprendre pour le moment (je comprends, ça prends du temps et ce n’est pas toujours très marrant), alors contente-toi de tout recopier. Ça passera ou ça cassera !
-
@‘Plaigon’:
Ohlala, originale ta classe multifonction, je veux la même :3
Elle fait à la fois ItemHandler, CustomItem et ClientProxy, remarquable, nan ?Bref, j’arrête ma moquerie, pense à la convention Java. Et fais des copy paste de ton premier item, et si une erreur survient, montre la nous. Si tu ne connais pas le Java et que tu ne souhaites pas l’apprendre pour le moment (je comprends, ça prends du temps et ce n’est pas toujours très marrant), alors contente-toi de tout recopier. Ça passera ou ça cassera !
je vais peut etre passer pour un con mais ses quoi la convention Java ?
-
Tu es là pour apprendre après tout.
La convention Java, c’est l’ensemble les règles de nommage imposées par la communauté de Java, afin de faciliter la lecture du code lors de partages de codes (via un repo, travail de groupe, ou même lors de demandes d’aide, comme ce que tu es en train de faire). Bref + nous serons nombreux à rajouter des majuscules là où il faut, + nous gagnerons en temps et en efficacité dans les futurs topics.
Tiens, ça s’apprend très vite, voici les quelques règles à retenir :https://openclassrooms.com/forum/sujet/conventions-de-codage-en-java-64171 -
Merci pour ce tuto .
J’ai une petite question, moi mon item se pose pas quand je fais clique droit, est-ce normal ? ou il faut que je passe au tuto des blocks pour sa ? Merci d’avance -
Salut,
un item, ce n’est fait pour être posé. Soit tu cherches à creer un block, soit un ItemBlock. -
@‘MasterxHaze’:
Merci pour ce tuto .
J’ai une petite question, moi mon item se pose pas quand je fais clique droit, est-ce normal ? ou il faut que je passe au tuto des blocks pour sa ? Merci d’avanceD’accord, merci pour ta réponse super rapide , je me suis juste poser la question , car sur le screenshot du tuto (a la fin) je vois l’item poser sur le sol , je me suis dis que j"avais peut être raté un truc.
-
Sur le screenshot l’item a été jeté au sol. (touche A)
-
ah ok, l’objet était jeter sol autant pour moi Merci pour vos réponses
-
@‘aypristyle’:
Le json doit aller dans le dossier assets/modid/models/items
Bonjour,
Je ne vois pas où est “assets” :3
-
Pour le moment où:
@EventBusSubscriber(value = Side.CLIENT, modid = ModTutorial.MODID)
Faut-il mettre ModTutorial ou autre chose, car ça me met : “ModTutorial cannot be resolved to a variable”Et pour le “event.” de :
public static void registerItemModels(ModelRegistryEvent event.)
Le point est nécessaire ? Car il me met une erreur de syntaxe. -
Salut,
Il faut mettre le nom de ta classe principale.
Et non il devrait pas avoir de point ici. Je l’ai retiré du tutoriel. -
@‘robin4002’:
Salut,
Il faut mettre le nom de ta classe principale.
Et non il devrait pas avoir de point ici. Je l’ai retiré du tutoriel.Merci de m’avoir expliqué alors :D.
-
J’ai trois erreur (en 1.12.2) quelqu’un peut m’aider ?
- Dans MODIDClient a la ligne
MODIDItems.registerItemModels();
il me dit
The method registerItemModels(ModelRegistryEvent) in the type rfplusItems is not applicable for the arguments ()
il me propose de mettre null est-ce un bonne solution ?
- Dans la classe principale a la ligne
MinecraftForge.EVENT_BUS.register(new RegisteringHandler());
il me dit deux chose : la première au point entre EVENT_BUS et register
Syntax error on token ".", @ expected after this token
et juste avant le point virgule
Syntax error, insert ")" to complete MethodDeclaration
- Dans RegisteringHandler a la ligne
event.getRegistry().registerAll(ItemCopperOre.NAME);
il dit
The method registerAll(Item…) in the type IForgeRegistry is not applicable for the arguments (String)
-
Salut,
Il faudrait ton code (la classe principale + MODIDItems). -
Voici ma classe principale
import org.apache.logging.log4j.Logger; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; @Mod(modid = "rfplus", name = "RF+", version = "beta", acceptedMinecraftVersions = "[1.12.2]") public class RFPlus { public static final String MODID = "rfplus"; MinecraftForge.EVENT_BUS.register(new RegisteringHandler()); @Instance(RFPlus.MODID) public static RFPlus instance; @SidedProxy(clientSide = "com.zacharie.rfPlus.rfPlusClient", serverSide = "com.zacharie.rfPlus.rfPlusServer") public static rfPlusCommon proxy; public static Logger logger; @EventHandler public void preInit(FMLPreInitializationEvent event) { logger = event.getModLog(); proxy.preInit(event.getSuggestedConfigurationFile()); } @EventHandler public void init(FMLInitializationEvent event) { proxy.init(); } }
et MODIDItems
import com.zacharie.rfPlus.RFPlus; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @EventBusSubscriber(value = Side.CLIENT, modid = RFPlus.MODID) public class rfplusItems { public static final Item COPPERORE = new ItemCopperOre(); public static void setItemName(Item item, String name) { item.setRegistryName(RFPlus.MODID, name).setUnlocalizedName(RFPlus.MODID + "." + name); } @SideOnly(Side.CLIENT) @SubscribeEvent public static void registerItemModels(ModelRegistryEvent event) { registerModel(COPPERORE, 0); } @SideOnly(Side.CLIENT) public static void registerModel(Item item, int metadata) { if (metadata < 0) metadata = 0; String resourceName = item.getUnlocalizedName().substring(5).replace('.', ':'); if (metadata > 0) resourceName += "_m" + String.valueOf(metadata); ModelLoader.setCustomModelResourceLocation(item, metadata, new ModelResourceLocation(resourceName, "inventory")); } }
-
Retires la ligne MODIDItems.registerItemModels(); tu n’en as pas besoin.
MinecraftForge.EVENT_BUS.register(new RegisteringHandler());
Doit être dans la fonction preinit de la classe principale, pas là où il est actuellement. -
Merci mais il me reste un erreur dans RegisteringHandler à la ligne
event.getRegistry().registerAll(ItemCopperOre.NAME);
il dit :
The method registerAll(Item…) in the type IForgeRegistry is not applicable for the arguments (String)
-
Remplaces ItemCopperOre.NAME par rfplusItems.COPPERORE