Fixed spawn/core select filters
|
|
@ -373,6 +373,8 @@ toolmode.drawteams.description = Draw teams instead of blocks.
|
|||
filters.empty = [lightgray]No filters! Add one with the button below.
|
||||
filter.distort = Distort
|
||||
filter.noise = Noise
|
||||
filter.enemyspawn = Spawn Select
|
||||
filter.corespawn = Core Select
|
||||
filter.median = Median
|
||||
filter.oremedian = Ore Median
|
||||
filter.blend = Blend
|
||||
|
|
@ -392,6 +394,7 @@ filter.option.circle-scale = Circle Scale
|
|||
filter.option.octaves = Octaves
|
||||
filter.option.falloff = Falloff
|
||||
filter.option.angle = Angle
|
||||
filter.option.amount = Amount
|
||||
filter.option.block = Block
|
||||
filter.option.floor = Floor
|
||||
filter.option.flooronto = Target Floor
|
||||
|
|
@ -795,6 +798,7 @@ liquid.temperature = [lightgray]Temperature: {0}
|
|||
|
||||
block.sand-boulder.name = Sand Boulder
|
||||
block.grass.name = Grass
|
||||
block.slag.name = Slag
|
||||
block.salt.name = Salt
|
||||
block.saltrocks.name = Salt Rocks
|
||||
block.pebbles.name = Pebbles
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 739 B After Width: | Height: | Size: 743 B |
|
Before Width: | Height: | Size: 720 KiB After Width: | Height: | Size: 719 KiB |
|
Before Width: | Height: | Size: 260 KiB After Width: | Height: | Size: 260 KiB |
|
Before Width: | Height: | Size: 888 KiB After Width: | Height: | Size: 888 KiB |
|
|
@ -30,7 +30,7 @@ public class MapGenerateDialog extends FloatingDialog{
|
|||
private final Prov<GenerateFilter>[] filterTypes = new Prov[]{
|
||||
NoiseFilter::new, ScatterFilter::new, TerrainFilter::new, DistortFilter::new,
|
||||
RiverNoiseFilter::new, OreFilter::new, OreMedianFilter::new, MedianFilter::new,
|
||||
BlendFilter::new, MirrorFilter::new, ClearFilter::new
|
||||
BlendFilter::new, MirrorFilter::new, ClearFilter::new, CoreSpawnFilter::new, EnemySpawnFilter::new
|
||||
};
|
||||
private final MapEditor editor;
|
||||
private final boolean applied;
|
||||
|
|
@ -292,7 +292,7 @@ public class MapGenerateDialog extends FloatingDialog{
|
|||
for(Prov<GenerateFilter> gen : filterTypes){
|
||||
GenerateFilter filter = gen.get();
|
||||
|
||||
if(!applied && filter.isBuffered()) continue;
|
||||
if((!applied && filter.isBuffered()) || (filter.isPost() && applied)) continue;
|
||||
|
||||
selection.cont.addButton(filter.name(), () -> {
|
||||
filters.add(filter);
|
||||
|
|
|
|||
|
|
@ -1,24 +1,20 @@
|
|||
package io.anuke.mindustry.graphics;
|
||||
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.collection.Array;
|
||||
import io.anuke.arc.func.Floatc2;
|
||||
import io.anuke.arc.graphics.Camera;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.func.*;
|
||||
import io.anuke.arc.graphics.*;
|
||||
import io.anuke.arc.graphics.g2d.*;
|
||||
import io.anuke.arc.graphics.glutils.FrameBuffer;
|
||||
import io.anuke.arc.graphics.glutils.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.scene.ui.layout.Scl;
|
||||
import io.anuke.arc.scene.ui.layout.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.noise.RidgedPerlin;
|
||||
import io.anuke.arc.util.noise.Simplex;
|
||||
import io.anuke.mindustry.content.Blocks;
|
||||
import io.anuke.mindustry.content.UnitTypes;
|
||||
import io.anuke.mindustry.type.UnitType;
|
||||
import io.anuke.mindustry.ui.Cicon;
|
||||
import io.anuke.arc.util.noise.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.type.*;
|
||||
import io.anuke.mindustry.ui.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.Floor;
|
||||
import io.anuke.mindustry.world.blocks.OreBlock;
|
||||
import io.anuke.mindustry.world.blocks.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
|
|
@ -158,7 +154,7 @@ public class MenuRenderer implements Disposable{
|
|||
tiles.set(x, y, (tile = new CachedTile()));
|
||||
tile.x = (short)x;
|
||||
tile.y = (short)y;
|
||||
tile.setFloor((Floor) floor);
|
||||
tile.setFloor(floor.asFloor());
|
||||
tile.setBlock(wall);
|
||||
tile.setOverlay(ore);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@ package io.anuke.mindustry.maps.filters;
|
|||
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.maps.filters.FilterOption.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
import io.anuke.mindustry.world.blocks.storage.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.defaultTeam;
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
/** Selects X spawns from the core spawn pool.*/
|
||||
public class CoreSpawnFilter extends GenerateFilter{
|
||||
|
|
@ -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.getTeam() == defaultTeam){
|
||||
if(tile.getTeam() == defaultTeam && tile.block() instanceof CoreBlock){
|
||||
spawns.add(tile.pos());
|
||||
}
|
||||
}
|
||||
|
|
@ -33,7 +33,7 @@ public class CoreSpawnFilter extends GenerateFilter{
|
|||
int used = Math.min(spawns.size, amount);
|
||||
for(int i = used; i < spawns.size; i++){
|
||||
Tile tile = tiles.getp(spawns.get(i));
|
||||
tile.setBlock(Blocks.air);
|
||||
world.removeBlock(tile);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import io.anuke.arc.math.*;
|
|||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.arc.util.noise.*;
|
||||
import io.anuke.mindustry.content.*;
|
||||
import io.anuke.mindustry.world.*;
|
||||
|
||||
public abstract class GenerateFilter{
|
||||
|
|
@ -19,7 +20,7 @@ public abstract class GenerateFilter{
|
|||
apply();
|
||||
|
||||
tile.setFloor(in.floor.asFloor());
|
||||
tile.setOverlay(in.ore);
|
||||
tile.setOverlay(in.floor.asFloor().isLiquid ? Blocks.air : in.ore);
|
||||
|
||||
if(!tile.block().synthetic() && !in.block.synthetic()){
|
||||
tile.setBlock(in.block);
|
||||
|
|
|
|||