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.
|
//graphics on headless servers are useless.
|
||||||
if(Vars.headless) return;
|
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);
|
d.flushCommands(exec.graphicsBuffer);
|
||||||
exec.graphicsBuffer.clear();
|
exec.graphicsBuffer.clear();
|
||||||
}
|
}
|
||||||
@@ -1101,8 +1101,7 @@ public class LExecutor{
|
|||||||
@Override
|
@Override
|
||||||
public void run(LExecutor exec){
|
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.setLength(0);
|
||||||
d.message.append(exec.textBuffer, 0, Math.min(exec.textBuffer.length(), maxTextBuffer));
|
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){
|
public boolean readable(LExecutor exec){
|
||||||
return exec.privileged || this.team == exec.team;
|
return isValid() && (exec.privileged || this.team == exec.team);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -237,7 +238,7 @@ public class CanvasBlock extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean writable(LExecutor exec){
|
public boolean writable(LExecutor exec){
|
||||||
return exec.privileged || this.team == exec.team;
|
return readable(exec);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -534,7 +534,7 @@ public class LogicBlock extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean readable(LExecutor exec){
|
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
|
@Override
|
||||||
@@ -552,7 +552,7 @@ public class LogicBlock extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean writable(LExecutor exec){
|
public boolean writable(LExecutor exec){
|
||||||
return exec.privileged || (this.team == exec.team && !this.block.privileged);
|
return readable(exec);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -56,8 +56,9 @@ public class MemoryBlock extends Block{
|
|||||||
return accessible();
|
return accessible();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean readable(LExecutor exec){
|
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
|
@Override
|
||||||
@@ -69,7 +70,7 @@ public class MemoryBlock extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean writable(LExecutor exec){
|
public boolean writable(LExecutor exec){
|
||||||
return exec.privileged || (this.team == exec.team && !this.block.privileged);
|
return readable(exec);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ public class MessageBlock extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean readable(LExecutor exec){
|
public boolean readable(LExecutor exec){
|
||||||
return true;
|
return isValid();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user