2016-11-24 34 views
0

因此,我正在尝试为Minecraft 1.10版本创建一个被黑客户端(仅用于学习Java),但我已经点击了一个块。我已经能够做出许多不同类型的攻击,例如KillAura,Nuker等,但我似乎无法弄清楚如何提高玩家的移动速度。再次,我只是在学习Java和看Minecraft如何工作。这里是我到目前为止已经试过(全部参考文献的以MC是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所有不同的教程YouTube上的牛逼1.8,我试图适应1.10(如果需要的话我会链接到不同的教程更新)

更新 有在代码中没有错误,没有创建的踪迹,我只是没有得到期望的效果。随着尝试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.4倍,y轴增加他们的速度将会改变,使他们跳跃,但也让他们进一步提高他们的速度,因为他们将不会在空气中持续很长时间。这也可以作为一些不良反转的旁路。

对于较新的版本(1.11+)使用播放器而不是播放器