|
@@ -7,10 +7,12 @@ import java.io.FileWriter;
|
|
|
import java.io.IOException;
|
|
|
import java.io.ObjectInputStream;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.Random;
|
|
|
import java.util.UUID;
|
|
|
import java.util.logging.Level;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import de.Linus122.Handlers.VanishHandler;
|
|
|
import de.myzelyam.api.vanish.VanishAPI;
|
|
@@ -21,6 +23,7 @@ import org.bukkit.event.EventHandler;
|
|
|
import org.bukkit.event.Listener;
|
|
|
import org.bukkit.event.entity.PlayerDeathEvent;
|
|
|
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
|
|
+import org.bukkit.event.player.PlayerAdvancementDoneEvent;
|
|
|
import org.bukkit.event.player.PlayerJoinEvent;
|
|
|
import org.bukkit.event.player.PlayerQuitEvent;
|
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
@@ -224,6 +227,43 @@ public class TelegramChat extends JavaPlugin implements Listener {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @EventHandler
|
|
|
+ public void onAdvancement(PlayerAdvancementDoneEvent e) {
|
|
|
+
|
|
|
+ if (!this.getConfig().getBoolean("enable-advancement"))
|
|
|
+ return;
|
|
|
+
|
|
|
+ if(e.getAdvancement() == null ||
|
|
|
+ e.getAdvancement().getKey() == null ||
|
|
|
+ e.getAdvancement().getKey().getKey() == null ||
|
|
|
+ !e.getAdvancement().getKey().getKey().contains("/"))
|
|
|
+ return;
|
|
|
+
|
|
|
+ String type = e.getAdvancement().getKey().getKey().split("/")[0];
|
|
|
+
|
|
|
+ List<String> advancementTypes = Arrays.stream(this.getConfig().getString("advancement-types").split("\\,")) // split on comma
|
|
|
+ .map(str -> str.trim()) // remove white-spaces
|
|
|
+ .collect(Collectors.toList()); // collect to List
|
|
|
+
|
|
|
+ if (telegramHook.connected && advancementTypes.contains(type)) {
|
|
|
+
|
|
|
+ String toDisplay = e.getAdvancement().getKey().getKey()
|
|
|
+ .replace(type + "/", "")
|
|
|
+ .replaceAll("_", " ");
|
|
|
+
|
|
|
+ if(toDisplay.equals("root"))
|
|
|
+ return;
|
|
|
+
|
|
|
+ ChatMessageToTelegram chat = new ChatMessageToTelegram();
|
|
|
+ chat.parse_mode = "Markdown";
|
|
|
+ chat.text = Utils.formatMSG(
|
|
|
+ "advancement-message",
|
|
|
+ e.getPlayer().getDisplayName(),
|
|
|
+ toDisplay)[0];
|
|
|
+ telegramHook.sendAll(chat);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@EventHandler
|
|
|
public void onQuit(PlayerQuitEvent e) {
|
|
|
if (!this.getConfig().getBoolean("enable-joinquitmessages"))
|