Fixed #8659
This commit is contained in:
@@ -2,6 +2,7 @@ package mindustry.world.blocks.payloads;
|
||||
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.*;
|
||||
@@ -32,7 +33,21 @@ public abstract class BlockProducer extends PayloadBlock{
|
||||
rotate = true;
|
||||
regionRotated1 = 1;
|
||||
|
||||
consume(new ConsumeItemDynamic((BlockProducerBuild e) -> e.recipe() != null ? e.recipe().requirements : ItemStack.empty));
|
||||
ObjectMap<Block, ItemStack[]> stacks = new ObjectMap<>();
|
||||
|
||||
consume(new ConsumeItemDynamic((BlockProducerBuild e) -> {
|
||||
Block block = e.recipe();
|
||||
|
||||
if(block != null){
|
||||
ItemStack[] clone = stacks.get(block, () -> ItemStack.copy(block.requirements));
|
||||
for(int i = 0; i < clone.length; i++){
|
||||
clone[i].amount = Mathf.ceil(block.requirements[i].amount * state.rules.buildCostMultiplier);
|
||||
}
|
||||
return clone;
|
||||
}else{
|
||||
return ItemStack.empty;
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -144,7 +144,7 @@ public class PayloadDeconstructor extends PayloadBlock{
|
||||
time += edelta();
|
||||
|
||||
for(int i = 0; i < reqs.length; i++){
|
||||
accum[i] += reqs[i].amount * (payload instanceof BuildPayload ? state.rules.buildCostMultiplier : 1f) * realShift;
|
||||
accum[i] += reqs[i].amount * (payload instanceof BuildPayload ? state.rules.buildCostMultiplier : state.rules.unitCost(team)) * realShift;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user