使用Forge Mod Loader放置块?

时间:2014-01-30 01:30:26

标签: minecraft minecraft-forge

当用户右键点击该项时,如何放置一个块?

我能找到的唯一方法是setBlockMetadataWithUpdate(),但参数在javadocs中得到了很好的解释。

1 个答案:

答案 0 :(得分:1)

您是否尝试过查看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;
}