Skip to content

Commit 66f069c

Browse files
committed
refactor: move Ryan behavior to RyanScene with a scheduler
1 parent 027b6bd commit 66f069c

2 files changed

Lines changed: 14 additions & 11 deletions

File tree

type.thepark/src/main/java/net/swofty/type/thepark/events/ActionPlayerMove.java renamed to type.thepark/src/main/java/net/swofty/type/thepark/RyanScene.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
1-
package net.swofty.type.thepark.events;
1+
package net.swofty.type.thepark;
22

33
import net.minestom.server.MinecraftServer;
44
import net.minestom.server.coordinate.Pos;
55
import net.minestom.server.entity.Entity;
66
import net.minestom.server.entity.attribute.Attribute;
7-
import net.minestom.server.event.player.PlayerMoveEvent;
87
import net.minestom.server.instance.Instance;
98
import net.minestom.server.instance.block.Block;
109
import net.minestom.server.potion.Potion;
1110
import net.minestom.server.potion.PotionEffect;
1211
import net.minestom.server.timer.ExecutionType;
1312
import net.minestom.server.timer.TaskSchedule;
1413
import net.swofty.type.generic.entity.npc.HypixelNPC;
15-
import net.swofty.type.generic.event.EventNodes;
16-
import net.swofty.type.generic.event.HypixelEvent;
17-
import net.swofty.type.generic.event.HypixelEventClass;
1814
import net.swofty.type.generic.utility.MathUtility;
15+
import net.swofty.type.skyblockgeneric.SkyBlockGenericLoader;
1916
import net.swofty.type.skyblockgeneric.mission.MissionData;
2017
import net.swofty.type.skyblockgeneric.mission.missions.thepark.darkthicket.MissionSneakUpOnRyan;
2118
import net.swofty.type.skyblockgeneric.user.SkyBlockPlayer;
@@ -25,14 +22,19 @@
2522
import java.util.Map;
2623
import java.util.UUID;
2724

28-
public class ActionPlayerMove implements HypixelEventClass {
25+
public class RyanScene {
2926

30-
private final Map<UUID, Long> lastTriggered = new HashMap<>();
27+
private static final Map<UUID, Long> lastTriggered = new HashMap<>();
3128

32-
@HypixelEvent(node = EventNodes.PLAYER, requireDataLoaded = false)
33-
public void onMove(PlayerMoveEvent event) {
34-
SkyBlockPlayer player = (SkyBlockPlayer) event.getPlayer();
29+
public static void init() {
30+
MinecraftServer.getSchedulerManager().scheduleTask(() -> {
31+
for (SkyBlockPlayer player : SkyBlockGenericLoader.getLoadedPlayers()) {
32+
handlePlayer(player);
33+
}
34+
}, TaskSchedule.seconds(1), TaskSchedule.tick(5));
35+
}
3536

37+
private static void handlePlayer(SkyBlockPlayer player) {
3638
if (lastTriggered.containsKey(player.getUuid())) {
3739
long lastTime = lastTriggered.get(player.getUuid());
3840
if (System.currentTimeMillis() - lastTime < 5000) {
@@ -96,7 +98,7 @@ public void onMove(PlayerMoveEvent event) {
9698
}
9799
}
98100

99-
private boolean isInView(Instance instance, Pos viewer, SkyBlockPlayer player) {
101+
private static boolean isInView(Instance instance, Pos viewer, SkyBlockPlayer player) {
100102
Pos targetPos = player.getPosition();
101103

102104
double dx = targetPos.x() - viewer.x();

type.thepark/src/main/java/net/swofty/type/thepark/TypeTheParkLoader.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ public void afterInitialize(MinecraftServer server) {
175175
}, ExecutionType.TICK_START);
176176

177177
TrialOfFire.init();
178+
RyanScene.init();
178179
}
179180

180181
private boolean shouldRenderTraps(SkyBlockPlayer player) {

0 commit comments

Comments
 (0)