Update from Git Manager GUI

This commit is contained in:
2026-02-05 10:14:28 +01:00
parent 3e08d5c2d9
commit 6bb272d5fa
49 changed files with 3065 additions and 0 deletions

View File

@@ -0,0 +1,130 @@
# ==================================================================================================
# TAXES PLUGIN KONFIGURATION (v8.0)
# ==================================================================================================
# Diese Datei ermöglicht es dir zu konfigurieren, wie oft und wie viel Steuern von
# Spielerkonten eingezogen werden.
#
# DOKUMENTATION:
# - TaxFrequency: Zeitformat wie "1d" (1 Tag), "12h" (12 Stunden), "30m" (30 Minuten), "10s" (10 Sekunden)
# - WithdrawSource: PLAYER (vom Spielerkonto) | BANK (nur Bank) | BANK_IF_AVAILABLE (Bank wenn vorhanden, sonst Spieler)
# - TaxType: PERCENT (Prozentsatz) | FLAT (Festbetrag)
# ==================================================================================================
# Debug-Modus: Aktiviere für ausführliche Logs (true/false)
Debug: false
# STEUERN-KONFIGURATION
Taxes:
# SPIELERKONTO-STEUER
# Diese Steuer wird basierend auf dem Spielerkontostand eingezogen
PlayerBalanceTax:
# Ist diese Steuer aktiviert? (true/false)
Enabled: true
# Wie oft werden Steuern eingezogen?
# Formate: 1s, 30m, 1h, 1d, 1w
# Beispiele: "30m" = alle 30 Minuten, "1d" = täglich
TaxFrequency: 1d
# WICHTIG: Woher wird das Steuergeld genommen?
# PLAYER = Direkt vom Spielerkonto (Standard, immer verfügbar)
# BANK = Nur von MysqlEconomyBank-Konto (Server muss MysqlEconomyBank haben!)
# BANK_IF_AVAILABLE = Intelligent: Versucht Bank, fällt auf Spielerkonto zurück
WithdrawSource: PLAYER
# OPTIONAL: Steuern auf ein Serverkonto deponieren?
TaxDepositAccount:
# Sollen Steuern auf ein bestimmtes Konto eingezahlt werden? (true/false)
Enabled: false
# Name des Serverkontos (Spielername oder Bankkontoname)
# Beispiele: "Server", "town_vault", "kingdom_bank"
Name: server_account
# Welche Steuergruppe wird verwendet?
# Muss mit einer Collection unten übereinstimmen (siehe TaxCollections)
TaxCollection: OnlyCollection
# Batch-Processing: Optimierung für große Spielerzahlen
BatchProcessing:
# Steuern in Batches verarbeiten? (true/false)
# true = langsamer, aber weniger Server-Last
# false = schneller, aber mehr Last
Enabled: false
# Wie viele Spieler pro Batch verarbeitet werden
Size: 500
# Verzögerung zwischen Batches in Ticks (20 Ticks = 1 Sekunde)
Delay: 20
# STEUERKOLLEKTIONEN
# Eine Kollektion = Eine Gruppe von Steuerstufen (Brackets)
# Du kannst mehrere Kollektionen erstellen und diese bei verschiedenen Steuern nutzen
TaxCollections:
# Name der Kollektion (wird bei TaxCollection referenziert)
OnlyCollection:
# Bracket-Gruppe: Festlegung welche Gruppen welche Steuersätze zahlen
AllPlayers:
# Welche Spielergruppen fallen unter diese Steuersätze?
# [] = Alle Spieler
# ["VIP", "Premium"] = Nur diese Gruppen (setzt Permission-Plugin voraus)
Groups: []
# Steuerstufen (nach Kontostand sortieren!)
# Jede Stufe definiert: "Ab welchem Kontostand zahlt man wie viel Steuern?"
TaxBrackets:
# STUFE 1: "Arm" (0 - 100.000 Gold)
Arm:
# Obergrenze dieses Brackets in Gold
MaxBalance: 100000.00
# Steuertyp: PERCENT = Prozentsatz, FLAT = Festbetrag
TaxType: PERCENT
# Steuersatz (Prozent oder Betrag je nach TaxType)
# Beispiel: 5.0 mit PERCENT = 5% Steuern
TaxAmount: 0.0
# STUFE 2: "Mittelschicht" (100.000 - 500.000 Gold)
Mittelschicht:
MaxBalance: 500000.00
TaxType: PERCENT
# 10% Steuern für diese Gruppe
TaxAmount: 10.0
# STUFE 3: "Reich" (ab 500.000 Gold)
# MaxBalance: -1 bedeutet "unbegrenzt" (höchste Stufe)
Reich:
MaxBalance: -1
TaxType: PERCENT
# 20% Steuern für sehr reiche Spieler
TaxAmount: 20.0
# ==================================================================================================
# KONFIGURATIONSBEISPIELE
# ==================================================================================================
#
# BEISPIEL 1: Unterschiedliche Steuersätze nach Kontostand
# Arm: 0%, Mittel: 5%, Reich: 15%
#
# BEISPIEL 2: Festbetrag-Steuern mit FLAT
# TaxType: FLAT
# TaxAmount: 100.0 (100 Gold pro Tag, egal wie reich)
#
# BEISPIEL 3: MysqlEconomyBank aktivieren
# WithdrawSource: BANK_IF_AVAILABLE # Nutzt Bank wenn vorhanden
# (Sicherstelle dass MysqlEconomyBank auf dem Server lädt!)
#
# BEISPIEL 4: Mehrere Steuerkollektionen
# TaxCollections:
# RichierTaxes:
# VIPPlayers:
# Groups: [VIP, Premium]
# TaxBrackets: {...}
# NormalTaxes:
# RegularPlayers:
# Groups: []
# TaxBrackets: {...}
#
# ==================================================================================================

