Non résolu [1.12.2] Spawn / BedLocation Point en overworld
-
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 !