Uma biblioteca que adiciona a capacidade de usar uma marcação inspirada no MarkDown para escrever componentes de bate-papo do Minecraft!
Ele fornece uma sintaxe de marcação personalizada vagamente baseada no MarkDown que adiciona a capacidade de usar todo o poder das mensagens dos componentes com a mesma simplicidade dos códigos de formatação legados. (O que ainda pode suportar!) Também inclui uma maneira de substituir diretamente os espaços reservados nas mensagens, tanto baseadas em strings quanto em componentes!
Isso requer a API de bate-papo kyori-adventure, então você precisa fornecer uma das bibliotecas da plataforma em seu projeto para usar essas mensagens! Veja este plugin para uma implementação simples.
Descrição | Sintaxe | Mais informações | Visualização |
---|---|---|---|
Legado de cores | &6Text | Códigos de formatação | |
Cor | &gold&Text | Nomes de cores | |
Cor hexadecimal RGB | &#ff00ff&Text | Formato hexadecimal completo | |
Cor hexadecimal RGB | &#f0f&Text | Formato curto (equivalente ao longo) | |
Gradiente | &#f0f-#fff&Text | Gradientes embutidos | |
Arco-íris | &rainbow&Text | Arco-íris embutido | |
Fase Arco-Íris | &rainbow:20&Text | Arco-íris em linha com uma fase | |
Audacioso | **Text** | ||
itálico | ##Text## | ||
Sublinhado | __Text__ | ||
Tachado | ~~Text~~ | ||
Ofuscado | ??Text?? |
Você pode definir eventos de clique e foco com a sintaxe de link MarkDown comumente usada, bem como especificar formatação, fonte e cores dessa forma.
Descrição | Sintaxe |
---|---|
Sintaxe geral | [Text](text-color text-formatting... link hover text) |
Link Simples | [Text](https://example.com) |
Comando Simples | [Text](/command to run) |
Link + Passar o mouse | [Text](https://example.com Hover Text) |
Formatação de texto | [Text](blue underline !bold) |
Gradiente | [Text](#fff-#000) |
Arco-íris | [Text](rainbow) |
Arco-íris em fases | [Text](rainbow:20) |
Formatação de texto + Link + Passar o mouse | [Text](#0000ff underline https://example.com Hover Text) |
Descrição | Sintaxe | Mais informações |
---|---|---|
Sintaxe geral | [Text](action=value) | ClickEvent.Action, HoverEvent.Action |
Link | [Text](open_url=https://example.com) | |
Cor | [Text](color=red) | Nomes de cores |
Cor hexadecimal RGB | [Text](color=#ff00ff) | Formato hexadecimal completo |
Cor hexadecimal RGB | [Text](color=#f0f) | Formato curto (equivalente ao longo) |
Gradiente de cores RGB | [Text](color=#fff-#000) | Gradiente de duas cores. (Suporta todas as formas de cores) |
Gradiente de cores RGB | [Text](color=#fff-#333-#222) | Gradiente de três cores. |
Arco-íris RGB | [Text](color=rainbow) | Um arco-íris RGB. |
Arco-íris RGB em fases | [Text](color=rainbow:50) | Um arco-íris RGB com uma fase específica. |
Formatação | [Text](format=underline,bold) | Especifique a formatação |
Desativar formatação | [Text](format=!underline) | Desative a formatação específica com um ! prefixo |
Fonte | [Text](font=custom_font) | Defina uma fonte personalizada de um pacote de recursos |
Executar comando | [Text](run_command=/command string) | Executar comando ao clicar |
Sugerir Comando | [Text](suggest_command=/command) | Sugira um comando ao clicar |
Passe o mouse simples | [Text](hover=Hover Text) | Mostrar texto instantâneo |
Texto flutuante | [Text](show_text=Hover Text) | Mostrar texto instantâneo |
Passe o mouse sobre informações da entidade | [Text](show_entity=uuid:pig Name) | Mostrar informações da entidade. |
Informações do item suspenso | [Text](show_item=stone*2 nbt...) | Mostrar informações do item, informações adicionais precisam ser fornecidas como uma string do nbt em json |
Inserção | [Text](insert=insert into input) | Inserir na entrada ao clicar em shift, pode ser combinado com outros eventos |
Todas as configurações avançadas podem ser encadeadas/incluídas em uma definição de evento. No entanto, você não pode adicionar várias cores diferentes ou clicar e passar o mouse!
O principal acesso à API da biblioteca é através do MineDown .class e seus métodos de análise.
Por exemplo, você pode usá-lo assim em seu plugin Bukkit:
BukkitAudiences . create ( plugin ). player ( player ). sendMessage ( new MineDown ( rawMessage ). replace ( replacements ). toComponent ());
ou com uma abordagem estática:
BukkitAudiences . create ( plugin ). player ( player ). sendMessage ( MineDown . parse ( rawMessage , replacements ));
Dê uma olhada no MineDown JavaDocs para obter informações mais detalhadas sobre a biblioteca e as classes incluídas.
Você pode incluir facilmente esta biblioteca em seu plugin usando maven. Certifique-se de realocá-lo no pacote do seu plugin!
< 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 >
A biblioteca original de bate-papo do BungeeCord não é mais mantida e foi substituída por esta implementação de aventura. Se você ainda precisar usar a versão legada (encontrada no branch legacy
), você pode incluí-la assim:
< 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 >
Alternativamente, você também pode depender diretamente do meu plugin MineDown em vez de sombrear nesta biblioteca! MineDown Plugin inclui uma versão não realocada desta biblioteca.
MineDown é licenciado sob a licença de código aberto do 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.