net.minecraft.item.ItemStack.hasCapability()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(6.7k)|赞(0)|评价(0)|浏览(130)

本文整理了Java中net.minecraft.item.ItemStack.hasCapability()方法的一些代码示例,展示了ItemStack.hasCapability()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ItemStack.hasCapability()方法的具体详情如下:
包路径:net.minecraft.item.ItemStack
类名称:ItemStack
方法名:hasCapability

ItemStack.hasCapability介绍

暂无

代码示例

代码示例来源:origin: Vazkii/Botania

@Nonnull
  @Override
  public ItemStack insertItem(int slot, @Nonnull ItemStack toInsert, boolean simulate) {
    if(!toInsert.isEmpty()) {
      boolean isBauble = toInsert.hasCapability(BaublesCapabilities.CAPABILITY_ITEM_BAUBLE, null);
      if(toInsert.getItem() instanceof IManaItem || isBauble)
        return super.insertItem(slot, toInsert, simulate);
    }
    return toInsert;
  }
};

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

@Override
public boolean canClick( final EntityPlayer player )
{
  final ItemStack mouseStack = player.inventory.getItemStack();
  return mouseStack.isEmpty() || mouseStack.hasCapability( CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null );
}

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

if( trigger.hasCapability( entry.getKey(), face ) )

代码示例来源:origin: Vazkii/Botania

private boolean isValidWaterContainer(ItemStack stack) {
  if(stack.isEmpty() || stack.getCount() != 1)
    return false;
  if(stack.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null)) {
    IFluidHandler handler = stack.getCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null);
    FluidStack simulate = handler.drain(new FluidStack(FluidRegistry.WATER, Fluid.BUCKET_VOLUME), false);
    if(simulate != null && simulate.getFluid() == FluidRegistry.WATER && simulate.amount == Fluid.BUCKET_VOLUME)
      return true;
  }
  return false;
}

代码示例来源:origin: Ellpeck/ActuallyAdditions

@Override
public IAcceptor getAcceptor() {
  return (slot, stack, automation) -> !automation || (slot == 0 && (stack.hasCapability(CapabilityEnergy.ENERGY, null)));
}

代码示例来源:origin: SquidDev-CC/plethora

private static boolean isValid(@Nonnull ItemStack stack) {
  if (stack.isEmpty()) return false;
  return stack.hasCapability(Constants.PERIPHERAL_CAPABILITY, null)
    || stack.hasCapability(Constants.PERIPHERAL_HANDLER_CAPABILITY, null);
}

代码示例来源:origin: GregTechCE/GregTech

@Override
public boolean showDurabilityBar(ItemStack stack) {
  //don't show durability if item is not electric and it's damage is zero
  return stack.hasCapability(GregtechCapabilities.CAPABILITY_ELECTRIC_ITEM, null) ||
    getInternalDamage(stack) != 0;
}

代码示例来源:origin: MatterOverdrive/MatterOverdrive-Legacy-Edition

public static IEnergyStorage getStorage(ItemStack stack) {
  if (stack.hasCapability(CapabilityEnergy.ENERGY, null))
    return stack.getCapability(CapabilityEnergy.ENERGY, null);
  return EmptyEnergyStorage.INSTANCE;
}

代码示例来源:origin: Ellpeck/ActuallyAdditions

public int extractEnergy(ItemStack stack, int maxExtract, boolean simulate){
  if(stack.hasCapability(CapabilityEnergy.ENERGY, null)){
    IEnergyStorage storage = stack.getCapability(CapabilityEnergy.ENERGY, null);
    if(storage != null){
      return storage.extractEnergy(maxExtract, simulate);
    }
  }
  return 0;
}

代码示例来源:origin: Vazkii/Psi

private ICADData getCADData(ItemStack stack) {
  if (stack.hasCapability(CapabilityCAD.CAPABILITY, null)) {
    ICADData data = stack.getCapability(CapabilityCAD.CAPABILITY, null);
    if (data != null)
      return data;
  }
  return new CADData();
}

代码示例来源:origin: CyclopsMC/IntegratedDynamics

public IVariableFacade getVariableFacade(ItemStack itemStack) {
  return itemStack.hasCapability(VariableFacadeHolderConfig.CAPABILITY, null)
      ? itemStack.getCapability(VariableFacadeHolderConfig.CAPABILITY, null).getVariableFacade()
      : VariableFacadeHandlerRegistry.DUMMY_FACADE;
}

