-2

我正在为一款名为 Minecraft 的游戏制作“力场”。我评论的是我需要帮助的内容。

if (Camb.killaura)
      {

    nchitDelay++;
        for(Object o: mc.theWorld.loadedEntityList){
    Entity e = (Entity)o;
        if(e != this && e instanceof EntitySkeleton || e instanceof EntityCow && getDistanceToEntity(e) <= killauraRange && mc.thePlayer.canEntityBeSeen(e) &&!Camb.friend.contains(e.getEntityName())){ // checking if the entity is either a skeleton or cow
        if(e.isEntityAlive()){
        if(nchitDelay >= 8){

        if(Camb.auraaimbot){
        facetoEntity(e); // facing the skeleton from an infinite distance.
        }
        if(Camb.criticals){
           if(mc.thePlayer.isSprinting()==false){
               if(mc.thePlayer.isJumping==false){
               if(mc.thePlayer.onGround){
                   mc.thePlayer.jump();
               }
               }
               }
           }
        Minecraft.SwitchToSword(mc.thePlayer.inventory.currentItem);
        swingItem();
        mc.playerController.attackEntity(this, e);
        nchitDelay = 0;
        break; 
        }
        }
        }
        }
        }
            }

因此,这个想法是,如果骷髅或牛进入距离(4 格),那么它将面对它并攻击它。一切正常,但玩家从任何距离都面对着骷髅。不仅仅是4个街区。我该如何解决?

谢谢

4

1 回答 1

1

我认为你的问题是这样的:

if (
           e != this
        && e instanceof EntitySkeleton
        || e instanceof EntityCow
        && getDistanceToEntity(e) <= killauraRange
        && mc.thePlayer.canEntityBeSeen(e)
        && !Camb.friend.contains(e.getEntityName())
   ) {

你结合了很多条件,但不是你想要的方式。运算符喜欢||&&有规则如何应用,就像2 + 2 * 1022 而不是 40。

&&优先于||就像*优先于一样+。您目前的情况意味着

(e != this && e instanceof EntitySkeleton)
||
(e instanceof EntityCow && getDistanceToEntity(e) <= killauraRange && mc.thePlayer.canEntityBeSeen(e) && !Camb.friend.contains(e.getEntityName())).

你想要的是在牛或骨架部分周围放一些括号:

if (
           e != this
        && (e instanceof EntitySkeleton || e instanceof EntityCow)
        && getDistanceToEntity(e) <= killauraRange
        && mc.thePlayer.canEntityBeSeen(e)
        && !Camb.friend.contains(e.getEntityName())
   ) {
于 2013-08-18T18:33:02.047 回答