Ght
Пользователь
- Сообщения
- 157
- Решения
- 11
Название темы должно быть информативным, максимально четко отражая смысл проблемы
Привет всем, пишу плагин для РП сервера, на анти-бхоп (спринт+прыжок)
И столкнулся с двумя проблемами.
1 - Не возвращает на блок с которого был совершен прыжок, а лишь отменяет прыжок после самого прыжка
Например: человек прыгнул, его координата достигла 64.5 и прыжок отменяется (дальше его координата выше не растёт)
А должен быть полный возврат на ту же координату откуда был совершён прыжок, либо перехватывать прыжок и отменять его ещё ДО самого изменения координаты
2 - Трудно объяснить, вот видео -
@EventHandler
public void onPlayerMove(PlayerMoveEvent e) {
Player p = e.getPlayer();
Location loc = e.getFrom(), to = e.getTo();
if (p.getGameMode() == GameMode.CREATIVE || p.getGameMode() == GameMode.SPECTATOR)
return;
if (to.getBlockY() > loc.getBlockY() && e.getPlayer().isSprinting())
{
e.setCancelled(true);
p.playSound(p.getLocation(), Sound.BLOCK_NOTE_BLOCK_BASS, 1, 0);
p.sendActionBar(ChatColor.RED + "Баннихоп запрещён!");
p.sendTitle(ChatColor.RED + "ERROR", ChatColor.WHITE + "Баннихоп запрещён" + ChatColor.RED + "!", 2, 20, 10);
}
}
И такая проблема не только со ступенями, если мотыгой или лопатой вскопать землю, если зажать спринт и выбежать с вскопанной земли, будет происходить тоже самое
И столкнулся с двумя проблемами.
1 - Не возвращает на блок с которого был совершен прыжок, а лишь отменяет прыжок после самого прыжка
Например: человек прыгнул, его координата достигла 64.5 и прыжок отменяется (дальше его координата выше не растёт)
А должен быть полный возврат на ту же координату откуда был совершён прыжок, либо перехватывать прыжок и отменять его ещё ДО самого изменения координаты
2 - Трудно объяснить, вот видео -
You must be registered for see medias
@EventHandler
public void onPlayerMove(PlayerMoveEvent e) {
Player p = e.getPlayer();
Location loc = e.getFrom(), to = e.getTo();
if (p.getGameMode() == GameMode.CREATIVE || p.getGameMode() == GameMode.SPECTATOR)
return;
if (to.getBlockY() > loc.getBlockY() && e.getPlayer().isSprinting())
{
e.setCancelled(true);
p.playSound(p.getLocation(), Sound.BLOCK_NOTE_BLOCK_BASS, 1, 0);
p.sendActionBar(ChatColor.RED + "Баннихоп запрещён!");
p.sendTitle(ChatColor.RED + "ERROR", ChatColor.WHITE + "Баннихоп запрещён" + ChatColor.RED + "!", 2, 20, 10);
}
}
Объединено
И такая проблема не только со ступенями, если мотыгой или лопатой вскопать землю, если зажать спринт и выбежать с вскопанной земли, будет происходить тоже самое
Последнее редактирование: