示例#1
0
  /** Execute a one shot task or start executing a continuous task */
  public void startExecuting() {
    this.insidePosX = -1;

    if (this.entityObj.getDistanceSq(
            (double) this.doorInfo.getInsidePosX(),
            (double) this.doorInfo.posY,
            (double) this.doorInfo.getInsidePosZ())
        > 256.0D) {
      Vec3 var1 =
          RandomPositionGenerator.func_75464_a(
              this.entityObj,
              14,
              3,
              Vec3.func_72437_a()
                  .func_72345_a(
                      (double) this.doorInfo.getInsidePosX() + 0.5D,
                      (double) this.doorInfo.getInsidePosY(),
                      (double) this.doorInfo.getInsidePosZ() + 0.5D));

      if (var1 != null) {
        this.entityObj.getNavigator().tryMoveToXYZ(var1.xCoord, var1.yCoord, var1.zCoord, 0.3F);
      }
    } else {
      this.entityObj
          .getNavigator()
          .tryMoveToXYZ(
              (double) this.doorInfo.getInsidePosX() + 0.5D,
              (double) this.doorInfo.getInsidePosY(),
              (double) this.doorInfo.getInsidePosZ() + 0.5D,
              0.3F);
    }
  }