Skip to content

Commit 5fbcfb2

Browse files
author
BuildTools
committed
Update Checker & Disabled Worlds
1 parent 29e99cd commit 5fbcfb2

File tree

13 files changed

+262
-27
lines changed

13 files changed

+262
-27
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>1.0</version>
9+
<version>1.1</version>
1010
<packaging>jar</packaging>
1111

1212
<name>RedLightGreenLight</name>

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import me.loving11ish.redlightgreenlight.commands.CommandManager;
44
import me.loving11ish.redlightgreenlight.events.*;
5+
import me.loving11ish.redlightgreenlight.updatesystem.UpdateChecker;
6+
import me.loving11ish.redlightgreenlight.utils.ColorUtils;
57
import org.bukkit.Bukkit;
68
import org.bukkit.ChatColor;
79
import org.bukkit.plugin.PluginDescriptionFile;
@@ -61,6 +63,19 @@ public void onEnable() {
6163
logger.info(ChatColor.AQUA + "RedLightGreenLight - has been loaded successfully");
6264
logger.info(ChatColor.AQUA + "RedLightGreenLight - Plugin Version: " + ChatColor.GREEN + pluginVersion);
6365
logger.info("-------------------------------------------");
66+
67+
//Check for available updates
68+
new UpdateChecker(this, 96866).getVersion(version -> {
69+
if (this.getDescription().getVersion().equalsIgnoreCase(version)) {
70+
logger.info(ColorUtils.translateColorCodes(getConfig().getString("No-update-1")));
71+
logger.info(ColorUtils.translateColorCodes(getConfig().getString("No-update-2")));
72+
logger.info(ColorUtils.translateColorCodes(getConfig().getString("No-update-3")));
73+
}else {
74+
logger.warning(ColorUtils.translateColorCodes(getConfig().getString("Update-1")));
75+
logger.warning(ColorUtils.translateColorCodes(getConfig().getString("Update-2")));
76+
logger.warning(ColorUtils.translateColorCodes(getConfig().getString("Update-3")));
77+
}
78+
});
6479
}
6580

6681
@Override

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package me.loving11ish.redlightgreenlight.commands;
22

