Fixed core selection in preset sectors
This commit is contained in:
@@ -330,7 +330,7 @@ public class Maps{
|
||||
}else{
|
||||
try{
|
||||
return JsonIO.read(Array.class, str);
|
||||
}catch(Exception e){
|
||||
}catch(Throwable e){
|
||||
e.printStackTrace();
|
||||
return readFilters("");
|
||||
}
|
||||
|
||||
@@ -2,11 +2,10 @@ package mindustry.maps.filters;
|
||||
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import mindustry.maps.filters.FilterOption.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.storage.*;
|
||||
|
||||
import static mindustry.Vars.*;
|
||||
import static mindustry.Vars.state;
|
||||
|
||||
/** Selects X spawns from the core spawn pool.*/
|
||||
public class CoreSpawnFilter extends GenerateFilter{
|
||||
@@ -15,7 +14,8 @@ public class CoreSpawnFilter extends GenerateFilter{
|
||||
@Override
|
||||
public FilterOption[] options(){
|
||||
return Structs.arr(
|
||||
new SliderOption("amount", () -> amount, f -> amount = (int)f, 1, 10).display()
|
||||
//disabled until necessary
|
||||
// SliderOption("amount", () -> amount, f -> amount = (int)f, 1, 10).display()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ public class CoreSpawnFilter extends GenerateFilter{
|
||||
public void apply(Tiles tiles, GenerateInput in){
|
||||
IntArray spawns = new IntArray();
|
||||
for(Tile tile : tiles){
|
||||
if(tile.team() == state.rules.defaultTeam && tile.block() instanceof CoreBlock){
|
||||
if(tile.team() == state.rules.defaultTeam && tile.block() instanceof CoreBlock && tile.isCenter()){
|
||||
spawns.add(tile.pos());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,8 +24,9 @@ public class FileMapGenerator implements WorldGenerator{
|
||||
public void generate(Tiles tiles){
|
||||
if(map == null) throw new RuntimeException("Generator has null map, cannot be used.");
|
||||
|
||||
SaveIO.load(map.file);
|
||||
world.beginMapLoad();
|
||||
world.setGenerating(false);
|
||||
SaveIO.load(map.file, world.filterContext(map));
|
||||
world.setGenerating(true);
|
||||
|
||||
tiles = world.tiles;
|
||||
|
||||
@@ -52,14 +53,14 @@ public class FileMapGenerator implements WorldGenerator{
|
||||
});
|
||||
}
|
||||
|
||||
if(tile.block() instanceof CoreBlock && tile.team() == state.rules.defaultTeam && !anyCores){
|
||||
if(tile.isCenter() && tile.block() instanceof CoreBlock && tile.team() == state.rules.defaultTeam && !anyCores){
|
||||
//TODO PLACE THE (CORRECT) LOADOUT
|
||||
Schematics.placeLoadout(Loadouts.basicShard, tile.x, tile.y);
|
||||
anyCores = true;
|
||||
}
|
||||
|
||||
//add random decoration
|
||||
if(Mathf.chance(0.01) && !tile.floor().isLiquid && tile.block() == Blocks.air){
|
||||
if(Mathf.chance(0.015) && !tile.floor().isLiquid && tile.block() == Blocks.air){
|
||||
tile.setBlock(tile.floor().decoration);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user