diff --git a/core/src/main/java/org/geysermc/geyser/inventory/InventoryHolder.java b/core/src/main/java/org/geysermc/geyser/inventory/InventoryHolder.java index 8d822749b..6c811676e 100644 --- a/core/src/main/java/org/geysermc/geyser/inventory/InventoryHolder.java +++ b/core/src/main/java/org/geysermc/geyser/inventory/InventoryHolder.java @@ -160,8 +160,10 @@ public final class InventoryHolder { @Override public String toString() { return "InventoryHolder[" + - "session=" + session + ", " + + "session=" + session.bedrockUsername() + ", " + "inventory=" + inventory + ", " + - "translator=" + translator + ']'; + "pending= " + pending + ", " + + "containerOpenAttempts=" + containerOpenAttempts + ", " + + "translator=" + translator.getClass().getSimpleName() + ']'; } } diff --git a/core/src/main/java/org/geysermc/geyser/translator/inventory/BeaconInventoryTranslator.java b/core/src/main/java/org/geysermc/geyser/translator/inventory/BeaconInventoryTranslator.java index e3f2e3d32..3288d563f 100644 --- a/core/src/main/java/org/geysermc/geyser/translator/inventory/BeaconInventoryTranslator.java +++ b/core/src/main/java/org/geysermc/geyser/translator/inventory/BeaconInventoryTranslator.java @@ -44,7 +44,6 @@ import org.geysermc.geyser.inventory.updater.UIInventoryUpdater; import org.geysermc.geyser.level.block.Blocks; import org.geysermc.geyser.session.GeyserSession; import org.geysermc.geyser.translator.level.block.entity.BlockEntityTranslator; -import org.geysermc.geyser.util.InventoryUtils; import org.geysermc.mcprotocollib.protocol.data.game.inventory.ContainerType; import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.inventory.ServerboundSetBeaconPacket; @@ -60,12 +59,9 @@ public class BeaconInventoryTranslator extends AbstractBlockInventoryTranslator< } @Override - public void openInventory(GeyserSession session, Container container) { - if (!container.isUsingRealBlock()) { - InventoryUtils.closeInventory(session, container.getJavaId(), false); - return; - } - super.openInventory(session, container); + public boolean prepareInventory(GeyserSession session, Container container) { + // Virtual beacon inventories aren't possible - we don't want to spawn a whole pyramid! + return super.canUseRealBlock(session, container); } }, UIInventoryUpdater.INSTANCE); }