Logic read/write cleanup and validity fixes

This commit is contained in:
Anuken
2025-08-05 10:49:42 +02:00
parent 2170ea3de4
commit e37852f312
5 changed files with 11 additions and 10 deletions

View File

@@ -967,7 +967,7 @@ public class LExecutor{
//graphics on headless servers are useless.
if(Vars.headless) return;
if(target.building() instanceof LogicDisplayBuild d && (d.team == exec.team || exec.privileged)){
if(target.building() instanceof LogicDisplayBuild d && d.isValid() && (d.team == exec.team || exec.privileged)){
d.flushCommands(exec.graphicsBuffer);
exec.graphicsBuffer.clear();
}
@@ -1101,8 +1101,7 @@ public class LExecutor{
@Override
public void run(LExecutor exec){
if(target.building() instanceof MessageBuild d && (exec.privileged || (d.team == exec.team && !d.block.privileged))){
if(target.building() instanceof MessageBuild d && d.isValid() && (exec.privileged || (d.team == exec.team && !d.block.privileged))){
d.message.setLength(0);
d.message.append(exec.textBuffer, 0, Math.min(exec.textBuffer.length(), maxTextBuffer));

View File

@@ -226,8 +226,9 @@ public class CanvasBlock extends Block{
}
}
@Override
public boolean readable(LExecutor exec){
return exec.privileged || this.team == exec.team;
return isValid() && (exec.privileged || this.team == exec.team);
}
@Override
@@ -237,7 +238,7 @@ public class CanvasBlock extends Block{
@Override
public boolean writable(LExecutor exec){
return exec.privileged || this.team == exec.team;
return readable(exec);
}
@Override

View File

@@ -534,7 +534,7 @@ public class LogicBlock extends Block{
@Override
public boolean readable(LExecutor exec){
return exec.privileged || (this.team == exec.team && !this.block.privileged);
return isValid() && (exec.privileged || (this.team == exec.team && !this.block.privileged));
}
@Override
@@ -552,7 +552,7 @@ public class LogicBlock extends Block{
@Override
public boolean writable(LExecutor exec){
return exec.privileged || (this.team == exec.team && !this.block.privileged);
return readable(exec);
}
@Override

View File

@@ -56,8 +56,9 @@ public class MemoryBlock extends Block{
return accessible();
}
@Override
public boolean readable(LExecutor exec){
return exec.privileged || (this.team == exec.team && !this.block.privileged);
return isValid() && (exec.privileged || (this.team == exec.team && !this.block.privileged));
}
@Override
@@ -69,7 +70,7 @@ public class MemoryBlock extends Block{
@Override
public boolean writable(LExecutor exec){
return exec.privileged || (this.team == exec.team && !this.block.privileged);
return readable(exec);
}
@Override

View File

@@ -168,7 +168,7 @@ public class MessageBlock extends Block{
@Override
public boolean readable(LExecutor exec){
return true;
return isValid();
}
@Override