MFF

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

    Quand un item d'armure est équipé, il téléporte vers une dimension

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    23 Messages 4 Publieurs 1.5k 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.
    • En0ri4nE Hors-ligne
      En0ri4n
      dernière édition par

      faut pas utiliser ça parce que c’est assez spécifique à minecraft, fais juste player.dimension = 25

      Le java c'est comme une boîte de chocolat, on sait jamais sur quoi on va tomber !

      BlueZikSB 1 réponse Dernière réponse Répondre Citer 1
      • BlueZikSB Hors-ligne
        BlueZikS @DailyCraft
        dernière édition par

        @DailyCraft Merci! Je devrais créer un bloc portail ou alors essayer une autre méthode même si j’en vois pas personnellement malgré beaucoup de recherches

        1 réponse Dernière réponse Répondre Citer 0
        • BlueZikSB Hors-ligne
          BlueZikS @En0ri4n
          dernière édition par

          @Eno_gamer10 a dit dans Quand un item d'armure est équipé, il téléporte vers une dimension :

          player.dimension = 25

          Merci de l’aide, je viens de faire le test et quand j’équipe l’armure il ne se passe rien 😕 néanmoins dans la console il se passe tout de même quelque chose :
          [22:43:19] [Server thread/INFO] [FML]: Loading dimension 25 (New World) (net.minecraft.server.integrated.IntegratedServer@7ab11cdb)

          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

            Effectivement après quelque recherche player.changeDimension s’attend à la présence d’un portail.

            https://www.minecraftforge.net/forum/topic/60500-112-how-to-change-dimensions-without-creating-a-portal/?tab=comments#comment-282199

            Il faut utiliser la fonction transferPlayerToDimension de la classe PlayerList.

            BlueZikSB 2 réponses Dernière réponse Répondre Citer 2
            • BlueZikSB Hors-ligne
              BlueZikS @robin4002
              dernière édition par BlueZikS

              @robin4002 Merci de ta réponse, si j’ai bien compris je dois créer un bloc téléporteur puis utiliser cette fonction?
              EDIT : Ah non enfaite j’ai peut être pas besoin du bloc téléporteur

              1 réponse Dernière réponse Répondre Citer 1
              • BlueZikSB Hors-ligne
                BlueZikS @robin4002
                dernière édition par

                @robin4002 Malgré de nombreux essais je reste toujours bloqué je ne sais pas quoi faire /:
                Je suis parvenu a ça : (0 90 0 sont les cordonnées ou le personnage est tp mais j’aimerais qu’ils sois tp au spawn point)
                j’aimerais également que l’item se casse des que le joueur est tp car je crois qu’il est tp à l’infini

                	@Override
                	public void onArmorTick(World worldIn, EntityPlayer playerIn, ItemStack itemStack) 
                	{	
                		if(playerIn.inventory.armorItemInSlot(3).getItem() == ItemInit.NERVE_GEAR_SAO)
                		{
                			if (!worldIn.isRemote) 
                			{
                				((EntityLivingBase)playerIn).addPotionEffect(new PotionEffect(MobEffects.HEALTH_BOOST, 100, 2));
                				Teleport.teleportToDimension((EntityPlayer)playerIn, 25, 0, 90, 0);
                				playerIn.setPositionAndUpdate(x, y, z);
                				
                			}
                		}
                	}
                
                1 réponse Dernière réponse Répondre Citer 0
                • DailyCraftD Hors-ligne
                  DailyCraft
                  dernière édition par DailyCraft

                  Non, il est pas tp à l’infini car tu vérifie si avant de le tp, il n’est pas déjà dans la dimension

                  PS : que tu as enlever, donc j’ai rien dit

                  Mes créations :

                  Mod en cours de développement : Personal Robot (1.15.2)

                  Datapacks : DailyCraft's Craft (beta)

                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

                  BlueZikSB 1 réponse Dernière réponse Répondre Citer 1
                  • BlueZikSB Hors-ligne
                    BlueZikS @DailyCraft
                    dernière édition par BlueZikS

                    @DailyCraft Ouais exact, je viens de le remettre d’ailleurs, j’en suis à ça :

                    	@Override
                    	public void onArmorTick(World worldIn, EntityPlayer playerIn, ItemStack itemStack) 
                    	{	
                    		if(playerIn.inventory.armorItemInSlot(3).getItem() == ItemInit.NERVE_GEAR_SAO)
                    		{
                    			if (!worldIn.isRemote) 
                    			{
                    				if(playerIn.dimension != 25) 
                    				{	
                    					((EntityLivingBase)playerIn).addPotionEffect(new PotionEffect(MobEffects.HEALTH_BOOST, 100, 2));
                    					Teleport.teleportToDimension((EntityPlayer)playerIn, 25, 0, 90, 0);
                    					playerIn.setPositionAndUpdate(x, y, z);
                    				}
                    			}
                    		}
                    	}
                    }
                    

                    Je suis bel et bien téléporté dans la dimension sans problème! Il me reste juste 2 problèmes mineurs : j’aimerais que l’on soit tp au spawn point de la dimension et non en 0 ; 0 et j’aimerais si cela est possible que quand j’arrives dans la dimension, le casque soit détruit donc je poursuis mes recherches, Merci beaucoup de l’aide que vous m’apportez!

                    1 réponse Dernière réponse Répondre Citer 0
                    • BlueZikSB Hors-ligne
                      BlueZikS
                      dernière édition par robin4002

                      Update : Je viens de faire ça :

                      	@Override
                      	public void onArmorTick(World worldIn, EntityPlayer playerIn, ItemStack itemStack) 
                      	{	
                      		if(playerIn.inventory.armorItemInSlot(3).getItem() == ItemInit.NERVE_GEAR_SAO)
                      		{
                      			float x = worldIn.getSpawnPoint().getX();
                      			float y = worldIn.getSpawnPoint().getY();
                      			float z = worldIn.getSpawnPoint().getZ();
                      			if (!worldIn.isRemote) 
                      			{
                      				if(playerIn.dimension != 25) 
                      				{	
                      					((EntityLivingBase)playerIn).addPotionEffect(new PotionEffect(MobEffects.HEALTH_BOOST, 100, 2));
                      					Teleport.teleportToDimension((EntityPlayer)playerIn, 25, x, y, z);
                      					playerIn.setPositionAndUpdate(x, y, z);
                      				}
                      			}
                      		}
                      	}
                      }
                      

                      J’ai essayé avec l’overworld pour voir, le spawn point de ma map était : -95 70 221 mais en équipant le casque j’arrive assez proche mais pas aux coordonnées identiques : -100 64 224 que faire svpl?

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

                        C’est pas playerIn.getBedSpawnLocation() ?

                        PS : oui mais avec bukkit 😕

                        Mes créations :

                        Mod en cours de développement : Personal Robot (1.15.2)

                        Datapacks : DailyCraft's Craft (beta)

                        Je suis un membre apprécié et joueur, j'ai déjà obtenu 2 point(s) de réputation.

                        BlueZikSB 1 réponse Dernière réponse Répondre Citer 1
                        • BlueZikSB Hors-ligne
                          BlueZikS @DailyCraft
                          dernière édition par

                          Ce message a été supprimé !
                          1 réponse Dernière réponse Répondre Citer 0
                          • BlueZikSB Hors-ligne
                            BlueZikS
                            dernière édition par

                            @BlueZikSè a dit dans Quand un item d'armure est équipé, il téléporte vers une dimension :

                            @DailyCraft j’ai fais .getSpawnPoint() c’est incorrect? j’ai juste le problème que je suis décalé de quelques bloc, c’est peu embêtant car le problème était que je suffoquais en arrivant mais j’ai ajouté +10 bloc au Y et ça semble fonctionner, me reste juste 1 seul problème
                            @DailyCraft j’ai fais .getSpawnPoint() c’est incorrect? j’ai juste le problème que je suis décalé de quelques bloc, c’est peu embêtant car le problème était que je suffoquais en arrivant mais j’ai ajouté +10 bloc au Y et ça semble fonctionner, me reste juste 1 seul problème qui est de détruire le casque lorsque l’on est tp dans la dimension

                            BlueZikSB 1 réponse Dernière réponse Répondre Citer 0
                            • BlueZikSB Hors-ligne
                              BlueZikS @BlueZikS
                              dernière édition par

                              C’est bon j’ai enfin trouvé! 😄 Merci à tous pour vôtre aide!

                              Voici les deux fonctions qui m’ont aidés a résoudre le problème : la première qui retire l’item présent au slot 39 (le casque) et la deuxième qui me téléporte dans la dimension que j’ai mis (25 en l’occurence)
                              ((EntityPlayer) playerIn).inventory.setInventorySlotContents(39, ItemStack.EMPTY);
                              Teleport.teleportToDimension((EntityPlayer)playerIn, 25, x, y, z);

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

                              MINECRAFT FORGE FRANCE © 2024

                              Powered by NodeBB