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

Commit cf37b3e

Browse files
committed
Update Readme.md
1 parent a21efa8 commit cf37b3e

File tree

1 file changed

+96
-36
lines changed

1 file changed

+96
-36
lines changed

readme.md

Lines changed: 96 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,105 @@
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+
## Setup
5+
```kotlin
6+
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
47

5-
```java
6-
// Example Scheduler
7-
Bukkit.getScheduler().runTask(this.plugin, () -> {
8-
// code
9-
});
10-
```
8+
plugins {
9+
id("java")
10+
id("com.github.johnrengelman.shadow") version "8.1.1"
11+
}
1112

12-
Folia :
13+
val jitpack = "https://jitpack.io"
14+
15+
repositories {
16+
mavenCentral()
17+
maven(jitpack)
18+
}
19+
20+
dependencies {
21+
implementation("com.github.Euphillya:Energie:TAG")
22+
}
23+
24+
tasks.withType<ShadowJar> {
25+
relocate("fr.euphyllia.energie", "[your plugin].dependency.energie")
26+
}
1327

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);
2528
```
29+
## API
30+
The API remains quite simple to use:
31+
32+
### Bukkit Implementation
33+
```java
34+
// before bukkit
35+
private void runTaskBukkitExample() {
36+
// Sync
37+
Bukkit.getScheduler().runTask(JavaPlugin, Callback);
38+
// Async
39+
Bukkit.getScheduler().runTaskAsynchronously(JavaPlugin, Callback);
40+
}
41+
42+
private void runTaskLaterExample() {
43+
Bukkit.getScheduler().runTaskLater(JavaPlugin, Callback, Long);
44+
}
45+
46+
private void runTaskTimerExample() {
47+
Bukkit.getScheduler().runTaskTimer(JavaPlugin, Callback, Long, Long);
48+
}
2649

27-
Energie :
50+
private void runnableExample() {
51+
new BukkitRunnable() {
52+
@Override
53+
public void run() {
2854

55+
}
56+
}.runTask(JavaPlugin);
57+
}
58+
```
59+
60+
### Energie Implementation
2961
```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);
62+
63+
private @NotNull Energie energie;
64+
private @NotNull Scheduler scheduler;
65+
66+
@Override
67+
public void onEnable() {
68+
this.energie = new Energie(JavaPlugin);
69+
this.scheduler = scheduler.getMinecraftScheduler();
70+
}
71+
72+
public Scheduler getScheduler() {
73+
return scheduler;
74+
}
75+
76+
77+
private void runTaskBukkitExample() {
78+
// Sync
79+
getScheduler().runTask(SchedulerType.SYNC, Callback); // GlobalScheduler
80+
getScheduler().runTask(SchedulerType.SYNC, Location/MultipleRecords.WorldChunk, Callback); // RegionScheduler
81+
getScheduler().runTask(SchedulerType.SYNC, Entity, Callback, Retired); // EntityScheduler
82+
83+
// Async
84+
getScheduler().runTask(SchedulerType.ASYNC, Callback);
85+
}
86+
87+
private void runTaskLaterExample() {
88+
getScheduler().runDelayed(SchedulerType.SYNC, Callback, Long); // global
89+
...
90+
}
91+
92+
private void runTaskTimerExample() {
93+
getScheduler().runAtFixedRate(SchedulerType.SYNC, Callback, Long, Long);
94+
...
95+
}
96+
97+
private void runnableExample() {
98+
new SchedulerTaskRunnable() {
99+
@Override
100+
public void run() {
101+
102+
}
103+
}.runTask(JavaPlugin);
104+
}
45105
```

0 commit comments

Comments
 (0)