Valens-AIO/src/containers.ts

62 lines
2.0 KiB
TypeScript
Raw Normal View History

import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { Logger } from "./logger";
import { ContainersConfig } from "../config/containers";
import { CommonContainers, SecuredContainers } from "@spt-aki/models/enums/ContainerTypes";
export class Containers
{
private modConfig: ContainersConfig = require("../config/containers.json");
private logger: Logger;
2022-08-08 20:03:48 -04:00
private tables: DatabaseServer;
constructor(logger: Logger, databaseServer: DatabaseServer)
{
this.logger = logger;
this.tables = databaseServer;
}
public updateContainers(): void
{
const mod = this.modConfig;
if (mod.commonContainers.enabled)
{
this.updatingCommonContainers();
this.logger.info("Common Containers Patched");
}
if (mod.securedContainers.enabled)
{
this.updatingSecuredContainers();
this.logger.info("Secured Containers Patched");
}
}
private updatingCommonContainers()
{
const items = this.tables.getTables().templates.items;
const mod = this.modConfig.commonContainers;
for (const [key, value] of Object.entries(CommonContainers))
{
items[value]._props.Grids[0]._props.cellsH = mod[key].cellsH;
items[value]._props.Grids[0]._props.cellsV = mod[key].cellsV;
items[value]._props.Width = mod[key].width;
items[value]._props.Height = mod[key].height;
}
}
private updatingSecuredContainers()
{
const items = this.tables.getTables().templates.items;
const mod = this.modConfig.securedContainers;
for (const [key, value] of Object.entries(SecuredContainers))
{
items[value]._props.Grids[0]._props.cellsH = mod[key].cellsH;
items[value]._props.Grids[0]._props.cellsV = mod[key].cellsV;
items[value]._props.Width = mod[key].width;
items[value]._props.Height = mod[key].height;
}
}
}