// Path: src/main/java/dev/gigaherz/enderthing/util/ILongAccessor.java
// public interface ILongAccessor
// {
//     long get();
// 
//     void set(long value);
// }
// 
// Path: src/main/java/dev/gigaherz/enderthing/util/LongMutable.java
// public class LongMutable implements ILongAccessor
// {
//     private long value;
// 
//     public LongMutable(long value)
//     {
//         this.value = value;
//     }
// 
//     @Override
//     public long get()
//     {
//         return value;
//     }
// 
//     @Override
//     public void set(long value)
//     {
//         this.value = value;
//     }
// }


import com.google.common.primitives.Longs;
import dev.gigaherz.enderthing.util.ILongAccessor;
import dev.gigaherz.enderthing.util.LongMutable;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.inventory.ContainerData;
import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.inventory.Slot;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.registries.ObjectHolder;
package dev.gigaherz.enderthing.gui;


public class PasscodeContainer extends AbstractContainerMenu
{
    @ObjectHolder("enderthing:passcode")
    public static MenuType<PasscodeContainer> TYPE = null;

    public final ILongAccessor keyHolder;
    public final ItemStack previewBase;

    public PasscodeContainer(int windowId, Inventory playerInventory, FriendlyByteBuf packetData)
    {
// Path: src/main/java/dev/gigaherz/enderthing/util/ILongAccessor.java
// public interface ILongAccessor
// {
//     long get();
// 
//     void set(long value);
// }
// 
// Path: src/main/java/dev/gigaherz/enderthing/util/LongMutable.java
// public class LongMutable implements ILongAccessor
// {
//     private long value;
// 
//     public LongMutable(long value)
//     {
//         this.value = value;
//     }
// 
//     @Override
//     public long get()
//     {
//         return value;
//     }
// 
//     @Override
//     public void set(long value)
//     {
//         this.value = value;
//     }
// }


// Path: src/main/java/dev/gigaherz/enderthing/gui/PasscodeContainer.java
import com.google.common.primitives.Longs;
import dev.gigaherz.enderthing.util.ILongAccessor;
import dev.gigaherz.enderthing.util.LongMutable;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.inventory.ContainerData;
import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.inventory.Slot;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.registries.ObjectHolder;

package dev.gigaherz.enderthing.gui;


public class PasscodeContainer extends AbstractContainerMenu
{
    @ObjectHolder("enderthing:passcode")
    public static MenuType<PasscodeContainer> TYPE = null;

    public final ILongAccessor keyHolder;
    public final ItemStack previewBase;

    public PasscodeContainer(int windowId, Inventory playerInventory, FriendlyByteBuf packetData)
    {
        this(windowId, playerInventory, new LongMutable(packetData.readLong()), packetData.readItem());