From 37fcd4b717a50ec5991f87781174b2699c732747 Mon Sep 17 00:00:00 2001 From: syeyoung Date: Sat, 9 Oct 2021 18:57:39 +0900 Subject: - Precise color control for solvers --- .../impl/solvers/FeatureSolverBombdefuse.java | 30 ++++++++++++ .../features/impl/solvers/FeatureSolverBox.java | 57 ++++++++++++++++++++++ .../impl/solvers/FeatureSolverIcefill.java | 40 +++++++++++++++ .../features/impl/solvers/FeatureSolverKahoot.java | 35 +++++++++++++ .../features/impl/solvers/FeatureSolverRiddle.java | 35 +++++++++++++ .../impl/solvers/FeatureSolverSilverfish.java | 40 +++++++++++++++ .../impl/solvers/FeatureSolverTeleport.java | 39 +++++++++++++++ .../impl/solvers/FeatureSolverTictactoe.java | 39 +++++++++++++++ 8 files changed, 315 insertions(+) create mode 100644 src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverBombdefuse.java create mode 100644 src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverBox.java create mode 100644 src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverIcefill.java create mode 100644 src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverKahoot.java create mode 100644 src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverRiddle.java create mode 100644 src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverSilverfish.java create mode 100644 src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverTeleport.java create mode 100644 src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverTictactoe.java (limited to 'src/main/java/kr/syeyoung/dungeonsguide/features/impl') diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverBombdefuse.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverBombdefuse.java new file mode 100644 index 00000000..e9bf623b --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverBombdefuse.java @@ -0,0 +1,30 @@ +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2021 cyoung06 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package kr.syeyoung.dungeonsguide.features.impl.solvers; + +import kr.syeyoung.dungeonsguide.features.FeatureParameter; +import kr.syeyoung.dungeonsguide.features.SimpleFeature; +import org.lwjgl.input.Keyboard; + +public class FeatureSolverBombdefuse extends SimpleFeature { + public FeatureSolverBombdefuse() { + super("Solver.Floor 7+", "Bomb Defuse", "Communicates with others dg using key 'F' for solutions and displays it", "solver.bombdefuse"); + parameters.put("key", new FeatureParameter("key", "Key","Press to send solution in chat", Keyboard.KEY_NONE, "keybind")); + } +} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverBox.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverBox.java new file mode 100644 index 00000000..c4dcebf6 --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverBox.java @@ -0,0 +1,57 @@ +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2021 cyoung06 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package kr.syeyoung.dungeonsguide.features.impl.solvers; + +import kr.syeyoung.dungeonsguide.config.types.AColor; +import kr.syeyoung.dungeonsguide.features.FeatureParameter; +import kr.syeyoung.dungeonsguide.features.SimpleFeature; + +import java.util.LinkedHashMap; + +public class FeatureSolverBox extends SimpleFeature { + public FeatureSolverBox() { + super("Solver.Floor 3+", "Box (Advanced)", "Calculates solution for box puzzle room, and displays it to user", "solver.box"); + this.parameters = new LinkedHashMap<>(); + this.parameters.put("disableText", new FeatureParameter("disableText", "Box Puzzle Solver Disable text", "Disable 'Type recalc to recalculate solution' showing up on top left.\nYou can still type recalc to recalc solution after disabling this feature", false, "boolean")); + this.parameters.put("lineColor", new FeatureParameter("lineColor", "Line Color", "Color of the solution line", new AColor(0xFF00FF00, true), "acolor")); + this.parameters.put("lineWidth", new FeatureParameter("lineWidth", "Line Thickness", "Thickness of the solution line",1.0f, "float")); + + this.parameters.put("targetColor", new FeatureParameter("targetColor", "Target Color", "Color of the target button", new AColor(0x5500FFFF, true), "acolor")); + this.parameters.put("textColor1", new FeatureParameter("textColor1", "Text Color", "Color of the text (next step)", new AColor(0xFF00FF00, true), "acolor")); + this.parameters.put("textColor2", new FeatureParameter("textColor2", "Text Color", "Color of the text (others)", new AColor(0xFF000000, true), "acolor")); + } + public AColor getLineColor() { + return this.getParameter("lineColor").getValue(); + } + public float getLineWidth() { + return this.getParameter("lineWidth").getValue(); + } + public boolean disableText() { + return this.getParameter("disableText").getValue(); + } + public AColor getTargetColor() { + return this.getParameter("targetColor").getValue(); + } + public AColor getTextColor() { + return this.getParameter("textColor1").getValue(); + } + public AColor getTextColor2() { + return this.getParameter("textColor2").getValue(); + } +} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverIcefill.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverIcefill.java new file mode 100644 index 00000000..681e6b12 --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverIcefill.java @@ -0,0 +1,40 @@ +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2021 cyoung06 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package kr.syeyoung.dungeonsguide.features.impl.solvers; + +import kr.syeyoung.dungeonsguide.config.types.AColor; +import kr.syeyoung.dungeonsguide.features.FeatureParameter; +import kr.syeyoung.dungeonsguide.features.SimpleFeature; + +import java.util.LinkedHashMap; + +public class FeatureSolverIcefill extends SimpleFeature { + public FeatureSolverIcefill() { + super("Solver.Floor 3+", "Icepath (Advanced)", "Calculates solution for icepath puzzle and displays it to user", "solver.icepath"); + this.parameters = new LinkedHashMap<>(); + this.parameters.put("lineColor", new FeatureParameter("lineColor", "Line Color", "Color of the solution line", new AColor(0xFF00FF00, true), "acolor")); + this.parameters.put("lineWidth", new FeatureParameter("lineWidth", "Line Thickness", "Thickness of the solution line",1.0f, "float")); + } + public AColor getLineColor() { + return this.getParameter("lineColor").getValue(); + } + public float getLineWidth() { + return this.getParameter("lineWidth").getValue(); + } +} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverKahoot.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverKahoot.java new file mode 100644 index 00000000..6055c12b --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverKahoot.java @@ -0,0 +1,35 @@ +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2021 cyoung06 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package kr.syeyoung.dungeonsguide.features.impl.solvers; + +import kr.syeyoung.dungeonsguide.config.types.AColor; +import kr.syeyoung.dungeonsguide.features.FeatureParameter; +import kr.syeyoung.dungeonsguide.features.SimpleFeature; + +public class FeatureSolverKahoot extends SimpleFeature { + public FeatureSolverKahoot() { + super("Solver.Floor 4+", "Quiz", "Highlights the correct solution for trivia puzzle", "solver.trivia"); + + this.parameters.put("targetColor", new FeatureParameter("targetColor", "Target Color", "Color of the solution box", new AColor(0,255,0,50), "acolor")); + } + + public AColor getTargetColor() { + return this.getParameter("targetColor").getValue(); + } +} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverRiddle.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverRiddle.java new file mode 100644 index 00000000..23bc5a0c --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverRiddle.java @@ -0,0 +1,35 @@ +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2021 cyoung06 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package kr.syeyoung.dungeonsguide.features.impl.solvers; + +import kr.syeyoung.dungeonsguide.config.types.AColor; +import kr.syeyoung.dungeonsguide.features.FeatureParameter; +import kr.syeyoung.dungeonsguide.features.SimpleFeature; + +public class FeatureSolverRiddle extends SimpleFeature { + public FeatureSolverRiddle() { + super("Solver.Any Floor", "Riddle", "Highlights the correct box after clicking on all 3 weirdos", "solver.riddle"); + + this.parameters.put("targetColor", new FeatureParameter("targetColor", "Target Color", "Color of the solution box", new AColor(0,255,0,50), "acolor")); + } + + public AColor getTargetColor() { + return this.getParameter("targetColor").getValue(); + } +} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverSilverfish.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverSilverfish.java new file mode 100644 index 00000000..31a4d0e6 --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverSilverfish.java @@ -0,0 +1,40 @@ +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2021 cyoung06 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package kr.syeyoung.dungeonsguide.features.impl.solvers; + +import kr.syeyoung.dungeonsguide.config.types.AColor; +import kr.syeyoung.dungeonsguide.features.FeatureParameter; +import kr.syeyoung.dungeonsguide.features.SimpleFeature; + +import java.util.LinkedHashMap; + +public class FeatureSolverSilverfish extends SimpleFeature { + public FeatureSolverSilverfish() { + super("Solver.Floor 3+", "Silverfish (Advanced)", "Actively calculates solution for silverfish puzzle and displays it to user", "solver.silverfish"); + this.parameters = new LinkedHashMap<>(); + this.parameters.put("lineColor", new FeatureParameter("lineColor", "Line Color", "Color of the solution line", new AColor(0xFF00FF00, true), "acolor")); + this.parameters.put("lineWidth", new FeatureParameter("lineWidth", "Line Thickness", "Thickness of the solution line",1.0f, "float")); + } + public AColor getLineColor() { + return this.getParameter("lineColor").getValue(); + } + public float getLineWidth() { + return this.getParameter("lineWidth").getValue(); + } +} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverTeleport.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverTeleport.java new file mode 100644 index 00000000..c7e42516 --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverTeleport.java @@ -0,0 +1,39 @@ +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2021 cyoung06 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package kr.syeyoung.dungeonsguide.features.impl.solvers; + +import kr.syeyoung.dungeonsguide.config.types.AColor; +import kr.syeyoung.dungeonsguide.features.FeatureParameter; +import kr.syeyoung.dungeonsguide.features.SimpleFeature; + +public class FeatureSolverTeleport extends SimpleFeature { + public FeatureSolverTeleport() { + super("Solver.Any Floor", "Teleport", "Shows teleport pads you've visited in a teleport maze room", "solver.teleport"); + + this.parameters.put("targetColor", new FeatureParameter("targetColor", "Solution Color", "Color of the solution teleport pad", new AColor(0,255,0,100), "acolor")); + this.parameters.put("targetColor2", new FeatureParameter("targetColor2", "Not-Solution Color", "Color of the solution teleport pads you've been to", new AColor(255,0,0,100), "acolor")); + } + + public AColor getTargetColor() { + return this.getParameter("targetColor").getValue(); + } + public AColor getTargetColor2() { + return this.getParameter("targetColor2").getValue(); + } +} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverTictactoe.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverTictactoe.java new file mode 100644 index 00000000..68ca4cb5 --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/solvers/FeatureSolverTictactoe.java @@ -0,0 +1,39 @@ +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2021 cyoung06 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package kr.syeyoung.dungeonsguide.features.impl.solvers; + +import kr.syeyoung.dungeonsguide.config.types.AColor; +import kr.syeyoung.dungeonsguide.features.FeatureParameter; +import kr.syeyoung.dungeonsguide.features.SimpleFeature; + +public class FeatureSolverTictactoe extends SimpleFeature { + public FeatureSolverTictactoe() { + super("Solver.Any Floor", "Tictactoe", "Shows the best move that could be taken by player in the tictactoe room", "solver.tictactoe"); + + this.parameters.put("targetColor", new FeatureParameter("targetColor", "Target Color", "Color of the solution box during your turn", new AColor(0,255,255,50), "acolor")); + this.parameters.put("targetColor2", new FeatureParameter("targetColor", "Target Color", "Color of the solution box during enemy turn", new AColor(255,201,0,50), "acolor")); + } + + public AColor getTargetColor() { + return this.getParameter("targetColor").getValue(); + } + public AColor getTargetColor2() { + return this.getParameter("targetColor2").getValue(); + } +} -- cgit