From 728504900e29bcd149ae147f6ea255a17e403efc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 9 Jan 2022 09:53:37 +0100 Subject: [PATCH] Fixed devices not being updated when loading item list. Fix not applying loaded device data to existing devices. Fixes initial robot state on placement. --- .../common/bus/AbstractGroupingDeviceBusElement.java | 10 ++++++++++ .../oc2/common/container/DeviceItemStackHandler.java | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/li/cil/oc2/common/bus/AbstractGroupingDeviceBusElement.java b/src/main/java/li/cil/oc2/common/bus/AbstractGroupingDeviceBusElement.java index d85a2bbd..36b21d19 100644 --- a/src/main/java/li/cil/oc2/common/bus/AbstractGroupingDeviceBusElement.java +++ b/src/main/java/li/cil/oc2/common/bus/AbstractGroupingDeviceBusElement.java @@ -78,6 +78,16 @@ public abstract class AbstractGroupingDeviceBusElement { + if (devicesTag.contains(key, NBTTagIds.TAG_COMPOUND)) { + entry.getDevice().deserializeNBT(devicesTag.getCompound(key)); + } + }); + } } } diff --git a/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java b/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java index 5d5f2dad..543384e1 100644 --- a/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java +++ b/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java @@ -55,13 +55,13 @@ public class DeviceItemStackHandler extends FixedSizeItemStackHandler { public void loadItems(final CompoundTag tag) { super.deserializeNBT(tag); + for (int slot = 0; slot < getSlots(); slot++) { + busElement.updateDevices(slot, getStackInSlot(slot)); + } } public void loadDevices(final CompoundTag tag) { busElement.load(tag); - for (int slot = 0; slot < getSlots(); slot++) { - busElement.updateDevices(slot, getStackInSlot(slot)); - } } @Override