本文整理了Java中net.minecraft.block.Block.onBlockDestroyedByPlayer()
方法的一些代码示例,展示了Block.onBlockDestroyedByPlayer()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Block.onBlockDestroyedByPlayer()
方法的具体详情如下:
包路径:net.minecraft.block.Block
类名称:Block
方法名:onBlockDestroyedByPlayer
暂无
代码示例来源:origin: TheGreyGhost/MinecraftByExample
@Override
public void onBlockDestroyedByPlayer(World worldIn, BlockPos pos, IBlockState state) {
StartupCommon.methodCallLogger.enterMethod("BlockToolTest.onBlockDestroyedByPlayer",
"{world}, " + pos + ", " + String.valueOf(state));
super.onBlockDestroyedByPlayer(worldIn, pos, state);
StartupCommon.methodCallLogger.exitMethod("BlockToolTest.onBlockDestroyedByPlayer", "");
return;
}
代码示例来源:origin: OpenMods/OpenModsLib
private boolean removeBlock(EntityPlayer player, BlockPos pos, IBlockState state, boolean canHarvest) {
final Block block = state.getBlock();
final boolean result = block.removedByPlayer(state, worldObj, pos, player, canHarvest);
if (result) block.onBlockDestroyedByPlayer(worldObj, pos, state);
return result;
}
代码示例来源:origin: vadis365/TheErebus
@Override
public void onBlockDestroyedByPlayer(World world, BlockPos pos, IBlockState state) {
if (!world.isRemote)
if (world.rand.nextInt(5) == 0) {
EntityWoodlouse entity = new EntityWoodlouse(world);
entity.setLocationAndAngles(pos.getX() + 0.5D, pos.getY(), pos.getZ() + 0.5D, 0.0F, 0.0F);
world.spawnEntity(entity);
}
super.onBlockDestroyedByPlayer(world, pos, state);
}
代码示例来源:origin: MatterOverdrive/MatterOverdrive-Legacy-Edition
@Override
public ArrayList<ItemStack> dismantleBlock(EntityPlayer player, World world, BlockPos pos, boolean returnDrops) {
IBlockState blockState = world.getBlockState(pos);
ItemStack blockItem = new ItemStack(getItemDropped(blockState, world.rand, 1));
boolean flag = blockState.getBlock().removedByPlayer(blockState, world, pos, player, true);
super.breakBlock(world, pos, blockState);
if (flag) {
blockState.getBlock().onBlockDestroyedByPlayer(world, pos, blockState);
}
if (!returnDrops) {
dropBlockAsItem(world, pos, blockState, 0);
} else {
MOInventoryHelper.insertItemStackIntoInventory(player.inventory, blockItem, EnumFacing.DOWN);
}
ArrayList<ItemStack> list = new ArrayList<>();
list.add(blockItem);
return list;
}
代码示例来源:origin: TheGreyGhost/MinecraftByExample
@Override
public void update() {
if (!this.hasWorld()) return; // prevent crash
World world = this.getWorld();
if (world.isRemote) return; // don't bother doing anything on the client side.
if (ticksLeftTillDisappear == INVALID_VALUE) return; // do nothing until the time is valid
--ticksLeftTillDisappear;
// this.markDirty(); // if you update a tileentity variable on the server and this should be communicated to the client,
// you need to markDirty() to force a resend. In this case, the client doesn't need to know
if (ticksLeftTillDisappear > 0) return; // not ready yet
Block [] blockChoices = {Blocks.DIAMOND_BLOCK, Blocks.OBSIDIAN, Blocks.AIR, Blocks.TNT, Blocks.YELLOW_FLOWER, Blocks.SAPLING, Blocks.WATER};
Random random = new Random();
Block chosenBlock = blockChoices[random.nextInt(blockChoices.length)];
world.setBlockState(this.pos, chosenBlock.getDefaultState());
if (chosenBlock == Blocks.TNT) {
Blocks.TNT.onBlockDestroyedByPlayer(world, pos, Blocks.TNT.getDefaultState().withProperty(BlockTNT.EXPLODE, true));
world.setBlockToAir(pos);
} else if (chosenBlock == Blocks.SAPLING) {
BlockSapling blockSapling = (BlockSapling)Blocks.SAPLING;
blockSapling.generateTree(world, this.pos, blockSapling.getDefaultState(),random);
}
}
代码示例来源:origin: SleepyTrousers/EnderIO
if (exp != -1 && block.canHarvestBlock(world, target, player)) {
if (block.removedByPlayer(blockstate, world, target, player, true)) {
block.onBlockDestroyedByPlayer(world, target, blockstate);
block.harvestBlock(world, player, target, blockstate, null, item);
if (!gameType.isCreative() && exp > 0) {
代码示例来源: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: CoFH/CoFHCore
if (!world.isRemote) {
if (block.removedByPlayer(state, world, pos, player, false)) {
block.onBlockDestroyedByPlayer(world, pos, state);
} else {
if (block.removedByPlayer(state, world, pos, player, false)) {
block.onBlockDestroyedByPlayer(world, pos, state);
block.onBlockDestroyedByPlayer(world, pos, state);
block.harvestBlock(world, player, pos, state, world.getTileEntity(pos), player.getHeldItemMainhand());
if (xpToDrop > 0) {
} else {
if (block.removedByPlayer(state, world, pos, player, true)) {
block.onBlockDestroyedByPlayer(world, pos, state);
代码示例来源:origin: MatterOverdrive/MatterOverdrive-Legacy-Edition
blockState.getBlock().onBlockDestroyedByPlayer(world, pos, blockState);
代码示例来源:origin: Vazkii/Quark
block.onBlockDestroyedByPlayer(world, pos, state.withProperty(BlockTNT.EXPLODE, Boolean.valueOf(true)));
world.setBlockToAir(pos);
代码示例来源:origin: CoFH/CoFHCore
block.onBlockDestroyedByPlayer(world, pos, state);
if (!player.capabilities.isCreativeMode) {
block.harvestBlock(world, player, pos, state, world.getTileEntity(pos), player.getHeldItemMainhand());
} else {
if (block.removedByPlayer(state, world, pos, player, !player.capabilities.isCreativeMode)) {
block.onBlockDestroyedByPlayer(world, pos, state);
代码示例来源:origin: CyclopsMC/EvilCraft
block.onBlockDestroyedByPlayer(world, pos, blockState);
block.harvestBlock(world, player, pos, blockState, world.getTileEntity(pos), null);
block.dropXpOnBlockBreak(world, pos, expToDrop);
block.onBlockDestroyedByPlayer(world, pos, blockState);
代码示例来源:origin: Vazkii/Psi
public static void removeBlockWithDrops(SpellContext context, EntityPlayer player, World world, ItemStack tool, BlockPos pos, boolean particles) {
if(!world.isBlockLoaded(pos) || (context.positionBroken != null && pos.equals(context.positionBroken.getBlockPos())) || !world.isBlockModifiable(player, pos))
return;
if (tool.isEmpty())
tool = PsiAPI.getPlayerCAD(player);
IBlockState state = world.getBlockState(pos);
Block block = state.getBlock();
if(!world.isRemote && !block.isAir(state, world, pos) && !(block instanceof BlockLiquid) && !(block instanceof IFluidBlock) && state.getPlayerRelativeBlockHardness(player, world, pos) > 0) {
if(!canHarvestBlock(block, player, world, pos, tool))
return;
BreakEvent event = createBreakEvent(state, player, world, pos, tool);
MinecraftForge.EVENT_BUS.post(event);
if(!event.isCanceled()) {
if(!player.capabilities.isCreativeMode) {
TileEntity tile = world.getTileEntity(pos);
if(block.removedByPlayer(state, world, pos, player, true)) {
block.onBlockDestroyedByPlayer(world, pos, state);
block.harvestBlock(world, player, pos, state, tile, tool);
}
} else world.setBlockToAir(pos);
}
if(particles)
world.playEvent(2001, pos, Block.getStateId(state));
}
}
代码示例来源:origin: PenguinSquad/Harvest-Festival
boolean flag = state.getBlock().removedByPlayer(state, worldIn, newPos, player, true);
if (flag) {
state.getBlock().onBlockDestroyedByPlayer(worldIn, newPos, state);
state.getBlock().harvestBlock(worldIn, player, newPos, state, worldIn.getTileEntity(newPos), stack);
内容来源于网络,如有侵权,请联系作者删除!