cooldown in command?
Hallo ich möchte das mann wenn mann denn command /feed eingibt einen cooldown von z.b. 5 minuten bekommt das heißt das mann nur alle 5 minuten /feed machen kann wie ist das möglich hier meine classe
package de.MysticMC.commands;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import de.liquid.core.GameCore;
import de.liquid.core.group.Groups;
import de.liquid.core.profile.PlayerProfile;
public class FeedCommand implements CommandExecutor {
public boolean onCommand(CommandSender sender, Command cmd, String feed, String[] args) {
Player p = (Player)sender;
if(PlayerProfile.hasHigherRank(p.getUniqueId(), Groups.PREMIUM)){
p.setFoodLevel(20);
if(cmd.getName().equalsIgnoreCase("feed")) {
if(p instanceof Player) {
if(args.length == 0) {
p.sendMessage(GameCore.getCore().getPrefix() + "§7Dein §2Hunger §7wurde Gestillt");
}else{
p.sendMessage(GameCore.getCore().getPrefix() +"§cNutze: §b/feed");
}
}else{
sender.sendMessage(GameCore.getCore().getPrefix() +"§cDu musst ein Spieler sein!");
}
}
}else{
p.sendMessage("");
p.sendMessage(GameCore.getCore().getPrefix() + "§7Du benötigst minimum §6Premium §7Um /feed Nutzen zu können!");
p.sendMessage("");
p.sendMessage("§7Hier kommst du zu unserem shop: §ehttp://shop.mysticmc.de");
p.sendMessage("");
}
return false;
}
}
2 Antworten
Hallo xCalledleon,
ich würde es mal mit einer HashMap probieren, als Key verwendest du die Spieler UUID und als Wert die aktuelle Systemzeit.
System.currentTimeMillis()So bekommst du die Zeit in Milisekunden vom 1.1.1970 bis heute, diese abgespeicherte Zeit aus deiner HashMap vergleichst du dann mit der aktuellen Zeit, ist der Milisekunden Unterschied größer gleich 5 Minuten dann führst den Befehl aus ansonsten gibts du eine Fehlermeldung aus.
Mit myHashMap.get(player.getUniqueId()) bekommst du die abgespeicherte Zeit aus der HashMap.
Mit myHashMap.put(player.getUniqueId(), System.currentTimeMillis())kannst du die Zeit in die HashMap speichern.
Mfg
TOminerTV
Schon mal mit nem Scheduler versucht?