|
1 | | -package net.swofty.type.thepark.events; |
| 1 | +package net.swofty.type.thepark; |
2 | 2 |
|
3 | 3 | import net.minestom.server.MinecraftServer; |
4 | 4 | import net.minestom.server.coordinate.Pos; |
5 | 5 | import net.minestom.server.entity.Entity; |
6 | 6 | import net.minestom.server.entity.attribute.Attribute; |
7 | | -import net.minestom.server.event.player.PlayerMoveEvent; |
8 | 7 | import net.minestom.server.instance.Instance; |
9 | 8 | import net.minestom.server.instance.block.Block; |
10 | 9 | import net.minestom.server.potion.Potion; |
11 | 10 | import net.minestom.server.potion.PotionEffect; |
12 | 11 | import net.minestom.server.timer.ExecutionType; |
13 | 12 | import net.minestom.server.timer.TaskSchedule; |
14 | 13 | 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; |
18 | 14 | import net.swofty.type.generic.utility.MathUtility; |
| 15 | +import net.swofty.type.skyblockgeneric.SkyBlockGenericLoader; |
19 | 16 | import net.swofty.type.skyblockgeneric.mission.MissionData; |
20 | 17 | import net.swofty.type.skyblockgeneric.mission.missions.thepark.darkthicket.MissionSneakUpOnRyan; |
21 | 18 | import net.swofty.type.skyblockgeneric.user.SkyBlockPlayer; |
|
25 | 22 | import java.util.Map; |
26 | 23 | import java.util.UUID; |
27 | 24 |
|
28 | | -public class ActionPlayerMove implements HypixelEventClass { |
| 25 | +public class RyanScene { |
29 | 26 |
|
30 | | - private final Map<UUID, Long> lastTriggered = new HashMap<>(); |
| 27 | + private static final Map<UUID, Long> lastTriggered = new HashMap<>(); |
31 | 28 |
|
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 | + } |
35 | 36 |
|
| 37 | + private static void handlePlayer(SkyBlockPlayer player) { |
36 | 38 | if (lastTriggered.containsKey(player.getUuid())) { |
37 | 39 | long lastTime = lastTriggered.get(player.getUuid()); |
38 | 40 | if (System.currentTimeMillis() - lastTime < 5000) { |
@@ -96,7 +98,7 @@ public void onMove(PlayerMoveEvent event) { |
96 | 98 | } |
97 | 99 | } |
98 | 100 |
|
99 | | - private boolean isInView(Instance instance, Pos viewer, SkyBlockPlayer player) { |
| 101 | + private static boolean isInView(Instance instance, Pos viewer, SkyBlockPlayer player) { |
100 | 102 | Pos targetPos = player.getPosition(); |
101 | 103 |
|
102 | 104 | double dx = targetPos.x() - viewer.x(); |
|
0 commit comments