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

Commit 7642ca2

Browse files
authored
Merge pull request #3 from Euphillya/ver/1.2.0
Ver/1.2.0
2 parents 6485a8d + ea075ff commit 7642ca2

File tree

9 files changed

+275
-469
lines changed

9 files changed

+275
-469
lines changed

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.9"
7+
version = "1.2.0"
88

99
repositories {
1010
mavenCentral()

readme.md

Lines changed: 102 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,111 @@
1-
## API
1+
## What is Energie ?
2+
Energie is a library allowing you to maintain compatibility between Spigot and Folia. The library is still under development, but can be used.
23

3-
Bukkit/Spigot/Paper :
4+
## Lists of plugins that officially use Energie
45

5-
```java
6-
// Example Scheduler
7-
Bukkit.getScheduler().runTask(this.plugin, () -> {
8-
// code
9-
});
10-
```
6+
| Name | Github | Download |
7+
|---------|------------------------------------------------|------------------------------------------------------------------------|
8+
| Skyllia | [Github](https://github.com/Euphillya/Skyllia) | [Modrinth](https://modrinth.com/plugin/skyllia/versions#all-versions) |
119

12-
Folia :
10+
## Setup
11+
```kotlin
12+
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
13+
14+
plugins {
15+
id("java")
16+
id("com.github.johnrengelman.shadow") version "8.1.1"
17+
}
18+
19+
val jitpack = "https://jitpack.io"
20+
21+
repositories {
22+
mavenCentral()
23+
maven(jitpack)
24+
}
25+
26+
dependencies {
27+
implementation("com.github.Euphillya:Energie:TAG")
28+
}
29+
30+
tasks.withType<ShadowJar> {
31+
relocate("fr.euphyllia.energie", "[your plugin].dependency.energie")
32+
}
1333

14-
```java
15-
// Example Scheduler
16-
Bukkit.getGlobalRegionScheduler().run(this.plugin, task -> {
17-
// code
18-
});
19-
Bukkit.getRegionScheduler().run(this.plugin, location, task -> {
20-
// code
21-
});
22-
Entity.getScheduler().run(this.plugin, task -> {
23-
// code
24-
}, retired);
2534
```
35+
## API
36+
The API remains quite simple to use:
37+
38+
### Bukkit Implementation
39+
```java
40+
// before bukkit
41+
private void runTaskBukkitExample() {
42+
// Sync
43+
Bukkit.getScheduler().runTask(JavaPlugin, Callback);
44+
// Async
45+
Bukkit.getScheduler().runTaskAsynchronously(JavaPlugin, Callback);
46+
}
47+
48+
private void runTaskLaterExample() {
49+
Bukkit.getScheduler().runTaskLater(JavaPlugin, Callback, Long);
50+
}
2651

27-
Energie :
52+
private void runTaskTimerExample() {
53+
Bukkit.getScheduler().runTaskTimer(JavaPlugin, Callback, Long, Long);
54+
}
2855

56+
private void runnableExample() {
57+
new BukkitRunnable() {
58+
@Override
59+
public void run() {
60+
61+
}
62+
}.runTask(JavaPlugin);
63+
}
64+
```
65+
66+
### Energie Implementation
2967
```java
30-
Energie energie = new Energie(this.plugin);
31-
32-
Scheduler minecraftScheduler = energie.getScheduler(SchedulerSoft.MINECRAFT);
33-
// Example getGlobalRegionScheduler
34-
minecraftScheduler.runTask(SchedulerType.SYNC, task -> {
35-
// code
36-
});
37-
// Example getRegionScheduler
38-
minecraftScheduler.runTask(SchedulerType.SYNC, (location/MultiRecords.WorldChunk), task -> {
39-
// code
40-
});
41-
// Example EntityScheduler
42-
minecraftScheduler.runTask(SchedulerType.SYNC, entity, task -> {
43-
// code
44-
}, retired);
68+
69+
private @NotNull Energie energie;
70+
private @NotNull Scheduler scheduler;
71+
72+
@Override
73+
public void onEnable() {
74+
this.energie = new Energie(JavaPlugin);
75+
this.scheduler = scheduler.getMinecraftScheduler();
76+
}
77+
78+
public Scheduler getScheduler() {
79+
return scheduler;
80+
}
81+
82+
83+
private void runTaskBukkitExample() {
84+
// Sync
85+
getScheduler().runTask(SchedulerType.SYNC, Callback); // GlobalScheduler
86+
getScheduler().runTask(SchedulerType.SYNC, Location/MultipleRecords.WorldChunk, Callback); // RegionScheduler
87+
getScheduler().runTask(SchedulerType.SYNC, Entity, Callback, Retired); // EntityScheduler
88+
89+
// Async
90+
getScheduler().runTask(SchedulerType.ASYNC, Callback);
91+
}
92+
93+
private void runTaskLaterExample() {
94+
getScheduler().runDelayed(SchedulerType.SYNC, Callback, Long); // global
95+
...
96+
}
97+
98+
private void runTaskTimerExample() {
99+
getScheduler().runAtFixedRate(SchedulerType.SYNC, Callback, Long, Long);
100+
...
101+
}
102+
103+
private void runnableExample() {
104+
new SchedulerTaskRunnable() {
105+
@Override
106+
public void run() {
107+
108+
}
109+
}.runTask(JavaPlugin);
110+
}
45111
```

src/main/java/fr/euphyllia/energie/Energie.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,4 @@ public Scheduler getMinecraftScheduler() {
4545
}
4646
return this.legacyScheduler;
4747
}
48-
49-
@Deprecated
50-
public Scheduler getScheduler(SchedulerSoft schedulerSoft) {
51-
if (schedulerSoft == SchedulerSoft.NATIVE) {
52-
return this.getNativeScheduler();
53-
} else if (schedulerSoft == SchedulerSoft.MINECRAFT) {
54-
return this.getMinecraftScheduler();
55-
}
56-
throw new UnsupportedOperationException();
57-
}
58-
59-
@Deprecated
60-
public enum SchedulerSoft {
61-
NATIVE, MINECRAFT
62-
}
6348
}

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

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -218,60 +218,6 @@ public int scheduleSyncRepeating(@NotNull SchedulerType schedulerType, Entity en
218218
throw new UnsupportedOperationException();
219219
}
220220

221-
@Override
222-
@Deprecated
223-
public void runAtFixedRate(@NotNull SchedulerType schedulerType, long initialDelayTicks, long periodTicks, SchedulerCallBack callBack) {
224-
this.runAtFixedRate(schedulerType, callBack, initialDelayTicks, periodTicks);
225-
}
226-
227-
@Override
228-
@Deprecated
229-
public void runAtFixedRate(@NotNull SchedulerType schedulerType, @Nullable Object chunkOrLoc, long initialDelayTicks, long periodTicks, SchedulerCallBack callBack) {
230-
throw new UnsupportedOperationException();
231-
}
232-
233-
@Override
234-
@Deprecated
235-
public void runAtFixedRate(@NotNull SchedulerType schedulerType, @Nullable Object chunkOrLocOrEntity, @Nullable Runnable retired, long initialDelayTicks, long periodTicks, SchedulerCallBack callBack) {
236-
throw new UnsupportedOperationException();
237-
}
238-
239-
@Override
240-
@Deprecated
241-
public void runDelayed(@NotNull SchedulerType schedulerType, long delayTicks, SchedulerCallBack callBack) {
242-
this.runDelayed(schedulerType, callBack, delayTicks);
243-
}
244-
245-
@Override
246-
@Deprecated
247-
public void runDelayed(@NotNull SchedulerType schedulerType, @Nullable Object chunkOrLoc, long delayTicks, SchedulerCallBack callBack) {
248-
throw new UnsupportedOperationException();
249-
}
250-
251-
@Override
252-
@Deprecated
253-
public void runDelayed(@NotNull SchedulerType schedulerType, @Nullable Object chunkOrLocOrEntity, @Nullable Runnable retired, long delayTicks, SchedulerCallBack callBack) {
254-
throw new UnsupportedOperationException();
255-
}
256-
257-
@Override
258-
@Deprecated
259-
public void execute(@NotNull SchedulerType schedulerType, SchedulerCallBack callBack) {
260-
this.runTask(schedulerType, callBack);
261-
}
262-
263-
@Override
264-
@Deprecated
265-
public void execute(@NotNull SchedulerType schedulerType, @Nullable Object chunkOrLoc, SchedulerCallBack callBack) {
266-
throw new UnsupportedOperationException();
267-
}
268-
269-
@Override
270-
@Deprecated
271-
public void execute(@NotNull SchedulerType schedulerType, @Nullable Object chunkOrLocOrEntity, @Nullable Runnable retired, SchedulerCallBack callBack) {
272-
throw new UnsupportedOperationException();
273-
}
274-
275221
@Override
276222
public List<SchedulerTaskInter> getPendingTasks() {
277223
return new ArrayList<>(mapSchedulerTask.values());

0 commit comments

Comments
 (0)