Logic read/write cleanup and validity fixes
This commit is contained in:
@@ -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));
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -168,7 +168,7 @@ public class MessageBlock extends Block{
|
||||
|
||||
@Override
|
||||
public boolean readable(LExecutor exec){
|
||||
return true;
|
||||
return isValid();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user