33
import me.loving11ish.redlightgreenlight.RedLightGreenLight;
4+
import me.loving11ish.redlightgreenlight.commands.consolecommands.ConsoleHelp;
45
import me.loving11ish.redlightgreenlight.commands.consolecommands.ConsoleReload;
6+
import me.loving11ish.redlightgreenlight.commands.subcommands.Help;
57
import me.loving11ish.redlightgreenlight.commands.subcommands.JoinGame;
68
import me.loving11ish.redlightgreenlight.commands.subcommands.LeaveGame;
79
import me.loving11ish.redlightgreenlight.commands.subcommands.Reload;
@@ -24,9 +26,11 @@ public class CommandManager implements TabExecutor {
2426
public CommandManager() {
2527
//Get the subcommands so we can access them in the command manager class(here)
2628
consolecommands.add(new ConsoleReload());
29+
consolecommands.add(new ConsoleHelp());
2730
subcommands.add(new Reload());
2831
subcommands.add(new JoinGame());
2932
subcommands.add(new LeaveGame());
33+
subcommands.add(new Help());
3034
}
3135

3236
@Override
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package me.loving11ish.redlightgreenlight.commands.consolecommands;
2+
3+
import me.loving11ish.redlightgreenlight.RedLightGreenLight;
4+
import me.loving11ish.redlightgreenlight.commands.ConsoleCommand;
5+
import me.loving11ish.redlightgreenlight.utils.ColorUtils;
6+
7+
import java.util.logging.Logger;
8+
9+
public class ConsoleHelp extends ConsoleCommand {
10+
11+
Logger logger = RedLightGreenLight.getPlugin().getLogger();
12+
13+
@Override
14+
public String getName() {
15+
return "help";
16+
}
17+
18+
@Override
19+
public String getDescription() {
20+
return "The help menu for the plugin.";
21+
}
22+
23+
@Override
24+
public String getSyntax() {
25+
return "redlight help";
26+
}
27+
28+
@Override
29+
public void perform(String[] args) {
30+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-1")));
31+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-2")));
32+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-3")));
33+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-4")));
34+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-5")));
35+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-6")));
36+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-7")));
37+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-8")));
38+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-9")));
39+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-10")));
40+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-11")));
41+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-12")));
42+
logger.info(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-13")));
43+
}
44+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package me.loving11ish.redlightgreenlight.commands.subcommands;
2+
3+
import me.loving11ish.redlightgreenlight.RedLightGreenLight;
4+
import me.loving11ish.redlightgreenlight.commands.SubCommand;
5+
import me.loving11ish.redlightgreenlight.utils.ColorUtils;
6+
import org.bukkit.entity.Player;
7+
8+
import java.util.List;
9+
10+
public class Help extends SubCommand {
11+
@Override
12+
public String getName() {
13+
return "help";
14+
}
15+
16+
@Override
17+
public String getDescription() {
18+
return "The help menu for the plugin.";
19+
}
20+
21+
@Override
22+
public String getSyntax() {
23+
return "/redlight help";
24+
}
25+
26+
@Override
27+
public void perform(Player player, String[] args) {
28+
if (player.hasPermission("redlight.help")||player.hasPermission("redlight.*")||player.isOp()){
29+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-1")));
30+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-2")));
31+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-3")));
32+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-4")));
33+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-5")));
34+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-6")));
35+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-7")));
36+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-8")));
37+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-9")));
38+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-10")));
39+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-11")));
40+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-12")));
41+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-13")));
42+
43+
}else {
44+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Help-command-no-permission")));
45+
}
46+
}
47+
48+
@Override
49+
public List<String> getSubcommandArguments(Player player, String[] args) {
50+
return null;
51+
}
52+
}

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,16 @@ public String getSyntax() {
2727
@Override
2828
public void perform(Player player, String[] args) {
2929
UUID uuid = player.getUniqueId();
30-
if (!(GameManager.getGame1().contains(uuid))){
31-
GameManager.addToGame1(player);
32-
PlayerInventoryHandler.storeAndClearInventory(player);
33-
GameManager.startGameArena1(player);
30+
if (!(RedLightGreenLight.getPlugin().getConfig().getList("Disabled-worlds").contains(player.getWorld().getName()))){
31+
if (!(GameManager.getGame1().contains(uuid))){
32+
GameManager.addToGame1(player);
33+
PlayerInventoryHandler.storeAndClearInventory(player);
34+
GameManager.startGameArena1(player);
35+
}else {
36+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Failed-join-arena")));
37+
}
3438
}else {
35-
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Failed-join-arena")));
39+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Disabled-world-message")));
3640
}
3741
}
3842

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

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,17 @@ public String getSyntax() {
2929
@Override
3030
public void perform(Player player, String[] args) {
3131
UUID uuid = player.getUniqueId();
32-
if (GameManager.getGame1().contains(uuid)){
33-
GameManager.teleportToLobby(player);
34-
GameManager.leaveGame1(player);
35-
PlayerInventoryHandler.restoreInventory(player);
36-
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Successful-leave-game")));
32+
if (!(RedLightGreenLight.getPlugin().getConfig().getList("Disabled-worlds").contains(player.getWorld().getName()))){
33+
if (GameManager.getGame1().contains(uuid)){
34+
GameManager.teleportToLobby(player);
35+
GameManager.leaveGame1(player);
36+
PlayerInventoryHandler.restoreInventory(player);
37+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Successful-leave-game")));
38+
}else {
39+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Player-not-in-game")));
40+
}
3741
}else {
38-
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Player-not-in-game")));
42+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Disabled-world-message")));
3943
}
4044
}
4145

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package me.loving11ish.redlightgreenlight.updatesystem;
2+
3+
import me.loving11ish.redlightgreenlight.RedLightGreenLight;
4+
import me.loving11ish.redlightgreenlight.utils.ColorUtils;
5+
import org.bukkit.entity.Player;
6+
import org.bukkit.event.EventHandler;
7+
import org.bukkit.event.Listener;
8+
import org.bukkit.event.player.PlayerJoinEvent;
9+
10+
public class JoinEvent implements Listener {
11+
12+
RedLightGreenLight plugin;
13+
14+
public JoinEvent(RedLightGreenLight plugin) {
15+
this.plugin = plugin;
16+
}
17+
18+
@EventHandler
19+
public void onJoin(PlayerJoinEvent event) {
20+
Player player = event.getPlayer();
21+
if (player.hasPermission("playergui.update")) {
22+
new UpdateChecker(plugin, 96866).getVersion(version -> {
23+
try {
24+
if (!(plugin.getDescription().getVersion().equalsIgnoreCase(version))) {
25+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Update-1")));
26+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Update-2")));
27+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Update-3")));
28+
}
29+
}catch (NullPointerException e){
30+
player.sendMessage(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Update-check-failure")));
31+
}
32+
});
33+
}
34+
}
35+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package me.loving11ish.redlightgreenlight.updatesystem;
2+
3+
import me.loving11ish.redlightgreenlight.RedLightGreenLight;
4+
import me.loving11ish.redlightgreenlight.utils.ColorUtils;
5+
import org.bukkit.Bukkit;
6+
import org.bukkit.plugin.Plugin;
7+
import org.bukkit.util.Consumer;
8+
9+
import java.io.IOException;
10+
import java.io.InputStream;
11+
import java.net.URL;
12+
import java.util.Scanner;
13+
import java.util.logging.Logger;
14+
15+
public class UpdateChecker {
16+
17+
private Plugin plugin;
18+
private int resourceId;
19+
Logger logger = RedLightGreenLight.getPlugin().getLogger();
20+
21+
public UpdateChecker(Plugin plugin, int resourceId) {
22+
this.plugin = plugin;
23+
this.resourceId = resourceId;
24+
}
25+
26+
public void getVersion(final Consumer<String> consumer) {
27+
Bukkit.getScheduler().runTaskAsynchronously(this.plugin, () -> {
28+
try (InputStream inputStream = new URL("https://api.spigotmc.org/legacy/update.php?resource=" + this.resourceId).openStream(); Scanner scanner = new Scanner(inputStream)) {
29+
if (scanner.hasNext()) {
30+
consumer.accept(scanner.next());
31+
}
32+
} catch (IOException exception) {
33+
logger.warning(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Update-check-failure") + exception.getMessage()));
34+
}
35+
});
36+
}
37+
}

src/main/java/me/loving11ish/redlightgreenlight/utils/CountDownTasksUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public void run() {
6969
player.setInvulnerable(true);
7070
player.setHealth(20.0);
7171
player.setFoodLevel(20);
72-
if (!(player.hasPermission("redlight.gamemode.bypass")||player.hasPermission("redlight.*")||player.isOp())){
72+
if (!(player.hasPermission("redlight.bypass.gamemode")||player.hasPermission("redlight.*")||player.isOp())){
7373
player.setGameMode(GameMode.ADVENTURE);
7474
}
7575
player.sendTitle(ColorUtils.translateColorCodes(RedLightGreenLight.getPlugin().getConfig().getString("Game-start-title")),

0 commit comments

Comments
 (0)