aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/beta.yml52
-rw-r--r--.github/workflows/buildrelease.yml92
-rw-r--r--gradle.properties14
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java35
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java22
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java23
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java49
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java12
-rw-r--r--src/main/resources/fabric.mod.json4
20 files changed, 105 insertions, 239 deletions
diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml
deleted file mode 100644
index d7447766..00000000
--- a/.github/workflows/beta.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-name: Build Beta
-
-on:
- push:
- branches:
- - master
- pull_request:
-
-
-jobs:
- # This workflow contains a single job called "build"
- build:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v2
-
- - uses: actions/github-script@v2
- with:
- result-encoding: string
- script: |
- const fs = require("fs");
- let file = fs.readFileSync("./gradle.properties");
- file = file.toString().split("\n").map(e => e.trim().startsWith("mod_version") ? `${e}-beta-${process.env.GITHUB_SHA.substring(0, 7)}` : e).join("\n");
- fs.writeFileSync("./gradle.properties", file);
-
- - name: Set up JDK 17
- uses: actions/setup-java@v2
- with:
- distribution: 'adopt'
- java-version: '17'
-
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
-
- - name: Build with Gradle
- run: ./gradlew build
-
- - uses: actions/github-script@v2
- id: fname
- with:
- result-encoding: string
- script: |
- const fs = require("fs")
- return fs.readdirSync("build/libs/").filter(e => !e.endsWith("dev.jar") && !e.endsWith("sources.jar") && e.endsWith(".jar"))[0].replace(".jar", "");
-
- - uses: actions/upload-artifact@v2
- with:
- name: ${{ steps.fname.outputs.result }}
- path: build/libs/ \ No newline at end of file
diff --git a/.github/workflows/buildrelease.yml b/.github/workflows/buildrelease.yml
deleted file mode 100644
index 3663b1bd..00000000
--- a/.github/workflows/buildrelease.yml
+++ /dev/null
@@ -1,92 +0,0 @@
-# This is a basic workflow to help you get started with Actions
-
-name: Build Release
-
-# Controls when the action will run. Triggers the workflow on push or pull request
-# events but only for the master branch
-on:
- release:
- types: [created]
-
-jobs:
- # This workflow contains a single job called "build"
- build:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v2
- - name: Set up JDK 17
- uses: actions/setup-java@v2
- with:
- distribution: 'adopt'
- java-version: '17'
-
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
-
- - name: Build with Gradle
- run: ./gradlew build
-
- - uses: actions/upload-artifact@v2
- with:
- name: Artifacts
- path: build/libs/
-
- - name: Read Changelog
- id: read_changelog
- shell: bash
- run: |
- CHANGELOG=$(sed '/___/Q' CHANGELOG.md | grep -v '# ')
- echo "Changelog:\n$CHANGELOG"
- CHANGELOG="${CHANGELOG//'%'/'%25'}"
- CHANGELOG="${CHANGELOG//$'\n'/'%0A'}"
- CHANGELOG="${CHANGELOG//$'\r'/'%0D'}"
- echo "::set-output name=changelog::$CHANGELOG"
-
- - uses: actions/github-script@v2
- id: fname
- with:
- result-encoding: string
- script: |
- const fs = require("fs")
- return fs.readdirSync("build/libs/").filter(e => !e.endsWith("dev.jar") && !e.endsWith("sources.jar") && e.endsWith(".jar"))[0]
- - name: Release
- id: uploadrelease
- uses: softprops/action-gh-release@v1
- with:
- body: ${{ steps.read_changelog.outputs.changelog }}
- files: build/libs/${{ steps.fname.outputs.result }}
-
- - name: Publish to Modrinth
- id: modrinth
- env:
- MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
- CHANGELOG: ${{ steps.read_changelog.outputs.changelog }}
- run: ./gradlew modrinth
-
- - name: Get version tag
- id: version_tag
- run: |
- [[ ! "$GITHUB_REF" =~ refs/tags ]] && exit
- echo "::set-output name=value::${GITHUB_REF#refs/tags/}"
-
- - name: Discord notification
- env:
- DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
- uses: Ilshidur/action-discord@master
- with:
- args: |
- "@here"
- "Skyblocker ${{ steps.version_tag.outputs.value }}"
- ""
- "Changelog"
- "```md"
- "${{ steps.read_changelog.outputs.changelog }}"
- "```"
- ":inbox_tray: Download latest version on Modrinth or Github:"
- "<:modrinth:900697862206287882> <${{ steps.modrinth.outputs.url }}>"
- "<:github:900697885706952725> <${{ steps.uploadrelease.outputs.url }}>"
- ""
- "<https://hysky.de/>"
diff --git a/gradle.properties b/gradle.properties
index d9473bd9..d3aef5de 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,22 +1,22 @@
org.gradle.jvmargs=-Xmx1G -Dfile.encoding=UTF-8 -Duser.language=en -Duser.country=US
# Fabric Properties (https://fabricmc.net/versions.html)
-minecraft_version=1.18.2
-yarn_mappings=1.18.2+build.1
-loader_version=0.13.3
+minecraft_version=1.19
+yarn_mappings=1.19+build.1
+loader_version=0.14.6
#Fabric api
-fabric_version=0.47.9+1.18.2
+fabric_version=0.55.1+1.19
# Dependencies
## Cloth Api (https://www.curseforge.com/minecraft/mc-mods/cloth-config/files)
-clothconfig_version=6.2.57
+clothconfig_version=7.0.65
## Mod Menu (https://www.curseforge.com/minecraft/mc-mods/modmenu/files)
-mod_menu_version=3.1.0
+mod_menu_version=4.0.0-beta.4
# Mod Properties
mod_version = 1.8.0
maven_group = me.xmrvizzy
archives_base_name = skyblocker
modrinth_id=y6DuFGwJ
-suported_version=1.18.x \ No newline at end of file
+suported_version=1.19.x \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java
index cdaadeda..f8af49ce 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java
@@ -4,7 +4,7 @@ import me.xmrvizzy.skyblocker.chat.ChatFilterResult;
import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.text.LiteralText;
+import net.minecraft.text.LiteralTextContent;
import net.minecraft.text.Text;
import java.util.Objects;
@@ -19,7 +19,7 @@ public class AutopetFilter extends ChatPatternListener {
public boolean onMatch(Text _message, Matcher matcher) {
if (SkyblockerConfig.get().messages.hideAutopet == ChatFilterResult.ACTION_BAR) {
Objects.requireNonNull(MinecraftClient.getInstance().player).sendMessage(
- new LiteralText(
+ Text.literal(
_message.getString().replace("§a§lVIEW RULE", "")
), true);
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java
index 7e5411aa..c4243f02 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java
@@ -6,7 +6,8 @@ import me.xmrvizzy.skyblocker.utils.Utils;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.hud.ChatHudListener;
import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.network.MessageType;
+import net.minecraft.network.message.MessageSender;
+import net.minecraft.network.message.MessageType;
import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
@@ -25,7 +26,7 @@ public class ChatHudListenerMixin {
private MinecraftClient client;
@Inject(method = "onChatMessage", at = @At("HEAD"), cancellable = true)
- public void onMessage(MessageType messageType, Text message, UUID senderUuid, CallbackInfo ci) {
+ public void onMessage(MessageType type, Text message, MessageSender sender, CallbackInfo ci) {
if (!Utils.isOnSkyblock)
return;
String asString = message.getString();
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java
index 2d016459..437e10f9 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java
@@ -6,6 +6,7 @@ import me.xmrvizzy.skyblocker.utils.Utils;
import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
+import net.minecraft.network.encryption.PlayerPublicKey;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -14,8 +15,8 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ClientPlayerEntity.class)
public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity {
- public ClientPlayerEntityMixin(ClientWorld world, GameProfile profile) {
- super(world, profile);
+ public ClientPlayerEntityMixin(ClientWorld world, GameProfile profile, PlayerPublicKey publicKey) {
+ super(world, profile, publicKey);
}
@Inject(method = "dropSelectedItem", at = @At("HEAD"), cancellable = true)
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
index dd7ef478..70385e01 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
@@ -6,6 +6,7 @@ import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawableHelper;
+import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Identifier;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java
index 520229f6..679901cd 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java
@@ -6,8 +6,7 @@ import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
-import net.minecraft.text.TranslatableText;
-
+import net.minecraft.text.TranslatableTextContent;
import java.util.regex.Matcher;
public class ApiKeyListener extends ChatPatternListener {
@@ -24,7 +23,7 @@ public class ApiKeyListener extends ChatPatternListener {
protected boolean onMatch(Text message, Matcher matcher) {
SkyblockerConfig.get().general.apiKey = matcher.group(1);
AutoConfig.getConfigHolder(SkyblockerConfig.class).save();
- MinecraftClient.getInstance().player.sendMessage(new TranslatableText("skyblocker.api.got_key"), false);
+ MinecraftClient.getInstance().player.sendMessage(Text.translatable("skyblocker.api.got_key"), false);
return false;
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java
index b401905f..4c4cdae1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java
@@ -3,25 +3,30 @@ package me.xmrvizzy.skyblocker.skyblock.api;
import com.google.gson.GsonBuilder;
import com.mojang.brigadier.arguments.StringArgumentType;
import me.xmrvizzy.skyblocker.skyblock.api.records.PlayerProfiles;
-import net.fabricmc.fabric.api.client.command.v1.ClientCommandManager;
+import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
+import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.ClickEvent;
-import net.minecraft.text.LiteralText;
+import net.minecraft.text.LiteralTextContent;
+import net.minecraft.text.Text;
public class StatsCommand {
public static void init(){
- ClientCommandManager.DISPATCHER.register(ClientCommandManager.literal("skyblocker")
- .then(ClientCommandManager.literal("debug")
- .then(ClientCommandManager.literal("stats").then(ClientCommandManager.argument("username", StringArgumentType.string())
- .executes(context -> {
- new Thread(() -> {
- PlayerProfiles playerProfiles = ProfileUtils.getProfiles(StringArgumentType.getString(context, "username"));
- for (String profileId : playerProfiles.profiles().keySet()){
- MinecraftClient.getInstance().player.sendMessage(new LiteralText(playerProfiles.profiles().get(profileId).cuteName())
- .styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, new GsonBuilder().serializeNulls().setPrettyPrinting().create().toJson(playerProfiles.profiles().get(profileId))))), false);
- }
- }).start();
- return 1;
- })))));
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(ClientCommandManager.literal("skyblocker")
+ .then(ClientCommandManager.literal("debug")
+ .then(ClientCommandManager.literal("stats").then(ClientCommandManager.argument("username", StringArgumentType.string())
+ .executes(context -> {
+ new Thread(() -> {
+ PlayerProfiles playerProfiles = ProfileUtils.getProfiles(StringArgumentType.getString(context, "username"));
+ for (String profileId : playerProfiles.profiles().keySet()){
+ MinecraftClient.getInstance().player.sendMessage(Text.literal(playerProfiles.profiles().get(profileId).cuteName())
+ .styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, new GsonBuilder().serializeNulls().setPrettyPrinting().create().toJson(playerProfiles.profiles().get(profileId))))), false);
+ }
+ }).start();
+ return 1;
+ })))));
+ });
+
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
index 3af82b6e..3e938fb2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
@@ -4,7 +4,8 @@ import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.chat.ChatFilterResult;
import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
import me.xmrvizzy.skyblocker.utils.Utils;
-import net.fabricmc.fabric.api.client.command.v1.ClientCommandManager;
+import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
+import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.text.Text;
@@ -25,14 +26,17 @@ public class Reparty extends ChatPatternListener {
public Reparty() {
super("^(?:You are not currently in a party\\.|Party (?:Membe|Moderato)rs(?: \\(([0-9]+)\\)|:( .*)))$");
this.repartying = false;
- ClientCommandManager.DISPATCHER.register(
- ClientCommandManager.literal("rp").executes(context -> {
- if (!Utils.isOnSkyblock || this.repartying || client.player == null) return 0;
- this.repartying = true;
- client.player.sendChatMessage("/p list");
- return 0;
- })
- );
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(ClientCommandManager.literal("rp").executes(context -> {
+ if (!Utils.isOnSkyblock || this.repartying || client.player == null) return 0;
+ this.repartying = true;
+ client.player.sendChatMessage("/p list");
+ return 0;
+ }));
+ });
+
+
+
}
@Override
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
index 7f22f59b..73511c00 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
@@ -5,7 +5,6 @@ import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.text.LiteralText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
@@ -32,7 +31,7 @@ public class Trivia extends ChatPatternListener {
if (!solutions.contains(riddle)) {
ClientPlayerEntity player = MinecraftClient.getInstance().player;
if (player != null)
- MinecraftClient.getInstance().player.sendMessage(new LiteralText(" " + Formatting.GOLD + matcher.group(2) + Formatting.RED + " " + riddle), false);
+ MinecraftClient.getInstance().player.sendMessage(Text.of(" " + Formatting.GOLD + matcher.group(2) + Formatting.RED + " " + riddle), false);
return player != null;
}
} else
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
index 0c614641..e5e91c38 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
@@ -4,7 +4,8 @@ import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawableHelper;
-import net.minecraft.text.LiteralText;
+import net.minecraft.text.LiteralTextContent;
+import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import java.util.ArrayList;
@@ -55,7 +56,7 @@ public class DwarvenHud {
DrawableHelper.fill(matrixStack, hudX, hudY, hudX + 200, hudY + (20 * commissions.size()), 0x64000000);
int y = 0;
for (Commission commission : commissions) {
- client.textRenderer.drawWithShadow(matrixStack, new LiteralText(commission.commission).styled(style -> style.withColor(Formatting.AQUA)).append(new LiteralText(": " + commission.progression).styled(style -> style.withColor(Formatting.GREEN))), hudX + 5, hudY + y + 5, 0xFFFFFFFF);
+ client.textRenderer.drawWithShadow(matrixStack, Text.literal(commission.commission).styled(style -> style.withColor(Formatting.AQUA)).append(Text.literal(": " + commission.progression).styled(style -> style.withColor(Formatting.GREEN))), hudX + 5, hudY + y + 5, 0xFFFFFFFF);
y += 20;
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java
index ccd47c5a..230f5abe 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java
@@ -5,8 +5,7 @@ import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
-import net.minecraft.text.TranslatableText;
-
+import net.minecraft.text.TranslatableTextContent;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
@@ -35,18 +34,18 @@ public class Fetchur extends ChatPatternListener {
static {
answers = new HashMap<>();
- answers.put("red and soft", new TranslatableText("block.minecraft.red_wool").getString());
- answers.put("yellow and see through", new TranslatableText("block.minecraft.yellow_stained_glass").getString());
- answers.put("circular and sometimes moves", new TranslatableText("item.minecraft.compass").getString());
+ answers.put("red and soft", Text.translatable("block.minecraft.red_wool").getString());
+ answers.put("yellow and see through", Text.translatable("block.minecraft.yellow_stained_glass").getString());
+ answers.put("circular and sometimes moves", Text.translatable("item.minecraft.compass").getString());
answers.put("expensive minerals", "Mithril");
- answers.put("useful during celebrations", new TranslatableText("item.minecraft.firework_rocket").getString());
+ answers.put("useful during celebrations", Text.translatable("item.minecraft.firework_rocket").getString());
answers.put("hot and gives energy", "Cheap / Decent Coffee");
- answers.put("tall and can be opened", new TranslatableText("block.minecraft.oak_door").getString());
- answers.put("brown and fluffy", new TranslatableText("item.minecraft.rabbit_foot").getString());
+ answers.put("tall and can be opened", Text.translatable("block.minecraft.oak_door").getString());
+ answers.put("brown and fluffy", Text.translatable("item.minecraft.rabbit_foot").getString());
answers.put("explosive but more than usual", "Superboom TNT");
- answers.put("wearable and grows", new TranslatableText("block.minecraft.pumpkin").getString());
- answers.put("shiny and makes sparks", new TranslatableText("item.minecraft.flint_and_steel").getString());
- answers.put("red and white and you can mine it", new TranslatableText("block.minecraft.nether_quartz_ore").getString());
- answers.put("round and green, or purple", new TranslatableText("item.minecraft.ender_pearl").getString());
+ answers.put("wearable and grows", Text.translatable("block.minecraft.pumpkin").getString());
+ answers.put("shiny and makes sparks", Text.translatable("item.minecraft.flint_and_steel").getString());
+ answers.put("red and white and you can mine it", Text.translatable("block.minecraft.nether_quartz_ore").getString());
+ answers.put("round and green, or purple", Text.translatable("item.minecraft.ender_pearl").getString());
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java
index 06395898..0599b5b2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java
@@ -33,7 +33,7 @@ public class Puzzler extends ChatPatternListener {
}
ClientWorld world = MinecraftClient.getInstance().world;
if (world != null)
- world.setBlockStateWithoutNeighborUpdates(new BlockPos(x, 195, z), Blocks.CRIMSON_PLANKS.getDefaultState());
+ world.setBlockState(new BlockPos(x, 195, z), Blocks.CRIMSON_PLANKS.getDefaultState());
return false;
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java
index fdff7831..01204c5d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java
@@ -9,9 +9,10 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
-import net.minecraft.text.LiteralText;
+import net.minecraft.text.LiteralTextContent;
+import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
-import net.minecraft.text.TranslatableText;
+import net.minecraft.text.TranslatableTextContent;
import net.minecraft.util.Formatting;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,11 +56,11 @@ public class PriceInfoTooltip {
if (SkyblockerConfig.get().general.itemTooltip.enableNPCPrice) {
if (npcPricesJson == null) {
if (!nullMsgSend) {
- client.player.sendMessage(new TranslatableText("skyblocker.itemTooltip.nullMessage"), false);
+ client.player.sendMessage(Text.translatable("skyblocker.itemTooltip.nullMessage"), false);
nullMsgSend = true;
}
} else if (npcPricesJson.has(name)) {
- lines.add(new LiteralText(String.format("%-21s", "NPC Price:"))
+ lines.add(Text.literal(String.format("%-21s", "NPC Price:"))
.formatted(Formatting.YELLOW)
.append(getCoinsMessage(npcPricesJson.get(name).getAsDouble(), count)));
}
@@ -69,20 +70,20 @@ public class PriceInfoTooltip {
if (SkyblockerConfig.get().general.itemTooltip.enableBazaarPrice && !bazaarOpened) {
if (bazaarPricesJson == null) {
if (!nullMsgSend) {
- client.player.sendMessage(new TranslatableText("skyblocker.itemTooltip.nullMessage"), false);
+ client.player.sendMessage(Text.translatable("skyblocker.itemTooltip.nullMessage"), false);
nullMsgSend = true;
}
} else if (bazaarPricesJson.has(name)) {
JsonObject getItem = bazaarPricesJson.getAsJsonObject(name);
- lines.add(new LiteralText(String.format("%-18s", "Bazaar buy Price:"))
+ lines.add(Text.literal(String.format("%-18s", "Bazaar buy Price:"))
.formatted(Formatting.GOLD)
.append(getItem.get("buyPrice").isJsonNull()
- ? new LiteralText("No data").formatted(Formatting.RED)
+ ? Text.literal("No data").formatted(Formatting.RED)
: getCoinsMessage(getItem.get("buyPrice").getAsDouble(), count)));
- lines.add(new LiteralText(String.format("%-19s", "Bazaar sell Price:"))
+ lines.add(Text.literal(String.format("%-19s", "Bazaar sell Price:"))
.formatted(Formatting.GOLD)
.append(getItem.get("sellPrice").isJsonNull()
- ? new LiteralText("No data").formatted(Formatting.RED)
+ ? Text.literal("No data").formatted(Formatting.RED)
: getCoinsMessage(getItem.get("sellPrice").getAsDouble(), count)));
bazaarExist = true;
}
@@ -92,11 +93,11 @@ public class PriceInfoTooltip {
if (SkyblockerConfig.get().general.itemTooltip.enableLowestBIN && !bazaarOpened && !bazaarExist) {
if (lowestPricesJson == null) {
if (!nullMsgSend) {
- client.player.sendMessage(new TranslatableText("skyblocker.itemTooltip.nullMessage"), false);
+ client.player.sendMessage(Text.literal("skyblocker.itemTooltip.nullMessage"), false);
nullMsgSend = true;
}
} else if (lowestPricesJson.has(name)) {
- lines.add(new LiteralText(String.format("%-19s", "Lowest BIN Price:"))
+ lines.add(Text.literal(String.format("%-19s", "Lowest BIN Price:"))
.formatted(Formatting.GOLD)
.append(getCoinsMessage(lowestPricesJson.get(name).getAsDouble(), count)));
}
@@ -105,7 +106,7 @@ public class PriceInfoTooltip {
if (SkyblockerConfig.get().general.itemTooltip.enableAvgBIN) {
if (threeDayAvgPricesJson == null || oneDayAvgPricesJson == null) {
if (!nullMsgSend) {
- client.player.sendMessage(new TranslatableText("skyblocker.itemTooltip.nullMessage"), false);
+ client.player.sendMessage(Text.literal("skyblocker.itemTooltip.nullMessage"), false);
nullMsgSend = true;
}
} else if (threeDayAvgPricesJson.has(name) || oneDayAvgPricesJson.has(name)) {
@@ -136,17 +137,17 @@ public class PriceInfoTooltip {
// "No data" line because of API not keeping old data, it causes NullPointerException
if (!name.isEmpty() && (type == SkyblockerConfig.Average.ONE_DAY || type == SkyblockerConfig.Average.BOTH)) {
- lines.add(new LiteralText(String.format("%-19s", "1 Day Avg. Price:"))
+ lines.add(Text.literal(String.format("%-19s", "1 Day Avg. Price:"))
.formatted(Formatting.GOLD)
.append(oneDayAvgPricesJson.get(name) == null
- ? new LiteralText("No data").formatted(Formatting.RED)
+ ? Text.literal("No data").formatted(Formatting.RED)
: getCoinsMessage(oneDayAvgPricesJson.get(name).getAsDouble(), count)));
}
if (!name.isEmpty() && (type == SkyblockerConfig.Average.THREE_DAY || type == SkyblockerConfig.Average.BOTH)) {
- lines.add(new LiteralText(String.format("%-19s", "3 Day Avg. Price:"))
+ lines.add(Text.literal(String.format("%-19s", "3 Day Avg. Price:"))
.formatted(Formatting.GOLD)
.append(threeDayAvgPricesJson.get(name) == null
- ? new LiteralText("No data").formatted(Formatting.RED)
+ ? Text.literal("No data").formatted(Formatting.RED)
: getCoinsMessage(threeDayAvgPricesJson.get(name).getAsDouble(), count)));
}
}
@@ -155,7 +156,7 @@ public class PriceInfoTooltip {
if (SkyblockerConfig.get().general.itemTooltip.enableMuseumDate && !bazaarOpened) {
if (isMuseumJson == null) {
if (!nullMsgSend) {
- client.player.sendMessage(new TranslatableText("skyblocker.itemTooltip.nullMessage"), false);
+ client.player.sendMessage(Text.translatable("skyblocker.itemTooltip.nullMessage"), false);
nullMsgSend = true;
}
} else if (isMuseumJson.has(name)) {
@@ -165,13 +166,13 @@ public class PriceInfoTooltip {
case "Armor" -> "%-19s";
default -> "%-20s";
};
- lines.add(new LiteralText(String.format(format, "Museum: (" + itemCategory + ")"))
+ lines.add(Text.literal(String.format(format, "Museum: (" + itemCategory + ")"))
.formatted(Formatting.LIGHT_PURPLE)
- .append(new LiteralText(timestamp != null ? timestamp : "").formatted(Formatting.RED)));
+ .append(Text.literal(timestamp != null ? timestamp : "").formatted(Formatting.RED)));
} else if (timestamp != null) {
- lines.add(new LiteralText(String.format("%-21s", "Obtained: "))
+ lines.add(Text.literal(String.format("%-21s", "Obtained: "))
.formatted(Formatting.LIGHT_PURPLE)
- .append(new LiteralText(timestamp).formatted(Formatting.RED)));
+ .append(Text.literal(timestamp).formatted(Formatting.RED)));
}
}
}
@@ -263,12 +264,12 @@ public class PriceInfoTooltip {
private static Text getCoinsMessage(double price, int count) {
if (count == 1) {
String priceString = String.format(Locale.ENGLISH, "%1$,.1f", price);
- return new LiteralText(priceString + " Coins").formatted(Formatting.DARK_AQUA);
+ return Text.literal(priceString + " Coins").formatted(Formatting.DARK_AQUA);
} else {
String priceString = String.format(Locale.ENGLISH, "%1$,.1f", price * count);
- LiteralText priceText = (LiteralText) new LiteralText(priceString + " Coins ").formatted(Formatting.DARK_AQUA);
+ MutableText priceText = Text.literal(priceString + " Coins ").formatted(Formatting.DARK_AQUA);
priceString = String.format(Locale.ENGLISH, "%1$,.1f", price);
- LiteralText priceText2 = (LiteralText) new LiteralText( "(" + priceString + " each)").formatted(Formatting.GRAY);
+ MutableText priceText2 = Text.literal( "(" + priceString + " each)").formatted(Formatting.GRAY);
return priceText.append(priceText2);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
index a7adb4f7..a635cea2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
@@ -13,7 +13,7 @@ import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.screen.AbstractRecipeScreenHandler;
import net.minecraft.text.Text;
-import net.minecraft.text.TranslatableText;
+import net.minecraft.text.TranslatableTextContent;
import net.minecraft.util.Formatting;
@Environment(value= EnvType.CLIENT)
@@ -57,7 +57,7 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select
this.drawTexture(matrices, i, j, 1, 1, 147, 166);
this.searchField = ((RecipeBookWidgetAccessor)this).getSearchField();
if (!this.searchField.isFocused() && this.searchField.getText().isEmpty()) {
- Text hintText = (new TranslatableText("gui.recipebook.search_hint")).formatted(Formatting.ITALIC).formatted(Formatting.GRAY);
+ Text hintText = (Text.translatable("gui.recipebook.search_hint")).formatted(Formatting.ITALIC).formatted(Formatting.GRAY);
drawTextWithShadow(matrices, this.client.textRenderer, hintText, i + 25, j + 14, -1);
} else {
this.searchField.render(matrices, mouseX, mouseY, delta);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
index c31fa653..6e84cd5d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
@@ -11,7 +11,8 @@ import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
import net.minecraft.client.gui.widget.ClickableWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
-import net.minecraft.text.LiteralText;
+import net.minecraft.text.LiteralTextContent;
+import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
@Environment(value=EnvType.CLIENT)
@@ -32,7 +33,7 @@ public class QuickNavButton extends ClickableWidget {
private final ItemStack icon;
public QuickNavButton(int index, boolean toggled, String command, ItemStack icon) {
- super(0, 0, 28, 32, LiteralText.EMPTY);
+ super(0, 0, 28, 32, Text.empty());
this.index = index;
this.toggled = toggled;
this.command = command;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java b/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java
index 962421b7..c1111b36 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java
@@ -72,7 +72,7 @@ public class RenderUtilsLiving {
} else {
matrices.push();
matrices.translate(1, 1, 0);
- mc.textRenderer.draw(text.copy(), -halfWidth, 0f, 0x202020, false, matrices.peek().getPositionMatrix(), immediate, true, 0, 0xf000f0);
+ mc.textRenderer.draw(text.copyContentOnly(), -halfWidth, 0f, 0x202020, false, matrices.peek().getPositionMatrix(), immediate, true, 0, 0xf000f0);
immediate.draw();
matrices.pop();
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java
index 8909b5a9..3a8f85f2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java
@@ -5,9 +5,7 @@ import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.text.ClickEvent;
-import net.minecraft.text.HoverEvent;
-import net.minecraft.text.TranslatableText;
+import net.minecraft.text.*;
import org.spongepowered.asm.util.VersionNumber;
import java.io.IOException;
@@ -53,10 +51,10 @@ public class UpdateChecker {
public static void init(){
SkyblockEvents.JOIN.register(() -> {
if (shouldUpdate()) {
- TranslatableText linkMessage = new TranslatableText("skyblocker.update.update_message");
- TranslatableText linkMessageEnding = new TranslatableText("skyblocker.update.update_message_end");
- TranslatableText link = new TranslatableText("skyblocker.update.update_link");
- TranslatableText hoverText = new TranslatableText("skyblocker.update.hover_text");
+ MutableText linkMessage = Text.translatable("skyblocker.update.update_message");
+ MutableText linkMessageEnding = Text.translatable("skyblocker.update.update_message_end");
+ MutableText link = Text.translatable("skyblocker.update.update_link");
+ MutableText hoverText = Text.translatable("skyblocker.update.hover_text");
linkMessage.append(link.styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://modrinth.com/mod/skyblocker-liap/versions")).withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverText)))).append(linkMessageEnding);
MinecraftClient.getInstance().player.sendMessage(linkMessage, false);
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json
index 6358a234..74af29cf 100644
--- a/src/main/resources/fabric.mod.json
+++ b/src/main/resources/fabric.mod.json
@@ -26,10 +26,10 @@
"skyblocker.mixins.json"
],
"depends": {
- "fabricloader": ">=0.13.3",
+ "fabricloader": ">=0.14.6",
"fabric": "*",
"cloth-config2": "*",
- "minecraft": ["1.18.x"]
+ "minecraft": ["1.19.x"]
},
"custom": {
"modmenu": {