diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 01b1f93f0..5b1fc8633 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -27,6 +27,8 @@ jobs:
java-version: "${{ matrix.java-version }}"
distribution: 'adopt'
cache: 'maven'
+ - name: Install VentureChat
+ run: mvn install:install-file -Dfile=libs/VentureChat-3.7.1.jar -DgroupId=mineverse.Aust1n46.chat -DartifactId=VentureChat -Dversion=3.7.1 -Dpackaging=jar -f pom.xml
- name: Build with Maven
run: ./mvnw -B -U package --file pom.xml
- name: Upload Build Artifact
diff --git a/.github/workflows/publish_curseforge.yml b/.github/workflows/publish_curseforge.yml
deleted file mode 100644
index 67b6e0f5c..000000000
--- a/.github/workflows/publish_curseforge.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-name: Publish to CurseForge
-on:
- release:
- types: [created]
-
-jobs:
- publish:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Set up JDK 16
- uses: actions/setup-java@v3
- with:
- java-version: 16
- cache: 'maven'
- distribution: 'adopt'
- - name: Build with Maven
- run: ./mvnw -B package --file pom.xml
- - name: Upload artifact
- uses: itsmeow/curseforge-upload@v3
- with:
- token: ${{ secrets.CURSEFORGE_TOKEN }}
- project_id: 380814
- game_endpoint: minecraft
- file_path: target/SimpleClans.jar
- changelog: ${{ github.event.release.body }}
- changelog_type: markdown
- display_name: ${{ github.event.release.tag_name }}
- game_versions: 8849,8503,7915,7667,7330,7105,6588,630,591,585,531
- release_type: release
- relations: vault:optionalDependency,worldguard:optionalDependency,grief-prevention:optionalDependency
diff --git a/.github/workflows/publish_modrinth.yml b/.github/workflows/publish_modrinth.yml
deleted file mode 100644
index ff10fb61e..000000000
--- a/.github/workflows/publish_modrinth.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-name: Publish to Modrinth
-on:
- release:
- types: [created]
-
-jobs:
- publish:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Set up JDK 16
- uses: actions/setup-java@v3
- with:
- java-version: 16
- cache: 'maven'
- distribution: 'adopt'
- - name: Build with Maven
- run: ./mvnw -B package --file pom.xml
- - name: Upload artifact
- uses: RubixDev/modrinth-upload@v1.0.0
- with:
- token: ${{ secrets.MODRINTH_TOKEN }}
- project_id: quLDfyDl
- file_path: target/SimpleClans.jar
- changelog: ${{ github.event.release.body }}
- name: ${{ github.event.release.tag_name }}
- version: ${{ github.event.release.tag_name }}
- game_versions: 1.19,1.18,1.17,1.16,1.15,1.14,1.13,1.12,1.11,1.10,1.9,1.8
- release_type: release
- loaders: spigot
- featured: true
diff --git a/.github/workflows/publish_reposilite.yml b/.github/workflows/publish_reposilite.yml
deleted file mode 100644
index 09033cb6a..000000000
--- a/.github/workflows/publish_reposilite.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-name: Publish to Reposilite
-on:
- push:
- branches:
- - master
- workflow_dispatch:
-
-jobs:
- publish:
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v3
- - name: Set up JDK 16
- uses: actions/setup-java@v3
- with:
- java-version: 16
- server-id: reposilite # Value of the distributionManagement/repository/id field of the pom.xml
- server-username: MAVEN_USERNAME
- server-password: MAVEN_PASSWORD
- cache: 'maven'
- distribution: 'adopt'
- - name: Build with Maven
- run: ./mvnw -B package --file pom.xml
- - name: Publish to Reposilite
- run: ./mvnw -B deploy
- env:
- MAVEN_USERNAME: simpleclans
- MAVEN_PASSWORD: ${{ secrets.REPOSILITE_TOKEN }}
diff --git a/.github/workflows/release_please.yml b/.github/workflows/release_please.yml
deleted file mode 100644
index 50cf2d9bf..000000000
--- a/.github/workflows/release_please.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-on:
- push:
- branches:
- - master
-name: release-please
-jobs:
- release-please:
- runs-on: ubuntu-latest
- steps:
- - uses: google-github-actions/release-please-action@v3
- with:
- release-type: maven
- package-name: SimpleClans
- token: ${{ secrets.PAT_TOKEN }}
- fork: false
diff --git a/.gitignore b/.gitignore
index 68ae5eb9c..dfa00f797 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,9 @@
/target/
/.idea/
/bin/
+${env.TEST_SERVER}/
/.classpath
/.project
-*.jar
.settings
.factorypath
SimpleClans.iml
diff --git a/.run/SimpleClans [install-VentureChat].run.xml b/.run/SimpleClans [install-VentureChat].run.xml
new file mode 100644
index 000000000..9194de329
--- /dev/null
+++ b/.run/SimpleClans [install-VentureChat].run.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libs/VentureChat-3.7.1.jar b/libs/VentureChat-3.7.1.jar
new file mode 100644
index 000000000..4e89ab5b0
Binary files /dev/null and b/libs/VentureChat-3.7.1.jar differ
diff --git a/pom.xml b/pom.xml
index 41e72ffa6..2cc891627 100644
--- a/pom.xml
+++ b/pom.xml
@@ -263,7 +263,11 @@
gson
2.10.1
-
+
+ mineverse.Aust1n46.chat
+ VentureChat
+ 3.7.1
+
org.junit.jupiter
diff --git a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/SimpleClans.java b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/SimpleClans.java
index e3b188055..cae56e6b8 100644
--- a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/SimpleClans.java
+++ b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/SimpleClans.java
@@ -126,6 +126,7 @@ public void onEnable() {
startTasks();
startMetrics();
hookIntoPAPI();
+ hookIntoVentureChat();
new UpdateChecker(this).check();
}
@@ -154,6 +155,13 @@ private void hookIntoPAPI() {
}
}
+ private void hookIntoVentureChat() {
+ if (getPluginManager().getPlugin("VentureChat") != null) {
+ getLogger().info("VentureChat found. Registering hook...");
+ getPluginManager().registerEvents(new VentureChatListener(this), this);
+ }
+ }
+
private void startMetrics() {
Metrics metrics = new Metrics(this, 7131);
SettingsManager sm = getSettingsManager();
diff --git a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/commands/clan/AllyChatCommand.java b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/commands/clan/AllyChatCommand.java
index 3ad8bfee4..896cf6af0 100644
--- a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/commands/clan/AllyChatCommand.java
+++ b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/commands/clan/AllyChatCommand.java
@@ -1,11 +1,18 @@
package net.sacredlabyrinth.phaed.simpleclans.commands.clan;
import co.aikar.commands.BaseCommand;
-import co.aikar.commands.annotation.*;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.CommandPermission;
+import co.aikar.commands.annotation.Conditions;
+import co.aikar.commands.annotation.Default;
+import co.aikar.commands.annotation.Dependency;
+import co.aikar.commands.annotation.Description;
+import co.aikar.commands.annotation.HelpSearchTags;
+import co.aikar.commands.annotation.Name;
+import co.aikar.commands.annotation.Optional;
import net.sacredlabyrinth.phaed.simpleclans.ChatBlock;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import net.sacredlabyrinth.phaed.simpleclans.managers.ChatManager;
-import net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager;
import net.sacredlabyrinth.phaed.simpleclans.managers.StorageManager;
import static net.sacredlabyrinth.phaed.simpleclans.ClanPlayer.Channel.ALLY;
@@ -22,13 +29,11 @@ public class AllyChatCommand extends BaseCommand {
@Dependency
private ChatManager chatManager;
@Dependency
- private SettingsManager settingsManager;
- @Dependency
private StorageManager storageManager;
@Default
@HelpSearchTags("chat")
- public void sendMessage(ClanPlayer cp, @Name("message") String message) {
+ public void sendMessage(ClanPlayer cp, @Optional @Name("message") String message) {
if (message == null || message.isBlank()) {
if (cp.getChannel() == ALLY) {
cp.setChannel(NONE);
@@ -44,37 +49,37 @@ public void sendMessage(ClanPlayer cp, @Name("message") String message) {
}
}
- @Subcommand("%join")
- public void join(ClanPlayer clanPlayer) {
- if (clanPlayer.getChannel() == ALLY) {
- ChatBlock.sendMessage(clanPlayer, lang("already.joined.ally.chat"));
- return;
- }
-
- clanPlayer.setChannel(ALLY);
- storageManager.updateClanPlayer(clanPlayer);
- ChatBlock.sendMessage(clanPlayer, lang("joined.ally.chat"));
- }
-
- @Subcommand("%leave")
- public void leave(ClanPlayer clanPlayer) {
- if (clanPlayer.getChannel() == ALLY) {
- clanPlayer.setChannel(NONE);
- storageManager.updateClanPlayer(clanPlayer);
- ChatBlock.sendMessage(clanPlayer, lang("left.ally.chat", clanPlayer));
- } else {
- ChatBlock.sendMessage(clanPlayer, lang("chat.didnt.join", clanPlayer));
- }
- }
-
- @Subcommand("%mute")
- public void mute(ClanPlayer clanPlayer) {
- if (!clanPlayer.isMutedAlly()) {
- clanPlayer.mute(ALLY, true);
- ChatBlock.sendMessage(clanPlayer, lang("muted.ally.chat", clanPlayer));
- } else {
- clanPlayer.mute(ALLY, false);
- ChatBlock.sendMessage(clanPlayer, lang("unmuted.ally.chat", clanPlayer));
- }
- }
+// @Subcommand("%join")
+// public void join(ClanPlayer clanPlayer) {
+// if (clanPlayer.getChannel() == ALLY) {
+// ChatBlock.sendMessage(clanPlayer, lang("already.joined.ally.chat"));
+// return;
+// }
+//
+// clanPlayer.setChannel(ALLY);
+// storageManager.updateClanPlayer(clanPlayer);
+// ChatBlock.sendMessage(clanPlayer, lang("joined.ally.chat"));
+// }
+//
+// @Subcommand("%leave")
+// public void leave(ClanPlayer clanPlayer) {
+// if (clanPlayer.getChannel() == ALLY) {
+// clanPlayer.setChannel(NONE);
+// storageManager.updateClanPlayer(clanPlayer);
+// ChatBlock.sendMessage(clanPlayer, lang("left.ally.chat", clanPlayer));
+// } else {
+// ChatBlock.sendMessage(clanPlayer, lang("chat.didnt.join", clanPlayer));
+// }
+// }
+//
+// @Subcommand("%mute")
+// public void mute(ClanPlayer clanPlayer) {
+// if (!clanPlayer.isMutedAlly()) {
+// clanPlayer.mute(ALLY, true);
+// ChatBlock.sendMessage(clanPlayer, lang("muted.ally.chat", clanPlayer));
+// } else {
+// clanPlayer.mute(ALLY, false);
+// ChatBlock.sendMessage(clanPlayer, lang("unmuted.ally.chat", clanPlayer));
+// }
+// }
}
diff --git a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/commands/clan/ChatCommand.java b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/commands/clan/ChatCommand.java
index ba28d9700..f340c220f 100644
--- a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/commands/clan/ChatCommand.java
+++ b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/commands/clan/ChatCommand.java
@@ -1,7 +1,15 @@
package net.sacredlabyrinth.phaed.simpleclans.commands.clan;
import co.aikar.commands.BaseCommand;
-import co.aikar.commands.annotation.*;
+import co.aikar.commands.annotation.CommandAlias;
+import co.aikar.commands.annotation.CommandPermission;
+import co.aikar.commands.annotation.Conditions;
+import co.aikar.commands.annotation.Default;
+import co.aikar.commands.annotation.Dependency;
+import co.aikar.commands.annotation.Description;
+import co.aikar.commands.annotation.HelpSearchTags;
+import co.aikar.commands.annotation.Name;
+import co.aikar.commands.annotation.Optional;
import net.sacredlabyrinth.phaed.simpleclans.ChatBlock;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import net.sacredlabyrinth.phaed.simpleclans.managers.ChatManager;
@@ -13,7 +21,7 @@
import static net.sacredlabyrinth.phaed.simpleclans.chat.SCMessage.Source.SPIGOT;
@CommandAlias("%clan_chat")
-@Conditions("%basic_conditions|clan_member|can_chat:type=CLAN")
+@Conditions("%basic_conditions|clan_member|can_chat:type=CLAN|rank:name=CLAN_CHAT")
@CommandPermission("simpleclans.member.chat")
@Description("{@@command.description.chat}")
public class ChatCommand extends BaseCommand {
@@ -25,7 +33,7 @@ public class ChatCommand extends BaseCommand {
@Default
@HelpSearchTags("chat")
- public void sendMessage(ClanPlayer cp, @Name("message") String message) {
+ public void sendMessage(ClanPlayer cp, @Optional @Name("message") String message) {
if (message == null || message.isBlank()) {
if (cp.getChannel() == CLAN) {
cp.setChannel(NONE);
@@ -41,37 +49,37 @@ public void sendMessage(ClanPlayer cp, @Name("message") String message) {
}
}
- @Subcommand("%join")
- public void join(ClanPlayer clanPlayer) {
- if (clanPlayer.getChannel() == CLAN) {
- ChatBlock.sendMessage(clanPlayer, lang("already.joined.clan.chat"));
- return;
- }
-
- clanPlayer.setChannel(CLAN);
- storageManager.updateClanPlayer(clanPlayer);
- ChatBlock.sendMessage(clanPlayer, lang("joined.clan.chat"));
- }
-
- @Subcommand("%leave")
- public void leave(ClanPlayer clanPlayer) {
- if (clanPlayer.getChannel() == CLAN) {
- clanPlayer.setChannel(NONE);
- storageManager.updateClanPlayer(clanPlayer);
- ChatBlock.sendMessage(clanPlayer, lang("left.clan.chat", clanPlayer));
- } else {
- ChatBlock.sendMessage(clanPlayer, lang("chat.didnt.join", clanPlayer));
- }
- }
-
- @Subcommand("%mute")
- public void mute(ClanPlayer clanPlayer) {
- if (!clanPlayer.isMuted()) {
- clanPlayer.mute(CLAN, true);
- ChatBlock.sendMessage(clanPlayer, lang("muted.clan.chat", clanPlayer));
- } else {
- clanPlayer.mute(CLAN, false);
- ChatBlock.sendMessage(clanPlayer, lang("unmuted.clan.chat", clanPlayer));
- }
- }
+// @Subcommand("%join")
+// public void join(ClanPlayer clanPlayer) {
+// if (clanPlayer.getChannel() == CLAN) {
+// ChatBlock.sendMessage(clanPlayer, lang("already.joined.clan.chat"));
+// return;
+// }
+//
+// clanPlayer.setChannel(CLAN);
+// storageManager.updateClanPlayer(clanPlayer);
+// ChatBlock.sendMessage(clanPlayer, lang("joined.clan.chat"));
+// }
+//
+// @Subcommand("%leave")
+// public void leave(ClanPlayer clanPlayer) {
+// if (clanPlayer.getChannel() == CLAN) {
+// clanPlayer.setChannel(NONE);
+// storageManager.updateClanPlayer(clanPlayer);
+// ChatBlock.sendMessage(clanPlayer, lang("left.clan.chat", clanPlayer));
+// } else {
+// ChatBlock.sendMessage(clanPlayer, lang("chat.didnt.join", clanPlayer));
+// }
+// }
+//
+// @Subcommand("%mute")
+// public void mute(ClanPlayer clanPlayer) {
+// if (!clanPlayer.isMuted()) {
+// clanPlayer.mute(CLAN, true);
+// ChatBlock.sendMessage(clanPlayer, lang("muted.clan.chat", clanPlayer));
+// } else {
+// clanPlayer.mute(CLAN, false);
+// ChatBlock.sendMessage(clanPlayer, lang("unmuted.clan.chat", clanPlayer));
+// }
+// }
}
diff --git a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/listeners/SCPlayerListener.java b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/listeners/SCPlayerListener.java
index 88190eebb..8aa9ddb15 100644
--- a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/listeners/SCPlayerListener.java
+++ b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/listeners/SCPlayerListener.java
@@ -152,10 +152,10 @@ public void onPlayerKick(PlayerKickEvent event) {
private void registerChatListener() {
EventPriority priority = EventPriority.valueOf(settingsManager.getString(CLANCHAT_LISTENER_PRIORITY));
plugin.getServer().getPluginManager().registerEvent(AsyncPlayerChatEvent.class, this, priority, (l, e) -> {
- if (!(e instanceof AsyncPlayerChatEvent)) {
+ if (!(e instanceof AsyncPlayerChatEvent event)) {
return;
}
- AsyncPlayerChatEvent event = (AsyncPlayerChatEvent) e;
+
Player player = event.getPlayer();
ClanPlayer cp = plugin.getClanManager().getClanPlayer(player.getUniqueId());
if (cp == null || isBlacklistedWorld(player)) {
diff --git a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/listeners/VentureChatListener.java b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/listeners/VentureChatListener.java
new file mode 100644
index 000000000..46bc099ea
--- /dev/null
+++ b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/listeners/VentureChatListener.java
@@ -0,0 +1,31 @@
+package net.sacredlabyrinth.phaed.simpleclans.listeners;
+
+import mineverse.Aust1n46.chat.api.events.ChannelJoinEvent;
+import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
+import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
+import net.sacredlabyrinth.phaed.simpleclans.managers.ClanManager;
+import net.sacredlabyrinth.phaed.simpleclans.managers.StorageManager;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
+import org.jetbrains.annotations.NotNull;
+
+public class VentureChatListener implements Listener {
+ private final ClanManager clanManager;
+ private final StorageManager storageManager;
+
+ public VentureChatListener(@NotNull SimpleClans plugin) {
+ this.clanManager = plugin.getClanManager();
+ this.storageManager = plugin.getStorageManager();
+ }
+
+ @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
+ public void onVentureChat(@NotNull ChannelJoinEvent event) {
+ ClanPlayer clanPlayer = clanManager.getClanPlayer(event.getPlayer());
+ if (clanPlayer == null) return;
+ if (clanPlayer.getChannel() == ClanPlayer.Channel.NONE) return;
+ clanPlayer.setChannel(ClanPlayer.Channel.NONE);
+ storageManager.updateClanPlayer(clanPlayer);
+ }
+
+}
diff --git a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/managers/ChatManager.java b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/managers/ChatManager.java
index 79697953f..732c5b7f5 100644
--- a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/managers/ChatManager.java
+++ b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/managers/ChatManager.java
@@ -19,15 +19,22 @@
import org.jetbrains.annotations.Nullable;
import java.lang.reflect.InvocationTargetException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
import java.util.logging.Level;
-import java.util.stream.Collectors;
import static net.sacredlabyrinth.phaed.simpleclans.ClanPlayer.Channel;
import static net.sacredlabyrinth.phaed.simpleclans.chat.SCMessage.Source;
import static net.sacredlabyrinth.phaed.simpleclans.chat.SCMessage.Source.DISCORD;
import static net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager.ConfigField;
-import static net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager.ConfigField.*;
+import static net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager.ConfigField.ALLYCHAT_ENABLE;
+import static net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager.ConfigField.CLANCHAT_ENABLE;
+import static net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager.ConfigField.DISCORDCHAT_ENABLE;
import static org.bukkit.Bukkit.getPluginManager;
public final class ChatManager {
@@ -53,11 +60,8 @@ public void registerDiscord(DiscordReadyEvent event) {
@Nullable
public DiscordHook getDiscordHook() {
- if (isDiscordHookEnabled()) {
- // Manually instantiate, if JDA did load faster than SC
- if (discordHook == null && DiscordSRV.getPlugin().getJda().getStatus() == JDA.Status.CONNECTED) {
- registerDiscord(new DiscordReadyEvent());
- }
+ if (isDiscordHookEnabled() && discordHook == null && DiscordSRV.getPlugin().getJda().getStatus() == JDA.Status.CONNECTED) {
+ registerDiscord(new DiscordReadyEvent());
}
return discordHook;
@@ -74,17 +78,16 @@ public void processChat(@NotNull SCMessage message) {
}
receivers.addAll(getOnlineAllyMembers(clan).stream().filter(allyMember ->
- !allyMember.isMutedAlly()).collect(Collectors.toList()));
+ !allyMember.isMutedAlly()).toList());
receivers.addAll(clan.getOnlineMembers().stream().filter(onlineMember ->
- !onlineMember.isMutedAlly()).collect(Collectors.toList()));
+ !onlineMember.isMutedAlly()).toList());
break;
case CLAN:
if (!plugin.getSettingsManager().is(CLANCHAT_ENABLE)) {
return;
}
- receivers.addAll(clan.getOnlineMembers().stream().filter(member -> !member.isMuted()).
- collect(Collectors.toList()));
+ receivers.addAll(clan.getOnlineMembers().stream().filter(member -> !member.isMuted()).toList());
}
message.setReceivers(receivers);
@@ -123,12 +126,11 @@ public String parseChatFormat(String format, SCMessage message, Map handler : chatHandlers) {
try {
handlers.add(handler.getConstructor().newInstance());
- } catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException ex) {
+ } catch (InstantiationException | IllegalAccessException | InvocationTargetException |
+ NoSuchMethodException ex) {
plugin.getLogger().log(Level.SEVERE, "Error while trying to register {0}: " +
ex.getMessage(), handler.getSimpleName());
}
@@ -172,7 +175,7 @@ private void registerHandlers() {
private List getOnlineAllyMembers(Clan clan) {
return clan.getAllAllyMembers().stream().
- filter(allyPlayer -> allyPlayer.toPlayer() != null).
- collect(Collectors.toList());
+ filter(allyPlayer -> allyPlayer.toPlayer() != null)
+ .toList();
}
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 855afe68e..818d2e6b9 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -7,6 +7,7 @@ softdepend:
- LuckPerms
- WorldGuard
- DiscordSRV
+ - VentureChat
loadbefore:
- GriefPrevention
- PlotSquared