xXSchrandXx
Schafhirte
Hi, ich schreibe zurzeit an einem Neustart Kommando, jedoch weiß ich nicht was ich in diesem Code falsch mache, (in Spigot funktioniert es mit dem Bukkitscheduler):
Code:
int timer;
ScheduledTask task;
@SuppressWarnings("deprecation")
public void execute(CommandSender sender, String[] args) {
// if (sender.hasPermission("plugin.command.neustart")) {
if (task == null){
if (args.length == 1){
if (!args[0].isEmpty()){
if (main.isInt(args[0])){
if (Integer.parseInt(args[0]) != 0){
timer = Integer.parseInt(args[0]);
task = ProxyServer.getInstance().getScheduler().schedule(main.getInstance(), new Runnable() {
@Override
public void run() {
if (timer == 0){
ProxyServer.getInstance().getPluginManager().dispatchCommand(ProxyServer.getInstance().getConsole(), "end");
ProcessBuilder pb = new ProcessBuilder("./start.sh");
try {
pb.start();
} catch (IOException e) {
e.printStackTrace();
}
task.cancel();
}
else {
ProxyServer.getInstance().broadcast(main.Loop(main.Prefix + "Der Proxyserver startet in &e" + timer + "&7 Sekunden neu!"));
timer = timer - 1;
}
}
}, 1L, TimeUnit.SECONDS);
sender.sendMessage(main.Loop(main.Prefix + "Countdown wurde gestartet!"));
return;
}
}
sender.sendMessage(main.Loop(main.Prefix + "Erste Argument muss eine Zahl sein!"));
return;
}
}
sender.sendMessage(main.Loop(main.Prefix + "Benutzung: &c/bend <Zahl>"));
return;
}
if (task != null){
if (args.length == 1){
if (args[0].equalsIgnoreCase("stop")){
task.cancel();
}
}
}
sender.sendMessage(main.Loop(main.Prefix + "Es laeuft schon ein Coutndown!"));
// }
// else {
// sender.sendMessage(main.Loop(main.rechte));
// }
return;
}
Code:
[WARNING] Error in dispatching command
java.lang.NullPointerException: owner
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:787)
at net.md_5.bungee.scheduler.BungeeScheduler.schedule(BungeeScheduler.java:91)
at net.md_5.bungee.scheduler.BungeeScheduler.schedule(BungeeScheduler.java:85)
at iforce.bungee.cmds.bend.execute(bend.java:28)
at net.md_5.bungee.api.plugin.PluginManager.dispatchCommand(PluginManager.java:169)
at net.md_5.bungee.api.plugin.PluginManager.dispatchCommand(PluginManager.java:116)
at net.md_5.bungee.connection.UpstreamBridge.handle(UpstreamBridge.java:140)
at net.md_5.bungee.protocol.packet.Chat.handle(Chat.java:50)
at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935)
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:797)
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:748)