本文整理汇总了Java中net.minecraft.world.World.canBlockBePlaced方法的典型用法代码示例。如果您正苦于以下问题:Java World.canBlockBePlaced方法的具体用法?Java World.canBlockBePlaced怎么用?Java World.canBlockBePlaced使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.world.World
的用法示例。
在下文中一共展示了World.canBlockBePlaced方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: canPlaceBlockOnSide
import net.minecraft.world.World; //导入方法依赖的package包/类
@SideOnly(Side.CLIENT)
public boolean canPlaceBlockOnSide(World worldIn, BlockPos pos, EnumFacing side, EntityPlayer player, ItemStack stack)
{
Block block = worldIn.getBlockState(pos).getBlock();
if (block == Blocks.SNOW_LAYER && block.isReplaceable(worldIn, pos))
{
side = EnumFacing.UP;
}
else if (!block.isReplaceable(worldIn, pos))
{
pos = pos.offset(side);
}
return worldIn.canBlockBePlaced(this.block, pos, false, side, (Entity)null, stack);
}
示例2: onItemUse
import net.minecraft.world.World; //导入方法依赖的package包/类
/**
* Called when a Block is right-clicked with this Item
*/
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
boolean flag = worldIn.getBlockState(pos).getBlock().isReplaceable(worldIn, pos);
BlockPos blockpos = flag ? pos : pos.offset(facing);
if (playerIn.canPlayerEdit(blockpos, facing, stack) && worldIn.canBlockBePlaced(worldIn.getBlockState(blockpos).getBlock(), blockpos, false, facing, (Entity)null, stack) && Blocks.REDSTONE_WIRE.canPlaceBlockAt(worldIn, blockpos))
{
--stack.stackSize;
worldIn.setBlockState(blockpos, Blocks.REDSTONE_WIRE.getDefaultState());
return EnumActionResult.SUCCESS;
}
else
{
return EnumActionResult.FAIL;
}
}
示例3: onItemUse
import net.minecraft.world.World; //导入方法依赖的package包/类
/**
* Called when a Block is right-clicked with this Item
*/
public boolean onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ)
{
boolean flag = worldIn.getBlockState(pos).getBlock().isReplaceable(worldIn, pos);
BlockPos blockpos = flag ? pos : pos.offset(side);
if (!playerIn.canPlayerEdit(blockpos, side, stack))
{
return false;
}
else
{
Block block = worldIn.getBlockState(blockpos).getBlock();
if (!worldIn.canBlockBePlaced(block, blockpos, false, side, (Entity)null, stack))
{
return false;
}
else if (Blocks.redstone_wire.canPlaceBlockAt(worldIn, blockpos))
{
--stack.stackSize;
worldIn.setBlockState(blockpos, Blocks.redstone_wire.getDefaultState());
return true;
}
else
{
return false;
}
}
}
示例4: canPlaceBlockOnSide
import net.minecraft.world.World; //导入方法依赖的package包/类
public boolean canPlaceBlockOnSide(World worldIn, BlockPos pos, EnumFacing side, EntityPlayer player, ItemStack stack)
{
Block block = worldIn.getBlockState(pos).getBlock();
if (block == Blocks.snow_layer)
{
side = EnumFacing.UP;
}
else if (!block.isReplaceable(worldIn, pos))
{
pos = pos.offset(side);
}
return worldIn.canBlockBePlaced(this.block, pos, false, side, (Entity)null, stack);
}
示例5: onItemUse
import net.minecraft.world.World; //导入方法依赖的package包/类
/**
* Called when a Block is right-clicked with this Item
*/
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
IBlockState iblockstate = worldIn.getBlockState(pos);
Block block = iblockstate.getBlock();
if (!block.isReplaceable(worldIn, pos))
{
pos = pos.offset(facing);
}
if (stack.stackSize != 0 && playerIn.canPlayerEdit(pos, facing, stack) && worldIn.canBlockBePlaced(this.block, pos, false, facing, (Entity)null, stack))
{
int i = this.getMetadata(stack.getMetadata());
IBlockState iblockstate1 = this.block.getStateForPlacement(worldIn, pos, facing, hitX, hitY, hitZ, i, playerIn, stack);
if (placeBlockAt(stack, playerIn, worldIn, pos, facing, hitX, hitY, hitZ, iblockstate1))
{
SoundType soundtype = worldIn.getBlockState(pos).getBlock().getSoundType(worldIn.getBlockState(pos), worldIn, pos, playerIn);
worldIn.playSound(playerIn, pos, soundtype.getPlaceSound(), SoundCategory.BLOCKS, (soundtype.getVolume() + 1.0F) / 2.0F, soundtype.getPitch() * 0.8F);
--stack.stackSize;
}
return EnumActionResult.SUCCESS;
}
else
{
return EnumActionResult.FAIL;
}
}
示例6: freezeNearby
import net.minecraft.world.World; //导入方法依赖的package包/类
public static void freezeNearby(EntityLivingBase living, World worldIn, BlockPos pos, int level)
{
if (living.onGround)
{
float f = (float)Math.min(16, 2 + level);
BlockPos.MutableBlockPos blockpos$mutableblockpos = new BlockPos.MutableBlockPos(0, 0, 0);
for (BlockPos.MutableBlockPos blockpos$mutableblockpos1 : BlockPos.getAllInBoxMutable(pos.add((double)(-f), -1.0D, (double)(-f)), pos.add((double)f, -1.0D, (double)f)))
{
if (blockpos$mutableblockpos1.distanceSqToCenter(living.posX, living.posY, living.posZ) <= (double)(f * f))
{
blockpos$mutableblockpos.setPos(blockpos$mutableblockpos1.getX(), blockpos$mutableblockpos1.getY() + 1, blockpos$mutableblockpos1.getZ());
IBlockState iblockstate = worldIn.getBlockState(blockpos$mutableblockpos);
if (iblockstate.getMaterial() == Material.AIR)
{
IBlockState iblockstate1 = worldIn.getBlockState(blockpos$mutableblockpos1);
if (iblockstate1.getMaterial() == Material.WATER && ((Integer)iblockstate1.getValue(BlockLiquid.LEVEL)).intValue() == 0 && worldIn.canBlockBePlaced(Blocks.FROSTED_ICE, blockpos$mutableblockpos1, false, EnumFacing.DOWN, (Entity)null, (ItemStack)null))
{
worldIn.setBlockState(blockpos$mutableblockpos1, Blocks.FROSTED_ICE.getDefaultState());
worldIn.scheduleUpdate(blockpos$mutableblockpos1.toImmutable(), Blocks.FROSTED_ICE, MathHelper.getRandomIntegerInRange(living.getRNG(), 60, 120));
}
}
}
}
}
}
示例7: onItemUse
import net.minecraft.world.World; //导入方法依赖的package包/类
/**
* Called when a Block is right-clicked with this Item
*/
public boolean onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ)
{
IBlockState iblockstate = worldIn.getBlockState(pos);
Block block = iblockstate.getBlock();
if (!block.isReplaceable(worldIn, pos))
{
pos = pos.offset(side);
}
if (stack.stackSize == 0)
{
return false;
}
else if (!playerIn.canPlayerEdit(pos, side, stack))
{
return false;
}
else if (worldIn.canBlockBePlaced(this.block, pos, false, side, (Entity)null, stack))
{
int i = this.getMetadata(stack.getMetadata());
IBlockState iblockstate1 = this.block.onBlockPlaced(worldIn, pos, side, hitX, hitY, hitZ, i, playerIn);
if (worldIn.setBlockState(pos, iblockstate1, 3))
{
iblockstate1 = worldIn.getBlockState(pos);
if (iblockstate1.getBlock() == this.block)
{
setTileEntityNBT(worldIn, playerIn, pos, stack);
this.block.onBlockPlacedBy(worldIn, pos, iblockstate1, playerIn, stack);
}
worldIn.playSoundEffect((double)((float)pos.getX() + 0.5F), (double)((float)pos.getY() + 0.5F), (double)((float)pos.getZ() + 0.5F), this.block.stepSound.getPlaceSound(), (this.block.stepSound.getVolume() + 1.0F) / 2.0F, this.block.stepSound.getFrequency() * 0.8F);
--stack.stackSize;
}
return true;
}
else
{
return false;
}
}
示例8: onItemUse
import net.minecraft.world.World; //导入方法依赖的package包/类
/**
* Called when a Block is right-clicked with this Item
*/
public boolean onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ)
{
IBlockState iblockstate = worldIn.getBlockState(pos);
Block block = iblockstate.getBlock();
if (block == Blocks.snow_layer && ((Integer)iblockstate.getValue(BlockSnow.LAYERS)).intValue() < 1)
{
side = EnumFacing.UP;
}
else if (!block.isReplaceable(worldIn, pos))
{
pos = pos.offset(side);
}
if (!playerIn.canPlayerEdit(pos, side, stack))
{
return false;
}
else if (stack.stackSize == 0)
{
return false;
}
else
{
if (worldIn.canBlockBePlaced(this.block, pos, false, side, (Entity)null, stack))
{
IBlockState iblockstate1 = this.block.onBlockPlaced(worldIn, pos, side, hitX, hitY, hitZ, 0, playerIn);
if (worldIn.setBlockState(pos, iblockstate1, 3))
{
iblockstate1 = worldIn.getBlockState(pos);
if (iblockstate1.getBlock() == this.block)
{
ItemBlock.setTileEntityNBT(worldIn, playerIn, pos, stack);
iblockstate1.getBlock().onBlockPlacedBy(worldIn, pos, iblockstate1, playerIn, stack);
}
worldIn.playSoundEffect((double)((float)pos.getX() + 0.5F), (double)((float)pos.getY() + 0.5F), (double)((float)pos.getZ() + 0.5F), this.block.stepSound.getPlaceSound(), (this.block.stepSound.getVolume() + 1.0F) / 2.0F, this.block.stepSound.getFrequency() * 0.8F);
--stack.stackSize;
return true;
}
}
return false;
}
}
示例9: onItemUse
import net.minecraft.world.World; //导入方法依赖的package包/类
/**
* Called when a Block is right-clicked with this Item
*/
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
IBlockState iblockstate = worldIn.getBlockState(pos);
Block block = iblockstate.getBlock();
if (block == Blocks.SNOW_LAYER && ((Integer)iblockstate.getValue(BlockSnow.LAYERS)).intValue() < 1)
{
facing = EnumFacing.UP;
}
else if (!block.isReplaceable(worldIn, pos))
{
pos = pos.offset(facing);
}
if (playerIn.canPlayerEdit(pos, facing, stack) && stack.stackSize != 0 && worldIn.canBlockBePlaced(this.block, pos, false, facing, (Entity)null, stack))
{
IBlockState iblockstate1 = this.block.getStateForPlacement(worldIn, pos, facing, hitX, hitY, hitZ, 0, playerIn, stack);
if (!worldIn.setBlockState(pos, iblockstate1, 11))
{
return EnumActionResult.FAIL;
}
else
{
iblockstate1 = worldIn.getBlockState(pos);
if (iblockstate1.getBlock() == this.block)
{
ItemBlock.setTileEntityNBT(worldIn, playerIn, pos, stack);
iblockstate1.getBlock().onBlockPlacedBy(worldIn, pos, iblockstate1, playerIn, stack);
}
SoundType soundtype = iblockstate1.getBlock().getSoundType(iblockstate1, worldIn, pos, playerIn);
worldIn.playSound(playerIn, pos, soundtype.getPlaceSound(), SoundCategory.BLOCKS, (soundtype.getVolume() + 1.0F) / 2.0F, soundtype.getPitch() * 0.8F);
--stack.stackSize;
return EnumActionResult.SUCCESS;
}
}
else
{
return EnumActionResult.FAIL;
}
}