Skip to content

Commit

Permalink
Merge branch 'refs/heads/backend/scoreboard-refactor' into feature/cu…
Browse files Browse the repository at this point in the history
…stom-scoreboard-custom-lines
  • Loading branch information
j10a1n15 committed Oct 1, 2024
2 parents 05f6810 + 326f94c commit e84ca4d
Show file tree
Hide file tree
Showing 27 changed files with 518 additions and 65 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ SkyHanni is a Forge mod for Minecraft 1.8.9 that adds many useful features to [H
* **Helpful GUIs:** View important information at a glance.
* **Extra Chat Messages:** Receive reminders and tips at the right moment.
* **Object Highlighters:** Focus on important items in inventories or highlight mobs in the world.
* **Highly Customizeable Displays:** Personalise your Scoreboard, Tab List or chat format.
* **Highly Customizable Displays:** Personalise your Scoreboard, Tab List or chat format.
* [And **much** more!](docs/FEATURES.md)

SkyHanni is especially useful when doing farming, slayers, Bingo, Diana, fishing, Rift or mining.
Expand All @@ -35,7 +35,7 @@ SkyHanni is especially useful when doing farming, slayers, Bingo, Diana, fishing
Give feedback or just chat with others on our community Discord!

* **Bug Reports:** Use the `#bug-reports` channel when you find broken features (please check out `#faq` and `#known-bugs`).
* **Quick Help** Ask in `#support` for questions and problems with the the mod or Minecraft in general.
* **Quick Help** Ask in `#support` for questions and problems with the mod or Minecraft in general.
* **Feature Suggestions:** Feel fre to tell your ideas in `#suggestions` channel for new features and improvements to the mod. (Don't copy from existing mods or break Hypixel rules).
* **General Chat:** Chat with other SkyHanni users in `#skyblock-general` channel about the game.

Expand Down
23 changes: 23 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@
+ Shows attempts and XP since the last ULTRA-RARE.
+ Added Experiments Profit Tracker. - ILike2WatchMemes (https://github.com/hannibal002/SkyHanni/pull/2171)
+ Tracks profits in Coins and Enchanting XP.
+ Added Ultimate Enchant Star. - Empa (https://github.com/hannibal002/SkyHanni/pull/2612)
+ Shows a star on Enchanted Books with an Ultimate Enchant.

#### Chat Features

Expand Down Expand Up @@ -134,6 +136,11 @@
+ Includes an option to warn you when to throw your rod.
+ Shows how weak the golden fish is, as a nametag.
+ Also works on Stranded.
+ Added an alert for Gold or Diamond Trophy Fish catches. - ReyMaratov (https://github.com/hannibal002/SkyHanni/pull/2615)
+ Displays a popup with the trophy name, rarity, and amount of the catch.
+ Optionally, also plays a sound.+ Added an alert for Gold or Diamond Trophy Fish catches. - ReyMaratov (https://github.com/hannibal002/SkyHanni/pull/2615)
+ Displays a popup with the trophy name, rarity, and amount of the catch.
+ Optionally, also plays a sound.

#### Misc Features

Expand Down Expand Up @@ -200,6 +207,7 @@
+ Added exceptions to the enchant parser. - Vixid (https://github.com/hannibal002/SkyHanni/pull/2254)
+ Stonk and non-mining tools with Efficiency 5 use the maximum enchant color.
+ Added a short cooldown between Experimentation Table Guardian Pet chat warnings. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/2459)
+ Prevented the SB Menu from replacing items from Dungeons and Kuudra that are placed in the item pickup log. - Fazfoxy (https://github.com/hannibal002/SkyHanni/pull/2599)

#### Chat Improvements

Expand All @@ -226,6 +234,7 @@

+ Made the "Line to Arachne" width configurable. - azurejelly (https://github.com/hannibal002/SkyHanni/pull/2406)
+ Made the "Line to Miniboss" width configurable. - azurejelly (https://github.com/hannibal002/SkyHanni/pull/2406)
+ Added item cooldown support for Blaze Flares. - minhperry (https://github.com/hannibal002/SkyHanni/pull/2601)+ Added item cooldown support for Blaze Flares. - minhperry (https://github.com/hannibal002/SkyHanni/pull/2601)

#### Config Improvements

Expand Down Expand Up @@ -264,6 +273,9 @@
+ Improved the performance of pathfinding logic in Area Navigation. - nea (https://github.com/hannibal002/SkyHanni/pull/2537)
+ Added a toggle to force the `en_US` locale for number formatting. - martimavocado (https://github.com/hannibal002/SkyHanni/pull/2563)
+ Queued GfS will now always fall back to a default amount if one is not specified. - Luna (https://github.com/hannibal002/SkyHanni/pull/2584)
+ Improved pathfinding. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/2597)
+ The line to the target no longer jumps around as much.
+ Progress to the target now shows up in chat, displaying blocks remaining and percentage completed. Clicking on the chat message cancels the pathfinding.

### Fixes

Expand Down Expand Up @@ -296,6 +308,11 @@
+ Fixed Estimated Item Value incorrectly showing all Kuudra armor as starred. - Luna (https://github.com/hannibal002/SkyHanni/pull/2550)
+ Fixed Experiments Profit Tracker & Superpair Data. - ILike2WatchMemes (https://github.com/hannibal002/SkyHanni/pull/2560)
+ Fixed price per unit for Stonk of Stonks auction not working for the bracket you are in. - Thunderblade73 (https://github.com/hannibal002/SkyHanni/pull/2572)
+ Fixed bugs in the Experiments Profit Tracker. - ILike2WatchMemes (https://github.com/hannibal002/SkyHanni/pull/2594)
+ Corrected the count for bottles applied while being inside the experimentation table.
+ Fixed `/shedittracker` support not functioning properly.
+ Fixed an issue where the item stack size on Diamond/Golden Heads and Master Skulls could be incorrect. - Fazfoxy (https://github.com/hannibal002/SkyHanni/pull/2611)
+ Fixed item category detection for recombobulated items. - minhperry (https://github.com/hannibal002/SkyHanni/pull/2608)

#### Mining Fixes

Expand All @@ -320,6 +337,7 @@
+ Fixed some blocks in the Crystal Hollows being detected as Mithril instead of Hard Stone. - Luna (https://github.com/hannibal002/SkyHanni/pull/2580)
+ Fixed "Mining Commissions Block Color" causing OptiFine connected textures not to connect properly. - nopo (https://github.com/hannibal002/SkyHanni/pull/2577)
+ Fixed the Mineshaft Pity Counter not working in the Great Glacite Lake. - martimavocado (https://github.com/hannibal002/SkyHanni/pull/2565)
+ Fixed Powder Tracker inaccuracies. - Empa (https://github.com/hannibal002/SkyHanni/pull/2591)

#### Scoreboard Fixes

Expand All @@ -342,6 +360,7 @@
+ Fixed a Custom Scoreboard error while in the Dojo. - j10a1n15 (https://github.com/hannibal002/SkyHanni/pull/2519)
+ Fixed a Custom Scoreboard error during M7 Dragons. - j10a1n15 (https://github.com/hannibal002/SkyHanni/pull/2510)
+ Fixed Custom Scoreboard error during the Raffle Event. - j10a1n15 (https://github.com/hannibal002/SkyHanni/pull/2545)
+ Fixed both the Custom Scoreboard Active and Starting Soon Tab List events being active simultaneously in the Garden. - Empa, j10a1n15 (https://github.com/hannibal002/SkyHanni/pull/2592)

#### Hoppity Fixes

Expand All @@ -351,6 +370,7 @@
+ Fixed minor formatting issues with Hoppity Event Summary. - Daveed (https://github.com/hannibal002/SkyHanni/pull/2416)
+ Fixed Hoppity Event stats resetting. - Daveed (https://github.com/hannibal002/SkyHanni/pull/2489)
+ Fixed an issue where Fish the Rabbit and El Dorado did not have compacted chat messages. - Daveed (https://github.com/hannibal002/SkyHanni/pull/2488)
+ Fixed inconsistencies in Hoppity Duplicate Number counts. - Daveed (https://github.com/hannibal002/SkyHanni/pull/2595)

#### Chat Fixes

Expand Down Expand Up @@ -382,6 +402,8 @@

+ Updated Ghost Counter bestiary tiers to reflect Hypixel reducing the max kills needed from 250K to 100K. - Luna (https://github.com/hannibal002/SkyHanni/pull/2533)
+ Fixed a case where the Broodmother countdown could be wildly inaccurate. - MTOnline (https://github.com/hannibal002/SkyHanni/pull/2513)
+ Fixed Flare Display spamming chat with negative values when the server is lagging. - Stella (https://github.com/hannibal002/SkyHanni/pull/2567)
+ Fixed a case where the Imminent stage did not update the Broodmother countdown. - MTOnline (https://github.com/hannibal002/SkyHanni/pull/2602)v

#### The Carnival Fixes

Expand Down Expand Up @@ -480,6 +502,7 @@
+ These are added as a layer between SkyHanni and NEU so that we are not reliant on NEU functions.
+ Added Blossom Gradle plugin for token replacement in code. - ThatGravyBoat (https://github.com/hannibal002/SkyHanni/pull/2558)
+ `@MOD_VERSION@` is now a token that will be replaced.
+ Added `detekt` runner to the build process. - Daveed & nea (https://github.com/hannibal002/SkyHanni/pull/2547)

### Removed Features

Expand Down
5 changes: 5 additions & 0 deletions docs/FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,8 @@ Use `/sh` or `/skyhanni` to open the SkyHanni config in game.
+ Can be enabled/disabled on the Item Number list.
+ Item Pickup Log. - catgirlseraid (https://github.com/hannibal002/SkyHanni/pull/1937)
+ Display the price per Stonk when taking the minimum bid in the Stonks Auction (Richard Menu). - Thunderblade73 (https://github.com/hannibal002/SkyHanni/pull/2195)
+ Added Ultimate Enchant Star. - Empa (https://github.com/hannibal002/SkyHanni/pull/2612)
+ Shows a star on Enchanted Books with an Ultimate Enchant.

</details>
<details open><summary>
Expand Down Expand Up @@ -369,6 +371,9 @@ Use `/sh` or `/skyhanni` to open the SkyHanni config in game.
+ Includes an option to warn you when to throw your rod.
+ Shows how weak the golden fish is, as a nametag.
+ Also works on Stranded.
+ Added an alert for Gold or Diamond Trophy Fish catches. - ReyMaratov (https://github.com/hannibal002/SkyHanni/pull/2615)
+ Displays a popup with the trophy name, rarity, and amount of the catch.
+ Optionally, also plays a sound.

</details>
<details open><summary>
Expand Down
2 changes: 1 addition & 1 deletion root.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ plugins {

allprojects {
group = "at.hannibal2.skyhanni"
version = "0.27.Beta.12"
version = "0.27.Beta.13"
repositories {
mavenCentral()
mavenLocal()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import com.google.gson.JsonPrimitive
object ConfigUpdaterMigrator {

val logger = LorenzLogger("ConfigMigration")
const val CONFIG_VERSION = 59
const val CONFIG_VERSION = 60
fun JsonElement.at(chain: List<String>, init: Boolean): JsonElement? {
if (chain.isEmpty()) return this
if (this !is JsonObject) return null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ public String toString() {
@Expose
@ConfigOption(name = "Gemstones", desc = "")
@Accordion
// TODO remove config
// TODO rename to "gemstoneFilter"
public PowderMiningGemstoneFilterConfig gemstoneFilterConfig = new PowderMiningGemstoneFilterConfig();

}
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ public class PowderMiningGemstoneFilterConfig {
@ConfigEditorDropdown
public GemstoneFilterEntry topazGemstones = GemstoneFilterEntry.FINE_UP;

@Expose
@ConfigOption(name = "Jasper", desc = "Hide Jasper gemstones under a certain quality.")
@ConfigEditorDropdown
public GemstoneFilterEntry jasperGemstones = GemstoneFilterEntry.FINE_UP;

public enum GemstoneFilterEntry {
SHOW_ALL("Show All"),
HIDE_ALL("Hide all"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,9 @@ public class EnigmaSoulConfig {
@ConfigOption(name = "Color", desc = "Color of the Enigma Souls.")
@ConfigEditorColour
public String color = "0:245:219:27:198";

@Expose
@ConfigOption(name = "Buttons Helper", desc = "Help find all 56 wooden buttons required for the Buttons soul when tracking it.")
@ConfigEditorBoolean
public boolean showButtonsHelper = true;
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ public class WiltedBerberisConfig {
@Expose
@ConfigOption(name = "Hide Particles", desc = "Hide the Wilted Berberis particles.")
@ConfigEditorBoolean
// TODO fix typo
public boolean hideparticles = false;
public boolean hideParticles = false;

@Expose
@ConfigOption(name = "Mute Others Sounds", desc = "Mute nearby Wilted Berberis sounds while not holding a Wand of Farming or not standing on Farmland blocks.")
@ConfigEditorBoolean
public boolean muteOthersSounds = true;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
import at.hannibal2.skyhanni.config.FeatureToggle;
import com.google.gson.annotations.Expose;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorColour;
import io.github.notenoughupdates.moulconfig.annotations.ConfigOption;
import io.github.notenoughupdates.moulconfig.observer.Property;

public class LivingCaveLivingMetalConfig {

Expand All @@ -19,4 +21,9 @@ public class LivingCaveLivingMetalConfig {
@FeatureToggle
public boolean hideParticles = false;

@Expose
@ConfigOption(name = "Color", desc = "Set the color to highlight the blocks in.")
@ConfigEditorColour
public Property<String> color = Property.of("0:255:85:255:255");

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package at.hannibal2.skyhanni.config.features.rift.area.westvillage;

import at.hannibal2.skyhanni.config.FeatureToggle;
import com.google.gson.annotations.Expose;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorColour;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorSlider;
import io.github.notenoughupdates.moulconfig.annotations.ConfigOption;
import io.github.notenoughupdates.moulconfig.observer.Property;

public class GunthersRaceConfig {

@Expose
@ConfigOption(name = "Enabled", desc = "Show the route for Gunther's rift race.")
@ConfigEditorBoolean
@FeatureToggle
public boolean enabled = true;

@Expose
@ConfigOption(name = "Look Ahead", desc = "Change how many waypoints should be shown in front of you.")
@ConfigEditorSlider(minStep = 1, maxValue = 30, minValue = 1)
public Property<Integer> lookAhead = Property.of(3);

@Expose
@ConfigOption(name = "Rainbow Color", desc = "Show the rainbow color effect instead of a boring monochrome.")
@ConfigEditorBoolean
public Property<Boolean> rainbowColor = Property.of(true);

@Expose
@ConfigOption(name = "Monochrome Color", desc = "Set a boring monochrome color for the guide waypoints.")
@ConfigEditorColour
public Property<String> monochromeColor = Property.of("0:60:0:0:255");
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@

public class WestVillageConfig {

@ConfigOption(name = "Kloon Hacking", desc = "")
@Accordion
@Expose
public KloonHackingConfig hacking = new KloonHackingConfig();

@ConfigOption(name = "Vermin Tracker", desc = "Track all vermins collected.")
@Accordion
@Expose
Expand All @@ -20,4 +15,14 @@ public class WestVillageConfig {
@Accordion
@Expose
public VerminHighlightConfig verminHighlight = new VerminHighlightConfig();

@ConfigOption(name = "Gunther's Race", desc = "")
@Accordion
@Expose
public GunthersRaceConfig gunthersRace = new GunthersRaceConfig();

@ConfigOption(name = "Kloon Hacking", desc = "")
@Accordion
@Expose
public KloonHackingConfig hacking = new KloonHackingConfig();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package at.hannibal2.skyhanni.data.jsonobjects.repo

import at.hannibal2.skyhanni.utils.LorenzVec
import com.google.gson.annotations.Expose

data class RiftWoodenButtonsJson(
@Expose val houses: Map<String, List<ButtonSpots>>
)

data class ButtonSpots(
@Expose val position: LorenzVec,
@Expose val buttons: List<LorenzVec>
)
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ enum class GraphNodeTag(

// Rift
RIFT_ENIGMA("rift_enigma", LorenzColor.DARK_PURPLE, "Enigma Soul", "Enigma Souls in the Rift.", onlyIsland = IslandType.THE_RIFT),
RIFT_BUTTONS_QUEST("rift_buttons_quest", LorenzColor.LIGHT_PURPLE, "Wooden Buttons", "A spot to hit wooden buttons for the Dreadfarm Enigma Soul.", onlyIsland = IslandType.THE_RIFT),
RIFT_EYE("rift_eye", LorenzColor.DARK_RED, "Rift Eye", "An Eye in the Rift to teleport to.", onlyIsland = IslandType.THE_RIFT),
RIFT_MONTEZUMA(
"rift_montezuma",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,10 +246,13 @@ object PowderMiningChatFilter {
* REGEX-TEST: §r§a❈ Flawed Amethyst Gemstone §r§8x4
* REGEX-TEST: §r§9⸕ Fine Amber Gemstone
* REGEX-TEST: §r§5⸕ Flawless Amber Gemstone
* REGEX-TEST: §r§f❁ Rough Jasper Gemstone §r§8x24
* REGEX-TEST: §r§a❁ Flawed Jasper Gemstone
*/
@Suppress("MaxLineLength")
private val gemstonePattern by patternGroup.pattern(
"reward.gemstone",
"§r§[fa9][❤❈☘⸕✎✧] (?<tier>Rough|Flawed|Fine|Flawless) (?<gem>Ruby|Amethyst|Jade|Amber|Sapphire|Topaz) Gemstone( §r§8x(?<amount>[\\d,]+))?",
"§r§[fa9][❤❈☘⸕✎✧] (?<tier>Rough|Flawed|Fine|Flawless) (?<gem>Ruby|Amethyst|Jade|Amber|Sapphire|Topaz|Jasper) Gemstone( §r§8x(?<amount>[\\d,]+))?",
)

@Suppress("CyclomaticComplexMethod")
Expand Down Expand Up @@ -381,6 +384,7 @@ object PowderMiningChatFilter {
"amethyst" -> gemstoneConfig.amethystGemstones
"jade" -> gemstoneConfig.jadeGemstones
"topaz" -> gemstoneConfig.topazGemstones
"jasper" -> gemstoneConfig.jasperGemstones
// Failure case that should never be reached
else -> return "no_filter"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ enum class FortuneStats(
GEMSTONE("§2Tool gemstone", "§7§2Fortune from gemstones on your tool"),
FFD("§2Farming for Dummies", "§7§2Fortune for each applied book\n§2You get 1☘ per applied book"),
COUNTER("§2Logarithmic Counter", "§7§2Fortune from increasing crop counter\n§2You get 16☘ per digit - 4"),
COLLECTION("§2Collection Analyst", "§7§2Fortune from increasing crop collection\n§2You get 8☘ per digit - 4"),
COLLECTION("§2Collection Analysis", "§7§2Fortune from increasing crop collection\n§2You get 8☘ per digit - 4"),
HARVESTING("§2Harvesting Enchantment", "§7§2Fortune for each enchantment level\n§2You get 12.5☘ per level"),
SUNDER("§2Sunder Enchantment", "§7§2Fortune for each enchantment level\n§2You get 12.5☘ per level"),
CULTIVATING("§2Cultivating Enchantment", "§7§2Fortune for each enchantment level\n§2You get 2☘ per level"),
Expand Down
11 changes: 10 additions & 1 deletion src/main/java/at/hannibal2/skyhanni/features/rift/RiftAPI.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,25 @@ object RiftAPI {

val farmingTool by lazy { "FARMING_WAND".asInternalName() }

private val blowgun by lazy { "BERBERIS_BLOWGUN".asInternalName() }

val ItemStack?.isBlowgun: Boolean
get() = this?.getInternalName() == blowgun

fun ItemStack.motesNpcPrice(): Double? {
val baseMotes = motesPrice[getInternalName()] ?: return null
val burgerStacks = config.motes.burgerStacks
val pricePer = baseMotes + (burgerStacks * 5) * baseMotes / 100
return pricePer * stackSize
}

var inRiftRace = false
var trackingButtons = false
var allButtonsHit = false

fun inLivingCave() = LorenzUtils.skyBlockArea == "Living Cave"
fun inLivingStillness() = LorenzUtils.skyBlockArea == "Living Stillness"
fun inStillgoreChateau() = LorenzUtils.skyBlockArea.let { it == "Stillgore Château" || it == "Oubliette" }

fun inDreadfarm() = LorenzUtils.skyBlockArea == "Dreadfarm"
fun inWestVillage() = LorenzUtils.skyBlockArea.let { it == "West Village" || it == "Infested House" }
}
Loading

0 comments on commit e84ca4d

Please sign in to comment.