- Баллы
- 76
как продетектить под игроком блок? и как заменить его на воздух. короче: мне надо чтобы если игрок на льду то он под ним ломался.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
player.getLocation().subtract(0,1,0).getBlock();
if(s.getLocation().add(0, -1, 0).getBlock().getType() == Material.ICE){
s.getLocation().add(0, -1, 0).getBlock().setType(Material.AIR);
}
а как там параметр destroy прифигачить? ну чтоб блок не просто заменялся а уничтожал лёд со звуком, частицами ломания... ну destroy корочJava:if(s.getLocation().add(0, -1, 0).getBlock().getType() == Material.ICE){ s.getLocation().add(0, -1, 0).getBlock().setType(Material.AIR); }
breakNaturally();а как там параметр destroy прифигачить? ну чтоб блок не просто заменялся а уничтожал лёд со звуком, частицами ломания... ну destroy короч
извини за глупый вопрос, но... куда это приписывать?breakNaturally();

НЕУЖТО Я САМ ЗАКОДИЛ БЕЗ ГЛУПЫХ ВОПРОСОВ????Java:if(s.getLocation().add(0, -1, 0).getBlock().getType() == Material.ICE){ s.getLocation().add(0, -1, 0).getBlock().setType(Material.AIR); }
Это метод класса Block.извини за глупый вопрос, но... куда это приписывать?![]()
не понимаю... :3Это метод класса Block.
не понимаю... :3
@EventHandler
private void onPlayerMove(PlayerMoveEvent event) {
if(event.getPlayer().getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.ICE)
event.getPlayer().getLocation().getBlock().getRelative(BlockFace.DOWN).breakNaturally();
}
не работает твой код... (может я чот не так с твоим сделал?) вот мой:Java:@EventHandler private void onPlayerMove(PlayerMoveEvent event) { if(event.getPlayer().getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.ICE) event.getPlayer().getLocation().getBlock().getRelative(BlockFace.DOWN).breakNaturally(); }
@EventHandler
public void onPlayerMovie (PlayerMoveEvent e){
Player s = e.getPlayer();
if(s.getLocation().add(0, -1, 0).getBlock().getType() == Material.ICE){
s.getLocation().add(0, -1, 0).getBlock().setType(Material.AIR);
}
}
Руки-крюки.не работает твой код... (может я чот не так с твоим сделал?) вот мой:
Java:@EventHandler public void onPlayerMovie (PlayerMoveEvent e){ Player s = e.getPlayer(); if(s.getLocation().add(0, -1, 0).getBlock().getType() == Material.ICE){ s.getLocation().add(0, -1, 0).getBlock().setType(Material.AIR); } }
ну так? что делать то? кстати... PlayerMoveEvent должен отслкживать движущихся игроков? у меня он убирает лёд даж если тпхнулсяРуки-крюки.
![]()
да блин... оба кода работают одинакого! мне надо чтобы когда блок под ногами исчезал он был как /setblock ~ ~-1 ~ air 0 destroy а не /setblock ~ ~-1 ~ air 0 replaceJava:@EventHandler private void onPlayerMove(PlayerMoveEvent event) { if(event.getPlayer().getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.ICE) event.getPlayer().getLocation().getBlock().getRelative(BlockFace.DOWN).breakNaturally(); }
НЕУЖТО САМ ЗАКОДИЛ БЕЗ ГЛУПЫХ ВОПРОСОВ????
о боже мой... кажется я нашёл то, что не возможно сделать в eclipse... надо чтобы блоки ломались так как будто их игрок ломает! со звуком ломания, с частицами ломания...if(s.getLocation().add(0, -1, 0).getBlock().getType() == Material.ICE){
s.getLocation().add(0, -1, 0).getBlock().breakNaturally();
}
ой... НЕУЖТО *Я* САМ ЗАКОДИЛ БЕЗ ГЛУПЫХ ВОПРОСОВ???? сорян ошибочка )))По моему такое можно спрашивать только у тебя
это я знаю, но блин... свой мозг имейте! вы подумайте что я имел ввиду я просто выразился как удобнокакой наxуй cука эклипс.
Иди учи яву, учи что такое эклипс и т.д.
Функции предоставляются не эклипсом. Функции предоставляются bukkit'om
ой да ладно уже блин... прям завелись с этого словакакой наxуй cука эклипс.
Иди учи яву, учи что такое эклипс и т.д.
Функции предоставляются не эклипсом. Функции предоставляются bukkit'om
кодить можно вообще в иппаном блокноте, он просто не удобнее, но максимально доступный функционал не увеличится\не уменьшится ни на йоту
![]()
Что бы не писали
программист НЕ ИМЕЕТ ПРАВА выражаться КАК УДОБНО, он имеет право выражаться ТОЛЬКО КАК ПРАВИЛЬНО
ну так как блин там уничтожить блок а не тупо заменить на воздухкакой наxуй cука эклипс.
Иди учи яву, учи что такое эклипс и т.д.
Функции предоставляются не эклипсом. Функции предоставляются bukkit'om
кодить можно вообще в иппаном блокноте, он просто не удобнее, но максимально доступный функционал не увеличится\не уменьшится ни на йоту
![]()
Что бы не писали
программист НЕ ИМЕЕТ ПРАВА выражаться КАК УДОБНО, он имеет право выражаться ТОЛЬКО КАК ПРАВИЛЬНО
if(p.isOnGround()&&p.getLocation().add(0, -1, 0).getBlock().getType() == Material.ICE){
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "setblock "+Integer.toString((int) p.getLocation().getX())+" "+Integer.toString((int) (p.getLocation().getY()-1))+" "+Integer.toString((int) p.getLocation().getZ()) +" air 0 destroy");
}
Мммм... Матыкакой наxуй cука эклипс.
Иди учи яву, учи что такое эклипс и т.д.
Функции предоставляются не эклипсом. Функции предоставляются bukkit'om
кодить можно вообще в иппаном блокноте, он просто не удобнее, но максимально доступный функционал не увеличится\не уменьшится ни на йоту
![]()
Что бы не писали
программист НЕ ИМЕЕТ ПРАВА выражаться КАК УДОБНО, он имеет право выражаться ТОЛЬКО КАК ПРАВИЛЬНО
Хмм...чувствуете этот запах?...Костылями пахнет сильно...ОченьJava:if(p.isOnGround()&&p.getLocation().add(0, -1, 0).getBlock().getType() == Material.ICE){ Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "setblock "+Integer.toString((int) p.getLocation().getX())+" "+Integer.toString((int) (p.getLocation().getY()-1))+" "+Integer.toString((int) p.getLocation().getZ()) +" air 0 destroy"); }