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

Помогите *.java to *.class

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

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

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

    Баллы:
    31
    Имя в Minecraft:
    Rbiter
    Скачал плагин для ограничения на команды worldedit игрокам. Перевел через in class translat-ора. Но оказалось что перевести корректно им довольно трудно и во время теста на частый сет выдавало:
    -Нельзя сетить так часто!50"иероглиф"
    Решил декомпилировать. С декомпиляцией проблем не было, но вопрос в том как собрать обратно?
    Как это дело скомпилировать?
    Или как можно в .class файле редактировать код java?
    Нужно всего у строчки:
    sender.sendMessage(ChatColor.RED + "Нельзя сетить так часто!" + this.delay + "\r\n");
    Убрать:
    + this.delay + "\r\n"
    Что делать?
    Прошу прощение за тупые вопросы. В JAVA только залез и еще не сильно разобрался, а инфы по теме мало...
     
  2. Хостинг MineCraft
    <
  3. LomNar

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

    Баллы:
    78
    Skype:
    radius981
    Имя в Minecraft:
    LomNar
    Что за плагин?
     
  4. Автор темы
    Rbiter

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

    Баллы:
    31
    Имя в Minecraft:
    Rbiter
    LimitedWorldEdit
     
  5. oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Переводишь через InClassTranslator, лишнего не трогаешь - проблем с отображением не возникнет.
    Если не шаришь в этом, то про компиляцию даже говорить не буду, лучше ICT пользуйся
     
  6. GoodCoder

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

    Баллы:
    76
    В IDE создайте проект, закиньте исходники, подключите в либы ваше ядро и соберите.
     
  7. Автор темы
    Rbiter

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

    Баллы:
    31
    Имя в Minecraft:
    Rbiter
    Можно не умничать по поводу ict. Там невозможно сделать то что мне нужно. Код как мне нужно я поправил. Осталось только скомпилировать 1 class файл...[DOUBLEPOST=1449135357,1449135216][/DOUBLEPOST]Пробовал через эклипс. В коде почв куча ошибок, ну почти все решаются. Но помимо баккит апи требует wg api и we api найти их не смог. Компиляция и с ошибками проходит но полученные класс файлы не работают...
     
  8. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
  9. oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Деокпилируешь плагин через FernFlower (Если нет исходников от автора), создаешь в эклипсе проект, грузишь туда исходники, удаляешь все файлы и пакеты ненужные (Оставив только тот класс что тебе нужно изменить и пакет в котором он лежит, подключаешь исходную версию этого плагина библиотекой, подключаешь так-же библиотекой API ядра, WG и WE. Исправляешь как нужно и экспортируешь. Потом просто этот класс в оригинальный плагин грузишь.

    Все API и плагины бери тут https://github.com/gamerforEA/EventHelper/tree/master/lib
     
  10. Автор темы
    Rbiter

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

    Баллы:
    31
    Имя в Minecraft:
    Rbiter
    Оо, спс, скомпилировать получилось)) Как на этом форуме + в репу кинуть?)

    Еще вопрос. Скомпелированный плаги

    Код:
    [09:53:50] [Server thread/INFO]: rbiter issued server command: //set 0
    [09:53:50] [Server thread/ERROR]: Could not pass event PlayerCommandPreprocessEvent to LimitedWorldEdit v1.0.7
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[server.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[server.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [server.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [server.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PlayerConnection.handleCommand(PlayerConnection.java:1107) [server.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:950) [server.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:26) [server.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:53) [server.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [server.jar:git-Spigot-c3c767f-33d5de3]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_66]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_66]
        at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [server.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [server.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [server.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [server.jar:git-Spigot-c3c767f-33d5de3]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]
    Caused by: java.lang.Error: Unresolved compilation problems:
        Syntax error, insert ". class" to complete Expression
        The left-hand side of an assignment must be a variable
        Syntax error on token "&&", invalid Expression
        Syntax error on token "+", ++ expected
    
        at com.james137137.LimitedWorldEdit.LimitedWorldEdit.CanWorldEdit(LimitedWorldEdit.java:153) ~[?:?]
        at com.james137137.LimitedWorldEdit.LimitedWorldEditListener.onPlayerCommand(LimitedWorldEditListener.java:51) ~[?:?]
        at sun.reflect.GeneratedMethodAccessor543.invoke(Unknown Source) ~[?:?]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_66]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[server.jar:git-Spigot-c3c767f-33d5de3]
        ... 15 more
    н не работает а в консоль вышибает:[DOUBLEPOST=1449155042,1449154533][/DOUBLEPOST]Это я плагин сломал) Терь все работает) Спасибо большое!!!))))
     

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