50public class ClanManagement {
56 MANAGE_RANK_INDEX = 2;
59 private static final int SIZE = 4;
79 String color =
"<col=ffffff>";
91 this.channel = channel;
92 ranks[ENTER_RANK_INDEX] =
ClanRank.MEMBER;
93 ranks[TALK_RANK_INDEX] =
ClanRank.MEMBER;
94 ranks[MANAGE_RANK_INDEX] =
ClanRank.LEADER;
99 ranks[ENTER_RANK_INDEX] = rank;
100 channel.message(
"The required rank to enter has changed to " + rank.getName() +
".");
105 ranks[TALK_RANK_INDEX] = rank;
106 channel.message(
"The required rank to talk has changed to " + rank.getName() +
".");
111 ranks[MANAGE_RANK_INDEX] = rank;
114 String getRank(
int index) {
115 return ranks[index].getString();
119 return ranks[ENTER_RANK_INDEX].getName();
123 return ranks[TALK_RANK_INDEX].getName();
127 return ranks[MANAGE_RANK_INDEX].getName();
130 boolean canEnter(ClanMember member) {
131 return member.rank.greaterThanEqual(ranks[ENTER_RANK_INDEX]);
134 boolean canTalk(ClanMember member) {
135 return member.rank.greaterThanEqual(ranks[TALK_RANK_INDEX]);
138 boolean canManage(ClanMember member) {
139 return member.rank.greaterThanEqual(ranks[MANAGE_RANK_INDEX]);
142 void loadRanks(JsonObject
object) {
143 ranks[ENTER_RANK_INDEX] = ClanRank.valueOf(
object.
get(
"enter-rank").getAsString());
144 ranks[TALK_RANK_INDEX] = ClanRank.valueOf(
object.
get(
"talk-rank").getAsString());
145 ranks[MANAGE_RANK_INDEX] = ClanRank.valueOf(
object.
get(
"manage-rank").getAsString());
148 void saveRanks(JsonObject
object) {
149 object.addProperty(
"enter-rank", ranks[ENTER_RANK_INDEX].
name());
150 object.addProperty(
"talk-rank", ranks[TALK_RANK_INDEX].
name());
151 object.addProperty(
"manage-rank", ranks[MANAGE_RANK_INDEX].
name());
154 public void showBanned(Player player) {
155 if (channel.bannedMembers.isEmpty()) {
156 player.send(
new SendMessage(
"You have no banned members in your clan."));
160 int size = channel.bannedMembers.size() < 10 ? 10 : channel.bannedMembers.size();
161 for (
int index = 0; index < size; index++) {
162 boolean valid = index < channel.bannedMembers.size();
163 Optional<String> banned = valid ? Optional.of(channel.bannedMembers.get(index)) : Optional.empty();
164 player.send(
new SendString(banned.orElse(
""),
string));
165 player.send(
new SendTooltip(valid ?
"Unban " + channel.bannedMembers.get(index) :
"",
string));
168 player.send(
new SendScrollbar(51310, size * 23));
169 player.interfaceManager.open(51300);
172 public void toggleLootshare() {
173 lootshare = !lootshare;
174 channel.message(
"Lootshare has been toggled " + (lootshare ?
"on!" :
"off!"));
178 public boolean equals(Object obj) {
179 if (obj ==
this)
return true;
180 if (obj instanceof ClanManagement) {
181 ClanManagement other = (ClanManagement) obj;
182 return Objects.equals(
name, other.name)
183 && Objects.equals(slogan, other.slogan)
184 && Objects.equals(forum, other.forum)
185 && Objects.equals(tag, other.tag)
186 && Objects.equals(
locked, other.locked)
187 && Objects.equals(lootshare, other.lootshare)
188 && Arrays.equals(ranks, other.ranks);
void setManageRank(ClanRank rank)
void setTalkRank(ClanRank rank)
void setEnterRank(ClanRank rank)