From 7b469f4b0a81693763c62ab469edc5af496181d0 Mon Sep 17 00:00:00 2001 From: GDavid Date: Wed, 13 Mar 2024 20:31:39 +0100 Subject: [PATCH] Fix block entity serialization --- .../java/gdavid/phi/block/tile/CADHolderTile.java | 11 ++++++----- src/main/java/gdavid/phi/block/tile/CableTile.java | 5 ++--- .../phi/block/tile/DistillChamberControllerTile.java | 5 ++--- .../java/gdavid/phi/block/tile/InfusionLaserTile.java | 5 ++--- src/main/java/gdavid/phi/block/tile/MPUTile.java | 11 ++++++----- .../gdavid/phi/block/tile/PsimetalCrusherTile.java | 2 +- .../java/gdavid/phi/block/tile/SpellDisplayTile.java | 11 ++++++----- .../java/gdavid/phi/block/tile/SpellStorageTile.java | 5 ++--- .../java/gdavid/phi/block/tile/TextDisplayTile.java | 11 ++++++----- src/main/java/gdavid/phi/block/tile/TextSUTile.java | 5 ++--- src/main/java/gdavid/phi/block/tile/VSUTile.java | 5 ++--- 11 files changed, 37 insertions(+), 39 deletions(-) diff --git a/src/main/java/gdavid/phi/block/tile/CADHolderTile.java b/src/main/java/gdavid/phi/block/tile/CADHolderTile.java index 3980b4d..0a974ec 100644 --- a/src/main/java/gdavid/phi/block/tile/CADHolderTile.java +++ b/src/main/java/gdavid/phi/block/tile/CADHolderTile.java @@ -140,20 +140,21 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag serializeNBT() { - var nbt = super.serializeNBT(); + public void saveAdditional(CompoundTag nbt) { + super.saveAdditional(nbt); nbt.put(tagItem, item.save(new CompoundTag())); - return nbt; } @Override public ClientboundBlockEntityDataPacket getUpdatePacket() { - return ClientboundBlockEntityDataPacket.create(this, IForgeBlockEntity::serializeNBT); + return ClientboundBlockEntityDataPacket.create(this); } @Override public CompoundTag getUpdateTag() { - return serializeNBT(); + var nbt = new CompoundTag(); + saveAdditional(nbt); + return nbt; } @Override diff --git a/src/main/java/gdavid/phi/block/tile/CableTile.java b/src/main/java/gdavid/phi/block/tile/CableTile.java index 5e5328f..56862ff 100644 --- a/src/main/java/gdavid/phi/block/tile/CableTile.java +++ b/src/main/java/gdavid/phi/block/tile/CableTile.java @@ -82,11 +82,10 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag serializeNBT() { - var nbt = super.serializeNBT(); + public void saveAdditional(CompoundTag nbt) { + super.saveAdditional(nbt); if (connected != null) nbt.putLong(tagConnection, connected.asLong()); else nbt.remove(tagConnection); - return nbt; } } diff --git a/src/main/java/gdavid/phi/block/tile/DistillChamberControllerTile.java b/src/main/java/gdavid/phi/block/tile/DistillChamberControllerTile.java index d1ad5a9..5919e81 100644 --- a/src/main/java/gdavid/phi/block/tile/DistillChamberControllerTile.java +++ b/src/main/java/gdavid/phi/block/tile/DistillChamberControllerTile.java @@ -163,8 +163,8 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag serializeNBT() { - var nbt = super.serializeNBT(); + public void saveAdditional(CompoundTag nbt) { + super.saveAdditional(nbt); ListTag list = new ListTag(); for (Pair pair : fuel) { CompoundTag item = new CompoundTag(); @@ -174,7 +174,6 @@ public CompoundTag serializeNBT() { } nbt.put(tagFuel, list); nbt.putInt(tagPsi, psi); - return nbt; } } diff --git a/src/main/java/gdavid/phi/block/tile/InfusionLaserTile.java b/src/main/java/gdavid/phi/block/tile/InfusionLaserTile.java index 34ed93e..f9c7394 100644 --- a/src/main/java/gdavid/phi/block/tile/InfusionLaserTile.java +++ b/src/main/java/gdavid/phi/block/tile/InfusionLaserTile.java @@ -100,10 +100,9 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag serializeNBT() { - var nbt = super.serializeNBT(); + public void saveAdditional(CompoundTag nbt) { + super.saveAdditional(nbt); nbt.putInt(tagPsi, psi); - return nbt; } } diff --git a/src/main/java/gdavid/phi/block/tile/MPUTile.java b/src/main/java/gdavid/phi/block/tile/MPUTile.java index 416ac50..155ef37 100644 --- a/src/main/java/gdavid/phi/block/tile/MPUTile.java +++ b/src/main/java/gdavid/phi/block/tile/MPUTile.java @@ -231,8 +231,8 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag serializeNBT() { - var nbt = super.serializeNBT(); + public void saveAdditional(CompoundTag nbt) { + super.saveAdditional(nbt); CompoundTag spellNbt = new CompoundTag(); if (spell != null) spell.writeToNBT(spellNbt); nbt.put(tagSpell, spellNbt); @@ -243,17 +243,18 @@ public CompoundTag serializeNBT() { nbt.putInt(tagComparatorSignal, comparatorSignal); nbt.putInt(tagSuccessCount, successCount); nbt.putInt(tagRedstoneMode, redstoneMode.ordinal()); - return nbt; } @Override public ClientboundBlockEntityDataPacket getUpdatePacket() { - return ClientboundBlockEntityDataPacket.create(this, IForgeBlockEntity::serializeNBT); + return ClientboundBlockEntityDataPacket.create(this); } @Override public CompoundTag getUpdateTag() { - return serializeNBT(); + var nbt = new CompoundTag(); + saveAdditional(nbt); + return nbt; } @Override diff --git a/src/main/java/gdavid/phi/block/tile/PsimetalCrusherTile.java b/src/main/java/gdavid/phi/block/tile/PsimetalCrusherTile.java index 1b5199d..9e59be7 100644 --- a/src/main/java/gdavid/phi/block/tile/PsimetalCrusherTile.java +++ b/src/main/java/gdavid/phi/block/tile/PsimetalCrusherTile.java @@ -86,7 +86,7 @@ private ItemEntity getItemUnder() { @Override public ClientboundBlockEntityDataPacket getUpdatePacket() { - return ClientboundBlockEntityDataPacket.create(this, IForgeBlockEntity::serializeNBT); + return ClientboundBlockEntityDataPacket.create(this); } @Override diff --git a/src/main/java/gdavid/phi/block/tile/SpellDisplayTile.java b/src/main/java/gdavid/phi/block/tile/SpellDisplayTile.java index 9908360..4e64920 100644 --- a/src/main/java/gdavid/phi/block/tile/SpellDisplayTile.java +++ b/src/main/java/gdavid/phi/block/tile/SpellDisplayTile.java @@ -60,22 +60,23 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag serializeNBT() { - var nbt = super.serializeNBT(); + public void saveAdditional(CompoundTag nbt) { + super.saveAdditional(nbt); CompoundTag spellNbt = new CompoundTag(); if (spell != null) spell.writeToNBT(spellNbt); nbt.put(tagSpell, spellNbt); - return nbt; } @Override public ClientboundBlockEntityDataPacket getUpdatePacket() { - return ClientboundBlockEntityDataPacket.create(this, IForgeBlockEntity::serializeNBT); + return ClientboundBlockEntityDataPacket.create(this); } @Override public CompoundTag getUpdateTag() { - return serializeNBT(); + var nbt = new CompoundTag(); + saveAdditional(nbt); + return nbt; } @Override diff --git a/src/main/java/gdavid/phi/block/tile/SpellStorageTile.java b/src/main/java/gdavid/phi/block/tile/SpellStorageTile.java index 602195e..9a46fe1 100644 --- a/src/main/java/gdavid/phi/block/tile/SpellStorageTile.java +++ b/src/main/java/gdavid/phi/block/tile/SpellStorageTile.java @@ -81,15 +81,14 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag serializeNBT() { - var nbt = super.serializeNBT(); + public void saveAdditional(CompoundTag nbt) { + super.saveAdditional(nbt); for (int i = 0; i < slots; i++) { CompoundTag spellNbt = new CompoundTag(); if (spells[i] != null) spells[i].writeToNBT(spellNbt); nbt.put(tagSpell + i, spellNbt); } nbt.putInt(tagSelectedSlot, selectedSlot); - return nbt; } } diff --git a/src/main/java/gdavid/phi/block/tile/TextDisplayTile.java b/src/main/java/gdavid/phi/block/tile/TextDisplayTile.java index c8f0b01..df746d6 100644 --- a/src/main/java/gdavid/phi/block/tile/TextDisplayTile.java +++ b/src/main/java/gdavid/phi/block/tile/TextDisplayTile.java @@ -91,24 +91,25 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag serializeNBT() { - var nbt = super.serializeNBT(); + public void saveAdditional(CompoundTag nbt) { + super.saveAdditional(nbt); var list = new ListTag(); for (String line : text) { list.add(StringTag.valueOf(line)); } nbt.put(tagText, list); - return nbt; } @Override public ClientboundBlockEntityDataPacket getUpdatePacket() { - return ClientboundBlockEntityDataPacket.create(this, IForgeBlockEntity::serializeNBT); + return ClientboundBlockEntityDataPacket.create(this); } @Override public CompoundTag getUpdateTag() { - return serializeNBT(); + var nbt = new CompoundTag(); + saveAdditional(nbt); + return nbt; } @Override diff --git a/src/main/java/gdavid/phi/block/tile/TextSUTile.java b/src/main/java/gdavid/phi/block/tile/TextSUTile.java index 9edce00..769c020 100644 --- a/src/main/java/gdavid/phi/block/tile/TextSUTile.java +++ b/src/main/java/gdavid/phi/block/tile/TextSUTile.java @@ -40,10 +40,9 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag serializeNBT() { - var nbt = super.serializeNBT(); + public void saveAdditional(CompoundTag nbt) { + super.saveAdditional(nbt); nbt.putString(tagText, text); - return nbt; } @Override diff --git a/src/main/java/gdavid/phi/block/tile/VSUTile.java b/src/main/java/gdavid/phi/block/tile/VSUTile.java index a6c87e5..c16d6e3 100644 --- a/src/main/java/gdavid/phi/block/tile/VSUTile.java +++ b/src/main/java/gdavid/phi/block/tile/VSUTile.java @@ -39,14 +39,13 @@ public void load(CompoundTag nbt) { } @Override - public CompoundTag serializeNBT() { - var nbt = super.serializeNBT(); + public void saveAdditional(CompoundTag nbt) { + super.saveAdditional(nbt); ListTag list = new ListTag(); list.add(DoubleTag.valueOf(vector.x)); list.add(DoubleTag.valueOf(vector.y)); list.add(DoubleTag.valueOf(vector.z)); nbt.put(tagVector, list); - return nbt; } @Override