isaacscript-common 7.16.3 → 7.17.2
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/dist/features/disableInputs.d.ts +13 -0
- package/dist/features/disableInputs.d.ts.map +1 -1
- package/dist/features/disableInputs.lua +34 -12
- package/dist/features/pause.d.ts.map +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.lua +2 -0
- package/dist/lualib_bundle.lua +11 -0
- package/package.json +1 -1
- package/src/features/disableInputs.ts +49 -12
- package/src/features/pause.ts +2 -1
- package/src/index.ts +1 -0
|
@@ -8,6 +8,19 @@ export declare function disableInputsInit(mod: Mod): void;
|
|
|
8
8
|
* that multiple mod features can work in tandem.
|
|
9
9
|
*/
|
|
10
10
|
export declare function enableAllInputs(key: string): void;
|
|
11
|
+
/**
|
|
12
|
+
* Helper function to disable specific inputs, like opening the console.
|
|
13
|
+
*
|
|
14
|
+
* This function is variadic, meaning that you can pass as many inputs as you want to disable. (To
|
|
15
|
+
* disable all inputs, see the `disableAllInputs` function.
|
|
16
|
+
*
|
|
17
|
+
* Use the `enableAllInputs` helper function to set things back to normal.
|
|
18
|
+
*
|
|
19
|
+
* @param key The name of the mod feature that is requesting the enable/disable. This is needed so
|
|
20
|
+
* that multiple mod features can work in tandem.
|
|
21
|
+
* @param buttonActions An array of the actions to action.
|
|
22
|
+
*/
|
|
23
|
+
export declare function disableInputs(key: string, ...buttonActions: ButtonAction[]): void;
|
|
11
24
|
/**
|
|
12
25
|
* Helper function to disable all inputs. This is useful because `EntityPlayer.ControlsEnabled` can
|
|
13
26
|
* be changed by the game under certain conditions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disableInputs.d.ts","sourceRoot":"","sources":["../../src/features/disableInputs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"disableInputs.d.ts","sourceRoot":"","sources":["../../src/features/disableInputs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,8BAA8B,CAAC;AA0BtC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAoBhD;AAqDD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,GAAG,aAAa,EAAE,YAAY,EAAE,GAC/B,IAAI,CAKN;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,GACvD,IAAI,CAKN;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,GACvD,IAAI,CAKN;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGvD"}
|
|
@@ -32,12 +32,17 @@ function getReturnValue(self, buttonAction, booleanCallback)
|
|
|
32
32
|
____booleanCallback_0 = 0
|
|
33
33
|
end
|
|
34
34
|
local disableValue = ____booleanCallback_0
|
|
35
|
-
for ____,
|
|
35
|
+
for ____, blacklist in __TS__Iterator(v.run.disableInputs:values()) do
|
|
36
|
+
if blacklist:has(buttonAction) then
|
|
37
|
+
return disableValue
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
for ____, whitelist in __TS__Iterator(v.run.disableAllInputsWithWhitelistMap:values()) do
|
|
36
41
|
if not whitelist:has(buttonAction) then
|
|
37
42
|
return disableValue
|
|
38
43
|
end
|
|
39
44
|
end
|
|
40
|
-
for ____, blacklist in __TS__Iterator(v.run.
|
|
45
|
+
for ____, blacklist in __TS__Iterator(v.run.enableAllInputsWithBlacklistMap:values()) do
|
|
41
46
|
if blacklist:has(buttonAction) then
|
|
42
47
|
return disableValue
|
|
43
48
|
end
|
|
@@ -46,8 +51,9 @@ function getReturnValue(self, buttonAction, booleanCallback)
|
|
|
46
51
|
end
|
|
47
52
|
local FEATURE_NAME = "disableInputs"
|
|
48
53
|
v = {run = {
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
disableInputs = __TS__New(Map),
|
|
55
|
+
enableAllInputsWithBlacklistMap = __TS__New(Map),
|
|
56
|
+
disableAllInputsWithWhitelistMap = __TS__New(Map)
|
|
51
57
|
}}
|
|
52
58
|
function ____exports.disableInputsInit(self, mod)
|
|
53
59
|
saveDataManager(nil, FEATURE_NAME, v)
|
|
@@ -62,8 +68,24 @@ end
|
|
|
62
68
|
-- that multiple mod features can work in tandem.
|
|
63
69
|
function ____exports.enableAllInputs(self, key)
|
|
64
70
|
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
65
|
-
v.run.
|
|
66
|
-
v.run.
|
|
71
|
+
v.run.disableAllInputsWithWhitelistMap:delete(key)
|
|
72
|
+
v.run.enableAllInputsWithBlacklistMap:delete(key)
|
|
73
|
+
end
|
|
74
|
+
--- Helper function to disable specific inputs, like opening the console.
|
|
75
|
+
--
|
|
76
|
+
-- This function is variadic, meaning that you can pass as many inputs as you want to disable. (To
|
|
77
|
+
-- disable all inputs, see the `disableAllInputs` function.
|
|
78
|
+
--
|
|
79
|
+
-- Use the `enableAllInputs` helper function to set things back to normal.
|
|
80
|
+
--
|
|
81
|
+
-- @param key The name of the mod feature that is requesting the enable/disable. This is needed so
|
|
82
|
+
-- that multiple mod features can work in tandem.
|
|
83
|
+
-- @param buttonActions An array of the actions to action.
|
|
84
|
+
function ____exports.disableInputs(self, key, ...)
|
|
85
|
+
local buttonActions = {...}
|
|
86
|
+
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
87
|
+
local buttonActionsSet = __TS__New(Set, buttonActions)
|
|
88
|
+
v.run.disableInputs:set(key, buttonActionsSet)
|
|
67
89
|
end
|
|
68
90
|
--- Helper function to disable all inputs. This is useful because `EntityPlayer.ControlsEnabled` can
|
|
69
91
|
-- be changed by the game under certain conditions.
|
|
@@ -74,11 +96,11 @@ end
|
|
|
74
96
|
-- that multiple mod features can work in tandem.
|
|
75
97
|
function ____exports.disableAllInputs(self, key)
|
|
76
98
|
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
77
|
-
v.run.
|
|
99
|
+
v.run.disableAllInputsWithWhitelistMap:set(
|
|
78
100
|
key,
|
|
79
101
|
__TS__New(Set)
|
|
80
102
|
)
|
|
81
|
-
v.run.
|
|
103
|
+
v.run.enableAllInputsWithBlacklistMap:delete(key)
|
|
82
104
|
end
|
|
83
105
|
--- Helper function to enable all inputs besides the ones provided. This is useful because
|
|
84
106
|
-- `EntityPlayer.ControlsEnabled` can be changed by the game under certain conditions.
|
|
@@ -90,8 +112,8 @@ end
|
|
|
90
112
|
-- @param blacklist A set of ButtonActions to disallow.
|
|
91
113
|
function ____exports.enableAllInputsExceptFor(self, key, blacklist)
|
|
92
114
|
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
93
|
-
v.run.
|
|
94
|
-
v.run.
|
|
115
|
+
v.run.disableAllInputsWithWhitelistMap:delete(key)
|
|
116
|
+
v.run.enableAllInputsWithBlacklistMap:set(key, blacklist)
|
|
95
117
|
end
|
|
96
118
|
--- Helper function to disable all inputs besides the ones provided. This is useful because
|
|
97
119
|
-- `EntityPlayer.ControlsEnabled` can be changed by the game under certain conditions.
|
|
@@ -103,8 +125,8 @@ end
|
|
|
103
125
|
-- @param whitelist A set of ButtonActions to allow.
|
|
104
126
|
function ____exports.disableAllInputsExceptFor(self, key, whitelist)
|
|
105
127
|
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
106
|
-
v.run.
|
|
107
|
-
v.run.
|
|
128
|
+
v.run.disableAllInputsWithWhitelistMap:set(key, whitelist)
|
|
129
|
+
v.run.enableAllInputsWithBlacklistMap:delete(key)
|
|
108
130
|
end
|
|
109
131
|
--- Helper function to disable only the inputs used for moving the character (or moving the cursor in
|
|
110
132
|
-- the UI). This is useful because `EntityPlayer.ControlsEnabled` can be changed by the game under
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pause.d.ts","sourceRoot":"","sources":["../../src/features/pause.ts"],"names":[],"mappings":";AAuCA,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAUxC;AA2DD;;;;;;;GAOG;AACH,wBAAgB,KAAK,IAAI,IAAI,CA8C5B;AAED,wFAAwF;AACxF,wBAAgB,OAAO,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"pause.d.ts","sourceRoot":"","sources":["../../src/features/pause.ts"],"names":[],"mappings":";AAuCA,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAUxC;AA2DD;;;;;;;GAOG;AACH,wBAAgB,KAAK,IAAI,IAAI,CA8C5B;AAED,wFAAwF;AACxF,wBAAgB,OAAO,IAAI,IAAI,CAsB9B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1797,6 +1797,20 @@ export declare function disableCustomStage(): void;
|
|
|
1797
1797
|
*/
|
|
1798
1798
|
export declare function disableFastReset(): void;
|
|
1799
1799
|
|
|
1800
|
+
/**
|
|
1801
|
+
* Helper function to disable specific inputs, like opening the console.
|
|
1802
|
+
*
|
|
1803
|
+
* This function is variadic, meaning that you can pass as many inputs as you want to disable. (To
|
|
1804
|
+
* disable all inputs, see the `disableAllInputs` function.
|
|
1805
|
+
*
|
|
1806
|
+
* Use the `enableAllInputs` helper function to set things back to normal.
|
|
1807
|
+
*
|
|
1808
|
+
* @param key The name of the mod feature that is requesting the enable/disable. This is needed so
|
|
1809
|
+
* that multiple mod features can work in tandem.
|
|
1810
|
+
* @param buttonActions An array of the actions to action.
|
|
1811
|
+
*/
|
|
1812
|
+
export declare function disableInputs(key: string, ...buttonActions: ButtonAction[]): void;
|
|
1813
|
+
|
|
1800
1814
|
/**
|
|
1801
1815
|
* Helper function to disable only the inputs used for moving the character (or moving the cursor in
|
|
1802
1816
|
* the UI). This is useful because `EntityPlayer.ControlsEnabled` can be changed by the game under
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.lua
CHANGED
|
@@ -205,12 +205,14 @@ do
|
|
|
205
205
|
local ____disableInputs = require("features.disableInputs")
|
|
206
206
|
local disableAllInputs = ____disableInputs.disableAllInputs
|
|
207
207
|
local disableAllInputsExceptFor = ____disableInputs.disableAllInputsExceptFor
|
|
208
|
+
local disableInputs = ____disableInputs.disableInputs
|
|
208
209
|
local disableMovementInputs = ____disableInputs.disableMovementInputs
|
|
209
210
|
local disableShootingInputs = ____disableInputs.disableShootingInputs
|
|
210
211
|
local enableAllInputs = ____disableInputs.enableAllInputs
|
|
211
212
|
local enableAllInputsExceptFor = ____disableInputs.enableAllInputsExceptFor
|
|
212
213
|
____exports.disableAllInputs = disableAllInputs
|
|
213
214
|
____exports.disableAllInputsExceptFor = disableAllInputsExceptFor
|
|
215
|
+
____exports.disableInputs = disableInputs
|
|
214
216
|
____exports.disableMovementInputs = disableMovementInputs
|
|
215
217
|
____exports.disableShootingInputs = disableShootingInputs
|
|
216
218
|
____exports.enableAllInputs = enableAllInputs
|
package/dist/lualib_bundle.lua
CHANGED
|
@@ -1207,6 +1207,16 @@ local function __TS__InstanceOfObject(value)
|
|
|
1207
1207
|
return valueType == "table" or valueType == "function"
|
|
1208
1208
|
end
|
|
1209
1209
|
|
|
1210
|
+
local function __TS__LuaIteratorSpread(self, state, firstKey)
|
|
1211
|
+
local results = {}
|
|
1212
|
+
local key, value = self(state, firstKey)
|
|
1213
|
+
while key do
|
|
1214
|
+
results[#results + 1] = {key, value}
|
|
1215
|
+
key, value = self(state, key)
|
|
1216
|
+
end
|
|
1217
|
+
return __TS__Unpack(results)
|
|
1218
|
+
end
|
|
1219
|
+
|
|
1210
1220
|
local Map
|
|
1211
1221
|
do
|
|
1212
1222
|
Map = __TS__Class()
|
|
@@ -2448,6 +2458,7 @@ return {
|
|
|
2448
2458
|
__TS__InstanceOf = __TS__InstanceOf,
|
|
2449
2459
|
__TS__InstanceOfObject = __TS__InstanceOfObject,
|
|
2450
2460
|
__TS__Iterator = __TS__Iterator,
|
|
2461
|
+
__TS__LuaIteratorSpread = __TS__LuaIteratorSpread,
|
|
2451
2462
|
Map = Map,
|
|
2452
2463
|
__TS__MathAtan2 = __TS__MathAtan2,
|
|
2453
2464
|
__TS__MathSign = __TS__MathSign,
|
package/package.json
CHANGED
|
@@ -12,10 +12,19 @@ const FEATURE_NAME = "disableInputs";
|
|
|
12
12
|
const v = {
|
|
13
13
|
run: {
|
|
14
14
|
/** Indexed by the requesting feature key. */
|
|
15
|
-
|
|
15
|
+
disableInputs: new Map<string, ReadonlySet<ButtonAction>>(),
|
|
16
16
|
|
|
17
17
|
/** Indexed by the requesting feature key. */
|
|
18
|
-
|
|
18
|
+
enableAllInputsWithBlacklistMap: new Map<
|
|
19
|
+
string,
|
|
20
|
+
ReadonlySet<ButtonAction>
|
|
21
|
+
>(),
|
|
22
|
+
|
|
23
|
+
/** Indexed by the requesting feature key. */
|
|
24
|
+
disableAllInputsWithWhitelistMap: new Map<
|
|
25
|
+
string,
|
|
26
|
+
ReadonlySet<ButtonAction>
|
|
27
|
+
>(),
|
|
19
28
|
},
|
|
20
29
|
};
|
|
21
30
|
|
|
@@ -71,13 +80,19 @@ function getActionValue(
|
|
|
71
80
|
function getReturnValue(buttonAction: ButtonAction, booleanCallback: boolean) {
|
|
72
81
|
const disableValue = booleanCallback ? false : 0;
|
|
73
82
|
|
|
74
|
-
for (const
|
|
83
|
+
for (const blacklist of v.run.disableInputs.values()) {
|
|
84
|
+
if (blacklist.has(buttonAction)) {
|
|
85
|
+
return disableValue;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
for (const whitelist of v.run.disableAllInputsWithWhitelistMap.values()) {
|
|
75
90
|
if (!whitelist.has(buttonAction)) {
|
|
76
91
|
return disableValue;
|
|
77
92
|
}
|
|
78
93
|
}
|
|
79
94
|
|
|
80
|
-
for (const blacklist of v.run.
|
|
95
|
+
for (const blacklist of v.run.enableAllInputsWithBlacklistMap.values()) {
|
|
81
96
|
if (blacklist.has(buttonAction)) {
|
|
82
97
|
return disableValue;
|
|
83
98
|
}
|
|
@@ -96,8 +111,30 @@ function getReturnValue(buttonAction: ButtonAction, booleanCallback: boolean) {
|
|
|
96
111
|
export function enableAllInputs(key: string): void {
|
|
97
112
|
errorIfFeaturesNotInitialized(FEATURE_NAME);
|
|
98
113
|
|
|
99
|
-
v.run.
|
|
100
|
-
v.run.
|
|
114
|
+
v.run.disableAllInputsWithWhitelistMap.delete(key);
|
|
115
|
+
v.run.enableAllInputsWithBlacklistMap.delete(key);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Helper function to disable specific inputs, like opening the console.
|
|
120
|
+
*
|
|
121
|
+
* This function is variadic, meaning that you can pass as many inputs as you want to disable. (To
|
|
122
|
+
* disable all inputs, see the `disableAllInputs` function.
|
|
123
|
+
*
|
|
124
|
+
* Use the `enableAllInputs` helper function to set things back to normal.
|
|
125
|
+
*
|
|
126
|
+
* @param key The name of the mod feature that is requesting the enable/disable. This is needed so
|
|
127
|
+
* that multiple mod features can work in tandem.
|
|
128
|
+
* @param buttonActions An array of the actions to action.
|
|
129
|
+
*/
|
|
130
|
+
export function disableInputs(
|
|
131
|
+
key: string,
|
|
132
|
+
...buttonActions: ButtonAction[]
|
|
133
|
+
): void {
|
|
134
|
+
errorIfFeaturesNotInitialized(FEATURE_NAME);
|
|
135
|
+
|
|
136
|
+
const buttonActionsSet = new Set(buttonActions);
|
|
137
|
+
v.run.disableInputs.set(key, buttonActionsSet);
|
|
101
138
|
}
|
|
102
139
|
|
|
103
140
|
/**
|
|
@@ -112,8 +149,8 @@ export function enableAllInputs(key: string): void {
|
|
|
112
149
|
export function disableAllInputs(key: string): void {
|
|
113
150
|
errorIfFeaturesNotInitialized(FEATURE_NAME);
|
|
114
151
|
|
|
115
|
-
v.run.
|
|
116
|
-
v.run.
|
|
152
|
+
v.run.disableAllInputsWithWhitelistMap.set(key, new Set());
|
|
153
|
+
v.run.enableAllInputsWithBlacklistMap.delete(key);
|
|
117
154
|
}
|
|
118
155
|
|
|
119
156
|
/**
|
|
@@ -132,8 +169,8 @@ export function enableAllInputsExceptFor(
|
|
|
132
169
|
): void {
|
|
133
170
|
errorIfFeaturesNotInitialized(FEATURE_NAME);
|
|
134
171
|
|
|
135
|
-
v.run.
|
|
136
|
-
v.run.
|
|
172
|
+
v.run.disableAllInputsWithWhitelistMap.delete(key);
|
|
173
|
+
v.run.enableAllInputsWithBlacklistMap.set(key, blacklist);
|
|
137
174
|
}
|
|
138
175
|
|
|
139
176
|
/**
|
|
@@ -152,8 +189,8 @@ export function disableAllInputsExceptFor(
|
|
|
152
189
|
): void {
|
|
153
190
|
errorIfFeaturesNotInitialized(FEATURE_NAME);
|
|
154
191
|
|
|
155
|
-
v.run.
|
|
156
|
-
v.run.
|
|
192
|
+
v.run.disableAllInputsWithWhitelistMap.set(key, whitelist);
|
|
193
|
+
v.run.enableAllInputsWithBlacklistMap.delete(key);
|
|
157
194
|
}
|
|
158
195
|
|
|
159
196
|
/**
|
package/src/features/pause.ts
CHANGED
|
@@ -181,7 +181,8 @@ export function unpause(): void {
|
|
|
181
181
|
// After a vanilla pause, the tears will not resume their normal velocity and will "stick" to the
|
|
182
182
|
// air. Even if we try to help the tears along by explicitly resetting all of the velocity-related
|
|
183
183
|
// variables to their initial values, this will not make a difference. Thus, revert to removing
|
|
184
|
-
// all of the tears and projectiles in the room.
|
|
184
|
+
// all of the tears and projectiles in the room. (If a Ludovico tear is removed, it will
|
|
185
|
+
// automatically be respawned on the next frame.)
|
|
185
186
|
removeAllTears();
|
|
186
187
|
removeAllProjectiles();
|
|
187
188
|
}
|