1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Невидимый кастомный энтити

Тема в разделе "Разработка плагинов для новичков", создана пользователем CreeperPro35, 9 фев 2019.

  1. Автор темы
    CreeperPro35

    CreeperPro35 Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    _SEVENTYNINE_
    Создал своего кастомного энтити, но при спауне он появляется невидимым

    Код:
    package ru.mascarpone.seventy;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntityDeathEvent;
    import org.bukkit.event.EventHandler;
    
    import net.minecraft.server.v1_12_R1.EntityZombie;
    import net.minecraft.server.v1_12_R1.World;
    import ru.mascarpone.seventy.utils.CreateItem;
    
    public class Bombie extends EntityZombie implements Listener{
    
        public Bombie(World world) {
            super(world);
            this.setHealth(30);
            this.setCustomName(ChatColor.RED + "" + ChatColor.BOLD + "BOMBIE");
            this.setCustomNameVisible(true);
        }
      
        @EventHandler
        public void deathdrop(EntityDeathEvent e) {
            if (e.getEntity().getCustomName().equals(ChatColor.RED + "" + ChatColor.BOLD + "BOMBIE")) {
                Bukkit.getServer().broadcastMessage(ChatColor.RED + "" + ChatColor.BOLD + "Bombie died");
                e.getDrops().clear();
                e.getDrops().add(CreateItem.createItem(Material.TNT, ChatColor.YELLOW + "Boom"));
                e.setDroppedExp(0);
            }
        }
    }

    Код:
    package ru.mascarpone.seventy.commands;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.craftbukkit.v1_12_R1.CraftWorld;
    import org.bukkit.entity.Player;
    
    import net.minecraft.server.v1_12_R1.EntityZombie;
    import net.minecraft.server.v1_12_R1.WorldServer;
    import ru.mascarpone.seventy.Bombie;
    import ru.mascarpone.seventy.ConfigManager;
    
        public class ChatCommandKick implements CommandExecutor {
    
        private ConfigManager cfmg;
        
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            if (sender instanceof Player) {
                Player p = ((Player) sender).getPlayer();
                Location loc = p.getLocation();
                WorldServer world = ((CraftWorld)p.getWorld()).getHandle();
                EntityZombie ent = new Bombie(world);
                ent.setLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch());
                world.addEntity(ent);
                
                Bukkit.getServer().broadcastMessage(ChatColor.RED + "" + ChatColor.BOLD + "Bombie " + ChatColor.RESET + ChatColor.RED + "has spawned!");
            }
            return true;
        }
    
    }
    

    P.s Искал решение проблемы на англоязычном бакките, но там решениями проблемы оказывались то "спасительная" мёртвая ссылка, то "спасительный", как и мой энтити, ответ
     
  2. hyndorik

    hyndorik Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ентити надо зарегистрировать в EntityTypes
     
  3. Автор темы
    CreeperPro35

    CreeperPro35 Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    _SEVENTYNINE_
    Ммм, не до конца понял
     
  4. hyndorik

    hyndorik Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ну зайди в класс EntityTypes, посмотри как регистрируются все остальные ентити, и сделай так же
     

Поделиться этой страницей