aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authornea <nea@nea.moe>2023-10-05 17:33:20 +0200
committernea <nea@nea.moe>2023-10-05 17:33:20 +0200
commitf1f682aa8d3ac5252411568c3a14da275b819d42 (patch)
tree63336639051fb3f74c1c674082ebb3602d54f1ff /src/main
parent0516a4be0c93d6a82dc23ba074a5ee6c6b8c181f (diff)
downloadDulkirMod-Fabric-f1f682aa8d3ac5252411568c3a14da275b819d42.tar.gz
DulkirMod-Fabric-f1f682aa8d3ac5252411568c3a14da275b819d42.tar.bz2
DulkirMod-Fabric-f1f682aa8d3ac5252411568c3a14da275b819d42.zip
Port to 1.20.2
Diffstat (limited to 'src/main')
-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
4 files changed, 20 insertions, 25 deletions
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": {