diff options
| -rw-r--r-- | build.gradle | 125 | ||||
| -rw-r--r-- | gradle.properties | 18 | ||||
| -rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 2 | ||||
| -rw-r--r-- | src/main/java/com/dulkirfabric/mixin/render/GameRendererMixin.java | 11 | ||||
| -rw-r--r-- | src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt | 24 | ||||
| -rw-r--r-- | src/main/kotlin/com/dulkirfabric/util/Utils.kt | 2 | ||||
| -rw-r--r-- | src/main/resources/fabric.mod.json | 8 |
7 files changed, 97 insertions, 93 deletions
diff --git a/build.gradle b/build.gradle index f2cff89..a3391ab 100644 --- a/build.gradle +++ b/build.gradle @@ -1,103 +1,106 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { - id 'fabric-loom' version '1.2-SNAPSHOT' - id 'maven-publish' - id "org.jetbrains.kotlin.jvm" version "1.8.21" - id "io.github.juuxel.loom-quiltflower" version "1.10.0" - id "org.jetbrains.kotlin.plugin.serialization" version "1.8.10" + id "fabric-loom" version "1.2-SNAPSHOT" + id "maven-publish" + id "org.jetbrains.kotlin.jvm" version "1.8.21" + id "io.github.juuxel.loom-quiltflower" version "1.10.0" + id "org.jetbrains.kotlin.plugin.serialization" version "1.8.10" + id "com.github.ben-manes.versions" version "0.48.0" } version = project.mod_version group = project.maven_group base { - archivesName = project.archives_base_name + archivesName = project.archives_base_name } 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://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1" } - maven { url "https://repo.nea.moe/mirror" } - maven { url "https://repo.nea.moe/releases/" } - maven { url "https://maven.shedaniel.me/" } - maven { url "https://maven.terraformersmc.com/releases/" } - maven { url = "https://jitpack.io/" } + maven { url "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1" } + maven { url "https://repo.nea.moe/releases/" } + maven { url "https://maven.shedaniel.me/" } + maven { url "https://maven.terraformersmc.com/releases/" } + maven { + url "https://jitpack.io/" + content { + includeGroupByRegex("(com|io)\\.github\\..+") + } + } maven { url "https://api.modrinth.com/maven" content { includeGroup("maven.modrinth") } } + maven { url "https://repo.nea.moe/mirror" } } dependencies { - minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + minecraft "com.mojang:minecraft:${project.minecraft_version}" + mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - modImplementation "net.fabricmc:fabric-language-kotlin:${project.fabric_kotlin_version}" - modRuntimeOnly("me.djtheredstoner:DevAuth-fabric:1.1.2") - implementation "meteordevelopment:orbit:0.2.3" - include "meteordevelopment:orbit:0.2.3" - modApi "me.shedaniel.cloth:cloth-config-fabric:11.0.99" - include "me.shedaniel.cloth:cloth-config-fabric:11.0.99" - include "com.github.llamalad7.mixinextras:mixinextras-fabric:0.2.0-beta.9" - implementation "com.github.llamalad7.mixinextras:mixinextras-fabric:0.2.0-beta.9" - annotationProcessor "com.github.llamalad7.mixinextras:mixinextras-fabric:0.2.0-beta.9" - modImplementation("moe.nea.jarvis:jarvis-api:1.1.1") - include("moe.nea.jarvis:jarvis-fabric:1.1.1") - modLocalRuntime("moe.nea.jarvis:jarvis-fabric:1.1.1") - modImplementation "maven.modrinth:modmenu:7.0.0" - modLocalRuntime "maven.modrinth:modmenu:7.0.0" + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + modImplementation "net.fabricmc:fabric-language-kotlin:${project.fabric_kotlin_version}" + modRuntimeOnly "me.djtheredstoner:DevAuth-fabric:${project.devauth_version}" + implementation "meteordevelopment:orbit:${project.orbit_version}" + include "meteordevelopment:orbit:${project.orbit_version}" + modApi "me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}" + include "me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}" + include "com.github.llamalad7.mixinextras:mixinextras-fabric:${project.mixinextras_version}" + implementation "com.github.llamalad7.mixinextras:mixinextras-fabric:${project.mixinextras_version}" + annotationProcessor "com.github.llamalad7.mixinextras:mixinextras-fabric:${project.mixinextras_version}" + modImplementation "moe.nea.jarvis:jarvis-api:${project.jarvis_version}" + include "moe.nea.jarvis:jarvis-fabric:${project.jarvis_version}" + modLocalRuntime "moe.nea.jarvis:jarvis-fabric:${project.jarvis_version}" + modImplementation "maven.modrinth:modmenu:${project.modmenu_version}" + modLocalRuntime "maven.modrinth:modmenu:${project.modmenu_version}" } loom { - runs { - removeIf { it.name != "client" } - named("client") { - property("devauth.enabled", "true") - property("fabric.log.level", "info") - vmArg("-ea") - vmArg("-XX:+AllowEnhancedClassRedefinition") - vmArg("-XX:HotswapAgent=external") - vmArg("-javaagent:/home/ronald/Software-Packages/hotswap-agent-1.4.2-SNAPSHOT.jar") - } - } - accessWidenerPath = file("src/main/resources/dulkirmod.accesswidener") + runs { + removeIf { it.name != "client" } + named("client") { + property("devauth.enabled", "true") + property("fabric.log.level", "info") + vmArg("-ea") + } + } + accessWidenerPath = file("src/main/resources/dulkirmod.accesswidener") } +def javaVersion = 17 processResources { - inputs.property "version", project.version + inputs.property "version", project.version + inputs.property "fabric_loader_version", project.loader_version + inputs.property "minecraft_version", project.minecraft_version + inputs.property "java_version", javaVersion + inputs.property "fabric_api_version", project.fabric_version - filesMatching("fabric.mod.json") { - expand "version": project.version - } + filesMatching("fabric.mod.json") { + expand inputs.properties + } } tasks.withType(JavaCompile).configureEach { - it.options.encoding = "UTF-8" - it.options.release = 17 + it.options.encoding = "UTF-8" + it.options.release = javaVersion } tasks.withType(KotlinCompile).configureEach { - kotlinOptions.jvmTarget = 17 + kotlinOptions.jvmTarget = javaVersion } java { - withSourcesJar() + withSourcesJar() - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.toVersion(javaVersion) + targetCompatibility = JavaVersion.toVersion(javaVersion) } jar { - from("LICENSE") { - rename { "${it}_${base.archivesName.get()}"} - } -}
\ No newline at end of file + from("LICENSE") { + rename { "${it}_${base.archivesName.get()}" } + } +} diff --git a/gradle.properties b/gradle.properties index 3908283..fa92550 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,18 +1,24 @@ # Done to increase the memory available to gradle. -org.gradle.jvmargs=-Xmx1G +org.gradle.jvmargs=-Xmx2G org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.20.1 -yarn_mappings=1.20.1+build.10 -loader_version=0.14.21 +minecraft_version=1.20.2 +yarn_mappings=1.20.2+build.4 +loader_version=0.14.23 fabric_kotlin_version=1.9.4+kotlin.1.8.21 # Mod Properties -mod_version=1.0.1 +mod_version=2.0.0 maven_group=com.dulkirfabric archives_base_name=dulkirmod-fabric # Dependencies -fabric_version=0.86.0+1.20.1
\ No newline at end of file +fabric_version=0.89.3+1.20.2 +devauth_version=1.1.2 +orbit_version=0.2.3 +cloth_config_version=12.0.109 +mixinextras_version=0.2.0-rc.5 +jarvis_version=1.1.2 +modmenu_version=8.0.0-beta.2 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 37aef8d..c30b486 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.1.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/com/dulkirfabric/mixin/render/GameRendererMixin.java b/src/main/java/com/dulkirfabric/mixin/render/GameRendererMixin.java index 78b4dbd..18abbe6 100644 --- a/src/main/java/com/dulkirfabric/mixin/render/GameRendererMixin.java +++ b/src/main/java/com/dulkirfabric/mixin/render/GameRendererMixin.java @@ -2,6 +2,7 @@ package com.dulkirfabric.mixin.render; import com.dulkirfabric.features.InventoryScale; +import com.llamalad7.mixinextras.sugar.Local; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.render.GameRenderer; import net.minecraft.client.util.Window; @@ -37,9 +38,8 @@ public class GameRendererMixin { opcode = Opcodes.GETFIELD, target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", shift = At.Shift.BEFORE, - ordinal = 1), locals = LocalCapture.CAPTURE_FAILHARD) - public void onScreenRenderPre(float tickDelta, long startTime, boolean tick, CallbackInfo ci, int i, int j, - Window window, Matrix4f matrix4f, MatrixStack matrixStack, DrawContext drawContext) { + ordinal = 1)) + public void onScreenRenderPre(float tickDelta, long startTime, boolean tick, CallbackInfo ci, @Local DrawContext drawContext) { drawContext.getMatrices().push(); drawContext.getMatrices().scale(InventoryScale.INSTANCE.getScale(), InventoryScale.INSTANCE.getScale(), 1f); } @@ -49,10 +49,9 @@ public class GameRendererMixin { opcode = Opcodes.GETFIELD, target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", shift = At.Shift.AFTER, - ordinal = 3), locals = LocalCapture.CAPTURE_FAILHARD + ordinal = 3) ) - public void onScreenRenderPost(float tickDelta, long startTime, boolean tick, CallbackInfo ci, int i, int j, - Window window, Matrix4f matrix4f, MatrixStack matrixStack, DrawContext drawContext) { + public void onScreenRenderPost(float tickDelta, long startTime, boolean tick, CallbackInfo ci, @Local DrawContext drawContext) { drawContext.getMatrices().pop(); } }
\ No newline at end of file diff --git a/src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt b/src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt index c62cbab..35166d2 100644 --- a/src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt +++ b/src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt @@ -5,6 +5,7 @@ import com.dulkirfabric.events.LongUpdateEvent import com.dulkirfabric.events.PlaySoundEvent import com.dulkirfabric.events.SlayerBossEvents import meteordevelopment.orbit.EventHandler +import net.minecraft.scoreboard.ScoreboardDisplaySlot import net.minecraft.scoreboard.Team import net.minecraft.text.StringVisitable import net.minecraft.text.Style @@ -21,15 +22,19 @@ object ScoreBoardUtils { * Gets Scoreboard lines, will return null if not in Skyblock. */ fun getLines(): MutableList<String>? { + return getLines { it.string.replace("§.".toRegex(), "") } + } + + fun getLines(textMapper: (Text) -> String): MutableList<String>? { val scoreboard = DulkirModFabric.mc.player?.scoreboard ?: return null // This returns null if we're not in skyblock curiously - val sidebarObjective = scoreboard.getObjective("SBScoreboard") ?: return null + val sidebarObjective = scoreboard.getObjectiveForSlot(ScoreboardDisplaySlot.SIDEBAR) ?: return null + if (sidebarObjective.name != "SBScoreboard") return null val scores = scoreboard.getAllPlayerScores(sidebarObjective) val lines: MutableList<String> = ArrayList() for (score in scores.reversed()) { val team = scoreboard.getPlayerTeam(score.playerName) - var str = Team.decorateName(team, Text.literal(score.playerName)).string - .replace("§[^a-f0-9]".toRegex(), "") + var str = textMapper(Team.decorateName(team, Text.literal(score.playerName))) lines.add(str) } return lines @@ -40,16 +45,7 @@ object ScoreBoardUtils { * namely effigy display for now - but might be useful later? Who knows. */ fun getLinesWithColor(): MutableList<String>? { - val scoreboard = DulkirModFabric.mc.player?.scoreboard ?: return null - // This returns null if we're not in skyblock curiously - val sidebarObjective = scoreboard.getObjective("SBScoreboard") ?: return null - val scores = scoreboard.getAllPlayerScores(sidebarObjective) - val lines: MutableList<String> = ArrayList() - for (score in scores.reversed()) { - val team = scoreboard.getPlayerTeam(score.playerName) - lines.add(Team.decorateName(team, Text.literal(score.playerName)).formattedString()) - } - return lines + return getLines { it.formattedString() } } /** @@ -97,7 +93,7 @@ object ScoreBoardUtils { if (event.sound.id.path != "entity.wither.shoot") return if (event.sound.pitch != 0.6984127f) return if (event.sound.volume != .5f) return - SlayerBossEvents.Spawn(slayerType?: return err()).post() + SlayerBossEvents.Spawn(slayerType ?: return err()).post() } fun err() { diff --git a/src/main/kotlin/com/dulkirfabric/util/Utils.kt b/src/main/kotlin/com/dulkirfabric/util/Utils.kt index a0fec78..3a93e5f 100644 --- a/src/main/kotlin/com/dulkirfabric/util/Utils.kt +++ b/src/main/kotlin/com/dulkirfabric/util/Utils.kt @@ -74,6 +74,6 @@ object Utils { fun getSkullTexture(itemStack: ItemStack): String? { return itemStack.getSubNbt(SkullBlockEntity.SKULL_OWNER_KEY)?.let(NbtHelper::toGameProfile)?.properties?.get( - PlayerSkinProvider.TEXTURES)?.first()?.value + "textures")?.first()?.value } }
\ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index fabcfeb..bf78049 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -35,10 +35,10 @@ "dulkirmod-fabric.mixins.json" ], "depends": { - "fabricloader": ">=0.14.21", - "minecraft": "~1.20.1", - "java": ">=17", - "fabric-api": ">=0.86.0+1.20.1", + "fabricloader": ">=${fabric_loader_version}", + "minecraft": "~${minecraft_version}", + "java": ">=${java_version}", + "fabric-api": ">=${fabric_api_version}", "fabric-language-kotlin": ">=1.8.21" }, "suggests": { |
