2016-11-24 3 views
0

Итак, я пытаюсь сделать взломанный клиент для Minecraft версии 1.10 (только для изучения Java), но я ударил немного блока. Я смог сделать много разных видов хаков, таких как KillAura, Nuker и т. Д., Но я не могу понять, как увеличить скорость движения игрока. Опять же, я просто делаю это, чтобы изучить Java и посмотреть, как работает Minecraft. Вот то, что я пытался до сих пор (все refferences Мс являются Minecraft.getMinecraft()):Как закодировать скорость взлома на Minecraft 1.10?

Попытка 1:

public void onUpdate() { 
    if (!this.getState()) return; 

    if (mc.thePlayer.moveForward > 0.0F) { 
     mc.thePlayer.moveForward = 20F; 
    } 
} 

Покушение 2 (Некоторый успех, но экспоненциальное увеличение скорости является нежелательным):

public void onUpdate() { 
    if (!this.getState()) return; 

    if (mc.thePlayer.moveForward > 0.0F) { 
     mc.thePlayer.motionX *= 2; 
     mc.thePlayer.motionZ *= 2; 
    } 
} 

Покушение 3:

public void onUpdate() { 
    if (!this.getState()) return; 

    if (mc.thePlayer.moveForward > 0.0F && mc.thePlayer.moveForward < 10F) { 
     mc.thePlayer.motionX *= 2; 
     mc.thePlayer.motionZ *= 2; 
    } 
} 

Попытки 4+ все были разные учебники для Minecraf т 1,8 на YouTube, что я пытался адаптироваться к 1.10 (я буду обновлять ссылки на различные учебные пособия, если это необходимо)

Update Там нет ошибки в коде, не stacktraces, которые создаются, я я просто не получаю желаемый эффект. С попыткой 1 и попытками 4+ ничто не изменило игровой процесс при активации взлома. С попытками 2 и 3 движение игрока было увеличено, но это было экспоненциальное (возможно, не правильное слово) увеличение, которое я не мог ограничить. Ни один из них не является желаемым эффектом, и я не мог бы получить какой-либо рабочий код, не приводя к сбою игры из-за крайнего отставания в мировом поколении (из-за скорости).

Заранее благодарим за любую помощь!

P.S. Извините за длинный пост

+2

В чем проблема? есть ли у вас какие-либо ошибки? – khuderm

+0

Мы не можем воспроизвести вашу проблему с этой информацией. Возможно, вам следует прочитать [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) – Thrasher

+0

Каково первоначальное значение mc.thePlayer.motionX, если он движется? Если это 1,0, например, вы можете просто «if (mc.thePlayer.motionX == 1.0) mc.thePlayer.motionX = 2;' удвоить скорость. –

ответ

0
@Override 
public void onUpdate() { 
    if((mc.thePlayer.moveForward != 0 || mc.thePlayer.moveStrafing != 0) 
      && !mc.thePlayer.isSneaking() && mc.thePlayer.onGround) { 
      mc.thePlayer.jump(); 
      mc.thePlayer.motionX *= 1.4; 
      mc.thePlayer.motionY *= 0.4; 
      mc.thePlayer.motionZ *= 1.4; 
    } 
} 

Этот код будет проверить, является ли игрок находится на земле, двигаясь и не подлый, а затем увеличит их скорость по умолчанию 1.4x и оси у будут изменены, чтобы сделать их но также позволяет им увеличивать свою скорость еще больше, так как они не будут в воздухе так долго. Это может также действовать как обход к некоторым неприятным антихристам.

Для более новых версий (1.11+) используйте плеер вместо плеера