RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
BloodChestEvent.java
1package com.osroyale.content.bloodmoney;
2
3import com.osroyale.game.task.Task;
4import com.osroyale.game.world.World;
5
6import java.util.Map;
7import java.util.NavigableMap;
8import java.util.TreeMap;
9import java.util.concurrent.TimeUnit;
10
37
38public class BloodChestEvent extends Task {
39
41
42 private NavigableMap<Double, String> timeToMessage;
43
44 public BloodChestEvent() {
45 super(100);
46 timeToMessage = new TreeMap<>();
47 timeToMessage.put(1.0, "<icon=0><col=FF0000> Blood Money Chest will vanish in 1 hour!");
48 timeToMessage.put(0.5, "<icon=0><col=FF0000> Blood Money Chest will vanish in 30 minutes!");
49 timeToMessage.put(0.25, "<icon=0><col=FF0000> Blood Money Chest will vanish in 15 minutes!");
50 timeToMessage.put(0.0833, "<icon=0><col=FF0000> Blood Money Chest will vanish in 5 minutes!");
51 }
52
53
54 @Override
55 public void execute() {
57 if (BloodMoneyChest.stopwatch.elapsedTime(TimeUnit.HOURS) >= 4) {
60 }
61 return;
62 }
63
64 double hoursPassed = BloodMoneyChest.stopwatch.elapsedTime(TimeUnit.HOURS);
65
66 if (hoursPassed >= 4) {
69 } else {
70 double hoursRemaining = 4 - hoursPassed;
71 Map.Entry<Double, String> messageEntry = timeToMessage.floorEntry(hoursRemaining);
72 if (messageEntry != null && hoursRemaining <= messageEntry.getKey()) {
73 String message = messageEntry.getValue();
74 World.sendMessage(message);
75 System.out.println("Sent message: " + message);
76 timeToMessage.remove(messageEntry.getKey());
77 }
78 }
79 }
80}
Task(boolean instant, int delay)
Definition Task.java:75
static void sendMessage(String... messages)
Definition World.java:433