Afficher simplement ou regarde le joueur sous Sponge
Dans ce tuto on va voir comment récup la direction ou regarde un joueur sans se prendre la tête, car ça peut être très utile pour pas se perdre.
Perso avant, je faisais toute sorte de calcul pour faire la même chose et puis un jour j’ai découvert un truck super simple que je ne connaissais pas.
Donc c’est une méthode qui reçois en paramètre le joueur et renvoie la direction ou il regarde et c’est assez précis, car on à pas juste les 4 direction principal, mais aussi des « Nord Nord Ouest »…
Donc la méthode:
public static String getFacing(Player player) { return Direction.getClosest(player.getTransform().getRotationAsQuaternion().getDirection()).toString(); }
Comme c’est en Anglais, j’en ai fait une autre qui traduit:
public static String getFacingFr(Player player) { String getFacing = Players.getFacing(player); if(getFacing.equals("NORTH")) { return "Nord"; } else if(getFacing.equals("EAST")) { return "Est"; } else if(getFacing.equals("WEST")) { return "Ouest"; } else if(getFacing.equals("SOUTH")) { return "Sud"; } else if(getFacing.equals("NORTHEAST")) { return "Nord Est"; } else if(getFacing.equals("NORTHWEST")) { return "Nord Ouest"; } else if(getFacing.equals("SOUTHWEST")) { return "Sud Ouest"; } else if(getFacing.equals("SOUTHEAST")) { return "Sud Ouest"; } else if(getFacing.equals("NORTH_NORTHEAST")) { return "Nord Nord Est"; } else if(getFacing.equals("NORTH_NORTHWEST")) { return "Nord Nord Ouest"; } else if(getFacing.equals("EAST_NORTHEAST")) { return "Est Nord Est"; } else if(getFacing.equals("EAST_SOUTHEAST")) { return "Est Sud Est"; } else if(getFacing.equals("WEST_NORTHWEST")) { return "Ouest Nord Ouest"; } else if(getFacing.equals("WEST_SOUTHWEST")) { return "Ouest Sud Ouest"; } else if(getFacing.equals("SOUTH_SOUTHWEST")) { return "Sud Sud Ouest"; } else if(getFacing.equals("SOUTH_SOUTHEAST")) { return "Sud Sud Est"; } else { return ""; } }
C’est peut être pas parfait, mais ça fait ce que ça demande.
Ensuite, si vous avez suivit mon tuto précédent, pour moi la meilleur façon de l’afficher c’est comme ça:
player.sendMessage(ChatTypes.ACTION_BAR, Text.of(TextColors.YELLOW, Players.getFacingFr(player)));
Tous les codes sont testés et sont fonctionnels, si il arrive qu'un de ces codes ne fonctionne pas chez vous, merci de me le signaler.