RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
ObjectReplacementEvent.java
1package com.osroyale.game.task.impl;
2
3import com.osroyale.game.task.Task;
4import com.osroyale.game.world.object.GameObject;
5
41
42public class ObjectReplacementEvent extends Task {
43
45 private final GameObject original;
46
48 private final int originalId;
49
51 private final int replacement;
52
54 private final Runnable onEndRun;
55
56 public ObjectReplacementEvent(GameObject original, int delay) {
57 super(false, delay);
58 this.original = original;
59 this.originalId = original.getId();
60 this.replacement = -1;
61 this.onEndRun = () -> {
62 };
63 }
64
65 public ObjectReplacementEvent(GameObject original, int replacement, int delay) {
66 super(false, delay);
67 this.original = original;
68 this.originalId = original.getId();
69 this.replacement = replacement;
70 this.onEndRun = () -> {
71 };
72 }
73
74 public ObjectReplacementEvent(GameObject original, int replacement, int delay, Runnable onEndRun) {
75 super(false, delay);
76 this.original = original;
77 this.originalId = original.getId();
78 this.replacement = replacement;
79 this.onEndRun = onEndRun;
80 }
81
82 @Override
83 protected void onSchedule() {
84 if (replacement == -1) {
85 original.unregister();
86 return;
87 }
88 original.transform(replacement);
89 }
90
91 @Override
92 public void execute() {
93 cancel();
94 }
95
96 @Override
97 protected void onCancel(boolean logout) {
98 if (replacement == -1) {
99 original.register();
100 } else {
101 original.transform(originalId);
102 }
103
104 onEndRun.run();
105 }
106}
synchronized final void cancel()
Definition Task.java:147
Task(boolean instant, int delay)
Definition Task.java:75