Added phaseweaver to recipe list
Before Width: | Height: | Size: 246 B |
After Width: | Height: | Size: 163 B |
BIN
core/assets-raw/sprites/blocks/production/phase-weaver-weave.png
Normal file
After Width: | Height: | Size: 192 B |
Before Width: | Height: | Size: 291 B After Width: | Height: | Size: 467 B |
Before Width: | Height: | Size: 208 B After Width: | Height: | Size: 263 B |
@ -290,7 +290,7 @@ text.blocks.inputcapacity=Input capacity
|
|||||||
text.blocks.outputcapacity=Output capacity
|
text.blocks.outputcapacity=Output capacity
|
||||||
text.placemode=Place Mode
|
text.placemode=Place Mode
|
||||||
text.breakmode=Break Mode
|
text.breakmode=Break Mode
|
||||||
text.health=health
|
text.health=Health
|
||||||
setting.difficulty.easy=easy
|
setting.difficulty.easy=easy
|
||||||
setting.difficulty.normal=normal
|
setting.difficulty.normal=normal
|
||||||
setting.difficulty.hard=hard
|
setting.difficulty.hard=hard
|
||||||
@ -346,12 +346,6 @@ keybind.player_list.name=player_list
|
|||||||
keybind.console.name=console
|
keybind.console.name=console
|
||||||
keybind.rotate_alt.name=rotate_alt
|
keybind.rotate_alt.name=rotate_alt
|
||||||
keybind.rotate.name=rotate
|
keybind.rotate.name=rotate
|
||||||
keybind.weapon_1.name=weapon_1
|
|
||||||
keybind.weapon_2.name=weapon_2
|
|
||||||
keybind.weapon_3.name=weapon_3
|
|
||||||
keybind.weapon_4.name=weapon_4
|
|
||||||
keybind.weapon_5.name=weapon_5
|
|
||||||
keybind.weapon_6.name=weapon_6
|
|
||||||
mode.text.help.title=Description of modes
|
mode.text.help.title=Description of modes
|
||||||
mode.waves.name=waves
|
mode.waves.name=waves
|
||||||
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
|
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
|
||||||
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 123 KiB |
@ -59,7 +59,6 @@ public class Recipes implements ContentList{
|
|||||||
new Recipe(crafting, CraftingBlocks.siliconsmelter, new ItemStack(Items.tungsten, 60), new ItemStack(Items.lead, 50));
|
new Recipe(crafting, CraftingBlocks.siliconsmelter, new ItemStack(Items.tungsten, 60), new ItemStack(Items.lead, 50));
|
||||||
|
|
||||||
//other crafting
|
//other crafting
|
||||||
//TODO phaseweaver sprites
|
|
||||||
new Recipe(crafting, CraftingBlocks.phaseweaver, new ItemStack(Items.silicon, 160), new ItemStack(Items.lead, 160), new ItemStack(Items.thorium, 150));
|
new Recipe(crafting, CraftingBlocks.phaseweaver, new ItemStack(Items.silicon, 160), new ItemStack(Items.lead, 160), new ItemStack(Items.thorium, 150));
|
||||||
//TODO implement alloy smelter
|
//TODO implement alloy smelter
|
||||||
// new Recipe(crafting, CraftingBlocks.alloySmelter, new ItemStack(Items.silicon, 160), new ItemStack(Items.lead, 160), new ItemStack(Items.thorium, 140));
|
// new Recipe(crafting, CraftingBlocks.alloySmelter, new ItemStack(Items.silicon, 160), new ItemStack(Items.lead, 160), new ItemStack(Items.thorium, 140));
|
||||||
|
@ -68,14 +68,14 @@ public class CraftingBlocks extends BlockList implements ContentList {
|
|||||||
updateEffect = BlockFx.plasticburn;
|
updateEffect = BlockFx.plasticburn;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
phaseweaver = new PowerSmelter("phase-weaver") {{
|
phaseweaver = new PhaseWeaver("phase-weaver") {{
|
||||||
health = 90;
|
health = 90;
|
||||||
craftEffect = BlockFx.smeltsmoke;
|
craftEffect = BlockFx.smeltsmoke;
|
||||||
inputs = new ItemStack[]{new ItemStack(Items.thorium, 2), new ItemStack(Items.sand, 6)};
|
inputs = new ItemStack[]{new ItemStack(Items.thorium, 4), new ItemStack(Items.sand, 10)};
|
||||||
result = Items.phasematter;
|
result = Items.phasematter;
|
||||||
powerUse = 0.4f;
|
powerUse = 0.4f;
|
||||||
craftTime = 100f;
|
craftTime = 120f;
|
||||||
size = 3;
|
size = 2;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
alloysmelter = new PowerSmelter("alloy-smelter") {{
|
alloysmelter = new PowerSmelter("alloy-smelter") {{
|
||||||
|
@ -111,7 +111,7 @@ public class ContentLoader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(Block.all().size >= 256){
|
if(Block.all().size >= 256){
|
||||||
throw new IllegalArgumentException("THE TIME HAS COME. More than 256 blocks have been created..");
|
throw new IllegalArgumentException("THE TIME HAS COME. More than 256 blocks have been created.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Log.info("--- CONTENT INFO ---");
|
Log.info("--- CONTENT INFO ---");
|
||||||
|
@ -0,0 +1,69 @@
|
|||||||
|
package io.anuke.mindustry.world.blocks.production;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||||
|
import io.anuke.mindustry.Vars;
|
||||||
|
import io.anuke.mindustry.graphics.Palette;
|
||||||
|
import io.anuke.mindustry.graphics.Shaders;
|
||||||
|
import io.anuke.mindustry.world.Tile;
|
||||||
|
import io.anuke.ucore.core.Graphics;
|
||||||
|
import io.anuke.ucore.graphics.Draw;
|
||||||
|
import io.anuke.ucore.graphics.Lines;
|
||||||
|
import io.anuke.ucore.util.Mathf;
|
||||||
|
|
||||||
|
public class PhaseWeaver extends PowerSmelter{
|
||||||
|
protected TextureRegion bottomRegion;
|
||||||
|
protected TextureRegion weaveRegion;
|
||||||
|
|
||||||
|
public PhaseWeaver(String name) {
|
||||||
|
super(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void load() {
|
||||||
|
super.load();
|
||||||
|
|
||||||
|
bottomRegion = Draw.region(name + "-bottom");
|
||||||
|
weaveRegion = Draw.region(name + "-weave");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TextureRegion[] getIcon() {
|
||||||
|
if(icon == null){
|
||||||
|
icon = new TextureRegion[]{Draw.region(name + "-bottom"), Draw.region(name)};
|
||||||
|
}
|
||||||
|
return icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draw(Tile tile) {
|
||||||
|
PowerSmelterEntity entity = tile.entity();
|
||||||
|
|
||||||
|
Draw.rect(bottomRegion, tile.drawx(), tile.drawy());
|
||||||
|
|
||||||
|
if(entity.heat > 0.001f){
|
||||||
|
float progress = 0.5f;
|
||||||
|
|
||||||
|
Shaders.build.region = weaveRegion;
|
||||||
|
Shaders.build.progress = progress;
|
||||||
|
Shaders.build.color.set(Palette.accent);
|
||||||
|
Shaders.build.time = -entity.time / 10f;
|
||||||
|
|
||||||
|
Graphics.shader(Shaders.build, false);
|
||||||
|
Shaders.build.apply();
|
||||||
|
Draw.rect(weaveRegion, tile.drawx(), tile.drawy(), entity.time);
|
||||||
|
Graphics.shader();
|
||||||
|
|
||||||
|
Draw.color(Palette.accent);
|
||||||
|
|
||||||
|
Lines.lineAngleCenter(
|
||||||
|
tile.drawx() + Mathf.sin(entity.time, 6f, Vars.tilesize / 3f * size),
|
||||||
|
tile.drawy(),
|
||||||
|
90,
|
||||||
|
size * Vars.tilesize /2f);
|
||||||
|
|
||||||
|
Draw.reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
Draw.rect(name, tile.drawx(), tile.drawy());
|
||||||
|
}
|
||||||
|
}
|
@ -100,6 +100,7 @@ public class PowerSmelter extends PowerBlock {
|
|||||||
}
|
}
|
||||||
|
|
||||||
entity.heat = Mathf.clamp(entity.heat);
|
entity.heat = Mathf.clamp(entity.heat);
|
||||||
|
entity.time += entity.heat * Timers.delta();
|
||||||
|
|
||||||
//make sure it has all the items
|
//make sure it has all the items
|
||||||
for(ItemStack item : inputs){
|
for(ItemStack item : inputs){
|
||||||
@ -191,6 +192,7 @@ public class PowerSmelter extends PowerBlock {
|
|||||||
|
|
||||||
class PowerSmelterEntity extends TileEntity{
|
class PowerSmelterEntity extends TileEntity{
|
||||||
public float heat;
|
public float heat;
|
||||||
|
public float time;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(DataOutputStream stream) throws IOException {
|
public void write(DataOutputStream stream) throws IOException {
|
||||||
|