net.minecraft.world.World.canMineBlockBody()方法的使用及代码示例

x33g5p2x  于2022-02-02 转载在 其他  
字(4.2k)|赞(0)|评价(0)|浏览(101)

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

World.canMineBlockBody介绍

暂无

代码示例

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

public static boolean hasPermissions( final DimensionalCoord dc, final EntityPlayer player )
{
  return dc.getWorld().canMineBlockBody( player, dc.getPos() );
}

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

@Override
public boolean canMineBlockBody(@Nonnull EntityPlayer player1, @Nonnull BlockPos pos) {
 return wrapped.canMineBlockBody(player1, pos);
}

代码示例来源:origin: amadornes/MCMultiPart

@Override
public boolean canMineBlockBody(EntityPlayer player, BlockPos pos) {
  return getActualWorld().canMineBlockBody(player, pos);
}

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

public static int applyMultiBreak(World world, BlockPos blockPos, EntityPlayer harvester, ToolBase self, int size) {
  int conversions = 0;
  ItemStack selfStack = harvester.getHeldItem(EnumHand.MAIN_HAND);
  for (int i = -size; i <= size; i++) {
    for (int j = -size; j <= size; j++) {
      for (int k = -size; k <= size; k++) {
        if(i == 0 && j == 0 && k == 0)
          continue;
        BlockPos block = blockPos.add(i, j, k);
        if(!self.isMinableBlock(world.getBlockState(block), selfStack) ||
          !world.canMineBlockBody(harvester, block) ||
          !((EntityPlayerMP) harvester).interactionManager.tryHarvestBlock(block))
          continue;
        conversions++;
      }
    }
  }
  return conversions;
}

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

@Override
public int convertBlockDrops(World world, BlockPos centerPos, IBlockState blockState, EntityPlayer harvester, List<ItemStack> drops, boolean recursive) {
  int conversionsApplied = ToolUtility.applyHammerDrops(world.rand, blockState, drops, false);
  if (recursive)
    //on recursive calls, do not try to break multiple blocks
    return conversionsApplied;
  EnumFacing sideHit = ToolUtility.getSideHit(world, centerPos, harvester);
  ItemStack selfStack = harvester.getHeldItem(EnumHand.MAIN_HAND);
  for (int x = -1; x < 2; x++) {
    for (int y = -1; y < 2; y++) {
      //do not check center block - it's handled now
      if (x == 0 && y == 0) continue;
      BlockPos block = rotate(centerPos, x, y, sideHit);
      if (!isMinableBlock(world.getBlockState(block), selfStack) ||
        !world.canMineBlockBody(harvester, block) ||
        !((EntityPlayerMP) harvester).interactionManager.tryHarvestBlock(block))
        continue;
      conversionsApplied++;
    }
  }
  return conversionsApplied;
}

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

private boolean tryBreakRailBlock(IBlockState blockState, World world, BlockPos blockPos, EntityPlayer player) {
  if (world.canMineBlockBody(player, blockPos) && blockState.getBlock().canHarvestBlock(world, blockPos, player)) {
    for (ItemStack drops : blockState.getBlock().getDrops(world, blockPos, blockState, 0)) {
      Block.spawnAsEntity(world, blockPos, drops);
    }
    blockState.getBlock().onBlockDestroyedByPlayer(world, blockPos, blockState);
    blockState.getBlock().onBlockHarvested(world, blockPos, blockState, player);
    blockState.getBlock().breakBlock(world, blockPos, blockState);
    world.setBlockToAir(blockPos);
    return true;
  }
  return false;
}

代码示例来源:origin: squeek502/VeganOption

return;
if (!world.canMineBlockBody(event.getEntityPlayer(), pos))
  return;

代码示例来源:origin: WayofTime/BloodMagic

protected void sharedHarvest(ItemStack stack, World world, EntityPlayer player, BlockPos blockPos, IBlockState blockState, boolean silkTouch, int fortuneLvl) {

    if (blockState.getBlockHardness(world, blockPos) != -1.0F) {
      float strengthVsBlock = getDestroySpeed(stack, blockState);

      if (strengthVsBlock > 1.1F && world.canMineBlockBody(player, blockPos)) {
        if (!player.isCreative())
          if (silkTouch && blockState.getBlock().canSilkHarvest(world, blockPos, world.getBlockState(blockPos), player))
            ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(Item.getItemFromBlock(blockState.getBlock())));
          else {
            NonNullList<ItemStack> itemDrops = NonNullList.create();
            blockState.getBlock().getDrops(itemDrops, world, blockPos, world.getBlockState(blockPos), fortuneLvl);
            for (ItemStack stacks : itemDrops)
              ItemHandlerHelper.giveItemToPlayer(player, stacks);
          }
        blockState.getBlock().removedByPlayer(world.getBlockState(blockPos), world, blockPos, player, false);
      }
    }
  }
}

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

int z = blockPos.getZ();
if (!world.canMineBlockBody(player, blockPos)) {
  return new ActionResult<ItemStack>(EnumActionResult.PASS, itemStack);

相关文章

微信公众号

最新文章

更多

World类方法