MFF

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

    Ghost block et item drop

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    12 Messages 2 Publieurs 1.3k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Salut,
      @vl20100:

      j’utilise le PlayerInteractEvent côté client

      Le problème est là, le drop d’item et le retrait de bloc doivent être fait côté serveur, pas côté client (et heureusement, sinon il serait très facile de faire un mod de cheat pour se give pleins d’item et détruire n’importe quel bloc).

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

        @‘robin4002’:

        Salut,
        @‘vl20100’:

        j’utilise le PlayerInteractEvent côté client

        Le problème est là, le drop d’item et le retrait de bloc doivent être fait côté serveur, pas côté client (et heureusement, sinon il serait très facile de faire un mod de cheat pour se give pleins d’item et détruire n’importe quel bloc).

        Salut,

        Merci pour cette réponse. J’ai fait quelques modifications et quelques tests mais aucun n’a été concluant.
        J’ai essayé de déclarer mon événement côté serveur mais il n’était pas déclenché.
        J’ai supprimé la distinction server/client à la déclaration de mon événement mais j’ai toujours les mêmes problèmes que dans mon premier post.  :s

        Y a-t-il quelque chose que je puisse faire pour obtenir une aide “personnalisée” qui me permettrait de résoudre ce problème une bonne fois pour toutes ?  🙂

        En attendant, voici ma fonction d’init (si c’est bien ici que se situe mon problème) :

        @EventHandler
        public void init(FMLInitializationEvent event)
        {
        proxy.registerRender();
        
        // Utilisation de la cisaille
        MinecraftForge.EVENT_BUS.register(new UserShearsEvent());
        
        }
        

        Merci pour votre aide.

        Mon projet actuel : 
        Assembled Blocks
        [url=http://minecraft.curseforge.com/…

        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

          Peut-être que cette event n’est pas déclenché côté serveur.
          PlayerInteractEvent.RightClickBlock existe en 1.7.10 ? Si oui il faudrait plutôt utiliser celui-ci.

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

            @‘robin4002’:

            Peut-être que cette event n’est pas déclenché côté serveur.
            PlayerInteractEvent.RightClickBlock existe en 1.7.10 ? Si oui il faudrait plutôt utiliser celui-ci.

            Oui, c’est déjà ce que j’utilise.

            @SubscribeEvent
            public void onPlayerUse(PlayerInteractEvent event)
            {
            System.out.println("action");
            if(event.action == Action.RIGHT_CLICK_BLOCK)
            {
            System.out.println("clic droit sur un bloc");
            if(event.entityPlayer.getCurrentEquippedItem().getItem() == Items.shears)
            {
            System.out.println("shears");
            wld = event.world;
            blc = wld.getBlock(event.x, event.y, event.z);
            
            event.setCanceled(true);
            
            onPlayerUseShears(blc.getUnlocalizedName(), event.x, event.y, event.z);
            }
            }
            }
            

            Mon projet actuel : 
            Assembled Blocks
            [url=http://minecraft.curseforge.com/…

            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

              Que donnes un System.out.println(event.entityPlayer.worldObj.isRemote); ?

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

                @‘robin4002’:

                Que donnes un System.out.println(event.entityPlayer.worldObj.isRemote); ?

                ça retourne “true”

                Mon projet actuel : 
                Assembled Blocks
                [url=http://minecraft.curseforge.com/…

                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

                  Aucun false qui s’affiche dans la console ?
                  Dans ce cas la fonction s’exécute que sur le client, je trouve ça étrange.

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

                    @‘robin4002’:

                    Aucun false qui s’affiche dans la console ?
                    Dans ce cas la fonction s’exécute que sur le client, je trouve ça étrange.

                    ça ne serait pas à cause du

                    event.setCanceled(true);
                    

                    que j’ai mis au-dessus ?

                    Mon projet actuel : 
                    Assembled Blocks
                    [url=http://minecraft.curseforge.com/…

                    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

                      Ah possible, le fait de cancel cette event évites l’envoie du paquet au serveur qui le déclenche ensuite.
                      Essais sans.

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

                        @‘robin4002’:

                        Ah possible, le fait de cancel cette event évites l’envoie du paquet au serveur qui le déclenche ensuite.
                        Essais sans.

                        Le code s’exécute bien côté client et côté serveur !  🙂

                        Maintenant, il faut que je fasse une condition avec le

                        event.entityPlayer.worldObj.isRemote
                        

                        pour que mon code ne s’exécute que côté serveur.
                        Merci beaucoup !!!

                        Mon projet actuel : 
                        Assembled Blocks
                        [url=http://minecraft.curseforge.com/…

                        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

                          @vl20100:

                          Maintenant, il faut que je fasse une condition avec le

                          event.entityPlayer.worldObj.isRemote
                          

                          C’est ça, un petit ! devant pour s’assurer d’être sur le serveur.

                          De rien !

                          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