DasHanfbauer Posted May 5, 2017 Share Posted May 5, 2017 Hey ich bin ein plugin am coden der eine Befehl soll einen cooldown haben aber jetzt zeigt eclipse einen Fehler an wie kann ich das beheben? Der problem Punkt ist fast ganz unten ich habe ihn beschriftet import java.util.HashMap; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; public class TestPlugin extends JavaPlugin { public static HashMap<String, Long> cooldowns = new HashMap<String, Long>(); public String prefix = "§4[RollmopsMC]§5"; public void onEnable() { initConfig(); System.out.println(prefix + " erfolgreich geladen!"); } public void onDisable() { System.out.println(prefix + " erfolgreich deaktiviert!"); } private void initConfig() { reloadConfig(); getConfig().addDefault("plugin.prefix", "§0[§4RollmopsMC§0] §5"); getConfig().options().copyDefaults(true); getConfig().addDefault("cooldown.Default.zeituebrig", 0); saveConfig(); prefix = getConfig().getString("plugin.prefix"); } public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("gruppeninfo")) { sender.sendMessage(prefix + " Mit /gruppen kannst du alle 30 tage deinen Beruf/Gruppe aendern. mehr infos dazu findest du im tutorialbuch (/tutorial)"); return true; } if (cmd.getName().equalsIgnoreCase("gruppen")) { if(sender instanceof Player) { int cooldownTime = 2592000; reloadConfig(); if(getConfig().get("cooldown." + sender.getName() + ".zeituebrig") == null) { getConfig().set("cooldown." + sender.getName() + ".zeituebrig", 0); saveConfig(); } cooldowns.put(sender.getName(), getConfig().get("cooldown." + sender.getName() + ".zeituebrig")); //hier ist das Problem if(cooldowns.containsKey(sender.getName())) { long secondsleft = ((cooldowns.get(sender.getName())/1000)+cooldownTime) - (System.currentTimeMillis()/1000); long daysleft = secondsleft / 86400; if(secondsleft>0) { sender.sendMessage(prefix + "Du kannst erst in "+ (daysleft+1) +"§5 Tagen wieder Gruppe wechseln!"); return true; } } cooldowns.put(sender.getName(), System.currentTimeMillis()); getConfig().set("cooldown." + sender.getName() + ".zeituebrig", System.currentTimeMillis()); saveConfig(); Player player = (Player) sender; player.sendMessage(prefix + " waehle deine Gruppe! §8 Achtung du kannst sie erst in 30 Tagen wieder wechseln"); player.teleport(new Location(Bukkit.getWorld("Spawn"), 3000, 70, 3000)); return true; } else { sender.sendMessage(prefix + "diesen Command koennen nur spieler ausfuehren"); return true; } } return false; } } Link to comment Share on other sites More sharing options...
Joey Posted May 5, 2017 Share Posted May 5, 2017 Welchen Fehler gibt dir Eclipse den aus? Eine Möglichkeit wäre, dass getConfig().get("cooldown." + sender.getName() + ".zeituebrig"); dir keinen Long zurück gibt, sondern irgendwas anderes. Versuch es mal mit getConfig().getLong("cooldown." + sender.getName() + ".zeituebrig")); Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now