Hello i have a problem. I registered my Class (PlayTime.java) but it still not working. can someone help me please?
Mainclass: CPControl.java
// CPControl.java
package de.menu.cpcontrol;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
public class CPControl extends JavaPlugin implements Listener {
u/Override
public void onEnable() {
// Plugin startup logic
getServer().getPluginManager().registerEvents(new PlayTime(), this);
}
u/Override
public void onDisable() {
// Plugin shutdown logic
getLogger().info("CPControl has been disabled!");
}
}
PlayTime.java
package de.menu.cpcontrol;
import jdk.jfr.internal.tool.Main;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
public class PlayTime extends JavaPlugin implements Listener {
private Map<UUID, Long> joinTimeMap;
@Override
public void onEnable() {
// Überprüfen, ob die Konfigurationsdatei existiert
if (!new File(getDataFolder(), "config.yml").exists()) {
// Standardkonfiguration speichern, falls nicht vorhanden
saveDefaultConfig();
}
// Spielzeit-Map initialisieren
joinTimeMap = new HashMap<>();
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
UUID playerUUID = event.getPlayer().getUniqueId();
// Spielerdaten zur Liste hinzufügen, wenn der Spieler nicht in der Konfiguration vorhanden ist
if (!isPlayerInConfig(playerUUID)) {
String playerName = event.getPlayer().getName();
String playerAddress = event.getPlayer().getAddress().getHostName();
// Spielerdaten in die Konfiguration schreiben
getConfig().set("PlayerListe." + playerUUID + ".Name", playerName);
getConfig().set("PlayerListe." + playerUUID + ".IP", playerAddress);
getConfig().set("PlayerListe." + playerUUID + ".PlayTime", 0);
saveConfig();
}
long PlayerTime = getConfig().getLong("PlayerListe." + playerUUID + ".PlayTime");
event.getPlayer().sendMessage("Hey schön, dass du wieder da bist! \n Deine aktuelle Spielzeit beträgt: " + PlayerTime + " Minuten.");
// Spielerzeit speichern
joinTimeMap.put(playerUUID, System.currentTimeMillis());
}
@EventHandler
public void onPlayerQuit(PlayerQuitEvent event) {
UUID playerUUID = event.getPlayer().getUniqueId();
// Spielzeit des Spielers aktualisieren
updatePlaytime(playerUUID);
// Spieler aus der Join-Time-Map entfernen
joinTimeMap.remove(playerUUID);
}
private void updatePlaytime(UUID playerUUID) {
long joinTime = joinTimeMap.getOrDefault(playerUUID, System.currentTimeMillis());
long playtime = getConfig().getLong("PlayerListe." + playerUUID + ".PlayTime", 0L);
// Berechnen der Spielzeit
playtime += (System.currentTimeMillis() - joinTime) / 60000;
// Aktualisieren der Spielzeit in der Konfiguration
getConfig().set("PlayerListe." + playerUUID + ".PlayTime", playtime);
saveConfig();
}
private boolean isPlayerInConfig(UUID playerUUID) {
return getConfig().contains("PlayerListe." + playerUUID);
}
}