diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dc38193..6b747fb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,31 +6,19 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Set up JDK 21 - uses: actions/setup-java@v2 + - uses: actions/checkout@v4 + - name: Set up JDK 25 + uses: actions/setup-java@v4 with: - java-version: "21" - distribution: "adopt" + java-version: "25" + distribution: "temurin" - run: ./gradlew build - - name: Upload Forge Build - uses: actions/upload-artifact@v4 - with: - name: Forge - path: dist/*-forge.jar - - name: Upload Fabric Build uses: actions/upload-artifact@v4 with: name: Fabric - path: dist/*-fabric.jar - - - name: Upload Neoforge Build - uses: actions/upload-artifact@v4 - with: - name: Neoforge - path: dist/*-neoforge.jar + path: build/libs/*.jar - name: Release Tag if: startsWith(github.ref, 'refs/tags/v') @@ -39,6 +27,6 @@ jobs: prerelease: true fail_on_unmatched_files: true files: | - dist/*.jar + build/libs/*.jar env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index 1acea60..c8d46b9 100644 --- a/README.md +++ b/README.md @@ -9,4 +9,4 @@ Load jalist, display snitch ranges, help place snitches. To download the most recent, unstable build: 1. be logged into Github 1. in the [Actions tab](https://github.com/Gjum/SnitchMod/actions), open the latest Workflow Run -1. at the bottom, download the Forge/Fabric Artifact, and extract the mod jar from the zip file. +1. at the bottom, download the Fabric Artifact, and extract the mod jar from the zip file. diff --git a/build.gradle b/build.gradle index c9c2fbb..3faa836 100644 --- a/build.gradle +++ b/build.gradle @@ -1,53 +1,61 @@ plugins { - id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "1.13-SNAPSHOT" apply false -} -architectury { - minecraft = rootProject.minecraft_version + id 'net.fabricmc.fabric-loom' version "${loom_version}" + id 'maven-publish' } -subprojects { - apply plugin: "dev.architectury.loom" +version = project.mod_version +group = project.maven_group - loom { - silentMojangMappingsLicense() - } +base { + archivesName = project.archives_base_name } -allprojects { - apply plugin: "java" - apply plugin: "architectury-plugin" - apply plugin: "maven-publish" - - archivesBaseName = rootProject.archives_base_name - version = rootProject.mod_version - group = rootProject.maven_group - - repositories { - // Add repositories to retrieve artifacts from in here. - // You should only use this when depending on other mods because - // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. - // See https://docs.gradle.org/current/userguide/declaring_repositories.html - // for more information about repositories. - maven { - url "https://cursemaven.com" - content { - includeGroup "curse.maven" - } - } - maven { - name "Modrinth" - url "https://api.modrinth.com/maven" - } - maven { url "https://maven.neoforged.net/releases/" } +repositories { + maven { + name "Modrinth" + url "https://api.modrinth.com/maven" } + maven { + url "https://cursemaven.com" + content { includeGroup "curse.maven" } + } +} + +dependencies { + minecraft "com.mojang:minecraft:${project.minecraft_version}" + implementation "net.fabricmc:fabric-loader:${project.loader_version}" + implementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}" + + // Bundle sqlite-jdbc inside the mod jar (Fabric jar-in-jar) so users don't install it separately. + implementation "org.xerial:sqlite-jdbc:3.47.0.0" + include "org.xerial:sqlite-jdbc:3.47.0.0" +} - tasks.withType(JavaCompile).configureEach { - options.encoding = "UTF-8" - options.release = 21 +processResources { + inputs.property "version", project.version + inputs.property "minecraft_version", project.minecraft_version + inputs.property "fabric_loader_version", project.loader_version + + filesMatching("fabric.mod.json") { + expand "version": project.version, + "minecraft_version": project.minecraft_version, + "fabric_loader_version": project.loader_version } +} + +tasks.withType(JavaCompile).configureEach { + it.options.encoding = "UTF-8" + it.options.release = 25 +} + +java { + withSourcesJar() + sourceCompatibility = JavaVersion.VERSION_25 + targetCompatibility = JavaVersion.VERSION_25 +} - java { - withSourcesJar() +jar { + from("LICENSE.txt") { + rename { "${it}_${project.archives_base_name}" } } } diff --git a/common/build.gradle b/common/build.gradle deleted file mode 100644 index 42bc599..0000000 --- a/common/build.gradle +++ /dev/null @@ -1,34 +0,0 @@ -dependencies { - // We depend on fabric loader here to use the fabric @Environment annotations and get the mixin dependencies - // Do NOT use other classes from fabric loader - modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" - - minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" - mappings loom.officialMojangMappings() - - implementation "org.xerial:sqlite-jdbc:3.47.0.0" - // modCompileOnly "maven.modrinth:voxelmap-updated:1.20.4-1.12.17" -} - -architectury { - injectInjectables = false - common(rootProject.enabled_platforms.split(",")) -} - -processResources { - inputs.property "version", project.version -} - -publishing { - publications { - mavenCommon(MavenPublication) { - artifactId = rootProject.archives_base_name - from components.java - } - } - - // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. - repositories { - // Add repositories to publish to here. - } -} diff --git a/fabric/build.gradle b/fabric/build.gradle deleted file mode 100644 index 8452462..0000000 --- a/fabric/build.gradle +++ /dev/null @@ -1,102 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" version "7.0.0" -} - -architectury { - platformSetupLoomIde() - fabric() -} - -configurations { - common - shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. - compileClasspath.extendsFrom common - runtimeClasspath.extendsFrom common - developmentFabric.extendsFrom common -} - -dependencies { - modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" - modApi "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" - - common(project(path: ":common", configuration: "namedElements")) { transitive false } - shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { transitive false } - - minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" - mappings loom.officialMojangMappings() - - implementation "org.xerial:sqlite-jdbc:3.47.0.0" - shadowCommon "org.xerial:sqlite-jdbc:3.47.0.0" - - // modCompileOnly "curse.maven:journeymap-32274:5457846" // version 1.18.2-5.8.4-fabric - // modCompileOnly "maven.modrinth:voxelmap-updated:1.20.4-1.12.17" -} - -processResources { - inputs.property "version", project.version - - filesMatching("fabric.mod.json") { - expand ( - [ - "version": project.version, - "minecraft_version": project.minecraft_version, - "fabric_loader_version": project.fabric_loader_version - ] - ) - } -} - -shadowJar { - configurations = [project.configurations.shadowCommon] - archiveClassifier = "dev-shadow" -} - -remapJar { - input.set shadowJar.archiveFile - dependsOn shadowJar - archiveClassifier = "fabric" -} - -jar { - archiveClassifier = "dev" -} - -sourcesJar { - def commonSources = project(":common").sourcesJar - dependsOn commonSources - from commonSources.archiveFile.map { zipTree(it) } -} - -components.java { - withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { - skip() - } -} - -publishing { - publications { - mavenFabric(MavenPublication) { - artifactId = rootProject.archives_base_name + "-" + project.name - from components.java - } - } - - // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. - repositories { - // Add repositories to publish to here. - } -} - -tasks.register('cleanJar', Delete) { - delete fileTree('../dist') { - include "*-fabric.jar" - } -} - -tasks.register('copyJar', Copy) { - from remapJar - into '../dist' -} - -build.dependsOn copyJar -copyJar.dependsOn cleanJar diff --git a/forge/build.gradle b/forge/build.gradle deleted file mode 100644 index 0f90cbd..0000000 --- a/forge/build.gradle +++ /dev/null @@ -1,108 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" version "7.0.0" -} - -architectury { - platformSetupLoomIde() - forge() -} - -loom { - forge { - mixinConfig "mixin.snitchmod.json", "mixin.snitchmod.forge.json" - } -} - -configurations { - common - shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. - compileClasspath.extendsFrom common - runtimeClasspath.extendsFrom common - developmentForge.extendsFrom common -} - -dependencies { - forge "net.minecraftforge:forge:${rootProject.minecraft_version}-${rootProject.forge_version}" - - common(project(path: ":common", configuration: "namedElements")) { transitive false } - shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive = false } - - minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" - mappings loom.officialMojangMappings() - - implementation "org.xerial:sqlite-jdbc:3.47.0.0" - shadowCommon "org.xerial:sqlite-jdbc:3.47.0.0" - - //modCompileOnly "curse.maven:journeymap-32274:5457832" // version 1.20.4-5.10.0-forge -} - -processResources { - inputs.property "version", project.version - - filesMatching("META-INF/mods.toml") { - expand ( - [ - "version": project.version, - "minecraft_version": project.minecraft_version, - "forge_version": project.forge_version - ] - ) - } -} - -shadowJar { - exclude "fabric.mod.json" - - configurations = [project.configurations.shadowCommon] - archiveClassifier = "dev-shadow" -} - -remapJar { - input.set shadowJar.archiveFile - dependsOn shadowJar - archiveClassifier = "forge" -} - -jar { - archiveClassifier = "dev" -} - -sourcesJar { - def commonSources = project(":common").sourcesJar - dependsOn commonSources - from commonSources.archiveFile.map { zipTree(it) } -} - -components.java { - withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { - skip() - } -} - -publishing { - publications { - mavenForge(MavenPublication) { - artifactId = rootProject.archives_base_name + "-" + project.name - from components.java - } - } - - // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. - repositories { - // Add repositories to publish to here. - } -} - -tasks.register('cleanJar', Delete) { - delete fileTree('../dist') { - include "*-forge.jar" - } -} - -tasks.register('copyJar', Copy) { - from remapJar - into '../dist' -} - -build.dependsOn copyJar -copyJar.dependsOn cleanJar diff --git a/forge/gradle.properties b/forge/gradle.properties deleted file mode 100644 index 8242585..0000000 --- a/forge/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -loom.platform=forge diff --git a/forge/src/main/java/gjum/minecraft/civ/snitchmod/forge/ForgeSnitchMod.java b/forge/src/main/java/gjum/minecraft/civ/snitchmod/forge/ForgeSnitchMod.java deleted file mode 100644 index 950d929..0000000 --- a/forge/src/main/java/gjum/minecraft/civ/snitchmod/forge/ForgeSnitchMod.java +++ /dev/null @@ -1,30 +0,0 @@ -package gjum.minecraft.civ.snitchmod.forge; - -import gjum.minecraft.civ.snitchmod.common.SnitchMod; -import net.minecraftforge.client.event.RegisterKeyMappingsEvent; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.TickEvent; -import net.minecraftforge.eventbus.api.listener.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; - -@Mod("snitchmod") -public class ForgeSnitchMod extends SnitchMod { - public ForgeSnitchMod(FMLJavaModLoadingContext fmlJavaModLoadingContext) { - MinecraftForge.EVENT_BUS.register(this); - } - - @SubscribeEvent - public static void onRegisterKeyMappings(RegisterKeyMappingsEvent event) { - event.register(openGuiKey); - event.register(toggleOverlayKey); - event.register(togglePlacementKey); - event.register(previewSnitchFieldKey); - event.register(toggleSnitchGoneStatusKey); - } - - @SubscribeEvent - public void onClientTick(TickEvent.ClientTickEvent.Pre event) { - handleTick(); - } -} diff --git a/forge/src/main/java/gjum/minecraft/civ/snitchmod/forge/mixins/LevelRenderMixin.java b/forge/src/main/java/gjum/minecraft/civ/snitchmod/forge/mixins/LevelRenderMixin.java deleted file mode 100644 index 3d5e59f..0000000 --- a/forge/src/main/java/gjum/minecraft/civ/snitchmod/forge/mixins/LevelRenderMixin.java +++ /dev/null @@ -1,20 +0,0 @@ -package gjum.minecraft.civ.snitchmod.forge.mixins; - -import com.mojang.blaze3d.vertex.PoseStack; -import gjum.minecraft.civ.snitchmod.forge.ForgeSnitchMod; -import net.minecraft.client.renderer.LevelRenderer; -import org.joml.Matrix4f; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(LevelRenderer.class) -public abstract class LevelRenderMixin { // REMINDER: Forge sucks - /*@Inject(method = "renderSectionLayer", at = @At("RETURN")) - private void onRenderLevelLast(RenderType arg, double d, double e, double f, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { - if (arg == RenderType.translucent()) { - ForgeSnitchMod.getMod().handleRenderBlockOverlay(new PoseStack().last().pose()); - } - }*/ -} diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml deleted file mode 100644 index e8fc547..0000000 --- a/forge/src/main/resources/META-INF/mods.toml +++ /dev/null @@ -1,28 +0,0 @@ -modLoader = "javafml" -loaderVersion = "[${forge_version},)" -issueTrackerURL = "https://github.com/Gjum/snitchmod/issues" -license = "GPL-3.0-only" - -[[mods]] -modId = "snitchmod" -version = "${version}" -displayName = "Snitch Mod" -authors = "Gjum" -description = ''' -Snitch Mod -''' -logoFile = "assets/snitchmod/icon.png" - -[[dependencies.snitchmod]] -modId = "forge" -mandatory = true -versionRange = "[${forge_version},)" -ordering = "NONE" -side = "CLIENT" - -[[dependencies.snitchmod]] -modId = "minecraft" -mandatory = true -versionRange = "[${minecraft_version}]" -ordering = "NONE" -side = "CLIENT" diff --git a/forge/src/main/resources/mixin.snitchmod.forge.json b/forge/src/main/resources/mixin.snitchmod.forge.json deleted file mode 100644 index 0042c05..0000000 --- a/forge/src/main/resources/mixin.snitchmod.forge.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "gjum.minecraft.civ.snitchmod.forge.mixins", - "compatibilityLevel": "JAVA_21", - "mixins": [], - "client": [ - "LevelRenderMixin" - ], - "server": [], - "injectors": { - "defaultRequire": 1 - } -} \ No newline at end of file diff --git a/forge/src/main/resources/pack.mcmeta b/forge/src/main/resources/pack.mcmeta deleted file mode 100644 index 1b80856..0000000 --- a/forge/src/main/resources/pack.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "pack": { - "description": "Snitch Mod", - "pack_format": 42 - } -} diff --git a/gradle.properties b/gradle.properties index 0a5e86b..fde2a01 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,17 +1,15 @@ org.gradle.jvmargs=-Xmx2048M +org.gradle.parallel=true +# IntelliJ IDEA is not yet fully compatible with the configuration cache +org.gradle.configuration-cache=false maven_group=gjum.minecraft.snitchmod archives_base_name=snitchmod +mod_version=1.5.0-mc26.1.2 -mod_version=1.5.0-mc1.21.11 +minecraft_version=26.1.2 -minecraft_version=1.21.11 -enabled_platforms=fabric,forge,neoforge - -# https://fabricmc.net/versions.html -fabric_loader_version=0.18.4 -fabric_api_version=0.141.3+1.21.11 - -forge_version=61.1.4 - -neoforge_version=21.11.38-beta +# check these on https://fabricmc.net/develop +loader_version=0.19.3 +loom_version=1.17-SNAPSHOT +fabric_api_version=0.152.1+26.1.2 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d6e308a..9937dae 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/neoforge/build.gradle b/neoforge/build.gradle deleted file mode 100644 index 1262e59..0000000 --- a/neoforge/build.gradle +++ /dev/null @@ -1,100 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" version "7.0.0" -} - -architectury { - platformSetupLoomIde() - neoForge() -} - -configurations { - common - shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. - compileClasspath.extendsFrom common - runtimeClasspath.extendsFrom common - developmentNeoForge.extendsFrom common -} - -dependencies { - neoForge "net.neoforged:neoforge:${rootProject.neoforge_version}" - - common(project(path: ":common", configuration: "namedElements")) { transitive false } - shadowCommon(project(path: ":common", configuration: "transformProductionNeoForge")) { transitive = false } - - minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" - mappings loom.officialMojangMappings() - - implementation "org.xerial:sqlite-jdbc:3.47.0.0" - shadowCommon "org.xerial:sqlite-jdbc:3.47.0.0" -} - -processResources { - inputs.property "version", project.version - - filesMatching("META-INF/neoforge.mods.toml") { - expand ( - [ - "version": project.version, - "minecraft_version": project.minecraft_version, - "neoforge_version": project.neoforge_version - ] - ) - } -} - -shadowJar { - exclude "fabric.mod.json" - - configurations = [project.configurations.shadowCommon] - archiveClassifier = "dev-shadow" -} - -remapJar { - input.set shadowJar.archiveFile - dependsOn shadowJar - archiveClassifier = "neoforge" -} - -jar { - archiveClassifier = "dev" -} - -sourcesJar { - def commonSources = project(":common").sourcesJar - dependsOn commonSources - from commonSources.archiveFile.map { zipTree(it) } -} - -components.java { - withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { - skip() - } -} - -publishing { - publications { - mavenForge(MavenPublication) { - artifactId = rootProject.archives_base_name + "-" + project.name - from components.java - } - } - - // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. - repositories { - // Add repositories to publish to here. - } -} - -tasks.register('cleanJar', Delete) { - delete fileTree('../dist') { - include "*-neoforge.jar" - } -} - -tasks.register('copyJar', Copy) { - from remapJar - into '../dist' -} - -build.dependsOn copyJar -copyJar.dependsOn cleanJar diff --git a/neoforge/gradle.properties b/neoforge/gradle.properties deleted file mode 100644 index 7da18ea..0000000 --- a/neoforge/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -loom.platform=neoforge diff --git a/neoforge/src/main/java/gjum/minecraft/civ/snitchmod/neoforge/NeoForgeSnitchMod.java b/neoforge/src/main/java/gjum/minecraft/civ/snitchmod/neoforge/NeoForgeSnitchMod.java deleted file mode 100644 index 0be57fc..0000000 --- a/neoforge/src/main/java/gjum/minecraft/civ/snitchmod/neoforge/NeoForgeSnitchMod.java +++ /dev/null @@ -1,36 +0,0 @@ -package gjum.minecraft.civ.snitchmod.neoforge; - -import gjum.minecraft.civ.snitchmod.common.SnitchMod; -import net.neoforged.bus.api.IEventBus; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.common.Mod; -import net.neoforged.neoforge.client.event.ClientTickEvent; -import net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent; -import net.neoforged.neoforge.client.event.RenderLevelStageEvent; -import net.neoforged.neoforge.common.NeoForge; - -@Mod("snitchmod") -public class NeoForgeSnitchMod extends SnitchMod { - public NeoForgeSnitchMod(IEventBus bus) { - NeoForge.EVENT_BUS.register(this); - bus.addListener(this::registerKeyMappings); - } - - public void registerKeyMappings(RegisterKeyMappingsEvent event) { - event.register(openGuiKey); - event.register(toggleOverlayKey); - event.register(togglePlacementKey); - event.register(previewSnitchFieldKey); - event.register(toggleSnitchGoneStatusKey); - } - - @SubscribeEvent - public void onAfterTripwire(RenderLevelStageEvent.AfterTripwireBlocks event) { - handleRenderBlockOverlay(event.getPoseStack()); - } - - @SubscribeEvent - public void onClientTick(ClientTickEvent.Pre event) { - handleTick(); - } -} diff --git a/neoforge/src/main/resources/META-INF/neoforge.mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml deleted file mode 100644 index 5dbdd05..0000000 --- a/neoforge/src/main/resources/META-INF/neoforge.mods.toml +++ /dev/null @@ -1,31 +0,0 @@ -modLoader = "javafml" -loaderVersion = "[1,)" -issueTrackerURL = "https://github.com/Gjum/snitchmod/issues" -license = "GPL-3.0-only" - -[[mixins]] -config="mixin.snitchmod.json" - -[[mods]] -modId = "snitchmod" -version = "${version}" -displayName = "Snitch Mod" -authors = "Gjum" -description = ''' -Snitch Mod -''' -logoFile = "assets/snitchmod/icon.png" - -[[dependencies.snitchmod]] -modId = "neoforge" -mandatory = true -versionRange = "[${neoforge_version},)" -ordering = "NONE" -side = "CLIENT" - -[[dependencies.snitchmod]] -modId = "minecraft" -mandatory = true -versionRange = "[${minecraft_version}]" -ordering = "NONE" -side = "CLIENT" diff --git a/neoforge/src/main/resources/pack.mcmeta b/neoforge/src/main/resources/pack.mcmeta deleted file mode 100644 index 1b80856..0000000 --- a/neoforge/src/main/resources/pack.mcmeta +++ /dev/null @@ -1,6 +0,0 @@ -{ - "pack": { - "description": "Snitch Mod", - "pack_format": 42 - } -} diff --git a/settings.gradle b/settings.gradle index 8436d99..ebb0f49 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,16 +1,8 @@ pluginManagement { repositories { maven { url "https://maven.fabricmc.net/" } - maven { url "https://maven.architectury.dev/" } - maven { url "https://maven.minecraftforge.net/" } - maven { url "https://maven.neoforged.net/releases/" } gradlePluginPortal() } } -include("common") -include("fabric") -include("forge") -include("neoforge") - rootProject.name = "snitchmod" diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/JalistAutoPaginator.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/JalistAutoPaginator.java similarity index 95% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/JalistAutoPaginator.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/JalistAutoPaginator.java index 1b1e175..4ea1bc7 100644 --- a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/JalistAutoPaginator.java +++ b/src/main/java/gjum/minecraft/civ/snitchmod/common/JalistAutoPaginator.java @@ -3,7 +3,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import net.minecraft.network.chat.Component; -import net.minecraft.world.inventory.ClickType; +import net.minecraft.world.inventory.ContainerInput; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -159,11 +159,11 @@ private void clickNextPage(List stacks) { // Simulate a left click on the slot if (mc.gameMode != null) { - mc.gameMode.handleInventoryMouseClick( - container.containerId, - NEXT_PAGE_SLOT, - 0, - ClickType.PICKUP, + mc.gameMode.handleContainerInput( + container.containerId, + NEXT_PAGE_SLOT, + 0, + ContainerInput.PICKUP, mc.player ); } @@ -211,6 +211,6 @@ public static int getCurrentPage() { } private void logToChat(String message) { - mc.gui.getChat().addMessage(Component.literal("[JAList Auto] " + message)); + mc.gui.getChat().addClientSystemMessage(Component.literal("[JAList Auto] " + message)); } } \ No newline at end of file diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/Renderer.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/Renderer.java similarity index 99% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/Renderer.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/Renderer.java index 24e1dc1..607c6b9 100644 --- a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/Renderer.java +++ b/src/main/java/gjum/minecraft/civ/snitchmod/common/Renderer.java @@ -8,7 +8,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; //import net.minecraft.client.renderer.CoreShaders; -import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.rendertype.RenderType; import net.minecraft.client.renderer.rendertype.RenderTypes; @@ -661,7 +660,7 @@ private static void renderTextFacingCamera(Component text, Vec3 pos, float offse // Use immediate mode rendering with proper depth handling try (RenderBufferGuard guard = RenderBufferGuard.open(false, true, false)) { - mc.font.drawInBatch(text, x, y, colorAlphaHex, shadow, matrix, guard.bufferSource, Font.DisplayMode.SEE_THROUGH, bgColor, LightTexture.FULL_BRIGHT); + mc.font.drawInBatch(text, x, y, colorAlphaHex, shadow, matrix, guard.bufferSource, Font.DisplayMode.SEE_THROUGH, bgColor, 15728880); } /*var poseStack = new PoseStack(); diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchMod.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchMod.java similarity index 99% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchMod.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchMod.java index a3366aa..be01bad 100644 --- a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchMod.java +++ b/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchMod.java @@ -354,6 +354,6 @@ public Stream streamNearbySnitches(Vec3 playerPos, int distance) { } private void logToChat(Component msg) { - mc.gui.getChat().addMessage(Component.literal("[SnitchMod] ").append(msg)); + mc.gui.getChat().addClientSystemMessage(Component.literal("[SnitchMod] ").append(msg)); } } diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchSqliteDb.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchSqliteDb.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchSqliteDb.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchSqliteDb.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchesStore.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchesStore.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchesStore.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/SnitchesStore.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/Utils.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/Utils.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/Utils.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/Utils.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/mixins/MixinClientPacketListener.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/mixins/MixinClientPacketListener.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/mixins/MixinClientPacketListener.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/mixins/MixinClientPacketListener.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/mixins/MixinDisconnectListener.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/mixins/MixinDisconnectListener.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/mixins/MixinDisconnectListener.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/mixins/MixinDisconnectListener.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Direction.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Direction.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Direction.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/Direction.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/JalistEntry.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/JalistEntry.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/JalistEntry.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/JalistEntry.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Pitch.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Pitch.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Pitch.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/Pitch.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Snitch.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Snitch.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Snitch.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/Snitch.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchAlert.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchAlert.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchAlert.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchAlert.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchBroken.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchBroken.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchBroken.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchBroken.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchCreatedChatParser.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchCreatedChatParser.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchCreatedChatParser.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchCreatedChatParser.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchFieldPreview.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchFieldPreview.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchFieldPreview.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchFieldPreview.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchRename.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchRename.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchRename.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/SnitchRename.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/WorldPos.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/WorldPos.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/WorldPos.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/WorldPos.java diff --git a/common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Yaw.java b/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Yaw.java similarity index 100% rename from common/src/main/java/gjum/minecraft/civ/snitchmod/common/model/Yaw.java rename to src/main/java/gjum/minecraft/civ/snitchmod/common/model/Yaw.java diff --git a/fabric/src/main/java/gjum/minecraft/civ/snitchmod/fabric/FabricSnitchMod.java b/src/main/java/gjum/minecraft/civ/snitchmod/fabric/FabricSnitchMod.java similarity index 69% rename from fabric/src/main/java/gjum/minecraft/civ/snitchmod/fabric/FabricSnitchMod.java rename to src/main/java/gjum/minecraft/civ/snitchmod/fabric/FabricSnitchMod.java index 383d2da..0ef24fe 100644 --- a/fabric/src/main/java/gjum/minecraft/civ/snitchmod/fabric/FabricSnitchMod.java +++ b/src/main/java/gjum/minecraft/civ/snitchmod/fabric/FabricSnitchMod.java @@ -4,9 +4,8 @@ import gjum.minecraft.civ.snitchmod.common.SnitchMod; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; -import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; -import net.fabricmc.fabric.api.client.rendering.v1.world.WorldRenderEvents; -import net.fabricmc.fabric.api.client.rendering.v1.world.WorldRenderContext; +import net.fabricmc.fabric.api.client.keymapping.v1.KeyMappingHelper; +import net.fabricmc.fabric.api.client.rendering.v1.level.LevelRenderEvents; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import org.lwjgl.glfw.GLFW; @@ -14,12 +13,12 @@ public class FabricSnitchMod extends SnitchMod implements ClientModInitializer { @Override public void onInitializeClient() { - KeyBindingHelper.registerKeyBinding(openGuiKey); - KeyBindingHelper.registerKeyBinding(toggleOverlayKey); - KeyBindingHelper.registerKeyBinding(togglePlacementKey); - KeyBindingHelper.registerKeyBinding(previewSnitchFieldKey); - KeyBindingHelper.registerKeyBinding(toggleSnitchGoneStatusKey); - KeyBindingHelper.registerKeyBinding(jalistAutoKey); + KeyMappingHelper.registerKeyMapping(openGuiKey); + KeyMappingHelper.registerKeyMapping(toggleOverlayKey); + KeyMappingHelper.registerKeyMapping(togglePlacementKey); + KeyMappingHelper.registerKeyMapping(previewSnitchFieldKey); + KeyMappingHelper.registerKeyMapping(toggleSnitchGoneStatusKey); + KeyMappingHelper.registerKeyMapping(jalistAutoKey); ClientTickEvents.START_CLIENT_TICK.register(client -> { try { @@ -43,9 +42,9 @@ public void onInitializeClient() { e.printStackTrace(); } }); - WorldRenderEvents.END_MAIN.register(((context) -> { + LevelRenderEvents.END_MAIN.register(((context) -> { try { - handleRenderBlockOverlay(context.matrices()); + handleRenderBlockOverlay(context.poseStack()); } catch (Exception e) { e.printStackTrace(); } diff --git a/common/src/main/resources/assets/snitchmod/icon.png b/src/main/resources/assets/snitchmod/icon.png similarity index 100% rename from common/src/main/resources/assets/snitchmod/icon.png rename to src/main/resources/assets/snitchmod/icon.png diff --git a/common/src/main/resources/assets/snitchmod/lang/en_us.json b/src/main/resources/assets/snitchmod/lang/en_us.json similarity index 100% rename from common/src/main/resources/assets/snitchmod/lang/en_us.json rename to src/main/resources/assets/snitchmod/lang/en_us.json diff --git a/fabric/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json similarity index 96% rename from fabric/src/main/resources/fabric.mod.json rename to src/main/resources/fabric.mod.json index 8b1eace..29365de 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -21,7 +21,7 @@ }, "depends": { "fabricloader": ">=${fabric_loader_version}", - "fabric": "*", + "fabric-api": "*", "minecraft": "${minecraft_version}" }, "mixins": [ diff --git a/common/src/main/resources/mixin.snitchmod.json b/src/main/resources/mixin.snitchmod.json similarity index 100% rename from common/src/main/resources/mixin.snitchmod.json rename to src/main/resources/mixin.snitchmod.json