refactor: upgrade AddonAPIKit and propograte changes

also fix param input of instance:edit
This commit is contained in:
ForestOfLight
2026-06-01 10:59:31 +02:00
Unverified
parent 5bd8452312
commit 630d5e0950
6 changed files with 67 additions and 40 deletions
+2 -2
View File
@@ -1,11 +1,11 @@
import { AddonAPI } from "../lib/AddonAPIKit";
import { AddonAPIServer } from "../lib/AddonAPIKit";
import { PACK_IDENTIFIER } from "../consts";
import { InstancesController } from "./controllers/InstancesController";
import { structureCollection } from "../classes/Structure/StructureCollection";
import { BuildersController } from "./controllers/BuildersController";
import { Builders } from "../classes/Builder/Builders";
class ConstructAPI extends AddonAPI {
class ConstructAPI extends AddonAPIServer {
constructor(version) {
super(PACK_IDENTIFIER, version);
const instancesController = new InstancesController(structureCollection);
@@ -1,4 +1,6 @@
import { PROTO } from '../../lib/AddonAPIKit';
import { PROTO } from "../../lib/AddonAPIKit";
// Instances
const LocationModel = PROTO.Object({
x: PROTO.Float64,
@@ -42,3 +44,17 @@ export const EditInstanceParameterModel = PROTO.Object({
instanceName: PROTO.String,
instance: InstanceModel
});
// Builders
export const BuilderModel = PROTO.Object({
playerId: PROTO.String,
easyPlace: PROTO.Boolean,
fastEasyPlace: PROTO.Boolean,
materialGrabber: PROTO.Boolean,
materialInstanceName: PROTO.String
});
export const BuilderIdParameterModel = PROTO.Object({
playerId: PROTO.String
});
@@ -1,6 +1,6 @@
import { BuilderNotFoundError } from "../../classes/Errors/BuilderNotFoundError";
import { APICallerError } from "../../lib/AddonAPIKit";
import { BuilderIdParameterModel } from "../models/BuildersModel";
import { BuilderIdParameterModel } from "../ConstructAPIModel";
export class BuildersController extends APIController {
#context;
@@ -2,7 +2,7 @@ import { InstanceExistsError } from "../../classes/Errors/InstanceExistsError";
import { InstanceNotFoundError } from "../../classes/Errors/InstanceNotFoundError";
import { StructureNotFoundError } from "../../classes/Errors/StructureNotFoundError";
import { APICallerError, VoidModel, APIController } from "../../lib/AddonAPIKit";
import { AddInstanceParameterModel, InstanceModel, InstanceNameParameterModel, InstancesModel, StructureMaterialsModel } from "../models/InstancesModel";
import { AddInstanceParameterModel, EditInstanceParameterModel, InstanceModel, InstanceNameParameterModel, InstancesModel, StructureMaterialsModel } from "../ConstructAPIModel";
export class InstancesController extends APIController {
#context;
@@ -12,7 +12,7 @@ export class InstancesController extends APIController {
this.addEndpoint("instances", this.getInstances, VoidModel, InstancesModel);
this.addEndpoint("instance:get", this.getInstance, InstanceNameParameterModel, InstanceModel);
this.addEndpoint("instance:add", this.addInstance, AddInstanceParameterModel, InstanceModel);
this.addEndpoint("instance:edit", this.editInstance, InstanceModel, InstanceModel);
this.addEndpoint("instance:edit", this.editInstance, EditInstanceParameterModel, InstanceModel);
this.addEndpoint("instance:delete", this.deleteInstance, InstanceNameParameterModel, VoidModel);
this.addEndpoint("instance:materials", this.getMaterials, InstanceNameParameterModel, StructureMaterialsModel);
this.#context = context;
@@ -1,13 +0,0 @@
import { PROTO } from "../../lib/AddonAPIKit";
export const BuilderModel = PROTO.Object({
playerId: PROTO.String,
easyPlace: PROTO.Boolean,
fastEasyPlace: PROTO.Boolean,
materialGrabber: PROTO.Boolean,
materialInstanceName: PROTO.String
});
export const BuilderIdParameterModel = PROTO.Object({
playerId: PROTO.String
});