Pustaka yang menambahkan kemampuan untuk menggunakan markup yang terinspirasi MarkDown untuk menulis komponen obrolan Minecraft!
Ini menyediakan sintaks markup khusus yang secara longgar didasarkan pada MarkDown yang menambahkan kemampuan untuk menggunakan kekuatan penuh pesan komponen dengan kesederhanaan yang sama seperti kode pemformatan lama. (Yang masih dapat didukung!) Ini juga mencakup cara untuk langsung mengganti placeholder dalam pesan, baik yang berbasis string maupun yang berbasis komponen!
Ini memerlukan API obrolan kyori-adventure sehingga Anda perlu menyediakan salah satu perpustakaan platform di proyek Anda untuk menggunakan pesan-pesan ini! Lihat plugin ini untuk implementasi sederhana.
Keterangan | Sintaksis | Info Lebih Lanjut | Pratinjau |
---|---|---|---|
Warisan warna | &6Text | Memformat kode | |
Warna | &gold&Text | Nama warna | |
Warna Hex RGB | &#ff00ff&Text | Format heksadesimal penuh | |
Warna Hex RGB | &#f0f&Text | Format pendek (setara dengan format panjang) | |
Gradien | &#f0f-#fff&Text | Gradien sebaris | |
Pelangi | &rainbow&Text | Pelangi sebaris | |
Fase Pelangi | &rainbow:20&Text | Sejajarkan Pelangi dengan fase | |
Berani | **Text** | ||
miring | ##Text## | ||
Digarisbawahi | __Text__ | ||
Dicoret | ~~Text~~ | ||
Dikaburkan | ??Text?? |
Anda dapat menentukan peristiwa klik dan arahkan kursor dengan sintaks tautan MarkDown yang umum digunakan serta menentukan format, font, dan warna dengan cara tersebut.
Keterangan | Sintaksis |
---|---|
Sintaks umum | [Text](text-color text-formatting... link hover text) |
Tautan Sederhana | [Text](https://example.com) |
Perintah Sederhana | [Text](/command to run) |
Tautan + Arahkan | [Text](https://example.com Hover Text) |
Pemformatan teks | [Text](blue underline !bold) |
Gradien | [Text](#fff-#000) |
Pelangi | [Text](rainbow) |
Pelangi Bertahap | [Text](rainbow:20) |
Pemformatan teks + Tautan + Arahkan kursor | [Text](#0000ff underline https://example.com Hover Text) |
Keterangan | Sintaksis | Info Lebih Lanjut |
---|---|---|
Sintaks umum | [Text](action=value) | ClickEvent.Action, HoverEvent.Action |
Link | [Text](open_url=https://example.com) | |
Warna | [Text](color=red) | Nama warna |
Warna Hex RGB | [Text](color=#ff00ff) | Format heksadesimal penuh |
Warna Hex RGB | [Text](color=#f0f) | Format pendek (setara dengan format panjang) |
Gradien Warna RGB | [Text](color=#fff-#000) | Gradien dua warna. (Mendukung semua bentuk warna) |
Gradien Warna RGB | [Text](color=#fff-#333-#222) | Gradien tiga warna. |
Pelangi RGB | [Text](color=rainbow) | Pelangi RGB. |
Pelangi RGB Bertahap | [Text](color=rainbow:50) | Pelangi RGB dengan fase tertentu. |
Pemformatan | [Text](format=underline,bold) | Tentukan pemformatan |
Nonaktifkan Pemformatan | [Text](format=!underline) | Nonaktifkan pemformatan tertentu dengan ! awalan |
huruf | [Text](font=custom_font) | Atur font khusus dari paket sumber daya |
Jalankan Perintah | [Text](run_command=/command string) | Jalankan perintah saat diklik |
Sarankan Perintah | [Text](suggest_command=/command) | Sarankan perintah saat diklik |
Arahkan Sederhana | [Text](hover=Hover Text) | Tampilkan teks arahkan kursor |
Arahkan Teks | [Text](show_text=Hover Text) | Tampilkan teks arahkan kursor |
Arahkan Info Entitas | [Text](show_entity=uuid:pig Name) | Tampilkan informasi entitas. |
Arahkan Info Barang | [Text](show_item=stone*2 nbt...) | Tampilkan informasi item, informasi tambahan perlu diberikan sebagai string nbt di json |
Insersi | [Text](insert=insert into input) | Dimasukkan ke dalam input pada shift klik, dapat digabungkan dengan event lainnya |
Semua pengaturan lanjutan dapat dirangkai/dimasukkan dalam definisi peristiwa. Namun Anda tidak dapat menambahkan beberapa warna berbeda atau tindakan klik dan arahkan kursor!
Akses API utama perpustakaan adalah melalui kelas MineDown dan metode parse-nya.
Misalnya Anda dapat menggunakannya seperti ini di plugin Bukkit Anda:
BukkitAudiences . create ( plugin ). player ( player ). sendMessage ( new MineDown ( rawMessage ). replace ( replacements ). toComponent ());
atau dengan pendekatan statis:
BukkitAudiences . create ( plugin ). player ( player ). sendMessage ( MineDown . parse ( rawMessage , replacements ));
Lihatlah MineDown JavaDocs untuk informasi lebih rinci tentang perpustakaan dan kelas yang disertakan.
Anda dapat dengan mudah memasukkan perpustakaan ini ke dalam plugin Anda dengan menggunakan maven. Pastikan untuk memindahkannya ke paket plugin Anda!
< 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 >
Pustaka obrolan BungeeCord yang asli tidak lagi dipertahankan dan telah digantikan oleh implementasi petualangan ini. Jika Anda masih perlu menggunakan versi lawas (terdapat di cabang legacy
), Anda dapat memasukkannya seperti ini:
< 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 >
Alternatifnya, Anda juga dapat langsung bergantung pada Plugin MineDown saya alih-alih membuat bayangan di perpustakaan ini! Plugin MineDown menyertakan versi perpustakaan ini yang tidak direlokasi.
MineDown dilisensikan di bawah lisensi sumber terbuka MIT:
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.