Skip to content

Commit 070754f

Browse files
Test Function
Test function added
1 parent f5a48d3 commit 070754f

File tree

11 files changed

+115
-4
lines changed

11 files changed

+115
-4
lines changed
Binary file not shown.

bin/main/messages.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ commands:
105105
- "&e/welcome help &7- Show this help menu"
106106
- "&e/welcome reload &7- Reload configuration"
107107
- "&e/welcome test <player> &7- Test join message for player"
108+
- "&e/welcome testall <player> &7- Showcase all features for screenshots"
108109
- "&e/welcome stats <player> &7- View player statistics"
109110
- "&e/welcome reset <player> &7- Reset player data"
110111
- "&e/welcome toggle &7- Toggle your join/quit messages"

bin/main/plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ website: https://github.com/FiveDollaGobby/WelcomeMessages
99
commands:
1010
welcome:
1111
description: Main command for WelcomeMessages
12-
usage: /<command> [help|reload|test|stats|reset|toggle]
12+
usage: /<command> [help|reload|test|testall|stats|reset|toggle]
1313
aliases: [wm, welcomemessages]
1414
permission: welcome.use
1515
permission-message: "&cYou don't have permission to use this command!"

images/IMG2.PNG

30.8 KB
Loading

images/IMG3.PNG

27.2 KB
Loading

images/IMG4.PNG

29.3 KB
Loading

images/IMG5.PNG

12.2 KB
Loading

images/IMG6.PNG

50 KB
Loading

src/main/java/com/FiveDollaGobby/WelcomeMessages/commands/WelcomeCommand.java

Lines changed: 111 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
4141
handleTest(sender, args);
4242
break;
4343

44+
case "testall":
45+
handleTestAll(sender, args);
46+
break;
47+
4448
case "stats":
4549
handleStats(sender, args);
4650
break;
@@ -145,6 +149,111 @@ private void handleTest(CommandSender sender, String[] args) {
145149
}
146150
}
147151

