Skip to content

Commit

Permalink
Merge branch 'RoinujNosde:master' into update
Browse files Browse the repository at this point in the history
  • Loading branch information
SrBedrock authored Dec 23, 2024
2 parents 7e03ad0 + 9097fa0 commit c7b1390
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,8 @@ public class DiscordHook implements Listener {
private final ChatManager chatManager;
private final ClanManager clanManager;
private final AccountLinkManager accountManager = DiscordSRV.getPlugin().getAccountLinkManager();
private final Guild guild = DiscordSRV.getPlugin().getMainGuild();
private final List<String> textCategories;
private final List<String> clanTags;
private final Role leaderRole;
private final List<String> whitelist;

public DiscordHook(SimpleClans plugin) {
Expand All @@ -93,8 +91,6 @@ public DiscordHook(SimpleClans plugin) {

clanTags = clanManager.getClans().stream().map(Clan::getTag).collect(Collectors.toList());

leaderRole = getLeaderRole();

setupDiscord();
}

Expand Down Expand Up @@ -227,7 +223,7 @@ public void onPlayerDemote(PlayerDemoteEvent event) {
@Subscribe
public void onPlayerLinking(AccountLinkedEvent event) {
ClanPlayer clanPlayer = clanManager.getClanPlayer(event.getPlayer());
Member member = guild.getMember(event.getUser());
Member member = getGuild().getMember(event.getUser());
if (clanPlayer == null || member == null) {
return;
}
Expand All @@ -248,7 +244,7 @@ public void onPlayerLinking(AccountLinkedEvent event) {
@Subscribe
public void onPlayerUnlinking(AccountUnlinkedEvent event) {
ClanPlayer clanPlayer = clanManager.getClanPlayer(event.getPlayer());
Member member = guild.getMember(event.getDiscordUser());
Member member = getGuild().getMember(event.getDiscordUser());
if (clanPlayer == null || clanPlayer.getClan() == null || member == null) {
return;
}
Expand All @@ -258,7 +254,7 @@ public void onPlayerUnlinking(AccountUnlinkedEvent event) {
}

protected void setupDiscord() {
Map<String, TextChannel> discordTagChannels = getCachedChannels().stream().
Map<String, TextChannel> discordTagChannels = getChannels().stream().
collect(Collectors.toMap(TextChannel::getName, textChannel -> textChannel));
SimpleClans.debug("DiscordTagChannels before clearing: " + String.join(",", discordTagChannels.keySet()));

Expand All @@ -274,18 +270,18 @@ protected void setupDiscord() {

@NotNull
public Guild getGuild() {
return guild;
return DiscordSRV.getPlugin().getMainGuild();
}

/**
* @return A leader role from guild, otherwise creates one.
*/
@NotNull
public Role getLeaderRole() {
Role role = guild.getRoleById(settingsManager.getString(DISCORDCHAT_LEADER_ID));
Role role = getGuild().getRoleById(settingsManager.getString(DISCORDCHAT_LEADER_ID));

if (role == null || !role.getName().equals(settingsManager.getString(DISCORDCHAT_LEADER_ROLE))) {
role = guild.createRole().
role = getGuild().createRole().
setName(settingsManager.getString(DISCORDCHAT_LEADER_ROLE)).
setColor(getLeaderColor()).
setMentionable(true).
Expand Down Expand Up @@ -324,19 +320,19 @@ public Color getLeaderColor() {
*/
@Nullable
public Category createCategory() {
if (guild.getChannels().size() >= MAX_CHANNELS_PER_GUILD) {
if (getGuild().getChannels().size() >= MAX_CHANNELS_PER_GUILD) {
return null;
}

String categoryName = settingsManager.getString(DISCORDCHAT_TEXT_CATEGORY_FORMAT);
Category category = null;
try {
category = guild.createCategory(categoryName).
category = getGuild().createCategory(categoryName).
addRolePermissionOverride(
guild.getPublicRole().getIdLong(),
getGuild().getPublicRole().getIdLong(),
Collections.emptyList(),
Collections.singletonList(VIEW_CHANNEL)).
addMemberPermissionOverride(guild.getSelfMember().getIdLong(),
addMemberPermissionOverride(getGuild().getSelfMember().getIdLong(),
Arrays.asList(VIEW_CHANNEL, MANAGE_CHANNEL),
Collections.emptyList()).
submit().get();
Expand Down Expand Up @@ -419,7 +415,7 @@ public Optional<TextChannel> getCachedChannel(@NotNull String channelName) {
* @see #channelExists(String)
*/
public boolean categoryExists(String categoryId) {
return guild.getCategoryById(categoryId) != null;
return getGuild().getCategoryById(categoryId) != null;
}

/**
Expand Down Expand Up @@ -485,7 +481,7 @@ public boolean deleteChannel(@NotNull String channelName) {
public List<Category> getCachedCategories() {
return textCategories.stream().
filter(this::categoryExists).
map(guild::getCategoryById).
map(getGuild()::getCategoryById).
collect(Collectors.toList());
}

Expand All @@ -495,7 +491,7 @@ public List<Category> getCachedCategories() {
* @return categories from guild
*/
public List<Category> getCategories() {
return guild.getCategoriesByName(settingsManager.getString(DISCORDCHAT_TEXT_CATEGORY_FORMAT), false);
return getGuild().getCategoriesByName(settingsManager.getString(DISCORDCHAT_TEXT_CATEGORY_FORMAT), false);
}

/**
Expand Down Expand Up @@ -635,10 +631,10 @@ private Map<ClanPlayer, Member> getDiscordPlayers(@NotNull Clan clan) {

private void updateLeaderRole(@NotNull Member member, @NotNull ClanPlayer clanPlayer, DiscordAction action) {
if (action == ADD && clanPlayer.isLeader()) {
guild.addRoleToMember(member, leaderRole).queue();
getGuild().addRoleToMember(member, getLeaderRole()).queue();
SimpleClans.debug(String.format("Added leader role to %s (%s) discord member", member.getNickname(), member.getId()));
} else {
guild.removeRoleFromMember(member, leaderRole).queue();
getGuild().removeRoleFromMember(member, getLeaderRole()).queue();
SimpleClans.debug(String.format("Revoked leader role from %s (%s) discord member", member.getNickname(), member.getId()));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -334,11 +334,16 @@ public ClanPlayer getAnyClanPlayer(UUID uuid) {
@Nullable
public ClanPlayer getAnyClanPlayer(String playerName) {
for (ClanPlayer cp : getAllClanPlayers()) {
if (cp.getName().equals(playerName)) {
if (cp.getName().equalsIgnoreCase(playerName)) {
return cp;
}
}
return getAnyClanPlayer(Bukkit.getOfflinePlayer(playerName).getUniqueId());
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
if (player.getName().equalsIgnoreCase(playerName)) {
return getAnyClanPlayer(player.getUniqueId());
}
}
return null;
}

/**
Expand Down

0 comments on commit c7b1390

Please sign in to comment.