That's one heck of a commit you've got there...

I may have got a bit behind with version control. A lot behind, in fact. Maybe I'll go back and split this sometime - then again, I probably won't. But hey, at least it's here!
This commit is contained in:
Electroblob77
2019-08-18 00:04:18 +01:00
parent 2680d02304
commit f37812be3e
1564 changed files with 47652 additions and 12984 deletions
@@ -0,0 +1,40 @@
package electroblob.wizardry.tileentity;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
/**
* Simple extension of {@link Slot} which only accepts items from an array of item classes defined in the constructor.
*
* @author Electroblob
* @since Wizardry 1.0
*/
public class SlotItemClassList extends Slot {
private final Class<? extends Item>[] itemClasses;
private int stackLimit;
@SafeVarargs
public SlotItemClassList(IInventory inventory, int index, int x, int y, int stackLimit, Class<? extends Item>... allowedItemClasses){
super(inventory, index, x, y);
this.itemClasses = allowedItemClasses;
this.stackLimit = stackLimit;
}
public int getSlotStackLimit(){
return stackLimit;
}
public boolean isItemValid(ItemStack stack){
for(Class<? extends Item> itemClass : itemClasses){
if(itemClass.isAssignableFrom(stack.getItem().getClass())){
return true;
}
}
return false;
}
}