Skip to content

Commit 8e0f9b0

Browse files
v0.2.1 Add plugin-wide task cancellation
1 parent 676ed0c commit 8e0f9b0

4 files changed

Lines changed: 35 additions & 1 deletion

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ plugins {
33
}
44

55
group 'com.tcoded'
6-
version '0.2.0'
6+
version '0.2.1'
77

88
java {
99
sourceCompatibility = JavaVersion.VERSION_17

src/main/java/com/tcoded/folialib/impl/FoliaImplementation.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
import com.tcoded.folialib.wrapper.task.WrappedFoliaTask;
88
import io.papermc.paper.threadedregions.scheduler.AsyncScheduler;
99
import io.papermc.paper.threadedregions.scheduler.GlobalRegionScheduler;
10+
import org.bukkit.Chunk;
1011
import org.bukkit.Location;
12+
import org.bukkit.World;
1113
import org.bukkit.entity.Entity;
1214
import org.bukkit.plugin.java.JavaPlugin;
1315

@@ -181,4 +183,15 @@ public WrappedTask runAtEntityTimer(Entity entity, Runnable runnable, long delay
181183
)
182184
);
183185
}
186+
187+
@Override
188+
public void cancelTask(WrappedTask task) {
189+
task.cancel();
190+
}
191+
192+
@Override
193+
public void cancelAllTasks() {
194+
this.globalRegionScheduler.cancelTasks(plugin);
195+
this.asyncScheduler.cancelTasks(plugin);
196+
}
184197
}

src/main/java/com/tcoded/folialib/impl/ServerImplementation.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,4 +166,15 @@ public interface ServerImplementation {
166166
* @return WrappedTask instance
167167
*/
168168
WrappedTask runAtEntityTimer(Entity entity, Runnable runnable, long delay, long period, TimeUnit unit);
169+
170+
/**
171+
* Cancel a task
172+
* @param task Task to cancel
173+
*/
174+
void cancelTask(WrappedTask task);
175+
176+
/**
177+
* Cancel all tasks
178+
*/
179+
void cancelAllTasks();
169180
}

src/main/java/com/tcoded/folialib/impl/SpigotImplementation.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,4 +157,14 @@ public WrappedTask runAtEntityTimer(Entity entity, Runnable runnable, long delay
157157
TimeConverter.toTicks(period, unit))
158158
);
159159
}
160+
161+
@Override
162+
public void cancelTask(WrappedTask task) {
163+
task.cancel();
164+
}
165+
166+
@Override
167+
public void cancelAllTasks() {
168+
this.scheduler.cancelTasks(plugin);
169+
}
160170
}

0 commit comments

Comments
 (0)