Eine Bibliothek, die die Möglichkeit bietet, ein von MarkDown inspiriertes Markup zum Schreiben von Minecraft-Chat-Komponenten zu verwenden!
Es bietet eine benutzerdefinierte Markup-Syntax, die lose auf MarkDown basiert und die Möglichkeit bietet, die volle Leistungsfähigkeit von Komponentennachrichten mit der gleichen Einfachheit wie ältere Formatierungscodes zu nutzen. (Was es immer noch unterstützen kann!) Es enthält auch eine Möglichkeit, Platzhalter in den Nachrichten direkt zu ersetzen, sowohl string-basierte als auch komponentenbasierte!
Hierfür ist die Kyori-Adventure-Chat-API erforderlich. Sie müssen also eine der Plattformbibliotheken in Ihrem Projekt bereitstellen, um diese Nachrichten verwenden zu können! Eine einfache Implementierung finden Sie in diesem Plugin.
Beschreibung | Syntax | Weitere Informationen | Vorschau |
---|---|---|---|
Farberbe | &6Text | Codes formatieren | |
Farbe | &gold&Text | Farbnamen | |
RGB-Hex-Farbe | &#ff00ff&Text | Vollständiges Hexadezimalformat | |
RGB-Hex-Farbe | &#f0f&Text | Kurzformat (entspricht Langformat) | |
Gradient | &#f0f-#fff&Text | Inline-Verläufe | |
Regenbogen | &rainbow&Text | Inline-Regenbogen | |
Regenbogenphase | &rainbow:20&Text | Inline Rainbow mit einer Phase | |
Deutlich | **Text** | ||
Kursiv | ##Text## | ||
Unterstrichen | __Text__ | ||
Durchgestrichen | ~~Text~~ | ||
Verschleiert | ??Text?? |
Sie können Klick- und Hover-Ereignisse mit der häufig verwendeten MarkDown-Linksyntax definieren und auf diese Weise Formatierung, Schriftart und Farben festlegen.
Beschreibung | Syntax |
---|---|
Allgemeine Syntax | [Text](text-color text-formatting... link hover text) |
Einfacher Link | [Text](https://example.com) |
Einfacher Befehl | [Text](/command to run) |
Link + Hover | [Text](https://example.com Hover Text) |
Textformatierung | [Text](blue underline !bold) |
Gradient | [Text](#fff-#000) |
Regenbogen | [Text](rainbow) |
Phasenweiser Regenbogen | [Text](rainbow:20) |
Textformatierung + Link + Hover | [Text](#0000ff underline https://example.com Hover Text) |
Beschreibung | Syntax | Weitere Informationen |
---|---|---|
Allgemeine Syntax | [Text](action=value) | ClickEvent.Action, HoverEvent.Action |
Link | [Text](open_url=https://example.com) | |
Farbe | [Text](color=red) | Farbnamen |
RGB-Hex-Farbe | [Text](color=#ff00ff) | Vollständiges Hexadezimalformat |
RGB-Hex-Farbe | [Text](color=#f0f) | Kurzformat (entspricht Langformat) |
RGB-Farbverlauf | [Text](color=#fff-#000) | Farbverlauf aus zwei Farben. (Unterstützt alle Farbformen) |
RGB-Farbverlauf | [Text](color=#fff-#333-#222) | Farbverlauf aus drei Farben. |
RGB-Regenbogen | [Text](color=rainbow) | Ein RGB-Regenbogen. |
Phasenweiser RGB-Regenbogen | [Text](color=rainbow:50) | Ein RGB-Regenbogen mit einer bestimmten Phase. |
Formatierung | [Text](format=underline,bold) | Geben Sie die Formatierung an |
Formatierung deaktivieren | [Text](format=!underline) | Deaktivieren Sie die spezifische Formatierung mit einem ! Präfix |
Schriftart | [Text](font=custom_font) | Legen Sie eine benutzerdefinierte Schriftart aus einem Ressourcenpaket fest |
Befehl ausführen | [Text](run_command=/command string) | Befehl beim Klicken ausführen |
Befehl vorschlagen | [Text](suggest_command=/command) | Schlagen Sie beim Klicken einen Befehl vor |
Einfacher Schwebeflug | [Text](hover=Hover Text) | Hovertext anzeigen |
Hover-Text | [Text](show_text=Hover Text) | Hovertext anzeigen |
Hover-Entitätsinformationen | [Text](show_entity=uuid:pig Name) | Entitätsinformationen anzeigen. |
Bewegen Sie den Mauszeiger über die Artikelinformationen | [Text](show_item=stone*2 nbt...) | Artikelinformationen anzeigen, zusätzliche Informationen müssen als Zeichenfolge des NBT in JSON bereitgestellt werden |
Einfügen | [Text](insert=insert into input) | Bei gedrückter Umschalttaste in die Eingabe einfügen, mit anderen Ereignissen kombinierbar |
Alle erweiterten Einstellungen können verkettet/in eine Ereignisdefinition einbezogen werden. Sie können jedoch nicht mehrere verschiedene Farben oder Klick- und Hover-Aktionen hinzufügen!
Der Haupt-API-Zugriff der Bibliothek erfolgt über die MineDown -Klasse und ihre Parse-Methoden.
Sie können es beispielsweise so in Ihrem Bukkit-Plugin verwenden:
BukkitAudiences . create ( plugin ). player ( player ). sendMessage ( new MineDown ( rawMessage ). replace ( replacements ). toComponent ());
oder mit einem statischen Ansatz:
BukkitAudiences . create ( plugin ). player ( player ). sendMessage ( MineDown . parse ( rawMessage , replacements ));
Weitere Informationen zur Bibliothek und den enthaltenen Klassen finden Sie in den MineDown JavaDocs.
Sie können diese Bibliothek mithilfe von Maven ganz einfach in Ihr Plugin einbinden. Stellen Sie sicher, dass Sie es in das Paket Ihres Plugins verschieben!
< repositories >
< repository >
< id >minebench-repo</ id >
< url >https://repo.minebench.de/</ url >
</ repository >
</ repositories >
< dependencies >
< dependency >
< groupId >de.themoep</ groupId >
< artifactId > MineDown -adventure</ artifactId >
< version >1.7.3-SNAPSHOT</ version >
< scope >compile</ scope >
</ dependency >
</ dependencies >
Die ursprüngliche BungeeCord-Chat-Bibliothek wird nicht mehr gepflegt und wurde durch diese Abenteuerimplementierung ersetzt. Wenn Sie weiterhin die Legacy-Version verwenden müssen (zu finden im legacy
Zweig), können Sie sie wie folgt einbinden:
< dependencies >
< dependency >
< groupId >de.themoep</ groupId >
< artifactId > MineDown </ artifactId >
< version >1.7.1-SNAPSHOT</ version >
< scope >compile</ scope >
</ dependency >
</ dependencies >
< build >
< plugins >
< plugin >
< artifactId >maven-shade-plugin</ artifactId >
< version >3.1.0</ version >
< configuration >
< relocations >
< relocation >
< pattern >de.themoep. MineDown </ pattern >
< shadedPattern >your.package.path.libraries. MineDown </ shadedPattern >
</ relocation >
</ relocations >
</ configuration >
< executions >
< execution >
< phase >package</ phase >
< goals >
< goal >shade</ goal >
</ goals >
</ execution >
</ executions >
</ plugin >
</ plugins >
</ build >
Alternativ können Sie auch direkt auf mein MineDown Plugin zurückgreifen, anstatt in dieser Bibliothek zu schattieren! MineDown Plugin enthält eine nicht verschobene Version dieser Bibliothek.
MineDown ist unter der MIT-Open-Source-Lizenz lizenziert:
Copyright (c) 2024 Max Lee (https://github.com/Phoenix616)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.