mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
37 lines
1.1 KiB
Java
37 lines
1.1 KiB
Java
package com.hbm.inventory;
|
|
|
|
import com.hbm.interfaces.NotableComments;
|
|
|
|
import net.minecraft.inventory.IInventory;
|
|
import net.minecraft.inventory.Slot;
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
/**
|
|
* Because vanilla slots have severe mental disabilities that prevent them from working as expected.
|
|
* @author hbm
|
|
*/
|
|
@NotableComments
|
|
public class SlotNonRetarded extends Slot {
|
|
|
|
public SlotNonRetarded(IInventory inventory, int id, int x, int y) {
|
|
super(inventory, id, x, y);
|
|
}
|
|
|
|
/**
|
|
* Dear mojang: Why wasn't that the standard to begin with? What do IInventories have isItemValidForSlot for when by default nothing fucking uses it?
|
|
*/
|
|
@Override
|
|
public boolean isItemValid(ItemStack stack) {
|
|
return inventory.isItemValidForSlot(this.slotNumber, stack);
|
|
}
|
|
|
|
/**
|
|
* Because if slots have higher stacksizes than the maximum allowed by the tile, the display just stops working.
|
|
* Why was that necessary? Sure it's not intended but falsifying information isn't very cool.
|
|
*/
|
|
@Override
|
|
public int getSlotStackLimit() {
|
|
return Math.max(this.inventory.getInventoryStackLimit(), this.getHasStack() ? this.getStack().stackSize : 1);
|
|
}
|
|
}
|