57 protected void parse(JsonObject data) {
58 final String name = Objects.requireNonNull(data.get(
"name").getAsString());
60 final boolean restock = data.get(
"restock").getAsBoolean();
61 final String sellType = data.get(
"sellType").getAsString().toUpperCase();
62 final LoadedItem[] loadedItems =
builder.fromJson(data.get(
"items"), LoadedItem[].class);
64 final List<StoreItem> storeItems =
new ArrayList<>(loadedItems.length);
66 for(LoadedItem loadedItem : loadedItems) {
67 if (loadedItem.value == 0) {
68 loadedItem.value = -1;
70 storeItems.add(
new StoreItem(loadedItem.id, loadedItem.amount, OptionalInt.of(loadedItem.value), Optional.ofNullable(loadedItem.type)));
73 StoreItem[] items = storeItems.toArray(
new StoreItem[storeItems.size()]);
74 Store.STORES.put(name,
new DefaultStore(items, name,
SellType.valueOf(sellType), restock, currency));