@amxts/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +162 -0
- package/README.ru.md +162 -0
- package/amxmodx/base/include/amxconst.inc +594 -0
- package/amxmodx/base/include/amxmisc.inc +902 -0
- package/amxmodx/base/include/amxmodx.inc +3447 -0
- package/amxmodx/base/include/amxmodx_version.inc +20 -0
- package/amxmodx/base/include/cellarray.inc +525 -0
- package/amxmodx/base/include/cellstack.inc +166 -0
- package/amxmodx/base/include/celltrie.inc +412 -0
- package/amxmodx/base/include/core.inc +202 -0
- package/amxmodx/base/include/csstats.inc +298 -0
- package/amxmodx/base/include/csstats_const.inc +29 -0
- package/amxmodx/base/include/cstrike.inc +1287 -0
- package/amxmodx/base/include/cstrike_const.inc +521 -0
- package/amxmodx/base/include/csx.inc +259 -0
- package/amxmodx/base/include/cvars.inc +547 -0
- package/amxmodx/base/include/datapack.inc +161 -0
- package/amxmodx/base/include/dbi.inc +154 -0
- package/amxmodx/base/include/dodconst.inc +152 -0
- package/amxmodx/base/include/dodfun.inc +152 -0
- package/amxmodx/base/include/dodstats.inc +69 -0
- package/amxmodx/base/include/dodx.inc +161 -0
- package/amxmodx/base/include/engine.inc +1343 -0
- package/amxmodx/base/include/engine_const.inc +310 -0
- package/amxmodx/base/include/engine_stocks.inc +248 -0
- package/amxmodx/base/include/esf.inc +70 -0
- package/amxmodx/base/include/esf_const.inc +74 -0
- package/amxmodx/base/include/fakemeta.inc +1127 -0
- package/amxmodx/base/include/fakemeta_const.inc +793 -0
- package/amxmodx/base/include/fakemeta_stocks.inc +395 -0
- package/amxmodx/base/include/fakemeta_util.inc +882 -0
- package/amxmodx/base/include/file.inc +666 -0
- package/amxmodx/base/include/float.inc +422 -0
- package/amxmodx/base/include/fun.inc +333 -0
- package/amxmodx/base/include/gameconfig.inc +93 -0
- package/amxmodx/base/include/geoip.inc +264 -0
- package/amxmodx/base/include/ham_const.inc +4352 -0
- package/amxmodx/base/include/hamsandwich.inc +439 -0
- package/amxmodx/base/include/hlsdk_const.inc +808 -0
- package/amxmodx/base/include/json.inc +777 -0
- package/amxmodx/base/include/lang.inc +119 -0
- package/amxmodx/base/include/message_const.inc +1130 -0
- package/amxmodx/base/include/message_stocks.inc +161 -0
- package/amxmodx/base/include/messages.inc +604 -0
- package/amxmodx/base/include/newmenus.inc +387 -0
- package/amxmodx/base/include/ns.inc +754 -0
- package/amxmodx/base/include/ns_const.inc +196 -0
- package/amxmodx/base/include/nvault.inc +154 -0
- package/amxmodx/base/include/regex.inc +348 -0
- package/amxmodx/base/include/sockets.inc +183 -0
- package/amxmodx/base/include/sorting.inc +107 -0
- package/amxmodx/base/include/sqlx.inc +582 -0
- package/amxmodx/base/include/string.inc +786 -0
- package/amxmodx/base/include/string_const.inc +156 -0
- package/amxmodx/base/include/string_stocks.inc +325 -0
- package/amxmodx/base/include/textparse_ini.inc +214 -0
- package/amxmodx/base/include/textparse_smc.inc +261 -0
- package/amxmodx/base/include/tfcconst.inc +84 -0
- package/amxmodx/base/include/tfcstats.inc +62 -0
- package/amxmodx/base/include/tfcx.inc +148 -0
- package/amxmodx/base/include/time.inc +118 -0
- package/amxmodx/base/include/tsconst.inc +154 -0
- package/amxmodx/base/include/tsfun.inc +198 -0
- package/amxmodx/base/include/tsstats.inc +65 -0
- package/amxmodx/base/include/tsx.inc +88 -0
- package/amxmodx/base/include/vault.inc +60 -0
- package/amxmodx/base/include/vector.inc +131 -0
- package/amxmodx/base/include/xs.inc +1570 -0
- package/as/amxts.d.ts +153 -0
- package/as/constants.ts +4730 -0
- package/as/effects.ts +1449 -0
- package/as/entities.ts +5482 -0
- package/as/events.ts +3054 -0
- package/as/facade.ts +4639 -0
- package/as/flags.ts +299 -0
- package/as/fs.ts +287 -0
- package/as/hooks.ts +18536 -0
- package/as/kit.ts +25 -0
- package/as/lib/check.ts +86 -0
- package/as/modules/http.ts +184 -0
- package/as/natives.ts +11845 -0
- package/as/os.ts +30 -0
- package/as/promise.ts +1392 -0
- package/as/promise.types.d.ts +82 -0
- package/as/remote.ts +288 -0
- package/as/tsconfig.json +22 -0
- package/as/vector.ts +65 -0
- package/bin/amxts.mjs +10 -0
- package/includes/menu_core.inc +355 -0
- package/includes/order.txt +54 -0
- package/includes/sources.json +27 -0
- package/includes/universal_config.inc +355 -0
- package/lint/oxlint-plugin.mjs +77 -0
- package/node_modules/assemblyscript/LICENSE +201 -0
- package/node_modules/assemblyscript/NOTICE +93 -0
- package/node_modules/assemblyscript/package.json +63 -0
- package/node_modules/assemblyscript/std/README.md +6 -0
- package/node_modules/assemblyscript/std/assembly/array.ts +526 -0
- package/node_modules/assemblyscript/std/assembly/arraybuffer.ts +77 -0
- package/node_modules/assemblyscript/std/assembly/atomics.ts +127 -0
- package/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts +16 -0
- package/node_modules/assemblyscript/std/assembly/bindings/dom.ts +291 -0
- package/node_modules/assemblyscript/std/assembly/bindings/node.ts +6 -0
- package/node_modules/assemblyscript/std/assembly/builtins.ts +2631 -0
- package/node_modules/assemblyscript/std/assembly/compat.ts +2 -0
- package/node_modules/assemblyscript/std/assembly/console.ts +42 -0
- package/node_modules/assemblyscript/std/assembly/crypto.ts +9 -0
- package/node_modules/assemblyscript/std/assembly/dataview.ts +181 -0
- package/node_modules/assemblyscript/std/assembly/date.ts +373 -0
- package/node_modules/assemblyscript/std/assembly/diagnostics.ts +11 -0
- package/node_modules/assemblyscript/std/assembly/error.ts +44 -0
- package/node_modules/assemblyscript/std/assembly/function.ts +38 -0
- package/node_modules/assemblyscript/std/assembly/index.d.ts +2822 -0
- package/node_modules/assemblyscript/std/assembly/iterator.ts +35 -0
- package/node_modules/assemblyscript/std/assembly/map.ts +260 -0
- package/node_modules/assemblyscript/std/assembly/math.ts +3289 -0
- package/node_modules/assemblyscript/std/assembly/memory.ts +123 -0
- package/node_modules/assemblyscript/std/assembly/number.ts +388 -0
- package/node_modules/assemblyscript/std/assembly/object.ts +36 -0
- package/node_modules/assemblyscript/std/assembly/performance.ts +9 -0
- package/node_modules/assemblyscript/std/assembly/polyfills.ts +27 -0
- package/node_modules/assemblyscript/std/assembly/process.ts +50 -0
- package/node_modules/assemblyscript/std/assembly/reference.ts +48 -0
- package/node_modules/assemblyscript/std/assembly/regexp.ts +12 -0
- package/node_modules/assemblyscript/std/assembly/rt/README.md +83 -0
- package/node_modules/assemblyscript/std/assembly/rt/common.ts +81 -0
- package/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts +2 -0
- package/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts +2 -0
- package/node_modules/assemblyscript/std/assembly/rt/index-stub.ts +1 -0
- package/node_modules/assemblyscript/std/assembly/rt/index.d.ts +37 -0
- package/node_modules/assemblyscript/std/assembly/rt/itcms.ts +419 -0
- package/node_modules/assemblyscript/std/assembly/rt/rtrace.ts +15 -0
- package/node_modules/assemblyscript/std/assembly/rt/stub.ts +133 -0
- package/node_modules/assemblyscript/std/assembly/rt/tcms.ts +254 -0
- package/node_modules/assemblyscript/std/assembly/rt/tlsf.ts +592 -0
- package/node_modules/assemblyscript/std/assembly/rt.ts +87 -0
- package/node_modules/assemblyscript/std/assembly/set.ts +220 -0
- package/node_modules/assemblyscript/std/assembly/shared/feature.ts +65 -0
- package/node_modules/assemblyscript/std/assembly/shared/runtime.ts +11 -0
- package/node_modules/assemblyscript/std/assembly/shared/target.ts +11 -0
- package/node_modules/assemblyscript/std/assembly/shared/tsconfig.json +11 -0
- package/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts +72 -0
- package/node_modules/assemblyscript/std/assembly/staticarray.ts +401 -0
- package/node_modules/assemblyscript/std/assembly/string.ts +847 -0
- package/node_modules/assemblyscript/std/assembly/symbol.ts +114 -0
- package/node_modules/assemblyscript/std/assembly/table.ts +16 -0
- package/node_modules/assemblyscript/std/assembly/tsconfig.json +6 -0
- package/node_modules/assemblyscript/std/assembly/typedarray.ts +1945 -0
- package/node_modules/assemblyscript/std/assembly/uri.ts +17 -0
- package/node_modules/assemblyscript/std/assembly/util/bytes.ts +107 -0
- package/node_modules/assemblyscript/std/assembly/util/casemap.ts +497 -0
- package/node_modules/assemblyscript/std/assembly/util/error.ts +54 -0
- package/node_modules/assemblyscript/std/assembly/util/hash.ts +117 -0
- package/node_modules/assemblyscript/std/assembly/util/math.ts +1922 -0
- package/node_modules/assemblyscript/std/assembly/util/memory.ts +290 -0
- package/node_modules/assemblyscript/std/assembly/util/number.ts +873 -0
- package/node_modules/assemblyscript/std/assembly/util/sort.ts +313 -0
- package/node_modules/assemblyscript/std/assembly/util/string.ts +1202 -0
- package/node_modules/assemblyscript/std/assembly/util/uri.ts +275 -0
- package/node_modules/assemblyscript/std/assembly/vector.ts +4 -0
- package/node_modules/assemblyscript/std/assembly.json +16 -0
- package/node_modules/assemblyscript/std/portable/index.d.ts +462 -0
- package/node_modules/assemblyscript/std/portable/index.js +416 -0
- package/node_modules/assemblyscript/std/portable.json +11 -0
- package/node_modules/assemblyscript/std/types/assembly/index.d.ts +1 -0
- package/node_modules/assemblyscript/std/types/assembly/package.json +3 -0
- package/node_modules/assemblyscript/std/types/portable/index.d.ts +1 -0
- package/node_modules/assemblyscript/std/types/portable/package.json +3 -0
- package/node_modules/assemblyscript/tsconfig-base.json +13 -0
- package/package.json +112 -0
- package/runtime/deps/assemblyscript/LICENSE +201 -0
- package/runtime/deps/assemblyscript/NOTICE +93 -0
- package/runtime/deps/assemblyscript/bin/asc.js +35 -0
- package/runtime/deps/assemblyscript/dist/asc.js +25035 -0
- package/runtime/deps/assemblyscript/dist/assemblyscript.js +337 -0
- package/runtime/deps/assemblyscript/node_modules/binaryen/LICENSE +201 -0
- package/runtime/deps/assemblyscript/node_modules/binaryen/index.js +28905 -0
- package/runtime/deps/assemblyscript/node_modules/binaryen/package.json +50 -0
- package/runtime/deps/assemblyscript/node_modules/long/LICENSE +202 -0
- package/runtime/deps/assemblyscript/node_modules/long/index.js +1581 -0
- package/runtime/deps/assemblyscript/node_modules/long/package.json +58 -0
- package/runtime/deps/assemblyscript/package.json +114 -0
- package/runtime/host/amxts.inc +85 -0
- package/runtime/licenses/AMXX-LICENSE.txt +34 -0
- package/runtime/licenses/AssemblyScript-LICENSE +201 -0
- package/runtime/licenses/AssemblyScript-NOTICE +93 -0
- package/runtime/licenses/Binaryen-LICENSE +201 -0
- package/runtime/licenses/Bun-LICENSE.md +84 -0
- package/runtime/licenses/GPL-3.0.txt +674 -0
- package/runtime/licenses/LLVM-LICENSE.TXT +279 -0
- package/runtime/licenses/README.md +25 -0
- package/runtime/licenses/WAMR-LICENSE +219 -0
- package/runtime/natives.txt +1095 -0
- package/runtime/patches/README.md +59 -0
- package/runtime/patches/assemblyscript-0.28.20-amxts.patch +14174 -0
- package/runtime/patches/wamr-2.4.5-amxts.patch +364 -0
- package/scripts/apply-docs.ts +508 -0
- package/scripts/asc.ts +27 -0
- package/scripts/auto-imports.ts +258 -0
- package/scripts/build-wasm.ts +595 -0
- package/scripts/check.ts +93 -0
- package/scripts/compile-cache.ts +179 -0
- package/scripts/compile.ts +401 -0
- package/scripts/docker-server.ts +73 -0
- package/scripts/docs/as/amxts.ts +210 -0
- package/scripts/docs/as/effects.ts +1684 -0
- package/scripts/docs/as/facade.ts +3302 -0
- package/scripts/docs/as/fs.ts +173 -0
- package/scripts/docs/as/lib/check.ts +68 -0
- package/scripts/docs/as/modules/http.ts +66 -0
- package/scripts/docs/as/os.ts +16 -0
- package/scripts/docs/as/promise.ts +132 -0
- package/scripts/docs/as/promise.types.ts +63 -0
- package/scripts/docs/as/vector.ts +48 -0
- package/scripts/docs/entities.ts +2338 -0
- package/scripts/docs/events.ts +245 -0
- package/scripts/docs/game.ts +497 -0
- package/scripts/docs/messages.ts +148 -0
- package/scripts/file-contents.ts +74 -0
- package/scripts/includes.ts +134 -0
- package/scripts/player-fields.ts +866 -0
- package/scripts/plugin-cache.ts +92 -0
- package/scripts/plugin-natives.ts +1157 -0
- package/scripts/prebuilt.ts +268 -0
- package/scripts/prepare.ts +134 -0
- package/scripts/project.ts +973 -0
- package/scripts/run.ts +28 -0
- package/scripts/shared-modules.ts +906 -0
- package/scripts/system.ts +33 -0
- package/scripts/tracked-fs.ts +115 -0
- package/scripts/typed-configs.ts +788 -0
- package/scripts/ui.ts +77 -0
- package/src/cli-api.mjs +175 -0
- package/src/parser/include-parser.ts +506 -0
- package/src/system.mjs +155 -0
- package/src/testing/compile-cache.ts +31 -0
- package/src/testing/compile.ts +222 -0
- package/src/testing/coroutines.ts +191 -0
- package/src/testing/index.ts +39 -0
- package/src/testing/kits.ts +55 -0
- package/src/testing/memory.ts +125 -0
- package/src/testing/natives.ts +925 -0
- package/src/testing/server.ts +1874 -0
- package/src/testing/setup.ts +63 -0
- package/src/testing/tables.ts +139 -0
- package/src/types.ts +51 -0
package/as/amxts.d.ts
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
// The globals a module file and amxts.config.ts use without an import:
|
|
2
|
+
// defineModule and defineConfig; and the types of a field's change the
|
|
3
|
+
// editor reads off Player, which the compiler has from the build.
|
|
4
|
+
//
|
|
5
|
+
// Only the editor reads this file. The build reads a module's definition from
|
|
6
|
+
// its source and evaluates amxts.config.ts with a defineConfig of its own
|
|
7
|
+
// (scripts/project.ts); asc never compiles either call.
|
|
8
|
+
import type { ModuleOptions, Player, PlayerChangeEvent } from "./facade";
|
|
9
|
+
|
|
10
|
+
declare global {
|
|
11
|
+
/** A module's name and config key. */
|
|
12
|
+
interface AmxtsModuleMeta {
|
|
13
|
+
/** The package's name without its scope, e.g. `"menu-core"` for `@amxts/menu-core`. */
|
|
14
|
+
name: string;
|
|
15
|
+
/** The key the module's options go under in `amxts.config.ts`, e.g. `"menus"`. */
|
|
16
|
+
configKey?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** A module's API as plugins use it without an import: a namespace and its name (`as`), or one of its exports by its own name (`name`). */
|
|
20
|
+
interface AmxtsModuleImport {
|
|
21
|
+
/** The module's own package, e.g. `"@amxts/menu-core"`. */
|
|
22
|
+
from: string;
|
|
23
|
+
/** The name plugins use it by, e.g. `"menus"`: `menus.create(...)`. */
|
|
24
|
+
as?: string;
|
|
25
|
+
/** One export plugins use by its own name, e.g. `"semiclip"`: `semiclip.rule = ...`. */
|
|
26
|
+
name?: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** A module's definition for `defineModule`: its meta, the modules it requires, its options, what it gives plugins and its setup. */
|
|
30
|
+
interface AmxtsModule<T> {
|
|
31
|
+
/** The module's name and `configKey`. */
|
|
32
|
+
meta: AmxtsModuleMeta;
|
|
33
|
+
/** The module packages this one needs, e.g. `"@amxts/config-core"`. They come along with it - listing this one in `amxts.config.ts` is enough - and load first. */
|
|
34
|
+
requires?: string[];
|
|
35
|
+
/** The module's default options: the values used when `amxts.config.ts` does not set them. */
|
|
36
|
+
defaults?: T;
|
|
37
|
+
/**
|
|
38
|
+
* The module's API as plugins use it without an import, e.g. `[{ from: "@amxts/menu-core", as: "menus" }]`:
|
|
39
|
+
* a plugin writes `menus.create(...)`, and the build adds the import to
|
|
40
|
+
* that plugin alone. `{ from, name }` gives one export by its own name
|
|
41
|
+
* instead - an object a plugin assigns a property of, as `semiclip.rule = ...`.
|
|
42
|
+
*/
|
|
43
|
+
imports?: AmxtsModuleImport[];
|
|
44
|
+
/**
|
|
45
|
+
* Runs once, in the module's plugin, when the server loads it. Gets the
|
|
46
|
+
* defaults with what `amxts.config.ts` sets under `configKey` on top.
|
|
47
|
+
*/
|
|
48
|
+
setup?: (options: T) => void;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** The project's auto-imports: `imports` in `amxts.config.ts`. */
|
|
52
|
+
interface AmxtsImports {
|
|
53
|
+
/** `false`: the plugins import everything themselves. `true` by default. */
|
|
54
|
+
autoImport?: boolean;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** The project's settings, exported by `amxts.config.ts`: the modules it uses and their options. */
|
|
58
|
+
interface AmxtsConfig extends ModuleOptions {
|
|
59
|
+
/** The project's module packages, by name, e.g. `"@amxts/menu-core"`. The build loads each after the ones it requires. */
|
|
60
|
+
modules?: string[];
|
|
61
|
+
/** The folder with the project's plugins; `"plugins"` by default. */
|
|
62
|
+
pluginsDir?: string;
|
|
63
|
+
/** The folder the build writes the `.aot` files and `plugins.ini` to; `"dist"` by default. */
|
|
64
|
+
outDir?: string;
|
|
65
|
+
/**
|
|
66
|
+
* The server the project is for, one of `"rehlds"` (ReHLDS, ReGameDLL and
|
|
67
|
+
* ReAPI) or `"hlds"` (plain HLDS); `"rehlds"` by default. Without a server
|
|
68
|
+
* (`AMXTS_SERVER`) the `amxts` command fetches the includes that server has
|
|
69
|
+
* into `.amxts/include`; with one, the build takes the server's own.
|
|
70
|
+
*/
|
|
71
|
+
target?: "rehlds" | "hlds";
|
|
72
|
+
/**
|
|
73
|
+
* Auto-imports: the build adds the imports of what a plugin uses without
|
|
74
|
+
* importing it - the core's API and what the modules give. `{ autoImport:
|
|
75
|
+
* false }` turns them off; the plugins import everything themselves.
|
|
76
|
+
*/
|
|
77
|
+
imports?: AmxtsImports;
|
|
78
|
+
/**
|
|
79
|
+
* The modules whose natives Pawn plugins call, by package name, e.g.
|
|
80
|
+
* `"@amxts/menu-core"`. A module no plugin of the project uses is left out
|
|
81
|
+
* of the build; one listed here is built all the same.
|
|
82
|
+
*/
|
|
83
|
+
pawn?: string[];
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Defines a module, in its module file:
|
|
88
|
+
*
|
|
89
|
+
* ```ts
|
|
90
|
+
* export default defineModule<MenuCoreOptions>({
|
|
91
|
+
* meta: { name: "menu-core", configKey: "menus" },
|
|
92
|
+
* requires: ["@amxts/config-core"],
|
|
93
|
+
* defaults: { file: "menu" },
|
|
94
|
+
* imports: [{ from: "@amxts/menu-core", as: "menus" }],
|
|
95
|
+
* setup(options) { ... },
|
|
96
|
+
* });
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
function defineModule<T = Record<string, never>>(definition: AmxtsModule<T>): AmxtsModule<T>;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Defines the project's settings, in `amxts.config.ts`:
|
|
103
|
+
*
|
|
104
|
+
* ```ts
|
|
105
|
+
* export default defineConfig({
|
|
106
|
+
* modules: ["@amxts/config-core", "@amxts/menu-core"],
|
|
107
|
+
* menus: { file: "myserver/menu" },
|
|
108
|
+
* });
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
function defineConfig(config: AmxtsConfig): AmxtsConfig;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// A field's change, typed by the field. The compiler gives a listener with
|
|
115
|
+
// `{ field: "spawnProtected" }` the field's own event class (scripts/player-fields.ts);
|
|
116
|
+
// the editor reads the same types off the fields plugins declare on Player.
|
|
117
|
+
|
|
118
|
+
/** A field plugins added to `Player` - `"spawnProtected"` - or a member of an object field, `"glow.enabled"`. */
|
|
119
|
+
type PlayerFieldName = {
|
|
120
|
+
[K in keyof Player & string]: Player[K] extends (...args: never[]) => unknown ? never
|
|
121
|
+
: Player[K] extends readonly unknown[] ? K
|
|
122
|
+
: Player[K] extends object ? K | `${K}.${keyof Player[K] & string}`
|
|
123
|
+
: K
|
|
124
|
+
}[keyof Player & string];
|
|
125
|
+
|
|
126
|
+
/** The type of the field `F` names; `never` when it names none. */
|
|
127
|
+
type PlayerFieldValue<F extends string> = F extends `${infer O}.${infer M}`
|
|
128
|
+
? O extends keyof Player ? (M extends keyof Player[O] ? Player[O][M] : never) : never
|
|
129
|
+
: F extends keyof Player ? Player[F] : never;
|
|
130
|
+
|
|
131
|
+
declare module "./facade" {
|
|
132
|
+
interface PlayerChangeEvent<F extends string = string> {
|
|
133
|
+
/** The field's value after the change; with `{ field }`, of the field's type. */
|
|
134
|
+
readonly value: PlayerFieldValue<F>;
|
|
135
|
+
/** The field's value before the change. */
|
|
136
|
+
readonly previous: PlayerFieldValue<F>;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
interface Server {
|
|
140
|
+
/**
|
|
141
|
+
* Calls `listener` every time the field `field` plugins added to `Player`
|
|
142
|
+
* changes on a player, e.g. `{ field: "spawnProtected" }`: `event.value`
|
|
143
|
+
* and `event.previous` have the field's type.
|
|
144
|
+
*/
|
|
145
|
+
// oxlint-disable-next-line typescript/method-signature-style -- an overload, merged into the class's method
|
|
146
|
+
addEventListener<F extends PlayerFieldName>(type: "playerchange", listener: (event: PlayerChangeEvent<F>) => void, options: { field: F }): void;
|
|
147
|
+
/** Stops calling a listener added with `addEventListener` - the same function and the same field. */
|
|
148
|
+
// oxlint-disable-next-line typescript/method-signature-style -- an overload, merged into the class's method
|
|
149
|
+
removeEventListener<F extends PlayerFieldName>(type: "playerchange", listener: (event: PlayerChangeEvent<F>) => void, options: { field: F }): void;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export {};
|