Partial 7.0 merge - API preview
This commit is contained in:
@@ -8,10 +8,10 @@ import mindustry.world.meta.*;
|
||||
/** An abstract class that defines a type of resource that a block can consume. */
|
||||
public abstract class Consume{
|
||||
/** If true, this consumer will not influence consumer validity. */
|
||||
protected boolean optional;
|
||||
public boolean optional;
|
||||
/** If true, this consumer will be displayed as a boost input. */
|
||||
protected boolean booster;
|
||||
protected boolean update = true;
|
||||
public boolean booster;
|
||||
public boolean update = true;
|
||||
|
||||
/**
|
||||
* Apply a filter to items accepted.
|
||||
|
||||
@@ -46,7 +46,7 @@ public class ConsumeItemDynamic extends Consume{
|
||||
int i = 0;
|
||||
|
||||
for(ItemStack stack : items.get(tile)){
|
||||
table.add(new ReqImage(new ItemImage(stack.item.icon(Cicon.medium), stack.amount),
|
||||
table.add(new ReqImage(new ItemImage(stack.item.uiIcon, stack.amount),
|
||||
() -> tile.items != null && tile.items.has(stack.item, stack.amount))).padRight(8).left();
|
||||
if(++i % 4 == 0) table.row();
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import mindustry.gen.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.world.meta.*;
|
||||
import mindustry.world.meta.values.*;
|
||||
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
@@ -31,7 +30,7 @@ public class ConsumeItemFilter extends Consume{
|
||||
@Override
|
||||
public void build(Building tile, Table table){
|
||||
MultiReqImage image = new MultiReqImage();
|
||||
content.items().each(i -> filter.get(i) && i.unlockedNow(), item -> image.add(new ReqImage(new ItemImage(item.icon(Cicon.medium), 1),
|
||||
content.items().each(i -> filter.get(i) && i.unlockedNow(), item -> image.add(new ReqImage(new ItemImage(item.uiIcon, 1),
|
||||
() -> tile.items != null && tile.items.has(item))));
|
||||
|
||||
table.add(image).size(8 * 4);
|
||||
@@ -71,6 +70,6 @@ public class ConsumeItemFilter extends Consume{
|
||||
|
||||
@Override
|
||||
public void display(Stats stats){
|
||||
stats.add(booster ? Stat.booster : Stat.input, new ItemFilterValue(filter));
|
||||
stats.add(booster ? Stat.booster : Stat.input, stats.timePeriod < 0 ? StatValues.items(filter) : StatValues.items(stats.timePeriod, filter));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import mindustry.gen.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.world.meta.*;
|
||||
import mindustry.world.meta.values.*;
|
||||
|
||||
public class ConsumeItems extends Consume{
|
||||
public final ItemStack[] items;
|
||||
@@ -22,7 +21,7 @@ public class ConsumeItems extends Consume{
|
||||
|
||||
@Override
|
||||
public void applyItemFilter(Bits filter){
|
||||
for(ItemStack stack : items){
|
||||
for(var stack : items){
|
||||
filter.set(stack.item.id);
|
||||
}
|
||||
}
|
||||
@@ -36,10 +35,10 @@ public class ConsumeItems extends Consume{
|
||||
public void build(Building tile, Table table){
|
||||
table.table(c -> {
|
||||
int i = 0;
|
||||
for(ItemStack stack : items){
|
||||
c.add(new ReqImage(new ItemImage(stack.item.icon(Cicon.medium), stack.amount),
|
||||
for(var stack : items){
|
||||
c.add(new ReqImage(new ItemImage(stack.item.uiIcon, stack.amount),
|
||||
() -> tile.items != null && tile.items.has(stack.item, stack.amount))).padRight(8);
|
||||
if(++i % 4 == 0) table.row();
|
||||
if(++i % 4 == 0) c.row();
|
||||
}
|
||||
}).left();
|
||||
}
|
||||
@@ -56,7 +55,7 @@ public class ConsumeItems extends Consume{
|
||||
|
||||
@Override
|
||||
public void trigger(Building entity){
|
||||
for(ItemStack stack : items){
|
||||
for(var stack : items){
|
||||
entity.items.remove(stack);
|
||||
}
|
||||
}
|
||||
@@ -68,6 +67,6 @@ public class ConsumeItems extends Consume{
|
||||
|
||||
@Override
|
||||
public void display(Stats stats){
|
||||
stats.add(booster ? Stat.booster : Stat.input, new ItemListValue(items));
|
||||
stats.add(booster ? Stat.booster : Stat.input, stats.timePeriod < 0 ? StatValues.items(items) : StatValues.items(stats.timePeriod, items));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ import mindustry.type.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.world.meta.*;
|
||||
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class ConsumeLiquid extends ConsumeLiquidBase{
|
||||
public final Liquid liquid;
|
||||
|
||||
@@ -26,7 +28,7 @@ public class ConsumeLiquid extends ConsumeLiquidBase{
|
||||
|
||||
@Override
|
||||
public void build(Building tile, Table table){
|
||||
table.add(new ReqImage(liquid.icon(Cicon.medium), () -> valid(tile))).size(8 * 4);
|
||||
table.add(new ReqImage(liquid.uiIcon, () -> valid(tile))).size(iconMed).top().left();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -7,7 +7,6 @@ import mindustry.gen.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.ui.*;
|
||||
import mindustry.world.meta.*;
|
||||
import mindustry.world.meta.values.*;
|
||||
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
@@ -28,7 +27,7 @@ public class ConsumeLiquidFilter extends ConsumeLiquidBase{
|
||||
public void build(Building build, Table table){
|
||||
Seq<Liquid> list = content.liquids().select(l -> !l.isHidden() && filter.get(l));
|
||||
MultiReqImage image = new MultiReqImage();
|
||||
list.each(liquid -> image.add(new ReqImage(liquid.icon(Cicon.medium), () ->
|
||||
list.each(liquid -> image.add(new ReqImage(liquid.uiIcon, () ->
|
||||
build.liquids != null && build.liquids.current() == liquid && build.liquids.get(liquid) >= Math.max(use(build), amount * build.delta()))));
|
||||
|
||||
table.add(image).size(8 * 4);
|
||||
@@ -51,6 +50,6 @@ public class ConsumeLiquidFilter extends ConsumeLiquidBase{
|
||||
|
||||
@Override
|
||||
public void display(Stats stats){
|
||||
stats.add(booster ? Stat.booster : Stat.input, new LiquidFilterValue(filter, amount * 60f, true));
|
||||
stats.add(booster ? Stat.booster : Stat.input, StatValues.liquids(filter, amount * 60f, true));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user