package choonster.testmod3.util;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
import javax.annotation.Nullable;
/**
* Utility methods for Capabilities.
*
* @author Choonster
*/
public class CapabilityUtils {
/**
* Get a capability handler from an {@link ICapabilityProvider} if it exists.
*
* @param provider The provider
* @param capability The capability
* @param facing The facing
* @param <T> The handler type
* @return The handler, if any.
*/
@Nullable
public static <T> T getCapability(@Nullable ICapabilityProvider provider, Capability<T> capability, @Nullable EnumFacing facing) {
return provider != null && provider.hasCapability(capability, facing) ? provider.getCapability(capability, facing) : null;
}
}