Jump to content

Plugin Befehl cooldown


Empfohlene Beiträge

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 :D

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 zu diesem Kommentar
Auf anderen Seiten teilen

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 zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B