• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Click droit sur une entity exécute command

    1.7.x
    1.7.10
    2
    3
    403
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kuribo24 last edited by

      Bonjour, je cherche depuis bientôt 3h a que quand je fasse un click droit sur mon entity (que j’ai crée) ça excute une command a la console du serveur

      Voila ma classe Event:

      public class EventPNJ1
      {
          @SubscribeEvent
          public void onRightClickPNJ1(PlayerInteractEvent e)
          {
              if(e.entity instanceof EntityPlayer)
              {
                  if(EntityPlayer (e.action.RIGHT_CLICK_AIR))
                  {
                      MinecraftServer minecraftserver = MinecraftServer.getServer();
                      net.minecraft.entity.player.EntityPlayer entity = null;
                      if (minecraftserver != null)
                          minecraftserver.getCommandManager().executeCommand((EntityPlayer) entity, "say salut");
                  }
              }
      
          }
      
          private boolean EntityPlayer(Action rightClickAir)
          {
      
              return false;
          }
      }
      

      Ci possible crée une permission et vérifier si le joueur la avant de excuter la command.

      1 Reply Last reply Reply Quote 0
      • AymericRed
        AymericRed last edited by

        Tu as plusieurs problèmes dans ton code actuellement :

        • C’est inutile de faire un null check sur minecraftserver car MinecraftServer.getServer() ne retourne jamais null pendant qu’un monde est lancé.
        • Ta variable “entity” est toujours nulle donc la commande ne peut pas s’éxécuter, tu peux par exemple remplacer son utilisation par “minecraftserver” vu que lui aussi peut envoyer des commandes.

        Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

        AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

        Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
        Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

        1 Reply Last reply Reply Quote 0
        • K
          Kuribo24 last edited by

          Ah j’ai refait tout mon code et la il marche

          Il suffit d’ajouter ceci dans la classe du mob

          
          public boolean interact(EntityPlayer entity) 
              {
                  super.interact(entity);
                  int i = (int) this.posX;
                  int j = (int) this.posY;
                  int k = (int) this.posZ;
          
                  if (true) 
                  {
          
                      if (true) 
                      {
                          MinecraftServer.getServer().getCommandManager().executeCommand(MinecraftServer.getServer(), "say salut");
                      }
          
                  }
          
                  return true;
              }
          
          

          C’est plus propre je trouve et je suis débutant dans le java je pratique depuis bientôt 4mois

          Merci de m’avoir aider.

          1 Reply Last reply Reply Quote 0
          • 1 / 1
          • First post
            Last post
          Design by Woryk
          Contact / Mentions Légales

          MINECRAFT FORGE FRANCE © 2018

          Powered by NodeBB