diff --git a/src/main/java/org/xgqy/survival/event/JoinEvent.java b/src/main/java/org/xgqy/survival/event/JoinEvent.java index 1761c06..2a6a041 100644 --- a/src/main/java/org/xgqy/survival/event/JoinEvent.java +++ b/src/main/java/org/xgqy/survival/event/JoinEvent.java @@ -1,6 +1,9 @@ package org.xgqy.survival.event; import org.bukkit.ChatColor; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; @@ -27,6 +30,30 @@ public class JoinEvent implements Listener { if (!tags.isEmpty()) e.getPlayer().sendMessage(ChatColor.RED + "你还没有选择任何称号!已自动设置为第一个称号。可输入 /tag 进行切换"); } + Player player = e.getPlayer(); + if(player.getScoreboard().getObjective("logged").getScore(player).getScore() == 0){ + double x = Math.random() * 10000; + double z = Math.random() * 10000; + int bx = (int) x, bz = (int) z; + while(true) { + if((x <= 150 && x >= -100) || (z <= 150 && z >= -180)){ + x = Math.random() * 10000; + z = Math.random() * 10000; + bx = (int) x; + bz = (int) z; + }else if(player.getWorld().getHighestBlockAt(bx,bz).getType() != Material.WATER && + player.getWorld().getHighestBlockAt(bx,bz).getType() != Material.LAVA){ + x = Math.random() * 10000; + z = Math.random() * 10000; + bx = (int) x; + bz = (int) z; + }else{ + break; + } + } + player.teleport(new Location(player.getWorld(),x,player.getWorld().getHighestBlockYAt(bx,bz),z)); + player.getScoreboard().getObjective("logged").getScore(player).setScore(1); + } e.setJoinMessage(e.getPlayer().getPlayerListName() + " 加入了 生存1区"); e.getPlayer().sendMessage(ChatColor.YELLOW + "欢迎来到 星阁钱语 生存服!"); e.getPlayer().sendMessage(ChatColor.YELLOW + "你可以输入 /help 来查看帮助");