Large constructor variant

This commit is contained in:
Anuken
2021-07-22 17:48:50 -04:00
parent d30c32eddc
commit bda461e480
9 changed files with 22 additions and 6 deletions

View File

@@ -394,3 +394,6 @@
63339=carbon-stone|block-carbon-stone-ui 63339=carbon-stone|block-carbon-stone-ui
63338=payload-deconstructor|block-payload-deconstructor-ui 63338=payload-deconstructor|block-payload-deconstructor-ui
63337=cliff-crusher|block-cliff-crusher-ui 63337=cliff-crusher|block-cliff-crusher-ui
63336=deconstructor|block-deconstructor-ui
63335=constructor|block-constructor-ui
63334=large-constructor|block-large-constructor-ui

Binary file not shown.

View File

@@ -96,7 +96,7 @@ public class Blocks implements ContentList{
repairPoint, repairTurret, resupplyPoint, repairPoint, repairTurret, resupplyPoint,
//payloads //payloads
payloadConveyor, payloadRouter, payloadPropulsionTower, deconstructor, constructor, blockLoader, blockUnloader, payloadConveyor, payloadRouter, payloadPropulsionTower, deconstructor, constructor, largeConstructor, blockLoader, blockUnloader,
//logic //logic
message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank, message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank,
@@ -2240,12 +2240,21 @@ public class Blocks implements ContentList{
}}; }};
constructor = new Constructor("constructor"){{ constructor = new Constructor("constructor"){{
requirements(Category.units, BuildVisibility.debugOnly, with(Items.thorium, 100)); requirements(Category.units, with(Items.thorium, 100));
hasPower = true; hasPower = true;
consumes.power(2f); consumes.power(2f);
size = 3; size = 3;
}}; }};
largeConstructor = new Constructor("large-constructor"){{
requirements(Category.units, with(Items.thorium, 100));
hasPower = true;
consumes.power(2f);
maxBlockSize = 4;
minBlockSize = 3;
size = 5;
}};
blockLoader = new BlockLoader("block-loader"){{ blockLoader = new BlockLoader("block-loader"){{
requirements(Category.units, BuildVisibility.debugOnly, with(Items.thorium, 100)); requirements(Category.units, BuildVisibility.debugOnly, with(Items.thorium, 100));
hasPower = true; hasPower = true;

View File

@@ -175,6 +175,7 @@ public class Shaders{
public static class BlockBuildShader extends LoadShader{ public static class BlockBuildShader extends LoadShader{
public float progress; public float progress;
public TextureRegion region = new TextureRegion(); public TextureRegion region = new TextureRegion();
public float time;
public BlockBuildShader(){ public BlockBuildShader(){
super("blockbuild", "default"); super("blockbuild", "default");
@@ -185,7 +186,7 @@ public class Shaders{
setUniformf("u_progress", progress); setUniformf("u_progress", progress);
setUniformf("u_uv", region.u, region.v); setUniformf("u_uv", region.u, region.v);
setUniformf("u_uv2", region.u2, region.v2); setUniformf("u_uv2", region.u2, region.v2);
setUniformf("u_time", Time.time); setUniformf("u_time", time);
setUniformf("u_texsize", region.texture.width, region.texture.height); setUniformf("u_texsize", region.texture.width, region.texture.height);
} }
} }

View File

@@ -52,7 +52,8 @@ public abstract class SaveFileReader{
"snowrock", "snow-boulder", "snowrock", "snow-boulder",
"cliffs", "stone-wall", "cliffs", "stone-wall",
"cryofluidmixer", "cryofluid-mixer" "cryofluidmixer", "cryofluid-mixer",
"block-forge", "constructor"
); );
protected final ReusableByteOutStream byteOutput = new ReusableByteOutStream(); protected final ReusableByteOutStream byteOutput = new ReusableByteOutStream();

View File

@@ -223,7 +223,6 @@ public class ClassMap{
classes.put("BallisticSilo", mindustry.world.blocks.payloads.BallisticSilo.class); classes.put("BallisticSilo", mindustry.world.blocks.payloads.BallisticSilo.class);
classes.put("BallisticSiloBuild", mindustry.world.blocks.payloads.BallisticSilo.BallisticSiloBuild.class); classes.put("BallisticSiloBuild", mindustry.world.blocks.payloads.BallisticSilo.BallisticSiloBuild.class);
classes.put("BlockForge", Constructor.class); classes.put("BlockForge", Constructor.class);
classes.put("BlockForgeBuild", Constructor.BlockForgeBuild.class);
classes.put("BlockLoader", mindustry.world.blocks.payloads.BlockLoader.class); classes.put("BlockLoader", mindustry.world.blocks.payloads.BlockLoader.class);
classes.put("BlockLoaderBuild", mindustry.world.blocks.payloads.BlockLoader.BlockLoaderBuild.class); classes.put("BlockLoaderBuild", mindustry.world.blocks.payloads.BlockLoader.BlockLoaderBuild.class);
classes.put("BlockProducer", mindustry.world.blocks.payloads.BlockProducer.class); classes.put("BlockProducer", mindustry.world.blocks.payloads.BlockProducer.class);

View File

@@ -221,6 +221,7 @@ public class ConstructBlock extends Block{
for(TextureRegion region : current.getGeneratedIcons()){ for(TextureRegion region : current.getGeneratedIcons()){
Shaders.blockbuild.region = region; Shaders.blockbuild.region = region;
Shaders.blockbuild.time = Time.time;
Shaders.blockbuild.progress = progress; Shaders.blockbuild.progress = progress;
Draw.rect(region, x, y, current.rotate ? rotdeg() : 0); Draw.rect(region, x, y, current.rotate ? rotdeg() : 0);

View File

@@ -2,6 +2,7 @@ package mindustry.world.blocks.experimental;
import mindustry.world.blocks.payloads.*; import mindustry.world.blocks.payloads.*;
/** @deprecated use Constructor instead. */
@Deprecated @Deprecated
public class BlockForge extends Constructor{ public class BlockForge extends Constructor{
@@ -10,7 +11,7 @@ public class BlockForge extends Constructor{
} }
@Deprecated @Deprecated
public class BlockForgeBuild extends Constructor.BlockForgeBuild{ public class BlockForgeBuild extends Constructor.ConstructorBuild{
} }
} }

View File

@@ -110,6 +110,7 @@ public abstract class BlockProducer extends PayloadBlock{
for(TextureRegion region : recipe.getGeneratedIcons()){ for(TextureRegion region : recipe.getGeneratedIcons()){
Shaders.blockbuild.region = region; Shaders.blockbuild.region = region;
Shaders.blockbuild.time = time;
Shaders.blockbuild.progress = progress / recipe.buildCost; Shaders.blockbuild.progress = progress / recipe.buildCost;
Draw.rect(region, x, y, recipe.rotate ? rotdeg() : 0); Draw.rect(region, x, y, recipe.rotate ? rotdeg() : 0);