@RotorTV Je préviens juste que le système est TRÈS mal fait… (c’est pas ta faute si t’es débutant) C’est pas optimisé DU TOUT parce que ça passe d’abord par le système qui décrypte la commande, et la méthode avec l’évènement onRightClick je pense que tu l’as mis dans la classe principale, il ne faut pas faire ça, car ça va exécuter la méthode même si t’as pas cliqué sur TON bloc, donc problème d’FPS garanti. Donc mets cette méthode dans la classe de ton bloc, et comme ça tu pourras utiliser, comme il y aura plus le “static”, une méthode de tp directement sur l’entité joueur, ça sera plus opti et comme tu as mis la commande en “@p”, ça vas fonctionner même si le joueur qui a cliqué se trouve plus loin qu’un joueur qui a pas cliqué (ça fait pas ça avec le “@p”).
Je vais faire ton code, j’ai l’impression que t’es un peu maladroit… Sans vouloir te vexer hein, c’est pour t’aider ^^
Dans la classe de ton bloc :
@Override
public ActionResultType use(BlockState p_225533_1_, World p_225533_2_, BlockPos p_225533_3_, PlayerEntity p_225533_4_, Hand p_225533_5_,
BlockRayTraceResult p_225533_6_) {
p_225533_4_.changeDimension(); // J'ai jamais encore travaillé sur les dimensions
// mais tu devrais avoir un objet "ServerWorld" je pense, et mets-le là.
p_225533_4_.teleportTo(1, 100, 1);
return ActionResultType.SUCCESS;
}
C’est très simple. À l’avenir évite les coordonnées fixes, parce que lors de la génération de la dimension on ne sait pas où se trouvera un bon endroit ou apparaître, il faudrait éviter de se tp dans le vide ou de finir emmuré… Je ne sais pas comment calculer un spawn convenable, mais je te conseille de décortiquer CE MOD pour trouver comment faire.
À+
Krafty