La interfaz de usuario moderna (por Icyllis Milica) es un marco de aplicaciones de escritorio diseñado para el desarrollo de software de representación 2D y 3D independiente. Hace uso de API y tecnologías gráficas 3D modernas para proporcionar un alto rendimiento de representación en tiempo real. Este marco es similar a Javafx o Android, con un conjunto completo de bucles de eventos, sistemas de representación y componentes de la UI, que también son adecuados para el desarrollo de juegos.
También hay una versión oficial que se extiende a Minecraft y Forge, combina la interfaz de usuario moderna con Minecraft y proporciona una serie de características adicionales y API de modificación. Ver Repositorio Modernui-MC.
¿Cuáles son las ventajas?
Funcionalidad de la interfaz de usuario potente, buen soporte de internacionalización, motor de diseño de texto completo basado en Harfbuzz. Este marco tiene un potente motor gráfico, que es bueno para OpenGL 3.3 y los perfiles de núcleos OpenGL 4.5 y está específicamente optimizado para GPU de escritorio, algunos diseños de motores son mejores que Google Skia.
Este proyecto todavía está en una etapa relativamente temprana.
Las versiones para Minecraft Mod están disponibles en Curseforge.
Si tiene alguna pregunta, no dude en unirse a nuestro servidor Discord.
Javadoc
Especificación (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)
}
Se prefiere JDK 21. El comando de compilación: gradlew build
La interfaz de usuario moderna requiere la base de código ARC 3D para construir. ARC 3D es un motor gráfico de bajo nivel y con frecuencia actualizado. No se publicará en el repositorio de Maven. Una instantánea se fusiona en este repositorio en el subdirectorio /external , y todas las clases y fuentes Arc3D se incluirán en ModernUI-Core . Puede seguir estos pasos cuando desee actualizarlo.
// 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: No debe hacer ningún cambio local a /external .