1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-12-17 12:11:51 +00:00
tobspr_shapez.io/src/js/savegame/schemas/1005.js
EmeraldBlock 24ceb6664d ES modules and config refactor
- switches to ES modules in gulp and src
- uses dengr's webpack configs and package.json, with modifications
- removes gulp/package.json
- removes babel stuff
- removes gulp-load-plugins, instead importing gulp plugins manually
- removes unused and trivial packages
- upgrades packages
- uses path/posix, for gulp
- removes __dirname in favor of relative urls
2023-03-04 00:46:55 -06:00

46 lines
1.2 KiB
JavaScript

import { createLogger } from "../../core/logging.js";
import { SavegameInterface_V1004 } from "./1004.js";
import schema from "./1005.json";
const logger = createLogger("savegame_interface/1005");
export class SavegameInterface_V1005 extends SavegameInterface_V1004 {
getVersion() {
return 1005;
}
getSchemaUncached() {
return schema;
}
/**
* @param {import("../savegame_typedefs.js").SavegameData} data
*/
static migrate1004to1005(data) {
logger.log("Migrating 1004 to 1005");
const dump = data.dump;
if (!dump) {
return true;
}
// just reset belt paths for now
dump.beltPaths = [];
const entities = dump.entities;
// clear ejector slots
for (let i = 0; i < entities.length; ++i) {
const entity = entities[i];
const itemEjector = entity.components.ItemEjector;
if (itemEjector) {
const slots = itemEjector.slots;
for (let k = 0; k < slots.length; ++k) {
const slot = slots[k];
slot.item = null;
slot.progress = 0;
}
}
}
}
}