Skip to content
This repository was archived by the owner on May 26, 2024. It is now read-only.

Commit 7008c91

Browse files
committed
add isSync
1 parent d269c41 commit 7008c91

File tree

7 files changed

+55
-32
lines changed

7 files changed

+55
-32
lines changed

.idea/workspace.xml

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle.kts

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

66
group = "fr.euphyllia"
7-
version = "1.1.6"
7+
version = "1.1.7"
88

99
repositories {
1010
mavenCentral()

src/main/java/fr/euphyllia/energie/executors/ExecutorsSchedulerTask.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,9 @@ public void cancel() {
3535
public int getTaskId() {
3636
return this.executors.hashCode();
3737
}
38+
39+
@Override
40+
public boolean isSync() {
41+
return false;
42+
}
3843
}

src/main/java/fr/euphyllia/energie/folia/FoliaScheduler.java

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,22 @@ public FoliaScheduler(Plugin pluginBukkit) {
4545
periodTicks = 1;
4646
}
4747
ScheduledTask scheduledTask;
48+
boolean isSynchronous = !schedulerType.equals(SchedulerType.ASYNC);
4849
if (schedulerType.equals(SchedulerType.ASYNC)) {
4950
scheduledTask = Bukkit.getAsyncScheduler().runAtFixedRate(this.plugin, task -> {
50-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
51+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, isSynchronous);
5152
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
5253
callBack.run(schedulerTask);
5354
}, initialDelayTicks * 50, periodTicks * 50, TimeUnit.MILLISECONDS);
5455

5556
} else {
5657
scheduledTask = Bukkit.getGlobalRegionScheduler().runAtFixedRate(this.plugin, task -> {
57-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
58+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, isSynchronous);
5859
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
5960
callBack.run(schedulerTask);
6061
}, initialDelayTicks, periodTicks);
6162
}
62-
return new FoliaSchedulerTask(scheduledTask);
63+
return new FoliaSchedulerTask(scheduledTask, isSynchronous);
6364
}
6465

6566
@Override
@@ -74,11 +75,11 @@ public FoliaScheduler(Plugin pluginBukkit) {
7475
periodTicks = 1;
7576
}
7677
ScheduledTask scheduledTask = Bukkit.getRegionScheduler().runAtFixedRate(this.plugin, worldChunk.world(), worldChunk.chunkX(), worldChunk.chunkZ(), task -> {
77-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
78+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, true);
7879
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
7980
callBack.run(schedulerTask);
8081
}, initialDelayTicks, periodTicks);
81-
return new FoliaSchedulerTask(scheduledTask);
82+
return new FoliaSchedulerTask(scheduledTask, true);
8283
}
8384
}
8485

@@ -94,11 +95,11 @@ public FoliaScheduler(Plugin pluginBukkit) {
9495
periodTicks = 1;
9596
}
9697
ScheduledTask scheduledTask = Bukkit.getRegionScheduler().runAtFixedRate(this.plugin, location, task -> {
97-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
98+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, true);
9899
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
99100
callBack.run(schedulerTask);
100101
}, initialDelayTicks, periodTicks);
101-
return new FoliaSchedulerTask(scheduledTask);
102+
return new FoliaSchedulerTask(scheduledTask, true);
102103
}
103104
}
104105

@@ -114,11 +115,11 @@ public FoliaScheduler(Plugin pluginBukkit) {
114115
periodTicks = 1;
115116
}
116117
ScheduledTask scheduledTask = entity.getScheduler().runAtFixedRate(this.plugin, task -> {
117-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
118+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, true);
118119
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
119120
callBack.run(schedulerTask);
120121
}, retired, initialDelayTicks, periodTicks);
121-
return new FoliaSchedulerTask(scheduledTask);
122+
return new FoliaSchedulerTask(scheduledTask, true);
122123
}
123124
}
124125

@@ -128,20 +129,21 @@ public FoliaScheduler(Plugin pluginBukkit) {
128129
delayTicks = 1;
129130
}
130131
ScheduledTask scheduledTask;
132+
boolean isSynchronous = !schedulerType.equals(SchedulerType.ASYNC);
131133
if (schedulerType.equals(SchedulerType.ASYNC)) {
132134
scheduledTask = Bukkit.getAsyncScheduler().runDelayed(this.plugin, task -> {
133-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
135+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, isSynchronous);
134136
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
135137
callBack.run(schedulerTask);
136138
}, delayTicks * 50, TimeUnit.MILLISECONDS);
137139
} else {
138140
scheduledTask = Bukkit.getGlobalRegionScheduler().runDelayed(this.plugin, task -> {
139-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
141+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, isSynchronous);
140142
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
141143
callBack.run(schedulerTask);
142144
}, delayTicks);
143145
}
144-
return new FoliaSchedulerTask(scheduledTask);
146+
return new FoliaSchedulerTask(scheduledTask, isSynchronous);
145147
}
146148

147149
@Override
@@ -153,11 +155,11 @@ public FoliaScheduler(Plugin pluginBukkit) {
153155
delayTicks = 1;
154156
}
155157
ScheduledTask scheduledTask = Bukkit.getRegionScheduler().runDelayed(this.plugin, worldChunk.world(), worldChunk.chunkX(), worldChunk.chunkZ(), task -> {
156-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
158+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, true);
157159
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
158160
callBack.run(schedulerTask);
159161
}, delayTicks);
160-
return new FoliaSchedulerTask(scheduledTask);
162+
return new FoliaSchedulerTask(scheduledTask, true);
161163
}
162164
}
163165

