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)
🚀 Installation
Schritt 1: Voraussetzungen installieren
# Stelle sicher dass du ein Economy-Plugin hast (z.B. EssentialsX)
# und Vault-Plugin installiert ist
Schritt 2: Plugin installieren
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:
# 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):
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
# 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
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
# 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:
/taxes-collect [TAB]
→ PlayerBalanceTax
/taxes-info Play[TAB]
→ PlayerBalanceTax
/taxes-infoall [TAB]
→ Alle Steuern (auch deaktivierte)
🔐 Berechtigungen
# 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:
/lp user <name> permission set taxes.admin.collect
/lp user <name> permission set taxes.bypass.playerbalancetax
/lp group admin permission set taxes.*
PermissionsEx:
/pex user <name> add taxes.admin.collect
/pex group admin add taxes.*
💡 Anwendungsbeispiele
Beispiel 1: Einfache tägliche Einkommenssteuer
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
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
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:
- Ist die Steuer aktiviert?
Enabled: true - Gibt es Spieler mit genug Geld?
- Ist die Taxfrequency richtig? (z.B.
1d) - Logs prüfen:
/logs tail - Debug aktivieren:
Debug: truein 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:
- MysqlEconomyBank korrekt installiert?
- Database konfiguriert?
- Spieler hat Bank-Konto?
- Fallback nutzen:
WithdrawSource: BANK_IF_AVAILABLE
📊 Performance-Tipps
Für große Server (100+ Spieler)
BatchProcessing:
Enabled: true
Size: 1000 # Mehr Spieler pro Batch
Delay: 10 # Kürzere Pausen
TaxFrequency: 1d # Nicht zu oft abziehen
Für kleine Server
BatchProcessing:
Enabled: false # Nicht nötig
TaxFrequency: 12h # Öfter abziehen möglich
👨💻 Support
Bug Reports
Falls du einen Bug findest:
- Überprüfe die Troubleshooting-Sektion
- Sammle die Logs aus dem Plugins-Ordner
- 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