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

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем LR project, 20 май 2016.

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

    Баллы:
    103
    Это зависимости.

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

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

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

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

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

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

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

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

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

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

    Dereku Старожил

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

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

    Баллы:
    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 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    fallus

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