aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle125
-rw-r--r--gradle.properties18
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
-rw-r--r--src/main/java/com/dulkirfabric/mixin/render/GameRendererMixin.java11
-rw-r--r--src/main/kotlin/com/dulkirfabric/util/ScoreBoardUtils.kt24
-rw-r--r--src/main/kotlin/com/dulkirfabric/util/Utils.kt2
-rw-r--r--src/main/resources/fabric.mod.json8
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": {