MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Exécuter commande à un joueur en tant que OP sans l'être

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    13 Messages 5 Publieurs 3.1k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Benjamin LoisonB Hors-ligne
      Benjamin Loison
      dernière édition par

      C’est par rapport à un plugin pour récolter l’information /money et éxécuté un /eco take Joueur Argent des idées ?

      >! Développeur de Altis-Life (Arma III) sur Minecraft !
      >! Site web     : https://lemnoslife.com

      1 réponse Dernière réponse Répondre Citer 0
      • SCAREXS Hors-ligne
        SCAREX
        dernière édition par

        Ce serait plus simple si le dev du plugin utilisait les paquets, il faut regarder si c’est le cas. Mais sinon tu peux envoyer la commande au serveur, par contre pour savoir quand la réponse est reçue, çà risque d’être plus dur.

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

        1 réponse Dernière réponse Répondre Citer 0
        • FolganskyF Hors-ligne
          Folgansky Correcteurs
          dernière édition par

          Je suis pleinement concerné par ce soucis, j’essaie de faire exécuter la commande:

          MinecraftServer.getServer().getCommandManager().executeCommand(MinecraftServer.getServer(), "eco give " + player.getDisplayName() + " 20");
          

          Et sur serveur ça ne fonctionne pas. J’ai cru lire dans un autre topic que Essantials pouvait empêcher la bonne exécution de la commande…

          Pas de solution à ça?

          1 réponse Dernière réponse Répondre Citer 0
          • SCAREXS Hors-ligne
            SCAREX
            dernière édition par

            Essentials -> grosse daube
            Vu qu’il y a essential, ça veut dire Cauldron sponge ou quelque chose dans le genre -> grosse daube

            Donc oui le problème peut venir de là

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

            1 réponse Dernière réponse Répondre Citer 0
            • robin4002R Hors-ligne
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
              dernière édition par

              les commandes bukkit ne fonctionnent pas avec cette méthode.

              1 réponse Dernière réponse Répondre Citer 0
              • Benjamin LoisonB Hors-ligne
                Benjamin Loison
                dernière édition par

                Je sors ce soir un tutoriel pour les intéressés qui ont ce genre de problèmes.

                EDIT: Tutoriel: https://www.minecraftforgefrance.fr/showthread.php?tid=3861

                >! Développeur de Altis-Life (Arma III) sur Minecraft !
                >! Site web     : https://lemnoslife.com

                1 réponse Dernière réponse Répondre Citer 0
                • FolganskyF Hors-ligne
                  Folgansky Correcteurs
                  dernière édition par

                  J’ai un p’tit crash sur EntityClientPlayerMP, tout à la fin du paste

                  @SubscribeEvent
                      public void onEntityKilled(LivingDeathEvent event)
                      {
                          Random rand = new Random();
                          ItemStack stack1 = new ItemStack(ModPg2.itemRandomMunition, 1); //Munition
                          ItemStack stack2 = new ItemStack(ModPg2.itemMetadata, 1, 0); //Insigne
                          ItemStack stack3 = new ItemStack(ModPg2.itemMetadata, 1, 26);//Petit Butin  R1
                          ItemStack stack4 = new ItemStack(ModPg2.itemMetadata, 1, 27);
                          ItemStack stack5 = new ItemStack(ModPg2.itemMetadata, 1, 28);
                          ItemStack stack6 = new ItemStack(ModPg2.itemMetadata, 1, 29);
                          ItemStack stack7 = new ItemStack(ModPg2.itemMetadata, 1, 30);
                          ItemStack stack8 = new ItemStack(ModPg2.itemMetadata, 1, 31);//Petit Butin  R6
                          ItemStack stack9= new ItemStack(ModPg2.itemMetadata, 1, 32);//Butin  R1
                          ItemStack stack10= new ItemStack(ModPg2.itemMetadata, 1, 33);
                          ItemStack stack11= new ItemStack(ModPg2.itemMetadata, 1, 34);
                          ItemStack stack12= new ItemStack(ModPg2.itemMetadata, 1, 35);
                          ItemStack stack13= new ItemStack(ModPg2.itemMetadata, 1, 36);
                          ItemStack stack14= new ItemStack(ModPg2.itemMetadata, 1, 37);//Butin  R6
                          ItemStack stack15 = new ItemStack(ModPg2.itemRandomMunitionPlasma, 1); //Munition Plasma
                          if (event.source.getEntity() instanceof EntityPlayer)
                          {
                              int randInt = rand.nextInt(100);
                              EntityPlayer player = (EntityPlayer) event.source.getEntity();
                              if(!event.entityLiving.worldObj.isRemote && !player.worldObj.isRemote && event.entityLiving instanceof EntityR1Cac || event.entityLiving instanceof EntityR1Ranged)
                              {
                                  if(event.entityLiving instanceof EntityR1Cac)
                                  {
                                      for(int j = 0 ; j < 2; ++j)
                                      {
                                          if (randInt <= 5)
                                          {   // 5/100
                                              event.entityLiving.entityDropItem(stack9, 1);
                                          }
                                          if (randInt > 5 && randInt <= 40)
                                          {   // 35/100
                                              event.entityLiving.entityDropItem(stack3, 1);
                                          }
                                          if (randInt > 40 && randInt <= 50)
                                          {   // 10/100
                                              event.entityLiving.entityDropItem(stack2, 1);
                                          }
                                          if (randInt > 50)
                                          {   // 50/100
                                              event.entityLiving.entityDropItem(stack1, 1);
                                          }
                                      }
                                  }
                                  if(event.entityLiving instanceof EntityR1Ranged)
                                  {
                                      for(int j = 0 ; j < 2; ++j)
                                      {
                                          if (randInt <= 10)
                                          {   // 10/100
                                              event.entityLiving.entityDropItem(stack9, 1);
                                          }
                                          if (randInt > 10 && randInt <= 30)
                                          {   // 20/100
                                              event.entityLiving.entityDropItem(stack3, 1);
                                          }
                                          if (randInt > 30 && randInt <= 50)
                                          {   // 20/100
                                              event.entityLiving.entityDropItem(stack2, 1);
                                          }
                                          if (randInt > 50)
                                          {   // 50/100
                                              event.entityLiving.entityDropItem(stack1, 1);
                                          }
                                      }
                                  }
                                  if(player != null)
                                  {
                                      int killR1 = player.getEntityData().getInteger("killR1");
                                      if(!player.worldObj.isRemote)
                                      {
                                          killR1++;
                                          player.getEntityData().setInteger("killR1", killR1);
                                      }
                                      if(killR1 == 10)
                                      {
                                          player.triggerAchievement(ModPg2.achievementKillR1a);
                                          ByteArrayDataOutput out = ByteStreams.newDataOutput();
                                          out.writeUTF("achievementKillR1a accomplis par " + player.getDisplayName());
                                          ((EntityClientPlayerMP)player).sendQueue.addToSendQueue(new C17PacketCustomPayload("achievementKillR1a", out.toByteArray()));                    }
                                    […]
                  
                  

                  Le rapport:

                  –-- Minecraft Crash Report ----
                  // I bet Cylons wouldn’t have this problem.

                  Time: 27/08/16 12:01
                  Description: Ticking entity

                  java.lang.ClassCastException: net.minecraft.entity.player.EntityPlayerMP cannot be cast to net.minecraft.client.entity.EntityClientPlayerMP
                      at fr.powergame.modpg2.common.LivingEventHandler.onEntityKilled(LivingEventHandler.java:114)
                      at cpw.mods.fml.common.eventhandler.ASMEventHandler_9_LivingEventHandler_onEntityKilled_LivingDeathEvent.invoke(.dynamic)
                      at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
                      at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:138)
                      at net.minecraftforge.common.ForgeHooks.onLivingDeath(ForgeHooks.java:305)
                      at net.minecraft.entity.EntityLivingBase.onDeath(EntityLivingBase.java:982)
                      at net.minecraft.entity.EntityLivingBase.attackEntityFrom(EntityLivingBase.java:940)
                      at net.minecraft.entity.monster.EntityMob.attackEntityFrom(EntityMob.java:84)
                      at fr.powergame.modpg2.common.EntityBulletPlasmaGun.onImpact(EntityBulletPlasmaGun.java:98)
                      at net.minecraft.entity.projectile.EntityThrowable.onUpdate(EntityThrowable.java:229)
                      at fr.powergame.modpg2.common.EntityBulletPlasmaGun.onUpdate(EntityBulletPlasmaGun.java:118)
                      at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2298)
                      at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:684)
                      at net.minecraft.world.World.updateEntity(World.java:2258)
                      at net.minecraft.world.World.updateEntities(World.java:2108)
                      at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:515)
                      at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:703)
                      at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
                      at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
                      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
                      at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)

                  1 réponse Dernière réponse Répondre Citer 0
                  • AymericRedA Hors-ligne
                    AymericRed
                    dernière édition par

                    Tu essayes de cast le joueur sur serveur au jouer client, mets un if(World.isRemote) à la dernière condition.

                    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 réponse Dernière réponse Répondre Citer 0
                    • FolganskyF Hors-ligne
                      Folgansky Correcteurs
                      dernière édition par

                      Sacré bordel dans mon esprit pour le Side…

                      Voici ce qu’est devenu le code

                      
                      public class LivingEventHandler
                      {
                          @SubscribeEvent
                          public void onEntityKilled(LivingDeathEvent event)
                          {
                              Random rand = new Random();
                              ItemStack stack1 = new ItemStack(ModPg2.itemRandomMunition, 1); // Munition
                              ItemStack stack2 = new ItemStack(ModPg2.itemMetadata, 1, 0); // Insigne
                              ItemStack stack3 = new ItemStack(ModPg2.itemMetadata, 1, 26);// Petit Butin R1
                              ItemStack stack4 = new ItemStack(ModPg2.itemMetadata, 1, 27);
                              ItemStack stack5 = new ItemStack(ModPg2.itemMetadata, 1, 28);
                              ItemStack stack6 = new ItemStack(ModPg2.itemMetadata, 1, 29);
                              ItemStack stack7 = new ItemStack(ModPg2.itemMetadata, 1, 30);
                              ItemStack stack8 = new ItemStack(ModPg2.itemMetadata, 1, 31);// Petit Butin R6
                              ItemStack stack9 = new ItemStack(ModPg2.itemMetadata, 1, 32);// Butin R1
                              ItemStack stack10 = new ItemStack(ModPg2.itemMetadata, 1, 33);
                              ItemStack stack11 = new ItemStack(ModPg2.itemMetadata, 1, 34);
                              ItemStack stack12 = new ItemStack(ModPg2.itemMetadata, 1, 35);
                              ItemStack stack13 = new ItemStack(ModPg2.itemMetadata, 1, 36);
                              ItemStack stack14 = new ItemStack(ModPg2.itemMetadata, 1, 37);// Butin R6
                              ItemStack stack15 = new ItemStack(ModPg2.itemRandomMunitionPlasma, 1); // Munition Plasma
                              if(event.source.getEntity() instanceof EntityPlayer)
                              {
                                  EntityPlayer player = (EntityPlayer)event.source.getEntity();
                                  if(event.entityLiving instanceof EntityR1Cac || event.entityLiving instanceof EntityR1Ranged)
                                  {
                                      for(int j = 0; j < 2; ++j)
                                      {
                                          if(event.entityLiving instanceof EntityR1Cac && !player.worldObj.isRemote) //Serveur
                                          {
                                              int randInt = rand.nextInt(100);
                                              if(randInt <= 5)
                                              {   // 5/100
                                                  event.entityLiving.entityDropItem(stack9, 1);
                                              }
                                              if(randInt > 5 && randInt <= 40)
                                              {   // 35/100
                                                  event.entityLiving.entityDropItem(stack3, 1);
                                              }
                                              if(randInt > 40 && randInt <= 50)
                                              {   // 10/100
                                                  event.entityLiving.entityDropItem(stack2, 1);
                                              }
                                              if(randInt > 50)
                                              {   // 50/100
                                                  event.entityLiving.entityDropItem(stack1, 1);
                                              }
                      
                                          }
                                          if(event.entityLiving instanceof EntityR1Ranged && !player.worldObj.isRemote) //Serveur
                                          {
                                              int randInt = rand.nextInt(100);
                                              if(randInt <= 10)
                                              {   // 10/100
                                                  event.entityLiving.entityDropItem(stack9, 1);
                                              }
                                              if(randInt > 10 && randInt <= 30)
                                              {   // 20/100
                                                  event.entityLiving.entityDropItem(stack3, 1);
                                              }
                                              if(randInt > 30 && randInt <= 50)
                                              {   // 20/100
                                                  event.entityLiving.entityDropItem(stack2, 1);
                                              }
                                              if(randInt > 50)
                                              {   // 50/100
                                                  event.entityLiving.entityDropItem(stack1, 1);
                                              }
                      
                                          }
                                      }
                                      if(player != null)
                                      {
                                          int killR1 = player.getEntityData().getInteger("killR1");
                                          if(!player.worldObj.isRemote)  //Serveur
                                          {
                                              killR1++;
                                              player.getEntityData().setInteger("killR1", killR1);
                                          }
                                          if(player.worldObj.isRemote)  //Client
                                          {
                                              if(killR1 == 10)
                                              {
                                                  player.triggerAchievement(ModPg2.achievementKillR1a);
                                                  ByteArrayDataOutput out = ByteStreams.newDataOutput();
                                                  out.writeUTF("achievementKillR1a accomplis par " + player.getDisplayName());
                                                  ((EntityClientPlayerMP)player).sendQueue.addToSendQueue(new C17PacketCustomPayload("achievementKillR1a", out.toByteArray()));
                                              }
                                              if(killR1 == 100)
                                              {
                                                  player.triggerAchievement(ModPg2.achievementKillR1b);
                                                  ByteArrayDataOutput out = ByteStreams.newDataOutput();
                                                  out.writeUTF("achievementKillR1b accomplis par " + player.getDisplayName());
                                                  ((EntityClientPlayerMP)player).sendQueue.addToSendQueue(new C17PacketCustomPayload("achievementKillR1b", out.toByteArray()));   
                                              }
                                              if(killR1 == 300)
                                              {
                                                  player.triggerAchievement(ModPg2.achievementKillR1c);
                                                  ByteArrayDataOutput out = ByteStreams.newDataOutput();
                                                  out.writeUTF("achievementKillR1c accomplis par " + player.getDisplayName());
                                                  ((EntityClientPlayerMP)player).sendQueue.addToSendQueue(new C17PacketCustomPayload("achievementKillR1c", out.toByteArray()));
                                              }
                                              if(killR1 == 1000)
                                              {
                                                  player.triggerAchievement(ModPg2.achievementKillR1d);
                                                  ByteArrayDataOutput out = ByteStreams.newDataOutput();
                                                  out.writeUTF("achievementKillR1d accomplis par " + player.getDisplayName());
                                                  ((EntityClientPlayerMP)player).sendQueue.addToSendQueue(new C17PacketCustomPayload("achievementKillR1d", out.toByteArray()));
                                              }
                                          }
                                      }
                                  }
                      
                      

                      Le soucis c’est que l’achievement ne sera pas pris en compte il me semble. Je dois faire une nouvelle arborescence de if pour valider l’achievement?

                      1 réponse Dernière réponse Répondre Citer 0
                      • FolganskyF Hors-ligne
                        Folgansky Correcteurs
                        dernière édition par

                        ça ne crash plus mais ça n’a pas l’air d’être appelé car je n’ai pas le message en jeu

                        if(event.entityLiving instanceof EntityR1Cac || event.entityLiving instanceof EntityR1Ranged)
                                    {
                                        killR1++;
                                        player.getEntityData().setInteger("killR1", killR1);
                                        if(killR1 == 10)
                                        {
                                            player.triggerAchievement(ModPg2.achievementKillR1a);
                                            if(player.worldObj.isRemote)
                                            {
                                                System.out.println("Test achievement");
                                                player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.DARK_AQUA + "Power Game"));
                        
                                                ByteArrayDataOutput out = ByteStreams.newDataOutput();
                                                out.writeUTF("achievementKillR1a accomplis par " + player.getDisplayName());
                                                ((EntityClientPlayerMP)player).sendQueue.addToSendQueue(new C17PacketCustomPayload("achievementKillR1a", out.toByteArray()));
                                            }
                                        }
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • 1 / 1
                        • Premier message
                          Dernier message
                        Design by Woryk
                        ContactMentions Légales

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB