Skip to content

Commit c267e8c

Browse files
authored
Merge pull request #3 from CraptiCraft-Development/fix/null-location-fix
Null Bug Fixes
2 parents 96c582b + ef4a341 commit c267e8c

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)