A UI moderna (de Icyllis Milica) é uma estrutura de aplicativos para desktop projetada para desenvolvimento de software de renderização 2D e 3D independente. Faz uso de APIs e tecnologias gráficas 3D modernas para fornecer alto desempenho em tempo real. Essa estrutura é semelhante ao Javafx ou Android, com um conjunto completo de loops de eventos, sistemas de renderização e componentes da interface do usuário, que também são adequados para o desenvolvimento de jogos.
Há também uma versão oficial que se estende ao Minecraft e Forge, combina a interface do usuário moderna com o Minecraft e fornece uma série de recursos adicionais e APIs de modificação. Veja o repositório ModernUi-MC.
Quais são as vantagens?
Funcionalidade poderosa da interface do usuário, bom suporte de internacionalização, mecanismo completo de layout de texto com base no Harfbuzz. Essa estrutura possui um poderoso mecanismo gráfico, que é bom para o OpenGL 3.3 e o OpenGL 4.5 Core Perfis e é otimizado especificamente para GPUs de mesa, alguns projetos de motor são melhores que o Google Skia.
Este projeto ainda está em um estágio relativamente inicial.
Os lançamentos para o Minecraft Mod estão disponíveis no Curseforge.
Se você tiver alguma dúvida, sinta -se à vontade para ingressar no nosso servidor Discord.
Javadoc
Especificação (WIP)
repositories {
maven {
name 'IzzelAliz Maven'
url 'https://maven.izzel.io/releases/'
}
}
dependencies {
implementation "icyllis.modernui:ModernUI-Core:${modernui_core_version}"
// apply appropriate LWJGL platform here (mandatory)
// apply other Modern UI modules (optional)
}
O JDK 21 é preferido. O comando de construção: gradlew build
A interface do usuário moderna requer a base de código 3D da ARC para construir. O ARC 3D é um mecanismo gráfico de baixo nível e freqüentemente atualizado. Não será publicado no MAVEN Repository. Um instantâneo é mesclado neste repositório /external , e todas as classes e fontes Arc3D serão incluídas no ModernUI-Core . Você pode seguir estas etapas quando deseja atualizá -las.
// add remote if not
git remote add -f --no-tags arc3d [email protected]:BloCamLimb/Arc3D.git
// fetch if not
git fetch --no-tags arc3d
// delete the old code if any
git rm -rf external/Arc3D
// merge arc3d/master branch
git merge -s ours --no-commit arc3d/master --allow-unrelated-histories
// read the root directory of arc3d/master into ' external/Arc3D '
git read-tree --prefix=external/Arc3D -u arc3d/master:
git commit Nota: você não deve fazer alterações locais para /external .