From 41828dbf9c711016fd986c19b956979bd4fd46c7 Mon Sep 17 00:00:00 2001 From: kuroppoi <68156848+kuroppoi@users.noreply.github.com> Date: Fri, 23 Apr 2021 14:33:00 +0200 Subject: [PATCH] Enum refactoring --- .../java/brainwine/gameserver/entity/EntityType.java | 10 +++++++--- .../brainwine/gameserver/entity/FacingDirection.java | 10 +++++++--- .../brainwine/gameserver/entity/player/ChatType.java | 10 +++++++--- .../gameserver/entity/player/ContainerType.java | 10 +++++++--- .../brainwine/gameserver/entity/player/Inventory.java | 2 +- .../java/brainwine/gameserver/entity/player/Skill.java | 6 +++--- .../java/brainwine/gameserver/item/ItemUseType.java | 2 +- .../msgpack/{EnumIdentifier.java => EnumValue.java} | 2 +- .../gameserver/msgpack/templates/EnumTemplate.java | 6 +++--- 9 files changed, 37 insertions(+), 21 deletions(-) rename gameserver/src/main/java/brainwine/gameserver/msgpack/{EnumIdentifier.java => EnumValue.java} (92%) diff --git a/gameserver/src/main/java/brainwine/gameserver/entity/EntityType.java b/gameserver/src/main/java/brainwine/gameserver/entity/EntityType.java index 2d07bda..7053b92 100644 --- a/gameserver/src/main/java/brainwine/gameserver/entity/EntityType.java +++ b/gameserver/src/main/java/brainwine/gameserver/entity/EntityType.java @@ -1,6 +1,6 @@ package brainwine.gameserver.entity; -import brainwine.gameserver.msgpack.EnumIdentifier; +import brainwine.gameserver.msgpack.EnumValue; import brainwine.gameserver.msgpack.RegisterEnum; @RegisterEnum @@ -11,10 +11,14 @@ public enum EntityType { TERRAPUS_JUVENLIE(3), TERRAPUS_ADULT(4); - @EnumIdentifier - public final int id; + private final int id; private EntityType(int id) { this.id = id; } + + @EnumValue + public int getId() { + return id; + } } diff --git a/gameserver/src/main/java/brainwine/gameserver/entity/FacingDirection.java b/gameserver/src/main/java/brainwine/gameserver/entity/FacingDirection.java index 69e1e14..f0c4543 100644 --- a/gameserver/src/main/java/brainwine/gameserver/entity/FacingDirection.java +++ b/gameserver/src/main/java/brainwine/gameserver/entity/FacingDirection.java @@ -1,6 +1,6 @@ package brainwine.gameserver.entity; -import brainwine.gameserver.msgpack.EnumIdentifier; +import brainwine.gameserver.msgpack.EnumValue; import brainwine.gameserver.msgpack.RegisterEnum; @RegisterEnum @@ -9,10 +9,14 @@ public enum FacingDirection { WEST(-1), EAST(1); - @EnumIdentifier - public final int id; + private final int id; private FacingDirection(int id) { this.id = id; } + + @EnumValue + public int getId() { + return id; + } } diff --git a/gameserver/src/main/java/brainwine/gameserver/entity/player/ChatType.java b/gameserver/src/main/java/brainwine/gameserver/entity/player/ChatType.java index 070d5f6..b0531aa 100644 --- a/gameserver/src/main/java/brainwine/gameserver/entity/player/ChatType.java +++ b/gameserver/src/main/java/brainwine/gameserver/entity/player/ChatType.java @@ -1,6 +1,6 @@ package brainwine.gameserver.entity.player; -import brainwine.gameserver.msgpack.EnumIdentifier; +import brainwine.gameserver.msgpack.EnumValue; import brainwine.gameserver.msgpack.RegisterEnum; @RegisterEnum @@ -11,10 +11,14 @@ public enum ChatType { SPEECH("s"), THOUGHT("t"); - @EnumIdentifier - public String id; + private final String id; private ChatType(String id) { this.id = id; } + + @EnumValue + public String getId() { + return id; + } } diff --git a/gameserver/src/main/java/brainwine/gameserver/entity/player/ContainerType.java b/gameserver/src/main/java/brainwine/gameserver/entity/player/ContainerType.java index 7d20007..e12cc66 100644 --- a/gameserver/src/main/java/brainwine/gameserver/entity/player/ContainerType.java +++ b/gameserver/src/main/java/brainwine/gameserver/entity/player/ContainerType.java @@ -1,6 +1,6 @@ package brainwine.gameserver.entity.player; -import brainwine.gameserver.msgpack.EnumIdentifier; +import brainwine.gameserver.msgpack.EnumValue; import brainwine.gameserver.msgpack.RegisterEnum; @RegisterEnum @@ -9,10 +9,14 @@ public enum ContainerType { HOTBAR("h"), ACCESSORIES("a"); - @EnumIdentifier - public final String id; + private final String id; private ContainerType(String id) { this.id = id; } + + @EnumValue + public String getId() { + return id; + } } diff --git a/gameserver/src/main/java/brainwine/gameserver/entity/player/Inventory.java b/gameserver/src/main/java/brainwine/gameserver/entity/player/Inventory.java index 746eb78..12c3819 100644 --- a/gameserver/src/main/java/brainwine/gameserver/entity/player/Inventory.java +++ b/gameserver/src/main/java/brainwine/gameserver/entity/player/Inventory.java @@ -77,7 +77,7 @@ public class Inventory { int slot = -1; if((slot = hotbar.getSlot(item)) != -1) { - itemData.add(ContainerType.HOTBAR.id); + itemData.add(ContainerType.HOTBAR.getId()); itemData.add(slot); } diff --git a/gameserver/src/main/java/brainwine/gameserver/entity/player/Skill.java b/gameserver/src/main/java/brainwine/gameserver/entity/player/Skill.java index 8b5ed4a..085fd8c 100644 --- a/gameserver/src/main/java/brainwine/gameserver/entity/player/Skill.java +++ b/gameserver/src/main/java/brainwine/gameserver/entity/player/Skill.java @@ -1,6 +1,6 @@ package brainwine.gameserver.entity.player; -import brainwine.gameserver.msgpack.EnumIdentifier; +import brainwine.gameserver.msgpack.EnumValue; import brainwine.gameserver.msgpack.RegisterEnum; @RegisterEnum @@ -19,8 +19,8 @@ public enum Skill { STAMINA, SURVIVAL; - @EnumIdentifier - public String code() { + @EnumValue + public String getId() { return toString().toLowerCase(); } } diff --git a/gameserver/src/main/java/brainwine/gameserver/item/ItemUseType.java b/gameserver/src/main/java/brainwine/gameserver/item/ItemUseType.java index a617179..c448bd6 100644 --- a/gameserver/src/main/java/brainwine/gameserver/item/ItemUseType.java +++ b/gameserver/src/main/java/brainwine/gameserver/item/ItemUseType.java @@ -16,7 +16,7 @@ public enum ItemUseType { UNKNOWN; @JsonCreator - public static ItemUseType create(String id) { + public static ItemUseType fromId(String id) { String formatted = id.toUpperCase().replace(" ", "_"); for(ItemUseType value : values()) { diff --git a/gameserver/src/main/java/brainwine/gameserver/msgpack/EnumIdentifier.java b/gameserver/src/main/java/brainwine/gameserver/msgpack/EnumValue.java similarity index 92% rename from gameserver/src/main/java/brainwine/gameserver/msgpack/EnumIdentifier.java rename to gameserver/src/main/java/brainwine/gameserver/msgpack/EnumValue.java index ca1fad9..716609c 100644 --- a/gameserver/src/main/java/brainwine/gameserver/msgpack/EnumIdentifier.java +++ b/gameserver/src/main/java/brainwine/gameserver/msgpack/EnumValue.java @@ -11,4 +11,4 @@ import java.lang.annotation.Target; */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) -public @interface EnumIdentifier {} +public @interface EnumValue {} diff --git a/gameserver/src/main/java/brainwine/gameserver/msgpack/templates/EnumTemplate.java b/gameserver/src/main/java/brainwine/gameserver/msgpack/templates/EnumTemplate.java index bf540f0..3c5fc39 100644 --- a/gameserver/src/main/java/brainwine/gameserver/msgpack/templates/EnumTemplate.java +++ b/gameserver/src/main/java/brainwine/gameserver/msgpack/templates/EnumTemplate.java @@ -13,7 +13,7 @@ import org.msgpack.template.AbstractTemplate; import org.msgpack.type.ValueType; import org.msgpack.unpacker.Unpacker; -import brainwine.gameserver.msgpack.EnumIdentifier; +import brainwine.gameserver.msgpack.EnumValue; public class EnumTemplate extends AbstractTemplate { @@ -24,7 +24,7 @@ public class EnumTemplate extends AbstractTemplate { T[] entries = type.getEnumConstants(); for(Field field : type.getFields()) { - if(field.isAnnotationPresent(EnumIdentifier.class)) { + if(field.isAnnotationPresent(EnumValue.class)) { try { for(T entry : entries) { Object id = field.get(entry); @@ -40,7 +40,7 @@ public class EnumTemplate extends AbstractTemplate { } for(Method method : type.getMethods()) { - if(method.isAnnotationPresent(EnumIdentifier.class)) { + if(method.isAnnotationPresent(EnumValue.class)) { try { for(T entry : entries) { Object id = method.invoke(entry);