diff options
| author | msg-programs <msgdoesstuff@gmail.com> | 2023-05-06 10:18:14 +0200 |
|---|---|---|
| committer | msg-programs <msgdoesstuff@gmail.com> | 2023-05-06 10:18:14 +0200 |
| commit | cca174ffb145b9865a234fcd3f953ac6016661a2 (patch) | |
| tree | 015c540336af4395c2751a20ce396e8778c4cb72 | |
| parent | 19247f09636e10ab673a0f49bc364bd1c3ac518d (diff) | |
| parent | 076ba90b23db2ae3df3f5c3918ccda836ad90690 (diff) | |
| download | Skyblocker-cca174ffb145b9865a234fcd3f953ac6016661a2.tar.gz Skyblocker-cca174ffb145b9865a234fcd3f953ac6016661a2.tar.bz2 Skyblocker-cca174ffb145b9865a234fcd3f953ac6016661a2.zip | |
Merge branch 'master' of https://github.com/SkyblockerMod/Skyblocker into skyhytab
# Conflicts:
# README.md
# gradle.properties
# src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
# src/main/resources/assets/skyblocker/lang/de_de.json
# src/main/resources/skyblocker.mixins.json
Pull updates from upstream
18 files changed, 747 insertions, 182 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 3204bdb4..8aa8c4df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,55 @@ +# Release 1.9.0 + +Supports 1.19.4 + +## What's Changed +* Fix trivia solver glitch by @TheColdPot in https://github.com/SkyblockerMod/Skyblocker/pull/89 +* optimize Dwarven HUD & add draggable config by @TacoMonkey11 in https://github.com/SkyblockerMod/Skyblocker/pull/93 +* Use official hypixel wiki for WikiLookup by @TacoMonkey11 in https://github.com/SkyblockerMod/Skyblocker/pull/94 +* Corrections + Update by @Julienraptor01 in https://github.com/SkyblockerMod/Skyblocker/pull/99 +* Fix Fetchur solver not working by adding typo'ed variant by @Julienraptor01 in https://github.com/SkyblockerMod/Skyblocker/pull/100 +* Update GSON and remove old adapter by @TacoMonkey11 in https://github.com/SkyblockerMod/Skyblocker/pull/95 +* Adding QuickNav Customization by @MiraculixxT in https://github.com/SkyblockerMod/Skyblocker/pull/111 +* Fix multiple README badges by @triphora in https://github.com/SkyblockerMod/Skyblocker/pull/110 +* Add Chinese translation by @catandA in https://github.com/SkyblockerMod/Skyblocker/pull/113 +* Fixes crash with WikiLookup by @kevinthegreat1 in https://github.com/SkyblockerMod/Skyblocker/pull/114 +* Fixed IndexOutOfBoundsException in WikiLookup by @kevinthegreat1 in https://github.com/SkyblockerMod/Skyblocker/pull/118 +* fix LBIN by @Julienraptor01 in https://github.com/SkyblockerMod/Skyblocker/pull/119 +* Update to 1.19.3 by @Julienraptor01 in https://github.com/SkyblockerMod/Skyblocker/pull/109 +* Support for 1.19.4 & Cleanup by @kevinthegreat1 in https://github.com/SkyblockerMod/Skyblocker/pull/123 +* account for the easter name change and refactor slightly by @Julienraptor01 in https://github.com/SkyblockerMod/Skyblocker/pull/125 +* Update gradle & mr version by @Julienraptor01 in https://github.com/SkyblockerMod/Skyblocker/pull/126 +* fix msg filter by @Julienraptor01 in https://github.com/SkyblockerMod/Skyblocker/pull/128 +* Fix config loading by @AzureAaron in https://github.com/SkyblockerMod/Skyblocker/pull/124 +* port UpdateChecker to java.net.http by @TacoMonkey11 in https://github.com/SkyblockerMod/Skyblocker/pull/129 +* Move Discord RPC connection to JOIN event + refactor by @TacoMonkey11 in https://github.com/SkyblockerMod/Skyblocker/pull/130 +* Changes to quicknav tabs (Fixes and Additions) by @Julienraptor01 in https://github.com/SkyblockerMod/Skyblocker/pull/132 +* More I18n for config by @catandA in https://github.com/SkyblockerMod/Skyblocker/pull/115 +* Add Japanese by @hirochisan in https://github.com/SkyblockerMod/Skyblocker/pull/139 + +## New Contributors +* @TheColdPot made their first contribution in https://github.com/SkyblockerMod/Skyblocker/pull/89 +* @Julienraptor01 made their first contribution in https://github.com/SkyblockerMod/Skyblocker/pull/99 +* @MiraculixxT made their first contribution in https://github.com/SkyblockerMod/Skyblocker/pull/111 +* @triphora made their first contribution in https://github.com/SkyblockerMod/Skyblocker/pull/110 +* @catandA made their first contribution in https://github.com/SkyblockerMod/Skyblocker/pull/113 +* @kevinthegreat1 made their first contribution in https://github.com/SkyblockerMod/Skyblocker/pull/114 +* @AzureAaron made their first contribution in https://github.com/SkyblockerMod/Skyblocker/pull/124 + +**Full Changelog**: https://github.com/SkyblockerMod/Skyblocker/compare/v1.8.2...v1.9.0 + +___ +# Release 1.8.2 + +## Fixes +* Fix status bars not working after new Skyblock update by @KonaeAkira in https://github.com/SkyblockerMod/Skyblocker/commit/b3a7de41788209dab1d1f453e8b8630169096018 +* Fix backpack preview not updating preview content after new Skyblock update by @KonaeAkira in https://github.com/SkyblockerMod/Skyblocker/commit/f681ad65e73b12ccd01d1fa8184a4b0abc3ee3c2 +* Fix the url of the meteordev repository by @Username404-59 in https://github.com/SkyblockerMod/Skyblocker/pull/84 +* Update PriceInfoTooltip.java by @Fix3dll in https://github.com/SkyblockerMod/Skyblocker/pull/86 +* Fix update notification not showing on first start-up by @KonaeAkira in https://github.com/SkyblockerMod/Skyblocker/commit/26e6a755c002a56db415d9b219ffafefbe384537 + +**Full Changelog**: https://github.com/SkyblockerMod/Skyblocker/compare/v1.8.1...v1.8.2 +___ # Release 1.8.1 Fixes diff --git a/FEATURES.md b/FEATURES.md index c2f2a287..1cd95a1e 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -2,9 +2,10 @@ * Hide Messages: Ability Cooldown, Heal, AOTE, Implosion, Molten Wave, Teleport Pad Messages * Dungeon Minimap * Dungeon Puzzle Solver: - * Three Weirdos - * Blaze - * F7 Terminal: Order, Color, Name + * Three Weirdos + * Blaze + * Croesus + * F7 Terminal: Order, Color, Name * Dwarven Mines Solver: Fetchur, Puzzler * Drill Fuel in Item Durability Bar * Hotbar Slot Lock Keybind (Select the hotbar slot you want to lock/unlock and press the lockbutton) @@ -12,9 +13,11 @@ * reparty: write /rp to reparty * Wiki Lookup: press f4 to open the wiki page about the held item * Discord Rich Presence: Allows user to show either their Piggy, Bits, or location. Along with a custom message -* Quicknav: fast navigate between pets, armor, enderchest, skill, collection, crafting, enchant, envil, warp dungeon, warp hub -* Recipe book: in the vanilla recipe book all skyblock items are listed and you can see the recipe of the item -* Backpack preview: after you clicked your backpack or enderchest once you can hover over the backpack or enderchest and hold shift to preview +* Quicknav: fast navigate between pets, armor, enderchest, skill, collection, crafting, enchant, envil, warp dungeon, + warp hub +* Recipe book: in the vanilla recipe book all skyblock items are listed, and you can see the recipe of the item +* Backpack preview: after you clicked your backpack or enderchest once you can hover over the backpack or enderchest and + hold shift to preview * Update notification * Commission HUD: Dwarven Mines quests * 1.8 hitbox for lever and farmland
\ No newline at end of file @@ -12,23 +12,22 @@ This will be merged into Skyblocker when ready. It's not at the moment, but you Apart from that, it's working! ------------------------- - -<img height="150" src="https://hypixel.net/attachments/skyblocker-png.2715347" /> +<img height="150" src="https://hysky.de/skyblocker.png" alt="skyblocker"/> ## Skyblocker + [](https://modrinth.com/mod/skyblocker-liap) -[](https://github.com/SkyblockerMod/Skyblocker/releases/latest) -[](https://github.com/SkyblockerMod/Skyblocker/actions/workflows/beta.yml) +[](https://github.com/SkyblockerMod/Skyblocker/releases/latest) +[](https://github.com/SkyblockerMod/Skyblocker/actions/workflows/beta.yml) [](https://discord.com/invite/aNNJHQykck) [](https://ko-fi.com/wohlhabend) - Hypixel Skyblock Mod for Minecraft 1.17.x + 1.18.x + 1.19.x Installation guide is [here](https://github.com/SkyblockerMod/Skyblocker/wiki/installation) ## Features + <details open> <summary>open</summary> @@ -36,9 +35,10 @@ Installation guide is [here](https://github.com/SkyblockerMod/Skyblocker/wiki/in * Hide Messages: Ability Cooldown, Heal, AOTE, Implosion, Molten Wave, Teleport Pad Messages * Dungeon Minimap * Dungeon Puzzle Solver: - * Three Weirdos - * Blaze - * F7 Terminal: Order, Color, Name + * Three Weirdos + * Blaze + * Croesus + * F7 Terminal: Order, Color, Name * Dwarven Mines Solver: Fetchur, Puzzler * Drill Fuel in Item Durability Bar * Hotbar Slot Lock Keybind (Select the hotbar slot you want to lock/unlock and press the lockbutton) @@ -46,9 +46,11 @@ Installation guide is [here](https://github.com/SkyblockerMod/Skyblocker/wiki/in * reparty: write /rp to reparty * Wiki Lookup: press f4 to open the wiki page about the held item * Discord Rich Presence: Allows user to show either their Piggy, Bits, or location. Along with a custom message -* Quicknav: fast navigate between pets, armor, enderchest, skill, collection, crafting, enchant, envil, warp dungeon, warp hub +* Quicknav: fast navigate between pets, armor, enderchest, skill, collection, crafting, enchant, envil, warp dungeon, + warp hub * Recipe book: in the vanilla recipe book all skyblock items are listed, and you can see the recipe of the item -* Backpack preview: after you clicked your backpack or enderchest once you can hover over the backpack or enderchest and hold shift to preview +* Backpack preview: after you clicked your backpack or enderchest once you can hover over the backpack or enderchest and + hold shift to preview * Update notification * Commission HUD: Dwarven Mines quests * 1.8 hitbox for lever and farmland @@ -56,7 +58,9 @@ Installation guide is [here](https://github.com/SkyblockerMod/Skyblocker/wiki/in </details> ___ + ## Images + <details open> <summary>open</summary> @@ -73,7 +77,8 @@ ___ ## Contribute -Everyone can contribute to Skyblocker, read [this](https://github.com/SkyblockerMod/Skyblocker/wiki/Contribute) for more information. +Everyone can contribute to Skyblocker, read [this](https://github.com/SkyblockerMod/Skyblocker/wiki/Contribute) for more +information. ## Stargazers @@ -81,20 +86,27 @@ Everyone can contribute to Skyblocker, read [this](https://github.com/Skyblocker ## Credits -| [<img alt="Kraineff" src="https://github.com/Kraineff.png" width="100">](https://github.com/Kraineff) | [<img alt="d3dx9" src="https://github.com/d3dx9.png" width="100">](https://github.com/d3dx9) | [<img alt="LifeIsAParadox" src="https://github.com/LifeIsAParadox.png" width="100">](https://github.com/LifeIsAParadox) | [<img alt="ExternalTime" src="https://github.com/ExternalTime.png" width="100">](https://github.com/ExternalTime) | -|:-------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:| -| [Kraineff](https://github.com/Kraineff) | [d3dx9](https://github.com/d3dx9) | [LifeIsAParadox](https://github.com/LifeIsAParadox) | [ExternalTime](https://github.com/ExternalTime) | +| [<img alt="Kraineff" src="https://github.com/Kraineff.png" width="100">](https://github.com/Kraineff) | [<img alt="d3dx9" src="https://github.com/d3dx9.png" width="100">](https://github.com/d3dx9) | [<img alt="LifeIsAParadox" src="https://github.com/LifeIsAParadox.png" width="100">](https://github.com/LifeIsAParadox) | [<img alt="ExternalTime" src="https://github.com/ExternalTime.png" width="100">](https://github.com/ExternalTime) | +|:-----------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:| +| [Kraineff](https://github.com/Kraineff) | [d3dx9](https://github.com/d3dx9) | [LifeIsAParadox](https://github.com/LifeIsAParadox) | [ExternalTime](https://github.com/ExternalTime) | -| [<img alt="Zailer43" src="https://github.com/Zailer43.png" width="100">](https://github.com/Zailer43) | [<img alt="TacoMonkey11" src="https://github.com/TacoMonkey11.png" width="100">](https://github.com/TacoMonkey11) | [<img alt="KonaeAkira" src="https://github.com/KonaeAkira.png" width="100">](https://github.com/KonaeAkira) | [<img alt="Fix3dll" src="https://github.com/Fix3dll.png" width="100">](https://github.com/Fix3dll) | -|:-----------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------:| -| [Zailer43](https://github.com/Zailer43) | [TacoMonkey11](https://github.com/TacoMonkey11) | [KonaeAkira](https://github.com/KonaeAkira) | [Fix3dll](https://github.com/Fix3dll) | +| [<img alt="Zailer43" src="https://github.com/Zailer43.png" width="100">](https://github.com/Zailer43) | [<img alt="TacoMonkey11" src="https://github.com/TacoMonkey11.png" width="100">](https://github.com/TacoMonkey11) | [<img alt="KonaeAkira" src="https://github.com/KonaeAkira.png" width="100">](https://github.com/KonaeAkira) | [<img alt="Fix3dll" src="https://github.com/Fix3dll.png" width="100">](https://github.com/Fix3dll) | +|:-----------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------:| +| [Zailer43](https://github.com/Zailer43) | [TacoMonkey11](https://github.com/TacoMonkey11) | [KonaeAkira](https://github.com/KonaeAkira) | [Fix3dll](https://github.com/Fix3dll) | +| [<img alt="ADON15c" src="https://github.com/ADON15c.png" width="100">](https://github.com/ADON15c) | [<img alt="TheColdPot" src="https://github.com/TheColdPot.png" width="100">](https://github.com/TheColdPot) | [<img alt="Julienraptor01" src="https://github.com/Julienraptor01.png" width="100">](https://github.com/Julienraptor01) | [<img alt="MiraculixxT" src="https://github.com/MiraculixxT.png" width="100">](https://github.com/MiraculixxT) | +|:--------------------------------------------------------------------------------------------------:|-------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------| +| [ADON15c](https://github.com/ADON15c) | [TheColdPot](https://github.com/TheColdPot) | [Julienraptor01](https://github.com/Julienraptor01) | [ADON15c](https://github.com/MiraculixxT) | + +| [<img alt="catandA" src="https://github.com/catandA.png" width="100">](https://github.com/catandA) | [<img alt="kevinthegreat1" src="https://github.com/kevinthegreat1.png" width="100">](https://github.com/kevinthegreat1) | [<img alt="AzureAaron" src="https://github.com/AzureAaron.png" width="100">](https://github.com/AzureAaron) | +|:--------------------------------------------------------------------------------------------------:|-------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------| +| [catandA](https://github.com/catandA) | [kevinthegreat1](https://github.com/kevinthegreat1) | [AzureAaron](https://github.com/AzureAaron) | -| [<img alt="Zailer43" src="https://github.com/ADON15c.png" width="100">](https://github.com/ADON15c) | -|:---------------------------------------------------------------------------------------------------:| -| [ADON15c](https://github.com/ADON15c) | ### Translators + German ([LifeIsAParadox](https://github.com/LifeIsAParadox)) \ Indonesian ([null2264](https://github.com/null2264)) \ Russian ([HyperSoop](https://github.com/HyperSoop)) \ -French ([edgarogh](https://github.com/edgarogh) & [Julienraptor01](https://github.com/Julienraptor01)) +French ([edgarogh](https://github.com/edgarogh) & [Julienraptor01](https://github.com/Julienraptor01)) \ +Japanese ([hirochisan](https://github.com/@irochisan)) \ +Chinese ([catandA](https://github.com/catandA)) diff --git a/gradle.properties b/gradle.properties index 075253a0..fa78677c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ clothconfig_version=10.0.96 mod_menu_version=6.1.0-rc.4 # Mod Properties -mod_version = 1.8.3-beta-tabmenu +mod_version = 1.9.0-beta-tabmenu maven_group = me.xmrvizzy archives_base_name = skyblocker modrinth_id=y6DuFGwJ
\ No newline at end of file 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 96bab542..6d43eff8 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -125,6 +125,7 @@ public class SkyblockerConfig implements ConfigData { public static class General { public boolean enableUpdateNotification = true; public boolean backpackPreviewWithoutShift = false; + public boolean hideEmptyTooltips = true; public boolean tabHudEnabled = true; @@ -134,7 +135,7 @@ public class SkyblockerConfig implements ConfigData { @ConfigEntry.Category("bars") @ConfigEntry.Gui.CollapsibleObject() public Bars bars = new Bars(); - + @ConfigEntry.Category("itemList") @ConfigEntry.Gui.CollapsibleObject() public ItemList itemList = new ItemList(); @@ -233,6 +234,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(); @@ -246,6 +251,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; @@ -292,6 +298,11 @@ public class SkyblockerConfig implements ConfigData { } } + 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; @@ -332,4 +343,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 c678b353..15bbf13a 100644 --- a/src/main/resources/assets/skyblocker/lang/de_de.json +++ b/src/main/resources/assets/skyblocker/lang/de_de.json @@ -1,37 +1,39 @@ { - "key.categories.skyblocker": "Skyblocker", - "key.hotbarSlotLock": "Schlitzsperre (Hotbar)", - "key.skyblocker.playerTgl": "Tab-HUD auf Spielerliste umstellen", - "key.skyblocker.defaultTgl": "Tab-HUD auf Standard umstellen", - "key.skyblocker.genericTgl": "Tab-HUD auf allgemeine Infos umstellen", + "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.tabHudEnabled": "Schöneres Tab-HUD aktivieren", + "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.tabHudEnabled": "Schöneres Tab-HUD aktivieren", - "text.autoconfig.skyblocker.option.general.bars": "Gesundheits-, Mana-, Verteidigungs- und XP-Balken", - "text.autoconfig.skyblocker.option.general.bars.enableBars": "Balken |
