Résolu Besoin d'aide Item
-
7Bonjour, j’aimerais que quand je fasse un clic droit avec mon Item, je passe en gamemode, pour le moment j’ai sa
package fr.zexion.alex92380.item; import ibxm.Player; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemSetGamemodeOne extends Item{ Player player; @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { player.setGameType(1); } }
Merci à vous
PS: 1.7.10 -
Bonjour,
Si tu fais un event directement sur le clique droit en vérifiant que c’est tel item tu n’auras qu’un paramètre en fonction qui contiendra directement le joueur. Car la ta fonction ne contient pas de joueur, juste une variable vide, j’edit pour te montrer dès que je trouves ce que je voulais dire
Edit: Je n’arrive pas à faire marcher l’event right click mais si ça marcherait il aurait fallu sois vérifier l’objet en main sois juste activer directement event.getPlayer().setGameType(1);
Malheureusement mon code marche pas ^^’ encore des choses à apprendre
J’essaye donc de faire ça:@SubscribeEvent public void playerInteract(PlayerInteractEvent.RightClickItem event) { event.getEntityPlayer().setGameType(GameType.CREATIVE); }
Mais à priori ma façon de trouver les événements à Subscribe n’a pas l’air bonne
En espérant peut être t’aider je dis peut être des bêtises ! Et setGameType ne prend pas de int en 1.12.2, mais ça doit être proche en 1.7.10, peut être pas les eventsDésolé de pas pouvoir te donner un code 1.7.10 ni uncode qui marche ^^’ mais peut être que ça t’aidera à trouver.
-
Merci à toi je commence a me rapprocher de la solution!
-
import ibxm.Player; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemSetGamemodeOne extends Item{ Player player; @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { player.setGameType(1); } }
Ce code est erroné
Deja retire tes imports inutile comme celui-ciimport ibxm.Player
ensuite la variable qui va avecPlayer player
Ensuite ecris correctement ta fonction onItemRightClickSi t’est sous Eclipse => Source > Override Implements Method > Selectionne onItemRightClick et fait ok
Si t’est sous IDEA => Ctrl + O > Selectionne onItemRightClick et fait okDeja ta fonction na pas le mot-clé return ce qui vas causé un erreur a la compilation
Je te suggere d’aller voir aussi comme on creer un Item car tu a visiblement pas compris le concept x)Si jamais tu ne comprends toujours rien, je suis dispo sur le discord de Minecraft Forge France
-
Problème résolu
-
@spyman a dit dans Besoin d'aide Item :
import ibxm.Player; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemSetGamemodeOne extends Item{ Player player; @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { player.setGameType(1); } }
Ce code est erroné
Deja retire tes imports inutile comme celui-ciimport ibxm.Player
ensuite la variable qui va avecPlayer player
Ensuite ecris correctement ta fonction onItemRightClickSi t’est sous Eclipse => Source > Override Implements Method > Selectionne onItemRightClick et fait ok
Si t’est sous IDEA => Ctrl + O > Selectionne onItemRightClick et fait okDeja ta fonction na pas le mot-clé return ce qui vas causé un erreur a la compilation
Je te suggere d’aller voir aussi comme on creer un Item car tu a visiblement pas compris le concept x)Si jamais tu ne comprends toujours rien, je suis dispo sur le discord de Minecraft Forge France
Super l a mthode override implements method !
J’utilise très très peu Eclipse je suis développeur C#/C++ à la base.Vraiment pratique ! Merci à toi !
(Je me demande encore comment j’ai fais un launcher Minecraft en java + un mod pour un serveur alors que là je galère à gérer un mouvement d’un seul bloc xD)
-
hé ta vu hein j’suis intelligent