aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlanthanide <65650884+lantice3720@users.noreply.github.com>2023-05-07 15:39:21 +0900
committerGitHub <noreply@github.com>2023-05-07 15:39:21 +0900
commitaca9d8437e8ac4345cf57dac276ed434a74d791a (patch)
tree780fa8100c2c9aa358ca4dddc86f0b0d4642c75b /src
parent4b20aca66fd3470a555871b74445dfa452b93896 (diff)
parent076ba90b23db2ae3df3f5c3918ccda836ad90690 (diff)
downloadSkyblocker-aca9d8437e8ac4345cf57dac276ed434a74d791a.tar.gz
Skyblocker-aca9d8437e8ac4345cf57dac276ed434a74d791a.tar.bz2
Skyblocker-aca9d8437e8ac4345cf57dac276ed434a74d791a.zip
Merge branch 'SkyblockerMod:master' into master
Diffstat (limited to 'src')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/chat/ChatFilterResult.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java33
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java28
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java47
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java61
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java2
-rw-r--r--src/main/resources/assets/skyblocker/lang/de_de.json64
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json99
-rw-r--r--src/main/resources/assets/skyblocker/lang/ja_JP.json74
-rw-r--r--src/main/resources/assets/skyblocker/lang/ko_KR.json189
-rw-r--r--src/main/resources/assets/skyblocker/lang/zh_cn.json201
-rw-r--r--src/main/resources/fabric.mod.json2
-rw-r--r--src/main/resources/skyblocker.mixins.json3
15 files changed, 670 insertions, 152 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatFilterResult.java b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatFilterResult.java
index 0a31409a..85c3f3e3 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatFilterResult.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatFilterResult.java
@@ -1,5 +1,6 @@
package me.xmrvizzy.skyblocker.chat;
+import net.minecraft.client.resource.language.I18n;
public enum ChatFilterResult {
// Skip this one / no action
PASS,
@@ -10,11 +11,8 @@ public enum ChatFilterResult {
// Skip remaining checks, don't filter
// null
+ @Override
public String toString() {
- return switch (this) {
- case PASS -> "Disabled";
- case FILTER -> "Filter";
- case ACTION_BAR -> "Move to action bar";
- };
+ return I18n.translate("text.autoconfig.skyblocker.option.messages.chatFilterResult." + name());
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java
index 2e23bf31..9ee87f2b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java
@@ -2,11 +2,13 @@ package me.xmrvizzy.skyblocker.chat;
import me.xmrvizzy.skyblocker.chat.filters.*;
import me.xmrvizzy.skyblocker.skyblock.api.ApiKeyListener;
+import me.xmrvizzy.skyblocker.skyblock.barn.HungryHiker;
import me.xmrvizzy.skyblocker.skyblock.dungeon.Reparty;
import me.xmrvizzy.skyblocker.skyblock.dungeon.ThreeWeirdos;
import me.xmrvizzy.skyblocker.skyblock.dungeon.Trivia;
import me.xmrvizzy.skyblocker.skyblock.dwarven.Fetchur;
import me.xmrvizzy.skyblocker.skyblock.dwarven.Puzzler;
+import me.xmrvizzy.skyblocker.skyblock.barn.TreasureHunter;
import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
import net.minecraft.text.Text;
@@ -30,6 +32,8 @@ public interface ChatMessageListener {
new Reparty(),
new ThreeWeirdos(),
new Trivia(),
+ new TreasureHunter(),
+ new HungryHiker(),
// Filters
new AbilityFilter(),
new AdFilter(),
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
index a13f86b3..48eb31c7 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
@@ -6,6 +6,7 @@ import me.shedaniel.autoconfig.annotation.Config;
import me.shedaniel.autoconfig.annotation.ConfigEntry;
import me.shedaniel.autoconfig.serializer.GsonConfigSerializer;
import me.xmrvizzy.skyblocker.chat.ChatFilterResult;
+import net.minecraft.client.resource.language.I18n;
import java.util.ArrayList;
import java.util.List;
@@ -124,6 +125,7 @@ public class SkyblockerConfig implements ConfigData {
public static class General {
public boolean enableUpdateNotification = true;
public boolean backpackPreviewWithoutShift = false;
+ public boolean hideEmptyTooltips = true;
@ConfigEntry.Gui.Excluded
public String apiKey;
@@ -176,12 +178,7 @@ public class SkyblockerConfig implements ConfigData {
@Override
public String toString() {
- return switch (this) {
- case LAYER1 -> "Layer 1";
- case LAYER2 -> "Layer 2";
- case RIGHT -> "Right";
- case NONE -> "Disabled";
- };
+ return I18n.translate("text.autoconfig.skyblocker.option.general.bars.barpositions." + name());
}
public int toInt() {
@@ -219,11 +216,7 @@ public class SkyblockerConfig implements ConfigData {
@Override
public String toString() {
- return switch (this) {
- case ONE_DAY -> "1 day price";
- case THREE_DAY -> "3 day price";
- case BOTH -> "Both";
- };
+ return I18n.translate("text.autoconfig.skyblocker.option.general.itemTooltip.avg." + name());
}
}
@@ -239,6 +232,10 @@ public class SkyblockerConfig implements ConfigData {
}
public static class Locations {
+ @ConfigEntry.Category("barn")
+ @ConfigEntry.Gui.CollapsibleObject()
+ public Barn barn = new Barn();
+
@ConfigEntry.Category("dungeons")
@ConfigEntry.Gui.CollapsibleObject()
public Dungeons dungeons = new Dungeons();
@@ -252,6 +249,7 @@ public class SkyblockerConfig implements ConfigData {
@ConfigEntry.Gui.Tooltip()
public boolean croesusHelper = true;
public boolean enableMap = true;
+ public float mapScaling = 1f;
public boolean solveThreeWeirdos = true;
public boolean blazesolver = true;
public boolean solveTrivia = true;
@@ -280,6 +278,11 @@ public class SkyblockerConfig implements ConfigData {
public int y = 10;
}
+ public static class Barn {
+ public boolean solveHungryHiker = true;
+ public boolean solveTreasureHunter = true;
+ }
+
public static class Messages {
@ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
public ChatFilterResult hideAbility = ChatFilterResult.PASS;
@@ -306,7 +309,11 @@ public class SkyblockerConfig implements ConfigData {
public enum Info {
PURSE,
BITS,
- LOCATION
+ LOCATION;
+ @Override
+ public String toString() {
+ return I18n.translate("text.autoconfig.skyblocker.option.richPresence.info." + name());
+ }
}
public static void init() {
@@ -316,4 +323,4 @@ public class SkyblockerConfig implements ConfigData {
public static SkyblockerConfig get() {
return AutoConfig.getConfigHolder(SkyblockerConfig.class).getConfig();
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java
new file mode 100644
index 00000000..14aa8868
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java
@@ -0,0 +1,28 @@
+package me.xmrvizzy.skyblocker.mixin;
+
+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;
+
+import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
+import me.xmrvizzy.skyblocker.utils.Utils;
+
+import net.minecraft.client.gui.screen.Screen;
+import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.item.ItemStack;
+import net.minecraft.text.Text;
+
+@Mixin(Screen.class)
+public abstract class ScreenMixin {
+
+ @Inject(at = @At("HEAD"), method = "renderTooltip(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/item/ItemStack;II)V", cancellable = true)
+ public void skyblocker$renderTooltip(MatrixStack matrices, ItemStack itemStack, int x, int y, CallbackInfo ci) {
+ Text stackName = itemStack.getName();
+ String strName = stackName.getString();
+ if (Utils.isOnSkyblock && SkyblockerConfig.get().general.hideEmptyTooltips && strName.equals(" ")) {
+ ci.cancel();
+ }
+ }
+
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java
new file mode 100644
index 00000000..b0f0445a
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java
@@ -0,0 +1,47 @@
+package me.xmrvizzy.skyblocker.skyblock.barn;
+
+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.Text;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Matcher;
+
+public class HungryHiker extends ChatPatternListener {
+
+ private static final Map<String, String> foods;
+
+ public HungryHiker() { super("^§e\\[NPC] Hungry Hiker§f: (The food I want is|(I asked for) food that is) ([a-zA-Z, '\\-]*\\.)$"); }
+
+ @Override
+ public ChatFilterResult state() {
+ return SkyblockerConfig.get().locations.barn.solveHungryHiker ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
+ }
+
+ @Override
+ public boolean onMatch(Text message, Matcher matcher) {
+ MinecraftClient client = MinecraftClient.getInstance();
+ if (client.player == null) return false;
+ String foodDescription = matcher.group(3);
+ String food = foods.get(foodDescription);
+ if (food == null) return false;
+ String middlePartOfTheMessageToSend = matcher.group(2) != null ? matcher.group(2) : matcher.group(1);
+ client.player.sendMessage(Text.of("§e[NPC] Hungry Hiker§f: " + middlePartOfTheMessageToSend + " " + food + "."), false);
+ return true;
+ }
+
+ static {
+ foods = new HashMap<>();
+ foods.put("from a cow.", Text.translatable("item.minecraft.cooked_beef").getString());
+ foods.put("meat from a fowl.", Text.translatable("item.minecraft.cooked_chicken").getString());
+ foods.put("red on the inside, green on the outside.", Text.translatable("item.minecraft.melon_slice").getString());
+ foods.put("a cooked potato.", Text.translatable("item.minecraft.baked_potato").getString());
+ foods.put("a stew.", Text.translatable("item.minecraft.rabbit_stew").getString());
+ foods.put("a grilled meat.", Text.translatable("item.minecraft.cooked_porkchop").getString());
+ foods.put("red and crunchy.", Text.translatable("item.minecraft.apple").getString());
+ foods.put("made of wheat.", Text.translatable("item.minecraft.bread").getString());
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java
new file mode 100644
index 00000000..ad5db522
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java
@@ -0,0 +1,61 @@
+package me.xmrvizzy.skyblocker.skyblock.barn;
+
+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.Text;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Matcher;
+
+public class TreasureHunter extends ChatPatternListener {
+
+ private static final Map<String, String> locations;
+
+ public TreasureHunter() { super("^§e\\[NPC] Treasure Hunter§f: ([a-zA-Z, '\\-\\.]*)$"); }
+
+ @Override
+ public ChatFilterResult state() {
+ return SkyblockerConfig.get().locations.barn.solveTreasureHunter ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
+ }
+
+ @Override
+ public boolean onMatch(Text message, Matcher matcher) {
+ MinecraftClient client = MinecraftClient.getInstance();
+ if (client.player == null) return false;
+ String hint = matcher.group(1);
+ String location = locations.get(hint);
+ if (location == null) return false;
+ client.player.sendMessage(Text.of("§e[NPC] Treasure Hunter§f: Go mine around " + location + "."), false);
+ return true;
+ }
+
+ static {
+ locations = new HashMap<>();
+ locations.put("There's a treasure chest somewhere in a small cave in the gorge.", "258 70 -492");
+ locations.put("I was in the desert earlier, and I saw something near a red sand rock.", "357 82 -319");
+ locations.put("There's this guy who collects animals to experiment on, I think I saw something near his house.", "259 184 -564");
+ locations.put("There's a small house in the gorge, I saw some treasure near there.", "297 87 -562");
+ locations.put("There's this guy who says he has the best sheep in the world. I think I saw something around his hut.", "392 85 -372");
+ locations.put("I spotted something by an odd looking mushroom on one of the ledges in the Mushroom Gorge, you should check it out.", "305 73 -557");
+ locations.put("There are some small ruins out in the desert, might want to check them out.", "320 102 -471");
+ locations.put("Some dirt was kicked up by the water pool in the overgrown Mushroom Cave. Have a look over there.", "234 56 -410");
+ locations.put("There are some old stone structures in the Mushroom Gorge, give them a look.", "223 54 -503");
+ locations.put("In the Mushroom Gorge where blue meets the ceiling and floor, you will find what you are looking for.", "205 42 -527");
+ locations.put("There was a haystack with a crop greener than usual around it, I think there is something near there.", "334 82 -389");
+ locations.put("There's a single piece of tall grass growing in the desert, I saw something there.", "283 76 -363");
+ locations.put("I saw some treasure by a cow skull near the village.", "141 77 -397");
+ locations.put("Near a melon patch inside a tunnel in the mountain I spotted something.", "257 100 -569");
+ locations.put("I saw something near a farmer's cart, you should check it out.", "155 90 -591");
+ locations.put("I remember there was a stone pillar made only of cobblestone in the oasis, could be something there.", "122 66 -409");
+ locations.put("I thought I saw something near the smallest stone pillar in the oasis.", "94 65 -455");
+ locations.put("I found something by a mossy stone pillar in the oasis, you should take a look.", "179 93 -537");
+ locations.put("Down in the glowing Mushroom Cave, there was a weird looking mushroom, check it out.", "182 44 -451");
+ locations.put("Something caught my eye by the red sand near the bridge over the gorge.", "306 105 -489");
+ locations.put("I seem to recall seeing something near the well in the village.", "170 77 -375");
+ locations.put("I was down near the lower oasis yesterday, I think I saw something under the bridge.", "142 69 -448");
+ locations.put("I was at the upper oasis today, I recall seeing something on the cobblestone stepping stones.", "188 77 -459");
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java
index e0158bc5..dda8da41 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java
@@ -1,5 +1,8 @@
package me.xmrvizzy.skyblocker.skyblock.dungeon;
+import org.apache.commons.lang3.StringUtils;
+
+import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.MapRenderer;
import net.minecraft.client.render.VertexConsumerProvider;
@@ -8,7 +11,6 @@ import net.minecraft.item.FilledMapItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.map.MapState;
import net.minecraft.nbt.NbtCompound;
-import org.apache.commons.lang3.StringUtils;
public class DungeonMap {
@@ -25,11 +27,12 @@ public class DungeonMap {
VertexConsumerProvider.Immediate vertices = client.getBufferBuilders().getEffectVertexConsumers();
MapRenderer map = client.gameRenderer.getMapRenderer();
MapState state = FilledMapItem.getMapState(mapid, client.world);
+ float scaling = SkyblockerConfig.get().locations.dungeons.mapScaling;
if (state == null) return;
matrices.push();
matrices.translate(2, 2, 0);
- matrices.scale(1, 1, 0);
+ matrices.scale(scaling, scaling, 0f);
map.draw( matrices, vertices, mapid, state, false, 15728880);
vertices.draw();
matrices.pop();
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 81bee4ba..10a2e413 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
@@ -69,7 +69,7 @@ public class Trivia extends ChatPatternListener {
answers.put("What is the status of Storm?", new String[]{"The Wither Lords"});
answers.put("What is the status of Necron?", new String[]{"The Wither Lords"});
answers.put("What is the status of Maxor, Storm, Goldor and Necron?", new String[]{"The Wither Lords"});
- answers.put("How many total Fairy Souls are there?", new String[]{"239 Fairy Souls"});
+ answers.put("How many total Fairy Souls are there?", new String[]{"240 Fairy Souls"});
answers.put("How many Fairy Souls are there in Spider's Den?", new String[]{"19 Fairy Souls"});
answers.put("How many Fairy Souls are there in The End?", new String[]{"12 Fairy Souls"});
answers.put("How many Fairy Souls are there in The Farming Islands?", new String[]{"20 Fairy Souls"});
diff --git a/src/main/resources/assets/skyblocker/lang/de_de.json b/src/main/resources/assets/skyblocker/lang/de_de.json
index a74b39ff..56f0fb14 100644
--- a/src/main/resources/assets/skyblocker/lang/de_de.json
+++ b/src/main/resources/assets/skyblocker/lang/de_de.json
@@ -1,33 +1,35 @@
{
- "key.categories.skyblocker": "Skyblocker",
- "key.hotbarSlotLock": "Schlitzsperre (Hotbar)",
+ "key.categories.skyblocker": "Skyblocker",
+ "key.hotbarSlotLock": "Schlitzsperre (Hotbar)",
+ "text.autoconfig.skyblocker.title": "Skyblocker-Einstellungen",
+ "text.autoconfig.skyblocker.category.general": "Allgemein",
+ "text.autoconfig.skyblocker.option.general.bars": "Gesundheits-, Mana-, Verteidigungs- und XP-Balken",
+ "text.autoconfig.skyblocker.option.general.bars.enableBars": "Balken aktivieren",
+ "text.autoconfig.skyblocker.option.general.hideEmptyTooltips": "Leere Item-Tooltips in Menüs verstecken",
- "text.autoconfig.skyblocker.title": "Skyblocker-Einstellungen",
-
- "text.autoconfig.skyblocker.category.general": "Allgemein",
- "text.autoconfig.skyblocker.option.general.bars": "Gesundheits-, Mana-, Verteidigungs- und XP-Balken",
- "text.autoconfig.skyblocker.option.general.bars.enableBars": "Balken aktivieren",
-
- "text.autoconfig.skyblocker.category.locations": "Standorte",
- "text.autoconfig.skyblocker.option.locations.dungeons": "Dungeons",
- "text.autoconfig.skyblocker.option.locations.dungeons.enableMap": "Karte aktivieren",
- "text.autoconfig.skyblocker.option.locations.dungeons.solveThreeWeirdos": "Drei Verrückte Rätsel lösen",
- "text.autoconfig.skyblocker.option.locations.dungeons.blazesolver": "Blaze Rätsel lösen",
- "text.autoconfig.skyblocker.option.locations.dungeons.solveTrivia": "Rätsel lösen",
- "text.autoconfig.skyblocker.option.locations.dungeons.terminals": "Terminal Löser",
- "text.autoconfig.skyblocker.option.locations.dungeons.terminals.solveColor": "Wähle die richtige Farbe",
- "text.autoconfig.skyblocker.option.locations.dungeons.terminals.solveOrder": "Klick in der Reihenfolge lösen",
- "text.autoconfig.skyblocker.option.locations.dungeons.terminals.solveStartsWith": "Beginnt mit lösen",
- "text.autoconfig.skyblocker.option.locations.dwarvenMines": "Zwergenminen",
- "text.autoconfig.skyblocker.option.locations.dwarvenMines.enableDrillFuel": "Bohrtreibstoff aktivieren",
- "text.autoconfig.skyblocker.option.locations.dwarvenMines.solveFetchur": "Löse Fetchur",
- "text.autoconfig.skyblocker.option.locations.dwarvenMines.solvePuzzler": "Puzzler-Rätsel lösen",
-
- "text.autoconfig.skyblocker.category.messages": "Nachrichten",
- "text.autoconfig.skyblocker.option.messages.hideAbility": "Abklingzeit der Fähigkeit nachricht verbergen",
- "text.autoconfig.skyblocker.option.messages.hideHeal": "Heilungsnachrichten verbergen",
- "text.autoconfig.skyblocker.option.messages.hideAOTE": "AOTE-Meldungen ausblenden",
- "text.autoconfig.skyblocker.option.messages.hideImplosion": "Implosionsmeldung ausblenden",
- "text.autoconfig.skyblocker.option.messages.hideMoltenWave": "Nachricht über Molten Wave ausblenden",
- "text.autoconfig.skyblocker.option.messages.hideAds": "Werbung im öffentlichen Chat ausblenden"
-} \ No newline at end of file
+ "text.autoconfig.skyblocker.category.locations": "Standorte",
+ "text.autoconfig.skyblocker.option.locations.dungeons": "Dungeons",
+ "text.autoconfig.skyblocker.option.locations.dungeons.enableMap": "Karte aktivieren",
+ "text.autoconfig.skyblocker.option.locations.dungeons.solveThreeWeirdos": "Drei Verrückte Rätsel lösen",
+ "text.autoconfig.skyblocker.option.locations.dungeons.blazesolver": "Blaze Rätsel lösen",
+ "text.autoconfig.skyblocker.option.locations.dungeons.solveTrivia": "Rätsel lösen",
+ "text.autoconfig.skyblocker.option.locations.dungeons.terminals": "Terminal Löser",
+ "text.autoconfig.skyblocker.option.locations.dungeons.terminals.solveColor": "Wähle die richtige Farbe",
+ "text.autoconfig.skyblocker.option.locations.dungeons.terminals.solveOrder": "Klick in der Reihenfolge lösen",
+ "text.autoconfig.skyblocker.option.locations.dungeons.terminals.solveStartsWith": "Beginnt mit lösen",
+ "text.autoconfig.skyblocker.option.locations.dwarvenMines": "Zwergenminen",
+ "text.autoconfig.skyblocker.option.locations.dwarvenMines.enableDrillFuel": "Bohrtreibstoff aktivieren",
+ "text.autoconfig.skyblocker.option.locations.dwarvenMines.solveFetchur": "Löse Fetchur",
+ "text.autoconfig.skyblocker.option.locations.dwarvenMines.solvePuzzler": "Puzzler-Rätsel lösen",
+ "text.autoconfig.skyblocker.category.messages": "Nachrichten",
+ "text.autoconfig.skyblocker.option.messages.hideAbility": "Abklingzeit der Fähigkeit nachricht verbergen",
+ "text.autoconfig.skyblocker.option.messages.hideHeal": "Heilungsnachrichten verbergen",
+ "text.autoconfig.skyblocker.option.messages.hideAOTE": "AOTE-Meldungen ausblenden",
+ "text.autoconfig.skyblocker.option.messages.hideImplosion": "Implosionsmeldung ausblenden",
+ "text.autoconfig.skyblocker.option.messages.hideMoltenWave": "Nachricht über Molten Wave ausblenden",
+ "text.autoconfig.skyblocker.option.messages.hideAds": "Werbung im öffentlichen Chat ausblenden",
+ "key.wikiLookup": "Wiki-Abfrage",
+ "text.autoconfig.skyblocker.option.general.bars.barpositions.RIGHT": "Rechts",
+ "text.autoconfig.skyblocker.option.general.quicknav": "Schnellnavigation",
+ "text.autoconfig.skyblocker.option.general.quicknav.enableQuicknav": "Schnellnavigation Einschalten"
+}
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index 8e7e4041..0ff95ccc 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -9,6 +9,10 @@
"text.autoconfig.skyblocker.option.general.bars": "Health, Mana, Defence & XP Bars",
"text.autoconfig.skyblocker.option.general.bars.enableBars": "Enable Bars",
"text.autoconfig.skyblocker.option.general.bars.barpositions": "Configure Bar Positions",
+ "text.autoconfig.skyblocker.option.general.bars.barpositions.LAYER1": "Layer 1",
+ "text.autoconfig.skyblocker.option.general.bars.barpositions.LAYER2": "Layer 2",
+ "text.autoconfig.skyblocker.option.general.bars.barpositions.RIGHT": "Right",
+ "text.autoconfig.skyblocker.option.general.bars.barpositions.NONE": "Disabled",
"text.autoconfig.skyblocker.option.general.bars.barpositions.healthBarPosition": "Health Bar Position",
"text.autoconfig.skyblocker.option.general.bars.barpositions.manaBarPosition": "Mana Bar Position",
"text.autoconfig.skyblocker.option.general.bars.barpositions.defenceBarPosition": "Defence Bar Position",
@@ -21,6 +25,9 @@
"text.autoconfig.skyblocker.option.general.itemTooltip.enableAvgBIN": "Enable Avg. BIN Price",
"text.autoconfig.skyblocker.option.general.itemTooltip.avg": "Average Type",
"text.autoconfig.skyblocker.option.general.itemTooltip.avg.@Tooltip": "You can choose how many days of average price to be",
+ "text.autoconfig.skyblocker.option.general.itemTooltip.avg.ONE_DAY": "1 day price",
+ "text.autoconfig.skyblocker.option.general.itemTooltip.avg.THREE_DAY": "3 day price",
+ "text.autoconfig.skyblocker.option.general.itemTooltip.avg.BOTH": "Both",
"text.autoconfig.skyblocker.option.general.itemTooltip.enableLowestBIN": "Enable Lowest BIN Price",
"text.autoconfig.skyblocker.option.general.itemTooltip.enableBazaarPrice": "Enable Bazaar buy/sell Price",
"text.autoconfig.skyblocker.option.general.itemTooltip.enableMuseumDate": "Enable Museum & Date",
@@ -32,6 +39,9 @@
"text.autoconfig.skyblocker.category.richPresence": "Discord Rich Presence",
"text.autoconfig.skyblocker.option.richPresence.info": "Skyblock Info",
+ "text.autoconfig.skyblocker.option.richPresence.info.PURSE": "PURSE",
+ "text.autoconfig.skyblocker.option.richPresence.info.BITS": "BITS",
+ "text.autoconfig.skyblocker.option.richPresence.info.LOCATION": "LOCATION",
"text.autoconfig.skyblocker.option.richPresence.info.@Tooltip": "This value doesn't matter if you are cycling",
"text.autoconfig.skyblocker.option.richPresence.cycleMode": "Cycle Skyblock Info",
"text.autoconfig.skyblocker.option.richPresence.enableRichPresence": "Enabled",
@@ -40,17 +50,101 @@
"text.autoconfig.skyblocker.category.quickNav" : "Quick Navigation",
"text.autoconfig.skyblocker.option.quickNav.enableQuickNav" : "Enable Quick Navigation",
"text.autoconfig.skyblocker.option.quickNav.button1" : "Button 1",
+ "text.autoconfig.skyblocker.option.quickNav.button1.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button1.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button1.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button1.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button1.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button1.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button1.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button2" : "Button 2",
+ "text.autoconfig.skyblocker.option.quickNav.button2.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button2.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button2.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button2.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button2.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button2.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button2.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button3" : "Button 3",
+ "text.autoconfig.skyblocker.option.quickNav.button3.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button3.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button3.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button3.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button3.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button3.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button3.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button4" : "Button 4",
+ "text.autoconfig.skyblocker.option.quickNav.button4.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button4.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button4.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button4.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button4.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button4.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button4.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button5" : "Button 5",
+ "text.autoconfig.skyblocker.option.quickNav.button5.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button5.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button5.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button5.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button5.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button5.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button5.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button6" : "Button 6",
+ "text.autoconfig.skyblocker.option.quickNav.button6.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button6.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button6.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button6.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button6.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button6.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button6.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button7" : "Button 7",
+ "text.autoconfig.skyblocker.option.quickNav.button7.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button7.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button7.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button7.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button7.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button7.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button7.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button8" : "Button 8",
+ "text.autoconfig.skyblocker.option.quickNav.button8.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button8.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button8.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button8.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button8.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button8.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button8.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button9" : "Button 9",
+ "text.autoconfig.skyblocker.option.quickNav.button9.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button9.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button9.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button9.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button9.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button9.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button9.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button10" : "Button 10",
+ "text.autoconfig.skyblocker.option.quickNav.button10.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button10.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button10.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button10.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button10.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button10.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button10.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button11" : "Button 11",
+ "text.autoconfig.skyblocker.option.quickNav.button11.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button11.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button11.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button11.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button11.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button11.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button11.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.quickNav.button12" : "Button 12",
+ "text.autoconfig.skyblocker.option.quickNav.button12.render" : "Render",
+ "text.autoconfig.skyblocker.option.quickNav.button12.item" : "Item",
+ "text.autoconfig.skyblocker.option.quickNav.button12.item.itemName" : "Item name",
+ "text.autoconfig.skyblocker.option.quickNav.button12.item.count" : "Item Count",
+ "text.autoconfig.skyblocker.option.quickNav.button12.item.nbt" : "NBT",
+ "text.autoconfig.skyblocker.option.quickNav.button12.uiTitle" : "UI Title",
+ "text.autoconfig.skyblocker.option.quickNav.button12.clickEvent" : "Click event",
"text.autoconfig.skyblocker.option.general.itemList": "Item List",
"text.autoconfig.skyblocker.option.general.itemList.enableItemList": "Enable Item List",
@@ -60,6 +154,7 @@
"text.autoconfig.skyblocker.option.locations.dungeons.croesusHelper": "Croesus Helper",
"text.autoconfig.skyblocker.option.locations.dungeons.croesusHelper.@Tooltip": "Gray out chests that have already been opened.",
"text.autoconfig.skyblocker.option.locations.dungeons.enableMap": "Enable Map",
+ "text.autoconfig.skyblocker.option.locations.dungeons.mapScaling": "Map Scaling",
"text.autoconfig.skyblocker.option.locations.dungeons.solveThreeWeirdos": "Solve Three Weirdos Puzzle",
"text.autoconfig.skyblocker.option.locations.dungeons.blazesolver": "Solve Blaze Puzzle",
"text.autoconfig.skyblocker.option.locations.dungeons.solveTrivia": "Solve Trivia Puzzle",
@@ -78,6 +173,9 @@
"text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.y": "Y",
"text.autoconfig.skyblocker.category.messages": "Messages",
+ "text.autoconfig.skyblocker.option.messages.chatFilterResult.PASS": "Disabled",
+ "text.autoconfig.skyblocker.option.messages.chatFilterResult.FILTER": "Filter",
+ "text.autoconfig.skyblocker.option.messages.chatFilterResult.ACTION_BAR": "Move to action bar",
"text.autoconfig.skyblocker.option.messages.hideAbility": "Hide Ability Cooldown",
"text.autoconfig.skyblocker.option.messages.hideHeal": "Hide Heal Messages",
"text.autoconfig.skyblocker.option.messages.hideAOTE": "Hide AOTE Messages",
@@ -95,6 +193,7 @@
"skyblocker.update.update_message_end" : " §ato find out about latest features.",
"skyblocker.update.hover_text": "Open Modrinth",
"text.autoconfig.skyblocker.option.general.enableUpdateNotification": "Update Notification",
+ "text.autoconfig.skyblocker.option.general.hideEmptyTooltips": "Hide empty item tooltips in menus",
"skyblocker.api.got_key": "§b[§6Skyblocker§b] §2Automatically set your API key!"
}
diff --git a/src/main/resources/assets/skyblocker/lang/ja_JP.json b/src/main/resources/assets/skyblocker/lang/ja_JP.json
new file mode 100644
index 00000000..954647c7
--- /dev/null
+++ b/src/main/resources/assets/skyblocker/lang/ja_JP.json
@@ -0,0 +1,74 @@
+{
+ "key.categories.skyblocker": "Skyblocker",
+ "key.hotbarSlotLock": "ホットバースロットのロック",
+ "key.wikiLookup": "Wikiのページを開く",
+ "text.autoconfig.skyblocker.title": "Skyblockerの設定",
+ "text.autoconfig.skyblocker.category.general": "一般",
+ "text.autoconfig.skyblocker.option.general.bars": "体力,マナ,ディフェンス,経験値のバー",
+ "text.autoco