Skip to content

Commit

Permalink
Register ingredient StorageWrapperHandlers
Browse files Browse the repository at this point in the history
  • Loading branch information
rubensworks committed Jun 10, 2024
1 parent 434007d commit d9033da
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/main/java/org/cyclops/integratedtunnels/Capabilities.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@
import net.neoforged.neoforge.energy.IEnergyStorage;
import net.neoforged.neoforge.fluids.capability.IFluidHandler;
import net.neoforged.neoforge.items.IItemHandler;
import org.cyclops.commoncapabilities.IngredientComponents;
import org.cyclops.commoncapabilities.api.capability.itemhandler.ISlotlessItemHandler;
import org.cyclops.commoncapabilities.ingredient.storage.IngredientComponentStorageWrapperHandlerEnergyStorage;
import org.cyclops.commoncapabilities.ingredient.storage.IngredientComponentStorageWrapperHandlerFluidStack;
import org.cyclops.commoncapabilities.ingredient.storage.IngredientComponentStorageWrapperHandlerItemStack;
import org.cyclops.commoncapabilities.ingredient.storage.IngredientComponentStorageWrapperHandlerItemStackSlotless;
import org.cyclops.integrateddynamics.api.network.NetworkCapability;
import org.cyclops.integrateddynamics.api.part.PartCapability;
import org.cyclops.integrateddynamics.core.part.event.RegisterPartCapabilitiesEvent;
Expand All @@ -22,6 +28,9 @@ public static final class ItemHandler {
public static final NetworkCapability<IItemHandler> NETWORK = NetworkCapability.create(new ResourceLocation(Reference.MOD_ID, "item_handler"), IItemHandler.class);
public static final PartCapability<IItemHandler> PART = PartCapability.create(new ResourceLocation(Reference.MOD_ID, "item_handler"), IItemHandler.class);
}
public static final class SlotlessItemHandler {
public static final PartCapability<ISlotlessItemHandler> PART = PartCapability.create(new ResourceLocation(Reference.MOD_ID, "slotless_item_handler"), ISlotlessItemHandler.class);
}
public static final class FluidNetwork {
public static final NetworkCapability<IFluidNetwork> NETWORK = NetworkCapability.create(new ResourceLocation(Reference.MOD_ID, "fluid_network"), IFluidNetwork.class);
}
Expand All @@ -35,7 +44,13 @@ public static final class EnergyStorage {

public static void registerPartCapabilities(RegisterPartCapabilitiesEvent event) {
event.register(net.neoforged.neoforge.capabilities.Capabilities.ItemHandler.BLOCK, ItemHandler.PART);
event.register(org.cyclops.commoncapabilities.api.capability.Capabilities.SlotlessItemHandler.BLOCK, SlotlessItemHandler.PART);
event.register(net.neoforged.neoforge.capabilities.Capabilities.FluidHandler.BLOCK, FluidHandler.PART);
event.register(net.neoforged.neoforge.capabilities.Capabilities.EnergyStorage.BLOCK, EnergyStorage.PART);

IngredientComponents.ENERGY.setStorageWrapperHandler(EnergyStorage.PART, new IngredientComponentStorageWrapperHandlerEnergyStorage<>(IngredientComponents.ENERGY, EnergyStorage.PART));
IngredientComponents.ITEMSTACK.setStorageWrapperHandler(ItemHandler.PART, new IngredientComponentStorageWrapperHandlerItemStack<>(IngredientComponents.ITEMSTACK, ItemHandler.PART, SlotlessItemHandler.PART));
IngredientComponents.ITEMSTACK.setStorageWrapperHandler(SlotlessItemHandler.PART, new IngredientComponentStorageWrapperHandlerItemStackSlotless<>(IngredientComponents.ITEMSTACK, SlotlessItemHandler.PART));
IngredientComponents.FLUIDSTACK.setStorageWrapperHandler(FluidHandler.PART, new IngredientComponentStorageWrapperHandlerFluidStack<>(IngredientComponents.FLUIDSTACK, FluidHandler.PART));
}
}

0 comments on commit d9033da

Please sign in to comment.