# 🎮 SurvivalMechanics



**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)
---
## 📋 Was ist SurvivalMechanics?
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
### 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