当用户右键单击项目时如何放置块?
我能找到的唯一可以做任何事情的方法是setBlockMetadataWithUpdate()
,但参数在 javadocs 中的解释很糟糕。
当用户右键单击项目时如何放置块?
我能找到的唯一可以做任何事情的方法是setBlockMetadataWithUpdate()
,但参数在 javadocs 中的解释很糟糕。
你有没有试过看看ItemBlock
课堂?与功能或功能onItemUse()
结合使用?placeBlockAt()
/**
* Called to actually place the block, after the location is determined
* and all permission checks have been made.
*
* @param stack The item stack that was used to place the block. This can be changed inside the method.
* @param player The player who is placing the block. Can be null if the block is not being placed by a player.
* @param side The side the player (or machine) right-clicked on.
*/
public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata)
{
if (!world.setBlock(x, y, z, field_150939_a, metadata, 3))
{
return false;
}
if (world.getBlock(x, y, z) == field_150939_a)
{
field_150939_a.onBlockPlacedBy(world, x, y, z, player, stack);
field_150939_a.onPostBlockPlaced(world, x, y, z, metadata);
}
return true;
}