Upload README.md via GUI
This commit is contained in:
404
README.md
404
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.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 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*
|
||||||
|
|||||||
Reference in New Issue
Block a user