Skip to content

Commit c427f7f

Browse files
committed
feat: change plugin compatibilities (1.17 -> 1.8-1.16)
1 parent 8732a72 commit c427f7f

File tree

9 files changed

+79
-52
lines changed

9 files changed

+79
-52
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.DS_Store
22
.idea/
33
out/
4+
*.iml

SkipNight.iml

Lines changed: 0 additions & 20 deletions
This file was deleted.
-1.31 MB
Binary file not shown.

spigot-api-1.8.8-R0.1-SNAPSHOT.jar

847 KB
Binary file not shown.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package fr.aymnms.skipnight;
22

33
import fr.aymnms.skipnight.event.SNBed;
4+
import fr.aymnms.skipnight.event.SNLeave;
45
import org.bukkit.Bukkit;
5-
import org.bukkit.event.Listener;
6-
import org.bukkit.plugin.Plugin;
76
import org.bukkit.plugin.PluginManager;
87

98
public class EventManager {
109

1110
public static void registerEvents(final SNMain main) {
1211
final PluginManager pm = Bukkit.getPluginManager();
13-
pm.registerEvents((Listener) new SNBed(main), (Plugin) main);
12+
pm.registerEvents(new SNBed(main), main);
13+
pm.registerEvents(new SNLeave(main), main);
1414
}
1515

1616
}

src/fr.aymnms.skipnight/SNMain.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,20 @@ public class SNMain extends JavaPlugin implements Listener
1111
private ArrayList<Player> PlayerBed;
1212

1313
public SNMain() {
14-
this.PlayerBed = new ArrayList<Player>();
14+
String version = getServer().getBukkitVersion();
15+
String[] parts = version.split("\\.");
16+
try {
17+
int major = Integer.parseInt(parts[0]);
18+
int minor = Integer.parseInt(parts[1].split("-")[0]);
19+
if ((major == 1 && minor >= 17) || major > 1) {
20+
getLogger().warning("This plugin is no longer required with the playersSleepingPercentage gamerule.");
21+
getServer().getPluginManager().disablePlugin(this);
22+
}
23+
} catch (Exception e) {
24+
getLogger().warning("Unable to read Minecraft version. The plugin is activated by default.");
25+
}
26+
27+
this.PlayerBed = new ArrayList<>();
1528
}
1629

