From d0e2ca8126b908ae9e390d06544fa52fb96b573e Mon Sep 17 00:00:00 2001 From: kuroppoi <68156848+kuroppoi@users.noreply.github.com> Date: Sat, 24 Apr 2021 20:37:18 +0200 Subject: [PATCH] Minor JSON & instance related improvements --- .../java/brainwine/gameserver/item/Item.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/gameserver/src/main/java/brainwine/gameserver/item/Item.java b/gameserver/src/main/java/brainwine/gameserver/item/Item.java index 17d163a..91eadb1 100644 --- a/gameserver/src/main/java/brainwine/gameserver/item/Item.java +++ b/gameserver/src/main/java/brainwine/gameserver/item/Item.java @@ -12,7 +12,18 @@ import com.fasterxml.jackson.annotation.JsonValue; @JsonIgnoreProperties(ignoreUnknown = true) public class Item { - public static final Item AIR = new Item(); + public static final Item AIR = new Item() { + + @Override + public int getId() { + return 0; + } + + @Override + public String getName() { + return "air"; + } + }; @JsonProperty("code") private int id; @@ -57,6 +68,11 @@ public class Item { return ItemRegistry.getItem(id); } + @JsonCreator + private static Item fromName(String name) { + return ItemRegistry.getItem(name); + } + @Override public int hashCode() { return id; @@ -72,11 +88,11 @@ public class Item { return item.getId() == id; } - @JsonValue public int getId() { return id; } + @JsonValue public String getName() { return name; }