Extra legacy block substitution / iOS fixes

This commit is contained in:
Anuken 2020-10-31 16:11:51 -04:00
parent 05dcd7622b
commit b1b03a7503
8 changed files with 31 additions and 10 deletions

View File

@ -1994,8 +1994,8 @@ public class Blocks implements ContentList{
illuminator = new LightBlock("illuminator"){{
requirements(Category.effect, BuildVisibility.lightingOnly, with(Items.graphite, 12, Items.silicon, 8));
brightness = 0.75f;
radius = 160f;
consumes.power(0.06f);
radius = 120f;
consumes.power(0.05f);
}};
//endregion
@ -2004,6 +2004,12 @@ public class Blocks implements ContentList{
//looked up by name, no ref needed
new LegacyMechPad("legacy-mech-pad");
new LegacyUnitFactory("legacy-unit-factory");
new LegacyUnitFactory("legacy-unit-factory-air"){{
replacement = Blocks.airFactory;
}};
new LegacyUnitFactory("legacy-unit-factory-ground"){{
replacement = Blocks.groundFactory;
}};
//endregion
//region campaign

View File

@ -200,8 +200,8 @@ public class World{
for(Tile tile : tiles){
//remove legacy blocks; they need to stop existing
if(tile.block() instanceof LegacyBlock){
tile.remove();
if(tile.block() instanceof LegacyBlock l){
l.removeSelf(tile);
continue;
}

View File

@ -23,7 +23,7 @@ public class BlockRenderer implements Disposable{
public static final int crackRegions = 8, maxCrackSize = 9;
private static final int initialRequests = 32 * 32;
private static final int expandr = 9;
private static final int expandr = 10;
private static final Color shadowColor = new Color(0, 0, 0, 0.71f);
public final FloorRenderer floor = new FloorRenderer();

View File

@ -24,12 +24,12 @@ public abstract class SaveFileReader{
"spirit-factory", "legacy-unit-factory",
"phantom-factory", "legacy-unit-factory",
"wraith-factory", "legacy-unit-factory",
"ghoul-factory", "legacy-unit-factory",
"revenant-factory", "legacy-unit-factory",
"ghoul-factory", "legacy-unit-factory-air",
"revenant-factory", "legacy-unit-factory-air",
"dagger-factory", "legacy-unit-factory",
"crawler-factory", "legacy-unit-factory",
"titan-factory", "legacy-unit-factory",
"fortress-factory", "legacy-unit-factory",
"titan-factory", "legacy-unit-factory-ground",
"fortress-factory", "legacy-unit-factory-ground",
"mass-conveyor", "payload-conveyor",
"vestige", "scepter",

View File

@ -617,7 +617,7 @@ public class Block extends UnlockableContent{
public ItemStack[] researchRequirements(){
ItemStack[] out = new ItemStack[requirements.length];
for(int i = 0; i < out.length; i++){
int quantity = 60 + Mathf.round(Mathf.pow(requirements[i].amount, 1.12f) * 20 * researchCostMultiplier, 10);
int quantity = 60 + Mathf.round(Mathf.pow(requirements[i].amount, 1.1f) * 20 * researchCostMultiplier, 10);
out[i] = new ItemStack(requirements[i].item, UI.roundAmount(quantity));
}

View File

@ -8,4 +8,9 @@ public class LegacyBlock extends Block{
public LegacyBlock(String name){
super(name);
}
/** Removes this block from the world, or replaces it with something else. */
public void removeSelf(Tile tile){
tile.remove();
}
}

View File

@ -1,9 +1,12 @@
package mindustry.world.blocks.legacy;
import arc.util.io.*;
import mindustry.content.*;
import mindustry.gen.*;
import mindustry.world.*;
public class LegacyUnitFactory extends LegacyBlock{
public Block replacement = Blocks.air;
public LegacyUnitFactory(String name){
super(name);
@ -13,6 +16,12 @@ public class LegacyUnitFactory extends LegacyBlock{
solid = false;
}
@Override
public void removeSelf(Tile tile){
int rot = tile.build == null ? 0 : tile.build.rotation;
tile.setBlock(replacement, tile.team(), rot);
}
public class LegacyUnitFactoryBuild extends Building{
@Override

View File

@ -23,6 +23,7 @@
<pattern>mindustry.gen.Call</pattern>
<pattern>mindustry.net.**</pattern>
<pattern>mindustry.world.blocks.**</pattern>
<pattern>mindustry.logic.**</pattern>
<pattern>com.android.okhttp.HttpHandler</pattern>
<pattern>com.android.okhttp.HttpsHandler</pattern>
<pattern>com.android.org.conscrypt.**</pattern>