diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClanInfo.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClanInfo.java index a07074f98..2d4d42389 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClanInfo.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClanInfo.java @@ -11,7 +11,6 @@ import java.util.UUID; import org.bukkit.Location; import org.bukkit.Sound; -import org.bukkit.block.Block; import org.bukkit.entity.Player; import mineplex.core.common.util.C; @@ -208,11 +207,18 @@ public class ClanInfo } public int getAlliesMax() + { + return getAlliesMaxWithMemberCountOf(_memberMap.size()); + } + + public int getAlliesMaxWithMemberCountOf(int memberCount) { if (ssAdmin()) + { return 1000; - - return Math.max(2, 9 - _memberMap.size()); + } + + return Math.max(2, 6 - memberCount); } public BedStatus getBedStatus() diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansUtility.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansUtility.java index b1c63970f..a2ecef65e 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansUtility.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/ClansUtility.java @@ -1221,6 +1221,12 @@ public class ClansUtility UtilPlayer.message(caller, F.main("Clans", "You cannot invite yourself.")); return; } + + if (clan.getAllies() > clan.getAlliesMaxWithMemberCountOf(clan.getSize() + 1)) + { + UtilPlayer.message(caller, F.main("Clans", "You cannot invite more members until you remove some allies.")); + return; + } // Inform clan.inform(F.name(caller.getName()) + " invited " + F.name(target.getName()) + " to join your Clan.", caller.getName()); diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/commands/ClansCommand.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/commands/ClansCommand.java index 39511c874..adef219f9 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/commands/ClansCommand.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/clans/commands/ClansCommand.java @@ -549,6 +549,12 @@ public class ClansCommand extends CommandBase UtilPlayer.message(caller, F.main("Clans", "The clan " + F.elem("Clan " + clan.getName()) + " is full and cannot be joined!")); return; } + + if (clan.getAllies() > clan.getAlliesMaxWithMemberCountOf(clan.getSize() + 1)) + { + UtilPlayer.message(caller, F.main("Clans", "You cannot join " + F.elem("Clan " + clan.getName()) + " until they remove some allies!")); + return; + } ClanJoinEvent event = new ClanJoinEvent(clan, caller); Bukkit.getPluginManager().callEvent(event);