Skip to content

Commit 97eee51

Browse files
committed
more nullguards, shouldn't happen but doesn't harm either
1 parent d1a6767 commit 97eee51

File tree

1 file changed

+40
-40
lines changed

1 file changed

+40
-40
lines changed

src/main/java/bwapi/CommandTemp.java

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -442,9 +442,9 @@ else if(!unit.getType().isBuilding()) {
442442
unit.self().isGathering.set(true, frame);
443443

444444
// @TODO: Fully time and test this order
445-
if (target.getType().isMineralField())
445+
if (target != null && target.exists() && target.getType().isMineralField())
446446
unit.self().order.set(Order.MoveToMinerals, frame);
447-
else if (target.getType().isRefinery())
447+
else if (target != null && target.exists() && target.getType().isRefinery())
448448
unit.self().order.set(Order.MoveToGas, frame);
449449

450450
break;
@@ -501,7 +501,7 @@ else if (unit.getType().spaceProvided() != 0) {
501501
unit.self().order.set(Order.PickupTransport, frame);
502502
unit.self().target.set(getUnitID(target), frame);
503503
}
504-
else if (target.getType().spaceProvided() != 0) {
504+
else if (target != null && target.exists() && target.getType().spaceProvided() != 0) {
505505
unit.self().order.set(Order.EnterTransport, frame);
506506
unit.self().target.set(getUnitID(target), frame);
507507
}
@@ -647,31 +647,29 @@ else if (target.getType().spaceProvided() != 0) {
647647

648648
// RLF
649649
case Right_Click_Unit:
650-
unit.self().target.set(getUnitID(target), frame);
651-
unit.self().isIdle.set(false, frame);
652-
unit.self().isMoving.set(true, frame);
653-
654-
if (unit.getType().isWorker() && target.getType().isMineralField()) {
655-
unit.self().isGathering.set(true, frame);
656-
unit.self().order.set(Order.MoveToMinerals, frame);
657-
}
658-
else if (unit.getType().isWorker() && target.getType().isRefinery()) {
659-
unit.self().isGathering.set(true, frame);
660-
unit.self().order.set(Order.MoveToGas, frame);
661-
}
662-
else if (unit.getType().isWorker() && target.getType().getRace() == Race.Terran &&
663-
target.getType().whatBuilds().getFirst() == unit.getType() && !target.isCompleted()) {
664-
unit.self().order.set(Order.ConstructingBuilding, frame);
665-
unit.self().buildUnit.set(getUnitID(target), frame);
666-
target.self().buildUnit.set(getUnitID(unit), frame);
667-
unit.self().isConstructing.set(true, frame);
668-
target.self().isConstructing.set(true, frame);
669-
}
670-
else if (unit.getType().canAttack() && target.getPlayer() != unit.getPlayer() && !target.getType().isNeutral()) {
671-
unit.self().order.set(Order.AttackUnit, frame);
672-
}
673-
else if(unit.getType().canMove()) {
674-
unit.self().order.set(Order.Follow, frame);
650+
if (target != null && target.exists()) {
651+
unit.self().target.set(getUnitID(target), frame);
652+
unit.self().isIdle.set(false, frame);
653+
unit.self().isMoving.set(true, frame);
654+
655+
if (unit.getType().isWorker() && target.getType().isMineralField()) {
656+
unit.self().isGathering.set(true, frame);
657+
unit.self().order.set(Order.MoveToMinerals, frame);
658+
} else if (unit.getType().isWorker() && target.getType().isRefinery()) {
659+
unit.self().isGathering.set(true, frame);
660+
unit.self().order.set(Order.MoveToGas, frame);
661+
} else if (unit.getType().isWorker() && target.getType().getRace() == Race.Terran &&
662+
target.getType().whatBuilds().getFirst() == unit.getType() && !target.isCompleted()) {
663+
unit.self().order.set(Order.ConstructingBuilding, frame);
664+
unit.self().buildUnit.set(getUnitID(target), frame);
665+
target.self().buildUnit.set(getUnitID(unit), frame);
666+
unit.self().isConstructing.set(true, frame);
667+
target.self().isConstructing.set(true, frame);
668+
} else if (unit.getType().canAttack() && target.getPlayer() != unit.getPlayer() && !target.getType().isNeutral()) {
669+
unit.self().order.set(Order.AttackUnit, frame);
670+
} else if (unit.getType().canMove()) {
671+
unit.self().order.set(Order.Follow, frame);
672+
}
675673
}
676674

677675
break;
@@ -828,23 +826,25 @@ else if(unit.getType().canMove()) {
828826

829827
// RLF
830828
case Use_Tech_Unit: {
831-
TechType techType = TechType.idToEnum[command.extra];
829+
if (target != null && target.exists()) {
830+
TechType techType = TechType.idToEnum[command.extra];
832831

833-
if (!techType.targetsUnit()) {
834-
return;
835-
}
832+
if (!techType.targetsUnit()) {
833+
return;
834+
}
836835

837-
unit.self().order.set(techType.getOrder(), frame);
838-
unit.self().orderTarget.set(getUnitID(target), frame);
836+
unit.self().order.set(techType.getOrder(), frame);
837+
unit.self().orderTarget.set(getUnitID(target), frame);
839838

840-
Position targetPosition = target.getPosition();
839+
Position targetPosition = target.getPosition();
841840

842-
unit.self().targetPositionX.set(targetPosition.x, frame);
843-
unit.self().targetPositionY.set(targetPosition.y, frame);
844-
unit.self().orderTargetPositionX.set(targetPosition.x, frame);
845-
unit.self().orderTargetPositionY.set(targetPosition.y, frame);
841+
unit.self().targetPositionX.set(targetPosition.x, frame);
842+
unit.self().targetPositionY.set(targetPosition.y, frame);
843+
unit.self().orderTargetPositionX.set(targetPosition.x, frame);
844+
unit.self().orderTargetPositionY.set(targetPosition.y, frame);
846845

847-
break;
846+
break;
847+
}
848848
}
849849
}
850850
}

0 commit comments

Comments
 (0)