OpenPrestige

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
bbldrizzyandClaude Sonnet 5.5 committed 2026-10-21 21:24:22 +01:00
commit d3d4a988eb
774 files changed
+120915

No files matched your search

+100
View File
@@ -0,0 +1,100 @@
plugins {
id 'net.fabricmc.fabric-loom-remap' version '1.17.21'
}
version = project.mod_version
group = project.maven_group
base {
archivesName = project.archives_base_name
}
loom {
accessWidenerPath = file('src/main/resources/prestige-client.accesswidener')
runs {
client {
client()
ideConfigGenerated(true)
runDir 'run'
programArg '--offlineDeveloperMode'
// dev command file / screenshot facility of the overlay: ./gradlew runClient -PuiCmd=<path>
if (project.hasProperty('uiCmd')) vmArg "-Dprestige.ui.cmd=${project.property('uiCmd')}"
// dev: -PdumpClasses=ap,C,c9 forces class init of instrumented classes (tools/java/ClinitDump.java, bridge/DumpHook)
if (project.hasProperty('dumpClasses')) vmArg "-Dprestige.dump=${project.property('dumpClasses')}"
// engine test driver (engine/EngineDev): ./gradlew runClient -PengineCmd=<command file> [-PengineReport=<seconds>] [-PquickPlay=<world>]
if (project.hasProperty('engineCmd')) vmArg "-Dprestige.engine.cmd=${project.property('engineCmd')}"
if (project.hasProperty('engineReport')) vmArg "-Dprestige.engine.report=${project.property('engineReport')}"
if (project.hasProperty('quickPlay')) { programArg '--quickPlaySingleplayer'; programArg project.property('quickPlay') }
}
}
mods {
"prestige" {
sourceSet sourceSets.main
}
}
}
configurations {
// Libraries copied (unpacked) into the final mod jar so it is self-contained.
shade
implementation.extendsFrom shade
engineMappings
}
repositories {
mavenCentral()
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
// Dear ImGui. The binding contains the Java classes, lwjgl3 the GL3/GLFW backend and
// natives-windows the imgui-java64.dll (extracted from the jar at runtime by imgui-java).
shade "io.github.spair:imgui-java-binding:${project.imgui_version}"
// imgui-java-lwjgl3 pulls LWJGL 3.4.1 transitively, which replaces Minecraft's 3.3.3 jars and breaks world saving
shade("io.github.spair:imgui-java-lwjgl3:${project.imgui_version}") { exclude group: 'org.lwjgl' }
shade "io.github.spair:imgui-java-natives-windows:${project.imgui_version}"
// ClassTransform (net.lenni0451, customised build); engine/EnginePlugin uses it to apply the client's @CTransformer hooks.
shade files('libs/classtransform-bundled.jar')
// Yarn tiny shipped as prestige-engine/mappings.tiny for the production (Intermediary) runtime
engineMappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
}
processResources {
inputs.property "version", project.version
filteringCharset "UTF-8"
filesMatching("fabric.mod.json") {
expand "version": project.version
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
options.release = 21
}
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
withSourcesJar()
}
jar {
// Unpack the shaded libs (imgui classes + native dll, ClassTransform) into the mod jar.
from({
configurations.shade.collect { it.isDirectory() ? it : zipTree(it) }
}) {
exclude 'META-INF/MANIFEST.MF', 'META-INF/*.SF', 'META-INF/*.RSA', 'META-INF/*.DSA'
exclude 'module-info.class', 'META-INF/versions/**'
}
from({ zipTree(configurations.engineMappings.singleFile) }) {
include 'mappings/mappings.tiny'
eachFile { it.relativePath = new RelativePath(true, 'prestige-engine', 'mappings.tiny') }
includeEmptyDirs = false
}
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}