@@ -170,11 +172,11 @@ public FoliaScheduler(Plugin pluginBukkit) {
170172
delayTicks = 1;
171173
}
172174
ScheduledTask scheduledTask = Bukkit.getRegionScheduler().runDelayed(this.plugin, location, task -> {
173-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
175+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, true);
174176
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
175177
callBack.run(schedulerTask);
176178
}, delayTicks);
177-
return new FoliaSchedulerTask(scheduledTask);
179+
return new FoliaSchedulerTask(scheduledTask, true);
178180
}
179181
}
180182

@@ -187,31 +189,32 @@ public FoliaScheduler(Plugin pluginBukkit) {
187189
delayTicks = 1;
188190
}
189191
ScheduledTask scheduledTask = entity.getScheduler().runDelayed(this.plugin, task -> {
190-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
192+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, true);
191193
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
192194
callBack.run(schedulerTask);
193195
}, retired, delayTicks);
194-
return new FoliaSchedulerTask(scheduledTask);
196+
return new FoliaSchedulerTask(scheduledTask, true);
195197
}
196198
}
197199

198200
@Override
199201
public @Nullable SchedulerTaskInter runTask(@NotNull SchedulerType schedulerType, SchedulerCallBack callBack) {
200202
ScheduledTask scheduledTask;
203+
boolean isSynchronous = !schedulerType.equals(SchedulerType.ASYNC);
201204
if (schedulerType.equals(SchedulerType.ASYNC)) {
202205
scheduledTask = Bukkit.getAsyncScheduler().runNow(this.plugin, task -> {
203-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
206+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, isSynchronous);
204207
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
205208
callBack.run(schedulerTask);
206209
});
207210
} else {
208211
scheduledTask = Bukkit.getGlobalRegionScheduler().run(this.plugin, task -> {
209-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
212+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, isSynchronous);
210213
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
211214
callBack.run(schedulerTask);
212215
});
213216
}
214-
return new FoliaSchedulerTask(scheduledTask);
217+
return new FoliaSchedulerTask(scheduledTask, isSynchronous);
215218
}
216219

217220
@Override
@@ -220,11 +223,11 @@ public FoliaScheduler(Plugin pluginBukkit) {
220223
return this.runTask(schedulerType, callBack);
221224
} else {
222225
ScheduledTask scheduledTask = Bukkit.getRegionScheduler().run(this.plugin, worldChunk.world(), worldChunk.chunkX(), worldChunk.chunkZ(), task -> {
223-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
226+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, true);
224227
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
225228
callBack.run(schedulerTask);
226229
});
227-
return new FoliaSchedulerTask(scheduledTask);
230+
return new FoliaSchedulerTask(scheduledTask, true);
228231
}
229232
}
230233

@@ -234,11 +237,11 @@ public FoliaScheduler(Plugin pluginBukkit) {
234237
return this.runTask(schedulerType, callBack);
235238
} else {
236239
ScheduledTask scheduledTask = Bukkit.getRegionScheduler().run(this.plugin, location, task -> {
237-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
240+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, true);
238241
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
239242
callBack.run(schedulerTask);
240243
});
241-
return new FoliaSchedulerTask(scheduledTask);
244+
return new FoliaSchedulerTask(scheduledTask, true);
242245
}
243246
}
244247

@@ -248,11 +251,11 @@ public FoliaScheduler(Plugin pluginBukkit) {
248251
return this.runTask(schedulerType, callBack);
249252
} else {
250253
ScheduledTask scheduledTask = entity.getScheduler().run(this.plugin, task -> {
251-
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task);
254+
SchedulerTaskInter schedulerTask = new FoliaSchedulerTask(task, true);
252255
mapSchedulerTask.put(schedulerTask.getTaskId(), schedulerTask);
253256
callBack.run(schedulerTask);
254257
}, retired);
255-
return new FoliaSchedulerTask(scheduledTask);
258+
return new FoliaSchedulerTask(scheduledTask, true);
256259
}
257260
}
258261

src/main/java/fr/euphyllia/energie/folia/FoliaSchedulerTask.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@
88
public class FoliaSchedulerTask implements SchedulerTaskInter {
99

1010
private final ScheduledTask schedulerTask;
11+
private boolean isSynchronous = false;
1112

12-
public FoliaSchedulerTask(ScheduledTask schedulerTask) {
13+
public FoliaSchedulerTask(ScheduledTask schedulerTask, boolean sync) {
1314
this.schedulerTask = schedulerTask;
15+
this.isSynchronous = sync;
1416
}
1517

1618

@@ -33,4 +35,9 @@ public void cancel() {
3335
public int getTaskId() {
3436
return this.schedulerTask.hashCode();
3537
}
38+
39+
@Override
40+
public boolean isSync() {
41+
return this.isSynchronous;
42+
}
3643
}

src/main/java/fr/euphyllia/energie/legacy/LegacySchedulerTask.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,9 @@ public void cancel() {
3232
public int getTaskId() {
3333
return this.task.getTaskId();
3434
}
35+
36+
@Override
37+
public boolean isSync() {
38+
return this.task.isSync();
39+
}
3540
}

src/main/java/fr/euphyllia/energie/model/SchedulerTaskInter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ public interface SchedulerTaskInter {
1212
void cancel();
1313

1414
int getTaskId();
15+
16+
boolean isSync();
1517
}

0 commit comments

Comments
 (0)