• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

völlig andere timestamps

Y

yoshicrafter

Guest
Hallo,
ich bin gerade dabei ein Bann Plugin zu programmieren.
Also ich habe schon den /ban Befehl gemacht, der so funktioniert:
/BAN NAME "ZEIT IN SEKUNDEN (noch)" GRUND
Der trägt das dann in eine config.yml ein.
Aber beim /ban Yoshicalter 123 Hacking (zum beispiel)
trägt der in die Config als Timestamp (jetziger Timestamp PLUS die 123 sekunden) 1497635950963 ein und paar Sekunden später mach ich das noch mal und dann trägt der 1497635958157 ein.
Da kann etwas nicht stimmen, da die Timestamp VÖLLIG anders sind und nicht nur ein paar Sekunden, wie es eigentlich sein sollte
Code:
Code:
package de.geheim.bans;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener {
    public static PluginManager pm = Bukkit.getPluginManager();
  
    @Override
    public void onEnable() {
        this.saveConfig();
        pm.registerEvents(this, this);
        System.out.println("[Yoshi] Das Plugin YoshiBans wurde erfolgreich aktiviert");
    }
  
    @Override
    public void onDisable() {
        System.out.println("[Yoshi] Das Plugin YoshiBans wurde erfolgreich deaktiviert");
    }
  
    @SuppressWarnings("deprecation")
    @Override
    public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args) {
        
        if(cmd.getName().equalsIgnoreCase("ban")) {
            if (sender.hasPermission("yoshicraft.ban")) {
                if(args.length == 3) {
                    this.getConfig().set("bans." + Bukkit.getOfflinePlayer(args[0]).getUniqueId() + ".banned", true);
                    this.getConfig().set("bans." + Bukkit.getOfflinePlayer(args[0]).getUniqueId() + ".reason", args[2]);
                    this.getConfig().set("bans." + Bukkit.getOfflinePlayer(args[0]).getUniqueId() + ".time", Long.valueOf(args[1]) + System.currentTimeMillis());
                    this.getConfig().set("bans." + Bukkit.getOfflinePlayer(args[0]).getUniqueId() + ".who", sender.getName());
                    this.saveConfig();
                } else {
                    sender.sendMessage("§9[§aYoshi§9]§r /ban SPIELER ZEIT GRUND");
                }
            } else {
                sender.sendMessage("§9[§aYoshi§9]§r Du hast keine Berechtigung dafür");
            }
            return true;
        }
        
        return false;
    }
  
    @EventHandler
    public void Join(PlayerLoginEvent e) {
        if(getConfig().getBoolean("bans." + e.getPlayer().getUniqueId() + ".banned") == true) {
            if(getConfig().getLong("bans." + e.getPlayer().getUniqueId() + ".time") < System.currentTimeMillis()) {
                e.disallow(null, "§eDu wurdest von §aYoshicraft §egebannt\n§9Wieso: §aBLABAL\n§9Wer: §aUIHGZHBJ\n§9Verbleibende Zeit: §aGVHZBT\n§eDu kannst auf §ahttp://ZENSIERT.de/ einen Entbannungsantrag stellen");
            }
        } else {
            e.allow();
        }

    }
}
 
Zuletzt bearbeitet von einem Moderator:
Y

yoshicrafter

Guest
dann habe ich noch ein Problem und zwar wenn ich essentials auch drauf hab, geht dort das PlayerLoginEvent nicht, sagt mir die Konsole:
Code:
[20:10:44 ERROR]: Could not pass event PlayerLoginEvent to Essentials vTeamCity
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at net.minecraft.server.v1_11_R1.PlayerList.attemptLogin(PlayerList.java:502) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at net.minecraft.server.v1_11_R1.LoginListener.b(LoginListener.java:121) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at net.minecraft.server.v1_11_R1.LoginListener.F_(LoginListener.java:57) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at net.minecraft.server.v1_11_R1.NetworkManager.a(NetworkManager.java:233) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at net.minecraft.server.v1_11_R1.ServerConnection.c(ServerConnection.java:140) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:842) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [lobby.jar:git-Spigot-3fb9445-6e3cec8]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_131]
Caused by: java.lang.NullPointerException
        at com.earth2me.essentials.EssentialsPlayerListener.onPlayerLogin(EssentialsPlayerListener.java:379) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_131]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[lobby.jar:git-Spigot-3fb9445-6e3cec8]
        ... 13 more
[20:10:44 INFO]: Disconnecting com.mojang.authlib.GameProfile@2edab282[id=a07eb465-9993-3909-a679-e1040426e088,name=Yoshicalter,properties={},legacy=false] (/127.0.0.1:53066):
ºeDu wurdest von ºaYoshicraft ºegebannt
º9Wieso: ºaBLABAL
º9Wer: ºaUIHGZHBJ
º9Verbleibende Zeit: ºaGVHZBT
ºeDu kannst auf ºahttp://geheim.de/ einen Entbannungsantrag stellen
[20:10:44 INFO]: com.mojang.authlib.GameProfile@2edab282[id=a07eb465-9993-3909-a679-e1040426e088,name=Yoshicalter,properties={},legacy=false] (/127.0.0.1:53066) lost connection:
ºeDu wurdest von ºaYoshicraft ºegebannt
º9Wieso: ºaBLABAL
º9Wer: ºaUIHGZHBJ
º9Verbleibende Zeit: ºaGVHZBT
ºeDu kannst auf ºahttp://geheim.de/ einen Entbannungsantrag stellen
 
Y

yoshicrafter

Guest
ok das problem mit essentials hab ich behoben, indem ich die event priorität auf das höchste gesetzt habe, aber wird das event von essentials trozdem noch ausgeführt, oder wird das von essentials ignoriert?
mein event ist auf HIGHEST
und das von essentials auf HIGH
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
System.currentTimeMillis() liefert die Zeit im Millisekunden. Entsprechend musst du bei deinem Befehl die Zeitspanne auch in Millisekunden angeben oder umrechnen. Also z.B. mittels TimeUnit.SECONDS.toMillis(Long.parseLong(args[1]))
 
Oben