Refactor item_type

This commit is contained in:
2024-03-10 13:34:24 -04:00
parent 87290baa52
commit df5c607375
24 changed files with 137 additions and 203 deletions
+41 -88
View File
@@ -15,7 +15,7 @@ import engine.gameManager.ZoneManager;
import engine.math.Vector2f;
import engine.math.Vector3fImmutable;
import engine.objects.AbstractCharacter;
import engine.objects.ItemBase;
import engine.objects.Item;
import engine.objects.Shrine;
import engine.objects.Zone;
import engine.powers.EffectsBase;
@@ -560,94 +560,47 @@ public class Enum {
}
}
// Enum for ItemBase flags
public enum ItemType {
UNKNOWN(0),
WEAPON(1),
ARMOR(2),
BASE(3),
GOLD(4),
SCROLL(5),
BOOK(6),
WAND(7),
POTION(8),
KEY(9),
CHARTER(10),
GUILDTREE(11),
SOUNDSOURCE(12),
JEWELRY(13),
CONTAINER(14),
FOUNTAIN(15),
FOOD(16),
DRINKCONTAINER(17),
MAPMARKER(18),
DEED(19),
EMPLOYMENTCONTRACT(20),
PETTOTEM(21),
SLAVECOLLAR(22),
BLANKKEY(23),
WARRANT(24),
FURNITUREDEED(25),
TENT(26),
REAGENT(27),
DEVICE(28),
FORMULA(29),
BUCKET(30),
TREASURE(31),
RUNE(32),
OFFERING(33),
RESOURCE(34),
REALMCHARTER(35),
// old itembase support
DECORATION(0),
HAIR(3),
COMMANDROD(7),
TEARS(8),
GUILDCHARTER(10),
WINE(16),
ALEJUG(17),
CONTRACT(20),
PET(21),
FURNITURE(25),
BEDROLL(26),
FARMABLE(27),
WATERBUCKET(30),
GIFT(31);
private final static HashMap<Integer, ItemType> _typeLookup = new HashMap<>();
private final int _value;
ItemType(int value) {
this._value = value;
}
public static ItemType getByValue(int value) {
ItemType outType = ItemType.DECORATION;
if (_typeLookup.isEmpty()) {
for (ItemType itemType : ItemType.values()) {
_typeLookup.put(itemType._value, itemType);
}
}
if (_typeLookup.containsKey(value))
outType = _typeLookup.get(value);
return outType;
}
/**
* @return the _value
*/
public int getValue() {
return _value;
}
DECORATION,
WEAPON,
ARMOR,
BASE,
GOLD,
SCROLL,
BOOK,
WAND,
POTION,
KEY,
CHARTER,
GUILDTREE,
SOUNDSOURCE,
JEWELRY,
CONTAINER,
FOUNTAIN,
FOOD,
DRINKCONTAINER,
MAPMARKER,
DEED,
EMPLOYMENTCONTRACT,
PETTOTEM,
SLAVECOLLAR,
BLANKKEY,
WARRANT,
FURNITUREDEED,
TENT,
REAGENT,
DEVICE,
FORMULA,
BUCKET,
TREASURE,
RUNE,
OFFERING,
RESOURCE,
REALMCHARTER;
}
// Enum to derive effects for active spires from blueprintUUID
public enum SpireType {
@@ -2493,16 +2446,16 @@ public class Enum {
this.sexRequired = sexRequired;
}
public static GuildCharterType getGuildTypeFromCharter(ItemBase itemBase) {
public static GuildCharterType getGuildTypeFromCharter(Item charter) {
GuildCharterType charterType;
// Must be a valid charter object
if (itemBase.getType().equals(ItemType.GUILDCHARTER) == false)
if (charter.template.item_type.equals(ItemType.CHARTER) == false)
return GuildCharterType.NONE; //No guild Type
switch (itemBase.getUUID()) {
switch (charter.template.template_id) {
case 559:
charterType = GuildCharterType.CATHEDRAL;