diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7462e5c709443dc115909d1014340e9595ad0ee7..9da1ab0fb92954fdd7f6a47307166766a9d68170 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,7 +17,6 @@ build: - echo "BUILD_DATE=${BUILD_DATE}" > build.env - echo "JAR_NAME=${JAR_NAME}" >> build.env - echo "BUILD_JOB_ID=${CI_JOB_ID}" >> build.env - - ls -l artifacts: paths: - "PrivateServerPlugin-*.jar" diff --git a/src/main/java/com/slprojects/privateServerPlugin/PrivateServerPlugin.java b/src/main/java/com/slprojects/privateServerPlugin/PrivateServerPlugin.java index b1b9f68a93a7f5adead2fa1a59625ee99cf06a04..940f473bb9fd319fe37232cb29b1cf82a454e2a4 100644 --- a/src/main/java/com/slprojects/privateServerPlugin/PrivateServerPlugin.java +++ b/src/main/java/com/slprojects/privateServerPlugin/PrivateServerPlugin.java @@ -1,25 +1,20 @@ package com.slprojects.privateServerPlugin; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.minimessage.MiniMessage; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.java.JavaPlugin; -import org.jetbrains.annotations.NotNull; - -import java.util.ArrayList; -import java.util.List; public final class PrivateServerPlugin extends JavaPlugin implements Listener { - private List<Integer> shownWelcomeMessagesIndexes; + private WelcomeMessageManager welcomeMessageManager; @Override public void onEnable() { getServer().getPluginManager().registerEvents(this, this); - this.shownWelcomeMessagesIndexes = new ArrayList<>(); + this.welcomeMessageManager = new WelcomeMessageManager(); } @Override @@ -30,41 +25,10 @@ public final class PrivateServerPlugin extends JavaPlugin implements Listener { @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { event.joinMessage(null); + Component welcomeMessage = welcomeMessageManager.getNextRandomMessage(event.getPlayer().getName()); for (Player p : getServer().getOnlinePlayers()) { - p.sendMessage(chooseRandomWelcomeMessage(event.getPlayer().getName())); - } - } - - private Component chooseRandomWelcomeMessage(String playerNickname) { - List<String> welcomeMessages = getWelcomeMessages(playerNickname); - - if (welcomeMessages.size() == shownWelcomeMessagesIndexes.size()) { - shownWelcomeMessagesIndexes.clear(); + p.sendMessage(welcomeMessage); } - - int choosenMessageIndex = (int) (Math.random() * welcomeMessages.size()); - String choosenMessage = welcomeMessages.get(choosenMessageIndex); - - while (shownWelcomeMessagesIndexes.contains(choosenMessageIndex)) { - choosenMessageIndex = (int) (Math.random() * welcomeMessages.size()); - choosenMessage = welcomeMessages.get(choosenMessageIndex); - } - - shownWelcomeMessagesIndexes.add(choosenMessageIndex); - return MiniMessage.miniMessage().deserialize(choosenMessage); - } - - private static @NotNull List<String> getWelcomeMessages(String playerNickname) { - List<String> welcomeMessages = new ArrayList<>(); - welcomeMessages.add("Un <green>" + playerNickname + "<reset> sauvage apparaît!"); - welcomeMessages.add("Ah que coucou <green>" + playerNickname + "<reset> !"); - welcomeMessages.add("Tiens, voilà <green>" + playerNickname + "<reset> !"); - welcomeMessages.add("Yop <green>" + playerNickname + "<reset> !"); - welcomeMessages.add("C'est qui ? C'est <green>" + playerNickname + "<reset> qui arrive !"); - welcomeMessages.add("Bim bam boum, <green>" + playerNickname + "<reset> est là !"); - welcomeMessages.add("Yo yo yo <green>" + playerNickname + "<reset> est dans la place !"); - welcomeMessages.add("Faites du bruit pour notre cher <green>" + playerNickname + "<reset> !"); - return welcomeMessages; } } diff --git a/src/main/java/com/slprojects/privateServerPlugin/WelcomeMessageManager.java b/src/main/java/com/slprojects/privateServerPlugin/WelcomeMessageManager.java new file mode 100644 index 0000000000000000000000000000000000000000..cf8c457de6b57a60311613708940561a686c47e2 --- /dev/null +++ b/src/main/java/com/slprojects/privateServerPlugin/WelcomeMessageManager.java @@ -0,0 +1,45 @@ +package com.slprojects.privateServerPlugin; + +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.minimessage.MiniMessage; + +import java.util.ArrayList; +import java.util.List; + +public class WelcomeMessageManager { + private final List<Integer> shownWelcomeMessagesIndexes = new ArrayList<>(); + private static final List<String> WELCOME_MESSAGE_TEMPLATES = List.of( + "Un <green>%s<reset> sauvage apparaît!", + "Ah que coucou <green>%s<reset> !", + "Tiens, voilà <green>%s<reset> !", + "Yop <green>%s<reset> !", + "C'est qui ? C'est <green>%s<reset> qui arrive !", + "Bim bam boum, <green>%s<reset> est là !", + "Yo yo yo <green>%s<reset> est dans la place !", + "Faites du bruit pour notre cher <green>%s<reset> !" + ); + + public Component getNextRandomMessage(String playerNickname) { + List<String> welcomeMessages = generateMessages(playerNickname); + + if (welcomeMessages.size() == shownWelcomeMessagesIndexes.size()) { + shownWelcomeMessagesIndexes.clear(); + } + + int chosenIndex; + do { + chosenIndex = (int) (Math.random() * welcomeMessages.size()); + } while (shownWelcomeMessagesIndexes.contains(chosenIndex)); + + shownWelcomeMessagesIndexes.add(chosenIndex); + return MiniMessage.miniMessage().deserialize(welcomeMessages.get(chosenIndex)); + } + + private List<String> generateMessages(String playerNickname) { + List<String> messages = new ArrayList<>(); + for (String template : WELCOME_MESSAGE_TEMPLATES) { + messages.add(String.format(template, playerNickname)); + } + return messages; + } +}