|
10 | 10 |
|
11 | 11 | public class SNBed implements Listener |
12 | 12 | { |
13 | | - private SNMain main; |
| 13 | + private final SNMain main; |
14 | 14 |
|
15 | 15 | public SNBed(final SNMain main) { |
16 | 16 | this.main = main; |
17 | 17 | } |
18 | 18 |
|
19 | 19 | @EventHandler |
20 | | - public void joinBed(final PlayerBedEnterEvent e) { |
| 20 | + public void joinBedEvent(final PlayerBedEnterEvent e) { |
21 | 21 | 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; |
22 | 34 |
|
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) { |
24 | 46 | if (p.getWorld().getTime() < 12000L && !p.getWorld().isThundering()) |
25 | 47 | return; |
26 | 48 |
|
27 | | - final int playerLimit = Bukkit.getServer().getOnlinePlayers().size() / 2; |
| 49 | + final int playerLimit = Math.max(1, Bukkit.getServer().getOnlinePlayers().size() / 2); |
28 | 50 |
|
29 | 51 | if (!this.main.getPB().contains(p)) |
30 | 52 | this.main.getPB().add(p); |
31 | 53 |
|
32 | 54 | System.out.println("join: Bedlist: " + this.main.getPB()); |
33 | 55 |
|
34 | 56 | 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 + "]"); |
36 | 58 | 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 + "]"); |
44 | 60 | } |
45 | 61 |
|
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; |
54 | 65 |
|
55 | | - System.out.println("leave: Bedlist: " + this.main.getPB()); |
| 66 | + final int playerLimit = Math.max(1, Bukkit.getServer().getOnlinePlayers().size() / 2); |
56 | 67 |
|
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(); |
61 | 72 | } |
62 | | - |
63 | 73 | } |
64 | 74 | } |
0 commit comments