Выпадение головы игрока после смерти

Статус
Закрыто для дальнейших ответов.

_Casper_

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
umifi
Здравствуйте. Я решил создать плагин для выпадения головы после смерти игрока (плагины которые есть меня не интересуют, так как там ещё есть выпадение голов мобов, я понимаю что это можно выключить, но лучше сделать плагин где только головы с игроков падают). Так вот, я сделал плагин используя всякие иностранные источники (форум spigot, javadoc spigot). Даже нашёл код для выпадения голов. Но почему-то после смерти голова не выпадает и в консоли нет никаких ошибок. я ранее не занимался созданием плагинов, сейчас впервые. Не могли бы подсказать что не так я мог сделать? Заранее благодарен за помощь.


Код:
import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.*********ventory.ItemStack;
import org.*********ventory.meta.SkullMeta;
import org.bukkit.plugin.java.JavaPlugin;

public class HeadDrop extends JavaPlugin implements Listener {
    @EventHandler
    public void onPlayerDeath(PlayerDeathEvent e) {
        ItemStack head = new ItemStack(Material.PLAYER_HEAD, 1);
        SkullMeta sm = (SkullMeta)head.getItemMeta();
        sm.setOwningPlayer(e.getEntity());
        sm.setDisplayName("Голова " + e.getEntity().getName());
        head.setItemMeta(sm);
        e.getEntity().getWorld().dropItem(e.getEntity().getLocation(), head);
    }
}
 
Не знаю почему, но в import появились звёздочки. Хотя там ничего нет. Так что на всякий отправлю ещё и скриншот.
upload_2020-11-29_12-22-14.png
 
@Override
public void onEnable() {
this.getServer().getPluginManager().registerEvents(this, this);
}
 
papermc api

Main
Код:
package skulldrop;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {
    @Override
    public void onEnable() {
        this.getServer().getPluginManager().registerEvents(new EventListener(), this);
    }
}
EventListener
Код:
package skulldrop;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.*********ventory.ItemStack;
import org.*********ventory.meta.SkullMeta;

public class EventListener implements Listener {
    @EventHandler
    public void SkullDrop(PlayerDeathEvent e) {
        Player player = e.getEntity();
        ItemStack head = new ItemStack(Material.PLAYER_HEAD);
        SkullMeta meta = (SkullMeta) head.getItemMeta();
        meta.setPlayerProfile(player.getPlayerProfile());
        meta.setDisplayName("Голова " + player.getName());
        head.setItemMeta(meta);
        player.getWorld().dropItemNaturally(player.getLocation(), head);
    }
}
plugin.yml
Код:
name: SkullDrop
main: skulldrop.Main
version: 1.0
api-version: 1.13
Binaries
 
Спасибо! Всё заработало!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх