package net.darkhax.tesla.capability; import net.darkhax.tesla.api.ITeslaConsumer; import net.darkhax.tesla.api.ITeslaHolder; import net.darkhax.tesla.api.ITeslaProducer; import net.minecraft.nbt.NBTBase; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.Capability.IStorage; import net.minecraftforge.common.capabilities.CapabilityInject; public class TeslaCapabilities { /** * Access to the consumer capability. Can be used for making checks. */ @CapabilityInject(ITeslaConsumer.class) public static Capability<ITeslaConsumer> CAPABILITY_CONSUMER = null; /** * Access to the producer capability. Can be used for making checks. */ @CapabilityInject(ITeslaProducer.class) public static Capability<ITeslaProducer> CAPABILITY_PRODUCER = null; /** * Access to the holder capability. Can be used for making checks. */ @CapabilityInject(ITeslaHolder.class) public static Capability<ITeslaHolder> CAPABILITY_HOLDER = null; public static class CapabilityTeslaConsumer<T extends ITeslaConsumer> implements IStorage<ITeslaConsumer> { @Override public NBTBase writeNBT (Capability<ITeslaConsumer> capability, ITeslaConsumer instance, EnumFacing side) { return null; } @Override public void readNBT (Capability<ITeslaConsumer> capability, ITeslaConsumer instance, EnumFacing side, NBTBase nbt) { } } public static class CapabilityTeslaProducer<T extends ITeslaProducer> implements IStorage<ITeslaProducer> { @Override public NBTBase writeNBT (Capability<ITeslaProducer> capability, ITeslaProducer instance, EnumFacing side) { return null; } @Override public void readNBT (Capability<ITeslaProducer> capability, ITeslaProducer instance, EnumFacing side, NBTBase nbt) { } } public static class CapabilityTeslaHolder<T extends ITeslaHolder> implements IStorage<ITeslaHolder> { @Override public NBTBase writeNBT (Capability<ITeslaHolder> capability, ITeslaHolder instance, EnumFacing side) { return null; } @Override public void readNBT (Capability<ITeslaHolder> capability, ITeslaHolder instance, EnumFacing side, NBTBase nbt) { } } }