From ef724d38321c791ad0eaf3ec588a50b8eedb9d18 Mon Sep 17 00:00:00 2001 From: austin Date: Mon, 21 Oct 2024 09:44:43 -0400 Subject: [PATCH] fix inventory message for undefined id on client --- buildNumber.properties | 4 ++-- docs/src/progress/renderertodo.md | 2 ++ .../state/inventory/ClientInventoryState.java | 17 +++++++++++------ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/buildNumber.properties b/buildNumber.properties index 00886f4e..b70e28fc 100644 --- a/buildNumber.properties +++ b/buildNumber.properties @@ -1,3 +1,3 @@ #maven.buildNumber.plugin properties file -#Sun Oct 20 12:03:26 EDT 2024 -buildNumber=361 +#Mon Oct 21 09:29:02 EDT 2024 +buildNumber=362 diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index f7a5066e..8f6b998e 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -877,6 +877,8 @@ Fix ui scaling on abnormal monitors - This is literally just a function of the settings file not being updated for different resolutions Fix inventory null pointer check on virtualaudiomanager +(10/21/2024) +Fix inventory message for undefined id on client # TODO diff --git a/src/main/java/electrosphere/entity/state/inventory/ClientInventoryState.java b/src/main/java/electrosphere/entity/state/inventory/ClientInventoryState.java index e29d9049..42e13867 100644 --- a/src/main/java/electrosphere/entity/state/inventory/ClientInventoryState.java +++ b/src/main/java/electrosphere/entity/state/inventory/ClientInventoryState.java @@ -1,5 +1,7 @@ package electrosphere.entity.state.inventory; +import java.util.LinkedList; +import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import electrosphere.client.ui.menu.WindowUtils; @@ -35,6 +37,7 @@ public class ClientInventoryState implements BehaviorTree { @Override public void simulate(float deltaTime) { + List bouncedMessages = new LinkedList(); for(InventoryMessage message : networkMessageQueue){ networkMessageQueue.remove(message); switch(message.getMessageSubtype()){ @@ -153,10 +156,10 @@ public class ClientInventoryState implements BehaviorTree { //translate id Globals.clientSceneWrapper.mapIdToId(inWorldEntity.getId(), message.getentityId()); switch(message.getcontainerType()){ - case electrosphere.net.server.protocol.InventoryProtocol.INVENTORY_TYPE_NATURAL: { + case InventoryProtocol.INVENTORY_TYPE_NATURAL: { throw new UnsupportedOperationException("unsupported!"); } - case electrosphere.net.server.protocol.InventoryProtocol.INVENTORY_TYPE_EQUIP: { + case InventoryProtocol.INVENTORY_TYPE_EQUIP: { //grab equip state ClientEquipState equipState = ClientEquipState.getEquipState(equipper); //create entity from template in message @@ -165,16 +168,17 @@ public class ClientInventoryState implements BehaviorTree { EquipPoint equipPoint = equipState.getEquipPoint(equipPointName); //attach equipState.attemptEquip(inWorldEntity, equipPoint); - } - case electrosphere.net.server.protocol.InventoryProtocol.INVENTORY_TYPE_TOOLBAR: { + } break; + case InventoryProtocol.INVENTORY_TYPE_TOOLBAR: { //grab toolbar state ClientToolbarState toolbarState = ClientToolbarState.getClientToolbarState(equipper); //attach toolbarState.attemptEquip(inWorldEntity); - } + } break; } } else { - throw new UnsupportedOperationException("todo"); + bouncedMessages.add(message); + // throw new UnsupportedOperationException("TODO: in world item is null"); } } break; case CLIENTUPDATETOOLBAR: @@ -186,6 +190,7 @@ public class ClientInventoryState implements BehaviorTree { break; } } + this.networkMessageQueue.addAll(bouncedMessages); } public void addNetworkMessage(InventoryMessage networkMessage) {