aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java
diff options
context:
space:
mode:
authorCuzImClicks <bruno778.whiteelfie@gmail.com>2021-04-30 08:24:42 +0200
committerCuzImClicks <bruno778.whiteelfie@gmail.com>2021-04-30 08:24:42 +0200
commita5572571f43ab3bd89c08678bba3050672be7615 (patch)
tree5169f378416544c0436186b5770d0d88fd26c981 /src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java
parent09622e51e46d6772e9017bfa9bb544616ebba8b7 (diff)
parentd79def85f593605e0ac2ff59232449b4a8446bb8 (diff)
downloadSkyblockMod-a5572571f43ab3bd89c08678bba3050672be7615.tar.gz
SkyblockMod-a5572571f43ab3bd89c08678bba3050672be7615.tar.bz2
SkyblockMod-a5572571f43ab3bd89c08678bba3050672be7615.zip
Merge branch 'development' of https://github.com/bowser0000/SkyblockMod into development
Diffstat (limited to 'src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java')
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java71
1 files changed, 45 insertions, 26 deletions
diff --git a/src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java
index 8f7de95..500c8eb 100644
--- a/src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java
+++ b/src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java
@@ -1,5 +1,6 @@
package me.Danker.features.puzzlesolvers;
+import com.google.gson.JsonArray;
import me.Danker.DankersSkyblockMod;
import me.Danker.commands.ToggleCommand;
import me.Danker.utils.Utils;
@@ -16,6 +17,7 @@ import java.util.List;
public class ThreeManSolver {
+ // Hard coded solutions if api call fails
static String[] riddleSolutions = {"The reward is not in my chest!", "At least one of them is lying, and the reward is not in",
"My chest doesn't have the reward. We are all telling the truth", "My chest has the reward and I'm telling the truth",
"The reward isn't in any of our chests", "Both of them are telling the truth."};
@@ -33,33 +35,22 @@ public class ThreeManSolver {
if (!Utils.inDungeons) return;
if (ToggleCommand.threeManToggled && message.contains("[NPC]")) {
- for (String solution : riddleSolutions) {
- if (message.contains(solution)) {
- Minecraft mc = Minecraft.getMinecraft();
- String npcName = message.substring(message.indexOf("]") + 2, message.indexOf(":"));
- mc.thePlayer.addChatMessage(new ChatComponentText(DankersSkyblockMod.ANSWER_COLOUR + EnumChatFormatting.BOLD + StringUtils.stripControlCodes(npcName) + DankersSkyblockMod.MAIN_COLOUR + " has the blessing."));
- if (riddleChest == null) {
- List<Entity> entities = mc.theWorld.getLoadedEntityList();
- for (Entity entity : entities) {
- if (entity == null || !entity.hasCustomName()) continue;
- if (entity.getCustomNameTag().contains(npcName)) {
- BlockPos npcLocation = new BlockPos(entity.posX, 69, entity.posZ);
- if (mc.theWorld.getBlockState(npcLocation.north()).getBlock() == Blocks.chest) {
- riddleChest = npcLocation.north();
- } else if (mc.theWorld.getBlockState(npcLocation.east()).getBlock() == Blocks.chest) {
- riddleChest = npcLocation.east();
- } else if (mc.theWorld.getBlockState(npcLocation.south()).getBlock() == Blocks.chest) {
- riddleChest = npcLocation.south();
- } else if (mc.theWorld.getBlockState(npcLocation.west()).getBlock() == Blocks.chest) {
- riddleChest = npcLocation.west();
- } else {
- System.out.print("Could not find correct riddle chest.");
- }
- break;
- }
- }
+ if (DankersSkyblockMod.data != null && DankersSkyblockMod.data.has("threeman")) {
+ JsonArray riddleSolutions = DankersSkyblockMod.data.get("threeman").getAsJsonArray();
+
+ for (int i = 0; i < riddleSolutions.size(); i++) {
+ String solution = riddleSolutions.get(i).getAsString();
+ if (message.contains(solution)) {
+ answer(message);
+ break;
+ }
+ }
+ } else {
+ for (String solution : riddleSolutions) {
+ if (message.contains(solution)) {
+ answer(message);
+ break;
}
- break;
}
}
}
@@ -72,4 +63,32 @@ public class ThreeManSolver {
}
}
+ public static void answer(String message) {
+ Minecraft mc = Minecraft.getMinecraft();
+ String npcName = message.substring(message.indexOf("]") + 2, message.indexOf(":"));
+ mc.thePlayer.addChatMessage(new ChatComponentText(DankersSkyblockMod.ANSWER_COLOUR + EnumChatFormatting.BOLD + StringUtils.stripControlCodes(npcName) + DankersSkyblockMod.MAIN_COLOUR + " has the blessing."));
+
+ if (riddleChest == null) {
+ List<Entity> entities = mc.theWorld.getLoadedEntityList();
+ for (Entity entity : entities) {
+ if (entity == null || !entity.hasCustomName()) continue;
+ if (entity.getCustomNameTag().contains(npcName)) {
+ BlockPos npcLocation = new BlockPos(entity.posX, 69, entity.posZ);
+ if (mc.theWorld.getBlockState(npcLocation.north()).getBlock() == Blocks.chest) {
+ riddleChest = npcLocation.north();
+ } else if (mc.theWorld.getBlockState(npcLocation.east()).getBlock() == Blocks.chest) {
+ riddleChest = npcLocation.east();
+ } else if (mc.theWorld.getBlockState(npcLocation.south()).getBlock() == Blocks.chest) {
+ riddleChest = npcLocation.south();
+ } else if (mc.theWorld.getBlockState(npcLocation.west()).getBlock() == Blocks.chest) {
+ riddleChest = npcLocation.west();
+ } else {
+ System.out.print("Could not find correct riddle chest.");
+ }
+ break;
+ }
+ }
+ }
+ }
+
}