Upload folder via GUI - src
This commit is contained in:
@@ -527,7 +527,13 @@ public class NexusLobby extends JavaPlugin implements Listener {
|
||||
if (params.equalsIgnoreCase("build_mode")) return BuildCommand.isInBuildMode(player) ? "§aAktiv" : "§cInaktiv";
|
||||
if (params.equalsIgnoreCase("silent_join")) return silentPlayers.contains(player.getUniqueId()) ? "§aEin" : "§cAus";
|
||||
if (params.equalsIgnoreCase("parkour_top")) {
|
||||
return parkourManager != null ? parkourManager.getTopTen() : "N/A";
|
||||
return parkourManager != null ? parkourManager.getTopTen(1) : "N/A";
|
||||
}
|
||||
if (params.equalsIgnoreCase("parkour_top1")) {
|
||||
return parkourManager != null ? parkourManager.getTopTen(1) : "N/A";
|
||||
}
|
||||
if (params.equalsIgnoreCase("parkour_top2")) {
|
||||
return parkourManager != null ? parkourManager.getTopTen(2) : "N/A";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -324,14 +324,16 @@ public class ParkourManager {
|
||||
// Bestzeiten
|
||||
// ─────────────────────────────────────────────────────────────────────────
|
||||
|
||||
|
||||
private void saveBestTime(Player player, double time) {
|
||||
String path = "besttimes." + player.getUniqueId();
|
||||
int track = activeTrack.getOrDefault(player.getUniqueId(), 1);
|
||||
String path = "besttimes." + track + "." + player.getUniqueId();
|
||||
double currentTime = config.getDouble(path, 99999.9);
|
||||
if (time < currentTime) {
|
||||
config.set(path, time);
|
||||
config.set("names." + player.getUniqueId(), player.getName());
|
||||
config.set("names." + track + "." + player.getUniqueId(), player.getName());
|
||||
save();
|
||||
player.sendMessage("§8[§6Parkour§8] §6§lNeuer Rekord! §7Du hast dich verbessert.");
|
||||
player.sendMessage("§8[§6Parkour§8] §6§lNeuer Rekord auf Strecke " + track + "! §7Du hast dich verbessert.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -340,19 +342,22 @@ public class ParkourManager {
|
||||
* Die Strecken-Konfiguration (tracks) bleibt vollständig erhalten.
|
||||
* Wird durch "/nexus parkour clear" aufgerufen.
|
||||
*/
|
||||
|
||||
public void clearStats() {
|
||||
config.set("besttimes", null);
|
||||
config.set("names", null);
|
||||
save();
|
||||
}
|
||||
|
||||
public String getTopTen() {
|
||||
if (!config.contains("besttimes") || config.getConfigurationSection("besttimes") == null)
|
||||
return "§6§l🏆 TOP 10 PARKOUR 🏆\n§7Noch keine Rekorde.";
|
||||
|
||||
public String getTopTen(int track) {
|
||||
String base = "besttimes." + track;
|
||||
if (!config.contains(base) || config.getConfigurationSection(base) == null)
|
||||
return "§6§l🏆 TOP 10 PARKOUR Strecke " + track + " 🏆\n§7Noch keine Rekorde.";
|
||||
|
||||
Map<String, Double> allTimes = new HashMap<>();
|
||||
for (String uuidStr : config.getConfigurationSection("besttimes").getKeys(false)) {
|
||||
allTimes.put(uuidStr, config.getDouble("besttimes." + uuidStr));
|
||||
for (String uuidStr : config.getConfigurationSection(base).getKeys(false)) {
|
||||
allTimes.put(uuidStr, config.getDouble(base + "." + uuidStr));
|
||||
}
|
||||
|
||||
List<Map.Entry<String, Double>> sortedList = allTimes.entrySet().stream()
|
||||
@@ -360,10 +365,10 @@ public class ParkourManager {
|
||||
.limit(10)
|
||||
.toList();
|
||||
|
||||
StringBuilder builder = new StringBuilder("§6§l🏆 TOP 10 PARKOUR 🏆");
|
||||
StringBuilder builder = new StringBuilder("§6§l🏆 TOP 10 PARKOUR Strecke " + track + " 🏆");
|
||||
int rank = 1;
|
||||
for (Map.Entry<String, Double> entry : sortedList) {
|
||||
String name = config.getString("names." + entry.getKey(), "Unbekannt");
|
||||
String name = config.getString("names." + track + "." + entry.getKey(), "Unbekannt");
|
||||
builder.append("\n§e#").append(rank).append(" §f").append(name)
|
||||
.append(" §8» §a").append(String.format("%.2f", entry.getValue())).append("s");
|
||||
rank++;
|
||||
|
||||
@@ -278,31 +278,6 @@ player_inspect:
|
||||
gui_title: "&8Statistiken von &6{PLAYER}"
|
||||
|
||||
# ══════════════════════════════════════════════════════════════════════════════
|
||||
# SUPPRESSOR / GLOBAL CHAT EINSTELLUNGEN
|
||||
# ══════════════════════════════════════════════════════════════════════════════
|
||||
# Join/Quit-Nachrichten Unterdrückung und BungeeCord-Messaging
|
||||
suppressor:
|
||||
# Aktiviert das Suppressor-System (true = an, false = aus)
|
||||
enabled: false
|
||||
|
||||
# Unterdrückt Join- und Quit-Nachrichten für neue Spieler temporär
|
||||
# true = Nachrichten werden unterdrückt, false = normale Anzeige
|
||||
# Nützlich um Spam zu vermeiden wenn viele Spieler gleichzeitig joinen/leaven
|
||||
suppress-join-quit: true
|
||||
|
||||
# Dauer der Unterdrückung in Ticks (20 Ticks = 1 Sekunde)
|
||||
# Nach dieser Zeit werden Join/Quit-Nachrichten wieder normal angezeigt
|
||||
suppress-duration-ticks: 40
|
||||
|
||||
# BungeeCord Plugin-Messaging Channels
|
||||
# Diese Channels werden für die Kommunikation zwischen Servern verwendet
|
||||
channels:
|
||||
# Channel für Join/Quit-Suppression-Control
|
||||
control: "global:control"
|
||||
|
||||
# Channel für globales Chat-Relay über alle Server
|
||||
chat: "global:chat"
|
||||
|
||||
# ══════════════════════════════════════════════════════════════════════════════
|
||||
# LOGGING EINSTELLUNGEN
|
||||
# ══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
@@ -77,7 +77,7 @@ scoreboard:
|
||||
- "&6&lNETZWERK"
|
||||
- " &8» &fOnline: &e%bungee_total%"
|
||||
- "&4 "
|
||||
- "&8&o m-viper.de"
|
||||
- "&8&o Viper-Network.de"
|
||||
owner:
|
||||
title: "&4&l&nNEXUS &c&lADMIN"
|
||||
lines:
|
||||
|
||||
Reference in New Issue
Block a user