From 1d4b658400bdf4ac14fa27d0eeae062f481e517b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Ryb=C3=A1rsky?= Date: Sun, 26 May 2024 23:22:53 +0200 Subject: [PATCH] Refresh all screens when changing items --- gradle.properties | 2 +- .../blockentities/StorageBlockEntity.java | 4 ++++ .../brn/server_storage/screens/StorageScreen.java | 15 +++++++-------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/gradle.properties b/gradle.properties index d813cf8..24d674b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ yarn_mappings=1.20.6+build.3 loader_version=0.15.11 # Mod Properties -mod_version=2.0 +mod_version=2.2 maven_group=systems.brn archives_base_name=Server_storage diff --git a/src/main/java/systems/brn/server_storage/blockentities/StorageBlockEntity.java b/src/main/java/systems/brn/server_storage/blockentities/StorageBlockEntity.java index a72e344..0f76bb5 100644 --- a/src/main/java/systems/brn/server_storage/blockentities/StorageBlockEntity.java +++ b/src/main/java/systems/brn/server_storage/blockentities/StorageBlockEntity.java @@ -67,6 +67,10 @@ public class StorageBlockEntity extends BlockEntity implements Inventory, SidedI markDirty(); ConnectedChests chests = new ConnectedChests(world, this.pos, false); chests.tryPutItemStack(stack); + updateDisplays(); + } + + public void updateDisplays() { for (StorageScreen screen : openStorageScreens) { screen.updateDisplay(); } diff --git a/src/main/java/systems/brn/server_storage/screens/StorageScreen.java b/src/main/java/systems/brn/server_storage/screens/StorageScreen.java index 7f6df66..7c6848e 100644 --- a/src/main/java/systems/brn/server_storage/screens/StorageScreen.java +++ b/src/main/java/systems/brn/server_storage/screens/StorageScreen.java @@ -52,16 +52,15 @@ public class StorageScreen extends PagedGui { @Override public void updateDisplay() { this.chests = new ConnectedChests(world, pos, sortAlphabetically); - String title = "Storage: " + - chests.containerUsedSlots + - "/" + + String title = chests.containerUsedSlots + + "u/" + chests.containerSlots + - "(" + + "t(" + chests.containerFreeSlots + - " free)" + + "f)" + "[" + chests.containerCount + - "]"; + "c]"; setTitle(Text.of(title)); super.updateDisplay(); @@ -116,7 +115,7 @@ public class StorageScreen extends PagedGui { if (canRemoveFromInventory(chests.inventory, noLoreStack) && insertCount > 0) { player.getInventory().insertStack(insertingStack.copy()); chests.removeItemStack(insertingStack); - updateDisplay(); + blockEntity.updateDisplays(); } } } @@ -128,7 +127,7 @@ public class StorageScreen extends PagedGui { if (chests.tryPutItemStack(stack)) { removeFromInventory(player.getInventory(), stack, stack.getCount()); } - updateDisplay(); + blockEntity.updateDisplays(); return super.insertItem(stack, startIndex, endIndex, fromLast); }