I suggest a logic parser block is implemented which operates almost the same as the display block.
You input a logic expression which is evaluated every tick. The block outputs a true or false which can be linked to other logic blocks. The block should be bound to the entity/ship core and should be able to use most entity information.
I don't know what the ship object contains but I assume such information as mass, trustX/Y/Z, maxTrustX/Y/Z, speedX/Y/Z, maxSpeedX/Y/Z, shields, maxShields, power, maxPower, HP, ... all is bound to each entity/ship core.
Examples:
I suggest you make a descent parser with ANTLR or a similar generator.
You input a logic expression which is evaluated every tick. The block outputs a true or false which can be linked to other logic blocks. The block should be bound to the entity/ship core and should be able to use most entity information.
I don't know what the ship object contains but I assume such information as mass, trustX/Y/Z, maxTrustX/Y/Z, speedX/Y/Z, maxSpeedX/Y/Z, shields, maxShields, power, maxPower, HP, ... all is bound to each entity/ship core.
Examples:
- trustZ > 0.05 * maxTrustZ
- shields < 0.1 * maxShields
I suggest you make a descent parser with ANTLR or a similar generator.