152+
private void handleTestAll(CommandSender sender, String[] args) {
153+
if (!sender.hasPermission("welcome.test")) {
154+
MessageUtils.sendMessage(sender, plugin.getMessagesConfig().getString("commands.no-permission"));
155+
return;
156+
}
157+
158+
Player target;
159+
if (args.length > 1) {
160+
target = Bukkit.getPlayer(args[1]);
161+
if (target == null) {
162+
String msg = plugin.getMessagesConfig().getString("commands.player-not-found");
163+
MessageUtils.sendMessage(sender, msg.replace("{player}", args[1]));
164+
return;
165+
}
166+
} else if (sender instanceof Player) {
167+
target = (Player) sender;
168+
} else {
169+
MessageUtils.sendMessage(sender, "&cPlease specify a player name!");
170+
return;
171+
}
172+
173+
MessageUtils.sendMessage(sender, "&6&l=== WelcomeMessages Feature Showcase ===");
174+
MessageUtils.sendMessage(sender, "&7Testing all features for: &e" + target.getName());
175+
MessageUtils.sendMessage(sender, "");
176+
177+
// Test 1: Basic Messages
178+
MessageUtils.sendMessage(sender, "&a&l1. Basic Messages:");
179+
boolean isFirstJoin = plugin.getDataManager().isFirstJoin(target);
180+
String joinMessage = plugin.getMessageManager().getJoinMessage(target, isFirstJoin);
181+
String quitMessage = plugin.getMessageManager().getQuitMessage(target);
182+
183+
MessageUtils.sendMessage(sender, "&7Join: " + joinMessage);
184+
MessageUtils.sendMessage(sender, "&7Quit: " + quitMessage);
185+
MessageUtils.sendMessage(sender, "");
186+
187+
// Test 2: RGB and Gradient Text
188+
MessageUtils.sendMessage(sender, "&a&l2. RGB & Gradient Text:");
189+
MessageUtils.sendMessage(sender, "&7Basic RGB: &#FF6B6BHello &#4ECDC4World &#45B7D1Test");
190+
MessageUtils.sendMessage(sender, "&7Gradient: <gradient:#FF6B6B:#4ECDC4>Welcome to our server!</gradient>");
191+
MessageUtils.sendMessage(sender, "&7Rainbow: <rainbow>This is rainbow text!</rainbow>");
192+
MessageUtils.sendMessage(sender, "");
193+
194+
// Test 3: PlaceholderAPI Examples
195+
MessageUtils.sendMessage(sender, "&a&l3. PlaceholderAPI Examples:");
196+
MessageUtils.sendMessage(sender, "&7Join Count: &e" + plugin.getDataManager().getJoinCount(target));
197+
MessageUtils.sendMessage(sender, "&7First Join: &e" + (isFirstJoin ? "Yes" : "No"));
198+
MessageUtils.sendMessage(sender, "&7Messages Disabled: &e" + plugin.getDataManager().hasMessagesDisabled(target));
199+
MessageUtils.sendMessage(sender, "&7Player Status: &e" + (isFirstJoin ? "New Player" : "Returning Player"));
200+
MessageUtils.sendMessage(sender, "");
201+
202+
// Test 4: Rank Messages
203+
MessageUtils.sendMessage(sender, "&a&l4. Rank System:");
204+
String[] ranks = {"owner", "admin", "mvp", "vip"};
205+
for (String rank : ranks) {
206+
if (target.hasPermission("welcome.rank." + rank)) {
207+
MessageUtils.sendMessage(sender, "&7You have &e" + rank.toUpperCase() + " &7rank permissions");
208+
break;
209+
}
210+
}
211+
MessageUtils.sendMessage(sender, "");
212+
213+
// Test 5: Effects (if sender is target)
214+
if (sender.equals(target)) {
215+
MessageUtils.sendMessage(sender, "&a&l5. Visual Effects (starting in 3 seconds):");
216+
MessageUtils.sendMessage(sender, "&7- Title effects");
217+
MessageUtils.sendMessage(sender, "&7- Sound effects");
218+
MessageUtils.sendMessage(sender, "&7- Particle effects");
219+
MessageUtils.sendMessage(sender, "&7- Firework effects");
220+
MessageUtils.sendMessage(sender, "");
221+
222+
// Schedule effects with delays for better showcase
223+
Bukkit.getScheduler().runTaskLater(plugin, () -> {
224+
MessageUtils.sendMessage(target, "&6&l>>> Title Effect <<<");
225+
plugin.getEffectManager().sendTitle(target, isFirstJoin);
226+
}, 60L);
227+
228+
Bukkit.getScheduler().runTaskLater(plugin, () -> {
229+
MessageUtils.sendMessage(target, "&6&l>>> Sound Effect <<<");
230+
plugin.getEffectManager().playJoinSound(target, isFirstJoin);
231+
}, 80L);
232+
233+
Bukkit.getScheduler().runTaskLater(plugin, () -> {
234+
MessageUtils.sendMessage(target, "&6&l>>> Particle Effect <<<");
235+
plugin.getEffectManager().playJoinParticles(target, isFirstJoin);
236+
}, 100L);
237+
238+
Bukkit.getScheduler().runTaskLater(plugin, () -> {
239+
MessageUtils.sendMessage(target, "&6&l>>> Firework Effect <<<");
240+
plugin.getEffectManager().launchFireworks(target);
241+
}, 120L);
242+
243+
Bukkit.getScheduler().runTaskLater(plugin, () -> {
244+
MessageUtils.sendMessage(target, "&6&l=== Showcase Complete! ===");
245+
MessageUtils.sendMessage(target, "&7All features have been demonstrated.");
246+
MessageUtils.sendMessage(target, "&7Perfect for screenshots! 📸");
247+
}, 140L);
248+
} else {
249+
MessageUtils.sendMessage(sender, "&a&l5. Visual Effects:");
250+
MessageUtils.sendMessage(sender, "&7Effects can only be shown to the target player");
251+
MessageUtils.sendMessage(sender, "&7Run &e/welcome testall &7on yourself to see effects");
252+
MessageUtils.sendMessage(sender, "");
253+
MessageUtils.sendMessage(sender, "&6&l=== Showcase Complete! ===");
254+
}
255+
}
256+
148257
private void handleStats(CommandSender sender, String[] args) {
149258
if (!sender.hasPermission("welcome.stats")) {
150259
MessageUtils.sendMessage(sender, plugin.getMessagesConfig().getString("commands.no-permission"));
@@ -232,12 +341,12 @@ public List<String> onTabComplete(CommandSender sender, Command command, String
232341
List<String> completions = new ArrayList<>();
233342

234343
if (args.length == 1) {
235-
List<String> subCommands = Arrays.asList("help", "reload", "test", "stats", "reset", "toggle", "version");
344+
List<String> subCommands = Arrays.asList("help", "reload", "test", "testall", "stats", "reset", "toggle", "version");
236345
StringUtil.copyPartialMatches(args[0], subCommands, completions);
237346
} else if (args.length == 2) {
238347
String subCommand = args[0].toLowerCase();
239348

240-
if (subCommand.equals("test") || subCommand.equals("stats") || subCommand.equals("reset")) {
349+
if (subCommand.equals("test") || subCommand.equals("testall") || subCommand.equals("stats") || subCommand.equals("reset")) {
241350
List<String> playerNames = Bukkit.getOnlinePlayers().stream()
242351
.map(Player::getName)
243352
.collect(Collectors.toList());

src/main/resources/messages.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ commands:
105105
- "&e/welcome help &7- Show this help menu"
106106
- "&e/welcome reload &7- Reload configuration"
107107
- "&e/welcome test <player> &7- Test join message for player"
108+
- "&e/welcome testall <player> &7- Showcase all features for screenshots"
108109
- "&e/welcome stats <player> &7- View player statistics"
109110
- "&e/welcome reset <player> &7- Reset player data"
110111
- "&e/welcome toggle &7- Toggle your join/quit messages"

0 commit comments

Comments
 (0)