52 lines
2.1 KiB
Java
52 lines
2.1 KiB
Java
package men.groupiron;
|
|
|
|
import net.runelite.api.Client;
|
|
import net.runelite.api.EnumComposition;
|
|
import net.runelite.api.EnumID;
|
|
import net.runelite.api.gameval.VarbitID;
|
|
|
|
public class RunePouchState implements ConsumableState {
|
|
private final ItemContainerItem rune1;
|
|
private final ItemContainerItem rune2;
|
|
private final ItemContainerItem rune3;
|
|
private final ItemContainerItem rune4;
|
|
private final transient String playerName;
|
|
|
|
public RunePouchState(String playerName, Client client) {
|
|
this.playerName = playerName;
|
|
final EnumComposition runepouchEnum = client.getEnum(EnumID.RUNEPOUCH_RUNE);
|
|
rune1 = itemForRune(client.getVarbitValue(VarbitID.RUNE_POUCH_TYPE_1), client.getVarbitValue(VarbitID.RUNE_POUCH_QUANTITY_1), runepouchEnum);
|
|
rune2 = itemForRune(client.getVarbitValue(VarbitID.RUNE_POUCH_TYPE_2), client.getVarbitValue(VarbitID.RUNE_POUCH_QUANTITY_2), runepouchEnum);
|
|
rune3 = itemForRune(client.getVarbitValue(VarbitID.RUNE_POUCH_TYPE_3), client.getVarbitValue(VarbitID.RUNE_POUCH_QUANTITY_3), runepouchEnum);
|
|
rune4 = itemForRune(client.getVarbitValue(VarbitID.RUNE_POUCH_TYPE_4), client.getVarbitValue(VarbitID.RUNE_POUCH_QUANTITY_4), runepouchEnum);
|
|
}
|
|
|
|
private ItemContainerItem itemForRune(int runeId, int amount, EnumComposition runepouchEnum) {
|
|
return new ItemContainerItem(runepouchEnum.getIntValue(runeId), amount);
|
|
}
|
|
|
|
@Override
|
|
public Object get() {
|
|
return new int[] {
|
|
rune1.getId(), rune1.getQuantity(),
|
|
rune2.getId(), rune2.getQuantity(),
|
|
rune3.getId(), rune3.getQuantity(),
|
|
rune4.getId(), rune4.getQuantity()
|
|
};
|
|
}
|
|
|
|
@Override
|
|
public String whoOwnsThis() {
|
|
return playerName;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
if (o == this) return true;
|
|
if (!(o instanceof RunePouchState)) return false;
|
|
RunePouchState other = (RunePouchState) o;
|
|
|
|
return rune1.equals(other.rune1) && rune2.equals(other.rune2) && rune3.equals(other.rune3) && rune4.equals(other.rune4);
|
|
}
|
|
}
|