Skip to content

Commit ef4a341

Browse files
committed
Updated GitHub repository. Added fix to prevent null errors when getting the world locations. Fixed MainThread player issues. Added permissions to plugin.yml. Added new main command alias /rlgl. Changed plugin version to 2.6.1.
1 parent 96c582b commit ef4a341

File tree

10 files changed

+206
-128
lines changed

10 files changed

+206
-128
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>me.loving11ish</groupId>
88
<artifactId>RedLightGreenLight</artifactId>
9-
<version>2.6.0</version>
9+
<version>2.6.1</version>
1010
<packaging>jar</packaging>
1111

1212
<name>RedLightGreenLight</name>

src/main/java/me/loving11ish/redlightgreenlight/RedLightGreenLight.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,9 @@ public void onEnable() {
162162
return;
163163
}
164164

165+
// Load Locations
166+
getConfigManager().loadLocations();
167+
165168
//Register commands here
166169
setCommandManager(new CommandManager());
167170
getCommand("redlight").setExecutor(getCommandManager());
@@ -182,7 +185,7 @@ public void onEnable() {
182185
MessageUtils.sendConsole("&aPlugin Version: &d&l" + pluginVersion);
183186
MessageUtils.sendDebugConsole("&e&lDeveloper debug mode enabled!");
184187
MessageUtils.sendDebugConsole("&e&lThis WILL fill the console");
185-
MessageUtils.sendDebugConsole("&e&lwith additional UStats information!");
188+
MessageUtils.sendDebugConsole("&e&lwith additional RL-GL information!");
186189
MessageUtils.sendDebugConsole("&e&lThis setting is not intended for ");
187190
MessageUtils.sendDebugConsole("&e&lcontinuous use!");
188191
MessageUtils.sendConsole("-------------------------------------------");
@@ -258,8 +261,8 @@ public void onDisable() {
258261
if (foliaLib.isUnsupported()) {
259262
Bukkit.getScheduler().cancelTasks(this);
260263
}
261-
MessageUtils.sendConsole("&aBackground tasks have disabled successfully!");
262-
} catch (Exception e) {
264+
} catch (Exception ignored) {
265+
} finally {
263266
MessageUtils.sendConsole("&aBackground tasks have disabled successfully!");
264267
}
265268

src/main/java/me/loving11ish/redlightgreenlight/commands/CommandManager.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ public void reloadPlugin() {
136136
if (foliaLib.isUnsupported()) {
137137
Bukkit.getScheduler().cancelTasks(RedLightGreenLight.getPlugin());
138138
}
139-
MessageUtils.sendConsole("&aBackground tasks have disabled successfully!");
140-
} catch (Exception e) {
139+
} catch (Exception ignored) {
140+
} finally {
141141
MessageUtils.sendConsole("&aBackground tasks have disabled successfully!");
142142
}
143143

@@ -186,9 +186,17 @@ public void reloadPlugin() {
186186
MessageUtils.setDebug(RedLightGreenLight.getPlugin().getConfigManager().isDebugMode());
187187
MessageUtils.sendConsole("&aReloading messages.yml...");
188188

189+
// Load locations from config.yml
190+
RedLightGreenLight.getPlugin().getConfigManager().loadLocations();
191+
189192
foliaLib.getScheduler().runLaterAsync(() -> {
190193
// Signal that the plugin has been reloaded
191194
MessageUtils.sendConsole("&aPlugin has been reloaded successfully!");
195+
MessageUtils.sendDebugConsole("&e&lDeveloper debug mode enabled!");
196+
MessageUtils.sendDebugConsole("&e&lThis WILL fill the console");
197+
MessageUtils.sendDebugConsole("&e&lwith additional RL-GL information!");
198+
MessageUtils.sendDebugConsole("&e&lThis setting is not intended for ");
199+
MessageUtils.sendDebugConsole("&e&lcontinuous use!");
192200
MessageUtils.sendConsole("-----------------------------------------");
193201

194202
RedLightGreenLight.getPlugin().setPluginReloading(false);

src/main/java/me/loving11ish/redlightgreenlight/commands/consolecommands/ConsoleJoinAll.java

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,26 @@ public void perform(String[] args) {
3535
MessageUtils.sendConsole(RedLightGreenLight.getPlugin().getMessagesManager().getGameRunning());
3636
return;
3737
}
38-
for (Player onlinePlayer : onlinePlayers) {
39-
String onPlayerName = onlinePlayer.getName();
40-
Player onlinePlayerName = Bukkit.getServer().getPlayer(onPlayerName);
41-
if (onlinePlayerName != null){
42-
UUID onlineUUID = onlinePlayerName.getUniqueId();
43-
if (!(GameManager.getGame1().contains(onlineUUID))) {
44-
GameManager.addToGame1(onlinePlayerName);
45-
PlayerInventoryHandler.storeAndClearInventory(onlinePlayerName);
46-
GameManager.startGameArena1(onlinePlayerName);
47-
} else {
48-
MessageUtils.sendPlayer(onlinePlayerName, RedLightGreenLight.getPlugin().getMessagesManager().getFailedJoinArena());
49-
}
38+
39+
RedLightGreenLight.getPlugin().getFoliaLib().getScheduler().runAsync((task) -> {
40+
for (Player onlinePlayer : onlinePlayers) {
41+
String onPlayerName = onlinePlayer.getName();
42+
Player onlinePlayerName = Bukkit.getServer().getPlayer(onPlayerName);
43+
RedLightGreenLight.getPlugin().getFoliaLib().getScheduler().runAtEntity(onlinePlayerName, (t) -> {
44+
if (onlinePlayerName != null){
45+
UUID onlineUUID = onlinePlayerName.getUniqueId();
46+
if (!(GameManager.getGame1().contains(onlineUUID))) {
47+
GameManager.addToGame1(onlinePlayerName);
48+
PlayerInventoryHandler.storeAndClearInventory(onlinePlayerName);
49+
GameManager.startGameArena1(onlinePlayerName);
50+
} else {
51+
MessageUtils.sendPlayer(onlinePlayerName, RedLightGreenLight.getPlugin().getMessagesManager().getFailedJoinArena());
52+
}
53+
}
54+
});
5055
}
51-
}
56+
});
57+
5258
}
5359
}
5460

src/main/java/me/loving11ish/redlightgreenlight/commands/subcommands/JoinAll.java

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,24 @@ public void perform(Player player, String[] args) {
3838
MessageUtils.sendPlayer(player, RedLightGreenLight.getPlugin().getMessagesManager().getGameRunning());
3939
return;
4040
}
41-
for (Player onlinePlayer : onlinePlayers) {
42-
String onPlayerName = onlinePlayer.getName();
43-
Player onlinePlayerName = Bukkit.getServer().getPlayer(onPlayerName);
44-
if (onlinePlayerName != null) {
45-
UUID onlineUUID = onlinePlayerName.getUniqueId();
46-
if (!(GameManager.getGame1().contains(onlineUUID))) {
47-
GameManager.addToGame1(onlinePlayerName);
48-
PlayerInventoryHandler.storeAndClearInventory(onlinePlayerName);
49-
GameManager.startGameArena1(onlinePlayerName);
50-
} else {
51-
MessageUtils.sendPlayer(onlinePlayerName, RedLightGreenLight.getPlugin().getMessagesManager().getFailedJoinArena());
52-
}
41+
RedLightGreenLight.getPlugin().getFoliaLib().getScheduler().runAsync((task) -> {
42+
for (Player onlinePlayer : onlinePlayers) {
43+
String onPlayerName = onlinePlayer.getName();
44+
Player onlinePlayerName = Bukkit.getServer().getPlayer(onPlayerName);
45+
RedLightGreenLight.getPlugin().getFoliaLib().getScheduler().runAtEntity(onlinePlayerName, (t) -> {
46+
if (onlinePlayerName != null) {
47+
UUID onlineUUID = onlinePlayerName.getUniqueId();
48+
if (!(GameManager.getGame1().contains(onlineUUID))) {
49+
GameManager.addToGame1(onlinePlayerName);
50+
PlayerInventoryHandler.storeAndClearInventory(onlinePlayerName);
51+
GameManager.startGameArena1(onlinePlayerName);
52+
} else {
53+
MessageUtils.sendPlayer(onlinePlayerName, RedLightGreenLight.getPlugin().getMessagesManager().getFailedJoinArena());
54+
}
55+
}
56+
});
5357
}
54-
}
58+
});
5559
} else {
5660
MessageUtils.sendPlayer(player, RedLightGreenLight.getPlugin().getMessagesManager().getDisabledWorld());
5761
}

src/main/java/me/loving11ish/redlightgreenlight/events/PlayerJoin.java

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,29 +19,31 @@ public class PlayerJoin implements Listener {
1919
public void onPlayerJoin(PlayerJoinEvent event){
2020
Player player = event.getPlayer();
2121
UUID uuid = player.getUniqueId();
22-
player.setInvulnerable(RedLightGreenLight.getPlugin().getConfigManager().isJoinPlayerInvulnerable());
23-
player.setFoodLevel(20);
24-
if (RedLightGreenLight.getPlugin().getConfigManager().isWipeInventoryOnJoin()){
25-
if (!(player.hasPermission("redlight.bypass.joinwipe") || player.hasPermission("redlight.*") || player.isOp())){
26-
PlayerInventoryHandler.clearInventory(player);
22+
RedLightGreenLight.getPlugin().getFoliaLib().getScheduler().runAtEntity(player, (task) -> {
23+
player.setInvulnerable(RedLightGreenLight.getPlugin().getConfigManager().isJoinPlayerInvulnerable());
24+
player.setFoodLevel(20);
25+
if (RedLightGreenLight.getPlugin().getConfigManager().isWipeInventoryOnJoin()){
26+
if (!(player.hasPermission("redlight.bypass.joinwipe") || player.hasPermission("redlight.*") || player.isOp())){
27+
PlayerInventoryHandler.clearInventory(player);
28+
}
2729
}
28-
}
29-
if (GameManager.getGame1().contains(uuid)){
30-
GameManager.leaveGame1(player);
31-
}
32-
if (GameManager.getPlayersInRound().contains(uuid)){
33-
GameManager.leaveRound(player);
34-
}
35-
if (GameManager.getSpectatingPlayers().contains(uuid)){
36-
GameManager.leaveSpectating(player);
37-
}
38-
if (RedLightGreenLight.getPlugin().getConfigManager().isSendWelcomeTitle()){
39-
player.sendTitle(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfigManager().getWelcomeTitle()),
40-
ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfigManager().getWelcomeSubTitle()), 20, 100, 20);
41-
}
42-
if (RedLightGreenLight.getPlugin().getConfigManager().isHandleJoinSpawnEvent()){
43-
Location location = RedLightGreenLight.getPlugin().getConfigManager().getLobbyLocation();
44-
PaperLib.teleportAsync(player, location);
45-
}
30+
if (GameManager.getGame1().contains(uuid)){
31+
GameManager.leaveGame1(player);
32+
}
33+
if (GameManager.getPlayersInRound().contains(uuid)){
34+
GameManager.leaveRound(player);
35+
}
36+
if (GameManager.getSpectatingPlayers().contains(uuid)){
37+
GameManager.leaveSpectating(player);
38+
}
39+
if (RedLightGreenLight.getPlugin().getConfigManager().isSendWelcomeTitle()){
40+
player.sendTitle(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfigManager().getWelcomeTitle()),
41+
ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfigManager().getWelcomeSubTitle()), 20, 100, 20);
42+
}
43+
if (RedLightGreenLight.getPlugin().getConfigManager().isHandleJoinSpawnEvent()){
44+
Location location = RedLightGreenLight.getPlugin().getConfigManager().getLobbyLocation();
45+
PaperLib.teleportAsync(player, location);
46+
}
47+
});
4648
}
4749
}

