Ich weiß, 4 Jahre zu spät. Falls trotzdem jemand diese Frage beantwortet haben möchte:
Das würde ich mit einer File Config machen, wo du die Spawnpoints setzt.
Also einen Command programmieren, der die Spawnpoints setzt.
Würde so aussehen:
public void setspawn (Player p ) { Location l = p. getLocation ( ) ; String worldname = l. getWorld ( ). getName ( ) ; getConfig ( ). set ( "worlds." +worldname + ".x", l. getX ( ) ) ; getConfig ( ). set ( "worlds." +worldname + ".y", l. getY ( ) ) ; getConfig ( ). set ( "worlds." +worldname + ".z", l. getZ ( ) ) ; getConfig ( ). set ( "worlds." +worldname + ".pitch", l. getPitch ( ) ) ; getConfig ( ). set ( "worlds." +worldname + ".yaw", l. getYaw ( ) ) ; p. sendMessage ( "Spawn set" ) ; } public Location getPlayerSpawn (Player p ) { String worldname = p. getWorld ( ). getName ( ) ; Double x = getConfig ( ). getDouble ( "worlds." +worldname + ".x", l. getX ( ) ) ; Double y = getConfig ( ). getDouble ( "worlds." +worldname + ".y", l. getY ( ) ) ; Double z = getConfig ( ). getDouble ( "worlds." +worldname + ".z", l. getZ ( ) ) ; Float pitch = getConfig ( ). getFloat ( "worlds." +worldname + ".pitch", l. getPitch ( ) ) ; Float yaw = getConfig ( ). getFloat ( "worlds." +worldname + ".yaw", l. getYaw ( ) ) ; if (x == null || y == null || z == null || pitch == null || yaw == null ) { return null ; } else { return new Location (p. getWorld ( ), x, y, z, yaw, pitch ) ; } } @EventHandler public void onRespawn (PlayerRespawnEvent event ) { event. setRespawnPosition (getPlayerSpawn (event. getPlayer ( ) ) ) ; }