Reconstructor fixes
This commit is contained in:
@@ -1763,7 +1763,6 @@ public class Blocks implements ContentList{
|
||||
size = 3;
|
||||
consumes.power(3f);
|
||||
consumes.items(ItemStack.with(Items.silicon, 40, Items.graphite, 30));
|
||||
itemCapacity = 30;
|
||||
|
||||
constructTime = 60f * 5f;
|
||||
|
||||
@@ -1781,7 +1780,6 @@ public class Blocks implements ContentList{
|
||||
size = 5;
|
||||
consumes.power(6f);
|
||||
consumes.items(ItemStack.with(Items.silicon, 120, Items.titanium, 80));
|
||||
itemCapacity = 80;
|
||||
|
||||
constructTime = 60f * 15f;
|
||||
|
||||
@@ -1799,7 +1797,6 @@ public class Blocks implements ContentList{
|
||||
consumes.power(12f);
|
||||
consumes.items(ItemStack.with(Items.silicon, 200, Items.titanium, 200, Items.surgealloy, 200));
|
||||
consumes.liquid(Liquids.cryofluid, 1f);
|
||||
itemCapacity = 300;
|
||||
|
||||
constructTime = 60f * 60f;
|
||||
|
||||
@@ -1814,7 +1811,6 @@ public class Blocks implements ContentList{
|
||||
consumes.power(25f);
|
||||
consumes.items(ItemStack.with(Items.silicon, 300, Items.plastanium, 300, Items.surgealloy, 300, Items.phasefabric, 250));
|
||||
consumes.liquid(Liquids.cryofluid, 3f);
|
||||
itemCapacity = 400;
|
||||
|
||||
constructTime = 60f * 60f * 3;
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package mindustry.world.blocks.units;
|
||||
|
||||
import arc.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
import mindustry.*;
|
||||
import mindustry.content.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.entities.units.*;
|
||||
@@ -11,6 +13,7 @@ import mindustry.graphics.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.world.blocks.payloads.*;
|
||||
import mindustry.world.consumers.*;
|
||||
import mindustry.world.meta.*;
|
||||
|
||||
import static mindustry.Vars.*;
|
||||
@@ -18,6 +21,7 @@ import static mindustry.Vars.*;
|
||||
public class Reconstructor extends UnitBlock{
|
||||
public float constructTime = 60 * 2;
|
||||
public UnitType[][] upgrades = {};
|
||||
public int[] capacities;
|
||||
|
||||
public Reconstructor(String name){
|
||||
super(name);
|
||||
@@ -30,6 +34,11 @@ public class Reconstructor extends UnitBlock{
|
||||
Draw.rect(topRegion, req.drawx(), req.drawy());
|
||||
}
|
||||
|
||||
@Override
|
||||
public TextureRegion[] generateIcons(){
|
||||
return new TextureRegion[]{Core.atlas.find(name), Core.atlas.find(name + "-out"), Core.atlas.find(name + "-top")};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBars(){
|
||||
super.setBars();
|
||||
@@ -43,6 +52,19 @@ public class Reconstructor extends UnitBlock{
|
||||
stats.add(BlockStat.productionTime, constructTime / 60f, StatUnit.seconds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(){
|
||||
capacities = new int[Vars.content.items().size];
|
||||
if(consumes.has(ConsumeType.item) && consumes.get(ConsumeType.item) instanceof ConsumeItems){
|
||||
for(ItemStack stack : consumes.<ConsumeItems>get(ConsumeType.item).items){
|
||||
capacities[stack.item.id] = Math.max(capacities[stack.item.id], stack.amount * 2);
|
||||
itemCapacity = Math.max(itemCapacity, stack.amount * 2);
|
||||
}
|
||||
}
|
||||
|
||||
super.init();
|
||||
}
|
||||
|
||||
public class ReconstructorEntity extends UnitBlockEntity{
|
||||
|
||||
public float fraction(){
|
||||
@@ -57,6 +79,11 @@ public class Reconstructor extends UnitBlock{
|
||||
&& hasUpgrade(((UnitPayload)payload).unit.type());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaximumAccepted(Item item){
|
||||
return capacities[item.id];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(){
|
||||
Draw.rect(region, x, y);
|
||||
|
||||
@@ -56,14 +56,15 @@ public class UnitFactory extends UnitBlock{
|
||||
|
||||
@Override
|
||||
public void init(){
|
||||
super.init();
|
||||
|
||||
capacities = new int[Vars.content.items().size];
|
||||
for(UnitPlan plan : plans){
|
||||
for(ItemStack stack : plan.requirements){
|
||||
capacities[stack.item.id] = Math.max(capacities[stack.item.id], stack.amount * 2);
|
||||
itemCapacity = Math.max(itemCapacity, stack.amount * 2);
|
||||
}
|
||||
}
|
||||
|
||||
super.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user