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