This commit is contained in:
Anuken
2024-04-10 15:31:09 -04:00
parent fec423213f
commit e280edac67
7 changed files with 32 additions and 3 deletions

View File

@@ -189,6 +189,13 @@ public class StackConveyor extends Block implements Autotiler{
Draw.rect(lastItem.fullIcon, Tmp.v1.x, Tmp.v1.y, size, size, 0);
}
@Override
public void dropped(){
super.dropped();
var prev = Geometry.d4[(rotation + 2) % 4];
link = Point2.pack(tile.x + prev.x, tile.y + prev.y);
}
@Override
public void drawCracks(){
Draw.z(Layer.block - 0.15f);

View File

@@ -12,6 +12,7 @@ import mindustry.graphics.*;
import mindustry.type.*;
import mindustry.ui.*;
import mindustry.world.blocks.payloads.PayloadUnloader.*;
import mindustry.world.blocks.sandbox.*;
import static mindustry.Vars.*;
@@ -152,6 +153,7 @@ public class PayloadLoader extends PayloadBlock{
//load up items
if(payload.block().hasItems && items.any()){
boolean acceptedAny = false;
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++){
@@ -162,6 +164,7 @@ public class PayloadLoader extends PayloadBlock{
if(payload.build.acceptItem(payload.build, item)){
payload.build.handleItem(payload.build, item);
items.remove(item, 1);
acceptedAny = true;
break;
}else if(payload.block().separateItemCapacity || payload.block().consumesItem(item)){
exporting = true;
@@ -171,6 +174,9 @@ public class PayloadLoader extends PayloadBlock{
}
}
}
if(!acceptedAny){
exporting = true;
}
}
//load up liquids
@@ -180,8 +186,12 @@ public class PayloadLoader extends PayloadBlock{
float flow = Math.min(Math.min(liquidsLoaded * edelta(), payload.block().liquidCapacity - payload.build.liquids.get(liq)), total);
//TODO potential crash here
if(payload.build.acceptLiquid(payload.build, liq)){
payload.build.liquids.add(liq, flow);
if(!(payload.block() instanceof LiquidVoid)){
payload.build.liquids.add(liq, flow);
}
liquids.remove(liq, flow);
}else{
exporting = true;
}
}

View File

@@ -24,6 +24,12 @@ public class LiquidVoid extends Block{
}
public class LiquidVoidBuild extends Building{
@Override
public void placed(){
super.placed();
liquids.clear();
}
@Override
public boolean acceptLiquid(Building source, Liquid liquid){
return enabled;