diff --git a/src/main/java/wtf/hak/survivalfabric/features/sharedenderchest/SharedEnderChest.java b/src/main/java/wtf/hak/survivalfabric/features/sharedenderchest/SharedEnderChest.java index d14a83a..05318c7 100644 --- a/src/main/java/wtf/hak/survivalfabric/features/sharedenderchest/SharedEnderChest.java +++ b/src/main/java/wtf/hak/survivalfabric/features/sharedenderchest/SharedEnderChest.java @@ -113,7 +113,6 @@ public class SharedEnderChest implements ServerLifecycleEvents.ServerStopping, S } public static void openSharedEnderChest(PlayerEntity player, World world, BlockPos pos) { - playEnderChestOpenSound(world, pos); fakeEnderChestOpen(world, pos, true); sharedInventory.openedEnderChests.put(player, pos); player.openHandledScreen(new SimpleNamedScreenHandlerFactory((int_1, playerInventory, playerEntity) -> @@ -133,6 +132,10 @@ public class SharedEnderChest implements ServerLifecycleEvents.ServerStopping, S return; } + if(open) + playEnderChestOpenSound(world, pos); + else + playEnderChestCloseSound(world, pos); world.addSyncedBlockEvent(pos, Blocks.ENDER_CHEST, 1, open ? 1 : 0); } diff --git a/src/main/java/wtf/hak/survivalfabric/features/sharedenderchest/SharedInventory.java b/src/main/java/wtf/hak/survivalfabric/features/sharedenderchest/SharedInventory.java index 0deb00b..3f859b8 100644 --- a/src/main/java/wtf/hak/survivalfabric/features/sharedenderchest/SharedInventory.java +++ b/src/main/java/wtf/hak/survivalfabric/features/sharedenderchest/SharedInventory.java @@ -89,7 +89,8 @@ public class SharedInventory implements Inventory { @Override public void onClose(PlayerEntity player) { BlockPos pos = openedEnderChests.remove(player); + if(openedEnderChests.containsValue(pos)) + return; SharedEnderChest.fakeEnderChestOpen(player.getWorld(), pos, false); - SharedEnderChest.playEnderChestCloseSound(player.getWorld(), pos); } } \ No newline at end of file