update 2025/10/12 upd2

update:
- teleport fix
- teleport new va (teleport <player> me)
This commit is contained in:
2025-10-12 19:12:22 +08:00
parent 42ed9e8bc9
commit da974f2238
4 changed files with 64 additions and 5 deletions

View File

@@ -21,9 +21,8 @@ public class HelpCommandExecutor implements CommandExecutor {
sender.sendMessage(ChatColor.GREEN + "/pvp - 开启/关闭 玩家伤害"); sender.sendMessage(ChatColor.GREEN + "/pvp - 开启/关闭 玩家伤害");
sender.sendMessage(ChatColor.GREEN + "/tag - 选择称号"); sender.sendMessage(ChatColor.GREEN + "/tag - 选择称号");
sender.sendMessage(ChatColor.GREEN + "/teleport <玩家名> - 玩家传送"); sender.sendMessage(ChatColor.GREEN + "/teleport <玩家名> - 玩家传送");
sender.sendMessage(ChatColor.GREEN + "/teleport <玩家名> me - 玩家传送");
sender.sendMessage(ChatColor.GREEN + "/report - 举报作弊玩家"); sender.sendMessage(ChatColor.GREEN + "/report - 举报作弊玩家");
sender.sendMessage(ChatColor.GREEN + "/tpacc <accept|deny> - 同意/拒绝玩家传送");
sender.sendMessage(ChatColor.GREEN + "/tpfin - 结束传送");
sender.sendMessage(ChatColor.YELLOW + "-----------------------------"); sender.sendMessage(ChatColor.YELLOW + "-----------------------------");
return true; return true;
} }

View File

