-
net.minecraft.world.Teleporter.placeInExistingPortal(Teleporter.java:136)ok en fait la je crois que il cherche un portail dans la dimension mais il en trouve pas donc je pense que tu te trompe juste de méthode à utiliser -
faut pas utiliser ça parce que c’est assez spécifique à minecraft, fais juste
player.dimension = 25 -
@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
-
@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) -
Effectivement après quelque recherche player.changeDimension s’attend à la présence d’un portail.
Il faut utiliser la fonction transferPlayerToDimension de la classe PlayerList.
-
@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 -
@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); } } } -
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
-
@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!
-
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?
-
C’est pasplayerIn.getBedSpawnLocation()?PS : oui mais avec bukkit

-
Ce message a été supprimé ! -
@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 -
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);