mirror of
https://github.com/Theta-Dev/ConstructionWand.git
synced 2025-08-24 19:51:10 +02:00
37 lines
No EOL
1 KiB
Java
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;
|
|
}
|
|
} |