feat: rework commands and fix bugs
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
export class CommandResponseError extends Error {
|
||||
constructor(message) {
|
||||
super(message);
|
||||
this.name = 'CommandResponseError';
|
||||
}
|
||||
|
||||
getRawMessage() {
|
||||
throw new Error('getRawMessage() must be implemented by subclasses of CommandResponseError');
|
||||
}
|
||||
|
||||
sendTo(source) {
|
||||
source.sendMessage(this.getRawMessage());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
import { CommandResponseError } from "./CommandResponseError";
|
||||
|
||||
export class InstanceExistsError extends CommandResponseError {
|
||||
instanceName;
|
||||
|
||||
constructor(instanceName) {
|
||||
super(`An instance with the name "${instanceName}" already exists.`);
|
||||
this.name = 'InstanceExistsError';
|
||||
this.instanceName = instanceName;
|
||||
}
|
||||
|
||||
getRawMessage() {
|
||||
return { translate: 'construct.error.instanceExists', with: [this.instanceName] };
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
import { CommandResponseError } from "./CommandResponseError";
|
||||
|
||||
export class InstanceNotFoundError extends CommandResponseError {
|
||||
instanceName;
|
||||
|
||||
constructor(instanceName) {
|
||||
super(`§cInstance "${instanceName}" not found.`);
|
||||
this.name = 'InstanceNotFoundError';
|
||||
this.instanceName = instanceName;
|
||||
}
|
||||
|
||||
getRawMessage() {
|
||||
return { translate: 'construct.error.instanceNotFound', with: [this.instanceName] };
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
export class InvalidInstanceError extends Error {
|
||||
constructor(message) {
|
||||
super(message);
|
||||
this.name = 'InvalidInstanceError';
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
export class InvalidStructureError extends Error {
|
||||
constructor(message) {
|
||||
super(message);
|
||||
this.name = 'InvalidStructureError';
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,12 @@
|
||||
export class NotAPlayerError extends Error {
|
||||
import { CommandResponseError } from "./CommandResponseError";
|
||||
|
||||
export class NotAPlayerError extends CommandResponseError {
|
||||
constructor(message = 'Command requires a player source.') {
|
||||
super(message);
|
||||
this.name = 'NotAPlayerError';
|
||||
}
|
||||
|
||||
getRawMessage() {
|
||||
return { translate: 'construct.commands.error.notAPlayer' };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
import { CommandResponseError } from "./CommandResponseError";
|
||||
|
||||
export class StructureNotFoundError extends CommandResponseError {
|
||||
structureId;
|
||||
|
||||
constructor(structureId) {
|
||||
super(`Structure with ID "${structureId}" not found.`);
|
||||
this.name = 'StructureNotFoundError';
|
||||
this.structureId = structureId;
|
||||
}
|
||||
|
||||
getRawMessage() {
|
||||
return { translate: 'construct.error.structureNotFound', with: [this.structureId] };
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user