Skip to content

Creates modern and flexible UI for desktop applications (and Minecraft), including 2D graphics rendering, text layout engine, animations and so on.

License

Notifications You must be signed in to change notification settings

glaicodes/ModernUI

 
 

Repository files navigation

Modern UI

CurseForge CurseForge MavenCore Discord

Description

Modern UI is a desktop application framework designed for standalone 2D and 3D rendering software development. It makes use of modern 3D graphical APIs and technologies to provide high real-time rendering performance. For good measure, Modern UI improves and optimizes a set of features used by Android Open Source Project and its own set of internationalization supporting text layout engine meeting Unicode specification.

There is also an official version that extends to Minecraft and Forge, which combines Modern UI with Minecraft and provides a large number of additional features and modding APIs.

This project is still in early stages.
Releases for Minecraft Mod are available on CurseForge.
If you have any questions, feel free to join our Discord server.

License

  • Modern UI
    • Copyright (C) 2019-2022 BloCamLimb. All rights reserved.
    • License
    • Copyright (C) 2006 The Android Open Source Project
    • License
  • Textures, Shaders, Models, Documents, Translations
    • Copyright (C) 2019-2022 BloCamLimb et al.
    • License
  • Sounds
    • License
  • Third Party Libraries
  • An explanation in Chinese
    • 许可协议即合同,具有法律约束力。无论出于何种目的,只要你使用 Modern UI,即代表你已经阅读并接受了全部条款。

Adding Modern UI to your project

Environment requirements

  • Windows, Linux or macOS (macOS may not be supported)
  • JDK 17.0.1 or above
  • OpenGL 4.5 or above (see Mesa Zink for macOS users)
  • (Optional) Forge 1.18-38.0.15

Gradle configuration

repositories {
    maven {
        name 'IzzelAliz Maven'
        url 'https://maven.izzel.io/releases/'
    }
}
dependencies {
    implementation "icyllis.modernui:ModernUI-Core:${modernui_version}"
}
ForgeGradle 5

You need to regenerate run configurations after adding these lines.

minecraft {
    runs {
        client {
            property 'mixin.env.remapRefMap', 'true'
            property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
        }
        server {
            property 'mixin.env.remapRefMap', 'true'
            property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
        }
    }
}
configurations {
    library
    implementation.extendsFrom library
}
minecraft.runs.all {
    lazyToken('minecraft_classpath') {
        configurations.library.copyRecursive().resolve().collect { it.absolutePath }.join(File.pathSeparator)
    }
}
dependencies {
    library "icyllis.modernui:ModernUI-Core:${modernui_version}"
    implementation fg.deobf("icyllis.modernui:ModernUI-Forge:${minecraft_version}-${modernui_version}")
}

Screenshots

new3.gif new2 new

out-of-date

a b

About

Creates modern and flexible UI for desktop applications (and Minecraft), including 2D graphics rendering, text layout engine, animations and so on.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.3%
  • Other 0.7%