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

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

Discussion in 'Разработка плагинов для новичков' started by KoreeeZ, Mar 15, 2017.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [​IMG]

    [​IMG]
     
  13. slavik123123123

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

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

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

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

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

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

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

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

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

    Trophy Points:
    173
    Skype:
    lokivava
    Code:
    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 Активный участник Пользователь

    Trophy Points:
    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 Администратор

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

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

    Trophy Points:
    66
    Имя в Minecraft:
    KoreeeZ
    Я, наверное, очень глупо выгляжу... Но какие импорты?
    Code:
    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 строке
     
    Last edited: Mar 15, 2017
  21. Dymeth

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

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

Share This Page