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

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

本文整理了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

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

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

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

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

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

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

  1. public static int applyMultiBreak(World world, BlockPos blockPos, EntityPlayer harvester, ToolBase self, int size) {
  2. int conversions = 0;
  3. ItemStack selfStack = harvester.getHeldItem(EnumHand.MAIN_HAND);
  4. for (int i = -size; i <= size; i++) {
  5. for (int j = -size; j <= size; j++) {
  6. for (int k = -size; k <= size; k++) {
  7. if(i == 0 && j == 0 && k == 0)
  8. continue;
  9. BlockPos block = blockPos.add(i, j, k);
  10. if(!self.isMinableBlock(world.getBlockState(block), selfStack) ||
  11. !world.canMineBlockBody(harvester, block) ||
  12. !((EntityPlayerMP) harvester).interactionManager.tryHarvestBlock(block))
  13. continue;
  14. conversions++;
  15. }
  16. }
  17. }
  18. return conversions;
  19. }

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

  1. @Override
  2. public int convertBlockDrops(World world, BlockPos centerPos, IBlockState blockState, EntityPlayer harvester, List<ItemStack> drops, boolean recursive) {
  3. int conversionsApplied = ToolUtility.applyHammerDrops(world.rand, blockState, drops, false);
  4. if (recursive)
  5. //on recursive calls, do not try to break multiple blocks
  6. return conversionsApplied;
  7. EnumFacing sideHit = ToolUtility.getSideHit(world, centerPos, harvester);
  8. ItemStack selfStack = harvester.getHeldItem(EnumHand.MAIN_HAND);
  9. for (int x = -1; x < 2; x++) {
  10. for (int y = -1; y < 2; y++) {
  11. //do not check center block - it's handled now
  12. if (x == 0 && y == 0) continue;
  13. BlockPos block = rotate(centerPos, x, y, sideHit);
  14. if (!isMinableBlock(world.getBlockState(block), selfStack) ||
  15. !world.canMineBlockBody(harvester, block) ||
  16. !((EntityPlayerMP) harvester).interactionManager.tryHarvestBlock(block))
  17. continue;
  18. conversionsApplied++;
  19. }
  20. }
  21. return conversionsApplied;
  22. }

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

  1. private boolean tryBreakRailBlock(IBlockState blockState, World world, BlockPos blockPos, EntityPlayer player) {
  2. if (world.canMineBlockBody(player, blockPos) && blockState.getBlock().canHarvestBlock(world, blockPos, player)) {
  3. for (ItemStack drops : blockState.getBlock().getDrops(world, blockPos, blockState, 0)) {
  4. Block.spawnAsEntity(world, blockPos, drops);
  5. }
  6. blockState.getBlock().onBlockDestroyedByPlayer(world, blockPos, blockState);
  7. blockState.getBlock().onBlockHarvested(world, blockPos, blockState, player);
  8. blockState.getBlock().breakBlock(world, blockPos, blockState);
  9. world.setBlockToAir(blockPos);
  10. return true;
  11. }
  12. return false;
  13. }

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

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

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

  1. protected void sharedHarvest(ItemStack stack, World world, EntityPlayer player, BlockPos blockPos, IBlockState blockState, boolean silkTouch, int fortuneLvl) {
  2. if (blockState.getBlockHardness(world, blockPos) != -1.0F) {
  3. float strengthVsBlock = getDestroySpeed(stack, blockState);
  4. if (strengthVsBlock > 1.1F && world.canMineBlockBody(player, blockPos)) {
  5. if (!player.isCreative())
  6. if (silkTouch && blockState.getBlock().canSilkHarvest(world, blockPos, world.getBlockState(blockPos), player))
  7. ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(Item.getItemFromBlock(blockState.getBlock())));
  8. else {
  9. NonNullList<ItemStack> itemDrops = NonNullList.create();
  10. blockState.getBlock().getDrops(itemDrops, world, blockPos, world.getBlockState(blockPos), fortuneLvl);
  11. for (ItemStack stacks : itemDrops)
  12. ItemHandlerHelper.giveItemToPlayer(player, stacks);
  13. }
  14. blockState.getBlock().removedByPlayer(world.getBlockState(blockPos), world, blockPos, player, false);
  15. }
  16. }
  17. }
  18. }

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

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

相关文章

World类方法