Fixed #8659
This commit is contained in:
@@ -2,6 +2,7 @@ package mindustry.world.blocks.payloads;
|
|||||||
|
|
||||||
import arc.graphics.g2d.*;
|
import arc.graphics.g2d.*;
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
|
import arc.struct.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.io.*;
|
import arc.util.io.*;
|
||||||
import mindustry.*;
|
import mindustry.*;
|
||||||
@@ -32,7 +33,21 @@ public abstract class BlockProducer extends PayloadBlock{
|
|||||||
rotate = true;
|
rotate = true;
|
||||||
regionRotated1 = 1;
|
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
|
@Override
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ public class PayloadDeconstructor extends PayloadBlock{
|
|||||||
time += edelta();
|
time += edelta();
|
||||||
|
|
||||||
for(int i = 0; i < reqs.length; i++){
|
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