add stuff

This commit is contained in:
Mnem42 2025-07-02 16:02:15 +01:00
parent 99dbc85a63
commit adbeb0df5d
7 changed files with 2505 additions and 34 deletions

View File

@ -2285,13 +2285,33 @@
} }
}); });
// code/elemtoml.ts // src/elemtoml.ts
var import_utility_types = __toESM(require_dist()); var import_utility_types = __toESM(require_dist());
function register_element(name, elem) { function register_element(name, elem) {
window.elements[name] = elem; console.debug(
"Element registered: ",
elem,
"Under name: ",
name,
"Named behaviour: ",
elem.namedBehavior,
window.behaviors[elem.namedBehavior]
);
console.trace();
let tmp_value = elem;
console.log(tmp_value.namedBehavior);
if (tmp_value.namedBehavior) {
const found_behaviour = window.behaviors[tmp_value.namedBehavior];
if (typeof found_behaviour == "function") {
tmp_value.tick = found_behaviour;
} else {
tmp_value.behavior = found_behaviour;
}
}
window.elements[name] = tmp_value;
} }
// code/cfg_loader.ts // src/cfg_loader.ts
var import_toml = __toESM(require_toml()); var import_toml = __toESM(require_toml());
var Package = class { var Package = class {
constructor(config) { constructor(config) {
@ -2325,10 +2345,10 @@
return object; return object;
} }
// code/mod.ts // src/mod.ts
var import_toml2 = __toESM(require_toml()); var import_toml2 = __toESM(require_toml());
// code/mod_finder.ts // src/mod_finder.ts
function find_mod(name, onfind) { function find_mod(name, onfind) {
console.log(name, `mods/${name}/mod.toml`); console.log(name, `mods/${name}/mod.toml`);
fetch(`mods/${name}/mod.toml`).then(async (x) => { fetch(`mods/${name}/mod.toml`).then(async (x) => {
@ -2343,16 +2363,24 @@
}); });
} }
// code/mod.ts // src/mod.ts
find_mod("loader_test", (text) => { console.log(window.enabledMods);
const parsed = import_toml2.default.parse(text); for (const i in window.enabledMods) {
console.log(import_toml2.default.parse(text)); console.log(i);
let pkg = new Package(load(parsed)); if (i.endsWith(".toml")) {
pkg.load_elems().then(() => { console.log(i);
console.log(pkg); find_mod(i.slice(0, -5), (text) => {
console.log(pkg.get_loaded_elems()); console.log("Mod name:", i.slice(0, -5));
}); const parsed = import_toml2.default.parse(text);
}); console.log("important shit:", import_toml2.default.parse(text));
let pkg = new Package(load(parsed));
pkg.load_elems().then(() => {
console.log(pkg);
console.log(pkg.get_loaded_elems());
});
});
}
}
})(); })();
/*! Bundled license information: /*! Bundled license information:

2442
mods/fancy_loader.js Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +1,23 @@
[mod] [mod]
name = "test-finder" name = "test-finder"
version = "0.1.0" version = "0.1.0"
entry_point = ""
external_elements = [ external_elements = [
{path = "mods/loader_test/test_element.toml", name = "test_element"}, {path = "mods/loader_test/test_element.toml", name = "test_element"},
] ]
[elements] # Completely arbitrary
incompatible_mods = [
"mods/nousersthings.js",
"mods/lightmap.js",
"mods/betterSettings.js"
]
# [elements.test_element] [scripts]
# name = "test_element" preload = [
# color = ["#FF00FF", "#00FF00"] "mods/loader_test/pre_load.js",
# state = "solid" "mods/loader_test/random_file.js"
# behaviour = [["XX","XX","XX"],["XX","XX","XX"],["XX","XX","XX"]] ]
# category = "solids" postload = [
# tempHigh = 100 "mods/loader_test/post_load.js",
# stateHigh = "gold" "mods/loader_test/random_file.js"
# density = 100 ]
# conduct = 1.0
# [elements.test_element.reactions]
# water = {elem = "ash", elem2 = "pop"}
# cement = {elem1 = "sand"}
# blood = {elem1 = "n_explosion"}

View File

@ -0,0 +1 @@
console.log("POST LOAD RUNNING")

View File

@ -0,0 +1 @@
console.log("PRELOAD RUNNING")

View File

@ -0,0 +1 @@
console.log("THIS OTHER THING RUNNING")

View File

@ -1,7 +1,7 @@
name = "test_element_b" name = "test_element"
color = ["#FF00FF", "#00FF00"] color = ["#FF00FF", "#00FF00"]
state = "solid" state = "solid"
behaviour = [["XX","XX","XX"],["XX","XX","XX"],["XX","XX","XX"]] namedBehavior = "POWDER_OLD"
category = "solids" category = "solids"
tempHigh = 100 tempHigh = 100
stateHigh = "gold" stateHigh = "gold"