【发布时间】:2020-08-27 15:22:12
【问题描述】:
我正在制作一个迷你游戏插件,我想让玩家通过右键单击两个对角来定义游戏区域。我的想法是让代码告诉您单击一个块,一旦您选择一个块,它会告诉您选择第二个块。之后,它将继续并打开一个 GUI 以完成迷你游戏的创建。我的第一次尝试做到了,所以在您选择第一个块后,它会切换一个变量,表示选择了第一个角,然后有另一个 if 语句等待您选择下一个角。但是当它切换变量时,它会立即运行下一个 if 语句并同时设置两个块。
@EventHandler
public void onRightClick(PlayerInteractEvent event) {
Player player = event.getPlayer();
Integer pos = 0;
if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
if (event.getHand() == EquipmentSlot.OFF_HAND) {
return;
}
if (player.getItemInHand().equals(MapSelectorTool.MapSelector)) {
Block block = event.getClickedBlock();
String world = block.getWorld().getName();
Integer X = block.getX();
Integer Y = block.getY();
Integer Z = block.getZ();
if (pos.equals(0)) {
String[] pos1 = {
X.toString(),
Y.toString(),
Z.toString(),
world
};
player.sendMessage(ChatColor.GOLD + "First position at " + ChatColor.WHITE + ChatColor.BOLD + X + " " + Y + " " + Z + " " + ChatColor.GOLD + "now right click second position");
pos = 1;
}
}
}
}
【问题讨论】:
-
pos是用来记住第一个位置已经被点击的变量吗?
标签: java plugins minecraft bukkit