src/main/java/me/loving11ish/redlightgreenlight/events/PlayerMove.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.bukkit.event.Listener;
1212
import org.bukkit.event.player.PlayerMoveEvent;
1313

14-
import java.util.List;
1514
import java.util.UUID;
1615

1716
import static org.bukkit.Bukkit.getServer;
@@ -20,10 +19,6 @@ public class PlayerMove implements Listener {
2019

2120
private final FoliaLib foliaLib = RedLightGreenLight.getPlugin().getFoliaLib();
2221

23-
private final List<String> winCommands = RedLightGreenLight.getPlugin().getConfigManager().getWinCommandsList();
24-
private final List<String> loseCommands = RedLightGreenLight.getPlugin().getConfigManager().getLoseCommandsList();
25-
26-
2722
@EventHandler
2823
public void countDownPlayerMove(PlayerMoveEvent event) {
2924
Player player = event.getPlayer();
@@ -58,7 +53,7 @@ public void onPlayerMove(PlayerMoveEvent event) {
5853
getServer().dispatchCommand(Bukkit.getConsoleSender(), "execute at " + player.getName() + " run summon minecraft:lightning_bolt ~ ~ ~"));
5954
}
6055
if (RedLightGreenLight.getPlugin().getConfigManager().isRunLoseCommands()) {
61-
for (String string : loseCommands) {
56+
for (String string : RedLightGreenLight.getPlugin().getConfigManager().getLoseCommandsList()) {
6257
foliaLib.getScheduler().runNextTick((task) ->
6358
getServer().dispatchCommand(Bukkit.getConsoleSender(), string.replace("%player%", target)));
6459
}
@@ -97,7 +92,7 @@ public void playerBlockMove(PlayerMoveEvent event) {
9792
foliaLib.getScheduler().runNextTick((task) ->
9893
getServer().dispatchCommand(Bukkit.getConsoleSender(), "execute at " + player.getName() + " run summon minecraft:firework_rocket ~ ~ ~"));
9994
if (RedLightGreenLight.getPlugin().getConfigManager().isRunWinCommands()) {
100-
for (String string : winCommands) {
95+
for (String string : RedLightGreenLight.getPlugin().getConfigManager().getWinCommandsList()) {
10196
foliaLib.getScheduler().runNextTick((task) ->
10297
getServer().dispatchCommand(Bukkit.getConsoleSender(), string.replace("%player%", target)));
10398
}

src/main/java/me/loving11ish/redlightgreenlight/managers/filemanagers/ConfigManager.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package me.loving11ish.redlightgreenlight.managers.filemanagers;
22

3+
import me.loving11ish.redlightgreenlight.utils.MessageUtils;
34
import org.bukkit.Bukkit;
45
import org.bukkit.Location;
56
import org.bukkit.Material;
@@ -90,7 +91,9 @@ public void loadConfigVales() {
9091
// Load materials
9192
topTriggerBlock = Material.getMaterial(config.getString("top-trigger-block", "COAL_BLOCK"));
9293
bottomTriggerBlock = Material.getMaterial(config.getString("bottom-trigger-block", "GOLD_BLOCK"));
94+
}
9395

96+
public void loadLocations() {
9497
// Load locations
9598
String lobbyWorld = config.getString("lobby-position.world-name", "world");
9699
double lobbyX = config.getDouble("lobby-position.x", -233.0);
@@ -102,8 +105,11 @@ public void loadConfigVales() {
102105
World lobbyBukkitWorld;
103106
try {
104107
lobbyBukkitWorld = Bukkit.getWorld(lobbyWorld);
108+
MessageUtils.sendDebugConsole("info", "Lobby world &e" + lobbyBukkitWorld.getName() + " &aloaded successfully!");
105109
} catch (NullPointerException e) {
106110
lobbyBukkitWorld = Bukkit.getServer().getWorlds().get(0);
111+
MessageUtils.sendConsole("warning", "Lobby world &e" + lobbyWorld + " &cnot found! Using default world instead.");
112+
MessageUtils.sendConsole("info", "Lobby world &e" + lobbyBukkitWorld.getName() + " &aloaded successfully!");
107113
}
108114
lobbyLocation = new Location(lobbyBukkitWorld, lobbyX, lobbyY, lobbyZ, lobbyYaw, lobbyPitch);
109115

@@ -117,8 +123,11 @@ public void loadConfigVales() {
117123
World arenaBukkitWorld;
118124
try {
119125
arenaBukkitWorld = Bukkit.getWorld(arenaWorld);
126+
MessageUtils.sendDebugConsole("info", "Arena world &e" + arenaBukkitWorld.getName() + " &aloaded successfully!");
120127
} catch (NullPointerException e) {
121128
arenaBukkitWorld = Bukkit.getServer().getWorlds().get(0);
129+
MessageUtils.sendConsole("warning", "Arena world &e" + arenaWorld + " &cnot found! Using default world instead.");
130+
MessageUtils.sendConsole("info", "Arena world &e" + arenaBukkitWorld.getName() + " &aloaded successfully!");
122131
}
123132
arenaStartLocation = new Location(arenaBukkitWorld, arenaX, arenaY, arenaZ, arenaYaw, arenaPitch);
124133

@@ -132,8 +141,11 @@ public void loadConfigVales() {
132141
World spectateBukkitWorld;
133142
try {
134143
spectateBukkitWorld = Bukkit.getWorld(spectateWorld);
144+
MessageUtils.sendDebugConsole("info", "Spectate world &e" + spectateBukkitWorld.getName() + " &aloaded successfully!");
135145
} catch (NullPointerException e) {
136146
spectateBukkitWorld = Bukkit.getServer().getWorlds().get(0);
147+
MessageUtils.sendConsole("warning", "Spectate world &e" + spectateWorld + " &cnot found! Using default world instead.");
148+
MessageUtils.sendConsole("info", "Spectate world &e" + spectateBukkitWorld.getName() + " &aloaded successfully!");
137149
}
138150
spectateLocation = new Location(spectateBukkitWorld, spectateX, spectateY, spectateZ, spectateYaw, spectatePitch);
139151
}

0 commit comments

Comments
 (0)