From 5ce9e4574df356910645b0382628f74d1401e26d Mon Sep 17 00:00:00 2001 From: GiantLuigi4 <49770992+GiantLuigi4@users.noreply.github.com> Date: Mon, 5 Jun 2023 16:57:47 -0400 Subject: [PATCH] fix issue where turning on the back of the screen would break both sides of the screen --- .../net/montoyo/wd/block/BlockScreen.java | 2 ++ .../montoyo/wd/entity/TileEntityScreen.java | 34 +++++++++---------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/main/java/net/montoyo/wd/block/BlockScreen.java b/src/main/java/net/montoyo/wd/block/BlockScreen.java index fd17d62..990501b 100644 --- a/src/main/java/net/montoyo/wd/block/BlockScreen.java +++ b/src/main/java/net/montoyo/wd/block/BlockScreen.java @@ -103,6 +103,8 @@ public class BlockScreen extends BaseEntityBlock { @Override public void onRemove(BlockState p_60515_, Level p_60516_, BlockPos p_60517_, BlockState p_60518_, boolean p_60519_) { // TODO: make this also get called on client? + if (p_60518_.getBlock() == p_60515_.getBlock()) return; + for (BlockSide value : BlockSide.values()) { Vector3i vec = new Vector3i(p_60517_.getX(), p_60517_.getY(), p_60517_.getZ()); Multiblock.findOrigin(p_60516_, vec, value, null); diff --git a/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java b/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java index 2ab6e66..b439d08 100644 --- a/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java +++ b/src/main/java/net/montoyo/wd/entity/TileEntityScreen.java @@ -285,6 +285,23 @@ public class TileEntityScreen extends BlockEntity { screens.add(Screen.deserialize(list.getCompound(i))); } + @Override + public CompoundTag getUpdateTag() { + CompoundTag tag = new CompoundTag(); + saveAdditional(tag); + return tag; + } + + @Override + public void handleUpdateTag(CompoundTag tag) { + load(tag); + for (Screen screen : screens) { + if (screen.browser == null) screen.createBrowser(false); + if (screen.browser != null) screen.browser.loadURL(screen.url); + } + updateAABB(); + } + @Override protected void saveAdditional(CompoundTag tag) { super.saveAdditional(tag); @@ -653,23 +670,6 @@ public class TileEntityScreen extends BlockEntity { } } - @Override - public CompoundTag getUpdateTag() { - CompoundTag tag = new CompoundTag(); - saveAdditional(tag); - return tag; - } - - @Override - public void handleUpdateTag(CompoundTag tag) { - load(tag); - for (Screen screen : screens) { - if (screen.browser == null) screen.createBrowser(false); - if (screen.browser != null) screen.browser.loadURL(screen.url); - } - updateAABB(); - } - @Override public void onChunkUnloaded() { if (level.isClientSide) {