Example usage for net.minecraftforge.common.capabilities ICapabilityProvider ICapabilityProvider

List of usage examples for net.minecraftforge.common.capabilities ICapabilityProvider ICapabilityProvider

Introduction

In this page you can find the example usage for net.minecraftforge.common.capabilities ICapabilityProvider ICapabilityProvider.

Prototype

ICapabilityProvider

Source Link

Usage

From source file:blusunrize.immersiveengineering.common.items.ItemPowerpack.java

@Override
public ICapabilityProvider initCapabilities(ItemStack stack, NBTTagCompound nbt) {
    if (!stack.isEmpty())
        return new ICapabilityProvider() {
            final EnergyHelper.ItemEnergyStorage energyStorage = new EnergyHelper.ItemEnergyStorage(stack);

            @Override//from  ww w  .  j a  va  2 s.  c  om
            public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
                return capability == CapabilityEnergy.ENERGY;
            }

            @Nullable
            @Override
            public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
                return capability == CapabilityEnergy.ENERGY ? (T) energyStorage : null;
            }
        };
    else
        return super.initCapabilities(stack, nbt);
}

From source file:blusunrize.immersiveengineering.common.util.compat.BaublesHelper.java

@SubscribeEvent
public void onCapabilitiesAttach(AttachCapabilitiesEvent<ItemStack> event) {
    if (event.getObject().getItem() == IEContent.itemPowerpack) {
        event.addCapability(new ResourceLocation("baubles", "bauble_cap"), new ICapabilityProvider() {
            @Override//from w  ww  .  ja  v a  2 s. c  o m
            public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
                return capability == BaublesCapabilities.CAPABILITY_ITEM_BAUBLE;
            }

            @Nullable
            @Override
            public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
                return capability == BaublesCapabilities.CAPABILITY_ITEM_BAUBLE
                        ? BaublesCapabilities.CAPABILITY_ITEM_BAUBLE.cast(BAUBLE_POWERPACK)
                        : null;
            }
        });
    }
}

From source file:com.elytradev.thermionics.Thermionics.java

License:Open Source License

@SubscribeEvent
public void onAttachCapabilities(AttachCapabilitiesEvent<Entity> e) {
    if (e.getObject() instanceof EntityPlayer) {
        e.addCapability(new ResourceLocation("thermionics", "weaponskill"), new ICapabilityProvider() {
            private WeaponSkillInfo info = new WeaponSkillInfo();

            @Override// w  w w .  j a  v  a2 s  . c  o  m
            public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
                return (capability == CAPABILITY_WEAPONSKILL);
            }

            @SuppressWarnings("unchecked")
            @Override
            public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
                if (capability == CAPABILITY_WEAPONSKILL) {
                    return (T) info;
                } else {
                    return null;
                }
            }
        });
    }
}