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

Стартап Помощь новичкам и тем, кто мало писал плагины. (+ LifeHack'и)

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

  1. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Если есть точное значение ника, то лучше (и нужно) использовать getPlayer(String).
     
  2. Хостинг MineCraft
    <
  3. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Я привел ему оба метода.
    Он попросил разжевать этот :)
     
  4. chief

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

    Баллы:
    76
    Помогите решить эту проблему.
    Надо проверить, есть ли у инвентаре необходимый предмет(с data) в определенном количестве
    Мой метод не работает
    Код:
      if (player.getInventory().contains(new ItemStack(Material.STONE, (short)0), amount)) {
    
    
     
  5. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Код:
                        for (ItemStack it : p.getInventory().getContents()) {
                            if (it.getType() == Material.STONE && it.getDurability() == 0 && it.getAmount() == amount) {
                                //
                            }
                        }
     
  6. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Не сработает, если там, например, 3 камня, разложенных по одному.
    player.getInventory().containsAtLeast(твой итемстак);
     
  7. chief

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

    Баллы:
    76
    Этот метод работает. Спасибо[DOUBLEPOST=1471855784,1470419180][/DOUBLEPOST]Как получить uuid игрока?[DOUBLEPOST=1471856243][/DOUBLEPOST]Нашел
    Код:
    player.getUniqueId();
    [DOUBLEPOST=1471975597][/DOUBLEPOST]Не могу сравнить адреса, хотя они визуально совпадают
    Код:
                    String regip = rs.getString("ip"); 
                    String curentip = player.getAddress().getHostString(); 
                    if (regip == curentip) {
                    }
    
     
  8. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    equals, блджад.
    Читайте подсказки IDE, она херни не посоветует.
     
  9. Mr_RoboMan

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

    Баллы:
    123
    Ложь, п**дежь и провокация :D
    Я даже статейку на хабре читал, мол "почему не всегда стоит доверять подсказкам IDE" (ну или как-то так), если найду - скину)
     
  10. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Одно дело доверять, другое херню советовать. Доверять или нет дело каждого, но их хотя бы читать надо.
    Алсо, помню эту статейку, читал. Щас даже добавлю линк на неё.
    UPD: Начал искать статейку, закончил видосиками про котлин. Что то пошло не так.
     
    Последнее редактирование: 24 авг 2016
  11. Mr_RoboMan

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

    Баллы:
    123
    Статейки я найти не смог...
    Но она чесно - была((([DOUBLEPOST=1472015030,1472014972][/DOUBLEPOST]
    :good: Лично я, всегда читаю подсказки IDEA :D
    Прежде чем отключить их...
     
  12. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Она меня вынуждает:lol:
     
  13. kirill2011s

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

    Баллы:
    103
    Все варнинги можно как отключить совсем, так и переключить в режим, когда все варнинги становятся ошибками.
     
  14. Kostya256

    Kostya256 Участник

    Баллы:
    31
    Имя в Minecraft:
    _Cherep_
    Спасибо за сайт
    :)
     
  15. Pereotofuck

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

    Баллы:
    46
    Skype:
    mitmit20001
    Имя в Minecraft:
    Danielhograt
    Хорошая тема, p.s. гугл переводчик криво переводит оригинальный сайт с ивентами
     
  16. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Здесь все евенты.
     
  17. Djstim

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

    Баллы:
    78
    Skype:
    Alekcej1995
    Имя в Minecraft:
    Master26
    Как запретить клик или нажатие space в определённом инвентаре ?
     
  18. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    InventoryClickEvent + if(e.getInventory().getName().equals(Твое имя)) e.setCancelled(true);
     
  19. Stamorey

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

    Баллы:
    66
    Имя в Minecraft:
    Stamorey
    Подскажите пожалуйста нубу)) Вот есть события, когда они обрабатываются из них можно брать нужные значения- например с помощью методов getBlock() getX() и тд.
    А можно как-нибудь при определенном событии изменить эти значения..

    Вот мое обрабатываемое событие (на клик по табличке)
    Можно как нибудь изменить через это событие надпись на ней,а не просто извлечь ее...

    (если для решения этой проблемы используют что-то другое напишите поподробнее про это)))
    видел вроде бы какой-то плагин, который "позволяет менять Надписи на табличках не ломая их" но наверное есть какой-то другой способ... )
    @EventHandler
    public void BlockTP(PlayerInteractEvent e)
    {

    if(e.getClickedBlock().getType() == Material.WALL_SIGN ||e.getClickedBlock().getType() == Material.SIGN_POST)
    {
    Sign s = (Sign)e.getClickedBlock().getState();
    if(s.getLine(0).equals("Chto-to-tam"))
    {
    Player p = e.getPlayer();
    World world_swl_1 = Bukkit.getWorld("lobby_sky1");
    p.teleport(new Location(world_swl_1,-322,73,1354));
    }
    }


    }[DOUBLEPOST=1478973542,1478964272][/DOUBLEPOST]Понял как заменить блок на который кликнули на другой блок:
    e.getClickedBlock().setType(Material.OBSIDIAN); :rolleyes:
    Но все же это не решило проблему, не могу найти метод для изменения надписи на табличке...

    помог _AndreyBarna_ :
    @EventHandler
    public void SignTP(SignChangeEvent e)
    {
    if (e.getLine(0).equalsIgnoreCase("SkyWars_1")) {
    e.setLine(0, "§3опоп");
    }
    }
     
    Последнее редактирование: 12 ноя 2016
  20. _AndreyBarna_

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

    Баллы:
    76
    Имя в Minecraft:
    MainDRY
    SignChangeEvent
     
  21. Mr_RoboMan

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

    Баллы:
    123
    Винлокер или похуже? :D
     

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