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:
parent
4b789b8d3e
commit
15e91027ed
4 changed files with 8 additions and 2 deletions
core/src/main/java/org/geysermc/geyser
inventory/holder
translator
inventory
protocol/java/inventory
|
@ -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)!",
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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)!",
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue