Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,13 @@ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig
newValue -> config.mining.glacite.fossilSolver = newValue)
.controller(ConfigUtils.createBooleanController())
.build())
.option(Option.<Boolean>createBuilder()
.name(Component.translatable("skyblocker.config.mining.glacite.solveFossilMuncher"))
.binding(defaults.mining.glacite.solveFossilMuncher,
() -> config.mining.glacite.solveFossilMuncher,
newValue -> config.mining.glacite.solveFossilMuncher = newValue)
.controller(ConfigUtils.createBooleanController())
.build())
.option(Option.<Boolean>createBuilder()
.name(Component.translatable("skyblocker.config.mining.glacite.enableCorpseFinder"))
.description(Component.translatable("skyblocker.config.mining.glacite.enableCorpseFinder.@Tooltip"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,8 @@ public static class Glacite {

public boolean fossilSolver = true;

public boolean solveFossilMuncher = true;

public boolean enableCorpseFinder = true;

public boolean enableParsingChatCorpseFinder = true;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package de.hysky.skyblocker.skyblock.dwarven.fossil;

import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.utils.chat.ChatFilterResult;
import de.hysky.skyblocker.utils.chat.ChatPatternListener;
import net.minecraft.client.Minecraft;
import net.minecraft.network.chat.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Map;
import java.util.regex.Matcher;

public class FossilMuncher extends ChatPatternListener {
private static final Logger LOGGER = LoggerFactory.getLogger(FossilMuncher.class);

private static final Map<String, String> ANSWERS = Map.of(
"lived underground and dug tunnels", "Claw Fossil",
"had a really fancy tail", "Clubbed Fossil",
"was the king of his kind", "Footprint Fossil",
"lived underwater", "Helix Fossil",
"was kinda spiny u know", "Spine Fossil",
"lived in herds and was quite woolly", "Tusk Fossil",
"is pretty rough to look at", "Ugly Fossil",
"had a really pointy beak", "Webbed Fossil"
);

public FossilMuncher() {
super("^\\[NPC] Fossil Muncher: the fossil i want ([a-zA-Z, \\-]*)$");
}

@Override
public ChatFilterResult state() {
return SkyblockerConfigManager.get().mining.glacite.solveFossilMuncher ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
}

@Override
public boolean onMatch(Component message, Matcher matcher) {
Minecraft client = Minecraft.getInstance();
if (client.player == null) return false;
LOGGER.info("Original Fossil Muncher message: {}", message.getString());
String riddle = matcher.group(1);
String answer = ANSWERS.getOrDefault(riddle, riddle);
client.player.sendSystemMessage(Component.nullToEmpty("§e[NPC] §6Fossil Muncher§f: " + answer));
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import de.hysky.skyblocker.skyblock.chat.filters.ShowOffFilter;
import de.hysky.skyblocker.skyblock.chat.filters.SkyMallFilter;
import de.hysky.skyblocker.skyblock.chat.filters.SpiritSceptreFilter;
import de.hysky.skyblocker.skyblock.dwarven.fossil.FossilMuncher;
import de.hysky.skyblocker.skyblock.slayers.features.SlayerMinibossSpawnFilter;
import de.hysky.skyblocker.skyblock.chat.filters.TeleportPadFilter;
import de.hysky.skyblocker.skyblock.dungeon.Reparty;
Expand Down Expand Up @@ -63,6 +64,7 @@ static void init() {
// Features
new Fetchur(),
new Puzzler(),
new FossilMuncher(),
new Reparty(),
new TreasureHunter(),
new HungryHiker(),
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/assets/skyblocker/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -940,6 +940,7 @@
"skyblocker.config.mining.glacite.fossilSolver.toolTip.noFossilFound": "No fossil found",
"skyblocker.config.mining.glacite.fossilSolver.toolTip.possiblePatterns": "Possible Patterns: ",
"skyblocker.config.mining.glacite.fossilSolver.toolTip.probability": "Probability: ",
"skyblocker.config.mining.glacite.solveFossilMuncher": "Solve Fossil Muncher",

"skyblocker.config.mining.pickobulusHelper": "Pickobulus Helper",
"skyblocker.config.mining.pickobulusHelper.enable": "Enable Pickobulus Helper",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package de.hysky.skyblocker.skyblock.dwarven.fossil;

import de.hysky.skyblocker.utils.chat.ChatPatternListenerTest;
import org.junit.jupiter.api.Test;

class FossilMuncherTest extends ChatPatternListenerTest<FossilMuncher> {
FossilMuncherTest() {
super(new FossilMuncher());
}

@Test
public void patternCaptures() {
assertGroup("[NPC] Fossil Muncher: the fossil i want is a hint", 1, "is a hint");
}
}
Loading