代码示例来源:origin: SleepyTrousers/EnderCore

public static @Nullable IFluidHandlerItem getFluidHandlerCapability(@Nonnull ItemStack stack) {
 if (stack.hasCapability(getFluidItemCapability(), null)) {
  return stack.getCapability(getFluidItemCapability(), null);
 }
 return null;
}

代码示例来源:origin: Ellpeck/ActuallyAdditions

public int getEnergyStored(ItemStack stack){
  if(stack.hasCapability(CapabilityEnergy.ENERGY, null)){
    IEnergyStorage storage = stack.getCapability(CapabilityEnergy.ENERGY, null);
    if(storage != null){
      return storage.getEnergyStored();
    }
  }
  return 0;
}

代码示例来源:origin: SleepyTrousers/EnderIO

public static boolean isValidUpgrade(@Nonnull ItemStack stack) {
 if (Prep.isInvalid(stack)) {
  return false;
 }
 final ICapacitorData capData = getNBTCapacitorDataFromItemStack(stack);
 if (capData != null) {
  return true;
 }
 return stack.hasCapability(CapabilityCapacitorData.getCapNN(), null);
}

代码示例来源:origin: SleepyTrousers/EnderIO

public static int getBurnTime(@Nonnull ItemStack item, @Nonnull ICapacitorKey maxUsage, @Nonnull ICapacitorData data) {
 float base = (getBurnTimeGeneric(item) / (maxUsage.get(data) / maxUsage.getDefaultFloat())) * getBurnEfficiency(data);
 if (item.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null)) {
  // Lava and other fluid buckets are nerfed, prefer combustion engine for those
  base /= 5;
 }
 // The vanilla burn time results in 24,000FE for a piece of coal at 15FE/t output.
 // So we hardcode 15 as a baseline to keep that density consistent
 return Math.round(base /= maxUsage.getDefaultFloat() / 15);
}

代码示例来源:origin: Vazkii/Botania

boolean hasFluidCapability = stack.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null);

代码示例来源:origin: CyclopsMC/IntegratedDynamics

@Override
public void onUpdate(ItemStack itemStack, World world, Entity entity, int itemSlot, boolean par5) {
  if (isActivated(itemStack) && itemStack.hasCapability(CapabilityEnergy.ENERGY, null)) {
    autofill(itemStack.getCapability(CapabilityEnergy.ENERGY, null), world, entity);
  }
  super.onUpdate(itemStack, world, entity, itemSlot, par5);
}

代码示例来源:origin: GregTechCE/GregTech

@Override
public double getDurabilityForDisplay(ItemStack stack) {
  //if itemstack has electric charge ability, show electric charge percentage
  if(stack.hasCapability(GregtechCapabilities.CAPABILITY_ELECTRIC_ITEM, null)) {
    IElectricItem electricItem = stack.getCapability(GregtechCapabilities.CAPABILITY_ELECTRIC_ITEM, null);
    //noinspection ConstantConditions
    return 1.0 - (electricItem.getCharge() / (electricItem.getMaxCharge() * 1.0));
  }
  //otherwise, show actual durability percentage
  return getInternalDamage(stack) / (getMaxInternalDamage(stack) * 1.0);
}

代码示例来源:origin: Azanor/Baubles

@Override
public ItemStack onTake(EntityPlayer playerIn, ItemStack stack) {
  if (!getHasStack() && !((IBaublesItemHandler)getItemHandler()).isEventBlocked() &&
      stack.hasCapability(BaublesCapabilities.CAPABILITY_ITEM_BAUBLE, null)) {
    stack.getCapability(BaublesCapabilities.CAPABILITY_ITEM_BAUBLE, null).onUnequipped(stack, playerIn);
  }
  super.onTake(playerIn, stack);
  return stack;
}

代码示例来源:origin: McJtyMods/RFToolsControl

private FluidStack stackToFluid(ItemStack stack) {
  if (stack.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null)) {
    IFluidHandler handler = stack.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null);
    if (handler.getTankProperties() != null && handler.getTankProperties().length > 0) {
      if (handler.getTankProperties()[0] != null) {
        return handler.getTankProperties()[0].getContents();
      }
    }
  }
  return null;
}

相关文章

微信公众号

最新文章

更多

ItemStack类方法