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

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

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

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

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

    Trophy Points:
    153
    Использовал твой код, немного дополнив, надеюсь правильно. Но также подчеркивает getItemId.
    Code:
    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 Старожил Девелопер Пользователь

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    173
    тебе написали пример.
     
    zuma2 and Den_Abr like this.
  13. Автор темы
    Zard0nic

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

    Trophy Points:
    153
    Разобрался и начал писать дальше. Теперь уже вопрос, касающийся БД и типов данных. Поставил JDBC, и написал так:
    Code:
    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 Старожил Девелопер Пользователь

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

Share This Page