Upload README.md via GUI

This commit is contained in:
2026-02-05 09:14:27 +00:00
parent 8ad2dc5ba4
commit 3e08d5c2d9

402
README.md
View File

@@ -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: <Zahl><Einheit>
# 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 <name>` | `/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 <name>` | `/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 <name>` | `/tax-info` | taxes.player.info | Steuer-Details (persönlich) |
### Tab-Completion
Alle Commands mit `<name>` 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 <name> permission set taxes.admin.collect
/lp user <name> permission set taxes.bypass.playerbalancetax
/lp group admin permission set taxes.*
```
**PermissionsEx:**
```bash
/pex user <name> 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
```
---
## <20> 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*