View File

View File

@@ -0,0 +1,213 @@
# ==================================================================================================
#
# Place Holders (Tax Collection Messages Only):
# ----------------------------------------------------
# {PRE_TAX_BALANCE} - The balance before taxes were collected.
# {POST_TAX_BALANCE} - The balance after taxes were collected.
# {TAX_AMOUNT_TAXED} - The amount collected for a tax.
#
#
# Player Place Holders:
# ---------------------
# {PLAYER_REAL_NAME} - The player's real name.
# {PLAYER_DISPLAY_NAME} - The player's nickname if they have one. Otherwise real name is used.
# {PLAYER_BALANCE} - The player's current balance.
#
#
# Tax Place Holders:
# ------------------
# {TAX_NAME} - Name of the tax in the config.yml file.
# {TAX_ENABLED} - Evaluates to Yes if tax is enabled, No otherwise.
# {TAX_FREQUENCY} - How often tax is collected. Example: 1 day
# {TAX_DEPOSIT_ENABLED} - Evaluates to Yes if Tax Deposit Account is enabled, No otherwise.
# {TAX_DEPOSIT_ACCOUNT} - Name of the Tax Deposit Account where taxes are deposited.
# {TAX_COLLECTION_NAME} - Name of the tax collection.
# {TAX_NEXT_COLLECTION_TIME} - Date and Time the tax will be collected again.
# {TAX_NAME_LIST} - Comma seperated list of valid tax names.
#
#
# Tax Collections, Bracket Groups, and Brackets Place Holders:
# ------------------------------------------------------------
# {TAX_COLLECTION_NAME} - Name of the tax collection.
# {TAX_BRACKET_GROUP_NAME} - Name of the tax bracket group.
# {TAX_BRACKET_GROUP_GROUPS} - The list of groups for a tax bracket group.
# {TAX_BRACKET_NAME} - Name of the tax bracket
# {TAX_BRACKET_MIN} - Minimum balance for the tax bracket.
# {TAX_BRACKET_MAX} - Maximum balance for the tax bracket.
# {TAX_BRACKET_AMOUNT} - The amount of tax to collect. Either a $ or % amount.
# {TAX_BRACKET_AMOUNT_TYPE} - The type of tax collected. Either PERCENT or FIXED.
#
# NOTE: If a place holder is not replaced in a message, the chances are that that
# place holder is a valid place holder for that message.
#
# Messages:
# ---------
# Messages can be multiline or single line. Messages support the place holders listed
# above and color codes. Each message can be disabled by setting Enabled to fale.
#
# Multiline example:
# Message:
# Enabled: true
# Contents:
# - 'Line 1'
# - 'Line 2'
# - 'Line 3'
#
# Singleline example:
# Message:
# Enabled: true
# Contents:
# - 'Entire Message'
#
#
# Some messages are complicated and need to be broken up into multiple sub-messages. Any
# message sub-message that starts with the word 'Each' means that it can be used multiple
# times in the message like in a list. These sub-messages can be single or multiple lines.
# Sub-messages can be disabled by setting them to []. To disable the entire message, it is
# best to set Enabled to false.
#
# Example:
# Message:
# Enabled: true
# Contents:
# Header:
# - 'Line 1'
# EachLine:
# - 'Line 1'
# - 'Line 2'
# - 'Line 3'
# Footer:
# - 'Line 1'
#
# Disable sub-message example (disable footer sub-message):
# Message:
# Enabled: true
# Contents:
# Header:
# - 'Line 1'
# EachLine:
# - 'Line 1'
# - 'Line 2'
# - 'Line 3'
# Footer: []
#
# Defined Messages:
# -----------------
# PlayerTaxCollected - Message that is displayed to the player when a tax is collected.
# This same message is used for all taxes.
#
# BroadcastTaxCollectionStart - Broadcast message that is displayed to all players when a tax
# collection is about to start.
#
# BroadcastTaxCollectionComplete - Broadcast message that is displayed to all players when a
# tax collection has completed.
#
# PlayerTaxList - Message that is displayed when the /taxes-list command is executed.
# Header - Header/title for the message. It is only displayed once.
# EachTax - This message is displayed once for each tax that is applicable for the
# command that was executed.
# Footer - This is the footer of the message. It is only displayed once.
#
#
# PlayerTaxListAll - Message that is displayed when the /taxes-listall command is executed.
# Header - Header/title for the message. It is only displayed once.
# EachTax - This message is displayed once for each tax that is applicable for the
# command that was executed.
# Footer - This is the footer of the message. It is only displayed once.
#
#
# PlayerTaxInfo - Message for the /taxes-info <TaxName> command. Displays the details of the
# tax specified by <TaxName> for the player that executed the command in-game.
# This message only displays the Tax Bracket info that is applicable to the
# to the player at the moment the /taxes-info command was executed.
#
# PlayerTaxInfoAll - Message for the /taxes-infoall <TaxName> command. Displays the complete
# config details of the tax specified by <TaxName>.
# This message displays all of the Tax Bracket Groups and all of the
# Tax Brackets that are configured for the specified tax.
# TaxInfo - Display the tax level info. This is only displayed once.
# EachTaxBracketGroup - This is the Tax Bracket Group info. It is displayed for
# each Tax Bracket Group in the specified tax.
# EachTaxBracket - This is the Tax Bracket info. It is displayed for each Tax Bracket
# of each Tax Bracket Group.
# Footer - This is the footer of the message. It is only displayed once.
#
# PlayerInvalidTaxName - Displayed when the player runs a command that requires a tax name
# and the tax name is not valid.
#
# ==================================================================================================
Messages:
PlayerTaxCollected:
Enabled: true
Contents:
- '&5{TAX_NAME} &6Steuern wurden eingezogen.'
- '&6Altes Guthaben: &5${PRE_TAX_BALANCE}'
- '&6Neues Guthaben: &5${POST_TAX_BALANCE}'
- '&6Steuerbetrag: &5${TAX_AMOUNT_TAXED}'
- '&6Besteuert mit: &5{TAX_BRACKET_AMOUNT} &6(&5{TAX_BRACKET_AMOUNT_TYPE}&6)'
PlayerTaxList:
Enabled: true
Contents:
Header:
- '&7&l&m---------------------------------------------'
- '&5{PLAYER_REAL_NAME}s &6anwendbare Steuern:'
- '&7&l&m---------------------------------------------'
EachTax:
- '&6Steuername: &5{TAX_NAME}&6, Aktuelle Steuer: &5{TAX_BRACKET_AMOUNT}'
Footer:
- '&7&l&m---------------------------------------------'
PlayerTaxListAll:
Enabled: true
Contents:
Header:
- '&7&l&m---------------------------------------------'
- '&6Vollständige Liste aller Steuern:'
- '&7&l&m---------------------------------------------'
EachTax:
- '&6Steuername: &5{TAX_NAME}&6, Aktiviert: &5{TAX_ENABLED}'
Footer:
- '&7&l&m---------------------------------------------'
PlayerTaxInfo:
Enabled: true
Contents:
- '&6Aktuelle Steuerinfo von &5{PLAYER_REAL_NAME} &6für &5{TAX_NAME}&6:'
- '&6Steuerhäufigkeit: &5{TAX_FREQUENCY}'
- '&6Nächste Steuererhebung: &5{TAX_NEXT_COLLECTION_TIME}'
- '&6Steuererhebungsname: &5{TAX_COLLECTION_NAME}'
- '&6 Steuerklassen-Gruppenname: &5{TAX_BRACKET_GROUP_NAME}'
- '&6 Steuerklassenname: &5{TAX_BRACKET_NAME}'
- '&6 Guthabenbereich: &5${TAX_BRACKET_MIN} &6- &5${TAX_BRACKET_MAX}'
- '&6 Aktuelle Steuer: &5{TAX_BRACKET_AMOUNT}'
PlayerTaxInfoAll:
Enabled: true
Contents:
TaxInfo:
- '&7&l&m---------------------------------------------'
- '&6Alle Steuerinformationen für &5{TAX_NAME}&6:'
- '&7&l&m---------------------------------------------'
- '&6Steuerhäufigkeit: &5{TAX_FREQUENCY}'
- '&6Nächste Steuererhebung: &5{TAX_NEXT_COLLECTION_TIME}'
- '&6Steuererhebungsname: &5{TAX_COLLECTION_NAME}'
EachTaxBracketGroup:
- '&6 Steuerklassen-Gruppenname: &5{TAX_BRACKET_GROUP_NAME}'
- '&6 Steuerklassen-Gruppen: &5{TAX_BRACKET_GROUP_GROUPS}'
EachTaxBracket:
- '&6 Steuerklassenname: &5{TAX_BRACKET_NAME}'
- '&6 Guthabenbereich: &5${TAX_BRACKET_MIN} &6- &5${TAX_BRACKET_MAX}'
- '&6 Aktuelle Steuer: &5{TAX_BRACKET_AMOUNT}'
Footer:
- '&7&l&m---------------------------------------------'
BroadcastTaxCollectionStart:
Enabled: true
Contents:
- '&5{TAX_NAME} &6wird eingezogen.'
BroadcastTaxCollectionComplete:
Enabled: true
Contents:
- '&5{TAX_NAME} &6Einzug abgeschlossen.'
PlayerInvalidTaxName:
Enabled: true
Contents:
- '&6Das ist kein gültiger Steuername. Gültige Steuernamen sind: &5{TAX_NAME_LIST}.'

View File

@@ -0,0 +1,128 @@
name: Taxes
main: com.taxes.TaxesPlugin
version: 8.0
api-version: 1.21
description: Collects taxes based on balances like player, towny, etc.
author: M_Viper
prefix: Taxes
depend: [Vault]
softdepend: [CMI, EssentialsX, PlaceholderAPI, MysqlEconomyBank]
commands:
taxes:
description: Zeigt die Befehlshilfe für das Taxes Plugin an.
aliases: [tax, taxes-help, tax-help]
permission: taxes.player.help
permission-message: §6Du benötigst die Berechtigung §5<permission> §6um diesen Befehl auszuführen.
usage: §6Befehlsfehler! Korrekte Verwendung ist §5/<command>
taxes-collect:
description: Sammelt Steuern für die angegebene Steuer ein. Dieser Befehl ignoriert, ob die Steuer aktiviert ist oder nicht. Steuernamen erhältst du mit /tax-listall.
aliases: [tax-collect]
permission: taxes.admin.collect
permission-message: §6Du benötigst die Berechtigung §5<permission> §6um diesen Befehl auszuführen.
usage: §6Befehlsfehler! Korrekte Verwendung ist §5/<command> <Steuername>
taxes-collectall:
description: Sammelt alle Steuern ein. Dieser Befehl ignoriert, ob die Steuern aktiviert sind oder nicht.
aliases: [tax-collectall]
permission: taxes.admin.collectall
permission-message: §6Du benötigst die Berechtigung §5<permission> §6um diesen Befehl auszuführen.
usage: §6Befehlsfehler! Korrekte Verwendung ist §5/<command>
taxes-list:
description: Listet alle anwendbaren Steuern nach Namen für den Spieler auf.
aliases: [tax-list]
permission: taxes.player.list
permission-message: §6Du benötigst die Berechtigung §5<permission> §6um diesen Befehl auszuführen.
usage: §6Befehlsfehler! Korrekte Verwendung ist §5/<command>
taxes-listall:
description: Listet alle Steuern in der Config nach Namen auf. Dies ist für Admins gedacht.
aliases: [tax-listall]
permission: taxes.admin.listall
permission-message: §6Du benötigst die Berechtigung §5<permission> §6um diesen Befehl auszuführen.
usage: §6Befehlsfehler! Korrekte Verwendung ist §5/<command>
taxes-info:
description: Zeigt detaillierte Informationen für den angegebenen Steuernamen für den Spieler an. Steuernamen erhältst du mit /tax-list.
aliases: [tax-info]
permission: taxes.player.info
permission-message: §6Du benötigst die Berechtigung §5<permission> §6um diesen Befehl auszuführen.
usage: §6Befehlsfehler! Korrekte Verwendung ist §5/<command> <Steuername>
taxes-infoall:
description: Zeigt alle detaillierten Informationen für den angegebenen Steuernamen an. Dies ist für Admins, um Config-Einstellungen im Spiel zu sehen. Steuernamen erhältst du mit /tax-listall.
aliases: [tax-infoall]
permission: taxes.admin.infoall
permission-message: §6Du benötigst die Berechtigung §5<permission> §6um diesen Befehl auszuführen.
usage: §6Befehlsfehler! Korrekte Verwendung ist §5/<command> <Steuername>
taxes-reload:
description: Lädt die Taxes Konfigurationsdaten neu.
aliases: [tax-reload]
permission: taxes.admin.reload
permission-message: §6Du benötigst die Berechtigung §5<permission> §6um diesen Befehl auszuführen.
usage: §6Befehlsfehler! Korrekte Verwendung ist §5/<command>
permissions:
taxes.*:
description: Gibt alle Berechtigungen für dieses Plugin.
default: op
children:
taxes.admin: true
taxes.player: true
taxes.player:
description: Gibt Zugriff auf alle Spieler-Berechtigungen.
default: op
children:
taxes.player.help: true
taxes.player.list: true
taxes.player.info: true
taxes.admin:
description: Gibt Zugriff auf alle Admin-Berechtigungen.
default: op
children:
taxes.admin.reload: true
taxes.admin.collect: true
taxes.admin.collectall: true
taxes.admin.listall: true
taxes.admin.infoall: true
taxes.bypass.*:
description: Gibt Zugriff auf alle Umgehungs-Berechtigungen.
default: false
children:
taxes.bypass.playerbalancetax: true
taxes.player.help:
description: Gibt Zugriff auf den /taxes Befehl.
default: op
taxes.player.list:
description: Gibt Zugriff auf den /taxes-list Befehl.
default: op
taxes.player.info:
description: Gibt Zugriff auf den /taxes-info Befehl.
default: op
taxes.admin.reload:
description: Gibt Zugriff auf den /taxes-reload Befehl.
default: op
taxes.admin.collect:
description: Gibt Zugriff auf den /taxes-collect Befehl.
default: op
taxes.admin.collectall:
description: Gibt Zugriff auf den /taxes-collectall Befehl.
default: op
taxes.admin.listall:
description: Gibt Zugriff auf den /taxes-listall Befehl.
default: op
taxes.admin.infoall:
description: Gibt Zugriff auf den /taxes-infoall Befehl.
default: op
taxes.bypass.playerbalancetax:
description: Spieler-Kontostand-Steuer wird nicht von Spielern mit dieser Berechtigung eingezogen.
default: false