Bugfixes & cleanup

This commit is contained in:
Anuken
2020-10-26 23:09:51 -04:00
parent 8d7f96bf00
commit c0d0edfc89
15 changed files with 6885 additions and 6388 deletions
+1 -19
View File
@@ -314,25 +314,7 @@ public class BlockIndexer{
/** Find the closest ore block relative to a position. */
public Tile findClosestOre(Unit unit, Item item){
if(multimine) return findClosestOre(unit.x, unit.y, item);
if(!(unit instanceof Minerc miner)) return null;
TileArray arr = getOrePositions(item);
arr.tiles.sort(t -> t.dst2(unit.x, unit.y));
for(Tile tile : arr.tiles){
for(int x = Math.max(0, tile.x - quadrantSize / 2); x < tile.x + quadrantSize / 2 && x < world.width(); x++){
for(int y = Math.max(0, tile.y - quadrantSize / 2); y < tile.y + quadrantSize / 2 && y < world.height(); y++){
Tile res = world.tile(x, y);
if(res.drop() == item && miner.validMine(res, false)){
return res;
}
}
}
}
return null;
return findClosestOre(unit.x, unit.y, item);
}
/** @return extra unit cap of a team. This is added onto the base value. */
+2 -18
View File
@@ -11,8 +11,6 @@ import mindustry.type.*;
import mindustry.world.*;
import mindustry.world.blocks.storage.CoreBlock.*;
import static mindustry.Vars.*;
public class FormationAI extends AIController implements FormationMember{
private static Seq<Tile> tiles = new Seq<>();
public Unit leader;
@@ -67,22 +65,8 @@ public class FormationAI extends AIController implements FormationMember{
}
if(unit instanceof Minerc mine && leader instanceof Minerc com){
if(com.mineTile() != null){
if(multimine){
mine.mineTile(mine.validMine(com.mineTile()) ? com.mineTile() : null);
}else{
if(mine.mineTile() == null){
tiles.clear();
com.mineTile().circle(6, (cx, cy) -> {
Tile tile = world.tile(cx, cy);
if(mine.validMine(tile) && tile.drop() == com.mineTile().drop() && tile != com.mineTile()){
tiles.add(tile);
}
});
Tile min = tiles.min(t -> t.dst2(com.mineTile()));
mine.mineTile(min);
}
}
if(com.mineTile() != null && mine.validMine(com.mineTile())){
mine.mineTile(com.mineTile());
CoreBuild core = unit.team.core();