feat(cli): add command helpers and NotAPlayerError

This commit is contained in:
ForestOfLight
2026-05-19 17:28:58 -07:00
Unverified
parent 6fac0d953f
commit aae9fd2f4b
6 changed files with 44 additions and 1 deletions
@@ -0,0 +1,9 @@
import { CustomCommandStatus } from '@minecraft/server';
import { NotAPlayerError } from '../../Errors/NotAPlayerError';
export function commandError(source, err) {
if (err instanceof NotAPlayerError) {
return { status: CustomCommandStatus.Failure, message: 'construct.commands.error.notAPlayer' };
}
throw err;
}
@@ -0,0 +1,12 @@
import { system } from '@minecraft/server';
import { structureCollection } from '../../Structure/StructureCollection';
export function findInstance(source, name) {
if (!structureCollection.has(name)) {
system.run(() => source.sendMessage({
rawtext: [{ translate: 'construct.commands.error.instanceNotFound', with: [name] }]
}));
return null;
}
return structureCollection.get(name);
}
@@ -0,0 +1,8 @@
import { PlayerCommandOrigin } from '../PlayerCommandOrigin';
import { NotAPlayerError } from '../../Errors/NotAPlayerError';
export function requirePlayer(source) {
if (!(source instanceof PlayerCommandOrigin))
throw new NotAPlayerError();
return source.getSource();
}
@@ -0,0 +1,6 @@
export class NotAPlayerError extends Error {
constructor(message = 'Command requires a player source.') {
super(message);
this.name = 'NotAPlayerError';
}
}