diff --git a/packs/BP/scripts/commands/VerifierCommand.js b/packs/BP/scripts/commands/VerifierCommand.js new file mode 100644 index 0000000..00ae70d --- /dev/null +++ b/packs/BP/scripts/commands/VerifierCommand.js @@ -0,0 +1,37 @@ +import { CustomCommandParamType, CustomCommandStatus, system } from '@minecraft/server'; +import { Command } from '../classes/Commands/Command'; +import { findInstance } from '../classes/Commands/lib/findInstance'; +import { commandError } from '../classes/Commands/lib/commandError'; + +export class VerifierCommand extends Command { + constructor() { + super({ + name: 'verifier', + description: 'construct.commands.verifier', + mandatoryParameters: [ + { name: 'instanceName', type: CustomCommandParamType.String }, + { name: 'state', type: CustomCommandParamType.Boolean } + ], + callback: (source, instanceName, state) => this.run(source, instanceName, state) + }); + } + + run(source, instanceName, state) { + try { + const instance = findInstance(source, instanceName); + if (!instance) return { status: CustomCommandStatus.Failure }; + system.run(() => { + instance.setVerifierEnabled(state); + source.sendMessage({ + rawtext: [{ translate: 'construct.commands.verifier.success', + with: [instanceName, String(state)] }] + }); + }); + return { status: CustomCommandStatus.Success }; + } catch (err) { + return commandError(source, err); + } + } +} + +export const verifierCommand = new VerifierCommand(); diff --git a/packs/BP/scripts/main.js b/packs/BP/scripts/main.js index 9c10cdb..160c7f3 100644 --- a/packs/BP/scripts/main.js +++ b/packs/BP/scripts/main.js @@ -21,6 +21,7 @@ import './commands/ActiveCommand'; import './commands/LayerCommand'; import './commands/NextLayerCommand'; import './commands/PrevLayerCommand'; +import './commands/VerifierCommand'; // Other import './classes/BlockInfo'; diff --git a/packs/RP/texts/en_US.lang b/packs/RP/texts/en_US.lang index 5cf2600..e831205 100644 --- a/packs/RP/texts/en_US.lang +++ b/packs/RP/texts/en_US.lang @@ -158,3 +158,7 @@ construct.commands.nextlayer.success=§aInstance "%1" advanced to layer %2. ## construct:prevlayer construct.commands.prevlayer=Step layer down by one (wraps 0 to max). construct.commands.prevlayer.success=§aInstance "%1" stepped back to layer %2. + +## construct:verifier +construct.commands.verifier=Toggle block validation overlay for an instance. +construct.commands.verifier.success=§aSet instance "%1" verifier=%2. diff --git a/packs/RP/texts/zh_CN.lang b/packs/RP/texts/zh_CN.lang index 2947e21..80f27d5 100644 --- a/packs/RP/texts/zh_CN.lang +++ b/packs/RP/texts/zh_CN.lang @@ -158,3 +158,7 @@ construct.commands.nextlayer.success=§aInstance "%1" advanced to layer %2. ## construct:prevlayer construct.commands.prevlayer=Step layer down by one (wraps 0 to max). construct.commands.prevlayer.success=§aInstance "%1" stepped back to layer %2. + +## construct:verifier +construct.commands.verifier=Toggle block validation overlay for an instance. +construct.commands.verifier.success=§aSet instance "%1" verifier=%2.