• Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes
  • S'inscrire
  • Se connecter
  • S'inscrire
  • Se connecter
  • Recherche
  • Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes

Résolu Problème de lit

1.8.x
1.8
4
46
7.8k
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.
  • SCAREX
    SCAREX dernière édition par 1 juil. 2015, 16:03

    Euh en tout cas il est dans le package de fml.

    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
    • EmotionFox
      EmotionFox dernière édition par 1 juil. 2015, 16:18

      Alors du coup j’ai essayé ça :

      public class EmotionLifeEvent
      {
      @SubscribeEvent
      public void onLivingDeath(LivingDeathEvent e)
      {
      if(e.entityLiving instanceof EntityPlayer)
      {
      EntityPlayer player = (EntityPlayer)e.entityLiving;
      for(int i = 0; i < player.inventory.getSizeInventory(); i++)
      {
      if(player.inventory.getStackInSlot(i) != null && player.inventory.getStackInSlot(i).getItem() == EmotionItems.purpuraRing)
      {
      BlockPos pos = player.getPosition();
      player.getEntityData().setBoolean("ring", true);
      player.getEntityData().setInteger("posX", pos.getX());
      player.getEntityData().setInteger("posY", pos.getY());
      player.getEntityData().setInteger("posZ", pos.getZ());
      }
      }
      }
      }
      @SubscribeEvent
      public void onEntitySpawn(PlayerEvent.Clone e)
      {
      if(e.wasDeath)
      {
      EntityPlayer player = e.original;
      if(player.getEntityData().getBoolean("ring"))
      {
      e.entityPlayer.getEntityData().setBoolean("ring", player.getEntityData().getBoolean("ring"));
      e.entityPlayer.getEntityData().setInteger("posX", player.getEntityData().getInteger("posX"));
      e.entityPlayer.getEntityData().setInteger("posY", player.getEntityData().getInteger("posY"));
      e.entityPlayer.getEntityData().setInteger("posZ", player.getEntityData().getInteger("posZ"));
      }
      }
      }
      @SubscribeEvent
      public void onEntityWake(PlayerRespawnEvent e)
      {
      EntityPlayer player = e.player;
      if(player.getEntityData().getBoolean("ring"))
      {
      player.addPotionEffect(new PotionEffect(Potion.fireResistance.getId(), 800, 0, true, false));
      player.setPosition(player.getEntityData().getInteger("posX"), player.getEntityData().getInteger("posY"), player.getEntityData().getInteger("posZ"));
      }
      }
      }

      Mais le dernier événement “PlayerRespawnEvent” n’est pas appelé du tout je suppose donc qu’il s’enregistre avec :

      FMLCommonHandler.instance().bus().register();
      

      Et non pas :

      MinecraftForge.EVENT_BUS.register();
      

      Bref sinon c’est pas grave dans le pire des cas la bague ne fonctionnera que si le spawn point est indéfinie et puis tempi un.

      1 réponse Dernière réponse Répondre Citer 0
      • SCAREX
        SCAREX dernière édition par 1 juil. 2015, 16:24

        Il faut l’enregistrer avec FMLCommonHandler et faire attention à ne pas confondre les 2 classes qui s’appellent PlayerEvent.

        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
        • EmotionFox
          EmotionFox dernière édition par 1 juil. 2015, 16:30

          Ah bah c’est bon j’ai réglé le problème je m’apprêtais à laisser tomber mais au final j’ai créé juste une nouvelle classe :

          public class EmotionRespawnEvent
          {
          @SubscribeEvent
          public void onEntityWake(PlayerRespawnEvent e)
          {
          EntityPlayer player = e.player;
          System.out.print("PLAYER RESPAWNED AFTER BED !!!!!!");
          if(player.getEntityData().getBoolean("ring"))
          {
          player.addPotionEffect(new PotionEffect(Potion.fireResistance.getId(), 800, 0, true, false));
          player.setPosition(player.getEntityData().getInteger("posX"), player.getEntityData().getInteger("posY"), player.getEntityData().getInteger("posZ"));
          player.getEntityData().setBoolean("ring", false);
          }
          }
          }

          Que j’ai enregistré comme je l’ai dis avec :

          FMLCommonHandler.instance().bus().register();
          

          Et au final c’est enfin réglé, alleluia ! Bref merci à vous deux en tous cas, c’est vrai que j’ai du mal à comprendre pourquoi le post à était aussi long mais au final ça marche alors c’est pas grave.

          1 réponse Dernière réponse Répondre Citer 0
          • SCAREX
            SCAREX dernière édition par 1 juil. 2015, 16:32

            Tu peux utiliser la même classe.

            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
            • EmotionFox
              EmotionFox dernière édition par 1 juil. 2015, 16:35

              D’accord je pensais pas qu’on pouvais enregistrer deux fois la même classe avec deux méthodes différentes, merci encore t’es au top ,)

              1 réponse Dernière réponse Répondre Citer 0
              • 1
              • 2
              • 3
              • 3 / 3
              41 sur 46
              • Premier message
                41/46
                Dernier message
              Design by Woryk
              Contact / Mentions Légales

              MINECRAFT FORGE FRANCE © 2018

              Powered by NodeBB