Как редактировать class файлы minecraft
Перейти к содержимому

Как редактировать class файлы minecraft

  • автор:

как редактировать class

просто как в текстовом редакторе. только с компиляцией декомпиляцией. без зависимостей и библиотек. просто редактировать как txt. нужно в jar впихнуть отредактированный class. как редактировать class можете просто сказать как редактировать

// Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov Date: 27.08.2019 23:38:49 // Home Page: http://members.fortunecity.com/neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version! // Decompiler options: packimports(3) // Source File Name: Freecam.java package net.halalaboos.huzuni.mod.movement; import net.minecraft.client.Minecraft; import com.mojang.authlib.GameProfile; import net.halalaboos.huzuni.Huzuni; import net.halalaboos.huzuni.api.event.EventManager; import net.halalaboos.huzuni.api.event.PlayerMoveEvent; import net.halalaboos.huzuni.api.mod.BasicMod; import net.halalaboos.huzuni.api.mod.Category; import net.halalaboos.huzuni.api.settings.Node; import net.halalaboos.huzuni.api.settings.Value; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityOtherPlayerMP; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.multiplayer.WorldClient; // Referenced classes of package net.halalaboos.huzuni.mod.movement: // Flight public class Freecam extends BasicMod < private Freecam() < super("Freecam", "Allows an individual to fly FROM THEIR BODY?", 22); oldFlying = false; setCategory(Category.MOVEMENT); setAuthor("Halalaboos"); addChildren(new Node[] < speed >); > public void toggle() < super.toggle(); if(mc.field_71439_g != null && mc.field_71441_e != null) if(isEnabled()) < oldFlying = Flight.INSTANCE.isEnabled(); fakePlayer = new EntityOtherPlayerMP(mc.field_71441_e, new GameProfile(mc.field_71439_g.func_110124_au(), mc.field_71439_g.func_70005_c_())); fakePlayer.func_82149_j(mc.field_71439_g); fakePlayer.field_71071_by = mc.field_71439_g.field_71071_by; fakePlayer.func_70080_a(mc.field_71439_g.field_70165_t, mc.field_71439_g.field_70163_u, mc.field_71439_g.field_70161_v, mc.field_71439_g.field_70177_z, mc.field_71439_g.field_70125_A); fakePlayer.field_70759_as = mc.field_71439_g.field_70759_as; mc.field_71441_e.func_73027_a(-69, fakePlayer); Flight.INSTANCE.setEnabled(true); >else < if(fakePlayer != null && mc.field_71439_g != null) < mc.field_71439_g.func_70080_a(fakePlayer.field_70165_t, fakePlayer.field_70163_u, fakePlayer.field_70161_v, fakePlayer.field_70177_z, fakePlayer.field_70125_A); mc.field_71441_e.func_73028_b(-69); Flight.INSTANCE.setEnabled(oldFlying); >if(mc.field_71439_g != null) Flight.INSTANCE.setEnabled(oldFlying); > > public void onEnable() < huzuni.eventManager.addListener(this); >public void onDisable() < huzuni.eventManager.removeListener(this); >@EventManager.EventMethod public void onPlayerMove(PlayerMoveEvent event) < mc.field_71439_g.func_70031_b(false); Flight.INSTANCE.setEnabled(true); if(fakePlayer != null) fakePlayer.func_70606_j(mc.field_71439_g.func_110143_aJ()); event.setMotionX(event.getMotionX() * (double)speed.getValue()); event.setMotionY(event.getMotionY() * (double)speed.getValue()); event.setMotionZ(event.getMotionZ() * (double)speed.getValue()); >public static final Freecam INSTANCE = new Freecam(); public final Value speed = new Value("Speed", "", 0.1F, 1.0F, 10F, "movement speed"); private boolean oldFlying; private EntityOtherPlayerMP fakePlayer; > 
// Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov Date: 27.08.2019 23:38:10 // Home Page: http://members.fortunecity.com/neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version! // Decompiler options: packimports(3) // Source File Name: FreecamHack.java package net.wurstclient.forge.hacks; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.renderer.RenderGlobal; import net.minecraft.client.settings.GameSettings; import net.minecraft.client.settings.KeyBinding; import net.minecraft.network.play.client.CPacketPlayer; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.eventhandler.EventBus; import net.wurstclient.fmlevents.*; import net.wurstclient.forge.Category; import net.wurstclient.forge.Hack; import net.wurstclient.forge.settings.SliderSetting; import net.wurstclient.forge.utils.EntityFakePlayer; import net.wurstclient.forge.utils.KeyBindingUtils; @Hack.DontSaveState public final class FreecamHack extends Hack < public FreecamHack() < super("Freecam", "Allows you to move the camera\nwithout moving your character."); speed = new SliderSetting("Speed", 1.0D, 0.050000000000000003D, 10D, 0.050000000000000003D, net.wurstclient.forge.settings.SliderSetting.ValueDisplay.DECIMAL); setCategory(Category.RENDER); addSetting(speed); >protected void onEnable() < MinecraftForge.EVENT_BUS.register(this); fakePlayer = new EntityFakePlayer(); GameSettings gs = mc.field_71474_y; KeyBinding bindings[] = < gs.field_74351_w, gs.field_74368_y, gs.field_74370_x, gs.field_74366_z, gs.field_74314_A, gs.field_74311_E >; KeyBinding akeybinding[] = bindings; int i = akeybinding.length; for(int j = 0; j < i; j++) < KeyBinding binding = akeybinding[j]; KeyBindingUtils.resetPressed(binding); >> protected void onDisable() < MinecraftForge.EVENT_BUS.unregister(this); fakePlayer.resetPlayerPosition(); fakePlayer.despawn(); mc.field_71438_f.func_72712_a(); >@SubscribeEvent public void onUpdate(WUpdateEvent event) < EntityPlayerSP player = event.getPlayer(); player.field_70159_w = 0.0D; player.field_70181_x = 0.0D; player.field_70179_y = 0.0D; player.field_70122_E = false; player.field_70747_aH = speed.getValueF(); if(mc.field_71474_y.field_74314_A.func_151470_d()) player.field_70181_x += speed.getValue(); if(mc.field_71474_y.field_74311_E.func_151470_d()) player.field_70181_x -= speed.getValue(); >@SubscribeEvent public void onPlayerMove(WPlayerMoveEvent event) < event.getPlayer().field_70145_X = true; >@SubscribeEvent public void onIsNormalCube(WIsNormalCubeEvent event) < event.setCanceled(true); >@SubscribeEvent public void onSetOpaqueCube(WSetOpaqueCubeEvent event) < event.setCanceled(true); >@SubscribeEvent public void onPacketOutput(WPacketOutputEvent event) < if(event.getPacket() instanceof CPacketPlayer) event.setCanceled(true); >private final SliderSetting speed; private EntityFakePlayer fakePlayer; > 

