Files
Applied-Energistics-2/src/main/java/appeng/client/gui/Size1Slot.java
T
2020-06-16 21:45:35 +02:00

76 lines
1.9 KiB
Java

package appeng.client.gui;
import javax.annotation.Nonnull;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.items.SlotItemHandler;
/**
* A proxy for a slot that will always return an itemstack with size 1, if there
* is an item in the slot. Used to prevent the default item count from
* rendering.
*/
class Size1Slot extends SlotItemHandler {
private final SlotItemHandler delegate;
public Size1Slot(SlotItemHandler delegate) {
super(delegate.getItemHandler(), delegate.getSlotIndex(), delegate.xPos, delegate.yPos);
this.delegate = delegate;
}
@Override
@Nonnull
public ItemStack getStack() {
ItemStack orgStack = this.delegate.getStack();
if (!orgStack.isEmpty()) {
ItemStack modifiedStack = orgStack.copy();
modifiedStack.setCount(1);
return modifiedStack;
}
return ItemStack.EMPTY;
}
@Override
public boolean getHasStack() {
return this.delegate.getHasStack();
}
@Override
public int getSlotStackLimit() {
return this.delegate.getSlotStackLimit();
}
@Override
public int getItemStackLimit(ItemStack stack) {
return this.delegate.getItemStackLimit(stack);
}
@Override
public boolean canTakeStack(PlayerEntity playerIn) {
return this.delegate.canTakeStack(playerIn);
}
@Override
@OnlyIn(Dist.CLIENT)
public boolean isEnabled() {
return this.delegate.isEnabled();
}
@Override
public int getSlotIndex() {
return this.delegate.getSlotIndex();
}
@Override
public boolean isSameInventory(Slot other) {
return this.delegate.isSameInventory(other);
}
}