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

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

Discussion in 'Разработка плагинов для новичков' started by ANTI_GREEFER, Dec 1, 2013.

  1. Dereku

    Dereku Старожил

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

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

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

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

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

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

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Code:
                        for (ItemStack it : p.getInventory().getContents()) {
                            if (it.getType() == Material.STONE && it.getDurability() == 0 && it.getAmount() == amount) {
                                //
                            }
                        }
     
  6. CoolBoy

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

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

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

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

    Dereku Старожил

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

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

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

    Dereku Старожил

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

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

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

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

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

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

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

    Kostya256 Участник

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    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опоп");
    }
    }
     
    Last edited: Nov 12, 2016
  20. _AndreyBarna_

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

    Trophy Points:
    76
    Имя в Minecraft:
    MainDRY
    SignChangeEvent
     
  21. Mr_RoboMan

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

    Trophy Points:
    123

Share This Page