aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/RichPresenceManager.java34
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/terminal/FeatureSimonSaysSolver.java8
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorNecron.java2
3 files changed, 29 insertions, 15 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/RichPresenceManager.java b/src/main/java/kr/syeyoung/dungeonsguide/RichPresenceManager.java
index 04cb96ba..7a2f43e1 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/RichPresenceManager.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/RichPresenceManager.java
@@ -21,10 +21,11 @@ import java.time.Instant;
public class RichPresenceManager implements Runnable {
public static RichPresenceManager INSTANCE = new RichPresenceManager();
+ private Thread t = new Thread(this);
+
public RichPresenceManager() {
- setup();
- new Thread(this).start();
+ t.start();
Runtime.getRuntime().addShutdownHook(new Thread(DiscordRPC::discordShutdown));
}
public void setup() {
@@ -46,10 +47,12 @@ public class RichPresenceManager implements Runnable {
.payload(new JSONObject().put("token", joinSecret).toString()));
}).setErroredEventHandler((errorCode, message) -> {
System.out.println("ERROR! "+errorCode+ " - "+message);
- setup();
+ t.interrupt();
+ (t = new Thread(this)).start();
}).setDisconnectedEventHandler((errorCode, message) -> {
System.out.println("ERROR! "+errorCode+ " - "+message);
- setup();
+ t.interrupt();
+ (t = new Thread(this)).start();
}).build(), true);
}
@@ -99,15 +102,18 @@ public class RichPresenceManager implements Runnable {
}
@Override
public void run() {
- while(true) {
- try {
- DiscordRPC.discordRunCallbacks();
- if (skyblockStatus.isOnSkyblock() && !lastLoc.equalsIgnoreCase(skyblockStatus.getDungeonName())) {
- lastLoc = skyblockStatus.getDungeonName()+"";
- }
- updatePresence();
- Thread.sleep(300L);
- } catch (Exception e) {e.printStackTrace();}
- }
+
+ try {
+ Thread.sleep(300L);
+ setup();
+ while(!Thread.interrupted()) {
+ DiscordRPC.discordRunCallbacks();
+ if (skyblockStatus.isOnSkyblock() && !lastLoc.equalsIgnoreCase(skyblockStatus.getDungeonName())) {
+ lastLoc = skyblockStatus.getDungeonName()+"";
+ }
+ updatePresence();
+ Thread.sleep(300L);
+ }
+ } catch (Exception e) {e.printStackTrace();}
}
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/terminal/FeatureSimonSaysSolver.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/terminal/FeatureSimonSaysSolver.java
index 6e7ef176..2f92873e 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/terminal/FeatureSimonSaysSolver.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/terminal/FeatureSimonSaysSolver.java
@@ -31,6 +31,12 @@ public class FeatureSimonSaysSolver extends SimpleFeature implements WorldRender
@Override
public void drawWorld(float partialTicks) {
if (!isEnabled()) return;
+ DungeonContext dc = ss.getContext();
+ if (dc == null) {
+ return;
+ }
+ if (!(dc.getBossfightProcessor() instanceof BossfightProcessorNecron)) return;
+ if (!dc.getBossfightProcessor().getCurrentPhase().equals("terminals")) return;
if (orderclick.size() >= 1)
RenderUtils.highlightBlock(orderclick.get(0), new Color(0, 255 ,255, 100), partialTicks, false);
@@ -46,6 +52,8 @@ public class FeatureSimonSaysSolver extends SimpleFeature implements WorldRender
return;
}
if (!(dc.getBossfightProcessor() instanceof BossfightProcessorNecron)) return;
+ if (!dc.getBossfightProcessor().getCurrentPhase().equals("terminals")) return;
+
World w = dc.getWorld();
if (wasButton && w.getBlockState(new BlockPos(309, 123, 291)).getBlock() == Blocks.air) {
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorNecron.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorNecron.java
index 9f24edf8..fbb2ebc2 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorNecron.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorNecron.java
@@ -33,7 +33,7 @@ public class BossfightProcessorNecron extends GeneralBossfightProcessor {
);
addPhase(PhaseData.builder()
.phase("fight-2")
- .signatureMsg("§r§4[BOSS] Necron§r§c: §r§cTHAT'S IT YOU HAVE DONE IT!§rr")
+ .signatureMsg("§r§4[BOSS] Necron§r§c: §r§cTHAT'S IT YOU HAVE DONE IT!§r")
.nextPhase("won").nextPhase("lost").build()
);
addPhase(PhaseData.builder()