diff --git a/readme.md b/readme.md index 26a24f1..5b637c9 100644 --- a/readme.md +++ b/readme.md @@ -1,30 +1,635 @@ -# SurvivalMechanics ![Java](https://img.shields.io/badge/Java-17+-blue) ![Spigot](https://img.shields.io/badge/API-1.21-green) ![Build](https://img.shields.io/badge/Build-Maven-orange) +# 🎮 SurvivalMechanics -**Version:** 1.0-SNAPSHOT -**Author:** [M_Viper](mailto:admin@m-viper.de) -**Minecraft API:** 1.21 +
-> ⚡ Ein realistisches Survival-Erlebnis mit Hunger, Durst, Müdigkeit, Temperatur, Ausdauer, Verletzlichkeit und Hygiene. +![Minecraft](https://img.shields.io/badge/Minecraft-1.19+-green.svg) +![Spigot](https://img.shields.io/badge/Spigot-1.19+-orange.svg) +![Version](https://img.shields.io/badge/Version-1.1--FIXED-blue.svg) + +**Survival-Mechaniken Addon für [Survival Plus](https://git.viper.ipv64.net/M_Viper/Survival-Plus)** + +Erweitert Survival Plus um realistische Überlebenssysteme: Hunger, Durst, Müdigkeit, Temperatur, Ausdauer, Verletzlichkeit und Hygiene + +[Installation](#-installation) • [Konfiguration](#-konfiguration) • [Systeme](#-die-7-survival-systeme) • [FAQ](#-faq) + +
--- -## ✨ Features +## 📋 Was ist SurvivalMechanics? -- 🥖 **Hunger**- & **Durst**-System mit Multiplikatoren (Biom, Nacht, Kampf, Sprint) -- 💤 **Müdigkeit** → Spieler werden langsamer, Effekte bei kritischen Werten -- 🌡️ **Temperatur** → abhängig vom Biom, Wetter, Wärmequellen -- 🏃 **Ausdauer (Stamina)** → beeinflusst Sprint, Sprung & Kampf -- 🛡️ **Verletzlichkeit (Vulnerability)** → steigert Schaden & Statusprobleme -- 🧼 **Hygiene** → schlechtere Hygiene = erhöhte Verletzlichkeit -- 📊 Anzeige über ActionBar & Scoreboard (vollständig konfigurierbar) -- ⚙️ Vollständig **anpassbare `config.yml`** & Übersetzbare `lang.yml` +SurvivalMechanics ist ein **Addon-Plugin** für [Survival Plus](https://git.viper.ipv64.net/M_Viper/Survival-Plus), das **7 realistische Survival-Systeme** hinzufügt. Spieler müssen jetzt nicht nur ihre Gesundheit im Auge behalten, sondern auch: + +- 🍞 **Hunger** - Nimmt beim Sprinten und Kämpfen ab +- 💧 **Durst** - Kritisch in Wüsten-Biomen +- 😴 **Müdigkeit** - Nachts 2x schnellerer Abbau +- 🌡️ **Temperatur** - Erfrieren oder Überhitzen je nach Biom +- 💪 **Ausdauer** - Benötigt für Sprinten und Kämpfen +- 🩹 **Verletzlichkeit** - Mehr Schaden bei Verletzungen +- 🧼 **Hygiene** - Wasser reinigt, Sümpfe verschmutzen + +> **Hinweis:** Dieses Plugin ist ein **Addon** für Survival Plus und erweitert dessen Funktionalität! --- -## 🚀 Installation +## 📦 Installation -1. Plugin-JAR herunterladen. -2. In den `plugins/`-Ordner deines Servers legen. -3. Server starten oder Plugin mit `/reload` laden. -4. `config.yml` und `lang.yml` werden beim ersten Start erstellt. +### Voraussetzungen +- ✅ Minecraft Server 1.19+ (Spigot/Paper) +- ✅ Java 17+ +- ✅ **[Survival Plus](https://git.viper.ipv64.net/M_Viper/Survival-Plus)** (Haupt-Plugin) +### Installationsschritte + +1. **Stelle sicher dass Survival Plus installiert ist** + ``` + /plugins + # Sollte "Survival Plus" in grün anzeigen + ``` + +2. **Download SurvivalMechanics** + - Lade die neueste `SurvivalMechanics.jar` herunter + +3. **Plugin installieren** + ```bash + # Kopiere die JAR in deinen plugins Ordner + cp SurvivalMechanics.jar /server/plugins/ + ``` + +4. **Server neu starten** + ```bash + # NICHT /reload verwenden! + stop + # Server neu starten + ``` + +5. **Überprüfen** + ``` + /plugins + # Sollte jetzt "SurvivalMechanics" in grün zeigen + ``` + +6. **Konfiguration anpassen** (siehe unten) + +--- + +## ⚙️ Konfiguration + +### 📁 Config-Dateien + +Nach dem ersten Start werden folgende Dateien erstellt: + +``` +plugins/SurvivalMechanics/ +├── config.yml # Haupt-Konfiguration (HIER anpassen!) +├── lang.yml # Alle Nachrichten & Texte +└── playerdata.yml # Spieler-Daten (automatisch generiert) +``` + +### 🎮 Schwierigkeit einstellen + +Du kannst die Schwierigkeit komplett nach deinen Wünschen anpassen: + +
+👶 Einfacher / Casual Server + +Öffne `config.yml` und ändere: + +```yaml +hunger: + decrease-rate: 0.25 # Halb so schnell (Standard: 0.5) + food-recovery-rate: 50 # 2 Nahrungen für voll (Standard: 34 = 3 Nahrungen) + death-delay: 120 # 2 Minuten Warnung (Standard: 60) + +thirst: + decrease-rate: 0.4 # Halb so schnell (Standard: 0.8) + water-regen-rate: 60 # Mehr Regeneration (Standard: 50) + +fatigue: + night-multiplier: 1.2 # Nur 20% schneller nachts (Standard: 2.0 = doppelt!) + +stamina: + regen-rate: 5 # Schnellere Regeneration (Standard: 3) + +temperature: + death-delay: 120 # Mehr Zeit (Standard: 60) + +# Server neu starten! +``` + +**Effekt:** Spieler überleben länger, brauchen weniger Ressourcen +
+ +
+😈 Schwieriger / Hardcore Server + +Öffne `config.yml` und ändere: + +```yaml +hunger: + decrease-rate: 1.0 # Doppelt so schnell (Standard: 0.5) + food-recovery-rate: 25 # 4 Nahrungen für voll (Standard: 34) + death-delay: 30 # Nur 30 Sekunden (Standard: 60) + +thirst: + decrease-rate: 1.2 # 50% schneller (Standard: 0.8) + hot-biome-multiplier: 2.0 # Noch schneller in Wüsten (Standard: 1.5) + +fatigue: + night-multiplier: 3.0 # Nachts 3x schneller (Standard: 2.0) + decrease-rate: 1.5 # Schneller müde (Standard: 1.0) + +temperature: + cold-damage: 1.0 # Doppelter Schaden (Standard: 0.5) + hot-damage: 1.0 # Doppelter Schaden (Standard: 0.5) + death-delay: 30 # Weniger Zeit (Standard: 60) + +vulnerability: + recovery-rate: 1 # Langsame Heilung (Standard: 3) + +# Server neu starten! +``` + +**Effekt:** Extreme Herausforderung, Spieler müssen ständig aufpassen +
+ +
+⚔️ PVP Server + +Öffne `config.yml` und ändere: + +```yaml +hunger: + combat-multiplier: 3 # Kämpfen kostet viel Hunger (Standard: 2) + +stamina: + combat-multiplier: 3 # Kämpfen kostet viel Ausdauer (Standard: 2) + min-to-sprint: 30 # Mehr Stamina zum Sprinten (Standard: 20) + regen-rate: 2 # Langsamere Regen (Standard: 3) + +vulnerability: + increase-rate: 5 # Schneller verletzt (Standard: 3) + recovery-rate: 1 # Langsame Heilung (Standard: 3) + critical-hit-multiplier: 2 # Mehr Schaden bei Verwundeten (Standard: 1.5) + +# Server neu starten! +``` + +**Effekt:** Kämpfe sind anspruchsvoller, Regeneration wichtig +
+ +### 🎨 Scoreboard anpassen + +Das Scoreboard zeigt alle Stats live an. Du kannst Farben und Layout ändern: + +```yaml +display: + bar-length: 5 # Länge der Balken (█████) + bar-filled: "█" # Gefülltes Symbol + bar-empty: "▒" # Leeres Symbol + update-interval: 100 # Update alle 5 Sekunden (100 Ticks) + + # Farben ändern (Minecraft Farbcodes) + hunger-color: "§6" # §6 = Gold (Standard) + thirst-color: "§b" # §b = Aqua (Standard) + fatigue-color: "§7" # §7 = Grau + temperature-color: "§c" # §c = Rot + stamina-color: "§a" # §a = Grün + vulnerability-color: "§4" # §4 = Dunkelrot + hygiene-color: "§9" # §9 = Blau +``` + +**Farbcodes:** +- `§0` = Schwarz | `§1` = Dunkelblau | `§2` = Dunkelgrün +- `§3` = Dunkelaqua | `§4` = Dunkelrot | `§5` = Dunkellila +- `§6` = Gold | `§7` = Grau | `§8` = Dunkelgrau +- `§9` = Blau | `§a` = Grün | `§b` = Aqua +- `§c` = Rot | `§d` = Lila | `§e` = Gelb | `§f` = Weiß + +### 📝 Nachrichten anpassen + +Alle Nachrichten sind in `lang.yml` konfigurierbar: + +```yaml +# Beispiel: Hunger-Nachrichten +hunger: + critical: "&4Dein Körper schwächt durch Hunger!" + warning: "&4Du bist dem Verhungern nahe!" + fed: "&aDu fühlst dich satt und gestärkt!" + death: "&4Du bist verhungert!" + +# Beispiel: Scoreboard-Bezeichnungen +scoreboard: + title: "&6Survival" + hunger: "HP" # Hunger + thirst: "TH" # Durst (Thirst) + fatigue: "FT" # Müdigkeit (Fatigue) + temperature: "TP" # Temperatur + stamina: "ST" # Ausdauer (Stamina) + vulnerability: "VL" # Verletzlichkeit + hygiene: "HY" # Hygiene +``` + +--- + +## 🎯 Die 7 Survival-Systeme + +### 1️⃣ Hunger System + +**Was passiert:** +- Hunger nimmt alle 60 Sekunden ab (konfigurierbar) +- **Sprinten** verbraucht 50% mehr Hunger +- **Kämpfen** verbraucht 2x mehr Hunger +- **Nachts** 20% mehr Hunger-Verbrauch +- **Bei Hunger ≤20:** Schaden (0.5 HP/Tick) +- **Bei Hunger = 0:** Tod nach 60 Sekunden + +**Wie regenerieren:** +- 🍞 Essen von konfigurierten Nahrungsmitteln +- 🛏️ Schlafen reduziert Hunger um 40 + +**Config-Werte:** +```yaml +hunger: + decrease-rate: 0.5 # Wie schnell Hunger abnimmt + food-recovery-rate: 34 # Hunger pro Nahrung (34 = 3 Items für voll) + critical-threshold: 20 # Ab hier kritisch + death-enabled: true # Tod aktivieren/deaktivieren +``` + +### 2️⃣ Durst System + +**Was passiert:** +- Durst nimmt alle 60 Sekunden ab +- **Heiße Biome** (Wüste, Savanne): 50% schnellerer Abbau +- **Regen:** Regeneriert +2 Durst +- **Bei Durst ≤20:** Schaden (0.5 HP/Tick) +- **Bei Durst = 0:** Tod nach 60 Sekunden + +**Wie regenerieren:** +- 🧪 Wasser-Tränke trinken (+50 pro Trank) +- 🌧️ Im Regen stehen +- 🛏️ Schlafen reduziert Durst um 40 + +**Config-Werte:** +```yaml +thirst: + decrease-rate: 0.8 # Wie schnell Durst abnimmt + water-regen-rate: 50 # Durst pro Trank (50 = 2 Tränke für voll) + hot-biome-multiplier: 1.5 # Multiplikator in Wüsten +``` + +### 3️⃣ Müdigkeit System + +**Was passiert:** +- Müdigkeit nimmt alle 60 Sekunden ab +- **Nachts:** 2x schnellerer Abbau! +- **Sprinten/Schwimmen:** Schnellerer Abbau +- **Klettern über Y=100:** Noch schnellerer Abbau +- **Bei Müdigkeit ≤20:** Langsamkeit + Blindheit Effekte +- **Bei Müdigkeit = 0:** Tod nach 60 Sekunden + +**Wie regenerieren:** +- 🛏️ **Schlafen stellt Müdigkeit komplett wieder her!** + +**Config-Werte:** +```yaml +fatigue: + decrease-rate: 1.0 # Basis-Abbau + night-multiplier: 2.0 # Nachts doppelt so schnell! + activity-multiplier: 1.0 # Bei Aktivitäten +``` + +**⚠️ Wichtig:** Spieler MÜSSEN regelmäßig schlafen! + +### 4️⃣ Temperatur System + +**Was passiert:** +- Temperatur-Skala: **0** (erfroren) → **50** (angenehm) → **100** (überhitzt) +- **Kalte Biome** (Schnee, Eis): Temperatur sinkt +- **Heiße Biome** (Wüste, Savanne): Temperatur steigt +- **Regen:** Kühlt ab +- **Nachts in kalten Biomen:** Noch kälter +- **Bei Temp ≤20 oder ≥80:** Schaden +- **Bei Temp = 0 oder 100:** Tod nach 60 Sekunden + +**Normale Biome:** +- Temperatur normalisiert sich langsam auf 50 + +**Config-Werte:** +```yaml +temperature: + max: 100 # WICHTIG: Muss 100 sein! + initial: 50 # Startwert (50 = angenehm) + decrease-rate: 0.6 # Änderungsrate + cold-biomes: # Liste kalter Biome + - SNOWY_TAIGA + - ICE_SPIKES + hot-biomes: # Liste heißer Biome + - DESERT + - BADLANDS +``` + +### 5️⃣ Ausdauer System + +**Was passiert:** +- Ausdauer wird bei Aktionen verbraucht +- **Sprinten:** Kostet Ausdauer (unmöglich bei <20) +- **Springen:** Kostet Ausdauer +- **Kämpfen:** Kostet viel Ausdauer (nur Angreifer!) +- **Klettern über Y=100:** Kostet mehr +- **Regeneriert passiv** (+3 alle 60 Sekunden) +- **Bei niedrigem Hunger/Durst/Müdigkeit:** Nur 50% Regeneration + +**Config-Werte:** +```yaml +stamina: + regen-rate: 3 # Passive Regeneration + min-to-sprint: 20 # Mindest-Ausdauer zum Sprinten + combat-multiplier: 2 # Kampf-Verbrauch +``` + +### 6️⃣ Verletzlichkeit System + +**Was passiert:** +- Verletzlichkeit steigt bei jedem Treffer (+3) +- **Bei Verletzlichkeit ≥80:** 50% mehr Schaden genommen! +- **Bei niedrigem Hunger/Durst:** Verletzlichkeit steigt schneller +- **Regeneriert langsam** (-3 alle 60 Sekunden) + +**Wie heilen:** +- 🍖 Essen heilt Verletzlichkeit (-34 pro Nahrung) + +**Config-Werte:** +```yaml +vulnerability: + increase-rate: 3 # Pro Treffer + recovery-rate: 3 # Passive Heilung + food-recovery-rate: 34 # Heilung pro Nahrung + critical-hit-multiplier: 1.5 # Schaden-Multiplikator bei ≥80 +``` + +### 7️⃣ Hygiene System + +**Was passiert:** +- Hygiene nimmt alle 60 Sekunden ab +- **Schmutzige Biome** (Sümpfe): 2x schnellerer Abbau +- **Graben** (Dirt/Grass): Macht schmutzig +- **Klettern über Y=100:** Macht schmutzig +- **Bei hoher Verletzlichkeit:** Schnellerer Abbau +- **Bei Hygiene ≤20:** Schwäche-Effekt +- **Bei Hygiene = 0:** Tod nach 60 Sekunden (Infektion!) + +**Wie reinigen:** +- 💧 **Ins Wasser gehen** (+6 pro Bewegung im Wasser) + +**Config-Werte:** +```yaml +hygiene: + decrease-rate: 0.5 # Basis-Abbau + water-recovery-rate: 6 # Regeneration im Wasser + dirty-biomes: # Liste schmutziger Biome + - SWAMP + - MANGROVE_SWAMP +``` + +--- + +## 📊 Scoreboard Erklärung + +Spieler sehen live ein Scoreboard mit allen Stats: + +``` +╔══════════════════╗ +║ §6Survival ║ +╠══════════════════╣ +║ ║ +║ §6HP: §6█████§r §aSatt ║ ← Hunger (100%) +║ §bTH: §b████▒§r §bMild ║ ← Durst (80%) +║ ║ +║ §7FT: §7███▒▒§r §7Müde ║ ← Müdigkeit (60%) +║ §cTP: §c███▒▒§r §cKalt ║ ← Temperatur (30°C) +║ ║ +║ §aST: §a████▒§r §aGut ║ ← Ausdauer (80%) +║ §4VL: §4█▒▒▒▒§r §aGesund ║ ← Verletzlichkeit (20%) +║ §9HY: §9███▒▒§r §9OK ║ ← Hygiene (60%) +╚══════════════════╝ +``` + +**Status-Bedeutungen:** +- **Grün** (Satt, Gut, Gesund): Alles OK +- **Gelb** (Mild): Noch OK, aber Vorsicht +- **Rot** (Kritisch, Müde): DRINGEND handeln! + +--- + +## ❓ FAQ für Admins + +
+Wie ändere ich die Schwierigkeit? + +Bearbeite `config.yml` und ändere die `decrease-rate` Werte: +- **Leichter:** Werte halbieren (z.B. 0.5 → 0.25) +- **Schwieriger:** Werte verdoppeln (z.B. 0.5 → 1.0) + +Dann Server neu starten! +
+ +
+Können bestimmte Spieler ausgenommen werden? + +Aktuell nein. Alle Spieler sind betroffen. Permissions sind für zukünftige Versionen geplant. + +**Workaround:** Erstelle eine separate Welt ohne SurvivalMechanics für VIPs. +
+ +
+Spieler beschweren sich über zu schnellen Tod - was tun? + +Erhöhe die `death-delay` Werte in der Config: +```yaml +hunger: + death-delay: 120 # Von 60 auf 120 Sekunden (2 Minuten) +thirst: + death-delay: 120 +# ... für alle Systeme +``` +
+ +
+Kann ich einzelne Systeme deaktivieren? + +Ja! Setze `death-enabled: false` für jedes System: +```yaml +hunger: + death-enabled: false # Kein Tod durch Hunger + +# Oder mache das System sehr einfach: +hunger: + decrease-rate: 0.1 # Sehr langsam + critical-threshold: 5 # Erst bei 5 kritisch +``` +
+ +
+Werden Stats nach Server-Neustart gespeichert? + +Ja! Alle Stats werden in `playerdata.yml` gespeichert und beim Beitritt wiederhergestellt. +
+ +
+Was passiert wenn ein Spieler stirbt? + +Standardmäßig (`reset-on-death: true`) werden alle Stats auf die `initial` Werte zurückgesetzt: +- Hunger: 80 +- Durst: 80 +- Müdigkeit: 100 +- Temperatur: 50 +- etc. + +Kann in der Config geändert werden! +
+ +
+Wie oft aktualisieren sich die Stats? + +Alle 60 Sekunden (fest kodiert). Die `decrement-interval` Werte in der Config werden aktuell ignoriert. + +Dies wird in einer zukünftigen Version anpassbar sein. +
+ +
+Performance-Probleme? + +SurvivalMechanics ist sehr performant: +- Stats werden nur alle 60 Sekunden aktualisiert +- Events werden effizient verarbeitet +- Kein unnötiges Logging + +Typische Performance: <1% CPU-Auslastung selbst mit 50+ Spielern. +
+ +
+Kann ich die Config ohne Server-Neustart neu laden? + +Aktuell nein. Nach Config-Änderungen: +```bash +stop +# Server neu starten +``` + +**NICHT** `/reload` verwenden - kann zu Problemen führen! + +Ein `/survival reload` Command ist für Version 1.2 geplant. +
+ +--- + +## ⚠️ Wichtige Hinweise + +### ⚠️ Config-Werte die NICHT funktionieren + +Folgende Config-Werte werden **ignoriert** (werden in v1.2 gefixt): +- `decrement-interval` - Alle Systeme nutzen fest 60 Sekunden +- `temperature.increase-rate` - Nur `decrease-rate` wird verwendet + +### ⚠️ KRITISCH: temperature.max + +```yaml +temperature: + max: 100 # MUSS 100 sein! Nicht ändern! +``` + +Wenn du `max: 50` setzt, funktioniert das Temperatur-System **komplett falsch**! + +### ⚠️ Biom-Namen + +Verwende korrekte Biom-Namen: +- ✅ `MANGROVE_SWAMP` (korrekt) +- ❌ `MUDDY_SWAMP` (existiert nicht!) + +### 💾 Backup + +**Erstelle IMMER ein Backup vor Config-Änderungen!** +```bash +cp -r plugins/SurvivalMechanics plugins/SurvivalMechanics.backup +``` + +--- + +## 🔄 Updates + +### Von Version 1.0 zu 1.1-FIXED + +**WICHTIG - Config-Änderungen erforderlich!** + +1. **Backup erstellen:** + ```bash + cp plugins/SurvivalMechanics/config.yml config.yml.backup + ``` + +2. **temperature.max ändern:** + ```yaml + # VORHER (FALSCH!) + temperature: + max: 50 + + # NACHHER (KORREKT!) + temperature: + max: 100 + ``` + +3. **Biom-Namen korrigieren:** + ```yaml + # VORHER + hygiene: + dirty-biomes: + - MUDDY_SWAMP # Existiert nicht! + + # NACHHER + hygiene: + dirty-biomes: + - MANGROVE_SWAMP + ``` + +4. **Server neu starten** + +--- + +## 📞 Support + +### Bug gefunden oder Frage? + +- 🐛 **Bugs:** [Issue auf Git erstellen](https://git.viper.ipv64.net/M_Viper/Survival-Plus/issues) +- 💬 **Fragen:** Kontaktiere den Server-Admin +- 📖 **Dokumentation:** Diese README + +### Logs sammeln + +Bei Problemen, sammle diese Infos: +```bash +# 1. Plugin-Version prüfen +/plugins + +# 2. Console-Log kopieren +# Letzten 100 Zeilen aus latest.log + +# 3. Config anhängen +cat plugins/SurvivalMechanics/config.yml +``` + +--- + +## 📄 Lizenz + +MIT License - Frei verwendbar für private und kommerzielle Server + +--- + +
+ +**Teil des [Survival Plus](https://git.viper.ipv64.net/M_Viper/Survival-Plus) Ökosystems** + +Made with ❤️ by Viper + +
\ No newline at end of file