|
|
|
|
@ -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)); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|