Upgradeable cores
This commit is contained in:
@@ -9,7 +9,9 @@ import mindustry.content.*;
|
||||
import mindustry.mod.Mods.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.power.*;
|
||||
import mindustry.world.blocks.storage.*;
|
||||
import mindustry.world.consumers.*;
|
||||
import mindustry.world.meta.*;
|
||||
|
||||
import static mindustry.Vars.*;
|
||||
@@ -29,6 +31,14 @@ public class Schematic implements Publishable, Comparable<Schematic>{
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
public float powerProduction(){
|
||||
return tiles.sumf(s -> s.block instanceof PowerGenerator ? ((PowerGenerator)s.block).powerProduction : 0f);
|
||||
}
|
||||
|
||||
public float powerConsumption(){
|
||||
return tiles.sumf(s -> s.block.consumes.has(ConsumeType.power) ? s.block.consumes.getPower().usage : 0f);
|
||||
}
|
||||
|
||||
public Seq<ItemStack> requirements(){
|
||||
IntIntMap amounts = new IntIntMap();
|
||||
|
||||
|
||||
@@ -349,7 +349,7 @@ public class Schematics implements Loadable{
|
||||
Building tile = world.ent(cx, cy);
|
||||
|
||||
if(tile != null && !counted.contains(tile.pos()) && !(tile.block() instanceof BuildBlock)
|
||||
&& (tile.block().isVisible() || (tile.block() instanceof CoreBlock && Core.settings.getBool("coreselect")))){
|
||||
&& (tile.block().isVisible() || (tile.block() instanceof CoreBlock))){
|
||||
Object config = tile.config();
|
||||
|
||||
tiles.add(new Stile(tile.block(), tile.tileX() + offsetX, tile.tileY() + offsetY, config, (byte)tile.rotation()));
|
||||
@@ -388,8 +388,8 @@ public class Schematics implements Loadable{
|
||||
tile.rotation(st.rotation);
|
||||
|
||||
Object config = st.config;
|
||||
if(tile.entity != null){
|
||||
tile.entity.configureAny(config);
|
||||
if(tile.build != null){
|
||||
tile.build.configureAny(config);
|
||||
}
|
||||
|
||||
if(st.block instanceof Drill){
|
||||
@@ -408,8 +408,8 @@ public class Schematics implements Loadable{
|
||||
tile.rotation(st.rotation);
|
||||
|
||||
Object config = st.config;
|
||||
if(tile.entity != null){
|
||||
tile.entity.configureAny(config);
|
||||
if(tile.build != null){
|
||||
tile.build.configureAny(config);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user