RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
BloodChestEvent.java
1
package
com.osroyale.content.bloodmoney;
2
3
import
com.osroyale.game.task.Task;
4
import
com.osroyale.game.world.World;
5
6
import
java.util.Map;
7
import
java.util.NavigableMap;
8
import
java.util.TreeMap;
9
import
java.util.concurrent.TimeUnit;
10
37
38
public
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
() {
56
if
(!
BloodMoneyChest
.
active
) {
57
if
(
BloodMoneyChest
.
stopwatch
.elapsedTime(TimeUnit.HOURS) >= 4) {
58
BloodMoneyChest
.
spawn
();
59
BloodMoneyChest
.
stopwatch
.reset();
60
}
61
return
;
62
}
63
64
double
hoursPassed =
BloodMoneyChest
.
stopwatch
.elapsedTime(TimeUnit.HOURS);
65
66
if
(hoursPassed >= 4) {
67
BloodMoneyChest
.
finish
(
false
);
68
BloodMoneyChest
.
stopwatch
.reset();
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
}
com.osroyale.content.bloodmoney.BloodChestEvent.execute
void execute()
Definition
BloodChestEvent.java:55
com.osroyale.content.bloodmoney.BloodMoneyChest
Definition
BloodMoneyChest.java:52
com.osroyale.content.bloodmoney.BloodMoneyChest.active
static boolean active
Definition
BloodMoneyChest.java:54
com.osroyale.content.bloodmoney.BloodMoneyChest.finish
static void finish(boolean unlocked)
Definition
BloodMoneyChest.java:91
com.osroyale.content.bloodmoney.BloodMoneyChest.stopwatch
static final Stopwatch stopwatch
Definition
BloodMoneyChest.java:69
com.osroyale.content.bloodmoney.BloodMoneyChest.spawn
static void spawn()
Definition
BloodMoneyChest.java:72
com.osroyale.game.task.Task.Task
Task(boolean instant, int delay)
Definition
Task.java:75
com.osroyale.game.world.World
Definition
World.java:83
com.osroyale.game.world.World.sendMessage
static void sendMessage(String... messages)
Definition
World.java:433