@@ -28,7 +28,7 @@ public class TeleportCommandExecutor implements CommandExecutor {
sender.sendMessage(ChatColor.RED + "传送正在冷却,剩余: " + (4 - (System.currentTimeMillis() - plugin.lasttp.getOrDefault(sender, 0L)) / 1000 / 60) + "" + (60 - ((System.currentTimeMillis() - plugin.lasttp.getOrDefault(sender, 0L)) / 1000) % 60) + ""); sender.sendMessage(ChatColor.RED + "传送正在冷却,剩余: " + (4 - (System.currentTimeMillis() - plugin.lasttp.getOrDefault(sender, 0L)) / 1000 / 60) + "" + (60 - ((System.currentTimeMillis() - plugin.lasttp.getOrDefault(sender, 0L)) / 1000) % 60) + "");
return true; return true;
} }
if (args.length != 1) { if (args.length != 1 && args.length != 2) {
sender.sendMessage(ChatColor.RED + "参数错误!用法: /teleport <玩家名>"); sender.sendMessage(ChatColor.RED + "参数错误!用法: /teleport <玩家名>");
return true; return true;
} else { } else {
@@ -37,6 +37,38 @@ public class TeleportCommandExecutor implements CommandExecutor {
sender.sendMessage(ChatColor.RED + "该玩家不在线!"); sender.sendMessage(ChatColor.RED + "该玩家不在线!");
return true; return true;
} }
if (args[1].contains("me")){
playerto = Bukkit.getPlayer(args[0]);
if(plugin.teleport.getOrDefault(playerto, null) != null){
sender.sendMessage(ChatColor.RED + "对方已经发送了一个请求,请等待");
return true;
}if (plugin.Ateleport.getOrDefault(sender, null) != null) {
sender.sendMessage(ChatColor.RED + "你还有一个未处理的请求!");
return true;
}
sender.sendMessage(ChatColor.GREEN + "请求已发送");
playerto.sendMessage(ChatColor.GREEN + "玩家 " + sender.getName() + ChatColor.GREEN + " 向你发来传送请求,输入 /tpacc tome 同意这个请求或 /tpacc detome 来拒绝这个请求有效期2分钟。");
BaseComponent[] message = new ComponentBuilder(ChatColor.YELLOW + "玩家 " + sender.getName() + ChatColor.YELLOW + " 向你发来传送请求\n")
.append(new ComponentBuilder(ChatColor.GREEN + "[同意] ").event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/tpacc tome")).create())
.append(new ComponentBuilder(ChatColor.RED + "[拒绝]").event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/tpacc detome")).create())
.create();
playerto.spigot().sendMessage(message);
plugin.Ateleport.put((Player) sender, playerto);
plugin.teleport.put(playerto, (Player) sender);
new BukkitRunnable() {
@Override
public void run() {
if (plugin.teleportp.getOrDefault(playerto, null) == null)
playerto.sendMessage(ChatColor.RED + "玩家 " + sender.getName() + ChatColor.RED + " 的传送请求已过期");
if (plugin.teleportp.getOrDefault(playerto, null) == null)
sender.sendMessage(ChatColor.RED + "你向 " + playerto.getName() + ChatColor.RED + " 发送的传送请求已过期");
plugin.Ateleport.remove((Player) sender);
plugin.teleport.remove(playerto);
plugin.isteleport.remove(playerto);
}
}.runTaskLater(plugin, 40 * 60);
return true;
}
playerto = Bukkit.getPlayer(args[0]); playerto = Bukkit.getPlayer(args[0]);
if (plugin.teleport.getOrDefault((Player) sender, null) != null) { if (plugin.teleport.getOrDefault((Player) sender, null) != null) {
playerto.sendMessage(ChatColor.RED + "您已经向 " + plugin.teleport.get((Player) sender).getName() + ChatColor.RED + " 发送了一份请求"); playerto.sendMessage(ChatColor.RED + "您已经向 " + plugin.teleport.get((Player) sender).getName() + ChatColor.RED + " 发送了一份请求");

View File

@@ -48,6 +48,34 @@ public class TpAccCommandExecutor implements CommandExecutor {
plugin.isteleport.remove(plugin.Ateleport.get(sender)); plugin.isteleport.remove(plugin.Ateleport.get(sender));
plugin.Ateleport.remove(sender); plugin.Ateleport.remove(sender);
return true;
} else if (args[0].contains("tome")){
sender.sendMessage(ChatColor.GREEN + "传送成功!");
plugin.teleport.get(sender).sendMessage(ChatColor.GREEN + "传送成功!输入 /tpfin 回到原处该命令将会在5分钟后过期。");
plugin.teleportp.put(plugin.teleport.get(sender), plugin.teleport.get(sender).getLocation());
plugin.teleport.get(sender).teleport(((Player) sender).getLocation());
plugin.isteleport.put(plugin.teleport.get(sender), 1);
((Player)sender).teleport(plugin.Ateleport.get(sender));
new BukkitRunnable() {
@Override
public void run() {
if (plugin.isteleport.get(sender) != 1)
plugin.teleport.get(sender).sendMessage(ChatColor.RED + "返回命令已过期,你将无法返回原处!");
plugin.teleportp.remove(plugin.teleport.get(sender));
plugin.Ateleport.remove(plugin.teleport.get(sender));
plugin.isteleport.remove(plugin.teleport.get(sender));
plugin.teleport.remove(sender);
}
}.runTaskLater(plugin, 5 * 20 * 60);
return true;
}else if (args[0].contains("detome")){
sender.sendMessage(ChatColor.GREEN + "拒绝成功");
plugin.teleport.get(sender).sendMessage(ChatColor.GREEN + "您的传送请求被拒绝");
//plugin.teleportp.put(plugin.Ateleport.get(sender),plugin.Ateleport.get(sender).getLocation());
plugin.teleportp.remove(plugin.teleport.get(sender));
plugin.Ateleport.remove(plugin.teleport.get(sender));
plugin.isteleport.remove(plugin.teleport.get(sender));
plugin.teleport.remove(sender);
return true; return true;
}else { }else {
sender.sendMessage(ChatColor.RED + "参数错误,请输入 /tpacc accept 或 /tpacc deny"); sender.sendMessage(ChatColor.RED + "参数错误,请输入 /tpacc accept 或 /tpacc deny");

View File

@@ -52,7 +52,7 @@ public class JoinEvent implements Listener {
} }
} }
player.teleport(new Location(player.getWorld(),x,player.getWorld().getHighestBlockYAt(bx,bz),z)); player.teleport(new Location(player.getWorld(),x,player.getWorld().getHighestBlockYAt(bx,bz),z));
player.sendMessage(ChatColor.GREEN+"你好,欢迎!"); //player.sendMessage(ChatColor.GREEN+"你好,欢迎!");
player.getScoreboard().getObjective("logged").getScore(player).setScore(1); player.getScoreboard().getObjective("logged").getScore(player).setScore(1);
} }
e.setJoinMessage(e.getPlayer().getPlayerListName() + " 加入了 生存1区"); e.setJoinMessage(e.getPlayer().getPlayerListName() + " 加入了 生存1区");