本文整理汇总了Java中net.minecraftforge.common.capabilities.ICapabilityProvider.getCapability方法的典型用法代码示例。如果您正苦于以下问题:Java ICapabilityProvider.getCapability方法的具体用法?Java ICapabilityProvider.getCapability怎么用?Java ICapabilityProvider.getCapability使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraftforge.common.capabilities.ICapabilityProvider
的用法示例。
在下文中一共展示了ICapabilityProvider.getCapability方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: forgeFactorize
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
private static void forgeFactorize(LazyEnergyCapProvider lecp) {
final ICapabilityProvider icp = lecp.getObject();
Energy[] es = new Energy[7];
EnumFacing f;
int[] s = new int[7];
int x = 0, i;
M:
for (i = 0; i < U.FANCY_FACING.length; i++) {
f = U.FANCY_FACING[i];
IEnergyStorage ies = icp.getCapability(CapabilityEnergy.ENERGY, f);
for (int j = 0; j < x; j++) {
if (es[j].storage == ies) {
s[i] = j;
continue M;
}
}
es[x] = new Energy(ies);
s[i] = x++;
}
lecp.update(es, s, null, false);
if (es[0] != null && es[0].storage != null)
CloudUtils.reportEnergy(icp.getClass(), es[0].storage.getClass(), "forge");
}
示例2: onTileEntityCapabilityAttachEvent
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
public void onTileEntityCapabilityAttachEvent(AttachCapabilitiesEvent<TileEntity> event){
ICapabilityProvider provider = new CapabilityDestinationProvider.Provider();
boolean requiresCap = false;
CapabilityDestinationProvider cap = provider.getCapability(CapabilityDestinationProvider.INSTANCE, null);
for(IDestinationProvider destinationProvider : destinationProviders) {
if(destinationProvider.isTileEntityApplicable(event.getObject())) {
try {
cap.addDestinationProvider(destinationProvider.getClass().newInstance());
if(!requiresCap) {
requiresCap = true;
event.addCapability(new ResourceLocation(Constants.MOD_ID, "destinationProviderCapability"), provider);
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
}
示例3: exportStackToInventory
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
@Nonnull
public static ItemStack exportStackToInventory(ICapabilityProvider provider, ItemStack stack, EnumFacing side) {
if (provider.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side)) {
IItemHandler handler = provider.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side);
return ItemHandlerHelper.insertItem(handler, stack, false);
}
return stack;
}
示例4: insert
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
@Nonnull
public static ItemStack insert(ICapabilityProvider provider, ItemStack itemStack, EnumFacing side, boolean simulate) {
if (provider.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side)) {
IItemHandler handler = provider.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side);
return ItemHandlerHelper.insertItem(handler, itemStack, simulate);
}
return ItemStack.EMPTY;
}
示例5: copyInventory
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
private void copyInventory(ICapabilityProvider from, int[][] fromSlotIds, TileEntityIronFurnace to)
{
FurnaceType type = to.getType();
int[][] toSlotIds = new int[][] {type.inputSlotIds, type.fuelSlotIds, type.outputSlotIds};
IItemHandlerModifiable fromHandler = (IItemHandlerModifiable) from.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null);
IItemHandlerModifiable toHandler = (IItemHandlerModifiable) to.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null);
copyInventory(fromHandler, fromSlotIds, toHandler, toSlotIds);
}
示例6: update
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
@Override
public void update()
{
if (this.getWorld().isRemote)
return;
for (EnumFacing dir : EnumFacing.VALUES)
{
EnumFacing side = dir.getOpposite();
BlockPos pos = this.getPos().offset(dir);
ICapabilityProvider provider = this.getWorld().getTileEntity(pos);
if (provider == null)
continue;
IEnergyStorage storage = null;
if (provider.hasCapability(CapabilityEnergy.ENERGY, side))
storage = provider.getCapability(CapabilityEnergy.ENERGY, side);
//TODO? Other compatible energy types?
if (storage == null)
continue;
if (storage.canReceive())
storage.receiveEnergy(POWER_PER_TICK, false);
}
}
示例7: getCapability
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
@Override
public IEnergyStorage getCapability(@Nullable ICapabilityProvider provider, @Nullable EnumFacing side) {
if (provider != null) {
return provider.getCapability(ENERGY_HANDLER, side);
}
return null;
}
示例8: getCapability
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
@Override
public IEnergyStorage getCapability(@Nullable ICapabilityProvider provider, @Nullable EnumFacing side) {
if (provider == null) {
return null;
}
ITeslaHolder capHolder = provider.getCapability(NullHelper.notnull(TeslaCapabilities.CAPABILITY_HOLDER, "Tesla broke"), side);
ITeslaConsumer capConsumer = provider.getCapability(NullHelper.notnull(TeslaCapabilities.CAPABILITY_CONSUMER, "Tesla broke"), side);
ITeslaProducer capProducer = provider.getCapability(NullHelper.notnull(TeslaCapabilities.CAPABILITY_PRODUCER, "Tesla broke"), side);
if (capHolder == null && capConsumer == null && capProducer == null) {
return null;
}
return new TeslaToForgeAdapter(capHolder, capConsumer, capProducer);
}
示例9: getCapability
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
@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;
}
示例10: getCapability
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
@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;
}
示例11: getFluidHandler
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
public static IFluidHandler getFluidHandler(ICapabilityProvider capProvider, EnumFacing side)
{
return capProvider.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side);
}
示例12: getItemHandler
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
public static IItemHandler getItemHandler(ICapabilityProvider capProvider, EnumFacing side)
{
return capProvider.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side);
}
示例13: getFluidHandlerCapability
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
public static IFluidHandler getFluidHandlerCapability(@Nullable ICapabilityProvider provider, EnumFacing side) {
if (provider != null && provider.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side)) {
return provider.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side);
}
return getLegacyHandler(provider, side);
}
示例14: ContainerConveyorSmallInventory
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
public ContainerConveyorSmallInventory(InventoryPlayer inventoryPlayer, ICapabilityProvider te, EnumFacing side) {
this(inventoryPlayer, te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side));
}
示例15: getTeslaHolder
import net.minecraftforge.common.capabilities.ICapabilityProvider; //导入方法依赖的package包/类
/**
* Gets an ITeslaHolder implementation from the capability provider.
*
* @param provider The provider to get the capability from.
* @param side The side to access;
* @return A Tesla holder implementation, or null if none could be found.
*/
public static ITeslaHolder getTeslaHolder (ICapabilityProvider provider, EnumFacing side) {
return (ITeslaHolder) provider.getCapability(TeslaCapabilities.CAPABILITY_HOLDER, side);
}