【问题标题】:Minecraft Plugin: Get Block Type at specific coordinatesMinecraft 插件:在特定坐标处获取块类型
【发布时间】:2018-08-25 20:05:19
【问题描述】:

我正在学习如何在 Minecraft 中创建物品栏 GUI。我正在为我已经构建的使命召唤僵尸游戏添加一个,只是为了让它变得更好一点。我的问题是,当人们购买团队升级时,我需要更改库存选项以反映他们已购买和未购买的内容。

我计划这样做的方式是简单地检查他们购买物品时分配给他们的记分牌标签。但是,我找不到这样做的方法。

我的下一个想法是拥有它,这样当他们购买每次升级时,它会在特定坐标处设置一个块到特定材料。对于这个例子,我们只说绳子(100、50、200)并输入 Sandstone。如果块是砂岩,那么它将打开一个完全独立的用户界面,我将允许他们购买升级两个。这个过程会一直重复,直到所有升级都被购买,100、50、200 线的块随着升级而改变。

我真的有几个问题。

  1. 有没有更好的方法来做到这一点,如果有,请解释一下。

  2. 即使没有好的方法,我仍然想知道如何在插件中将块设置在与玩家无关的特定坐标处的特定块类型。

  3. 即使没有好的方法,我仍然想知道如何检查在与玩家无关的一组特定坐标处的方块类型。

我认为这里不需要代码示例,但如果您需要任何代码示例,请告诉我,我可以编辑它们。

提前感谢您提供的任何帮助, ~石头

【问题讨论】:

  • 泰!我设法让它工作。花了几个小时,但我终于找到了另一篇关于如何使用记分牌定位玩家的帖子,所以我需要做的所有计算和信息收集现在都在服务器端完成。
  • 你在使用 Bukkit 吗?我们有一个 [bukkit] 标签,它比 [plugins] 更适合您的问题。
  • 是的。下次我会用那个,不知道有Bukkit标签

标签: java minecraft bukkit


【解决方案1】:
  1. 没有好办法,但我可以回答你的问题,

  2. 在 World 中有一个名为 getBlock(x,y,z) 的方法,然后您可以在该块上调用 setType 方法,例如:

    p.getLocation().getWorld().getBlock(0,0,0).setType(Material.AIR);

  3. 与第二个分析器一样,您也可以获取类型,示例:

    if(p.getLocation().getWorld().getBlock(0,0,0).getTyp() == Material.AIR){ //Check for air in the players world at 0,0,0 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    相关资源
    最近更新 更多