MFF

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

    [1.12.2] Spawn / BedLocation Point en overworld

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.12.2
    1 Messages 1 Publieurs 197 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.
    • A Hors-ligne
      Altyrah
      dernière édition par

      Bonjour à tous 🙂

      Je viens vers vous car j’ai créé un objet avec lequel je souhaite, quand je la bois (c’est une potion ^^):

      • Si je n’ai pas encore de bedLocation, me ramener au spawn point de l’overworld (même si je suis dans une autre dimension)
      • Si j’ai bien un bedLocation dans l’overworld, me ramène à celui-ci. Si je n’ai le bedlocation est dans une autre dimension, j’arrive dans le spawn de l’overworld.

      Je n’arrive pas à téléporter le joueur dans le lit de l’overworld si celui-ci est dans une autre dimension, avez-vous une idée?

      Voici ma fonction pour le moment:

      
          /**
           * Quand on utilise l'objet
           */
          @Override
          public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) {
      
              // Pour que ça ne soit pris que du côté serveur
              if (!worldIn.isRemote) {
                  // Quelle est la position du lit du joueur?
                  BlockPos location = playerIn.getBedLocation();
                  /** Si on a un bedLocation */
                  if (location != null) {
                      // Si on est dans une dimension autre qu'overworld
                      if (playerIn.dimension != 0) {
                          System.out.println("dimension" + playerIn.dimension);
                          // Retour à la dimension Overworld classique 0
                          playerIn.changeDimension(0);
                      }
                      // TP du joueur à la position du lit
                      playerIn.setPositionAndUpdate(location.getX(), location.getY(), location.getZ());
                  }
                  /** Sinon on prend les coordonnées du lieu de spawn dans le monde de base*/
                  else {
                      // Si on est dans une dimension autre qu'overworld
                      if (playerIn.dimension != 0) {
                          playerIn.changeDimension(0);
                      }
      //                // TP du joueur
                      playerIn.setPositionAndUpdate(worldIn.getSpawnPoint().getX(), worldIn.getSpawnPoint().getY(), worldIn.getSpawnPoint().getZ());
                  }
              }
              /**  Suppression de l'objet de la main*/
              /* Si le joueur n'est pas en creative */
              if (!playerIn.capabilities.isCreativeMode) {
                  // Quel est l'itemStack dans la main du joueur?
                  ItemStack itemstack = playerIn.getHeldItem(handIn);
                  // Puis suppression d'un item après utilisation
                  itemstack.shrink(1);
              }
              return super.onItemRightClick(worldIn, playerIn, handIn);
          }
      

      Merci à vous !

      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