ConstructionWand/src/main/java/thetadev/constructionwand/containers/ContainerManager.java
2020-07-28 17:10:34 +02:00

37 lines
No EOL
1 KiB
Java

package thetadev.constructionwand.containers;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import thetadev.constructionwand.api.IContainerHandler;
import java.util.ArrayList;
public class ContainerManager {
private ArrayList<IContainerHandler> handlers;
public ContainerManager() {
handlers = new ArrayList<IContainerHandler>();
}
public boolean register(IContainerHandler handler) {
return handlers.add(handler);
}
public int countItems(PlayerEntity player, ItemStack itemStack, ItemStack inventoryStack) {
for(IContainerHandler handler : handlers) {
if(handler.matches(player, itemStack, inventoryStack)) {
return handler.countItems(player,itemStack, inventoryStack);
}
}
return 0;
}
public int useItems(PlayerEntity player, ItemStack itemStack, ItemStack inventoryStack, int count) {
for(IContainerHandler handler : handlers) {
if(handler.matches(player, itemStack, inventoryStack)) {
return handler.useItems(player, itemStack, inventoryStack, count);
}
}
return count;
}
}