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 events 😕

    Dé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-ci import ibxm.Player ensuite la variable qui va avec Player player
    Ensuite ecris correctement ta fonction onItemRightClick

    Si t'est sous Eclipse => Source > Override Implements Method > Selectionne onItemRightClick et fait ok
    Si t'est sous IDEA => Ctrl + O > Selectionne onItemRightClick et fait ok

    Deja 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-ci import ibxm.Player ensuite la variable qui va avec Player player
    Ensuite ecris correctement ta fonction onItemRightClick

    Si t'est sous Eclipse => Source > Override Implements Method > Selectionne onItemRightClick et fait ok
    Si t'est sous IDEA => Ctrl + O > Selectionne onItemRightClick et fait ok

    Deja 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 😋 😁