Temporarily remove the dynamic gui system until i have the energy to properly implement it

This commit is contained in:
Aria 2023-03-02 17:49:07 -07:00
parent be1f961175
commit a989d1fe65
7 changed files with 71 additions and 61 deletions

View file

@ -1,48 +0,0 @@
package dev.zontreck.libzontreck.dynamicchest;
import dev.zontreck.libzontreck.networking.structures.OpenGUIRequest;
import dev.zontreck.libzontreck.types.ModMenuTypes;
import net.minecraft.core.BlockPos;
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.Slot;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemStackHandler;
import net.minecraftforge.items.SlotItemHandler;
public class ChestGuiMenu extends AbstractContainerMenu
{
public final Player player;
public ChestGuiMenu(int id, Inventory player)
{
this(id, player, new ItemStackHandler(36), BlockPos.ZERO, player.player, null);
}
public ChestGuiMenu(int id, Inventory player, IItemHandler handler, BlockPos pos, Player play, OpenGUIRequest request)
{
super(ModMenuTypes.CHESTGUI.get(), id);
this.player=play;
int slotSize=18;
int startX=11;
int startY=11;
for(int row=0; row<4; row++)
{
for(int column = 0; column<9;column++)
{
addSlot(new SlotItemHandler(handler, row * 9 + column, startX + column * slotSize, startY + row * slotSize));
}
}
}
@Override
public boolean stillValid(Player pPlayer) {
return true; // This is dynamic. We have no block entity!
}
}

View file

@ -1,5 +0,0 @@
package dev.zontreck.libzontreck.dynamicchest;
public class ChestGuiScreen {
}

View file

@ -0,0 +1,60 @@
package dev.zontreck.libzontreck.dynamicchest;
import net.minecraft.core.NonNullList;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.items.ItemStackHandler;
public class ReadOnlyItemStackHandler extends ItemStackHandler
{
private final ItemStackHandler slot;
private Runnable onClick;
protected ReadOnlyItemStackHandler(ItemStackHandler item)
{
super();
slot=item;
}
public ReadOnlyItemStackHandler(ItemStackHandler item, Runnable onClick)
{
this(item);
this.onClick=onClick;
}
@Override
public void setSize(int size)
{
stacks = NonNullList.<ItemStack>withSize(size, ItemStack.EMPTY);
}
@Override
public void setStackInSlot(int num, ItemStack stack) {
slot.setStackInSlot(num, stack);
}
@Override
public int getSlots() {
return slot.getSlots();
}
@Override
public ItemStack getStackInSlot(int num) {
return slot.getStackInSlot(num);
}
@Override
public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) {
return stack;
}
@Override
public ItemStack extractItem(int num, int amount, boolean simulate) {
if(onClick != null){
onClick.run();
return ItemStack.EMPTY;
}
return ItemStack.EMPTY;
}
}