125 lines
2.6 KiB
Java
125 lines
2.6 KiB
Java
import net.runelite.api.clan.ClanMember;
|
|
import net.runelite.api.clan.ClanRank;
|
|
|
|
public class RuneLiteClanMember implements ClanMember
|
|
{
|
|
public final int idx;
|
|
public final ClanSettings clanSettings;
|
|
|
|
public RuneLiteClanMember(ClanSettings clanSettings, int idx) {
|
|
this.clanSettings = clanSettings;
|
|
this.idx = idx;
|
|
}
|
|
|
|
public ClanRank getRank() {
|
|
return getClanRank(this.clanSettings.memberRanks[this.idx]);
|
|
}
|
|
|
|
public String getName() {
|
|
return this.clanSettings.memberNames[this.idx];
|
|
}
|
|
|
|
public ClanRank getClanRank(int rank)
|
|
{
|
|
switch (rank)
|
|
{
|
|
case -1:
|
|
return ClanRank.GUEST;
|
|
case 10:
|
|
return ClanRank.CLAN_RANK_2;
|
|
case 20:
|
|
return ClanRank.CLAN_RANK_3;
|
|
case 30:
|
|
return ClanRank.CLAN_RANK_4;
|
|
case 40:
|
|
return ClanRank.CLAN_RANK_5;
|
|
case 50:
|
|
return ClanRank.CLAN_RANK_6;
|
|
case 60:
|
|
return ClanRank.CLAN_RANK_7;
|
|
case 70:
|
|
return ClanRank.CLAN_RANK_8;
|
|
case 80:
|
|
return ClanRank.CLAN_RANK_9;
|
|
case 90:
|
|
return ClanRank.CLAN_RANK_10;
|
|
case 100:
|
|
return ClanRank.ADMINISTRATOR;
|
|
case 105:
|
|
return ClanRank.CLAN_RANK_11;
|
|
case 110:
|
|
return ClanRank.CLAN_RANK_12;
|
|
case 115:
|
|
return ClanRank.CLAN_RANK_13;
|
|
case 120:
|
|
return ClanRank.CLAN_RANK_14;
|
|
case 125:
|
|
return ClanRank.DEPUTY_OWNER;
|
|
case 126:
|
|
return ClanRank.OWNER;
|
|
case 127:
|
|
return ClanRank.JMOD;
|
|
default:
|
|
return ClanRank.CLAN_RANK_1;
|
|
}
|
|
}
|
|
|
|
public boolean instanceOf(Object o) {
|
|
return o instanceof RuneLiteClanMember;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
if (o == this) {
|
|
return true;
|
|
} else if (!(o instanceof RuneLiteClanMember)) {
|
|
return false;
|
|
} else {
|
|
RuneLiteClanMember clanMember = (RuneLiteClanMember)o;
|
|
if (!clanMember.instanceOf(this)) {
|
|
return false;
|
|
} else {
|
|
String thisName = this.getName();
|
|
String objName = clanMember.getName();
|
|
|
|
if (thisName == null) {
|
|
if (objName != null) {
|
|
return false;
|
|
}
|
|
} else if (!thisName.equals(objName)) {
|
|
return false;
|
|
}
|
|
|
|
ClanRank thisRank = this.getRank();
|
|
ClanRank objRank = clanMember.getRank();
|
|
|
|
if (thisRank == null) {
|
|
if (objRank != null) {
|
|
return false;
|
|
}
|
|
} else if (!thisRank.equals(objRank)) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
byte b = 1;
|
|
|
|
String name = this.getName();
|
|
int hash = b * 59 + (name == null ? 43 : name.hashCode());
|
|
ClanRank rank = this.getRank();
|
|
hash = hash * 59 + (rank == null ? 43 : rank.hashCode());
|
|
|
|
return hash;
|
|
}
|
|
|
|
public String toString() {
|
|
return "ClanMemberImpl(getName=" + this.getName() + ", getRank=" + this.getRank() + ")";
|
|
}
|
|
}
|