Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Создание плагина. Армор стенды

Тема в разделе "Разработка плагинов для новичков", создана пользователем KoreeeZ, 15 мар 2017.

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

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

    Баллы:
    66
    Имя в Minecraft:
    KoreeeZ
    Здравствуйте! Хочу создать плагин и подумал, что будет лучше если я проконсультирую это с вами.

    Задумка и идея такая... Хочу спавнить невидимый арморстенд с именем внутри игрока(чуть выше). Нужно, чтобы при передвидении игрока, он не дергался. Как мне лучшето сделать?
     
  2. Хостинг MineCraft
    <
  3. Dymeth

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

    Баллы:
    76
    Запустить шедулер с промежутком в 1 тик, в котором стенд будет телепортироваться к игроку
     
  4. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Или посадить его на игрока.
     
  5. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Разве ник не будет слишком высоко?
     
  6. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Ник плеера вообще не будет отображаться, только ник арморстенда.
    И будет он очень высоко.
    Тестил на версии 1.10.2

    Для таких целей проще использовать ProtocolLib.
     
  7. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    А если взять не просто стойку, а маленькую стойку? А если стойка без boundbox'а, там он будет даже немного ниже.
     
  8. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    всеравно ник скорее всего высоковат будет.
     
  9. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Если стойка сидит на плеере - ник скрывается. Какой бы стойка не была.
     
  10. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    там наверное хотят сделать тупо префикс длиннее 16 символов + nick . Только это будет слишком высоко, и не красиво.
     
  11. Автор темы
    KoreeeZ

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

    Баллы:
    66
    Имя в Minecraft:
    KoreeeZ
    Я хочу сделать так, чтобы над ником игрока было название его фракции из Factions
    Я больше не вижу просто альтернативы... (Видел моды от к773, но без его плагина ничего не выходит; также видел и замену диспленейма игрока, но это выглядит очень криво)
     
  12. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Не знаешь -- не пиши. Конкретно показываю на скринщотах.
    [​IMG]

    [​IMG]

    [​IMG]
     
  13. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Второй более менее но всеравно высоковато. Я не про ник игрока, а про кастом нейм стойки имел в виду.
     
  14. Автор темы
    KoreeeZ

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

    Баллы:
    66
    Имя в Minecraft:
    KoreeeZ
    А вот еще, может, чтобы кастомнейм был ниже использовать другое существо или это никак не влияет? (Например маленького слайма)
     
  15. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    [​IMG]
    Так?
     
  16. Автор темы
    KoreeeZ

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

    Баллы:
    66
    Имя в Minecraft:
    KoreeeZ
    Да, получилось неплохо, а можно код?
     
  17. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Код:
    Slime nameSlime = (Slime) e.getPlayer().getWorld().spawnEntity(e.getPlayer().getEyeLocation(), EntityType.SLIME);
    nameSlime.setSize(-2);
    nameSlime.setAI(false);
    nameSlime.setInvulnerable(true);
    nameSlime.setCollidable(false);
    ((CraftSlime)nameSlime).getHandle().setInvisible(true);
    
    ArmorStand as = (ArmorStand) e.getPlayer().getWorld().spawnEntity(e.getPlayer().getEyeLocation(), EntityType.ARMOR_STAND);
    as.setCustomNameVisible(true);
    as.setCustomName(name);
    as.setVisible(false);
    as.setMarker(true);
    
    nameSlime.setPassenger(as);
    e.getPlayer().setPassenger(nameSlime);
    
     
  18. Автор темы
    KoreeeZ

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

    Баллы:
    66
    Имя в Minecraft:
    KoreeeZ
    Спасибо[DOUBLEPOST=1489610096,1489609452][/DOUBLEPOST]
    А подойдет ли это под версию 1.8 ( в Эклипсе просто не состыковки, простите за глупые вопросы)

    upload_2017-3-15_23-34-42.png
    [DOUBLEPOST=1489610207][/DOUBLEPOST]
    А подойдет ли это под версию 1.8 ( в Эклипсе просто не состыковки, простите за глупые вопросы)

    upload_2017-3-15_23-34-42.png
    [DOUBLEPOST=1489610240][/DOUBLEPOST]А подойдет ли это под версию 1.8 ( в Эклипсе просто не состыковки, простите за глупые вопросы)

    upload_2017-3-15_23-34-42.png
     
  19. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Импорты проставь.
     
  20. Автор темы
    KoreeeZ

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

    Баллы:
    66
    Имя в Minecraft:
    KoreeeZ
    Я, наверное, очень глупо выгляжу... Но какие импорты?
    Код:
    package clantag;
    
    import org.bukkit.Bukkit;
    import org.bukkit.craftbukkit.v1_8_R3.entity.CraftSlime;
    import org.bukkit.entity.ArmorStand;
    import org.bukkit.entity.Slime;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import com.avaje.ebeaninternal.server.deploy.BeanDescriptor.EntityType;
    
    public class clantag extends JavaPlugin implements Listener {
    
    
    
    public void onEnable()
    {
        Bukkit.getPluginManager().registerEvents(this, this);
        getLogger().info("Enabling CLANStags");
    }
    
    @EventHandler
    public void onJoin(PlayerJoinEvent e)
    {
        Slime ns = (Slime) e.getPlayer().getWorld().spawnEntity(e.getPlayer().getEyeLocation(), EntityType.SLIME);
        ns.setSize(-2);
        ns.setOp(false);
        ns.setInvulnerable(true);
        ns.setCollidable(false);
        ns.getHandle().setInvisible(true);
        
        ArmorStand as = (ArmorStand) e.getPlayer().getWorld().spawnEntity(e.getPlayer().getEyeLocation(), EntityType.ARMOR_STAND);
        as.setCustomNameVisible(true);
        as.setCustomName(name);
        as.setVisible(false);
        as.setMarker(true);
        
        ns.setPassenger(as);
        e.getPlayer().setPassenger(ns);
    
    }
    }
    
    Update: ошибки на 27, 30 - 32, 34, 36 строке
     
    Последнее редактирование: 15 мар 2017
  21. Dymeth

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

    Баллы:
    76
    На последних версиях вроде не спаунятся слизни с отрицательным размером
     

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