1730
public static SNMain getInstance() {

src/fr/aymnms/skipnight/event/SNBed.java

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,55 +10,65 @@
1010

1111
public class SNBed implements Listener
1212
{
13-
private SNMain main;
13+
private final SNMain main;
1414

1515
public SNBed(final SNMain main) {
1616
this.main = main;
1717
}
1818

1919
@EventHandler
20-
public void joinBed(final PlayerBedEnterEvent e) {
20+
public void joinBedEvent(final PlayerBedEnterEvent e) {
2121
final Player p = e.getPlayer();
22+
joinBed(p);
23+
skipNight(p);
24+
}
25+
26+
@EventHandler
27+
public void leaveBedEvent(final PlayerBedLeaveEvent e) {
28+
Player p = e.getPlayer();
29+
leaveBed(p);
30+
}
31+
32+
public void leaveBed(final Player p){
33+
final int playerLimit = Bukkit.getServer().getOnlinePlayers().size() / 2;
2234

23-
// if not night or not thundering -> stop
35+
this.main.getPB().remove(p);
36+
System.out.println("leave: Bedlist: " + this.main.getPB());
37+
38+
if (this.main.getPB().isEmpty()) {
39+
Bukkit.broadcastMessage("§8[§rSkip§9Night§8] §7Nobody wants to go to bed anymore!");
40+
} else {
41+
Bukkit.broadcastMessage("§8§l" + p.getName() + " §r§7has just left the bed §8[§9§l" + this.main.getPB().size() + "§8/§f" + playerLimit + "]");
42+
}
43+
}
44+
45+
public void joinBed(Player p) {
2446
if (p.getWorld().getTime() < 12000L && !p.getWorld().isThundering())
2547
return;
2648

27-
final int playerLimit = Bukkit.getServer().getOnlinePlayers().size() / 2;
49+
final int playerLimit = Math.max(1, Bukkit.getServer().getOnlinePlayers().size() / 2);
2850

2951
if (!this.main.getPB().contains(p))
3052
this.main.getPB().add(p);
3153

3254
System.out.println("join: Bedlist: " + this.main.getPB());
3355

3456
if (this.main.getPB().size() == 1)
35-
Bukkit.broadcastMessage("§8[§rSkip§9Night§8] §9" + this.main.getPB().get(0).getName() + " §r§7souhaite faire passer la nuit §8[§9§l" + this.main.getPB().size() + "§8/§f" + playerLimit + "]");
57+
Bukkit.broadcastMessage("§8[§rSkip§9Night§8] §9" + this.main.getPB().get(0).getName() + " §r§would to skip the night §8[§9§l" + this.main.getPB().size() + "§8/§f" + playerLimit + "]");
3658
else if (this.main.getPB().size() > 1)
37-
Bukkit.broadcastMessage("§8[§rSkip§9Night§8] §9" + p.getName() + " §7vient de rejoindre le lit §8[§9§l" + this.main.getPB().size() + "§8/§f" + playerLimit + "]");
38-
39-
if (this.main.getPB().size() >= playerLimit) {
40-
Bukkit.broadcastMessage("§8[§rSkip§9Night§8] §7Le jour se l\u00e8ve.");
41-
Bukkit.getWorld("world").setTime(0L);
42-
this.main.getPB().clear();
43-
}
59+
Bukkit.broadcastMessage("§8[§rSkip§9Night§8] §9" + p.getName() + " §7has just gone to bed §8[§9§l" + this.main.getPB().size() + "§8/§f" + playerLimit + "]");
4460
}
4561

46-
@EventHandler
47-
public void leaveBed(final PlayerBedLeaveEvent e) {
48-
final Player p = e.getPlayer();
49-
final int yay = Bukkit.getServer().getOnlinePlayers().size() / 2;
50-
51-
if (p.getWorld().getTime() > 12000L || p.getWorld().isThundering()){
52-
if (this.main.getPB().contains(p))
53-
this.main.getPB().remove(p);
62+
public void skipNight(Player p) {
63+
if (p.getWorld().getTime() < 12000L && !p.getWorld().isThundering())
64+
return;
5465

55-
System.out.println("leave: Bedlist: " + this.main.getPB());
66+
final int playerLimit = Math.max(1, Bukkit.getServer().getOnlinePlayers().size() / 2);
5667

57-
if (this.main.getPB().size() == 0 && (p.getWorld().getTime() > 12000L || p.getWorld().isThundering()))
58-
Bukkit.broadcastMessage("§8[§rSkip§9Night§8] §7Plus personne ne souhaite se coucher !");
59-
else if (SNMain.getInstance().getPB().size() > 0 && p.getWorld().getTime() > 12000L)
60-
Bukkit.broadcastMessage("§8§l" + p.getName() + " §r§7vient de quitter le lit §8[§9§l" + this.main.getPB().size() + "§8/§f" + yay + "]");
68+
if (this.main.getPB().size() >= playerLimit) {
69+
Bukkit.broadcastMessage("§8[§rSkip§9Night§8] §7The sun rises.");
70+
p.getWorld().setTime(0L);
71+
this.main.getPB().clear();
6172
}
62-
6373
}
6474
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package fr.aymnms.skipnight.event;
2+
3+
import fr.aymnms.skipnight.SNMain;
4+
import org.bukkit.Bukkit;
5+
import org.bukkit.entity.Player;
6+
import org.bukkit.event.EventHandler;
7+
import org.bukkit.event.Listener;
8+
import org.bukkit.event.player.PlayerQuitEvent;
9+
10+
public class SNLeave implements Listener {
11+
private final SNMain main;
12+
13+
public SNLeave(final SNMain main) {
14+
this.main = main;
15+
}
16+
17+
@EventHandler
18+
public void onQuit(PlayerQuitEvent e) {
19+
Player p = e.getPlayer();
20+
SNBed bed = new SNBed(this.main);
21+
bed.leaveBed(p);
22+
bed.skipNight(p);
23+
}
24+
}

src/plugin.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
name: SkipNight
2-
version: 1.0.0
2+
version: 1.1.0
33
author: aymnms
44
main: fr.aymnms.skipnight.SNMain
5-
api-version: 1.17

0 commit comments

Comments
 (0)