当前位置: 首页 > 知识库问答 >
问题:

Minecraft forge mod:移除一个区块并放置一个新区块

章兴发
2023-03-14

我目前正在制作minecraft forge mod。有人知道如何先在特定坐标上删除一个块,然后在同一个位置放置一个新块吗?就像用新块替换旧块一样。

我将把它放在这段代码的中间:

if(player.getCurrentEquippedItem() != null)
  {

     if(hand.getItem() == Items.dirt)
     {

     }

  }

我tem.dirt只是个测试

因此,如果玩家拿着一个特定的物品(我现在用的是泥土)并右击方块,就会发生一些事情。顺便说一句,我有更多的代码,使代码发生时,球员右键点击块。

我在谷歌上搜索了一下,什么也没找到。

共有1个答案

翁烨霖
2023-03-14

如果特定项是自定义项,则更简单。

在您的自定义项目中,设置onItemuse(用于右键单击)或onItemClick(用于左键单击)功能:

public boolean onItemUse(ItemStack item, EntityPlayer player, World world,
    // which block was in the target when clicked
    int posx, int posy, int posz, 
    // where on the target block was clicked (0.0-1.0)
    int side, float blockx, float blocky, float blockz)
{
    if(world.isRemote) {
        // can't do anything here as we don't own the world (client side)
        return false;
    }
    // server side - here we can change the block

此函数传递被单击的块和世界对象的坐标。然后,您可以测试正在单击的块,并对其执行任何操作(本例将其设置为污垢):

rv = world.setBlock(posx,posy,posz,Blocks.dirt);

当然,如果您将其放置在自定义项自己的ONIMUSE函数中,则无需测试以确保该项已配备,因为必须配备才能调用该函数。

 类似资料:
  • 本文向大家介绍区块链中的一个区块永远不能有多个父区块吗?相关面试题,主要包含被问及区块链中的一个区块永远不能有多个父区块吗?时的应答技巧和注意事项,需要的朋友参考一下 回答:是的,的确,区块链永远不会有父区块。每个区块在区块链中都是独立的。

  • 本文向大家介绍是否可以从区块链的网络中删除一个或多个块?相关面试题,主要包含被问及是否可以从区块链的网络中删除一个或多个块?时的应答技巧和注意事项,需要的朋友参考一下 对的,这是可能的。有时,只需要考虑此在线分类账的特定部分。通过使用默认过滤器和选项,我们可以删除这些块。

  • 我有一个具有如下模式的dataframe:

  • 像大多数其他操作系统一样,LFS 通常安装在一个新的专用分区上。如果你有充足的磁盘空间,推荐将 LFS 系统构建在一个新的空白磁盘分区上。当然,LFS 系统(甚至是多个 LFS 系统)也可以安装在现存的某个操作系统所在的分区上,它们完全可以和平共处。这个文档:http://www.linuxfromscratch.org/hints/downloads/files/lfs_next_to_exis

  • 本文向大家介绍JavaScript html5 canvas画布中删除一个块区域的方法,包括了JavaScript html5 canvas画布中删除一个块区域的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了html5 canvas画布中删除一个块区域的方法。分享给大家供大家参考,具体如下: 运行效果截图如下: 附:图中,黑色小方块即为删除掉的块区域 具体代码如下: index.ht

  • 我想限制箱子里只有一个搬运工。然而,下面的代码显示,在一个框中,它可以放多个移动器,这是我不希望发生的。我可以知道如何在一个盒子里只做一个移动器吗?非常感谢!:)