Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken
2025-04-21 14:23:08 -04:00
11 changed files with 278 additions and 209 deletions

View File

@@ -159,7 +159,7 @@ public class Pathfinder implements Runnable{
if(!other.solid()){
boolean otherNearSolid = false;
for(int j = 0; j < 4; j++){
Tile othernear = other.nearby(i);
Tile othernear = other.nearby(j);
if(othernear != null && othernear.solid()){
otherNearSolid = true;
break;

View File

@@ -9,6 +9,7 @@ import arc.util.*;
import arc.util.io.*;
import mindustry.annotations.Annotations.*;
import mindustry.content.*;
import mindustry.ctype.*;
import mindustry.entities.*;
import mindustry.entities.units.*;
import mindustry.gen.*;
@@ -431,12 +432,35 @@ public class Conveyor extends Block implements Autotiler{
updateTile();
}
@Override
public double sense(LAccess sensor){
if(sensor == LAccess.progress){
if(len == 0) return 0;
return ys[len - 1];
}
return super.sense(sensor);
}
@Override
public Object senseObject(LAccess sensor){
if(sensor == LAccess.firstItem && len > 0) return ids[len - 1];
return super.senseObject(sensor);
}
@Override
public void setProp(UnlockableContent content, double value){
if(content instanceof Item item && items != null){
int amount = Math.min((int)value, capacity);
if(items.get(item) != amount){
if(items.get(item) < amount){
handleStack(item, amount - items.get(item), null);
}else if(amount >= 0){
removeStack(item, items.get(item) - amount);
}
}
}else super.setProp(content, value);
}
public final void add(int o){
for(int i = Math.max(o + 1, len); i > o; i--){
ids[i] = ids[i - 1];

View File

@@ -16,6 +16,7 @@ import mindustry.entities.units.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.input.*;
import mindustry.logic.*;
import mindustry.type.*;
import mindustry.world.*;
import mindustry.world.blocks.*;
@@ -263,5 +264,11 @@ public class Duct extends Block implements Autotiler{
}
current = items.first();
}
@Override
public double sense(LAccess sensor){
if(sensor == LAccess.progress) return progress;
return super.sense(sensor);
}
}
}