Помогите Как узнать какой блок сломал игрок?

FreshinS

Ньюби
Баллы
1
Имя в Minecraft
FreshinS
Я в этом деле новичок.

@EventHandler
public void block(BlockBreakEvent event) {
Player player = event.getPlayer();
Block block = event.getBlock();
ItemStack item = new ItemStack(Что писать вот сюды.);
 
Material material = block.getType();
new ItemStack(material);
Один в один сделал, и понял в чём проблема. У меня походу весь плагин не робит. Поставил для проверки чтобы выводилось в чат что я сломал блок и пусто. В логах никаких ошибок с плагином нет (Я не заметил). Плагин включается.
 
Ну допустим, как его выдать игроку, там ItemStack нужен же.
Код:
    @EventHandler
    public void on(BlockBreakEvent e) {
        e.setDropItems(false);
        Player player = e.getPlayer();
        e.getBlock().getDrops(player.getInventory().getItemInMainHand()).forEach(stack -> player.getInventory().addItem(stack));
    }
 
Один в один сделал, и понял в чём проблема. У меня походу весь плагин не робит. Поставил для проверки чтобы выводилось в чат что я сломал блок и пусто. В логах никаких ошибок с плагином нет (Я не заметил). Плагин включается.
Ивент регистрируешь?
 
Всё спасибо люди, я понял в чём проблема. Я случайно написал OnEnable вместо onEnable.
 
Ладно, хорошо, можно ли сделать как у alexandrage, но чтобы ломая стекло силктачем то выпадало стекло. Щас пытался сделать шот не вышло.
 
Ладно, хорошо, можно ли сделать как у alexandrage, но чтобы ломая стекло силктачем то выпадало стекло. Щас пытался сделать шот не вышло.
По идеи, тебе достаточно проверять наличие шелк.касания, и если оно есть - вместо варианта выше выдавать игроку просто block.getType(). Но нужно добавить несколько исключений, вроде семян, голов, спавнеров, шалкер-боксов и пр.
Но раз речь о зачарованиях, то нужно и удачу на кирке вспомнить - тут уже гугл в лапки и на поиски подходящей формулы.
 
Ладно, хорошо, можно ли сделать как у alexandrage, но чтобы ломая стекло силктачем то выпадало стекло. Щас пытался сделать шот не вышло.
А это тебе уже к разрабам спиготапи. По идее со стака должно брать все меты и от них получать дроп.
 
Код:
@EventHandler
public void onBreak(BlockBreakEvent e) {
    ItemStack stack = new ItemStack(e.getBlock().getType());
}
 
Назад
Верх