mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-02-12 03:37:27 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
a04e7d5612
@ -36,7 +36,10 @@ public class BlockForge extends PayloadAcceptor{
|
||||
hasPower = true;
|
||||
rotate = true;
|
||||
|
||||
config(Block.class, (BlockForgeBuild tile, Block block) -> tile.recipe = block);
|
||||
config(Block.class, (BlockForgeBuild tile, Block block) -> {
|
||||
if(tile.recipe != block) tile.progress = 0f;
|
||||
tile.recipe = block;
|
||||
});
|
||||
|
||||
consumes.add(new ConsumeItemDynamic((BlockForgeBuild e) -> e.recipe != null ? e.recipe.requirements : ItemStack.empty));
|
||||
}
|
||||
@ -95,8 +98,6 @@ public class BlockForge extends PayloadAcceptor{
|
||||
payVector.setZero();
|
||||
progress = 0f;
|
||||
}
|
||||
}else{
|
||||
progress = 0;
|
||||
}
|
||||
|
||||
heat = Mathf.lerpDelta(heat, Mathf.num(produce), 0.3f);
|
||||
|
@ -18,6 +18,7 @@ public class BlockLoader extends PayloadAcceptor{
|
||||
public float loadTime = 2f;
|
||||
public int itemsLoaded = 5;
|
||||
public float liquidsLoaded = 5f;
|
||||
public int maxBlockSize = 2;
|
||||
|
||||
public BlockLoader(String name){
|
||||
super(name);
|
||||
@ -60,8 +61,8 @@ public class BlockLoader extends PayloadAcceptor{
|
||||
@Override
|
||||
public boolean acceptPayload(Building source, Payload payload){
|
||||
return super.acceptPayload(source, payload) &&
|
||||
(payload instanceof BuildPayload) &&
|
||||
((((BuildPayload)payload).build.block.hasItems && ((BuildPayload)payload).block().unloadable && ((BuildPayload)payload).block().itemCapacity >= 10)/* ||
|
||||
(payload instanceof BuildPayload build) &&
|
||||
((build.build.block.hasItems && build.block().unloadable && build.block().itemCapacity >= 10 && build.block().size <= maxBlockSize)/* ||
|
||||
((BlockPayload)payload).entity.block().hasLiquids && ((BlockPayload)payload).block().liquidCapacity >= 10f)*/);
|
||||
}
|
||||
|
||||
@ -99,7 +100,7 @@ public class BlockLoader extends PayloadAcceptor{
|
||||
|
||||
//load up items
|
||||
if(payload.block().hasItems && items.any()){
|
||||
if(timer(timerLoad, loadTime)){
|
||||
if(efficiency() > 0.01f && timer(timerLoad, loadTime / efficiency())){
|
||||
//load up items a set amount of times
|
||||
for(int j = 0; j < itemsLoaded && items.any(); j++){
|
||||
|
||||
|
@ -31,7 +31,7 @@ public class BlockUnloader extends BlockLoader{
|
||||
|
||||
//load up items
|
||||
if(payload.block().hasItems && !full()){
|
||||
if(timer(timerLoad, loadTime)){
|
||||
if(efficiency() > 0.01f && timer(timerLoad, loadTime / efficiency())){
|
||||
//load up items a set amount of times
|
||||
for(int j = 0; j < itemsLoaded && !full(); j++){
|
||||
for(int i = 0; i < items.length(); i++){
|
||||
|
Loading…
Reference in New Issue
Block a user