Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken
2025-07-03 21:23:12 -04:00
3 changed files with 14 additions and 3 deletions

View File

@@ -580,6 +580,8 @@ public class LExecutor{
output.numval = fromVar.numval;
output.isobj = fromVar.isobj;
}
}else if(from instanceof MessageBuild msg){
output.setnum(address < 0 || address >= msg.message.length() ? Double.NaN : (int)msg.message.charAt(address));
}else if(target.isobj && target.objval instanceof CharSequence str){
output.setnum(address < 0 || address >= str.length() ? Double.NaN : (int)str.charAt(address));
}else if(from instanceof CanvasBuild canvas && (exec.privileged || (from.team == exec.team))){

View File

@@ -14,6 +14,7 @@ import arc.util.io.*;
import arc.util.pooling.*;
import mindustry.core.*;
import mindustry.gen.*;
import mindustry.logic.*;
import mindustry.ui.*;
import mindustry.ui.dialogs.*;
import mindustry.world.*;
@@ -165,6 +166,14 @@ public class MessageBlock extends Block{
return !accessible() ? SystemCursor.arrow : super.getCursor();
}
@Override
public double sense(LAccess sensor){
return switch(sensor){
case bufferUsage -> message.length();
default -> super.sense(sensor);
};
}
@Override
public void damage(float damage){
if(privileged) return;