diff --git a/build.gradle b/build.gradle index 3dbc5c94..6219fd07 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,11 @@ +import groovy.json.JsonOutput +import groovy.json.JsonSlurper + plugins { - alias libs.plugins.quilt.licenser apply false - alias libs.plugins.mdg.plugin + id 'maven-publish' + id 'signing' + id 'java-library' alias libs.plugins.managedversioning - alias libs.plugins.architectury.loom apply false } managedVersioning { @@ -18,6 +21,7 @@ managedVersioning { onBranches.add '1.*' gradleJob { name.set 'build' + javaVersion.set '21' gradlew 'Build', 'checkLicenses', 'build' gradlew 'Publish', 'publish' mavenSnapshot('github') @@ -28,15 +32,54 @@ managedVersioning { workflowDispatch.set(true) gradleJob { name.set 'build' + javaVersion.set '21' + buildCache() step { setupGitUser() } readOnly.set false gradlew 'Tag Release', 'tagRelease' - gradlew 'Build', 'checkLicenses', 'build', 'prepareJavadoc' + gradlew 'Build', 'build' step { run.set 'git push && git push --tags' } + recordVersion 'Record Version', 'version' + sign() + mavenCentral() + modPublishing() + } + gradleJob { + name.set 'publishCentral' + javaVersion.set '21' + buildCache() + name.set 'publish' + needs.add('build') + tag.set('${{needs.build.outputs.version}}') + gradlew 'Publish', 'publish', 'closeAndReleaseSonatypeStagingRepository' + sign() + mavenCentral() + modPublishing() + } + gradleJob { + name.set 'publishMod' + javaVersion.set '21' + buildCache() + name.set 'publish' + needs.add('build') + tag.set('${{needs.build.outputs.version}}') + gradlew 'Publish', 'modrinth', 'curseforge' + sign() + mavenCentral() + modPublishing() + } + gradleJob { + name.set 'publishJavadoc' + javaVersion.set '21' + buildCache() + name.set 'publish' + needs.add('build') + tag.set('${{needs.build.outputs.version}}') + gradlew 'Build', 'prepareJavadoc' step { name.set 'Upload Javadoc' uses.set 'andreiio/rclone-action@v1.2.0' @@ -49,8 +92,8 @@ managedVersioning { env['RCLONE_CONFIG_R2_REGION'] = 'auto' env['RCLONE_CONFIG_R2_ACL'] = 'private' } - gradlew 'Publish', 'publish', 'modrinth', 'curseforge' - mavenRelease('github') + sign() + mavenCentral() modPublishing() } } @@ -59,6 +102,7 @@ managedVersioning { pullRequest.set(true) gradleJob { name.set 'build' + javaVersion.set '21' gradlew 'Build', 'checkLicenses', 'build' gradlew 'Publish', 'publish' pullRequestArtifact() @@ -79,64 +123,122 @@ managedVersioning.apply() println "Building: $version" -configurations { - license { - canBeResolved = false - canBeConsumed = true - } -} +dependencies { + compileOnly cLibs.bundles.compileonly + annotationProcessor cLibs.bundles.annotationprocessor + compileOnly libs.fabric.mixin -artifacts { - add 'license', file("LICENSE") + fabricCompileOnly cLibs.bundles.compileonly + fabricAnnotationProcessor cLibs.bundles.annotationprocessor + modFabricImplementation libs.fabric.loader + modFabricImplementation libs.fabric.api + modFabricCompileOnly libs.owolib + + neoforgeCompileOnly cLibs.bundles.compileonly + neoforgeAnnotationProcessor cLibs.bundles.annotationprocessor } -modsDotGroovy { - dslVersion = libs.versions.mdg.dsl.get() - platform 'multiloader' - multiloader { - forge = [project(':neoforge')] - fabric = [project(':fabriquilt')] - quilt = [] +java.toolchain.languageVersion = JavaLanguageVersion.of(21) + +java { + withSourcesJar() + withJavadocJar() + registerFeature("neoforge") { + usingSourceSet sourceSets.neoforge + capability(project.group as String, project.name, project.version as String) + capability(project.group as String, "$project.name-neoforge", project.version as String) + withSourcesJar() + withJavadocJar() + } + registerFeature("fabric") { + usingSourceSet sourceSets.fabric + capability(project.group as String, project.name, project.version as String) + capability(project.group as String, "$project.name-fabric", project.version as String) + withSourcesJar() + withJavadocJar() } } -subprojects { p -> - apply plugin: 'maven-publish' - apply plugin: 'java-library' - apply plugin: libs.plugins.quilt.licenser.get().pluginId +managedVersioning.publishing.mavenCentral() +managedVersioning.publishing.mavenPullRequest(publishing) +managedVersioning.publishing.mavenSnapshot(publishing) + +publishing { + publications { + mavenJava(MavenPublication) { + from components.java + managedVersioning.publishing.sign(project.signing, it) + } + } +} - java.toolchain.languageVersion = JavaLanguageVersion.of(17) - java.withSourcesJar() - java.withJavadocJar() +['javadoc', 'fabricJavadoc', 'neoforgeJavadoc'].each { + tasks.named(it, Javadoc) { + include "**/api/**" + } +} - license { - rule rootProject.file('header.txt') - exclude '**/*.mcmeta' - exclude '**/package-info.java' +['sourcesJar', 'fabricSourcesJar', 'neoforgeSourcesJar'].each { + tasks.named(it, Jar) { + from(files("LICENSE")) { + rename { "${it}_${project.name}" } + } } +} + +['jar', 'fabricJar', 'neoforgeJar'].each { + tasks.named(it, Jar) { + from(files("LICENSE")) { + rename { "${it}_${project.name}" } + } - jar { manifest { attributes([ + 'Specification-Title' : mod_name, + 'Specification-Vendor' : mod_author, + 'Specification-Version' : project.version, + 'Implementation-Title' : "$mod_name - ${project.name}", + 'Implementation-Version' : project.version, + 'Implementation-Vendor' : mod_author, + 'Built-On-Minecraft' : libs.versions.minecraft.get(), 'Implementation-Commit-Time': managedVersioning.timestamp.get(), 'Implementation-Commit': managedVersioning.hash.get() ]) } } +} - managedVersioning.publishing.mavenPullRequest(publishing) - managedVersioning.publishing.mavenSnapshot(publishing) - managedVersioning.publishing.mavenRelease(publishing) +processNeoforgeResources { + doLast { + fileTree(dir: outputs.files.asPath, include: "mixin.*.json").each { File file -> + def obj = new JsonSlurper().parse(file) + if (obj['refmap']) { + obj.remove('refmap') + } + file.text = JsonOutput.toJson(obj) + } + } } -javadoc { - source subprojects.collect { it.sourceSets.main.allJava } - classpath = files(subprojects.collect { it.sourceSets.main.compileClasspath }) +tasks.register('combinedJavadoc', Javadoc) { + source sourceSets.main.allJava + source sourceSets.fabric.allJava + source sourceSets.neoforge.allJava + def files = files() + [configurations.compileClasspath, configurations.fabricCompileClasspath, configurations.neoforgeCompileClasspath].each { + files.from it + dependsOn it + } + classpath = files include "**/api/**" } tasks.register('prepareJavadoc', Copy) { - dependsOn tasks.javadoc - from tasks.javadoc.outputs - into layout.buildDirectory.dir("prepareJavadoc/${project.group.replace('.','/')}/${project.version.split(/\./)[0]}") + dependsOn tasks.combinedJavadoc + from tasks.combinedJavadoc.outputs + into layout.buildDirectory.dir("prepareJavadoc/${(project.group as String).replace('.','/')}/${(project.version as String).split(/\./)[0]}") +} + +tasks.named('assemble') { + dependsOn tasks.prepareJavadoc } diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle deleted file mode 100644 index 1957c339..00000000 --- a/buildSrc/build.gradle +++ /dev/null @@ -1,3 +0,0 @@ -plugins { - id 'groovy-gradle-plugin' -} \ No newline at end of file diff --git a/buildSrc/src/main/groovy/convention.consumer.gradle b/buildSrc/src/main/groovy/convention.consumer.gradle deleted file mode 100644 index dc873b83..00000000 --- a/buildSrc/src/main/groovy/convention.consumer.gradle +++ /dev/null @@ -1,40 +0,0 @@ -plugins { - id 'convention.shared' -} - -configurations { - commonJava{ - canBeResolved = true - } - commonResources{ - canBeResolved = true - } -} - -dependencies { - compileOnly project(':common') - commonJava project(path: ':common', configuration: 'commonJava') - commonResources project(path: ':common', configuration: 'commonResources') -} - -tasks.named('compileJava', JavaCompile) { - dependsOn(configurations.commonJava) - source(configurations.commonJava) -} - -processResources { - dependsOn(configurations.commonResources) - from(configurations.commonResources) -} - -tasks.named('javadoc', Javadoc).configure { - dependsOn(configurations.commonJava) - source(configurations.commonJava) -} - -tasks.named("sourcesJar", Jar) { - dependsOn(configurations.commonJava) - from(configurations.commonJava) - dependsOn(configurations.commonResources) - from(configurations.commonResources) -} diff --git a/buildSrc/src/main/groovy/convention.shared.gradle b/buildSrc/src/main/groovy/convention.shared.gradle deleted file mode 100644 index 72709e91..00000000 --- a/buildSrc/src/main/groovy/convention.shared.gradle +++ /dev/null @@ -1,78 +0,0 @@ -plugins { - id 'java-library' - id 'maven-publish' - id 'idea' -} - -version = rootProject.version -group = rootProject.group - -java.toolchain.languageVersion = JavaLanguageVersion.of(17) -java.withSourcesJar() -java.withJavadocJar() - -javadoc { - include "**/api/**" -} - -base { - archivesName = "${artifact_id}-${project.name}-${libs.versions.minecraft.get()}" -} - -repositories { - mavenCentral() - maven { - name = 'Architectury' - url "https://maven.architectury.dev/" - } - maven { - name = 'ParchmentMC' - url = 'https://maven.parchmentmc.org' - } -} - -configurations { - rootProjectLicense.canBeResolved = true -} - -dependencies { - compileOnly libs.jetbrains.annotations - compileOnly libs.jspecify - rootProjectLicense project(path: ':', configuration: 'license') -} - -publishing { - publications { - register('mavenJava', MavenPublication) { - artifactId base.archivesName.get() - from components.java - } - } -} - -sourcesJar { - dependsOn(configurations.rootProjectLicense) - from(configurations.rootProjectLicense) { - rename { "${it}_${artifact_id}" } - } -} - -jar { - dependsOn(configurations.rootProjectLicense) - from(configurations.rootProjectLicense) { - rename { "${it}_${artifact_id}" } - } - - manifest { - attributes([ - 'Specification-Title' : mod_name, - 'Specification-Vendor' : mod_author, - 'Specification-Version' : rootProject.version, - 'Implementation-Title' : "$mod_name - ${project.name}", - 'Implementation-Version' : rootProject.version, - 'Implementation-Vendor' : mod_author, - 'Built-On-Minecraft' : libs.versions.minecraft.get() - ]) - } -} - diff --git a/common/build.gradle b/common/build.gradle deleted file mode 100644 index ce5151a1..00000000 --- a/common/build.gradle +++ /dev/null @@ -1,40 +0,0 @@ -plugins { - id 'convention.shared' - alias libs.plugins.architectury.loom -} - -configurations { - commonJava { - canBeResolved = false - canBeConsumed = true - } - commonResources { - canBeResolved = false - canBeConsumed = true - } -} - -loom { - runConfigs.configureEach { - ideConfigGenerated = false - } -} - -import net.fabricmc.loom.task.AbstractRemapJarTask -tasks.withType(AbstractRemapJarTask).each { - it.targetNamespace = "named" -} - -dependencies { - mappings loom.layered() { - officialMojangMappings() - parchment("org.parchmentmc.data:parchment-${libs.versions.parchment.minecraft.get()}:${libs.versions.parchment.mappings.get()}@zip") - } - minecraft libs.minecraft - modImplementation libs.fabric.loader -} - -artifacts { - commonJava sourceSets.main.java.sourceDirectories.singleFile - commonResources sourceSets.main.resources.sourceDirectories.singleFile -} diff --git a/fabric/build.gradle b/fabric/build.gradle new file mode 100644 index 00000000..2b260320 --- /dev/null +++ b/fabric/build.gradle @@ -0,0 +1,6 @@ +loom { + runs.configureEach { + property 'dynamicassetgenerator.test', 'true' + property 'dynamicassetgenerator.time_resources', 'true' + } +} diff --git a/fabriquilt/build.gradle b/fabriquilt/build.gradle deleted file mode 100644 index c2d1356b..00000000 --- a/fabriquilt/build.gradle +++ /dev/null @@ -1,90 +0,0 @@ -plugins { - id 'convention.consumer' - alias libs.plugins.curseforgegradle - alias libs.plugins.minotaur - alias libs.plugins.architectury.loom -} - -repositories { - maven { url 'https://maven.wispforest.io' } -} - -dependencies { - mappings loom.layered() { - officialMojangMappings() - parchment("org.parchmentmc.data:parchment-${libs.versions.parchment.minecraft.get()}:${libs.versions.parchment.mappings.get()}@zip") - } - minecraft libs.minecraft - modImplementation libs.fabric.loader - modImplementation libs.fabric.api - - compileOnly libs.autoservice - annotationProcessor libs.autoservice - - // Compat - modCompileOnly libs.owolib -} - -loom { - mixin { - useLegacyMixinAp = true - defaultRefmapName.set("${mod_id}.refmap.json") - } - runs { - client { - client() - setConfigName("Fabric Client") - ideConfigGenerated(true) - runDir("run") - property 'dynamicassetgenerator.test', 'true' - property 'dynamicassetgenerator.time_resources', 'true' - } - server { - server() - setConfigName("Fabric Server") - ideConfigGenerated(true) - runDir("run") - property 'dynamicassetgenerator.test', 'true' - property 'dynamicassetgenerator.time_resources', 'true' - } - } -} - -// Publishing - -import net.darkhax.curseforgegradle.TaskPublishCurseForge - -if (System.getenv('CURSEFORGE_KEY')) { - tasks.register('curseforge', TaskPublishCurseForge) { - disableVersionDetection() - apiToken = System.getenv('CURSEFORGE_KEY') - def projectId = '577096' - def mainFile = upload(projectId, tasks.remapJar) - mainFile.displayName = "Dynamic Asset Generator [Fabric/Quilt] v$project.version" - mainFile.releaseType = "${project.release_type}" - mainFile.addModLoader('Fabric', 'Quilt') - mainFile.addGameVersion("${libs.versions.minecraft.get()}") - mainFile.addRequirement("fabric-api") - mainFile.changelog = '' - } - - afterEvaluate { - tasks.curseforge.dependsOn tasks.remapJar - } -} - -if (System.getenv('MODRINTH_KEY')) { - modrinth { - token = System.getenv('MODRINTH_KEY') - projectId = '83pFEQVb' - versionNumber = "$project.version" - versionType = "${project.release_type}" - detectLoaders = false - uploadFile = remapJar - gameVersions = ["${libs.versions.minecraft.get()}"] - loaders = ['quilt','fabric'] - dependencies { - required.project 'fabric-api' - } - } -} diff --git a/fabriquilt/run/resourcepacks/test/assets/minecraft/atlases/blocks.json b/fabriquilt/run/resourcepacks/test/assets/minecraft/atlases/blocks.json deleted file mode 100644 index 20a73bb3..00000000 --- a/fabriquilt/run/resourcepacks/test/assets/minecraft/atlases/blocks.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "sources": [ - { - "type": "dynamic_asset_generator:tex_sources", - "sources": { - "minecraft:block/clay": { - "type" : "dynamic_asset_generator:texture", - "path" : "minecraft:block/magma" - } - } - } - ] -} diff --git a/fabriquilt/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/replacement.json b/fabriquilt/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/replacement.json deleted file mode 100644 index a1827f1d..00000000 --- a/fabriquilt/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/replacement.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type" : "dynamic_asset_generator:texture", - "output_location" : "minecraft:item/gold_ingot", - "input" : { - "type" : "dynamic_asset_generator:texture", - "path" : "minecraft:item/apple" - } -} \ No newline at end of file diff --git a/fabriquilt/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/shadow_generation.json b/fabriquilt/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/shadow_generation.json deleted file mode 100644 index bb15bf87..00000000 --- a/fabriquilt/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/shadow_generation.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type" : "dynamic_asset_generator:texture", - "output_location" : "minecraft:block/gravel", - "input" : { - "type" : "dynamic_asset_generator:shadowed", - "background": { - "type" : "dynamic_asset_generator:texture", - "path" : "minecraft:block/stone" - }, - "foreground": { - "type" : "dynamic_asset_generator:texture", - "path" : "test:block/gravel" - } - } -} \ No newline at end of file diff --git a/fabriquilt/run/resourcepacks/test/assets/test/textures/block/gravel.png b/fabriquilt/run/resourcepacks/test/assets/test/textures/block/gravel.png deleted file mode 100644 index b3f4de87..00000000 Binary files a/fabriquilt/run/resourcepacks/test/assets/test/textures/block/gravel.png and /dev/null differ diff --git a/fabriquilt/run/resourcepacks/test/pack.mcmeta b/fabriquilt/run/resourcepacks/test/pack.mcmeta deleted file mode 100644 index 4a996c5e..00000000 --- a/fabriquilt/run/resourcepacks/test/pack.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "pack": { - "description": "Dynamic Asset Generator - Test", - "pack_format": 18 - } -} diff --git a/gradle.properties b/gradle.properties index b042b193..ca1ade9b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,11 +6,10 @@ mod_name=Dynamic Asset Generator mod_author=Luke Bemish mod_id=dynamic_asset_generator -# Publishing -artifact_id=dynamicassetgenerator - # Gradle org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false +org.gradle.parallel=true +org.gradle.caching=true release_type=release diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ef2065e3..cd98b6c4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,28 +1,22 @@ [versions] -minecraft = "1.20.4" -parchment_minecraft = "1.20.2" -parchment_mappings = "2023.12.10" +minecraft = "1.20.5" +parchment = "2024.04.14" -neoforge = "20.4.48-beta" +neoforge = "20.5.0-beta" -fabric_loader = "0.15.3" -fabric_api = "0.92.0+1.20.4" +fabric_loader = "0.15.10" +fabric_api = "0.97.6+1.20.5" + +fabric_mixin = "0.13.3+mixin.0.8.5" mdg_plugin = "1.4.3" mdg_dsl = "1.5.1" -autoservice = "1.1.1" - -architectury_loom = "1.4.373" -quilt_licenser = "2.0.1" - -jetbrains_annotations = "24.1.0" -jspecify = "0.3.0" minotaur = "2.8.7" owolib = "0.11.4+1.20.2" -managedversioning = "1.2.4" +managedversioning = "1.2.17" [libraries] minecraft = { module = "com.mojang:minecraft", version.ref = "minecraft" } @@ -32,10 +26,9 @@ fabric_api = { module = "net.fabricmc.fabric-api:fabric-api", version.ref = "fab neoforge = { module = "net.neoforged:neoforge", version.ref = "neoforge" } -jetbrains_annotations = { module = "org.jetbrains:annotations", version.ref = "jetbrains_annotations" } -jspecify = { module = "org.jspecify:jspecify", version.ref = "jspecify" } +parchment = { module = "org.parchmentmc.data:parchment-1.20.4", version.ref = "parchment" } -autoservice = { module = "com.google.auto.service:auto-service", version.ref = "autoservice" } +fabric_mixin = { module = "net.fabricmc:sponge-mixin", version.ref = "fabric_mixin" } owolib = { module = "io.wispforest:owo-lib", version.ref = "owolib" } @@ -43,7 +36,5 @@ owolib = { module = "io.wispforest:owo-lib", version.ref = "owolib" } managedversioning = { id = "dev.lukebemish.managedversioning", version.ref = "managedversioning" } mdg_plugin = { id = "org.groovymc.modsdotgroovy", version.ref = "mdg_plugin" } -architectury_loom = { id = "dev.architectury.loom", version.ref = "architectury_loom" } -quilt_licenser = { id = "org.quiltmc.gradle.licenser", version.ref = "quilt_licenser" } minotaur = { id = "com.modrinth.minotaur", version.ref = "minotaur" } curseforgegradle = {id = "net.darkhax.curseforgegradle", version = "1.1.18"} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3fa8f862..b82aa23a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 0adc8e1a..1aa94a42 100755 --- a/gradlew +++ b/gradlew @@ -145,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -153,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -202,11 +202,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/neoforge/build.gradle b/neoforge/build.gradle index e880ee8c..2b260320 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -1,97 +1,6 @@ -plugins { - id 'convention.consumer' - alias libs.plugins.curseforgegradle - alias libs.plugins.minotaur - alias libs.plugins.architectury.loom -} - -repositories { - maven { - name = 'NeoForged' - url = 'https://maven.neoforged.net/' - } - - maven { url 'https://maven.wispforest.io' } -} - -dependencies { - minecraft libs.minecraft - neoForge libs.neoforge - mappings loom.layered() { - officialMojangMappings() - parchment("org.parchmentmc.data:parchment-${libs.versions.parchment.minecraft.get()}:${libs.versions.parchment.mappings.get()}@zip") - } - - compileOnly libs.autoservice - annotationProcessor libs.autoservice -} - loom { - runs { - client { - client() - setConfigName("NeoForge Client") - ideConfigGenerated(true) - runDir("run") - property 'dynamicassetgenerator.test', 'true' - property 'dynamicassetgenerator.time_resources', 'true' - } - server { - server() - setConfigName("NeoForge Server") - ideConfigGenerated(true) - runDir("run") - property 'dynamicassetgenerator.test', 'true' - property 'dynamicassetgenerator.time_resources', 'true' - } - } -} - -import groovy.json.JsonOutput -import groovy.json.JsonSlurper -processResources { - doLast { - fileTree(dir: outputs.files.asPath, include: "mixin.*.json").each { File file -> - def obj = new JsonSlurper().parse(file) - if (obj.refmap) { - obj.remove('refmap') - } - file.text = JsonOutput.toJson(obj) - } - } -} - -// Publishing - -import net.darkhax.curseforgegradle.TaskPublishCurseForge - -if (System.getenv('CURSEFORGE_KEY')) { - tasks.register('curseforge', TaskPublishCurseForge) { - disableVersionDetection() - apiToken = System.getenv('CURSEFORGE_KEY') - def projectId = '577096' - def mainFile = upload(projectId, tasks.remapJar) - mainFile.displayName = "Dynamic Asset Generator [NeoForge] v$project.version" - mainFile.releaseType = "${project.release_type}" - mainFile.addModLoader('NeoForge') - mainFile.addGameVersion("${libs.versions.minecraft.get()}") - mainFile.changelog = '' - } - - afterEvaluate { - tasks.curseforge.dependsOn tasks.remapJar - } -} - -if (System.getenv('MODRINTH_KEY')) { - modrinth { - token = System.getenv('MODRINTH_KEY') - projectId = '83pFEQVb' - versionNumber = "$project.version" - versionType = "${project.release_type}" - detectLoaders = false - uploadFile = remapJar - gameVersions = ["${libs.versions.minecraft.get()}"] - loaders = ['neoforge'] + runs.configureEach { + property 'dynamicassetgenerator.test', 'true' + property 'dynamicassetgenerator.time_resources', 'true' } } diff --git a/neoforge/gradle.properties b/neoforge/gradle.properties deleted file mode 100644 index 7da18ea6..00000000 --- a/neoforge/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -loom.platform=neoforge diff --git a/neoforge/run/resourcepacks/test/assets/minecraft/atlases/blocks.json b/neoforge/run/resourcepacks/test/assets/minecraft/atlases/blocks.json deleted file mode 100644 index 20a73bb3..00000000 --- a/neoforge/run/resourcepacks/test/assets/minecraft/atlases/blocks.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "sources": [ - { - "type": "dynamic_asset_generator:tex_sources", - "sources": { - "minecraft:block/clay": { - "type" : "dynamic_asset_generator:texture", - "path" : "minecraft:block/magma" - } - } - } - ] -} diff --git a/neoforge/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/replacement.json b/neoforge/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/replacement.json deleted file mode 100644 index a1827f1d..00000000 --- a/neoforge/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/replacement.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type" : "dynamic_asset_generator:texture", - "output_location" : "minecraft:item/gold_ingot", - "input" : { - "type" : "dynamic_asset_generator:texture", - "path" : "minecraft:item/apple" - } -} \ No newline at end of file diff --git a/neoforge/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/shadow_generation.json b/neoforge/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/shadow_generation.json deleted file mode 100644 index bb15bf87..00000000 --- a/neoforge/run/resourcepacks/test/assets/test/dynamic_asset_generator/generators/shadow_generation.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type" : "dynamic_asset_generator:texture", - "output_location" : "minecraft:block/gravel", - "input" : { - "type" : "dynamic_asset_generator:shadowed", - "background": { - "type" : "dynamic_asset_generator:texture", - "path" : "minecraft:block/stone" - }, - "foreground": { - "type" : "dynamic_asset_generator:texture", - "path" : "test:block/gravel" - } - } -} \ No newline at end of file diff --git a/neoforge/run/resourcepacks/test/assets/test/textures/block/gravel.png b/neoforge/run/resourcepacks/test/assets/test/textures/block/gravel.png deleted file mode 100644 index b3f4de87..00000000 Binary files a/neoforge/run/resourcepacks/test/assets/test/textures/block/gravel.png and /dev/null differ diff --git a/neoforge/run/resourcepacks/test/pack.mcmeta b/neoforge/run/resourcepacks/test/pack.mcmeta deleted file mode 100644 index 4a996c5e..00000000 --- a/neoforge/run/resourcepacks/test/pack.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "pack": { - "description": "Dynamic Asset Generator - Test", - "pack_format": 18 - } -} diff --git a/settings.gradle b/settings.gradle index 3f574e70..f1904e07 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,40 +4,82 @@ pluginManagement { name = 'Fabric' url = 'https://maven.fabricmc.net/' } - - maven { - name = 'Quilt (Release)' - url = 'https://maven.quiltmc.org/repository/release' - } - maven { name = 'NeoForged' url = 'https://maven.neoforged.net/' } - maven { name = "Luke's Maven" - url = 'https://maven.lukebemish.dev/releases' + url = 'https://maven.lukebemish.dev/releases/' } - maven { name = 'ParchmentMC' url = 'https://maven.parchmentmc.org' } - maven { name = 'Architectury' url "https://maven.architectury.dev/" } + maven { + name = "Luke's Maven" + url = 'https://maven.lukebemish.dev/snapshots/' + } + mavenCentral() gradlePluginPortal() } } plugins { - id 'org.gradle.toolchains.foojay-resolver-convention' version '0.6.0' + id 'dev.lukebemish.conventions' version '0.1.9' + id 'dev.lukebemish.multisource' version '0.1.1-SNAPSHOT' } rootProject.name = 'dynamicassetgenerator' -include("common", "neoforge", "fabriquilt") + +multisource.of(':') { + common('main', []) { + minecraft.add project.libs.minecraft + mappings.add loom.layered() { + officialMojangMappings() + parchment(project.dependencies.variantOf(project.libs.parchment) { + artifactType('zip') + }) + } + } + fabric('fabric', ['main']) { + minecraft.add project.libs.minecraft + mappings.add loom.layered() { + officialMojangMappings() + parchment(project.dependencies.variantOf(project.libs.parchment) { + artifactType('zip') + }) + } + loader.add project.libs.fabric.loader + } + neoforge('neoforge', ['main']) { + minecraft.add project.libs.minecraft + mappings.add loom.layered() { + officialMojangMappings() + parchment(project.dependencies.variantOf(project.libs.parchment) { + artifactType('zip') + }) + } + neoForge.add project.libs.neoforge + } + repositories { + maven { + name = 'ParchmentMC' + url = 'https://maven.parchmentmc.org' + } + maven { + url = 'https://maven.wispforest.io' + content { + includeModule('io.wispforest', 'owo-lib') + } + } + } +} + +//include("common", "neoforge", "fabriquilt") diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/FabriQuiltShared.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/FabriQuiltShared.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/FabriQuiltShared.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/FabriQuiltShared.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/PlatformClientImpl.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/PlatformClientImpl.java similarity index 67% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/PlatformClientImpl.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/PlatformClientImpl.java index b4d71379..0de55b3a 100644 --- a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/PlatformClientImpl.java +++ b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/PlatformClientImpl.java @@ -1,7 +1,7 @@ package dev.lukebemish.dynamicassetgenerator.impl.fabriquilt; import com.google.auto.service.AutoService; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.impl.client.platform.PlatformClient; import dev.lukebemish.dynamicassetgenerator.impl.mixin.SpriteSourcesAccessor; import net.minecraft.client.renderer.texture.atlas.SpriteSource; @@ -10,7 +10,7 @@ @AutoService(PlatformClient.class) public class PlatformClientImpl implements PlatformClient { @Override - public void addSpriteSource(ResourceLocation location, Codec codec) { - SpriteSourcesAccessor.invokeRegister(location.toString(), codec); + public void addSpriteSource(ResourceLocation location, MapCodec codec) { + SpriteSourcesAccessor.dynamicassetgenerator$invokeRegister(location.toString(), codec); } } diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/PlatformImpl.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/PlatformImpl.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/PlatformImpl.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/PlatformImpl.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/ResourceDegrouperImpl.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/ResourceDegrouperImpl.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/ResourceDegrouperImpl.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/ResourceDegrouperImpl.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/compat/OwoLibProviderWrapper.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/compat/OwoLibProviderWrapper.java similarity index 95% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/compat/OwoLibProviderWrapper.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/compat/OwoLibProviderWrapper.java index ed80372c..d20cdb6a 100644 --- a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/compat/OwoLibProviderWrapper.java +++ b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/compat/OwoLibProviderWrapper.java @@ -14,6 +14,7 @@ import net.minecraft.server.packs.PackType; import net.minecraft.server.packs.resources.IoSupplier; import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.Nullable; import java.io.ByteArrayInputStream; import java.io.InputStream; @@ -38,7 +39,7 @@ public InvisibleResourceProvider get() { } public static class OwoLibProvider implements InvisibleResourceProvider { - private static Map tagMap; + private static @Nullable Map tagMap; @Override public IoSupplier getResource(@NonNull PackType type, @NonNull ResourceLocation location) { @@ -85,8 +86,7 @@ private void checkMap() { JsonElement encoded; try { encoded = - TagFile.CODEC.encodeStart(JsonOps.INSTANCE, tag).getOrThrow(false, s -> { - }); + TagFile.CODEC.encodeStart(JsonOps.INSTANCE, tag).getOrThrow(RuntimeException::new); } catch (RuntimeException e) { DynamicAssetGenerator.LOGGER.error("Error encoding tag file from OwoLib entries: " + e.getMessage()); return; diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/compat/package-info.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/compat/package-info.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/compat/package-info.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/compat/package-info.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/DynamicAssetGeneratorClientFabric.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/DynamicAssetGeneratorClientFabric.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/DynamicAssetGeneratorClientFabric.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/DynamicAssetGeneratorClientFabric.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/DynamicAssetGeneratorFabric.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/DynamicAssetGeneratorFabric.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/DynamicAssetGeneratorFabric.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/DynamicAssetGeneratorFabric.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/FabricPlatform.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/FabricPlatform.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/FabricPlatform.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/FabricPlatform.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/PackPlanner.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/PackPlanner.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/PackPlanner.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/PackPlanner.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/package-info.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/package-info.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/package-info.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/fabric/package-info.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/BuiltInPackSourceMixin.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/BuiltInPackSourceMixin.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/BuiltInPackSourceMixin.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/BuiltInPackSourceMixin.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/ClientBuiltInPackSourceMixin.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/ClientBuiltInPackSourceMixin.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/ClientBuiltInPackSourceMixin.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/ClientBuiltInPackSourceMixin.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/PackSelectionScreenMixin.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/PackSelectionScreenMixin.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/PackSelectionScreenMixin.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/mixin/PackSelectionScreenMixin.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/package-info.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/package-info.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/package-info.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/package-info.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/quilt/QuiltPlatformMinimal.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/quilt/QuiltPlatformMinimal.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/quilt/QuiltPlatformMinimal.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/quilt/QuiltPlatformMinimal.java diff --git a/fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/quilt/package-info.java b/src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/quilt/package-info.java similarity index 100% rename from fabriquilt/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/quilt/package-info.java rename to src/fabric/java/dev/lukebemish/dynamicassetgenerator/impl/fabriquilt/quilt/package-info.java diff --git a/fabriquilt/src/main/resources/mixin.dynamic_asset_generator_fabriquilt.json b/src/fabric/resources/mixin.dynamic_asset_generator_fabriquilt.json similarity index 100% rename from fabriquilt/src/main/resources/mixin.dynamic_asset_generator_fabriquilt.json rename to src/fabric/resources/mixin.dynamic_asset_generator_fabriquilt.json diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/DataResourceCache.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/DataResourceCache.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/DataResourceCache.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/DataResourceCache.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/InputStreamSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/InputStreamSource.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/InputStreamSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/InputStreamSource.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/PathAwareInputStreamSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/PathAwareInputStreamSource.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/PathAwareInputStreamSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/PathAwareInputStreamSource.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/Resettable.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/Resettable.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/Resettable.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/Resettable.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceCache.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceCache.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceCache.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceCache.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceGenerationContext.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceGenerationContext.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceGenerationContext.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceGenerationContext.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceGenerator.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceGenerator.java similarity index 88% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceGenerator.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceGenerator.java index d32a678c..68254b80 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceGenerator.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/ResourceGenerator.java @@ -5,6 +5,7 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; import com.mojang.serialization.DynamicOps; +import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.api.cache.CacheMetaCodec; import dev.lukebemish.dynamicassetgenerator.api.cache.CacheMetaJsonOps; import dev.lukebemish.dynamicassetgenerator.api.cache.DataConsumer; @@ -12,7 +13,6 @@ import dev.lukebemish.dynamicassetgenerator.impl.DynamicAssetGenerator; import dev.lukebemish.dynamicassetgenerator.impl.ResourceCachingData; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NonNull; import org.jspecify.annotations.Nullable; @@ -27,19 +27,18 @@ public interface ResourceGenerator extends PathAwareInputStreamSource { @ApiStatus.Internal String PERSISTENT_CACHE_KEY = "__dynamic_asset_generator_persistent"; - Codec CODEC = CacheMetaCodec.of(ExtraCodecs.lazyInitializedCodec(() -> new Codec>() { + Codec CODEC = CacheMetaCodec.of(Codec.lazyInitialized(() -> new Codec>() { @Override - public DataResult, T>> decode(DynamicOps ops, T input) { + public DataResult, T>> decode(DynamicOps ops, T input) { return ResourceLocation.CODEC.decode(ops, input).flatMap(keyValuePair -> !CommonRegisters.RESOURCEGENERATORS.containsKey(keyValuePair.getFirst()) ? DataResult.error(() -> "Unknown dynamic resource generator type: " + keyValuePair.getFirst()) : DataResult.success(keyValuePair.mapFirst(CommonRegisters.RESOURCEGENERATORS::get))); } @Override - public DataResult encode(Codec input, DynamicOps ops, T prefix) { + public DataResult encode(MapCodec input, DynamicOps ops, T prefix) { ResourceLocation key = CommonRegisters.RESOURCEGENERATORS.inverse().get(input); - if (key == null) - { + if (key == null) { return DataResult.error(() -> "Unregistered dynamic resource generator type: " + input); } T toMerge = ops.createString(key.toString()); @@ -59,14 +58,14 @@ public DataResult encode(Codec input, Dynami * @param rl The resource location to register the generator under; becomes the {@code "type"} field in JSON. * @param reader The codec used to deserialize the generator from JSON. */ - static void register(ResourceLocation rl, Codec reader) { + static void register(ResourceLocation rl, MapCodec reader) { CommonRegisters.RESOURCEGENERATORS.put(rl, reader); } /** * @return A codec that can serialize this resource generator. */ - Codec codec(); + MapCodec codec(); @Override @Nullable diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/TrackingResourceSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/TrackingResourceSource.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/TrackingResourceSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/TrackingResourceSource.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaCodec.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaCodec.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaCodec.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaCodec.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaDynamicOps.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaDynamicOps.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaDynamicOps.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaDynamicOps.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaJsonOps.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaJsonOps.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaJsonOps.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/CacheMetaJsonOps.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/DataConsumer.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/DataConsumer.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/DataConsumer.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/DataConsumer.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/cache/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/AssetResourceCache.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/AssetResourceCache.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/AssetResourceCache.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/AssetResourceCache.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/SpriteProvider.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/SpriteProvider.java similarity index 96% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/SpriteProvider.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/SpriteProvider.java index f4f57939..819cb3d6 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/SpriteProvider.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/SpriteProvider.java @@ -3,7 +3,6 @@ import com.google.gson.JsonObject; import com.mojang.blaze3d.platform.NativeImage; import com.mojang.datafixers.util.Pair; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.TrackingResourceSource; @@ -33,8 +32,16 @@ import org.jspecify.annotations.NonNull; import org.jspecify.annotations.Nullable; -import java.io.*; -import java.util.*; +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.function.Predicate; import java.util.function.Supplier; @@ -60,7 +67,7 @@ public interface SpriteProvider> { * @param codec a codec to provide instances of the type */ static > void register(ResourceLocation location, MapCodec codec) { - ClientServices.PLATFORM_CLIENT.addSpriteSource(location, codec.xmap(SpriteProvider::wrap, Wrapper::unwrap).codec()); + ClientServices.PLATFORM_CLIENT.addSpriteSource(location, codec.xmap(SpriteProvider::wrap, Wrapper::unwrap)); } /** @@ -69,7 +76,7 @@ static > void register(ResourceLocation location, Ma * @param constructor supplies instances of this sprite source type */ static > void register(ResourceLocation location, Supplier constructor) { - ClientServices.PLATFORM_CLIENT.addSpriteSource(location, Codec.unit(() -> constructor.get().wrap())); + ClientServices.PLATFORM_CLIENT.addSpriteSource(location, MapCodec.unit(() -> constructor.get().wrap())); } /** @@ -224,7 +231,7 @@ public void run(ResourceManager resourceManager, Output output) { @Override public @NonNull SpriteSourceType type() { - return SpriteSourcesAccessor.getTypes().get(source.getLocation()); + return SpriteSourcesAccessor.dynamicassetgenerator$getTypes().get(source.getLocation()); } public T unwrap() { diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TexSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TexSource.java similarity index 94% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TexSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TexSource.java index 44fc116e..2b1eef53 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TexSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TexSource.java @@ -7,6 +7,7 @@ import com.mojang.serialization.DataResult; import com.mojang.serialization.DynamicOps; import com.mojang.serialization.JsonOps; +import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerator; import dev.lukebemish.dynamicassetgenerator.api.cache.CacheMetaCodec; @@ -17,7 +18,6 @@ import dev.lukebemish.dynamicassetgenerator.impl.client.TexSourceCache; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.IoSupplier; -import net.minecraft.util.ExtraCodecs; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NonNull; import org.jspecify.annotations.Nullable; @@ -33,19 +33,18 @@ * API as needed. */ public interface TexSource { - @ApiStatus.Internal String METADATA_CACHE_KEY = "__dynamic_asset_generator_metadata"; - Codec CODEC = CacheMetaCodec.of(ExtraCodecs.lazyInitializedCodec(() -> new Codec>() { + Codec CODEC = CacheMetaCodec.of(Codec.lazyInitialized(() -> new Codec>() { @Override - public DataResult, T>> decode(DynamicOps ops, T input) { + public DataResult, T>> decode(DynamicOps ops, T input) { return ResourceLocation.CODEC.decode(ops, input).flatMap(keyValuePair -> !ClientRegisters.TEXSOURCES.containsKey(keyValuePair.getFirst()) ? DataResult.error(() -> "Unknown dynamic texture source type: " + keyValuePair.getFirst()) : DataResult.success(keyValuePair.mapFirst(ClientRegisters.TEXSOURCES::get))); } @Override - public DataResult encode(Codec input, DynamicOps ops, T prefix) { + public DataResult encode(MapCodec input, DynamicOps ops, T prefix) { ResourceLocation key = ClientRegisters.TEXSOURCES.inverse().get(input); if (key == null) { return DataResult.error(() -> "Unregistered dynamic texture source type: " + input); @@ -76,7 +75,7 @@ public DataResult encode(DynamicOps ops, ResourceCachingData data, * @param codec can serialize and deserialize this texture source type * @param the texture source type */ - static void register(ResourceLocation rl, Codec codec) { + static void register(ResourceLocation rl, MapCodec codec) { ClientRegisters.TEXSOURCES.put(rl, codec); } @@ -114,7 +113,8 @@ default DataResult persistentCacheData(DynamicOps ops, ResourceGenerat /** * @return a codec which can be used to serialize this source */ - @NonNull Codec codec(); + @NonNull + MapCodec codec(); /** * Provides a supplier for the texture this source will generate, or null if a texture cannot be provided. Should diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TexSourceDataHolder.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TexSourceDataHolder.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TexSourceDataHolder.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TexSourceDataHolder.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureGenerator.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureGenerator.java similarity index 93% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureGenerator.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureGenerator.java index d660c9d0..161543af 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureGenerator.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureGenerator.java @@ -1,9 +1,9 @@ package dev.lukebemish.dynamicassetgenerator.api.client.generators; import com.mojang.blaze3d.platform.NativeImage; -import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; import com.mojang.serialization.DynamicOps; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerator; @@ -23,7 +23,7 @@ * {@link dev.lukebemish.dynamicassetgenerator.api.client.AssetResourceCache}. */ public class TextureGenerator implements ResourceGenerator { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( ResourceLocation.CODEC.fieldOf("output_location").forGetter(dyn->dyn.outputLocation), TexSource.CODEC.fieldOf("input").forGetter(dyn->dyn.input) ).apply(instance, TextureGenerator::new)); @@ -72,7 +72,7 @@ private ResourceLocation getOutputLocation() { } @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureMetaGenerator.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureMetaGenerator.java similarity index 99% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureMetaGenerator.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureMetaGenerator.java index 7bad9c5a..391ce7df 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureMetaGenerator.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/TextureMetaGenerator.java @@ -8,6 +8,7 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; import com.mojang.serialization.DynamicOps; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerator; @@ -33,7 +34,7 @@ */ @SuppressWarnings("OptionalUsedAsFieldOrParameterType") public class TextureMetaGenerator implements ResourceGenerator { - public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( AnimationGenerator.CODEC.optionalFieldOf("animation", new AnimationGenerator.Builder().build()).forGetter(TextureMetaGenerator::getAnimation), VillagerGenerator.CODEC.optionalFieldOf("villager", new VillagerGenerator.Builder().build()).forGetter(TextureMetaGenerator::getVillager), TextureGenerator.CODEC.optionalFieldOf("texture", new TextureGenerator.Builder().build()).forGetter(TextureMetaGenerator::getTexture), @@ -153,7 +154,7 @@ public List getSources() { } @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AbstractManyOperationSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AbstractManyOperationSource.java similarity index 91% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AbstractManyOperationSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AbstractManyOperationSource.java index fbeacb7d..a705d2a7 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AbstractManyOperationSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AbstractManyOperationSource.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -38,8 +39,8 @@ public List getSources() { /** * Creates a {@link Codec} for a subtype of this class based on a function for constructing single instances. */ - public static Codec makeCodec(Function, T> ctor) { - return RecordCodecBuilder.create(instance -> instance.group( + public static MapCodec makeCodec(Function, T> ctor) { + return RecordCodecBuilder.mapCodec(instance -> instance.group( TexSource.CODEC.listOf().fieldOf("sources").forGetter(AbstractManyOperationSource::getSources) ).apply(instance, ctor)); } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationFrameCapture.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationFrameCapture.java similarity index 94% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationFrameCapture.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationFrameCapture.java index 34ddb00e..8d9b38d5 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationFrameCapture.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationFrameCapture.java @@ -4,6 +4,7 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; import com.mojang.serialization.DynamicOps; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -18,7 +19,7 @@ * A {@link TexSource} that captures a frame from a source split up by an {@link AnimationSplittingSource}. */ public final class AnimationFrameCapture implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( Codec.STRING.fieldOf("capture").forGetter(AnimationFrameCapture::getCapture) ).apply(instance, AnimationFrameCapture::new)); private final String capture; @@ -28,7 +29,7 @@ private AnimationFrameCapture(String capture) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationSplittingSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationSplittingSource.java similarity index 96% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationSplittingSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationSplittingSource.java index 7cc29a48..1ebfa004 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationSplittingSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/AnimationSplittingSource.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -17,7 +18,10 @@ import java.io.Closeable; import java.io.IOException; -import java.util.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; /** * A {@link TexSource} that splits any number of possibly animated textures into individual frames, and assembles an @@ -26,7 +30,7 @@ * {@link AnimationFrameCapture}. */ public final class AnimationSplittingSource implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( Codec.unboundedMap(Codec.STRING, TexSource.CODEC).fieldOf("sources").forGetter(AnimationSplittingSource::getSources), TexSource.CODEC.fieldOf("generator").forGetter(AnimationSplittingSource::getGenerator) ).apply(instance, AnimationSplittingSource::new)); @@ -40,7 +44,7 @@ private AnimationSplittingSource(Map sources, TexSource gener } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ChannelRouteSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ChannelRouteSource.java similarity index 97% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ChannelRouteSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ChannelRouteSource.java index 0186f1c5..b81427d8 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ChannelRouteSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ChannelRouteSource.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -21,7 +22,7 @@ * A source which routes information from several sources into different channels of an output image. */ public class ChannelRouteSource implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( Codec.unboundedMap(Codec.STRING, TexSource.CODEC).fieldOf("sources").forGetter(ChannelRouteSource::getSources), ChannelSource.CODEC.optionalFieldOf("red").forGetter(s -> Optional.ofNullable(s.getRed())), ChannelSource.CODEC.optionalFieldOf("green").forGetter(s -> Optional.ofNullable(s.getGreen())), @@ -104,7 +105,7 @@ public Map getSources() { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ColorSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ColorSource.java similarity index 94% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ColorSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ColorSource.java index 0f96024e..946fdbc4 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ColorSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ColorSource.java @@ -4,6 +4,7 @@ import com.mojang.datafixers.util.Either; import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -23,7 +24,7 @@ public final class ColorSource implements TexSource { public static final ColorEncoding DEFAULT_COLOR_ENCODING = ColorEncoding.ARGB; - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( Codec.either(Codec.STRING, Codec.INT).flatXmap(e -> e.map(s -> { try { return DataResult.success(Integer.parseInt(s)); @@ -42,7 +43,7 @@ private ColorSource(List color, ColorEncoding colorEncoding) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/CropSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/CropSource.java similarity index 96% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/CropSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/CropSource.java index 58468d7e..c6c77f71 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/CropSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/CropSource.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -19,7 +20,7 @@ * A {@link TexSource} that crops a texture. */ public final class CropSource implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( Codec.INT.fieldOf("total_size").forGetter(CropSource::getTotalSize), Codec.INT.fieldOf("start_x").forGetter(CropSource::getStartX), Codec.INT.fieldOf("size_x").forGetter(CropSource::getSizeX), @@ -43,7 +44,7 @@ private CropSource(int totalSize, int startX, int sizeX, int startY, int sizeY, this.input = input; } - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ErrorSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ErrorSource.java similarity index 89% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ErrorSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ErrorSource.java index ca99049b..abcf07d5 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ErrorSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ErrorSource.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -17,7 +18,7 @@ * {@link FallbackSource} to provide more informative error messages. */ public final class ErrorSource implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( Codec.STRING.fieldOf("message").forGetter(ErrorSource::getMessage) ).apply(instance, ErrorSource::new)); private final String message; @@ -27,7 +28,7 @@ private ErrorSource(String message) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/FallbackSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/FallbackSource.java similarity index 93% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/FallbackSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/FallbackSource.java index fc794f35..f5c2946d 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/FallbackSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/FallbackSource.java @@ -1,7 +1,7 @@ package dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources; import com.mojang.blaze3d.platform.NativeImage; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -18,7 +18,7 @@ * A {@link TexSource} that attempts to provide one texture, but if it fails, will provide another. */ public final class FallbackSource implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( TexSource.CODEC.fieldOf("original").forGetter(FallbackSource::getOriginal), TexSource.CODEC.fieldOf("fallback").forGetter(FallbackSource::getFallback) ).apply(instance, FallbackSource::new)); @@ -30,7 +30,7 @@ private FallbackSource(TexSource original, TexSource fallback) { this.fallback = fallback; } - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ForegroundTransferSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ForegroundTransferSource.java similarity index 97% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ForegroundTransferSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ForegroundTransferSource.java index 1fb62d4b..f796b24a 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ForegroundTransferSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ForegroundTransferSource.java @@ -3,6 +3,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.cache.CacheMetaJsonOps; @@ -28,7 +29,7 @@ public final class ForegroundTransferSource implements TexSource { private static final boolean DEFAULT_FILL_HOLES = true; private static final double DEFAULT_CLOSE_CUTOFF = 2; - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( TexSource.CODEC.fieldOf("background").forGetter(ForegroundTransferSource::getBackground), TexSource.CODEC.fieldOf("full").forGetter(ForegroundTransferSource::getFull), TexSource.CODEC.fieldOf("new_background").forGetter(ForegroundTransferSource::getNewBackground), @@ -61,7 +62,7 @@ private ForegroundTransferSource(TexSource background, TexSource full, TexSource } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/MaskSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/MaskSource.java similarity index 93% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/MaskSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/MaskSource.java index 4891947d..3fc59409 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/MaskSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/MaskSource.java @@ -1,7 +1,7 @@ package dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources; import com.mojang.blaze3d.platform.NativeImage; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -21,7 +21,7 @@ * be useful for creating masks. */ public final class MaskSource implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( TexSource.CODEC.fieldOf("input").forGetter(MaskSource::getInput), TexSource.CODEC.fieldOf("mask").forGetter(MaskSource::getMask) ).apply(instance, MaskSource::new)); @@ -34,7 +34,7 @@ private MaskSource(TexSource input, TexSource mask) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/OverlaySource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/OverlaySource.java similarity index 85% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/OverlaySource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/OverlaySource.java index fc221291..11c53cd1 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/OverlaySource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/OverlaySource.java @@ -1,6 +1,6 @@ package dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; import dev.lukebemish.dynamicassetgenerator.api.colors.operations.ColorOperations; import dev.lukebemish.dynamicassetgenerator.api.colors.operations.PointwiseOperation; @@ -13,14 +13,14 @@ * A {@link AbstractManyOperationSource} defined by {@link ColorOperations#OVERLAY}. */ public class OverlaySource extends AbstractManyOperationSource { - public static final Codec CODEC = AbstractManyOperationSource.makeCodec(OverlaySource::new); + public static final MapCodec CODEC = AbstractManyOperationSource.makeCodec(OverlaySource::new); private OverlaySource(List sources) { super(sources); } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteCombinedSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteCombinedSource.java similarity index 98% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteCombinedSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteCombinedSource.java index 4bfc8cb4..3bf76143 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteCombinedSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteCombinedSource.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -28,7 +29,7 @@ public final class PaletteCombinedSource implements TexSource { private static final boolean DEFAULT_STRETCH_PALETTED = false; private static final int DEFAULT_EXTEND_PALETTE_SIZE = 6; - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( TexSource.CODEC.fieldOf("overlay").forGetter(PaletteCombinedSource::getOverlay), TexSource.CODEC.fieldOf("background").forGetter(PaletteCombinedSource::getBackground), TexSource.CODEC.fieldOf("paletted").forGetter(PaletteCombinedSource::getPaletted), @@ -53,7 +54,7 @@ private PaletteCombinedSource(TexSource overlay, TexSource background, TexSource } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteSpreadSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteSpreadSource.java similarity index 94% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteSpreadSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteSpreadSource.java index 09bbde21..a18b134e 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteSpreadSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/PaletteSpreadSource.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -25,7 +26,7 @@ */ @ApiStatus.Experimental public class PaletteSpreadSource implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( TexSource.CODEC.fieldOf("source").forGetter(PaletteSpreadSource::getSource), Codec.DOUBLE.optionalFieldOf("palette_cutoff", Palette.DEFAULT_CUTOFF).forGetter(PaletteSpreadSource::getPaletteCutoff) ).apply(i, PaletteSpreadSource::new)); @@ -39,7 +40,7 @@ private PaletteSpreadSource(TexSource source, double paletteCutoff) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ShadowedSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ShadowedSource.java similarity index 97% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ShadowedSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ShadowedSource.java index 434f06e8..13a0758e 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ShadowedSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/ShadowedSource.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -33,7 +34,7 @@ public class ShadowedSource implements TexSource { private static final int[] HIGH_X = new int[] {-1,0}; private static final int[] HIGH_Y = new int[] {0,-1}; - public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( TexSource.CODEC.fieldOf("background").forGetter(ShadowedSource::getBackground), TexSource.CODEC.fieldOf("foreground").forGetter(ShadowedSource::getForeground), Codec.INT.optionalFieldOf("extend_palette_size", DEFAULT_EXTEND_PALETTE_SIZE).forGetter(ShadowedSource::getExtendPaletteSize), @@ -60,7 +61,7 @@ private ShadowedSource(TexSource background, TexSource foreground, int extendPal } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/SpreadSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/SpreadSource.java similarity index 97% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/SpreadSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/SpreadSource.java index adf111c4..54ed599b 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/SpreadSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/SpreadSource.java @@ -4,6 +4,7 @@ import com.mojang.datafixers.util.Either; import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -29,7 +30,7 @@ public final class SpreadSource implements TexSource { private static final List DEFAULT_RANGE = List.of(new Range(0, 255)); - public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( TexSource.CODEC.fieldOf("source").forGetter(SpreadSource::getSource), Codec.either(Range.CODEC, Range.CODEC.listOf()).xmap( either -> either.map(List::of, Function.identity()), @@ -102,7 +103,7 @@ private static int mapToRange(float value, List ranges) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TextureReaderSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TextureReaderSource.java similarity index 93% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TextureReaderSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TextureReaderSource.java index 5b8ad9ea..7dc408ee 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TextureReaderSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TextureReaderSource.java @@ -1,9 +1,9 @@ package dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources; import com.mojang.blaze3d.platform.NativeImage; -import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; import com.mojang.serialization.DynamicOps; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -20,7 +20,7 @@ * A {@link TexSource} that reads a texture from packs not provided by DynAssetGen. */ public final class TextureReaderSource implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( ResourceLocation.CODEC.fieldOf("path").forGetter(TextureReaderSource::getPath) ).apply(instance, TextureReaderSource::new)); private final ResourceLocation path; @@ -30,7 +30,7 @@ private TextureReaderSource(ResourceLocation path) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TransformSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TransformSource.java similarity index 95% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TransformSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TransformSource.java index d535165e..b808da64 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TransformSource.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/TransformSource.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -21,7 +22,7 @@ public final class TransformSource implements TexSource { private static final int DEFAULT_ROTATE = 0; private static final boolean DEFAULT_FLIP = false; - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( TexSource.CODEC.fieldOf("input").forGetter(TransformSource::getInput), Codec.INT.optionalFieldOf("rotate", DEFAULT_ROTATE).forGetter(TransformSource::getRotate), Codec.BOOL.optionalFieldOf("flip", DEFAULT_FLIP).forGetter(TransformSource::isFlip) @@ -37,7 +38,7 @@ private TransformSource(TexSource input, int rotate, boolean flip) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/AddMask.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/AddMask.java similarity index 86% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/AddMask.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/AddMask.java index 88c70983..42fdbc14 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/AddMask.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/AddMask.java @@ -1,6 +1,6 @@ package dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources.mask; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; import dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources.AbstractManyOperationSource; import dev.lukebemish.dynamicassetgenerator.api.colors.operations.ColorOperations; @@ -14,7 +14,7 @@ * An {@link AbstractManyOperationSource} defined by {@link ColorOperations#ADD}. */ public class AddMask extends AbstractManyOperationSource { - public static final Codec CODEC = AbstractManyOperationSource.makeCodec(AddMask::new); + public static final MapCodec CODEC = AbstractManyOperationSource.makeCodec(AddMask::new); private AddMask(List sources) { @@ -22,7 +22,7 @@ private AddMask(List sources) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/ChannelMask.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/ChannelMask.java similarity index 93% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/ChannelMask.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/ChannelMask.java index b46e97b7..ec3f3ddb 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/ChannelMask.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/ChannelMask.java @@ -1,7 +1,7 @@ package dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources.mask; import com.mojang.blaze3d.platform.NativeImage; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -21,7 +21,7 @@ */ @SuppressWarnings("unused") public final class ChannelMask implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( TexSource.CODEC.fieldOf("source").forGetter(ChannelMask::getSource), Channel.CODEC.fieldOf("channel").forGetter(ChannelMask::getChannel) ).apply(i, ChannelMask::new)); @@ -34,7 +34,7 @@ private ChannelMask(TexSource source, Channel channel) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/CutoffMask.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/CutoffMask.java similarity index 94% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/CutoffMask.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/CutoffMask.java index 0c301b97..b72e459d 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/CutoffMask.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/CutoffMask.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -23,7 +24,7 @@ public final class CutoffMask implements TexSource { private static final int DEFAULT_CUTOFF = 128; private static final Channel DEFAULT_CHANNEL = Channel.ALPHA; - public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( Channel.CODEC.optionalFieldOf("channel", DEFAULT_CHANNEL).forGetter(CutoffMask::getChannel), TexSource.CODEC.fieldOf("source").forGetter(CutoffMask::getSource), Codec.INT.optionalFieldOf("cutoff", DEFAULT_CUTOFF).forGetter(CutoffMask::getCutoff) @@ -40,7 +41,7 @@ private CutoffMask(Channel channel, TexSource source, int cutoff) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/EdgeMask.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/EdgeMask.java similarity index 96% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/EdgeMask.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/EdgeMask.java index bb1d115a..5c3a0d7c 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/EdgeMask.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/EdgeMask.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -26,7 +27,7 @@ public final class EdgeMask implements TexSource { private static final boolean DEFAULT_COUNT_OUTSIDE_FRAME = false; private static final List DEFAULT_EDGES = Arrays.stream(Direction.values()).toList(); - public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( TexSource.CODEC.fieldOf("source").forGetter(EdgeMask::getSource), Codec.BOOL.optionalFieldOf("count_outside_frame", DEFAULT_COUNT_OUTSIDE_FRAME).forGetter(EdgeMask::isCountOutsideFrame), StringRepresentable.fromEnum(Direction::values).listOf().optionalFieldOf("edges", DEFAULT_EDGES).forGetter(EdgeMask::getEdges), @@ -45,7 +46,7 @@ private EdgeMask(TexSource source, boolean countOutsideFrame, List ed } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/GrowMask.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/GrowMask.java similarity index 96% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/GrowMask.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/GrowMask.java index a677dc04..ba409a60 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/GrowMask.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/GrowMask.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.NativeImage; import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -22,7 +23,7 @@ public final class GrowMask implements TexSource { private static final float DEFAULT_GROWTH = 1f / 16f; private static final int DEFAULT_CUTOFF = 128; - public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( TexSource.CODEC.fieldOf("source").forGetter(GrowMask::getSource), Codec.FLOAT.optionalFieldOf("growth", DEFAULT_GROWTH).forGetter(GrowMask::getGrowth), Codec.INT.optionalFieldOf("cutoff", DEFAULT_CUTOFF).forGetter(GrowMask::getCutoff) @@ -38,7 +39,7 @@ private GrowMask(TexSource source, float growth, int cutoff) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/InvertMask.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/InvertMask.java similarity index 92% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/InvertMask.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/InvertMask.java index f856649e..e57f61c1 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/InvertMask.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/InvertMask.java @@ -1,7 +1,7 @@ package dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources.mask; import com.mojang.blaze3d.platform.NativeImage; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; @@ -17,7 +17,7 @@ * A {@link TexSource} that inverts the color of a source. */ public final class InvertMask implements TexSource { - public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( TexSource.CODEC.fieldOf("source").forGetter(InvertMask::getSource) ).apply(i, InvertMask::new)); private final TexSource source; @@ -27,7 +27,7 @@ private InvertMask(TexSource source) { } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/MultiplyMask.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/MultiplyMask.java similarity index 86% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/MultiplyMask.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/MultiplyMask.java index f28bd492..9e3c295b 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/MultiplyMask.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/MultiplyMask.java @@ -1,6 +1,6 @@ package dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources.mask; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; import dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources.AbstractManyOperationSource; import dev.lukebemish.dynamicassetgenerator.api.colors.operations.ColorOperations; @@ -14,14 +14,14 @@ * An {@link AbstractManyOperationSource} defined by {@link ColorOperations#MULTIPLY}. */ public class MultiplyMask extends AbstractManyOperationSource { - public static final Codec CODEC = AbstractManyOperationSource.makeCodec(MultiplyMask::new); + public static final MapCodec CODEC = AbstractManyOperationSource.makeCodec(MultiplyMask::new); private MultiplyMask(List sources) { super(sources); } @Override - public @NonNull Codec codec() { + public @NonNull MapCodec codec() { return CODEC; } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/mask/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/generators/texsources/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/image/ImageUtils.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/image/ImageUtils.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/image/ImageUtils.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/image/ImageUtils.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/image/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/image/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/image/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/image/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/client/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/Channel.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/Channel.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/Channel.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/Channel.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/ColorEncoding.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/ColorEncoding.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/ColorEncoding.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/ColorEncoding.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/ColorTypes.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/ColorTypes.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/ColorTypes.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/ColorTypes.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/IntColorType.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/IntColorType.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/IntColorType.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/IntColorType.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/LongColorType.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/LongColorType.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/LongColorType.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/LongColorType.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/Palette.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/Palette.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/Palette.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/Palette.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/Cluster.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/Cluster.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/Cluster.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/Cluster.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/Clusterer.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/Clusterer.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/Clusterer.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/Clusterer.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/clustering/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/ColorCoordinates.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/ColorCoordinates.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/ColorCoordinates.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/ColorCoordinates.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/LineSegment.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/LineSegment.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/LineSegment.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/LineSegment.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/geometry/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/CachedConversionOperation.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/CachedConversionOperation.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/CachedConversionOperation.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/CachedConversionOperation.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ChannelOperation.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ChannelOperation.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ChannelOperation.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ChannelOperation.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ColorOperations.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ColorOperations.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ColorOperations.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ColorOperations.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ColorToPaletteOperation.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ColorToPaletteOperation.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ColorToPaletteOperation.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/ColorToPaletteOperation.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/PaletteToColorOperation.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/PaletteToColorOperation.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/PaletteToColorOperation.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/PaletteToColorOperation.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/PointwiseOperation.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/PointwiseOperation.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/PointwiseOperation.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/PointwiseOperation.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/operations/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/colors/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/ConditionalInvisibleResourceProvider.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/ConditionalInvisibleResourceProvider.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/ConditionalInvisibleResourceProvider.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/ConditionalInvisibleResourceProvider.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/InvisibleResourceProvider.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/InvisibleResourceProvider.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/InvisibleResourceProvider.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/InvisibleResourceProvider.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/compat/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/generators/DummyGenerator.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/generators/DummyGenerator.java similarity index 87% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/generators/DummyGenerator.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/generators/DummyGenerator.java index bbc9706c..05fd267a 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/generators/DummyGenerator.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/generators/DummyGenerator.java @@ -1,10 +1,10 @@ package dev.lukebemish.dynamicassetgenerator.api.generators; -import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; import com.mojang.serialization.DynamicOps; -import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerator; +import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerationContext; +import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerator; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.IoSupplier; import org.jspecify.annotations.NonNull; @@ -18,7 +18,7 @@ */ public class DummyGenerator implements ResourceGenerator { public static final DummyGenerator INSTANCE = new DummyGenerator(); - public static final Codec CODEC = Codec.unit(INSTANCE); + public static final MapCodec CODEC = MapCodec.unit(INSTANCE); private DummyGenerator() {} @@ -38,7 +38,7 @@ public IoSupplier get(ResourceLocation outRl, ResourceGenerationCon } @Override - public Codec codec() { + public MapCodec codec() { return CODEC; } } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/generators/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/generators/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/generators/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/generators/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/sources/TagSupplier.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/sources/TagSupplier.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/sources/TagSupplier.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/sources/TagSupplier.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/sources/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/sources/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/sources/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/sources/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/templates/TagFile.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/templates/TagFile.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/templates/TagFile.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/templates/TagFile.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/templates/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/templates/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/templates/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/templates/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/FuzzySet.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/FuzzySet.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/FuzzySet.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/FuzzySet.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/LocationUtils.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/LocationUtils.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/LocationUtils.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/LocationUtils.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/api/util/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/BuiltinDataResourceCache.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/BuiltinDataResourceCache.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/BuiltinDataResourceCache.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/BuiltinDataResourceCache.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/CacheReference.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/CacheReference.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/CacheReference.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/CacheReference.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/CommonRegisters.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/CommonRegisters.java similarity index 69% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/CommonRegisters.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/CommonRegisters.java index 079d9475..e443aec7 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/CommonRegisters.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/CommonRegisters.java @@ -2,7 +2,7 @@ import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.api.ResourceGenerator; import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.ApiStatus; @@ -10,5 +10,5 @@ @ApiStatus.Internal public class CommonRegisters { private CommonRegisters() {} - public static final BiMap> RESOURCEGENERATORS = HashBiMap.create(); + public static final BiMap> RESOURCEGENERATORS = HashBiMap.create(); } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/DynamicAssetGenerator.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/DynamicAssetGenerator.java similarity index 97% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/DynamicAssetGenerator.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/DynamicAssetGenerator.java index ebcb4097..0ca018d7 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/DynamicAssetGenerator.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/DynamicAssetGenerator.java @@ -58,7 +58,6 @@ public static void init() { LOGGER.error("Issue deleting times.log; you might be able to ignore this", e); } } - ResourceGenerator.register(new ResourceLocation(MOD_ID,"dummy"), DummyGenerator.CODEC); ResourceCache.register(new BuiltinDataResourceCache(new ResourceLocation(MOD_ID, "builtin_data")), Pack.Position.TOP); } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/EmptyResourceSource.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/EmptyResourceSource.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/EmptyResourceSource.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/EmptyResourceSource.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/GeneratedPackResources.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/GeneratedPackResources.java similarity index 88% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/GeneratedPackResources.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/GeneratedPackResources.java index 4e921366..d8b6244d 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/GeneratedPackResources.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/GeneratedPackResources.java @@ -3,6 +3,7 @@ import dev.lukebemish.dynamicassetgenerator.api.ResourceCache; import dev.lukebemish.dynamicassetgenerator.impl.util.ReentryDetector; import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.packs.PackLocationInfo; import net.minecraft.server.packs.PackResources; import net.minecraft.server.packs.PackType; import net.minecraft.server.packs.metadata.MetadataSectionSerializer; @@ -20,17 +21,17 @@ public class GeneratedPackResources implements PackResources { private final ResourceCache cache; private @Nullable Map> streams; - private final String name; + private final PackLocationInfo location; - public GeneratedPackResources(String name, ResourceCache cache) { + public GeneratedPackResources(PackLocationInfo location, ResourceCache cache) { this.cache = cache; - this.name = name; + this.location = location; cache.reset(cache.makeContext(true)); } @Override - public boolean isBuiltin() { - return true; + public PackLocationInfo location() { + return location; } private Map> getStreams() { @@ -104,11 +105,6 @@ public T getMetadataSection(MetadataSectionSerializer deserializer) { return null; } - @Override - public @NonNull String packId() { - return this.name; - } - @Override public void close() { @@ -130,13 +126,13 @@ public GeneratedResourcesSupplier(ResourceCache cache) { } @Override - public PackResources openPrimary(String id) { - return new GeneratedPackResources(id, cache); + public PackResources openPrimary(PackLocationInfo location) { + return new GeneratedPackResources(location, cache); } @Override - public PackResources openFull(String id, Pack.Info packInfo) { - return new GeneratedPackResources(id, cache); + public PackResources openFull(PackLocationInfo location, Pack.Metadata metadata) { + return new GeneratedPackResources(location, cache); } } } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/JsonResourceGeneratorReader.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/JsonResourceGeneratorReader.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/JsonResourceGeneratorReader.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/JsonResourceGeneratorReader.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ModConfig.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ModConfig.java similarity index 93% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ModConfig.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ModConfig.java index 4e0816b1..ff9b4c2a 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ModConfig.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ModConfig.java @@ -29,10 +29,9 @@ private static ModConfig load() { try { checkExistence(); JsonObject json = GSON.fromJson(Files.newBufferedReader(FULL_PATH), JsonObject.class); - var either = CODEC.parse(JsonOps.INSTANCE, json).get(); - var left = either.left(); - if (left.isPresent()) { - config = left.get(); + var result = CODEC.parse(JsonOps.INSTANCE, json); + if (result.isSuccess()) { + config = result.getOrThrow(); } else { DynamicAssetGenerator.LOGGER.error("Config is in the wrong format! An attempt to load with this config would crash. Using default config instead..."); } @@ -58,7 +57,7 @@ private void save() throws IOException { } Files.createFile(FULL_PATH); try (Writer writer = Files.newBufferedWriter(FULL_PATH)) { - JsonElement json = CODEC.encodeStart(JsonOps.INSTANCE, this).getOrThrow(false, e -> {}); + JsonElement json = CODEC.encodeStart(JsonOps.INSTANCE, this).getOrThrow(RuntimeException::new); GSON.toJson(json, writer); writer.flush(); } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ResourceCachingData.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ResourceCachingData.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ResourceCachingData.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ResourceCachingData.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ResourceFinder.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ResourceFinder.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ResourceFinder.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/ResourceFinder.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/Timing.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/Timing.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/Timing.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/Timing.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/BuiltinAssetResourceCache.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/BuiltinAssetResourceCache.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/BuiltinAssetResourceCache.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/BuiltinAssetResourceCache.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/BuiltinSpriteProvider.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/BuiltinSpriteProvider.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/BuiltinSpriteProvider.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/BuiltinSpriteProvider.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/ClientRegisters.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/ClientRegisters.java similarity index 72% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/ClientRegisters.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/ClientRegisters.java index 2a5b8a05..2b92e06e 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/ClientRegisters.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/ClientRegisters.java @@ -2,7 +2,7 @@ import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.api.client.generators.TexSource; import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.ApiStatus; @@ -10,5 +10,5 @@ @ApiStatus.Internal public class ClientRegisters { private ClientRegisters() {} - public static final BiMap> TEXSOURCES = HashBiMap.create(); + public static final BiMap> TEXSOURCES = HashBiMap.create(); } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/DynamicAssetGeneratorClient.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/DynamicAssetGeneratorClient.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/DynamicAssetGeneratorClient.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/DynamicAssetGeneratorClient.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/ForegroundExtractor.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/ForegroundExtractor.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/ForegroundExtractor.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/ForegroundExtractor.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/NativeImageHelper.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/NativeImageHelper.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/NativeImageHelper.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/NativeImageHelper.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/TexSourceCache.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/TexSourceCache.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/TexSourceCache.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/TexSourceCache.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/ClientServices.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/ClientServices.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/ClientServices.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/ClientServices.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/PlatformClient.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/PlatformClient.java similarity index 61% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/PlatformClient.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/PlatformClient.java index 1d9541e5..9eb4e258 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/PlatformClient.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/PlatformClient.java @@ -1,9 +1,9 @@ package dev.lukebemish.dynamicassetgenerator.impl.client.platform; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import net.minecraft.client.renderer.texture.atlas.SpriteSource; import net.minecraft.resources.ResourceLocation; public interface PlatformClient { - void addSpriteSource(ResourceLocation location, Codec codec); + void addSpriteSource(ResourceLocation location, MapCodec codec); } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/client/platform/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/MinecraftMixin.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/MinecraftMixin.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/MinecraftMixin.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/MinecraftMixin.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/MultiPackResourceManagerMixin.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/MultiPackResourceManagerMixin.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/MultiPackResourceManagerMixin.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/MultiPackResourceManagerMixin.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/PackRepositoryMixin.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/PackRepositoryMixin.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/PackRepositoryMixin.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/PackRepositoryMixin.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/ReloadableResourceManagerMixin.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/ReloadableResourceManagerMixin.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/ReloadableResourceManagerMixin.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/ReloadableResourceManagerMixin.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/SpriteSourceListMixin.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/SpriteSourceListMixin.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/SpriteSourceListMixin.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/SpriteSourceListMixin.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/SpriteSourcesAccessor.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/SpriteSourcesAccessor.java similarity index 75% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/SpriteSourcesAccessor.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/SpriteSourcesAccessor.java index 6b5b5ddf..652d2ee2 100644 --- a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/SpriteSourcesAccessor.java +++ b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/mixin/SpriteSourcesAccessor.java @@ -1,7 +1,7 @@ package dev.lukebemish.dynamicassetgenerator.impl.mixin; import com.google.common.collect.BiMap; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import net.minecraft.client.renderer.texture.atlas.SpriteSource; import net.minecraft.client.renderer.texture.atlas.SpriteSourceType; import net.minecraft.client.renderer.texture.atlas.SpriteSources; @@ -14,12 +14,12 @@ public interface SpriteSourcesAccessor { @SuppressWarnings("UnusedReturnValue") @Invoker("register") - static SpriteSourceType invokeRegister(String pName, Codec pCodec) { + static SpriteSourceType dynamicassetgenerator$invokeRegister(String pName, MapCodec mapCodec) { throw new AssertionError("Mixin failed to apply"); } @Accessor("TYPES") - static BiMap getTypes() { + static BiMap dynamicassetgenerator$getTypes() { throw new AssertionError("Mixin failed to apply"); } } diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/Services.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/Services.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/Services.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/Services.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/Platform.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/Platform.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/Platform.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/Platform.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/ResourceDegrouper.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/ResourceDegrouper.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/ResourceDegrouper.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/ResourceDegrouper.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/platform/services/package-info.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/InvisibleProviderUtils.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/InvisibleProviderUtils.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/InvisibleProviderUtils.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/InvisibleProviderUtils.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/Maath.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/Maath.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/Maath.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/Maath.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/MultiCloser.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/MultiCloser.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/MultiCloser.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/MultiCloser.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/ReentryDetector.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/ReentryDetector.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/ReentryDetector.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/ReentryDetector.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/ResourceUtils.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/ResourceUtils.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/ResourceUtils.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/ResourceUtils.java diff --git a/common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/package-info.java b/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/package-info.java similarity index 100% rename from common/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/package-info.java rename to src/main/java/dev/lukebemish/dynamicassetgenerator/impl/util/package-info.java diff --git a/common/src/main/resources/assets/dynamic_asset_generator/textures/empty.png b/src/main/resources/assets/dynamic_asset_generator/textures/empty.png similarity index 100% rename from common/src/main/resources/assets/dynamic_asset_generator/textures/empty.png rename to src/main/resources/assets/dynamic_asset_generator/textures/empty.png diff --git a/common/src/main/resources/mixin.dynamic_asset_generator.json b/src/main/resources/mixin.dynamic_asset_generator.json similarity index 100% rename from common/src/main/resources/mixin.dynamic_asset_generator.json rename to src/main/resources/mixin.dynamic_asset_generator.json diff --git a/common/src/main/resources/mods.groovy b/src/main/resources/mods.groovy similarity index 100% rename from common/src/main/resources/mods.groovy rename to src/main/resources/mods.groovy diff --git a/neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/DynamicAssetGeneratorNeoForge.java b/src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/DynamicAssetGeneratorNeoForge.java similarity index 100% rename from neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/DynamicAssetGeneratorNeoForge.java rename to src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/DynamicAssetGeneratorNeoForge.java diff --git a/neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/EventHandler.java b/src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/EventHandler.java similarity index 100% rename from neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/EventHandler.java rename to src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/EventHandler.java diff --git a/neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/PlatformClientImpl.java b/src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/PlatformClientImpl.java similarity index 75% rename from neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/PlatformClientImpl.java rename to src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/PlatformClientImpl.java index 9ed59827..f53a9fc1 100644 --- a/neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/PlatformClientImpl.java +++ b/src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/PlatformClientImpl.java @@ -2,7 +2,7 @@ import com.google.auto.service.AutoService; import com.mojang.datafixers.util.Pair; -import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; import dev.lukebemish.dynamicassetgenerator.impl.client.platform.PlatformClient; import dev.lukebemish.dynamicassetgenerator.impl.mixin.SpriteSourcesAccessor; import net.minecraft.client.renderer.texture.atlas.SpriteSource; @@ -14,11 +14,11 @@ @AutoService(PlatformClient.class) public class PlatformClientImpl implements PlatformClient { - private static final List>> SPRITE_SOURCE_QUEUE = new ArrayList<>(); + private static final List>> SPRITE_SOURCE_QUEUE = new ArrayList<>(); private static boolean SPRITE_SOURCES_REGISTERED = false; - public void addSpriteSource(ResourceLocation location, Codec codec) { + public void addSpriteSource(ResourceLocation location, MapCodec codec) { if (SPRITE_SOURCES_REGISTERED) { throw new IllegalStateException("Sprite sources have already been registered. Try registering yours during mod initialization!"); } @@ -29,7 +29,7 @@ public static void reloadListenerListener(RegisterClientReloadListenersEvent eve if (SPRITE_SOURCES_REGISTERED) return; SPRITE_SOURCES_REGISTERED = true; for (var pair : SPRITE_SOURCE_QUEUE) { - SpriteSourcesAccessor.invokeRegister(pair.getFirst().toString(), pair.getSecond()); + SpriteSourcesAccessor.dynamicassetgenerator$invokeRegister(pair.getFirst().toString(), pair.getSecond()); } } } diff --git a/neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/PlatformImpl.java b/src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/PlatformImpl.java similarity index 100% rename from neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/PlatformImpl.java rename to src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/PlatformImpl.java diff --git a/neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/ResourceDegrouperImpl.java b/src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/ResourceDegrouperImpl.java similarity index 100% rename from neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/ResourceDegrouperImpl.java rename to src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/ResourceDegrouperImpl.java diff --git a/neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/package-info.java b/src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/package-info.java similarity index 100% rename from neoforge/src/main/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/package-info.java rename to src/neoforge/java/dev/lukebemish/dynamicassetgenerator/impl/neoforge/package-info.java diff --git a/neoforge/src/main/resources/pack.mcmeta b/src/neoforge/resources/pack.mcmeta similarity index 100% rename from neoforge/src/main/resources/pack.mcmeta rename to src/neoforge/resources/pack.mcmeta diff --git a/version.properties b/version.properties index 367418b5..46d5d300 100644 --- a/version.properties +++ b/version.properties @@ -1 +1 @@ -version=5.1.2 +version=6.0.0