diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/xyz/soukup/discordauthorizator/DiscordAuthorizator.java b/src/main/java/xyz/soukup/discordauthorizator/DiscordAuthorizator.java index 503580e..2a19d44 100644 --- a/src/main/java/xyz/soukup/discordauthorizator/DiscordAuthorizator.java +++ b/src/main/java/xyz/soukup/discordauthorizator/DiscordAuthorizator.java @@ -65,6 +65,7 @@ public final class DiscordAuthorizator extends JavaPlugin { jda.getPresence().setActivity(Activity.customStatus("Nikdo na serveru")); Bukkit.getPluginManager().registerEvents(new playerLogin(),this ); Bukkit.getPluginManager().registerEvents(new playerLeave(),this ); + Bukkit.getPluginManager().registerEvents(new playerJoin(), this); Bukkit.getPluginManager().registerEvents(new playerDie(),this ); Bukkit.getPluginManager().registerEvents(new ChatEvent(), this); diff --git a/src/main/java/xyz/soukup/discordauthorizator/events/playerJoin.java b/src/main/java/xyz/soukup/discordauthorizator/events/playerJoin.java index 5672106..2c26144 100644 --- a/src/main/java/xyz/soukup/discordauthorizator/events/playerJoin.java +++ b/src/main/java/xyz/soukup/discordauthorizator/events/playerJoin.java @@ -1,11 +1,20 @@ package xyz.soukup.discordauthorizator.events; +import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.JDA; +import net.dv8tion.jda.api.entities.Guild; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Color; +import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import org.bukkit.event.player.AsyncPlayerPreLoginEvent; import org.bukkit.event.player.PlayerJoinEvent; import xyz.soukup.discordauthorizator.DiscordAuthorizator; +import java.util.Objects; + public class playerJoin implements Listener { @EventHandler public void playerQuit(PlayerJoinEvent event){ @@ -15,5 +24,34 @@ public class playerJoin implements Listener { DiscordAuthorizator.updateStatus(); } }, 30L); + FileConfiguration config = DiscordAuthorizator.getPlugin(DiscordAuthorizator.class).getConfig(); + JDA jda = DiscordAuthorizator.getJDA(); + Guild guild = jda.getGuildById(Objects.requireNonNull(config.getString("guild"))); + assert guild != null; + String id = config.getString("players." + event.getPlayer().getDisplayName() + ".discord"); + assert id != null; + Color color; + guild.retrieveMemberById(id).queue( + member -> { + net.md_5.bungee.api.ChatColor memberColor = DiscordAuthorizator.convertToChatColor(Objects.requireNonNull(member.getColor())); + DiscordAuthorizator.playerColor.put(event.getPlayer().getDisplayName(), memberColor); + DiscordAuthorizator.playerRole.put(event.getPlayer().getDisplayName(), member.getRoles().get(0)); + DiscordAuthorizator.updateStatus(); + EmbedBuilder eb = new EmbedBuilder(); + eb.setColor(java.awt.Color.GREEN); + eb.setAuthor("Hráč " + event.getPlayer().getDisplayName() + " se připojil", null, "https://mc-heads.net/avatar/" + event.getPlayer().getDisplayName()); + Objects.requireNonNull(jda.getTextChannelById(Objects.requireNonNull(config.getString("chat-channel")))).sendMessageEmbeds(eb.build()).queue(); + + }, + throwable -> { + // Error: Member was not found or an error occurred + String kickMessage = "&6&lK&f&lN&6&lK&f&lS" + + "\n\n&c&lNejsi na našem discordu" + + "\n\n&fPro hraní na našem server se musíš připojit na discord:" + + "&bdiscord.gg/EK2n7TEQ4H"; + event.getPlayer().kickPlayer(ChatColor.translateAlternateColorCodes('&', kickMessage)); + + } + ); } } diff --git a/src/main/java/xyz/soukup/discordauthorizator/events/playerLogin.java b/src/main/java/xyz/soukup/discordauthorizator/events/playerLogin.java index ff33a62..4136f71 100644 --- a/src/main/java/xyz/soukup/discordauthorizator/events/playerLogin.java +++ b/src/main/java/xyz/soukup/discordauthorizator/events/playerLogin.java @@ -49,11 +49,6 @@ public class playerLogin implements Listener { DiscordAuthorizator.playerColor.put(event.getName(), memberColor); DiscordAuthorizator.playerRole.put(event.getName(), member.getRoles().get(0)); DiscordAuthorizator.updateStatus(); - EmbedBuilder eb = new EmbedBuilder(); - eb.setColor(java.awt.Color.GREEN); - eb.setAuthor("Hráč " + event.getName() + " se připojil", null, "https://mc-heads.net/avatar/" + event.getName()); - Objects.requireNonNull(jda.getTextChannelById(Objects.requireNonNull(config.getString("chat-channel")))).sendMessageEmbeds(eb.build()).queue(); - }, throwable -> { // Error: Member was not found or an error occurred diff --git a/target/classes/xyz/soukup/discordauthorizator/DiscordAuthorizator.class b/target/classes/xyz/soukup/discordauthorizator/DiscordAuthorizator.class index 80321a1..f4969c7 100644 Binary files a/target/classes/xyz/soukup/discordauthorizator/DiscordAuthorizator.class and b/target/classes/xyz/soukup/discordauthorizator/DiscordAuthorizator.class differ diff --git a/target/classes/xyz/soukup/discordauthorizator/events/playerJoin$1.class b/target/classes/xyz/soukup/discordauthorizator/events/playerJoin$1.class index b2a4b7f..f36cdc8 100644 Binary files a/target/classes/xyz/soukup/discordauthorizator/events/playerJoin$1.class and b/target/classes/xyz/soukup/discordauthorizator/events/playerJoin$1.class differ diff --git a/target/classes/xyz/soukup/discordauthorizator/events/playerJoin.class b/target/classes/xyz/soukup/discordauthorizator/events/playerJoin.class index 4bcbf5f..d67df96 100644 Binary files a/target/classes/xyz/soukup/discordauthorizator/events/playerJoin.class and b/target/classes/xyz/soukup/discordauthorizator/events/playerJoin.class differ diff --git a/target/classes/xyz/soukup/discordauthorizator/events/playerLogin.class b/target/classes/xyz/soukup/discordauthorizator/events/playerLogin.class index d3b2cbc..06a11bf 100644 Binary files a/target/classes/xyz/soukup/discordauthorizator/events/playerLogin.class and b/target/classes/xyz/soukup/discordauthorizator/events/playerLogin.class differ