Как открыть и отредактировать .class файл?

Необходимо редактировать .class файл в minecraft что-бы увеличить радиус обнаружения ИИ ну и может улучшить сам ии по возможности. По умолчанию радиус поиска ии 16 блоков нужно хотя-бы 32 или выше для того что-бы мобы могли хотя бы видеть противников на свервере вооружённых куда лучше и расстреливающих их с большёго расстояния в перспективе увеличить дальность атаки скелета до 50 блоков. В конфигах ничего не нашёл вероятно всё хранится в minecraft.jar в .class файлах.

Лучший ответ

Гуглим java decompile .class
Другой вариант — найти исходники майнкрафта и их скомпилировать.
В любом случае, дело обещает быть непростым, кода очень много, но первое наверно таки проще.

SencisПрофи (504) 8 лет назад

Открыть их удалось но код непонятный вероятно он обфусцирован любые названия переменных или констант в коде набор случайных символов т. ч. придётся искать исходники.

SencisПрофи (504) 8 лет назад
Нашёл способ:
через Minecraft_Coder_Pack
хотя ещё не опробовал но наверняка подходит всем спасибо.
Остальные ответы

для начала тебе придётся декомпилировать эти файлы, получить исходники (просто текстовые файлы по сути), отредактировать их, потом заново скомпилировать

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

DJ Java Decompiler

а чё вы даже в играх честно поступать не умеете?

правду говорят, посади свинью за стол — она и ноги на стол.

Редактирование исходных классов minecraft

Есть настроенный eclipse и forge. Есть также просто декомпилированные исходники майнкрафта. Нужно изменить классы чистого майнкрафта, чтобы например мод можно было установить добавлением скомпилированных файлов мода и затронутых файлов майнкрафта с удалением manifest.
Я мод уже написал в eclipse, проверил, все работает. Но проблема в том, что когда собираешь мод для forge в конечной версии измененные классы майна не подтягиваются, то есть мод не работает, так как forge по всей видимости не внедряет измененные классы в майнкрафт. Хотелось бы вообще без forge обойтись. Вот только в джаве я не силен и как впилить изменения не знаю.

Icosider
Kotliner

Администратор
3,584 99 662
funsfox написал(а):

Есть настроенный eclipse и forge. Есть также просто декомпилированные исходники майнкрафта. Нужно изменить классы чистого майнкрафта, чтобы например мод можно было установить добавлением скомпилированных файлов мода и затронутых файлов майнкрафта с удалением manifest.
Я мод уже написал в eclipse, проверил, все работает. Но проблема в том, что когда собираешь мод для forge в конечной версии измененные классы майна не подтягиваются. Хотелось бы вообще без forge обойтись. Вот только в джаве я не силен и как впилить изменения не знаю.

D:\Forge $version\build\tmp\recompileMc\sources\net от туда берём классы и пихаем к себе в D:\Forge $version\src\main\java

Редактирование class

И так дорогие кодеры и ламеры!Прошу всех ПОМОЧЬ МНЕ!(сяп заранее) крч есть мод afraidofthe dark я его перевожу там есть не локализованные строки(тип перевести не могу)
ну я начал декомпиляцию для редактирования.Так мне при компиляции (даже когда не меняю код) выдает ошибки(вроде 100 при компиляции) че делать?Если что могу кинуть class.Скину на yadi.sk.
ClientProxy.class — вот сам class
ClientProxy.java — декомпилированный уже с переводом строк

Dazay

дак лол, а что со строчками не так?
Зачем для перевода мода — его декомпилить?
Чем lang файл не угодил?

Girl.isLook(me) ? Girl.kiss(me) : Girl.find(me);

Might

Бери inclasstranslator и меняй строки, зачем декомпилить то?

Freezenex

дак лол, а что со строчками не так?
Зачем для перевода мода — его декомпилить?
Чем lang файл не угодил?

эти строки не локализованы

Бери inclasstranslator и меняй строки, зачем декомпилить то?

он не читает (пишет нет строк)

дак лол, а что со строчками не так?
Зачем для перевода мода — его декомпилить?
Чем lang файл не угодил?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *