This commit is contained in:
Anuken
2020-06-26 14:27:26 -04:00
parent eabc5c15c7
commit fdf7c88083
228 changed files with 1219 additions and 1163 deletions

View File

@@ -58,16 +58,16 @@ public abstract class Consume{
public abstract ConsumeType type();
public abstract void build(Tilec tile, Table table);
public abstract void build(Building tile, Table table);
/** Called when a consumption is triggered manually. */
public void trigger(Tilec entity){}
public void trigger(Building entity){}
public abstract String getIcon();
public abstract void update(Tilec entity);
public abstract void update(Building entity);
public abstract boolean valid(Tilec entity);
public abstract boolean valid(Building entity);
public abstract void display(BlockStats stats);
}

View File

@@ -11,10 +11,10 @@ import mindustry.ui.*;
import mindustry.world.meta.*;
public class ConsumeItemDynamic extends Consume{
public final @NonNull Func<Tilec, ItemStack[]> items;
public final @NonNull Func<Building, ItemStack[]> items;
public <T extends Tilec> ConsumeItemDynamic(Func<T, ItemStack[]> items){
this.items = (Func<Tilec, ItemStack[]>)items;
public <T extends Building> ConsumeItemDynamic(Func<T, ItemStack[]> items){
this.items = (Func<Building, ItemStack[]>)items;
}
@Override
@@ -28,7 +28,7 @@ public class ConsumeItemDynamic extends Consume{
}
@Override
public void build(Tilec tile, Table table){
public void build(Building tile, Table table){
ItemStack[][] current = {items.get(tile)};
table.update(() -> {
@@ -41,10 +41,10 @@ public class ConsumeItemDynamic extends Consume{
rebuild(tile, table);
}
private void rebuild(Tilec tile, Table table){
private void rebuild(Building tile, Table table){
for(ItemStack stack : items.get(tile)){
table.add(new ReqImage(new ItemImage(stack.item.icon(Cicon.medium), stack.amount),
() -> tile.items() != null && tile.items().has(stack.item, stack.amount))).size(8 * 4).padRight(6 * Mathf.digits(stack.amount));
() -> tile.items != null && tile.items.has(stack.item, stack.amount))).size(8 * 4).padRight(6 * Mathf.digits(stack.amount));
}
}
@@ -54,20 +54,20 @@ public class ConsumeItemDynamic extends Consume{
}
@Override
public void update(Tilec entity){
public void update(Building entity){
}
@Override
public void trigger(Tilec entity){
public void trigger(Building entity){
for(ItemStack stack : items.get(entity)){
entity.items().remove(stack);
entity.items.remove(stack);
}
}
@Override
public boolean valid(Tilec entity){
return entity.items() != null && entity.items().has(items.get(entity));
public boolean valid(Building entity){
return entity.items != null && entity.items.has(items.get(entity));
}
@Override

View File

@@ -31,10 +31,10 @@ public class ConsumeItemFilter extends Consume{
}
@Override
public void build(Tilec tile, Table table){
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),
() -> tile.items() != null && tile.items().has(item))));
() -> tile.items != null && tile.items.has(item))));
table.add(image).size(8 * 4);
}
@@ -45,26 +45,26 @@ public class ConsumeItemFilter extends Consume{
}
@Override
public void update(Tilec entity){
public void update(Building entity){
}
@Override
public void trigger(Tilec entity){
public void trigger(Building entity){
for(int i = 0; i < content.items().size; i++){
Item item = content.item(i);
if(entity.items() != null && entity.items().has(item) && this.filter.get(item)){
entity.items().remove(item, 1);
if(entity.items != null && entity.items.has(item) && this.filter.get(item)){
entity.items.remove(item, 1);
break;
}
}
}
@Override
public boolean valid(Tilec entity){
public boolean valid(Building entity){
for(int i = 0; i < content.items().size; i++){
Item item = content.item(i);
if(entity.items() != null && entity.items().has(item) && this.filter.get(item)){
if(entity.items != null && entity.items.has(item) && this.filter.get(item)){
return true;
}
}

View File

@@ -35,10 +35,10 @@ public class ConsumeItems extends Consume{
}
@Override
public void build(Tilec tile, Table table){
public void build(Building tile, Table table){
for(ItemStack stack : items){
table.add(new ReqImage(new ItemImage(stack.item.icon(Cicon.medium), stack.amount),
() -> tile.items() != null && tile.items().has(stack.item, stack.amount))).size(8 * 4).padRight(Mathf.digits(stack.amount) * 6);
() -> tile.items != null && tile.items.has(stack.item, stack.amount))).size(8 * 4).padRight(Mathf.digits(stack.amount) * 6);
}
}
@@ -48,20 +48,20 @@ public class ConsumeItems extends Consume{
}
@Override
public void update(Tilec entity){
public void update(Building entity){
}
@Override
public void trigger(Tilec entity){
public void trigger(Building entity){
for(ItemStack stack : items){
entity.items().remove(stack);
entity.items.remove(stack);
}
}
@Override
public boolean valid(Tilec entity){
return entity.items() != null && entity.items().has(items);
public boolean valid(Building entity){
return entity.items != null && entity.items.has(items);
}
@Override

View File

@@ -26,7 +26,7 @@ public class ConsumeLiquid extends ConsumeLiquidBase{
}
@Override
public void build(Tilec tile, Table table){
public void build(Building tile, Table table){
table.add(new ReqImage(liquid.icon(Cicon.medium), () -> valid(tile))).size(8 * 4);
}
@@ -36,13 +36,13 @@ public class ConsumeLiquid extends ConsumeLiquidBase{
}
@Override
public void update(Tilec entity){
entity.liquids().remove(liquid, Math.min(use(entity), entity.liquids().get(liquid)));
public void update(Building entity){
entity.liquids.remove(liquid, Math.min(use(entity), entity.liquids.get(liquid)));
}
@Override
public boolean valid(Tilec entity){
return entity != null && entity.liquids() != null && entity.liquids().get(liquid) >= use(entity);
public boolean valid(Building entity){
return entity != null && entity.liquids != null && entity.liquids.get(liquid) >= use(entity);
}
@Override

View File

@@ -22,7 +22,7 @@ public abstract class ConsumeLiquidBase extends Consume{
return ConsumeType.liquid;
}
protected float use(Tilec entity){
protected float use(Building entity){
return Math.min(amount * entity.delta(), entity.block().liquidCapacity);
}
}

View File

@@ -28,10 +28,10 @@ public class ConsumeLiquidFilter extends ConsumeLiquidBase{
}
@Override
public void build(Tilec tile, Table table){
public void build(Building tile, 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), () -> tile.liquids() != null && tile.liquids().get(liquid) >= use(tile))));
list.each(liquid -> image.add(new ReqImage(liquid.icon(Cicon.medium), () -> tile.liquids != null && tile.liquids.get(liquid) >= use(tile))));
table.add(image).size(8 * 4);
}
@@ -42,13 +42,13 @@ public class ConsumeLiquidFilter extends ConsumeLiquidBase{
}
@Override
public void update(Tilec entity){
entity.liquids().remove(entity.liquids().current(), use(entity));
public void update(Building entity){
entity.liquids.remove(entity.liquids.current(), use(entity));
}
@Override
public boolean valid(Tilec entity){
return entity != null && entity.liquids() != null && filter.get(entity.liquids().current()) && entity.liquids().currentAmount() >= use(entity);
public boolean valid(Building entity){
return entity != null && entity.liquids != null && filter.get(entity.liquids.current()) && entity.liquids.currentAmount() >= use(entity);
}
@Override

View File

@@ -30,7 +30,7 @@ public class ConsumePower extends Consume{
}
@Override
public void build(Tilec tile, Table table){
public void build(Building tile, Table table){
//No tooltip for power, for now
}
@@ -40,16 +40,16 @@ public class ConsumePower extends Consume{
}
@Override
public void update(Tilec entity){
// Nothing to do since PowerGraph directly updates entity.power().status
public void update(Building entity){
// Nothing to do since PowerGraph directly updates entity.power.status
}
@Override
public boolean valid(Tilec entity){
public boolean valid(Building entity){
if(buffered){
return true;
}else{
return entity.power().status > 0f;
return entity.power.status > 0f;
}
}
@@ -67,10 +67,10 @@ public class ConsumePower extends Consume{
* @param entity The entity which contains the power module.
* @return The amount of power which is requested per tick.
*/
public float requestedPower(Tilec entity){
public float requestedPower(Building entity){
if(entity.tile().entity == null) return 0f;
if(buffered){
return (1f-entity.power().status)*capacity;
return (1f-entity.power.status)*capacity;
}else{
try{
return usage * Mathf.num(entity.shouldConsume());

View File

@@ -52,7 +52,7 @@ public class Consumers{
}
/** Creates a consumer which only consumes power when the condition is met. */
public ConsumePower powerCond(float usage, Boolf<Tilec> cons){
public ConsumePower powerCond(float usage, Boolf<Building> cons){
return add(new ConditionalConsumePower(usage, cons));
}