Bitvector helper method added.
This commit is contained in:
@@ -34,6 +34,20 @@ import java.util.concurrent.ThreadLocalRandom;
|
|||||||
|
|
||||||
public class Enum {
|
public class Enum {
|
||||||
|
|
||||||
|
public static <E extends java.lang.Enum<E>> EnumSet<E> fromLong(long bitVector, Class<E> enumClass) {
|
||||||
|
|
||||||
|
// Bitvector -> EnumSet without the EnumBitvector dependency
|
||||||
|
|
||||||
|
EnumSet<E> enumSet = EnumSet.noneOf(enumClass);
|
||||||
|
|
||||||
|
for (E enumValue : enumClass.getEnumConstants()) {
|
||||||
|
if ((bitVector & (1L << enumValue.ordinal())) != 0) {
|
||||||
|
enumSet.add(enumValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return enumSet;
|
||||||
|
}
|
||||||
|
|
||||||
public enum PetitionType {
|
public enum PetitionType {
|
||||||
NONE,
|
NONE,
|
||||||
GENERAL,
|
GENERAL,
|
||||||
|
|||||||
@@ -129,6 +129,8 @@ public class ItemTemplate {
|
|||||||
public final HashMap<String, int[]> rune_skill_adj = new HashMap<>();
|
public final HashMap<String, int[]> rune_skill_adj = new HashMap<>();
|
||||||
public final EnumSet<Enum.MonsterType> rune_enemy_monster_types = EnumSet.noneOf(Enum.MonsterType.class);
|
public final EnumSet<Enum.MonsterType> rune_enemy_monster_types = EnumSet.noneOf(Enum.MonsterType.class);
|
||||||
public final EnumSet<Enum.MonsterType> rune_not_enemy_monster_types = EnumSet.noneOf(Enum.MonsterType.class);
|
public final EnumSet<Enum.MonsterType> rune_not_enemy_monster_types = EnumSet.noneOf(Enum.MonsterType.class);
|
||||||
|
public final EnumSet<Enum.MonsterType> rune_groupee_monster_types = EnumSet.noneOf(Enum.MonsterType.class);
|
||||||
|
public final EnumSet<Enum.MonsterType> rune_helper_monster_types = EnumSet.noneOf(Enum.MonsterType.class);
|
||||||
|
|
||||||
public ItemTemplate(JSONObject jsonObject) {
|
public ItemTemplate(JSONObject jsonObject) {
|
||||||
|
|
||||||
@@ -511,6 +513,12 @@ public class ItemTemplate {
|
|||||||
rune_not_enemy_monster_types.add(monsterType);
|
rune_not_enemy_monster_types.add(monsterType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long rune_groupee_bitvector = ((Long) jsonObject.get("rune_groupee_monster_types")).intValue();
|
||||||
|
rune_groupee_monster_types.addAll(Enum.fromLong(rune_groupee_bitvector, Enum.MonsterType.class));
|
||||||
|
|
||||||
|
long rune_helper_bitvector = ((Long) jsonObject.get("rune_helper_monster_types")).intValue();
|
||||||
|
rune_helper_monster_types.addAll(Enum.fromLong(rune_helper_bitvector, Enum.MonsterType.class));
|
||||||
|
|
||||||
rune_renderable = ((Boolean) jsonObject.get("rune_renderable"));
|
rune_renderable = ((Boolean) jsonObject.get("rune_renderable"));
|
||||||
rune_natural_power_attack = ((Long) jsonObject.get("rune_natural_power_attack")).intValue();
|
rune_natural_power_attack = ((Long) jsonObject.get("rune_natural_power_attack")).intValue();
|
||||||
|
|
||||||
|
|||||||
@@ -35,4 +35,5 @@ public class MiscUtils {
|
|||||||
// empty last names are fine, return false
|
// empty last names are fine, return false
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user