1
0
Fork 0
mirror of https://github.com/GeyserMC/Geyser.git synced 2025-04-17 19:12:14 +02:00

no clue how this slipped by

This commit is contained in:
onebeastchris 2025-03-31 19:58:18 +02:00
parent 4b789b8d3e
commit 15e91027ed
4 changed files with 8 additions and 2 deletions
core/src/main/java/org/geysermc/geyser

View file

@ -93,7 +93,6 @@ public class BlockInventoryHolder extends InventoryHolder {
// Check if we'd be using the same virtual inventory position.
Vector3i position = InventoryUtils.findAvailableWorldSpace(session);
if (Objects.equals(position, previous.getHolderPosition())) {
container.setHolderPosition(position);
return true;
} else {
GeyserImpl.getInstance().getLogger().debug(session, "Not reusing inventory (%s) due to virtual block holder changing (%s -> %s)!",

View file

@ -37,6 +37,7 @@ import it.unimi.dsi.fastutil.ints.IntSortedSet;
import lombok.AllArgsConstructor;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.cloudburstmc.math.vector.Vector3i;
import org.cloudburstmc.protocol.bedrock.data.inventory.ContainerSlotType;
import org.cloudburstmc.protocol.bedrock.data.inventory.FullContainerName;
import org.cloudburstmc.protocol.bedrock.data.inventory.itemstack.request.ItemStackRequest;
@ -163,6 +164,11 @@ public abstract class InventoryTranslator {
return false;
}
if (previous.getHolderId() == -1 && previous.getHolderPosition() == Vector3i.ZERO) {
GeyserImpl.getInstance().getLogger().debug(session, "Not reusing inventory (%s) since the old was not initialized! ", InventoryUtils.debugInventory(inventory));
return false;
}
// We can likely reuse the inventory!
return true;
}

View file

@ -90,7 +90,6 @@ public class DoubleChestInventoryTranslator extends ChestInventoryTranslator {
// Check if we'd be using the same virtual inventory position.
Vector3i position = InventoryUtils.findAvailableWorldSpace(session);
if (Objects.equals(position, previous.getHolderPosition())) {
container.setHolderPosition(position);
return true;
} else {
GeyserImpl.getInstance().getLogger().debug(session, "Not reusing inventory (%s) due to virtual block holder changing (%s -> %s)!",

View file

@ -88,6 +88,8 @@ public class JavaOpenScreenTranslator extends PacketTranslator<ClientboundOpenSc
newInventory.setDisplayed(openInventory.isDisplayed());
newInventory.setPending(pending);
newInventory.setDelayed(openInventory.isDelayed());
newInventory.setHolderPosition(openInventory.getHolderPosition());
newInventory.setHolderId(openInventory.getHolderId());
session.setOpenInventory(newInventory);
GeyserImpl.getInstance().getLogger().debug(session, "Able to reuse current inventory. Is current pending? %s", pending);