From 3e08d5c2d9830927cbf2d20bea46c70b9b38710b Mon Sep 17 00:00:00 2001 From: M_Viper Date: Thu, 5 Feb 2026 09:14:27 +0000 Subject: [PATCH] Upload README.md via GUI --- README.md | 404 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 402 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9edbce3..f2e6f67 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,402 @@ -# Taxes - +# Taxes Plugin - Minecraft Steuer-System + +Ein modernes, sicheres Minecraft-Plugin für automatische Steuereinziehung basierend auf Spielerkontoständen. + +![Version](https://img.shields.io/badge/version-8.0-blue.svg) +![Minecraft](https://img.shields.io/badge/minecraft-1.21.4-brightgreen.svg) +![Java](https://img.shields.io/badge/java-17+-orange.svg) +![License](https://img.shields.io/badge/license-All%20Rights%20Reserved-red.svg) + +--- + +## 🎯 Features + +✅ **Automatische Steuereinziehung** +- Regelmäßige Steuern von Spielerkonten +- Flexible Zeitintervalle (Sekunden, Minuten, Stunden, Tage, Wochen) + +✅ **Progressive Steuersätze** +- Mehrere Steuerstufen je nach Kontostand +- Prozentuale oder Festbetrag-Steuern +- Konfigurierbare Armuts- und Reichengrenzen + +✅ **Flexible Auszahlungsquellen** +- **PLAYER**: Direkt vom Spielerkonto (Standard) +- **BANK**: Nur von MysqlEconomyBank-Konten +- **BANK_IF_AVAILABLE**: Intelligente Fallback-Logik + +✅ **Wirtschaftliche Features** +- Steuern auf Serverkonto deponieren +- Batch-Processing für große Spielerzahlen +- Fehlerbehandlung & Money-Duplikat-Prävention + +✅ **Administrator-Tools** +- In-Game Commands mit Tab-Completion +- Manuelle Steuereinziehung +- Reload ohne Neustart +- Detaillierte Logs und Statistiken + +✅ **Benutzerfreundlichkeit** +- Deutsche Nachrichten (konfigurierbar) +- Aussagekräftige Error-Messages +- Hilfreiche Config mit Dokumentation + +--- + +## 📋 Anforderungen + +### Server-Anforderungen: +- **Minecraft Server**: Spigot/Paper 1.21.4+ +- **Java**: JDK 17 oder höher +- **RAM**: Minimal 512 MB (empfohlen 1 GB+) +- **Dependencies**: + - ✅ **Vault-Plugin** (erforderlich für Wirtschaft) + - ✅ **Economy-Plugin** (z.B. EssentialsX, CMI, usw.) + - ⚠️ **MysqlEconomyBank** (optional, nur für BANK-Modus) + - Git: https://git.viper.ipv64.net/M_Viper/MysqlEconomyBank-Reborn + - Spigot: https://www.spigotmc.org/resources/mysqleconomybank-reborn.127771/ + +--- + +## 🚀 Installation + +### Schritt 1: Voraussetzungen installieren +```bash +# Stelle sicher dass du ein Economy-Plugin hast (z.B. EssentialsX) +# und Vault-Plugin installiert ist +``` + +### Schritt 2: Plugin installieren +```bash +1. Lade Taxes.jar herunter +2. Kopiere es in dein plugins/ Verzeichnis +3. Starten Sie den Server neu + → Plugin erstellt automatisch config.yml +4. Passen Sie die Config an (siehe unten) +5. Starten Sie den Server erneut +``` + +### Schritt 3: Vault konfigurieren +Vault benötigt nur ein Economy-Plugin, um zu funktionieren: +```bash +# In plugins/config.yml keine Anpassung nötig +# Vault kommuniziert automatisch mit dem Economy-Plugin +``` + +### Schritt 4: Optional: MysqlEconomyBank +Für BANK-Modus (Steuern von Bankkonten abziehen): +```bash +1. Installiere MysqlEconomyBank-Plugin + - Git: https://git.viper.ipv64.net/M_Viper/MysqlEconomyBank-Reborn + - Spigot: https://www.spigotmc.org/resources/mysqleconomybank-reborn.127771/ +2. Konfiguriere in config.yml: + PlayerBalanceTax: + WithdrawSource: BANK_IF_AVAILABLE +3. Server neustarten +``` + +--- + +## ⚙️ Konfiguration + +Die Hauptkonfiguration befindet sich in `plugins/Taxes/config.yml` + +### Basis-Einstellungen + +```yaml +# Debug-Modus für ausführliche Logs +Debug: false + +Taxes: + PlayerBalanceTax: + # Steuer aktiviert? + Enabled: true + + # Wie oft Steuern eingezogen werden + # Format: + # Einheiten: s (Sekunden), m (Minuten), h (Stunden), d (Tage), w (Wochen) + TaxFrequency: 1d + + # Woher wird das Geld genommen? + # PLAYER, BANK, oder BANK_IF_AVAILABLE + WithdrawSource: PLAYER + + # Auf welche Kollektion (Steuerstufen) anwenden? + TaxCollection: OnlyCollection +``` + +### Steuerstufen (Tax Brackets) konfigurieren + +```yaml +TaxCollections: + OnlyCollection: + AllPlayers: + Groups: [] # [] = alle Spieler + TaxBrackets: + Arm: + MaxBalance: 100000.00 + TaxType: PERCENT # oder FLAT + TaxAmount: 0.0 # Prozentsatz oder Betrag + + Reich: + MaxBalance: -1 # -1 = unbegrenzt (oberste Stufe) + TaxType: PERCENT + TaxAmount: 20.0 +``` + +### Erweiterte Einstellungen + +```yaml +# Steuern auf Serverkonto deponieren +TaxDepositAccount: + Enabled: true + Name: server_account # Spielername oder Bankkontoname + +# Batch-Processing für große Spielerzahlen +BatchProcessing: + Enabled: false # true = langsamer, weniger Last + Size: 500 # Spieler pro Batch + Delay: 20 # Ticks zwischen Batches (20 = 1 Sekunde) +``` + +--- + +## 📝 Commands + +### Admin-Befehle + +| Command | Alias | Permission | Beschreibung | +|---------|-------|-----------|-------------| +| `/taxes-collect ` | `/tax-collect` | taxes.admin.collect | Steuer manuell einziehen | +| `/taxes-collectall` | `/tax-collectall` | taxes.admin.collectall | Alle Steuern einziehen | +| `/taxes-reload` | `/tax-reload` | taxes.admin.reload | Config neu laden | +| `/taxes-listall` | `/tax-listall` | taxes.admin.listall | Alle Steuern anzeigen | +| `/taxes-infoall ` | `/tax-infoall` | taxes.admin.infoall | Steuer-Details (Admin) | + +### Spieler-Befehle + +| Command | Alias | Permission | Beschreibung | +|---------|-------|-----------|-------------| +| `/taxes` | `/tax` | taxes.player.help | Befehlshilfe anzeigen | +| `/taxes-list` | `/tax-list` | taxes.player.list | Für mich relevante Steuern | +| `/taxes-info ` | `/tax-info` | taxes.player.info | Steuer-Details (persönlich) | + +### Tab-Completion + +Alle Commands mit `` Parameter unterstützen **Tab-Completion**: +```bash +/taxes-collect [TAB] +→ PlayerBalanceTax + +/taxes-info Play[TAB] +→ PlayerBalanceTax + +/taxes-infoall [TAB] +→ Alle Steuern (auch deaktivierte) +``` + +--- + +## 🔐 Berechtigungen + +```yaml +# Alle Plugin-Berechtigungen +taxes.* + ├── taxes.admin.* # Admin-Befehle + │ ├── taxes.admin.collect + │ ├── taxes.admin.collectall + │ ├── taxes.admin.listall + │ ├── taxes.admin.infoall + │ └── taxes.admin.reload + │ + ├── taxes.player.* # Spieler-Befehle + │ ├── taxes.player.help + │ ├── taxes.player.list + │ └── taxes.player.info + │ + └── taxes.bypass.* # Steuern umgehen + └── taxes.bypass.playerbalancetax +``` + +### Berechtigungen in Permission-Plugins setzen + +**LuckPerms:** +```bash +/lp user permission set taxes.admin.collect +/lp user permission set taxes.bypass.playerbalancetax +/lp group admin permission set taxes.* +``` + +**PermissionsEx:** +```bash +/pex user add taxes.admin.collect +/pex group admin add taxes.* +``` + +--- + +## 💡 Anwendungsbeispiele + +### Beispiel 1: Einfache tägliche Einkommenssteuer +```yaml +PlayerBalanceTax: + Enabled: true + TaxFrequency: 1d # Täglich + WithdrawSource: PLAYER + +TaxBrackets: + Normal: + MaxBalance: -1 + TaxType: PERCENT + TaxAmount: 5.0 # 5% täglich +``` + +### Beispiel 2: Progressive Vermögenssteuer +```yaml +TaxBrackets: + Arm: + MaxBalance: 10000 + TaxType: PERCENT + TaxAmount: 0.0 # Keine Steuer + + Mittelstand: + MaxBalance: 100000 + TaxType: PERCENT + TaxAmount: 2.0 # 2% + + Wohlhabend: + MaxBalance: 1000000 + TaxType: PERCENT + TaxAmount: 5.0 # 5% + + Reich: + MaxBalance: -1 + TaxType: PERCENT + TaxAmount: 10.0 # 10% +``` + +### Beispiel 3: Festbetrag-Steuer mit Bank-Fallback +```yaml +PlayerBalanceTax: + TaxFrequency: 1w # Wöchentlich + WithdrawSource: BANK_IF_AVAILABLE + TaxDepositAccount: + Enabled: true + Name: kingdom_vault + +TaxBrackets: + Alle: + MaxBalance: -1 + TaxType: FLAT + TaxAmount: 100.0 # 100 Gold pro Woche +``` + +--- + +## 🛠️ Troubleshooting + +### Problem: Plugin lädt nicht +``` +[ERROR] Could not load 'plugins/Taxes.jar' +``` +**Lösung:** +- Java 17+ erforderlich: `java -version` +- Vault-Plugin muss installiert sein +- Economy-Plugin erforderlich (z.B. CMI) +- Server neu starten: `/restart` + +### Problem: "Unknown Economy Provider" +``` +[WARN] No economy provider found +``` +**Lösung:** +- Economy-Plugin installieren (EssentialsX, CMI, usw.) +- Server neu starten + +### Problem: Steuern werden nicht eingezogen +``` +Console zeigt keine Logs, Spieler-Geld ändert sich nicht +``` +**Überprüfe:** +1. Ist die Steuer aktiviert? `Enabled: true` +2. Gibt es Spieler mit genug Geld? +3. Ist die Taxfrequency richtig? (z.B. `1d`) +4. Logs prüfen: `/logs tail` +5. Debug aktivieren: `Debug: true` in config.yml + +### Problem: "Insufficient Funds" Fehler +``` +[WARNING] Tax withdrawal failed for player XYZ - insufficient funds +``` +**Bedeutung:** Spieler hat nicht genug Geld +**Lösung:** +- Normale Meldung, keine Fehler +- Plugin verhindert Geldverlust automatisch +- Spieler erhält Nachricht im Chat + +### Problem: MysqlEconomyBank funktioniert nicht +``` +[SEVERE] MysqlEconomyBank is enabled but bank account not found +``` +**Lösung:** +1. MysqlEconomyBank korrekt installiert? +2. Database konfiguriert? +3. Spieler hat Bank-Konto? +4. Fallback nutzen: `WithdrawSource: BANK_IF_AVAILABLE` + +--- + +## 📊 Performance-Tipps + +### Für große Server (100+ Spieler) +```yaml +BatchProcessing: + Enabled: true + Size: 1000 # Mehr Spieler pro Batch + Delay: 10 # Kürzere Pausen + +TaxFrequency: 1d # Nicht zu oft abziehen +``` + +### Für kleine Server +```yaml +BatchProcessing: + Enabled: false # Nicht nötig +TaxFrequency: 12h # Öfter abziehen möglich +``` + +--- + +## � Lizenz + +Dieses Plugin wurde von **M_Viper** entwickelt. +Alle Rechte vorbehalten. + +--- + +## 👨‍💻 Support + +### Bug Reports +Falls du einen Bug findest: +1. Überprüfe die Troubleshooting-Sektion +2. Sammle die Logs aus dem Plugins-Ordner +3. Stelle sicher, dass alle Anforderungen erfüllt sind + +### Fragen & Hilfe +- **Discord**: [Link zum Discord Server] +- **Issues**: Gitea Issue-Tracker +- **Email**: [Support-Email] + +--- + +## 🙏 Danksagungen + +- Bukkit/Spigot Team für die API +- MilkBowl für Vault-Plugin +- Alle Tester und Nutzer + +--- + +**Viel Spaß mit dem Taxes-Plugin!** 🎉 + +*Letzte Aktualisierung: 5. Februar 2026*