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

Помогите Переписать плагин...

Discussion in 'Разработка плагинов для новичков' started by LR project, May 20, 2016.

  1. Автор темы
    LR project

    LR project Участник Пользователь

    Trophy Points:
    31
    В одном плагине я нашел те строки (отвечающие за сообщения), которые мне не нужны.
    В конфиге нельзя менять эти сообщения.
    Почему мне они не нужны:
    Игроку недоступна команда этого плагина, он ее пишет, ему выдает две строки:
    У вас нет прав...
    Требуется: tralala.permissions
    А я хочу удалить эту вторую строку, но ее можно убрать только путем изменения class. Если тупо стереть ее через InClassTranslator, то всеравно пустая строка будет выводится в чат, поэтому, немного разобравшись в java я решил декомпилировать class плагина и убрать эту строку, но, чтобы обратно закомпилировать, нужна спец. программа, такая как eclipse. Ну, в общем, скачал, установил. Оказывается, нужно собирать какой-то проект (вытаскивая все из jar плагина) и совать это все в спец. папку проектов, чтобы скопилировать какой-то один class файл.
    Может я уже написал решение своей проблемы, но можете в точности объяснить, правильно ли я делаю? Или необязательно собирать всю директорию плагина (проект eclipse)? Я сделал так, но у меня ничего не компилируется, выводит ошибку, что какой-то appletviewer не найден или неисправен, или что-то типа этого.
     
  2. Хостинг MineCraft
    <
  3. Larin

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

    Trophy Points:
    103
    Какой плагин? Это важно.
     
  4. Reality_SC

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

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    Можно компилировать не оболочкой, а напрямую javac, там только один файл компильнёшь и готово.
     
  5. ql_Nik_lp

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

    Trophy Points:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Без либ? Javac?
     
  6. Larin

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

    Trophy Points:
    103
    Без нужных сигнатур не выйдет.
     
  7. Автор темы
    LR project

    LR project Участник Пользователь

    Trophy Points:
    31
    Я знаю, что можно компилировать через javac, но, в какой бы я кодировке это не делал, выдает одни ошибки.


    Какие сигнатуры нужны?
     
  8. Code

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

    Trophy Points:
    123
    Имя в Minecraft:
    _Gizmo
    не совсем понял о чем вы, но если класс простой, обычно достаточно
    javac -cp craftbukkit.jar:plugin.jar ClassToCompile.java
    если в нем используется всякая левая фигня, соответственно нужно эту фигню найти и указать ее джарники тоже.
    наличие фигни легко можно понять по import-ам в начале класса.
     
  9. Larin

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

    Trophy Points:
    103
    Это зависимости.

    -cp как раз и указывает расположение зависимостей и javac берёт оттуда сигнатуры.
     
  10. Code

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

    Trophy Points:
    123
    Имя в Minecraft:
    _Gizmo
    ну как бы кэп, я просто не понял, почему вы сразу не сказали как это сделать. "без либ?" "без сигнатур?". откуда такие вопросы? сказано же только без eclipse. хотя и с eclipse можно, просто все нужные либы нужно подтянуть.
     
  11. Larin

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

    Trophy Points:
    103
    Какой настырный! Прочитай пару книг про java, там тебе черным по белому написано будет, что такое сигнатуры и для чего они нужны.
     
  12. Dymeth

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

    Trophy Points:
    76
    В IDE проще же. В сорцы нужный класс, подключаем в качестве библиотеки ядро и сам плагин.
    Экспортируем содержимое библиотеки плагина + сорцы.
    Или вы из тех самобытных философов (мазахистов), которые делают всё сами, постигают все нововведения вручную, пишут на ассемлере и т.д.?
     
  13. skynetxxx

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

    Trophy Points:
    123
    Имя в Minecraft:
    skynetxxx
    Проще настроить IDE, чем выполнить одну единственную консольную команду?
    Если задача не заключается в значительной модификации плагина (в чем несомненно IDE с автодополнением методов/полей лучше), то декомпиляцию/рекомпиляцию можно сделать в две консольных команды (или даже в один клик, если написать простенький консольный скрипт).
    Вы сможете сделать это через IDE за аналогичное время?

    Более того, когда ты пытаешься изменить что-то в неплохо обфусцированном моде, то намного проще внести нужные изменения через редактор байткода (ну и свой мод-помощник, чтобы не ломать голову над майновской обфускацией, если например нужно телепортировать энтети по координатам из метода редактируемого мода).
     
  14. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    ...написать свой мод, потому что трахаться с этом дерьмом порой желания не возникает.
     
  15. Автор темы
    LR project

    LR project Участник Пользователь

    Trophy Points:
    31
    Напишите точную инструкцию, как мне рекомпилировать класс файл: пример команды и ее образец, которую нужно вводить в консоль, а дальше я уже сам разберусь. В инете искал, там ничего подробного о компилировании .java в .class через javac не сказано, пишут только о eclipse и netbeans, но мне нужно именно через консоль.

    Допустим, у меня сервер лежит в папке C:\Users\Username\Desktop\srv1.9
    Хочу рекомпилировать .java в плагине Private (Это не тот плагин, в котором мне нужно удалить вторую строку). Путь: C:\Users\Username\Desktop\srv1.9\plugins\Private.jar\com\j3kennard\Private.java
    Что я должен прописывать в cmd строке для успешной компиляции java в class (и чтобы class появился прямо там, где лежит его .java)?
     
  16. fall.us

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

    Trophy Points:
    76
    Имя в Minecraft:
    fallus

Share This Page