Skip to content

Commit 20ff98d

Browse files
v2.2
1 parent 0bb5cdd commit 20ff98d

File tree

2 files changed

+86
-26
lines changed

2 files changed

+86
-26
lines changed

src/main/java/org/vortex/resourceloader/commands/CommandManager.java

Lines changed: 81 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,39 +56,40 @@ public MergeCommand getMergeCommand() {
5656
}
5757

5858
private static class HelpCommand implements CommandExecutor {
59-
private final Resourceloader plugin;
6059

6160
public HelpCommand(Resourceloader plugin) {
62-
this.plugin = plugin;
61+
// Constructor for consistency
6362
}
6463

6564
@Override
6665
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
67-
sender.sendMessage(plugin.getMessageManager().getMessage("help.header"));
66+
sender.sendMessage("§6=== ResourceLoader Help ===");
6867

6968
if (sender.hasPermission("resourceloader.load")) {
70-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.load"));
71-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.load-specific"));
69+
sender.sendMessage("§e/load [pack] §7- Load a resource pack");
70+
sender.sendMessage("§e/load <pack> §7- Load a specific resource pack");
7271
}
7372

7473
if (sender.hasPermission("resourceloader.list")) {
75-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.list"));
74+
sender.sendMessage("§e/listpacks §7- List available resource packs");
7675
}
7776

7877
if (sender.hasPermission("resourceloader.autoload")) {
79-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.autoload"));
78+
sender.sendMessage("§e/autoload <pack|clear> §7- Set automatic pack loading");
8079
}
8180

8281
if (sender.hasPermission("resourceloader.admin")) {
83-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.admin-header"));
84-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.merge"));
85-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.remove"));
86-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.reload"));
87-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.version"));
88-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.cache"));
82+
sender.sendMessage("§6=== Admin Commands ===");
83+
sender.sendMessage("§e/mergepack <output> <pack1> <pack2> §7- Merge resource packs");
84+
sender.sendMessage("§e/mergegui §7- Open merge GUI");
85+
sender.sendMessage("§e/removepack <pack> §7- Remove a resource pack");
86+
sender.sendMessage("§e/checkpack <pack> §7- Validate a resource pack");
87+
sender.sendMessage("§e/resourcereload §7- Reload configuration");
88+
sender.sendMessage("§e/resourceversion §7- Check plugin version");
89+
sender.sendMessage("§e/clearcache §7- Clear resource pack cache");
8990
}
9091

91-
sender.sendMessage(plugin.getMessageManager().getMessageNoPrefix("help.footer"));
92+
sender.sendMessage("§6==========================");
9293
return true;
9394
}
9495
}
@@ -197,9 +198,72 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
197198
return true;
198199
}
199200

