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

Помогите Небольшая "функция"

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

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

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

    Баллы:
    153
    Использовал твой код, немного дополнив, надеюсь правильно. Но также подчеркивает getItemId.
    Код:
    public void onPlayerInteract(PlayerInteractEvent e) {
            Player p = e.getPlayer();
            if(e.getAction() == Action.RIGHT_CLICK_BLOCK && e.getClickedBlock().getTypeId() == 6 && p.getItemInHand().getTypeId() == 3) {
            getLogger().info("Block with ID 6 has been clicked by Player with Stone in hand!");
            }
        }
    [DOUBLEPOST=1381598210,1381598052][/DOUBLEPOST]Как я понял - в PlayerInteractEvent нет класса getItemId, а проверку организовать надо.
     
  2. Хостинг MineCraft
    <
  3. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    В 1.6 все методы, возвращающие id предметов/блоков помечены устаревшими, но они работают как обычно[DOUBLEPOST=1381598350][/DOUBLEPOST]И вообще, читай, что тебе пишет эклипс в месте с ошибкой
     
  4. Автор темы
    Zard0nic

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

    Баллы:
    153
    Ошибок ноль, разве что http://prntscr.com/1wv8us. Экспортировал плагин, включил сервер, при нажатии на блок с ID 6 блоком с ID 1 в лог сервера ничего не пишет.
    P.S. Да, выше в коде было "==3", но исправил на "==1".
     
  5. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Всё, что не подчёркнуто красным - не ошибка:D
    @EventHandler стоит над методом? Слушатель зарегистрирован?
     
    I-Am-Black-Overlord нравится это.
  6. Автор темы
    Zard0nic

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

    Баллы:
    153
    Я и написал, что ошибок ноль. EventHandler стоит над методом.
    Слушатель - public class mainClass extends JavaPlugin implements Listener?
     
  7. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    getServer().getPluginManager().registerEvents(this, this); - это регистрация эвентов, и наследовать Listener тоже надо
     
  8. ptnk

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

    Баллы:
    173
    Это называется не наследование, а реализация интерфейса.
     
  9. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Ну, я теорию обошел стороной;) Поэтому у меня чуточку своя терминология
     
  10. ptnk

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

    Баллы:
    173
    Это общепринятая терминология, наследование и реализация интерфейса это различные вещи.
     
    Den_Abr нравится это.
  11. Автор темы
    Zard0nic

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

    Баллы:
    153
    Так как все таки правильно слушателя зарегистрировать?
     
  12. ptnk

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

    Баллы:
    173
    тебе написали пример.
     
    zuma2 и Den_Abr нравится это.
  13. Автор темы
    Zard0nic

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

    Баллы:
    153
    Разобрался и начал писать дальше. Теперь уже вопрос, касающийся БД и типов данных. Поставил JDBC, и написал так:
    Код:
    PreparedStatement sampleQueryStatement = conn.prepareStatement("SELECT price FROM blocks WHERE id = 1");
                ResultSet result1 = sampleQueryStatement.executeQuery();
    Т.к. SELECT тут выбирает определенный столбец, который является int, то и результат должен быть int. Но выдает ошибку, если ResulSet изменить на int. Как можно преобразовать из ResultSet в int?[DOUBLEPOST=1381655808,1381655423][/DOUBLEPOST]Если что, то далее этот result1 понадобится для мат. действий, т.е. тип int обязателен.
     
  14. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Неужели так сложно открыть гугл и почитать, что уже объяснено?
     

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