- Баллы
- 61
- Имя в Minecraft
- _SEVENTYNINE_
Потребовалось установить Metadata на блок, по которому ходит игрок, и сравнивать её. В итоге получился такой код, однако я не знаю, как сравнить Metadata
Код:
@EventHandler
public void placegold(BlockPlaceEvent e) {
Player p = e.getPlayer();
if (p.getEquipment().getItemInMainHand().getItemMeta().getDisplayName().equalsIgnoreCase("finish") && e.getBlockPlaced().getType() == Material.GOLD_BLOCK) {
e.getBlockPlaced().getRelative(BlockFace.DOWN).setMetadata("finish", new FixedMetadataValue(Main.getInstance(), "finish"));
p.sendMessage("Metadata");
}
e.getPlayer().sendMessage(e.getBlockPlaced() + "");
}
Код:
@EventHandler
public void CoordRegister(PlayerMoveEvent e) {
Player p = e.getPlayer();
Block b = e.getTo().getBlock().getRelative(BlockFace.DOWN);
if (e.getTo().getBlock().getRelative(BlockFace.DOWN).getType() == Material.GOLD_BLOCK) {
if (pla.get(p) == null) {
pla.put(p, p.getLocation());
p.sendMessage("Parkour started");
}
if (pla.get(p) != p.getLocation()) {
if (!pla.containsValue(p.getLocation())) {
if (pla.get(p).getBlockX() != p.getLocation().getBlockX() && pla.get(p).getBlockY() != p.getLocation().getBlockY() && pla.get(p).getBlockZ() != p.getLocation().getBlockZ()) {
p.sendMessage("Checkpoint");
pla.replace(p, p.getLocation());
}
}
}
if (b.hasMetadata("finish")) { // Проверка Metadata
p.sendMessage("Parkour completed");
}
}
}