diff --git a/bun.lock b/bun.lock index db8e4dc..004bb2a 100644 --- a/bun.lock +++ b/bun.lock @@ -56,6 +56,13 @@ "flatmmo-types": "workspace:*", }, }, + "packages/userscripts/no-vulcan-heat": { + "name": "no-vulcan-heat", + "version": "1.0.0", + "devDependencies": { + "flatmmo-types": "workspace:*", + }, + }, }, "packages": { "@babel/code-frame": ["@babel/code-frame@7.28.6", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q=="], @@ -238,6 +245,8 @@ "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + "no-vulcan-heat": ["no-vulcan-heat@workspace:packages/userscripts/no-vulcan-heat"], + "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], "oxc-parser": ["oxc-parser@0.108.0", "", { "dependencies": { "@oxc-project/types": "^0.108.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm-eabi": "0.108.0", "@oxc-parser/binding-android-arm64": "0.108.0", "@oxc-parser/binding-darwin-arm64": "0.108.0", "@oxc-parser/binding-darwin-x64": "0.108.0", "@oxc-parser/binding-freebsd-x64": "0.108.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.108.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.108.0", "@oxc-parser/binding-linux-arm64-gnu": "0.108.0", "@oxc-parser/binding-linux-arm64-musl": "0.108.0", "@oxc-parser/binding-linux-ppc64-gnu": "0.108.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.108.0", "@oxc-parser/binding-linux-riscv64-musl": "0.108.0", "@oxc-parser/binding-linux-s390x-gnu": "0.108.0", "@oxc-parser/binding-linux-x64-gnu": "0.108.0", "@oxc-parser/binding-linux-x64-musl": "0.108.0", "@oxc-parser/binding-openharmony-arm64": "0.108.0", "@oxc-parser/binding-wasm32-wasi": "0.108.0", "@oxc-parser/binding-win32-arm64-msvc": "0.108.0", "@oxc-parser/binding-win32-ia32-msvc": "0.108.0", "@oxc-parser/binding-win32-x64-msvc": "0.108.0" } }, "sha512-eM0GUxQgVZXZxB364HRlakUH8rBxh5E6dN+RiiCLtOk84WgLFbhydULyd2DUJYxguvcbjWUmmKgVDyvVCeplDA=="], diff --git a/bun.nix b/bun.nix index c753980..066786a 100644 --- a/bun.nix +++ b/bun.nix @@ -362,6 +362,7 @@ url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"; hash = "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="; }; + "no-vulcan-heat" = copyPathToStore ./packages/userscripts/no-vulcan-heat; "node-releases@2.0.27" = fetchurl { url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz"; hash = "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="; diff --git a/packages/lib/flatmmo-types/flatmmo.d.ts b/packages/lib/flatmmo-types/flatmmo.d.ts index 2fd2d21..9c3322d 100644 --- a/packages/lib/flatmmo-types/flatmmo.d.ts +++ b/packages/lib/flatmmo-types/flatmmo.d.ts @@ -63,3 +63,5 @@ declare const players: player[]; declare const npcs: npc[]; declare const Globals: Globals; + +declare let is_volcan_heat: boolean; diff --git a/packages/userscripts/no-vulcan-heat/index.ts b/packages/userscripts/no-vulcan-heat/index.ts new file mode 100644 index 0000000..00f06e0 --- /dev/null +++ b/packages/userscripts/no-vulcan-heat/index.ts @@ -0,0 +1,12 @@ +const webSocketProxy = new Proxy(server_command, { + // wraps + apply(target, thisArg, argArray) { + const [key, values, raw_data] = argArray; + target(key, values, raw_data); + if (key === "SET_VOLCANO") { + is_volcan_heat = false; + } + }, +}); + +server_command = webSocketProxy; diff --git a/packages/userscripts/no-vulcan-heat/package.json b/packages/userscripts/no-vulcan-heat/package.json new file mode 100644 index 0000000..7c77380 --- /dev/null +++ b/packages/userscripts/no-vulcan-heat/package.json @@ -0,0 +1,9 @@ +{ + "name": "no-vulcan-heat", + "version": "1.0.0", + "module": "index.ts", + "dependencies": {}, + "devDependencies": { + "flatmmo-types": "workspace:*" + } +}