Make schematics build insulated blocks first, power nodes last (#4414)
* Make schematics build insulated blocks first, power nodes last * Add schematicPriority property to sort by * Assign schematicPriority of 10 to power diode
This commit is contained in:
@@ -788,6 +788,7 @@ public class Blocks implements ContentList{
|
|||||||
health = 130 * wallHealthMultiplier;
|
health = 130 * wallHealthMultiplier;
|
||||||
insulated = true;
|
insulated = true;
|
||||||
absorbLasers = true;
|
absorbLasers = true;
|
||||||
|
schematicPriority = 10;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
plastaniumWallLarge = new Wall("plastanium-wall-large"){{
|
plastaniumWallLarge = new Wall("plastanium-wall-large"){{
|
||||||
|
|||||||
@@ -285,7 +285,7 @@ public class Schematics implements Loadable{
|
|||||||
/** Creates an array of build requests from a schematic's data, centered on the provided x+y coordinates. */
|
/** Creates an array of build requests from a schematic's data, centered on the provided x+y coordinates. */
|
||||||
public Seq<BuildPlan> toRequests(Schematic schem, int x, int y){
|
public Seq<BuildPlan> toRequests(Schematic schem, int x, int y){
|
||||||
return schem.tiles.map(t -> new BuildPlan(t.x + x - schem.width/2, t.y + y - schem.height/2, t.rotation, t.block, t.config).original(t.x, t.y, schem.width, schem.height))
|
return schem.tiles.map(t -> new BuildPlan(t.x + x - schem.width/2, t.y + y - schem.height/2, t.rotation, t.block, t.config).original(t.x, t.y, schem.width, schem.height))
|
||||||
.removeAll(s -> (!s.block.isVisible() && !(s.block instanceof CoreBlock)) || !s.block.unlockedNow());
|
.removeAll(s -> (!s.block.isVisible() && !(s.block instanceof CoreBlock)) || !s.block.unlockedNow()).sort(Structs.comparingInt(s -> -s.block.schematicPriority));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return all the valid loadouts for a specific core type. */
|
/** @return all the valid loadouts for a specific core type. */
|
||||||
|
|||||||
@@ -145,6 +145,8 @@ public class Block extends UnlockableContent{
|
|||||||
public boolean conveyorPlacement;
|
public boolean conveyorPlacement;
|
||||||
/** Whether to swap the diagonal placement modes. */
|
/** Whether to swap the diagonal placement modes. */
|
||||||
public boolean swapDiagonalPlacement;
|
public boolean swapDiagonalPlacement;
|
||||||
|
/** Build queue priority in schematics. */
|
||||||
|
public int schematicPriority = 0;
|
||||||
/**
|
/**
|
||||||
* The color of this block when displayed on the minimap or map preview.
|
* The color of this block when displayed on the minimap or map preview.
|
||||||
* Do not set manually! This is overridden when loading for most blocks.
|
* Do not set manually! This is overridden when loading for most blocks.
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ public class PowerDiode extends Block{
|
|||||||
insulated = true;
|
insulated = true;
|
||||||
group = BlockGroup.power;
|
group = BlockGroup.power;
|
||||||
noUpdateDisabled = true;
|
noUpdateDisabled = true;
|
||||||
|
schematicPriority = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ public class PowerNode extends PowerBlock{
|
|||||||
outputsPower = false;
|
outputsPower = false;
|
||||||
canOverdrive = false;
|
canOverdrive = false;
|
||||||
swapDiagonalPlacement = true;
|
swapDiagonalPlacement = true;
|
||||||
|
schematicPriority = -10;
|
||||||
drawDisabled = false;
|
drawDisabled = false;
|
||||||
|
|
||||||
config(Integer.class, (entity, value) -> {
|
config(Integer.class, (entity, value) -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user