tpa 部分bug修复及异常输出
This commit is contained in:
parent
ef95751183
commit
9367ff81a3
|
@ -12,6 +12,8 @@ import org.bukkit.event.Listener;
|
|||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.time.Duration;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
|
@ -27,9 +29,18 @@ public final class Tp extends JavaPlugin implements Listener, CommandExecutor {
|
|||
public void onEnable() {
|
||||
// Plugin startup logic
|
||||
out.info("插件 tpa 启动成功");
|
||||
if (!getDataFolder().exists()){
|
||||
out.info("Creating "+ getDataFolder() +" main directory ");
|
||||
getDataFolder().mkdir();
|
||||
}
|
||||
saveDefaultConfig();
|
||||
config=getConfig();
|
||||
request=new HashMap<>();
|
||||
getServer().getPluginManager().registerEvents(this, this);
|
||||
this.saveDefaultConfig();
|
||||
config=this.getConfig();
|
||||
Objects.requireNonNull(getCommand("tpa")).setExecutor(this);
|
||||
Objects.requireNonNull(getCommand("tpaccept")).setExecutor(this);
|
||||
Objects.requireNonNull(getCommand("tpdeny")).setExecutor(this);
|
||||
Objects.requireNonNull(getCommand("back")).setExecutor(this);
|
||||
}
|
||||
@Override
|
||||
public void onDisable() {
|
||||
|
@ -50,8 +61,16 @@ public final class Tp extends JavaPlugin implements Listener, CommandExecutor {
|
|||
return playerObj;
|
||||
}
|
||||
|
||||
public static String getStackTrace(Throwable throwable){
|
||||
StringWriter sw = new StringWriter();
|
||||
try (PrintWriter pw = new PrintWriter(sw)) {
|
||||
throwable.printStackTrace(pw);
|
||||
return sw.toString();
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String label, String[] args){
|
||||
try {
|
||||
if (!(sender instanceof Player)) {
|
||||
out.warning("此命令是玩家命令");
|
||||
return false;
|
||||
|
@ -73,15 +92,14 @@ public final class Tp extends JavaPlugin implements Listener, CommandExecutor {
|
|||
}
|
||||
break;
|
||||
case "tpa":
|
||||
if(args==null||args[0]==null){
|
||||
if (args == null || args.length<1 || args[0] == null) {
|
||||
player.sendMessage("§4参数不正确,请输入 /tpa <玩家名>");
|
||||
return false;
|
||||
}
|
||||
if ((playerObj = cmdGetPlayer(player, args[0])) == null) {
|
||||
return false;
|
||||
}
|
||||
time=Duration.between(LocalDateTime.now(),request.get(player.getName()).dateTime).toMillis();
|
||||
if(request.get(player.getName())==null|| time>30000){
|
||||
if (request.get(player.getName()) == null || (time = Duration.between(LocalDateTime.now(), request.get(player.getName()).dateTime).toMillis()) > 30000) {
|
||||
request.put(player.getName(), new Request(player.getName(), args[0]));
|
||||
player.sendMessage("§2已发送传送请求");
|
||||
playerObj.sendMessage(player.getName() + "请求传送到你这里");
|
||||
|
@ -91,7 +109,7 @@ public final class Tp extends JavaPlugin implements Listener, CommandExecutor {
|
|||
}
|
||||
break;
|
||||
case "tpaccept":
|
||||
if(args!=null&&args[0]!=null){
|
||||
if (args != null && args.length>0 && args[0] != null) {
|
||||
if ((playerObj = cmdGetPlayer(player, args[0])) == null) {
|
||||
return false;
|
||||
}
|
||||
|
@ -127,7 +145,7 @@ public final class Tp extends JavaPlugin implements Listener, CommandExecutor {
|
|||
}
|
||||
break;
|
||||
case "tpdeny":
|
||||
if(args!=null&&args[0]!=null){
|
||||
if (args != null && args.length>0 && args[0] != null) {
|
||||
if ((playerObj = cmdGetPlayer(player, args[0])) == null) {
|
||||
return false;
|
||||
}
|
||||
|
@ -166,6 +184,9 @@ public final class Tp extends JavaPlugin implements Listener, CommandExecutor {
|
|||
player.sendMessage("未找到" + label + "命令");
|
||||
return false;
|
||||
}
|
||||
}catch (Exception e){
|
||||
out.warning(getStackTrace(e));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue