Помогите библиотека ASM и SkyWarsReloaded

example123

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
AdrenalineEXE
Возвращаюсь к своей недавней теме про аддон к плагину SkyWarsReloaded. Нашёл библиотеку ASM для редактирования байт-кода (asm.ow2.io). Немного разобрался, в общем, допустим мы находимся мы в методе с названием "startGame". У нас есть переезд метода visitCode() -> мы находимся в коде с помощью MethodVisitor как бы это странно не было. Теперь мне нужно добавить в код определённую строку, а именно - Bukkit.getPluginManager().callEvent(new com.walrusone.skywars.api.GameStartEvent(gameMap, gameNumber, gPlayers)); - gameMap, gameNumber, gPlayers - это переменные, остальное вызов ивента. Ниже байт-код самой строки) Вот в общем и всё, как мне это сделать?)
T4NKhxs
 
Я в ASM не шарю, просто интересно, почему ты решил именно байт-код редактировать?
И картинка в конце кривая. Нормальная ссылка: https://i.ibb.co/gScvgLx/byte-code.png
 
Не могу подсказать ничего по поводу изменения байт-кода, но я бы скопировал репку и сделал всё напрямую в исходниках:
Код:
$ git clone https://github.com/walrusone/SkyWarsReloaded.git
# проводишь необходимые изменения через Eclipse/{любой другой редактор кода/текста}
$ mvn package
# В папке targer/ появляется скомпилированный плагин со всеми изменениями
 
Не могу подсказать ничего по поводу изменения байт-кода, но я бы скопировал репку и сделал всё напрямую в исходниках:
Код:
$ git clone https://github.com/walrusone/SkyWarsReloaded.git
# проводишь необходимые изменения через Eclipse/{любой другой редактор кода/текста}
$ mvn package
# В папке targer/ появляется скомпилированный плагин со всеми изменениями
Я тут не совсем вижу API, хотя идея хорошая
 
А какие есть ещё варианты изменения ? Только если декомпилировать, это я пытался, ошибок много
Шутишь? Тебе человек выше написал, что исходный код находится в открытом доступе. Меняешь под себя и собираешь
 
Шутишь? Тебе человек выше написал, что исходный код находится в открытом доступе. Меняешь под себя и собираешь
По-моему они кривые, поскольку если скачать этот ZIP архив и всё как есть загрузить в IDE, ошибки будут в package, также там нету plugin.yml, config.yml и т.д.
 
По-моему они кривые, поскольку если скачать этот ZIP архив и всё как есть загрузить в IDE, ошибки будут в package, также там нету plugin.yml, config.yml и т.д.
Декомпилируешь класс который тебе нужно изменить, добавляешь оригинальный плуг как библиотеку. profit.
 
По-моему они кривые, поскольку если скачать этот ZIP архив и всё как есть загрузить в IDE, ошибки будут в package, также там нету plugin.yml, config.yml и т.д.
Maven решает проблемы зависимостей, из-за которых все IDE выдают тебе кучу ошибок
 
Назад
Верх