MFF

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

    Modifier le loot d'un mob existant

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    5 Messages 4 Publieurs 568 Vues 4 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.
    • Arca30A Hors-ligne
      Arca30
      dernière édition par

      J’ai réussi a ajouter un loot à la chauve souris petit soucis quand je tue la chauve souris l’item drop en double et un des drop est comme un faux item…
      Impossible de le ramasser, ou le mettre dans un hopper… Il disparaît quand je relance la map.
      Voici mon code:

      	@SubscribeEvent
      	public void onEntityKilled1(LivingDeathEvent event)
      	{
      		if(event.getEntityLiving() instanceof EntityBat)
      		{
      			event.getEntityLiving().dropItem(ItemsMod.findium, 1);
      		}
      	}
      

      Merci d’avoir pris le temps de lire en espérant que vous ayez une solution.

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

        @Twiguinou a dit dans Modifier le loot d'un mob existant :

        Certaines méthodes doivent être appelées sur le bon tick pour éviter des problèmes comme celui que tu rencontres, ajoute cette condition avant l’exécution de tes instructions:

        if(!event.getEntity.world.isRemote) {
            // Et là tu peux drop ton item
        }
        

        Le code est le bon mais pas l’explication.
        L’event est appelé deux fois, une fois sur le world client (qui gère le rendu) et une fois sur le world serveur (qui gère la logique).

        Le spawn ne doit être que fait sur le world serveur, qui va déjà notifier le client de l’apparition de l’item afin que le world client l’affiche.
        Si le spawn de l’entité est fait sur les deux world, il sera en réalité fait 2 fois sur le monde client, une entité item qui sera bien lié à la logique et une fantome.

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

          Certaines méthodes doivent être appelées sur le bon tick pour éviter des problèmes comme celui que tu rencontres, ajoute cette condition avant l’exécution de tes instructions:

          if(!event.getEntity.world.isRemote) {
              // Et là tu peux drop ton item
          }
          
          robin4002R 1 réponse Dernière réponse Répondre Citer 1
          • P Hors-ligne
            PlagueZ
            dernière édition par PlagueZ

            @Arca30 a dit dans Modifier le loot d'un mob existant :

            @SubscribeEvent

            @Twiguinou Plus rapide que moi xD

            “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

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

              @Twiguinou a dit dans Modifier le loot d'un mob existant :

              Certaines méthodes doivent être appelées sur le bon tick pour éviter des problèmes comme celui que tu rencontres, ajoute cette condition avant l’exécution de tes instructions:

              if(!event.getEntity.world.isRemote) {
                  // Et là tu peux drop ton item
              }
              

              Le code est le bon mais pas l’explication.
              L’event est appelé deux fois, une fois sur le world client (qui gère le rendu) et une fois sur le world serveur (qui gère la logique).

              Le spawn ne doit être que fait sur le world serveur, qui va déjà notifier le client de l’apparition de l’item afin que le world client l’affiche.
              Si le spawn de l’entité est fait sur les deux world, il sera en réalité fait 2 fois sur le monde client, une entité item qui sera bien lié à la logique et une fantome.

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

                Ben j’ai rajouté ça

                if(!event.getEntity().world.isRemote) 
                

                et ça fonctionne donc merci

                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