200-
String version = plugin.getDescription().getVersion();
201-
sender.sendMessage(plugin.getMessageManager().formatMessage("version.current",
202-
"version", version));
201+
String currentVersion = plugin.getDescription().getVersion();
202+
sender.sendMessage("§eChecking for updates...");
203+
204+
// Use async task to check for updates
205+
plugin.getServer().getScheduler().runTaskAsynchronously(plugin, () -> {
206+
try {
207+
java.net.URL url = java.net.URI.create("https://api.github.com/repos/DefectiveVortex/Resourceloader/releases/latest").toURL();
208+
java.net.HttpURLConnection conn = (java.net.HttpURLConnection) url.openConnection();
209+
conn.setRequestMethod("GET");
210+
conn.setRequestProperty("Accept", "application/vnd.github.v3+json");
211+
conn.setConnectTimeout(5000);
212+
conn.setReadTimeout(5000);
213+
214+
if (conn.getResponseCode() == java.net.HttpURLConnection.HTTP_OK) {
215+
java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(conn.getInputStream()));
216+
StringBuilder response = new StringBuilder();
217+
String line;
218+
219+
while ((line = reader.readLine()) != null) {
220+
response.append(line);
221+
}
222+
reader.close();
223+
224+
// Parse JSON response
225+
String jsonResponse = response.toString();
226+
String latestVersion = null;
227+
228+
// Simple JSON parsing to extract tag_name
229+
int tagStart = jsonResponse.indexOf("\"tag_name\":\"") + 12;
230+
if (tagStart > 11) {
231+
int tagEnd = jsonResponse.indexOf("\"", tagStart);
232+
if (tagEnd > tagStart) {
233+
latestVersion = jsonResponse.substring(tagStart, tagEnd).replace("v", "");
234+
}
235+
}
236+
237+
final String finalLatestVersion = latestVersion;
238+
plugin.getServer().getScheduler().runTask(plugin, () -> {
239+
if (finalLatestVersion != null) {
240+
sender.sendMessage("§eCurrent version: §f" + currentVersion);
241+
sender.sendMessage("§eLatest version: §f" + finalLatestVersion);
242+
243+
if (!currentVersion.equals(finalLatestVersion)) {
244+
sender.sendMessage("§aA new version is available!");
245+
sender.sendMessage("§eDownload it from: §fhttps://github.com/DefectiveVortex/Resourceloader/releases/latest");
246+
} else {
247+
sender.sendMessage("§aYou are running the latest version!");
248+
}
249+
} else {
250+
sender.sendMessage("§cFailed to parse version information.");
251+
}
252+
});
253+
} else {
254+
final int responseCode = conn.getResponseCode();
255+
plugin.getServer().getScheduler().runTask(plugin, () -> {
256+
sender.sendMessage("§cFailed to check for updates. HTTP " + responseCode);
257+
});
258+
}
259+
} catch (Exception e) {
260+
plugin.getServer().getScheduler().runTask(plugin, () -> {
261+
sender.sendMessage("§cFailed to check for updates: " + e.getMessage());
262+
sender.sendMessage("§eCurrent version: §f" + currentVersion);
263+
});
264+
}
265+
});
266+
203267
return true;
204268
}
205269
}

src/main/java/org/vortex/resourceloader/commands/RemovePackCommand.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,28 +27,25 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
2727
}
2828

2929
if (args.length != 1) {
30-
sender.sendMessage(plugin.getMessageManager().getMessage("general.invalid-usage"));
30+
sender.sendMessage("§cUsage: /removepack <packname>");
3131
return true;
3232
}
3333

3434
String packName = args[0];
3535
if (!plugin.getResourcePacks().containsKey(packName)) {
36-
sender.sendMessage(plugin.getMessageManager().formatMessage("general.invalid-pack",
37-
"pack", packName));
36+
sender.sendMessage("§cResource pack '" + packName + "' not found!");
3837
return true;
3938
}
4039

4140
File packFile = plugin.getResourcePacks().get(packName);
4241
if (packFile != null && packFile.exists()) {
4342
try {
4443
if (!packFile.delete()) {
45-
sender.sendMessage(plugin.getMessageManager().formatMessage("general.pack-remove-failed",
46-
"pack", packName));
44+
sender.sendMessage("§cFailed to remove resource pack '" + packName + "'!");
4745
return true;
4846
}
4947
} catch (SecurityException e) {
50-
sender.sendMessage(plugin.getMessageManager().formatMessage("general.pack-remove-failed",
51-
"pack", packName));
48+
sender.sendMessage("§cFailed to remove resource pack '" + packName + "'!");
5249
plugin.getLogger().warning("Failed to delete pack file: " + e.getMessage());
5350
return true;
5451
}
@@ -61,8 +58,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
6158
// Remove from memory
6259
plugin.getResourcePacks().remove(packName);
6360

64-
sender.sendMessage(plugin.getMessageManager().formatMessage("general.pack-removed",
65-
"pack", packName));
61+
sender.sendMessage("§aSuccessfully removed resource pack '" + packName + "'!");
6662
return true;
6763
}
6864

0 commit comments

Comments
 (0)