本文整理了Java中net.minecraft.block.BlockCrops.getDrops()
方法的一些代码示例,展示了BlockCrops.getDrops()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BlockCrops.getDrops()
方法的具体详情如下:
包路径:net.minecraft.block.BlockCrops
类名称:BlockCrops
方法名:getDrops
暂无
代码示例来源:origin: TeamLapen/Vampirism
@Override
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
return super.getDrops(world, pos, state, fortune - 1);
}
代码示例来源:origin: MatrexsVigil/harvestcraft
private static void harvestCrops(IBlockState blockState, EntityPlayer player, World world, BlockPos blockPos) {
final BlockCrops crops = (BlockCrops) blockState.getBlock();
final ItemStack stack = player.getHeldItemMainhand();
final int fortune = EnchantmentHelper.getEnchantmentLevel(Enchantments.FORTUNE, stack);
final List<ItemStack> drops = crops.getDrops(world, blockPos, blockState, fortune);
// This removes exactly one seed from drops in order to make this more fair compared to vanilla
// as one seed stays planted.
final Item seedItem = crops.getItemDropped(blockState, world.rand, fortune);
if(seedItem != null)
for(Iterator<ItemStack> iterator = drops.iterator(); iterator.hasNext();) {
final ItemStack drop = iterator.next();
// Remove a seed, then break.
if(!(drop.getItem() == seedItem) || crops instanceof BlockCarrot || crops instanceof BlockPotato) {
iterator.remove();
break;
}
}
ForgeEventFactory.fireBlockHarvesting(drops, world, blockPos, blockState, fortune, 1f, false, player);
// Reset growth level
world.setBlockState(blockPos, crops.withAge(0));
for(ItemStack drop : drops) {
dropItem(drop, world, blockPos);
}
}
内容来源于网络,如有侵权,请联系作者删除!