Upload folder via GUI - src

This commit is contained in:
Git Manager GUI
2026-04-08 09:39:54 +02:00
parent ce6847e58e
commit 8fe8f2b1af
4 changed files with 23 additions and 37 deletions

View File

@@ -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("build_mode")) return BuildCommand.isInBuildMode(player) ? "§aAktiv" : "§cInaktiv";
if (params.equalsIgnoreCase("silent_join")) return silentPlayers.contains(player.getUniqueId()) ? "§aEin" : "§cAus"; if (params.equalsIgnoreCase("silent_join")) return silentPlayers.contains(player.getUniqueId()) ? "§aEin" : "§cAus";
if (params.equalsIgnoreCase("parkour_top")) { 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; return null;
} }

View File

@@ -324,14 +324,16 @@ public class ParkourManager {
// Bestzeiten // Bestzeiten
// ───────────────────────────────────────────────────────────────────────── // ─────────────────────────────────────────────────────────────────────────
private void saveBestTime(Player player, double time) { 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); double currentTime = config.getDouble(path, 99999.9);
if (time < currentTime) { if (time < currentTime) {
config.set(path, time); config.set(path, time);
config.set("names." + player.getUniqueId(), player.getName()); config.set("names." + track + "." + player.getUniqueId(), player.getName());
save(); 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. * Die Strecken-Konfiguration (tracks) bleibt vollständig erhalten.
* Wird durch "/nexus parkour clear" aufgerufen. * Wird durch "/nexus parkour clear" aufgerufen.
*/ */
public void clearStats() { public void clearStats() {
config.set("besttimes", null); config.set("besttimes", null);
config.set("names", null); config.set("names", null);
save(); save();
} }
public String getTopTen() {
if (!config.contains("besttimes") || config.getConfigurationSection("besttimes") == null) public String getTopTen(int track) {
return "§6§l🏆 TOP 10 PARKOUR 🏆\n§7Noch keine Rekorde."; 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<>(); Map<String, Double> allTimes = new HashMap<>();
for (String uuidStr : config.getConfigurationSection("besttimes").getKeys(false)) { for (String uuidStr : config.getConfigurationSection(base).getKeys(false)) {
allTimes.put(uuidStr, config.getDouble("besttimes." + uuidStr)); allTimes.put(uuidStr, config.getDouble(base + "." + uuidStr));
} }
List<Map.Entry<String, Double>> sortedList = allTimes.entrySet().stream() List<Map.Entry<String, Double>> sortedList = allTimes.entrySet().stream()
@@ -360,10 +365,10 @@ public class ParkourManager {
.limit(10) .limit(10)
.toList(); .toList();
StringBuilder builder = new StringBuilder("§6§l🏆 TOP 10 PARKOUR 🏆"); StringBuilder builder = new StringBuilder("§6§l🏆 TOP 10 PARKOUR Strecke " + track + " 🏆");
int rank = 1; int rank = 1;
for (Map.Entry<String, Double> entry : sortedList) { 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) builder.append("\n§e#").append(rank).append(" §f").append(name)
.append(" §8» §a").append(String.format("%.2f", entry.getValue())).append("s"); .append(" §8» §a").append(String.format("%.2f", entry.getValue())).append("s");
rank++; rank++;

View File

@@ -278,31 +278,6 @@ player_inspect:
gui_title: "&8Statistiken von &6{PLAYER}" 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 # LOGGING EINSTELLUNGEN
# ══════════════════════════════════════════════════════════════════════════════ # ══════════════════════════════════════════════════════════════════════════════

View File

@@ -77,7 +77,7 @@ scoreboard:
- "&6&lNETZWERK" - "&6&lNETZWERK"
- " &8» &fOnline: &e%bungee_total%" - " &8» &fOnline: &e%bungee_total%"
- "&4 " - "&4 "
- "&8&o m-viper.de" - "&8&o Viper-Network.de"
owner: owner:
title: "&4&l&nNEXUS &c&lADMIN" title: "&4&l&nNEXUS &c&lADMIN"
lines: lines: