MFF

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

    OnItemRightClick sur une entity.

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    125 Messages 8 Publieurs 21.6k 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.
    • Snowy_1803S Hors-ligne
      Snowy_1803
      dernière édition par

      Le getAlcool tu mets juste return alcool, c’est tout ! Pourquoi tout ce code ?

      Moddeur 1.8

      Développeur Java

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

        J’essaye ça je vous dis

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

          @‘Snowy_1803’:

          Le getAlcool tu mets juste return alcool, c’est tout ! Pourquoi tout ce code ?

          Surtout que Robin le lui a déjà dit de mettre return this.alcool (et il l’a pas fait)

          @‘robin4002’:

          Mets directement return this.alcool;

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

            Niquel merci

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

              Juste une dernière question si je veux faire baisser le niveau d’alcoolémie de 1 au bout de 15 minutes je dois faire comment ?

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

                TickHandler avec la variable getTotalWorldTime() + modulo

                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

                  TickEvent.PlayerTickEvent*
                  L’interface ITickHandler n’existe plus depuis la 1.7

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

                    J’ai trouvais ça sur internet je dois définir le nombre de tick comment?

                    @SubscribeEvent
                    public void onPlayerTickEvent(TickEvent.PlayerTickEvent event) {
                        if (event.phase == TickEvent.Phase.START && !event.player.worldObj.isRemote) {
                            IExtendedEntityProperties properties = event.player.getExtendedProperties(PlayerExtendedProperties.ID);
                            if (properties instanceof PlayerExtendedProperties) {
                                PlayerExtendedProperties playerExtendedProperties = (PlayerExtendedProperties) properties;
                                playerExtendedProperties.tick();
                            }
                            properties = event.player.getExtendedProperties(PlayerPreferencesProperties.ID);
                            if (properties instanceof PlayerPreferencesProperties) {
                                PlayerPreferencesProperties preferencesProperties = (PlayerPreferencesProperties) properties;
                                preferencesProperties.tick(RFToolsMessages.INSTANCE);
                            }
                        }
                    }
                    
                    1 réponse Dernière réponse Répondre Citer 0
                    • DeletedD Hors-ligne
                      Deleted
                      dernière édition par

                      Le nombre de tick à la seconde est déjà défini.
                      Ton code va logiquement crash car worldObj sera null lorsque le menu principal sera ouvert.
                      Du coup null-check pour le world et pour faire vérifier un code tous les x nbre de tick, c’est comme ça

                      
                      if(event.player.worldObj.getTotalWorldTime() % (nbreDeSecondes * 20) == 0
                      {
                      System.out.println("ton code à exécuter avec ton ExtProp");
                      }
                      
                      
                      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

                        PlayerTickEvent n’est que appelé en jeu, donc normalement event.player.worldObj ne sera jamais nul. Pas besoin de null check.

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

                          Ok je reverrai mes sources la prochaine fois 😉

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

                            J’ai fais sa je suis pas trop sur que ça marche…

                              @SubscribeEvent
                              public void onPlayerTickEvent(TickEvent.PlayerTickEvent event) {
                            
                              if(event.player.worldObj.getTotalWorldTime() % (60 * 20) == 0)
                              {
                              ExtendedEntityPropAlcool prop = ExtendedEntityPropAlcool.get(event.player);
                                   prop.setAlcool(prop.getAlcool() - 1);
                              System.out.println("Test!");
                              }
                              }
                            
                            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

                              Normalement ça devrait être bon.
                              Regardes en jeu si Test ! s’affiche. Si ce n’est pas le cas c’est surement car ta classe n’est pas enregistré avec FMLCommonHandler.instance().bus().register(new NomDeTaClasseD’event());

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

                                D’acc je vais voir ça, sinon aussi des fois je rencontre quelques problème par exemple: lorsque je bois un verre d’alcool mon niveau d’alcoolémie devrais normalement augmenté que de 1 bah des fois même souvent, il augmente de 2 😕

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

                                  Ouais merci je l’avais enregistré avec MinecraftForge.EVENT_BUS … Par j’ai un soucis le message TEST il me l’envois 4 fois (2 fois server 2 fois clients ) au lieux de 2 fois (1 fois client 1 fois server) .

                                  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

                                    @‘floriangabet’:

                                    D’acc je vais voir ça, sinon aussi des fois je rencontre quelques problème par exemple: lorsque je bois un verre d’alcool mon niveau d’alcoolémie devrais normalement augmenté que de 1 bah des fois même souvent, il augmente de 2 😕

                                    Sûrement un problème client/serveur ajoutes un if(!player.worldObj.isRemote) avant d’exécuter le code qui augmente le niveau d’alcoolémie pour le faire seulement côté serveur.

                                    @‘floriangabet’:

                                    Ouais merci je l’avais enregistré avec MinecraftForge.EVENT_BUS … Par j’ai un soucis le message TEST il me l’envois 4 fois (2 fois server 2 fois clients ) au lieux de 2 fois (1 fois client 1 fois server) .

                                    Ne retire pas la ligne MinecraftForge.EVENT_BUS si tu as aussi des événements Forge dans la classe. Il faut mettre les deux en même temps (c’est un peu confus, en 1.8 ils ont changé ça, MinecraftForge.EVENT_BUS suffit).
                                    Pour le message en quadruple, ajoutes une condition if(event.phase == TickEvent.Phase.END) (l’event est appelé deux fois, au début du tick et à la fin du tick).

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

                                      Merci j’essaye ça!

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

                                        Merci c’est nickel par contre j’ai aperçu que après de nombreuse heure de jeu on pouvais atteindre le niveau -1 etc jusqu’à l’infinie et moi je voudrais que il s’arrête a 0 et que une fois a 0 ou le timer se bloque ou alors on cancelled l’action vous pouvez m’aider pour ça ?.

                                        Code:

                                          @SubscribeEvent
                                          public void onPlayerTickEvent(PlayerTickEvent event) {
                                        
                                          if(event.player.worldObj.getTotalWorldTime() % (900 * 20) == 0)
                                          {
                                          if(event.phase == TickEvent.Phase.END)
                                          {
                                          ExtendedEntityPropAlcool prop = ExtendedEntityPropAlcool.get(event.player);
                                               prop.setAlcool(prop.getAlcool() - 1);
                                        //faire un truc ici du genre if(prop.setAlcool(ETC j'ai essayer avec = 0 j'ai une érreur .. 
                                        }
                                          }
                                          }
                                        
                                        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

                                          if(prop.getAlcool() > 0)
                                          {
                                            prop.setAlcool(prop.getAlcool() - 1);
                                          }
                                          

                                          Rien de compliqué.

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

                                            Merci 🙂

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 6 / 7
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB