---
# System prepended metadata

title: Untitled

---

Themen:
* Welcher Application/MCserver
    * PaperMC-1.16.5-714b
* Welche Java Version
    * openJDK-1.11
* Welche Maven Version
    * Apache Maven 3.8.1
* Packaging Format
    * JAR
* Was für eine Datenbank
    * MariaDB 10.5.9-MariaDB-1
* Coding guidelines
    * Package: net.heroblade.mc
    * Artifact-ID: RPG-Attributes
    * Sprache im Code: Englisch 
    * Möglichst viel auf Config Files setzen
* In welchem Format sollten Configs gespeichert sein (YAML, JSON, XML)
    * YAML 
    * Notfalls JSON
* Gewünschte Funktionen für erste Version
    * Allgemeine Anforderungen
        * **Werte müssen von altem auf neues System convertiert werden**
        * Möglichst viele Informationen über Placeholder API freigeben/abfragbar machen.

    * Levelsystem
        * Anhand erhaltener EP(XP) wird ein neues Level errechnet. 
        * Konfigurierbares Max-Level.
        * Über Config eine Formel zum Levelberechnen einlesen mit lvl Platzhalter. bsp: '((23*(lvl^2))-(6*(lvl*3))) + 15'
        * Verleihen eines Attribute-Points pro Level Aufstieg.
        * EP(XP) sollen nur über einen Befehl erhöht werden.<br/>NICHT ÜBER DAS TÖTEN DER MONSTER SELBST!
        * Ausführbar nur von OP und Server/System
    * Attributsystem
        * Die Werte sollen prozentual erhöht werden.
        * Attribute sollen in Gruppen zusammen gefasst werden.
        * Pro Attributespunkt sollen alle Werte einer Gruppe erhöht werden.
        * Maximaler Wert pro Gruppe soll definierbar sein.
        * Verteilen der Attributespunkte soll über Befehle geschehen. (+ und -)
        * Wählbare Attribute:
            * HP erhöhen
            * Physikalische Verteidigung erhöhen
            * Physikalischer Schaden erhöhen (Schwert/Bogen/Tools/etc.)
            * Rückstoßresistenz erhöhen
            * Verteidigung gegen Feuerschaden (im Feuer)
            * Verteidigung gegen Feuerschaden-Tick-Schaden (Brennend out of Fire)
            * Verteidigung gegen Lavaschaden
            * Verteidigung gegen Giftschaden
            * Verteidigung gegen Blitzschaden
            * Erhöhung der Laufgeschwindigkeit
            * Erhöhung des Glücks (Angelglück)
            * Verteidigung gegen Fallschaden
            * Verteidigung gegen Contakt(z.B. Kaktus-schaden)
            * Verteidigung gegen Ertrinkungsschaden
            * Verteidigung gegen gegen die Wand fliegen Schaden (defence fly into wall)
            * Verteidigung gegen heißen Boden (z.b. Magma Block)
            * Verringerung des Hungers
            * Vergeben von positiven Effekten <br/> Haste(Abbaugeschwindigkeit = Pflicht, der Rest kann Backlog sein)
            
* Erstellen eines DB Modells / Definieren des Aufbaus
    * Es soll eine weitere Tabelle erstellt werden, welche alle Attributsgruppierungen versioniert und die aktuellste mit einem Flag (weitere Spalte "aktiv") versieht. Somit ermöglichen wir es die Änderungen der Attribute von alt auf neue Zuweisung zu convertieren.
* Backlog
    * Attributsystem
        * Wählbare Attribute:
            * Ein Glückattribut: Erhaltene EP(XP) werden erhöht.
    * Allgemeine Anforderungen
        * Topliste der Spieler anhand der Level (ggf. über Placeholder API)