diff --git a/docs/lua-docs/doc.json b/docs/lua-docs/doc.json new file mode 100644 index 000000000..07315ae3f --- /dev/null +++ b/docs/lua-docs/doc.json @@ -0,0 +1,19690 @@ +[ + { + "defines": [ + { + "extends": [ + { + "finish": 30029, + "start": 30019, + "type": "doc.extends.name", + "view": "SockClient" + } + ], + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 30029, + "start": 30010, + "type": "doc.class" + }, + { + "extends": [ + { + "finish": 9310033, + "start": 9310023, + "type": "doc.extends.name", + "view": "SockClient" + } + ], + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9310033, + "start": 9310014, + "type": "doc.class" + } + ], + "fields": [ + { + "extends": { + "finish": 50023, + "start": 50017, + "type": "getlocal", + "view": "Client" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 50014, + "name": "__index", + "start": 50000, + "type": "setfield" + }, + { + "extends": { + "finish": 10100042, + "start": 10100038, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10100035, + "name": "acknowledgeMaxSize", + "start": 10100004, + "type": "setfield" + }, + { + "desc": "Checks if the current local user is a client.\n\n@*return* `true` — if client, false if not\nSee: [Server.amIServer](../../mods/noita-mp/files/scripts/net/Server.lua#852#9)", + "extends": { + "args": [ + { + "finish": 9090008, + "start": 9090008, + "type": "self", + "view": "Client" + } + ], + "desc": "Checks if the current local user is a client.\n\n@*return* `true` — if client, false if not\nSee: [Server.amIServer](../../mods/noita-mp/files/scripts/net/Server.lua#852#9)", + "finish": 9140003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 9090000, + "type": "function", + "view": "function Client.amIClient(self: Client)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9090025, + "name": "amIClient", + "start": 9090009, + "type": "setmethod" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 9460133, + "start": 9460038, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9460035, + "name": "customProfiler", + "start": 9460008, + "type": "setfield" + }, + { + "extends": { + "finish": 10050105, + "start": 10050035, + "type": "binary", + "view": "EntityCache" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10050032, + "name": "entityCache", + "start": 10050008, + "type": "setfield" + }, + { + "extends": { + "finish": 9590105, + "start": 9590035, + "type": "binary", + "view": "EntityUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9590032, + "name": "entityUtils", + "start": 9590008, + "type": "setfield" + }, + { + "extends": { + "finish": 9930101, + "start": 9930033, + "type": "binary", + "view": "FileUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9930030, + "name": "fileUtils", + "start": 9930008, + "type": "setfield" + }, + { + "desc": "Mainly for profiling. Returns then network cache, aka acknowledge.", + "extends": { + "args": [ + { + "finish": 9180008, + "start": 9180008, + "type": "self", + "view": "Client" + } + ], + "desc": "Mainly for profiling. Returns then network cache, aka acknowledge.", + "finish": 9200003, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 9180000, + "type": "function", + "view": "function Client.getAckCacheSize(self: Client)\n -> cacheSize: number" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9180031, + "name": "getAckCacheSize", + "start": 9180009, + "type": "setmethod" + }, + { + "extends": { + "finish": 9500080, + "start": 9500035, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9500032, + "name": "globalUtils", + "start": 9500008, + "type": "setfield" + }, + { + "extends": { + "finish": 9970107, + "start": 9970036, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9970033, + "name": "globalsUtils", + "start": 9970008, + "type": "setfield" + }, + { + "extends": { + "finish": 10110041, + "start": 10110038, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10110021, + "name": "guid", + "start": 10110004, + "type": "setfield" + }, + { + "extends": { + "finish": 10300093, + "start": 10300024, + "type": "select", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10300021, + "name": "guid", + "start": 10300004, + "type": "setfield" + }, + { + "desc": "GuidUtils is just for generating and validating GUIDs. Guids are used for identifying clients and servers.", + "extends": { + "finish": 9620101, + "start": 9620033, + "type": "binary", + "view": "GuidUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9620030, + "name": "guidUtils", + "start": 9620008, + "type": "setfield" + }, + { + "extends": { + "finish": 10120065, + "start": 10120038, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10120023, + "name": "health", + "start": 10120004, + "type": "setfield" + }, + { + "extends": { + "finish": 10130046, + "start": 10130038, + "type": "string", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10130020, + "name": "iAm", + "start": 10130004, + "type": "setfield" + }, + { + "extends": { + "finish": 9660117, + "start": 9660030, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9660027, + "name": "logger", + "start": 9660008, + "type": "setfield" + }, + { + "desc": "Util class for fetching information about local and remote minas.", + "extends": { + "finish": 9690073, + "start": 9690033, + "type": "binary", + "view": "MinaUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9690030, + "name": "minaUtils", + "start": 9690008, + "type": "setfield" + }, + { + "extends": { + "finish": 10140041, + "start": 10140038, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10140028, + "name": "missingMods", + "start": 10140004, + "type": "setfield" + }, + { + "extends": { + "finish": 10150041, + "start": 10150038, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10150021, + "name": "name", + "start": 10150004, + "type": "setfield" + }, + { + "extends": { + "finish": 10290097, + "start": 10290024, + "type": "select", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10290021, + "name": "name", + "start": 10290004, + "type": "setfield" + }, + { + "extends": { + "finish": 9530107, + "start": 9530036, + "type": "binary", + "view": "NetworkCache" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9530033, + "name": "networkCache", + "start": 9530008, + "type": "setfield" + }, + { + "extends": { + "finish": 9560117, + "start": 9560041, + "type": "binary", + "view": "NetworkCacheUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9560038, + "name": "networkCacheUtils", + "start": 9560008, + "type": "setfield" + }, + { + "extends": { + "finish": 9740067, + "start": 9720036, + "type": "binary", + "view": "NetworkUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9720033, + "name": "networkUtils", + "start": 9720008, + "type": "setfield" + }, + { + "desc": "NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API", + "extends": { + "finish": 10010113, + "start": 10010039, + "type": "binary", + "view": "NetworkVscUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10010036, + "name": "networkVscUtils", + "start": 10010008, + "type": "setfield" + }, + { + "desc": "Client constructor. Inherits from SockClient sock.Client.\n\n@*param* `server` — required\n\n@*param* `np` — required", + "extends": { + "args": [ + { + "finish": 9300032, + "start": 9300020, + "type": "local", + "view": "Client|nil" + }, + { + "finish": 9300049, + "start": 9300034, + "type": "local", + "view": "string|nil" + }, + { + "finish": 9300055, + "start": 9300051, + "type": "local", + "view": "number|nil" + }, + { + "finish": 9300068, + "start": 9300057, + "type": "local", + "view": "number|nil" + }, + { + "desc": "required", + "finish": 9300076, + "start": 9300070, + "type": "local", + "view": "Server" + }, + { + "desc": "required", + "finish": 9300080, + "start": 9300078, + "type": "local", + "view": "noitapatcher" + } + ], + "desc": "Client constructor. Inherits from SockClient sock.Client.\n\n@*param* `server` — required\n\n@*param* `np` — required", + "finish": 10340003, + "returns": [ + { + "type": "function.return", + "view": "Client" + } + ], + "start": 9300000, + "type": "function", + "view": "function Client.new(clientObject: Client|nil, serverOrAddress: string|nil, port: number|nil, maxChannels: number|nil, server: Server, np: noitapatcher)\n -> Client" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9300019, + "name": "new", + "start": 9300009, + "type": "setfield" + }, + { + "desc": "Class for using Noita components.", + "extends": { + "finish": 9890121, + "start": 9890043, + "type": "binary", + "view": "NoitaComponentUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9890040, + "name": "noitaComponentUtils", + "start": 9890008, + "type": "setfield" + }, + { + "desc": " NoitaMpSettings: Replacement for Noita ModSettings.", + "extends": { + "finish": 9430113, + "start": 9430039, + "type": "binary", + "view": "NoitaMpSettings" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9430036, + "name": "noitaMpSettings", + "start": 9430008, + "type": "setfield" + }, + { + "extends": { + "finish": 9790043, + "start": 9770041, + "type": "binary", + "view": "NoitaPatcherUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9770038, + "name": "noitaPatcherUtils", + "start": 9770008, + "type": "setfield" + }, + { + "extends": { + "finish": 10160041, + "start": 10160038, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10160021, + "name": "nuid", + "start": 10160004, + "type": "setfield" + }, + { + "extends": { + "finish": 10170040, + "start": 10170038, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10170029, + "name": "otherClients", + "start": 10170004, + "type": "setfield" + }, + { + "desc": "Connects to a server on ip and port. Both can be nil, then ModSettings will be used. Inherit from sock.connect.\n\n@*param* `ip` — localhost or 127.0.0.1 or nil\n\n@*param* `port` — port number from 1 to max of 65535 or nil\n\n@*param* `code` — connection code 0 = connecting first time, 1 = connected second time with loaded seed\nSee: ~sock.connect~", + "extends": { + "args": [ + { + "finish": 6930008, + "start": 6930008, + "type": "self", + "view": "Client" + }, + { + "desc": "localhost or 127.0.0.1 or nil", + "finish": 6930029, + "start": 6930027, + "type": "local", + "view": "string|nil" + }, + { + "desc": "port number from 1 to max of 65535 or nil", + "finish": 6930035, + "start": 6930031, + "type": "local", + "view": "number|nil" + }, + { + "desc": "connection code 0 = connecting first time, 1 = connected second time with loaded seed", + "finish": 6930041, + "start": 6930037, + "type": "local", + "view": "number|nil" + } + ], + "desc": "Connects to a server on ip and port. Both can be nil, then ModSettings will be used. Inherit from sock.connect.\n\n@*param* `ip` — localhost or 127.0.0.1 or nil\n\n@*param* `port` — port number from 1 to max of 65535 or nil\n\n@*param* `code` — connection code 0 = connecting first time, 1 = connected second time with loaded seed\nSee: ~sock.connect~", + "finish": 7220003, + "start": 6930000, + "type": "function", + "view": "function Client.preConnect(self: Client, ip: string|nil, port: number|nil, code: number|nil)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 6930026, + "name": "preConnect", + "start": 6930009, + "type": "setmethod" + }, + { + "desc": " Disconnects from the server.\nSee: ~SockClient.disconnect~", + "extends": { + "args": [ + { + "finish": 7260008, + "start": 7260008, + "type": "self", + "view": "Client" + } + ], + "desc": " Disconnects from the server.\nSee: ~SockClient.disconnect~", + "finish": 7320003, + "start": 7260000, + "type": "function", + "view": "function Client.preDisconnect(self: Client)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 7260029, + "name": "preDisconnect", + "start": 7260009, + "type": "setmethod" + }, + { + "desc": "Sends a message to the server. Inherit from sock.send.\n\n@*param* `event` — required\n\n@*param* `data` — required\n\n@*return* `true` — if message was sent, false if not\nSee: ~sock.send~", + "extends": { + "args": [ + { + "finish": 7710008, + "start": 7710008, + "type": "self", + "view": "Client" + }, + { + "desc": "required", + "finish": 7710029, + "start": 7710024, + "type": "local", + "view": "string" + }, + { + "desc": "required", + "finish": 7710035, + "start": 7710031, + "type": "local", + "view": "table" + } + ], + "desc": "Sends a message to the server. Inherit from sock.send.\n\n@*param* `event` — required\n\n@*param* `data` — required\n\n@*return* `true` — if message was sent, false if not\nSee: ~sock.send~", + "finish": 7930003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 7710000, + "type": "function", + "view": "function Client.preSend(self: Client, event: string, data: table)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 7710023, + "name": "preSend", + "start": 7710009, + "type": "setmethod" + }, + { + "desc": "Updates the Client by checking for network events and handling them. Inherit from sock.update.\n\n@*param* `startFrameTime` — required\nSee: ~SockClient.update~", + "extends": { + "args": [ + { + "finish": 7380008, + "start": 7380008, + "type": "self", + "view": "Client" + }, + { + "desc": "required", + "finish": 7380040, + "start": 7380026, + "type": "local", + "view": "number" + } + ], + "desc": "Updates the Client by checking for network events and handling them. Inherit from sock.update.\n\n@*param* `startFrameTime` — required\nSee: ~SockClient.update~", + "finish": 7640003, + "start": 7380000, + "type": "function", + "view": "function Client.preUpdate(self: Client, startFrameTime: number)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 7380025, + "name": "preUpdate", + "start": 7380009, + "type": "setmethod" + }, + { + "extends": { + "finish": 10180041, + "start": 10180038, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10180029, + "name": "requiredMods", + "start": 10180004, + "type": "setfield" + }, + { + "desc": "Sends dead nuids to the server.\n\n@*param* `deadNuids` — required\n\n@*return* `true` — if message was sent, false if not", + "extends": { + "args": [ + { + "finish": 8650008, + "start": 8650008, + "type": "self", + "view": "Client" + }, + { + "desc": "required", + "finish": 8650039, + "start": 8650030, + "type": "local", + "view": "table" + } + ], + "desc": "Sends dead nuids to the server.\n\n@*param* `deadNuids` — required\n\n@*return* `true` — if message was sent, false if not", + "finish": 8720003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 8650000, + "type": "function", + "view": "function Client.sendDeadNuids(self: Client, deadNuids: table)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 8650029, + "name": "sendDeadNuids", + "start": 8650009, + "type": "setmethod" + }, + { + "desc": "Sends entity data to the server.\n\n@*param* `entityId` — required", + "extends": { + "args": [ + { + "finish": 8390008, + "start": 8390008, + "type": "self", + "view": "Client" + }, + { + "desc": "required", + "finish": 8390039, + "start": 8390031, + "type": "local", + "view": "number" + } + ], + "desc": "Sends entity data to the server.\n\n@*param* `entityId` — required", + "finish": 8600003, + "start": 8390000, + "type": "function", + "view": "function Client.sendEntityData(self: Client, entityId: number)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 8390030, + "name": "sendEntityData", + "start": 8390009, + "type": "setmethod" + }, + { + "desc": "Sends a message that the client has a nuid, but no linked entity.\n\n@*param* `nuid` — required\n\n@*return* `true` — if message was sent, false if not", + "extends": { + "args": [ + { + "finish": 8310008, + "start": 8310008, + "type": "self", + "view": "Client" + }, + { + "desc": "required", + "finish": 8310033, + "start": 8310029, + "type": "local", + "view": "number" + } + ], + "desc": "Sends a message that the client has a nuid, but no linked entity.\n\n@*param* `nuid` — required\n\n@*return* `true` — if message was sent, false if not", + "finish": 8350003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 8310000, + "type": "function", + "view": "function Client.sendLostNuid(self: Client, nuid: number)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 8310028, + "name": "sendLostNuid", + "start": 8310009, + "type": "setmethod" + }, + { + "desc": "Sends mina information to the server.", + "extends": { + "args": [ + { + "finish": 8760008, + "start": 8760008, + "type": "self", + "view": "Client" + } + ], + "desc": "Sends mina information to the server.", + "finish": 9040003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 8760000, + "type": "function", + "view": "function Client.sendMinaInformation(self: Client)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 8760035, + "name": "sendMinaInformation", + "start": 8760009, + "type": "setmethod" + }, + { + "desc": "Sends a message to the server that the client needs a nuid.", + "extends": { + "args": [ + { + "finish": 7990008, + "start": 7990008, + "type": "self", + "view": "Client" + }, + { + "finish": 7990038, + "start": 7990029, + "type": "local", + "view": "string" + }, + { + "finish": 7990049, + "start": 7990040, + "type": "local", + "view": "string" + }, + { + "finish": 7990059, + "start": 7990051, + "type": "local", + "view": "number" + } + ], + "desc": "Sends a message to the server that the client needs a nuid.", + "finish": 8260003, + "start": 7990000, + "type": "function", + "view": "function Client.sendNeedNuid(self: Client, ownerName: string, ownerGuid: string, entityId: number)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 7990028, + "name": "sendNeedNuid", + "start": 7990009, + "type": "setmethod" + }, + { + "extends": { + "finish": 9820088, + "start": 9820030, + "type": "binary", + "view": "Server" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9820027, + "name": "server", + "start": 9820008, + "type": "setfield" + }, + { + "extends": { + "finish": 10190040, + "start": 10190038, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10190027, + "name": "serverInfo", + "start": 10190004, + "type": "setfield" + }, + { + "extends": { + "finish": 10200043, + "start": 10200038, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10200027, + "name": "syncedMods", + "start": 10200004, + "type": "setfield" + }, + { + "extends": { + "finish": 10210054, + "start": 10210038, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 10210026, + "name": "transform", + "start": 10210004, + "type": "setfield" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 9850093, + "start": 9850029, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Client.lua", + "finish": 9850026, + "name": "utils", + "start": 9850008, + "type": "setfield" + }, + { + "extends": { + "finish": 7210058, + "start": 7210026, + "type": "getfield", + "view": "function" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockClient.lua", + "finish": 7210023, + "name": "zipTable", + "start": 7210004, + "type": "setfield" + } + ], + "name": "Client", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 10024, + "start": 10010, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1390028, + "start": 1390014, + "type": "doc.class" + } + ], + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "fields": [ + { + "extends": { + "finish": 1830043, + "start": 1830029, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1830026, + "name": "ffi", + "start": 1830008, + "type": "setfield" + }, + { + "extends": { + "finish": 1660090, + "start": 1640035, + "type": "binary", + "view": "FileUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1640032, + "name": "fileUtils", + "start": 1640008, + "type": "setfield" + }, + { + "desc": "Returns the size of the report cache.", + "extends": { + "args": [ + { + "finish": 1210008, + "start": 1210008, + "type": "self", + "view": "CustomProfiler" + } + ], + "desc": "Returns the size of the report cache.", + "finish": 1270003, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 1210000, + "type": "function", + "view": "function CustomProfiler.getSize(self: CustomProfiler)\n -> size: number" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1210031, + "name": "getSize", + "start": 1210009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 250008, + "start": 250008, + "type": "self", + "view": "CustomProfiler" + } + ], + "finish": 380003, + "start": 250000, + "type": "function", + "view": "function CustomProfiler.init(self: CustomProfiler)" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 250028, + "name": "init", + "start": 250009, + "type": "setmethod" + }, + { + "desc": "CustomProfiler constructor.\n\n@*param* `customProfiler` — require(\"CustomProfiler\") or nil\n\n@*param* `fileUtils` — can be nil\n\n@*param* `noitaMpSettings` — required\n\n@*param* `plotly` — can be nil\n\n@*param* `socket` — can be nil\n\n@*param* `utils` — can be nil\n\n@*param* `winapi` — can be nil", + "extends": { + "args": [ + { + "finish": 1380008, + "start": 1380008, + "type": "self", + "view": "CustomProfiler" + }, + { + "desc": "require(\"CustomProfiler\") or nil", + "finish": 1380042, + "start": 1380028, + "type": "local", + "view": "CustomProfiler|nil" + }, + { + "desc": "can be nil", + "finish": 1380053, + "start": 1380044, + "type": "local", + "view": "FileUtils|nil" + }, + { + "desc": "required", + "finish": 1380070, + "start": 1380055, + "type": "local", + "view": "NoitaMpSettings" + }, + { + "desc": "can be nil", + "finish": 1380078, + "start": 1380072, + "type": "local", + "view": "plotly|nil" + }, + { + "desc": "can be nil", + "finish": 1380086, + "start": 1380080, + "type": "local", + "view": "socket|nil" + }, + { + "desc": "can be nil", + "finish": 1380093, + "start": 1380088, + "type": "local", + "view": "Utils|nil" + }, + { + "desc": "can be nil", + "finish": 1380101, + "start": 1380095, + "type": "local", + "view": "winapi|nil" + } + ], + "desc": "CustomProfiler constructor.\n\n@*param* `customProfiler` — require(\"CustomProfiler\") or nil\n\n@*param* `fileUtils` — can be nil\n\n@*param* `noitaMpSettings` — required\n\n@*param* `plotly` — can be nil\n\n@*param* `socket` — can be nil\n\n@*param* `utils` — can be nil\n\n@*param* `winapi` — can be nil", + "finish": 2170003, + "returns": [ + { + "type": "function.return", + "view": "CustomProfiler" + } + ], + "start": 1380000, + "type": "function", + "view": "function CustomProfiler.new(self: CustomProfiler, customProfiler: CustomProfiler|nil, fileUtils: FileUtils|nil, noitaMpSettings: NoitaMpSettings, plotly: plotly|nil, socket: socket|nil, utils: Utils|nil, winapi: winapi|nil)\n -> CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1380027, + "name": "new", + "start": 1380009, + "type": "setmethod" + }, + { + "desc": " NoitaMpSettings: Replacement for Noita ModSettings.", + "extends": { + "finish": 1500124, + "start": 1500041, + "type": "binary", + "view": "NoitaMpSettings" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1500038, + "name": "noitaMpSettings", + "start": 1500008, + "type": "setfield" + }, + { + "desc": ":new()", + "extends": { + "finish": 1700059, + "start": 1700032, + "type": "binary", + "view": "plotly" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1700029, + "name": "plotly", + "start": 1700008, + "type": "setfield" + }, + { + "desc": "Creates a report of all the functions that were profiled into profiler_2022-11-24_20-23-00.json", + "extends": { + "args": [ + { + "finish": 1010008, + "start": 1010008, + "type": "self", + "view": "CustomProfiler" + } + ], + "desc": "Creates a report of all the functions that were profiled into profiler_2022-11-24_20-23-00.json", + "finish": 1170003, + "start": 1010000, + "type": "function", + "view": "function CustomProfiler.report(self: CustomProfiler)" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1010030, + "name": "report", + "start": 1010009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1550059, + "start": 1550032, + "type": "binary", + "view": "socket" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1550029, + "name": "socket", + "start": 1550008, + "type": "setfield" + }, + { + "desc": "Starts the profiler. This has to be called before the function (or first line of function code) that you want to measure.\n\n@*param* `functionName` — The name of the function that you want to measure. This has to be the same as the one used in CustomProfiler:stop(functionName, customProfilerCounter)\n\n@*return* `returnCounter` — The counter that is used to determine the order of the function calls. This has to be passed to CustomProfiler:stop(functionName, customProfilerCounter)\nSee: [CustomProfiler](../../mods/noita-mp/files/scripts/util/CustomProfiler.lua#2#10) stop(functionName, customProfilerCounter)", + "extends": { + "args": [ + { + "finish": 580008, + "start": 580008, + "type": "self", + "view": "CustomProfiler" + }, + { + "desc": "The name of the function that you want to measure. This has to be the same as the one used in CustomProfiler:stop(functionName, customProfilerCounter)", + "finish": 580042, + "start": 580030, + "type": "local", + "view": "string" + } + ], + "desc": "Starts the profiler. This has to be called before the function (or first line of function code) that you want to measure.\n\n@*param* `functionName` — The name of the function that you want to measure. This has to be the same as the one used in CustomProfiler:stop(functionName, customProfilerCounter)\n\n@*return* `returnCounter` — The counter that is used to determine the order of the function calls. This has to be passed to CustomProfiler:stop(functionName, customProfilerCounter)\nSee: [CustomProfiler](../../mods/noita-mp/files/scripts/util/CustomProfiler.lua#2#10) stop(functionName, customProfilerCounter)", + "finish": 780003, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 580000, + "type": "function", + "view": "function CustomProfiler.start(self: CustomProfiler, functionName: string)\n -> returnCounter: number" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 580029, + "name": "start", + "start": 580009, + "type": "setmethod" + }, + { + "desc": "Starts the external profiler.\n\n@*param* `pid` — The process id of Noita.", + "extends": { + "args": [ + { + "finish": 420008, + "start": 420008, + "type": "self", + "view": "CustomProfiler" + }, + { + "desc": "The process id of Noita.", + "finish": 420049, + "start": 420046, + "type": "local", + "view": "number" + } + ], + "desc": "Starts the external profiler.\n\n@*param* `pid` — The process id of Noita.", + "finish": 520003, + "start": 420000, + "type": "function", + "view": "function CustomProfiler.startExternalProfiler(self: CustomProfiler, pid: number)" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 420045, + "name": "startExternalProfiler", + "start": 420009, + "type": "setmethod" + }, + { + "desc": "Stops the profiler. This has to be called after the function (or last line of function code, but before any `return`) that you want to measure.\n\n@*param* `functionName` — The name of the function that you want to measure. This has to be the same as the one used in @see CustomProfiler.start(functionName)\n\n@*param* `customProfilerCounter` — The counter that is used to determine the order of the function calls. This has to same as the one returned by @see CustomProfiler.start(functionName)", + "extends": { + "args": [ + { + "finish": 830008, + "start": 830008, + "type": "self", + "view": "CustomProfiler" + }, + { + "desc": "The name of the function that you want to measure. This has to be the same as the one used in @see CustomProfiler.start(functionName)", + "finish": 830041, + "start": 830029, + "type": "local", + "view": "string" + }, + { + "desc": "The counter that is used to determine the order of the function calls. This has to same as the one returned by @see CustomProfiler.start(functionName)", + "finish": 830064, + "start": 830043, + "type": "local", + "view": "number" + } + ], + "desc": "Stops the profiler. This has to be called after the function (or last line of function code, but before any `return`) that you want to measure.\n\n@*param* `functionName` — The name of the function that you want to measure. This has to be the same as the one used in @see CustomProfiler.start(functionName)\n\n@*param* `customProfilerCounter` — The counter that is used to determine the order of the function calls. This has to same as the one returned by @see CustomProfiler.start(functionName)", + "finish": 980003, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 830000, + "type": "function", + "view": "function CustomProfiler.stop(self: CustomProfiler, functionName: string, customProfilerCounter: number)\n -> integer" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 830028, + "name": "stop", + "start": 830009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1590054, + "start": 1590029, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1590026, + "name": "udp", + "start": 1590008, + "type": "setfield" + }, + { + "desc": ":new()", + "extends": { + "finish": 1750056, + "start": 1750031, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1750028, + "name": "utils", + "start": 1750008, + "type": "setfield" + }, + { + "extends": { + "finish": 1790059, + "start": 1790032, + "type": "binary", + "view": "winapi" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 1790029, + "name": "winapi", + "start": 1790008, + "type": "setfield" + } + ], + "name": "CustomProfiler", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 21, + "start": 10, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 1140025, + "start": 1140014, + "type": "doc.class" + } + ], + "fields": [ + { + "extends": { + "args": [ + { + "finish": 390008, + "start": 390008, + "type": "self", + "view": "EntityCache" + }, + { + "finish": 390038, + "start": 390030, + "type": "local", + "view": "any" + } + ], + "finish": 440003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 390000, + "type": "function", + "view": "function EntityCache.contains(self: EntityCache, entityId: any)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 390029, + "name": "contains", + "start": 390009, + "type": "setmethod" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 1230076, + "start": 1220043, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 1220040, + "name": "customProfiler", + "start": 1220008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 670008, + "start": 670008, + "type": "self", + "view": "EntityCache" + }, + { + "finish": 670036, + "start": 670028, + "type": "local", + "view": "any" + } + ], + "finish": 720003, + "start": 670000, + "type": "function", + "view": "function EntityCache.delete(self: EntityCache, entityId: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 670027, + "name": "delete", + "start": 670009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 740008, + "start": 740008, + "type": "self", + "view": "EntityCache" + }, + { + "finish": 740036, + "start": 740032, + "type": "local", + "view": "any" + } + ], + "finish": 830003, + "start": 740000, + "type": "function", + "view": "function EntityCache.deleteNuid(self: EntityCache, nuid: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 740031, + "name": "deleteNuid", + "start": 740009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1280051, + "start": 1280040, + "type": "getlocal", + "view": "EntityUtils|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 1280037, + "name": "entityUtils", + "start": 1280008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 460008, + "start": 460008, + "type": "self", + "view": "EntityCache" + }, + { + "finish": 460033, + "start": 460025, + "type": "local", + "view": "any" + } + ], + "finish": 580003, + "returns": [ + { + "type": "function.return", + "view": "unknown|nil" + } + ], + "start": 460000, + "type": "function", + "view": "function EntityCache.get(self: EntityCache, entityId: any)\n -> unknown|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 460024, + "name": "get", + "start": 460009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 600008, + "start": 600008, + "type": "self", + "view": "EntityCache" + }, + { + "finish": 600033, + "start": 600029, + "type": "local", + "view": "any" + } + ], + "finish": 650003, + "start": 600000, + "type": "function", + "view": "function EntityCache.getNuid(self: EntityCache, nuid: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 600028, + "name": "getNuid", + "start": 600009, + "type": "setmethod" + }, + { + "desc": "EntityCache constructor\n\n@*param* `entityCacheObject` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `entityUtils` — optional\n\n@*param* `utils` — optional", + "extends": { + "args": [ + { + "finish": 1130008, + "start": 1130008, + "type": "self", + "view": "EntityCache" + }, + { + "desc": "optional", + "finish": 1130042, + "start": 1130025, + "type": "local", + "view": "EntityCache|nil" + }, + { + "desc": "required", + "finish": 1130058, + "start": 1130044, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "optional", + "finish": 1130071, + "start": 1130060, + "type": "local", + "view": "EntityUtils|nil" + }, + { + "desc": "optional", + "finish": 1130078, + "start": 1130073, + "type": "local", + "view": "Utils|nil" + } + ], + "desc": "EntityCache constructor\n\n@*param* `entityCacheObject` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `entityUtils` — optional\n\n@*param* `utils` — optional", + "finish": 1380003, + "returns": [ + { + "type": "function.return", + "view": "EntityCache" + } + ], + "start": 1130000, + "type": "function", + "view": "function EntityCache.new(self: EntityCache, entityCacheObject: EntityCache|nil, customProfiler: CustomProfiler, entityUtils: EntityUtils|nil, utils: Utils|nil)\n -> EntityCache" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 1130024, + "name": "new", + "start": 1130009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 80008, + "start": 80008, + "type": "self", + "view": "EntityCache" + }, + { + "finish": 80033, + "start": 80025, + "type": "local", + "view": "any" + }, + { + "finish": 80039, + "start": 80035, + "type": "local", + "view": "any" + }, + { + "finish": 80050, + "start": 80041, + "type": "local", + "view": "any" + }, + { + "finish": 80061, + "start": 80052, + "type": "local", + "view": "any" + }, + { + "finish": 80071, + "start": 80063, + "type": "local", + "view": "any" + }, + { + "finish": 80074, + "start": 80073, + "type": "local", + "view": "any" + }, + { + "finish": 80077, + "start": 80076, + "type": "local", + "view": "any" + }, + { + "finish": 80087, + "start": 80079, + "type": "local", + "view": "any" + }, + { + "finish": 80093, + "start": 80089, + "type": "local", + "view": "any" + }, + { + "finish": 80099, + "start": 80095, + "type": "local", + "view": "any" + }, + { + "finish": 80114, + "start": 80101, + "type": "local", + "view": "any" + }, + { + "finish": 90034, + "start": 90025, + "type": "local", + "view": "any" + }, + { + "finish": 90051, + "start": 90036, + "type": "local", + "view": "any" + }, + { + "finish": 90073, + "start": 90053, + "type": "local", + "view": "any" + } + ], + "finish": 370003, + "start": 80000, + "type": "function", + "view": "function EntityCache.set(self: EntityCache, entityId: any, nuid: any, ownerGuid: any, ownerName: any, filepath: any, x: any, y: any, rotation: any, velX: any, velY: any, currentHealth: any, maxHealth: any, fullySerialised: any, serialisedRootEntity: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 80024, + "name": "set", + "start": 80009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 850008, + "start": 850008, + "type": "self", + "view": "EntityCache" + } + ], + "finish": 980003, + "returns": [ + { + "type": "function.return", + "view": "integer|unknown" + } + ], + "start": 850000, + "type": "function", + "view": "function EntityCache.size(self: EntityCache)\n -> integer|unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 850025, + "name": "size", + "start": 850009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 1000008, + "start": 1000008, + "type": "self", + "view": "EntityCache" + } + ], + "finish": 1050003, + "start": 1000000, + "type": "function", + "view": "function EntityCache.usage(self: EntityCache)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 1000026, + "name": "usage", + "start": 1000009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 1340028, + "start": 1330034, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCache.lua", + "finish": 1330031, + "name": "utils", + "start": 1330008, + "type": "setfield" + } + ], + "name": "EntityCache", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/EntityCacheUtils.lua", + "finish": 26, + "start": 10, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/EntityCacheUtils.lua", + "finish": 580030, + "start": 580014, + "type": "doc.class" + } + ], + "fields": [ + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 670084, + "start": 660048, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCacheUtils.lua", + "finish": 660045, + "name": "customProfiler", + "start": 660008, + "type": "setfield" + }, + { + "extends": { + "finish": 730078, + "start": 720045, + "type": "binary", + "view": "EntityCache" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCacheUtils.lua", + "finish": 720042, + "name": "entityCache", + "start": 720008, + "type": "setfield" + }, + { + "desc": "Constructor of the EntityCacheUtils class.\n\n@*param* `entityCacheUtilsObject` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `entityCache` — required\n\n@*param* `utils` — optional", + "extends": { + "args": [ + { + "finish": 570008, + "start": 570008, + "type": "self", + "view": "EntityCacheUtils" + }, + { + "desc": "optional", + "finish": 570052, + "start": 570030, + "type": "local", + "view": "EntityCacheUtils|nil" + }, + { + "desc": "required", + "finish": 570068, + "start": 570054, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "required", + "finish": 570081, + "start": 570070, + "type": "local", + "view": "EntityCache" + }, + { + "desc": "optional", + "finish": 570088, + "start": 570083, + "type": "local", + "view": "Utils|nil" + } + ], + "desc": "Constructor of the EntityCacheUtils class.\n\n@*param* `entityCacheUtilsObject` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `entityCache` — required\n\n@*param* `utils` — optional", + "finish": 830003, + "returns": [ + { + "type": "function.return", + "view": "EntityCacheUtils" + } + ], + "start": 570000, + "type": "function", + "view": "function EntityCacheUtils.new(self: EntityCacheUtils, entityCacheUtilsObject: EntityCacheUtils|nil, customProfiler: CustomProfiler, entityCache: EntityCache, utils: Utils|nil)\n -> EntityCacheUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCacheUtils.lua", + "finish": 570029, + "name": "new", + "start": 570009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 80008, + "start": 80008, + "type": "self", + "view": "EntityCacheUtils" + }, + { + "finish": 80038, + "start": 80030, + "type": "local", + "view": "any" + }, + { + "finish": 80044, + "start": 80040, + "type": "local", + "view": "any" + }, + { + "finish": 80055, + "start": 80046, + "type": "local", + "view": "any" + }, + { + "finish": 80066, + "start": 80057, + "type": "local", + "view": "any" + }, + { + "finish": 80076, + "start": 80068, + "type": "local", + "view": "any" + }, + { + "finish": 80079, + "start": 80078, + "type": "local", + "view": "any" + }, + { + "finish": 80082, + "start": 80081, + "type": "local", + "view": "any" + }, + { + "finish": 80092, + "start": 80084, + "type": "local", + "view": "any" + }, + { + "finish": 80098, + "start": 80094, + "type": "local", + "view": "any" + }, + { + "finish": 80104, + "start": 80100, + "type": "local", + "view": "any" + }, + { + "finish": 90043, + "start": 90030, + "type": "local", + "view": "any" + }, + { + "finish": 90054, + "start": 90045, + "type": "local", + "view": "any" + }, + { + "finish": 90071, + "start": 90056, + "type": "local", + "view": "any" + }, + { + "finish": 90093, + "start": 90073, + "type": "local", + "view": "any" + } + ], + "finish": 490003, + "start": 80000, + "type": "function", + "view": "function EntityCacheUtils.set(self: EntityCacheUtils, entityId: any, nuid: any, ownerGuid: any, ownerName: any, filepath: any, x: any, y: any, rotation: any, velX: any, velY: any, currentHealth: any, maxHealth: any, fullySerialised: any, serialisedRootEntity: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCacheUtils.lua", + "finish": 80029, + "name": "set", + "start": 80009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 780028, + "start": 770039, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityCacheUtils.lua", + "finish": 770036, + "name": "utils", + "start": 770008, + "type": "setfield" + } + ], + "name": "EntityCacheUtils", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 150021, + "start": 150010, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 5610025, + "start": 5610014, + "type": "doc.class" + } + ], + "fields": [ + { + "desc": " Simply adds a ugly debug circle around the player to visualize the detection radius.", + "extends": { + "args": [ + { + "finish": 4810008, + "start": 4810008, + "type": "self", + "view": "EntityUtils" + }, + { + "finish": 4810066, + "start": 4810053, + "type": "local", + "view": "any" + } + ], + "desc": " Simply adds a ugly debug circle around the player to visualize the detection radius.", + "finish": 5400003, + "start": 4810000, + "type": "function", + "view": "function EntityUtils.addOrChangeDetectionRadiusDebug(self: EntityUtils, player_entity: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 4810052, + "name": "addOrChangeDetectionRadiusDebug", + "start": 4810009, + "type": "setmethod" + }, + { + "extends": { + "finish": 5720109, + "start": 5720035, + "type": "binary", + "view": "Client" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 5720032, + "name": "client", + "start": 5720008, + "type": "setfield" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 5890083, + "start": 5870043, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 5870040, + "name": "customProfiler", + "start": 5870008, + "type": "setfield" + }, + { + "desc": "Destroys the entity by the given nuid.\n\n@*param* `nuid` — The nuid of the entity.", + "extends": { + "args": [ + { + "finish": 4360008, + "start": 4360008, + "type": "self", + "view": "EntityUtils" + }, + { + "finish": 4360039, + "start": 4360035, + "type": "local", + "view": "any" + }, + { + "desc": "The nuid of the entity.", + "finish": 4360045, + "start": 4360041, + "type": "local", + "view": "number" + } + ], + "desc": "Destroys the entity by the given nuid.\n\n@*param* `nuid` — The nuid of the entity.", + "finish": 4760003, + "start": 4360000, + "type": "function", + "view": "function EntityUtils.destroyByNuid(self: EntityUtils, peer: any, nuid: number)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 4360034, + "name": "destroyByNuid", + "start": 4360009, + "type": "setmethod" + }, + { + "extends": { + "finish": 5960075, + "start": 5940046, + "type": "binary", + "view": "EntityCacheUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 5940043, + "name": "enitityCacheUtils", + "start": 5940008, + "type": "setfield" + }, + { + "extends": { + "finish": 6030081, + "start": 6010040, + "type": "binary", + "view": "EntityCache" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 6010037, + "name": "entityCache", + "start": 6010008, + "type": "setfield" + }, + { + "desc": "end\nTODO: temporary dirty whacky hacky fix", + "extends": { + "finish": 3290072, + "start": 3290044, + "type": "getfield", + "view": "EntityCacheUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 3290041, + "name": "entityCacheUtils", + "start": 3290020, + "type": "setfield" + }, + { + "extends": { + "finish": 6170096, + "start": 6150041, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 6150038, + "name": "globalsUtils", + "start": 6150008, + "type": "setfield" + }, + { + "desc": " Checks if a specific entity is polymorphed.", + "extends": { + "args": [ + { + "finish": 680008, + "start": 680008, + "type": "self", + "view": "EntityUtils" + }, + { + "finish": 680049, + "start": 680041, + "type": "local", + "view": "number" + } + ], + "desc": " Checks if a specific entity is polymorphed.", + "finish": 770003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 680000, + "type": "function", + "view": "function EntityUtils.isEntityPolymorphed(self: EntityUtils, entityId: number)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 680040, + "name": "isEntityPolymorphed", + "start": 680009, + "type": "setmethod" + }, + { + "extends": { + "finish": 6100038, + "start": 6080035, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 6080032, + "name": "logger", + "start": 6080008, + "type": "setfield" + }, + { + "desc": "Util class for fetching information about local and remote minas.", + "extends": { + "finish": 6230019, + "start": 6220038, + "type": "binary", + "view": "MinaUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 6220035, + "name": "minaUtils", + "start": 6220008, + "type": "setfield" + }, + { + "extends": { + "finish": 6290019, + "start": 6280041, + "type": "binary", + "view": "NetworkUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 6280038, + "name": "networkUtils", + "start": 6280008, + "type": "setfield" + }, + { + "desc": "NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API", + "extends": { + "finish": 6350019, + "start": 6340044, + "type": "binary", + "view": "NetworkVscUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 6340041, + "name": "networkVscUtils", + "start": 6340008, + "type": "setfield" + }, + { + "desc": "Constructor for EntityUtils. With this constructor you can override the default imports.\n\n@*param* `client` — required\n\n@*param* `customProfiler` — required\n\n@*param* `enitityCacheUtils` — required\n\n@*param* `entityCache` — required\n\n@*param* `globalsUtils` — optional\n\n@*param* `logger` — optional\n\n@*param* `minaUtils` — required\n\n@*param* `networkUtils` — required\n\n@*param* `networkVscUtils` — required\n\n@*param* `noitaComponentUtils` — required\n\n@*param* `noitaMpSettings` — required\n\n@*param* `nuidUtils` — required\n\n@*param* `server` — required\n\n@*param* `utils` — optional\n\n@*param* `np` — required", + "extends": { + "args": [ + { + "finish": 5590008, + "start": 5590008, + "type": "self", + "view": "EntityUtils" + }, + { + "desc": "required", + "finish": 5590031, + "start": 5590025, + "type": "local", + "view": "Client" + }, + { + "desc": "required", + "finish": 5590047, + "start": 5590033, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "required", + "finish": 5590066, + "start": 5590049, + "type": "local", + "view": "EntityCacheUtils" + }, + { + "desc": "required", + "finish": 5590079, + "start": 5590068, + "type": "local", + "view": "EntityCache" + }, + { + "desc": "optional", + "finish": 5590093, + "start": 5590081, + "type": "local", + "view": "GlobalsUtils|nil" + }, + { + "desc": "optional", + "finish": 5590101, + "start": 5590095, + "type": "local", + "view": "Logger|nil" + }, + { + "desc": "required", + "finish": 5590112, + "start": 5590103, + "type": "local", + "view": "MinaUtils" + }, + { + "desc": "required", + "finish": 5590126, + "start": 5590114, + "type": "local", + "view": "NetworkUtils" + }, + { + "desc": "required", + "finish": 5600040, + "start": 5600025, + "type": "local", + "view": "NetworkVscUtils" + }, + { + "desc": "required", + "finish": 5600061, + "start": 5600042, + "type": "local", + "view": "NoitaComponentUtils" + }, + { + "desc": "required", + "finish": 5600078, + "start": 5600063, + "type": "local", + "view": "NoitaMpSettings" + }, + { + "desc": "required", + "finish": 5600089, + "start": 5600080, + "type": "local", + "view": "NuidUtils" + }, + { + "desc": "required", + "finish": 5600097, + "start": 5600091, + "type": "local", + "view": "Server" + }, + { + "desc": "optional", + "finish": 5600104, + "start": 5600099, + "type": "local", + "view": "Utils|nil" + }, + { + "desc": "required", + "finish": 5600108, + "start": 5600106, + "type": "local", + "view": "noitapatcher" + } + ], + "desc": "Constructor for EntityUtils. With this constructor you can override the default imports.\n\n@*param* `client` — required\n\n@*param* `customProfiler` — required\n\n@*param* `enitityCacheUtils` — required\n\n@*param* `entityCache` — required\n\n@*param* `globalsUtils` — optional\n\n@*param* `logger` — optional\n\n@*param* `minaUtils` — required\n\n@*param* `networkUtils` — required\n\n@*param* `networkVscUtils` — required\n\n@*param* `noitaComponentUtils` — required\n\n@*param* `noitaMpSettings` — required\n\n@*param* `nuidUtils` — required\n\n@*param* `server` — required\n\n@*param* `utils` — optional\n\n@*param* `np` — required", + "finish": 6620003, + "returns": [ + { + "type": "function.return", + "view": "EntityUtils" + } + ], + "start": 5590000, + "type": "function", + "view": "function EntityUtils.new(self: EntityUtils, client: Client, customProfiler: CustomProfiler, enitityCacheUtils: EntityCacheUtils, entityCache: EntityCache, globalsUtils: GlobalsUtils|nil, logger: Logger|nil, minaUtils: MinaUtils, networkUtils: NetworkUtils, networkVscUtils: NetworkVscUtils, noitaComponentUtils: NoitaComponentUtils, noitaMpSettings: NoitaMpSettings, nuidUtils: NuidUtils, server: Server, utils: Utils|nil, np: noitapatcher)\n -> EntityUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 5590024, + "name": "new", + "start": 5590009, + "type": "setmethod" + }, + { + "desc": "Class for using Noita components.", + "extends": { + "finish": 6410019, + "start": 6400048, + "type": "binary", + "view": "NoitaComponentUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 6400045, + "name": "noitaComponentUtils", + "start": 6400008, + "type": "setfield" + }, + { + "extends": { + "finish": 6580043, + "start": 6570046, + "type": "select", + "view": "NoitaPatcherUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 6570043, + "name": "noitaPatcherUtils", + "start": 6570008, + "type": "setfield" + }, + { + "desc": "NuidUtils for getting the current network unique identifier", + "extends": { + "finish": 6470019, + "start": 6460038, + "type": "binary", + "view": "NuidUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 6460035, + "name": "nuidUtils", + "start": 6460008, + "type": "setfield" + }, + { + "desc": " Make sure this is only be executed once!", + "extends": { + "args": [ + { + "finish": 490008, + "start": 490008, + "type": "self", + "view": "EntityUtils" + }, + { + "finish": 490045, + "start": 490037, + "type": "local", + "view": "any" + }, + { + "finish": 490051, + "start": 490047, + "type": "local", + "view": "any" + } + ], + "desc": " Make sure this is only be executed once!", + "finish": 640003, + "start": 490000, + "type": "function", + "view": "function EntityUtils.onEntityRemoved(self: EntityUtils, entityId: any, nuid: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 490036, + "name": "onEntityRemoved", + "start": 490009, + "type": "setmethod" + }, + { + "extends": { + "finish": 6530076, + "start": 6520035, + "type": "binary", + "view": "Server" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 6520032, + "name": "server", + "start": 6520008, + "type": "setfield" + }, + { + "desc": " Spawns an entity and applies the transform and velocity to it. Also adds the network_component.\n\n@*param* `velocity` — - can be nil\n\n@*param* `localEntityId` — this is the initial entity_id created by server OR client. It's owner specific! Every\n\n owner has its own entity ids.\n\n@*return* `entityId` — Returns the entity_id of a already existing entity, found by nuid or the newly created entity.", + "extends": { + "args": [ + { + "finish": 3660008, + "start": 3660008, + "type": "self", + "view": "EntityUtils" + }, + { + "finish": 3660038, + "start": 3660033, + "type": "local", + "view": "EntityOwner" + }, + { + "finish": 3660044, + "start": 3660040, + "type": "local", + "view": "number" + }, + { + "finish": 3660047, + "start": 3660046, + "type": "local", + "view": "number" + }, + { + "finish": 3660050, + "start": 3660049, + "type": "local", + "view": "number" + }, + { + "finish": 3660060, + "start": 3660052, + "type": "local", + "view": "number" + }, + { + "desc": "- can be nil", + "finish": 3660070, + "start": 3660062, + "type": "local", + "view": "Vec2?" + }, + { + "finish": 3660080, + "start": 3660072, + "type": "local", + "view": "string" + }, + { + "desc": "this is the initial entity_id created by server OR client. It's owner specific! Every", + "finish": 3660095, + "start": 3660082, + "type": "local", + "view": "number" + }, + { + "finish": 3660103, + "start": 3660097, + "type": "local", + "view": "any" + }, + { + "finish": 3660118, + "start": 3660105, + "type": "local", + "view": "any" + } + ], + "desc": " Spawns an entity and applies the transform and velocity to it. Also adds the network_component.\n\n@*param* `velocity` — - can be nil\n\n@*param* `localEntityId` — this is the initial entity_id created by server OR client. It's owner specific! Every\n\n owner has its own entity ids.\n\n@*return* `entityId` — Returns the entity_id of a already existing entity, found by nuid or the newly created entity.", + "finish": 4100003, + "returns": [ + { + "type": "function.return", + "view": "number?" + } + ], + "start": 3660000, + "type": "function", + "view": "function EntityUtils.spawnEntity(self: EntityUtils, owner: EntityOwner, nuid: number, x: number, y: number, rotation: number, velocity?: Vec2, filename: string, localEntityId: number, health: any, isPolymorphed: any)\n -> entityId: number?" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 3660032, + "name": "spawnEntity", + "start": 3660009, + "type": "setmethod" + }, + { + "desc": " Synchronises dead nuids between server and client.\n\n@*param* `server` — Either server or client must not be nil!\n\n@*param* `client` — Either server or client must not be nil!", + "extends": { + "args": [ + { + "finish": 4150008, + "start": 4150008, + "type": "self", + "view": "EntityUtils" + }, + { + "desc": "Either server or client must not be nil!", + "finish": 4150041, + "start": 4150035, + "type": "local", + "view": "Server|nil" + }, + { + "desc": "Either server or client must not be nil!", + "finish": 4150049, + "start": 4150043, + "type": "local", + "view": "Client|nil" + } + ], + "desc": " Synchronises dead nuids between server and client.\n\n@*param* `server` — Either server or client must not be nil!\n\n@*param* `client` — Either server or client must not be nil!", + "finish": 4320003, + "start": 4150000, + "type": "function", + "view": "function EntityUtils.syncDeadNuids(self: EntityUtils, server: Server|nil, client: Client|nil)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 4150034, + "name": "syncDeadNuids", + "start": 4150009, + "type": "setmethod" + }, + { + "desc": " Adds or updates all network components to the entity.\n Sends the entity data to all other peers.\n\n@*param* `startFrameTime` — Time at the very beginning of the frame.\n\n@*param* `server` — Either server or client must not be nil!\n\n@*param* `client` — Either server or client must not be nil!", + "extends": { + "args": [ + { + "finish": 850008, + "start": 850008, + "type": "self", + "view": "EntityUtils" + }, + { + "desc": "Time at the very beginning of the frame.", + "finish": 850048, + "start": 850034, + "type": "local", + "view": "number" + }, + { + "desc": "Either server or client must not be nil!", + "finish": 850056, + "start": 850050, + "type": "local", + "view": "Server|nil" + }, + { + "desc": "Either server or client must not be nil!", + "finish": 850064, + "start": 850058, + "type": "local", + "view": "Client|nil" + } + ], + "desc": " Adds or updates all network components to the entity.\n Sends the entity data to all other peers.\n\n@*param* `startFrameTime` — Time at the very beginning of the frame.\n\n@*param* `server` — Either server or client must not be nil!\n\n@*param* `client` — Either server or client must not be nil!", + "finish": 3530003, + "start": 850000, + "type": "function", + "view": "function EntityUtils.syncEntities(self: EntityUtils, startFrameTime: number, server: Server|nil, client: Client|nil)" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 850033, + "name": "syncEntities", + "start": 850009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 5820037, + "start": 5810034, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 5810031, + "name": "utils", + "start": 5810008, + "type": "setfield" + } + ], + "name": "EntityUtils", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 19, + "start": 10, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 6660023, + "start": 6660014, + "type": "doc.class" + } + ], + "fields": [ + { + "extends": { + "args": [ + { + "finish": 4240008, + "start": 4240008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 4240052, + "start": 4240032, + "type": "local", + "view": "string" + }, + { + "finish": 4240067, + "start": 4240054, + "type": "local", + "view": "string" + } + ], + "finish": 4400003, + "start": 4240000, + "type": "function", + "view": "function FileUtils.AppendToFile(self: FileUtils, filenameAbsolutePath: string, appendContent: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 4240031, + "name": "AppendToFile", + "start": 4240009, + "type": "setmethod" + }, + { + "desc": "@*param* `archive_name` — server_save06_98-09-16_23:48:10 - without file extension (*.7z)\n\n@*param* `absolute_directory_path_to_add_archive` — C:\\Users\\Ismoh-PC\\AppData\\LocalLow\\Nolla_Games_Noita\\save06\n\n@*param* `absolute_destination_path` — C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita\\mods\noita-mp\\_\n\n@*return* `content` — binary content of archive", + "extends": { + "args": [ + { + "finish": 5220008, + "start": 5220008, + "type": "self", + "view": "FileUtils" + }, + { + "desc": "server_save06_98-09-16_23:48:10 - without file extension (*.7z)", + "finish": 5220049, + "start": 5220037, + "type": "local", + "view": "string" + }, + { + "desc": "C:\\Users\\Ismoh-PC\\AppData\\LocalLow\\Nolla_Games_Noita\\save06", + "finish": 5220089, + "start": 5220051, + "type": "local", + "view": "string" + }, + { + "desc": "C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita\\mods\noita-mp\\_", + "finish": 5220116, + "start": 5220091, + "type": "local", + "view": "string" + } + ], + "desc": "@*param* `archive_name` — server_save06_98-09-16_23:48:10 - without file extension (*.7z)\n\n@*param* `absolute_directory_path_to_add_archive` — C:\\Users\\Ismoh-PC\\AppData\\LocalLow\\Nolla_Games_Noita\\save06\n\n@*param* `absolute_destination_path` — C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita\\mods\noita-mp\\_\n\n@*return* `content` — binary content of archive", + "finish": 5550003, + "returns": [ + { + "type": "function.return", + "view": "string|number" + } + ], + "start": 5220000, + "type": "function", + "view": "function FileUtils.Create7zipArchive(self: FileUtils, archive_name: string, absolute_directory_path_to_add_archive: string, absolute_destination_path: string)\n -> content: string|number" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 5220036, + "name": "Create7zipArchive", + "start": 5220009, + "type": "setmethod" + }, + { + "desc": " Checks if FILE or DIRECTORY exists\n\n@*param* `absolutePath` — full path", + "extends": { + "args": [ + { + "finish": 3020008, + "start": 3020008, + "type": "self", + "view": "FileUtils" + }, + { + "desc": "full path", + "finish": 3020038, + "start": 3020026, + "type": "local", + "view": "string" + } + ], + "desc": " Checks if FILE or DIRECTORY exists\n\n@*param* `absolutePath` — full path", + "finish": 3220003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 3020000, + "type": "function", + "view": "function FileUtils.Exists(self: FileUtils, absolutePath: string)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 3020025, + "name": "Exists", + "start": 3020009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 5100008, + "start": 5100008, + "type": "self", + "view": "FileUtils" + } + ], + "finish": 5160003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 5100000, + "type": "function", + "view": "function FileUtils.Exists7zip(self: FileUtils)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 5100029, + "name": "Exists7zip", + "start": 5100009, + "type": "setmethod" + }, + { + "desc": "@*param* `archive_absolute_directory_path` — path to archive location like \"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita\\mods\\noita-mp\\_\"\n\n@*param* `archive_name` — server_save06_98-09-16_23:48:10.7z - with file extension (*.7z)\n\n@*param* `extract_absolute_directory_path` — C:\\Users\\Ismoh-PC\\AppData\\LocalLow\\Nolla_Games_Noita", + "extends": { + "args": [ + { + "finish": 5600008, + "start": 5600008, + "type": "self", + "view": "FileUtils" + }, + { + "desc": "path to archive location like \"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita\\mods\\noita-mp\\_\"", + "finish": 5600069, + "start": 5600038, + "type": "local", + "view": "string" + }, + { + "desc": "server_save06_98-09-16_23:48:10.7z - with file extension (*.7z)", + "finish": 5600083, + "start": 5600071, + "type": "local", + "view": "string" + }, + { + "desc": "C:\\Users\\Ismoh-PC\\AppData\\LocalLow\\Nolla_Games_Noita", + "finish": 5600116, + "start": 5600085, + "type": "local", + "view": "string" + } + ], + "desc": "@*param* `archive_absolute_directory_path` — path to archive location like \"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita\\mods\\noita-mp\\_\"\n\n@*param* `archive_name` — server_save06_98-09-16_23:48:10.7z - with file extension (*.7z)\n\n@*param* `extract_absolute_directory_path` — C:\\Users\\Ismoh-PC\\AppData\\LocalLow\\Nolla_Games_Noita", + "finish": 5690003, + "start": 5600000, + "type": "function", + "view": "function FileUtils.Extract7zipArchive(self: FileUtils, archive_absolute_directory_path: string, archive_name: string, extract_absolute_directory_path: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 5600037, + "name": "Extract7zipArchive", + "start": 5600009, + "type": "setmethod" + }, + { + "desc": " Credits to @dextercd !", + "extends": { + "args": [ + { + "finish": 5780008, + "start": 5780008, + "type": "self", + "view": "FileUtils" + } + ], + "desc": " Credits to @dextercd !", + "finish": 5800003, + "start": 5780000, + "type": "function", + "view": "function FileUtils.FestartNoita(self: FileUtils)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 5780031, + "name": "FestartNoita", + "start": 5780009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 4880008, + "start": 4880008, + "type": "self", + "view": "FileUtils" + } + ], + "finish": 5070003, + "start": 4880000, + "type": "function", + "view": "function FileUtils.Find7zipExecutable(self: FileUtils)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 4880037, + "name": "Find7zipExecutable", + "start": 4880009, + "type": "setmethod" + }, + { + "desc": " There is a world_state.xml per each saveSlot directory, which contains Globals. Nuid are stored in Globals.\n\n@*param* `saveSlotAbsDirectoryPath` — Absolute directory path to the current selected save slot.\n\n@*return* `absPath` — world_state.xml absolute file path", + "extends": { + "args": [ + { + "finish": 2380008, + "start": 2380008, + "type": "self", + "view": "FileUtils" + }, + { + "desc": "Absolute directory path to the current selected save slot.", + "finish": 2380072, + "start": 2380048, + "type": "local", + "view": "string" + } + ], + "desc": " There is a world_state.xml per each saveSlot directory, which contains Globals. Nuid are stored in Globals.\n\n@*param* `saveSlotAbsDirectoryPath` — Absolute directory path to the current selected save slot.\n\n@*return* `absPath` — world_state.xml absolute file path", + "finish": 2400003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 2380000, + "type": "function", + "view": "function FileUtils.GetAbsDirPathOfWorldStateXml(self: FileUtils, saveSlotAbsDirectoryPath: string)\n -> absPath: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 2380047, + "name": "GetAbsDirPathOfWorldStateXml", + "start": 2380009, + "type": "setmethod" + }, + { + "desc": " Returns the ABSOLUTE path of the mods folder.\n If self.GetAbsolutePathOfNoitaRootDirectory() is not set yet, then it will be\n\n@*return* `self.GetAbsolutePathOfNoitaRootDirectory` — ) .. \"/mods/noita-mp\"", + "extends": { + "args": [ + { + "finish": 1980008, + "start": 1980008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 1980068, + "start": 1980053, + "type": "local", + "view": "any" + } + ], + "desc": " Returns the ABSOLUTE path of the mods folder.\n If self.GetAbsolutePathOfNoitaRootDirectory() is not set yet, then it will be\n\n@*return* `self.GetAbsolutePathOfNoitaRootDirectory` — ) .. \"/mods/noita-mp\"", + "finish": 2050003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1980000, + "type": "function", + "view": "function FileUtils.GetAbsoluteDirectoryPathOfNoitaMP(self: FileUtils, noitaMpSettings: any)\n -> self.GetAbsolutePathOfNoitaRootDirectory: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 1980052, + "name": "GetAbsoluteDirectoryPathOfNoitaMP", + "start": 1980009, + "type": "setmethod" + }, + { + "desc": " Return the parent directory of the savegame directory save06.\n If DebugGetIsDevBuild() then Noitas installation path is returned: 'C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita'\n otherwise it will return: '%appdata%\\..\\LocalLow\\Nolla_Games_Noita' on windows\n\n@*return* `save06_parent_directory_path` — string of absolute path to '..\\Noita' or '..\\Nolla_Games_Noita'", + "extends": { + "args": [ + { + "finish": 1440008, + "start": 1440008, + "type": "self", + "view": "FileUtils" + } + ], + "desc": " Return the parent directory of the savegame directory save06.\n If DebugGetIsDevBuild() then Noitas installation path is returned: 'C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita'\n otherwise it will return: '%appdata%\\..\\LocalLow\\Nolla_Games_Noita' on windows\n\n@*return* `save06_parent_directory_path` — string of absolute path to '..\\Noita' or '..\\Nolla_Games_Noita'", + "finish": 1860003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1440000, + "type": "function", + "view": "function FileUtils.GetAbsoluteDirectoryPathOfParentSave(self: FileUtils)\n -> save06_parent_directory_path: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 1440055, + "name": "GetAbsoluteDirectoryPathOfParentSave", + "start": 1440009, + "type": "setmethod" + }, + { + "desc": " Returns the ABSOLUTE path of the library folder required for this mod.\n If self.GetAbsolutePathOfNoitaRootDirectory() is not set yet, then it will be\n\n@*return* `self.GetAbsolutePathOfNoitaRootDirectory` — ) .. \"/mods/noita-mp/files/libs\"", + "extends": { + "args": [ + { + "finish": 2260008, + "start": 2260008, + "type": "self", + "view": "FileUtils" + } + ], + "desc": " Returns the ABSOLUTE path of the library folder required for this mod.\n If self.GetAbsolutePathOfNoitaRootDirectory() is not set yet, then it will be\n\n@*return* `self.GetAbsolutePathOfNoitaRootDirectory` — ) .. \"/mods/noita-mp/files/libs\"", + "finish": 2330003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 2260000, + "type": "function", + "view": "function FileUtils.GetAbsoluteDirectoryPathOfRequiredLibs(self: FileUtils)\n -> self.GetAbsolutePathOfNoitaRootDirectory: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 2260057, + "name": "GetAbsoluteDirectoryPathOfRequiredLibs", + "start": 2260009, + "type": "setmethod" + }, + { + "desc": " Returns fullpath of save06 directory on devBuild or release\n\n@*return* `directory_path_of_save06` — : noita installation path\\save06 or %appdata%\\..\\LocalLow\\Nolla_Games_Noita\\save06 on windows and unknown for unix systems", + "extends": { + "args": [ + { + "finish": 1900008, + "start": 1900008, + "type": "self", + "view": "FileUtils" + } + ], + "desc": " Returns fullpath of save06 directory on devBuild or release\n\n@*return* `directory_path_of_save06` — : noita installation path\\save06 or %appdata%\\..\\LocalLow\\Nolla_Games_Noita\\save06 on windows and unknown for unix systems", + "finish": 1930003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1900000, + "type": "function", + "view": "function FileUtils.GetAbsoluteDirectoryPathOfSave06(self: FileUtils)\n -> directory_path_of_save06: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 1900051, + "name": "GetAbsoluteDirectoryPathOfSave06", + "start": 1900009, + "type": "setmethod" + }, + { + "desc": "Returns absolute path of NoitaMP settings directory,\n\n@*param* `noitaMpSettings` — optional. Needed for saving Noitas root directory to settings file.\n\n@*return* `absPath` — i.e. \"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita\\mods\\noita-mp\\settings\"", + "extends": { + "args": [ + { + "finish": 2650008, + "start": 2650008, + "type": "self", + "view": "FileUtils" + }, + { + "desc": "optional. Needed for saving Noitas root directory to settings file.", + "finish": 2650076, + "start": 2650061, + "type": "local", + "view": "NoitaMpSettings|nil" + } + ], + "desc": "Returns absolute path of NoitaMP settings directory,\n\n@*param* `noitaMpSettings` — optional. Needed for saving Noitas root directory to settings file.\n\n@*return* `absPath` — i.e. \"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita\\mods\\noita-mp\\settings\"", + "finish": 2670003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 2650000, + "type": "function", + "view": "function FileUtils.GetAbsolutePathOfNoitaMpSettingsDirectory(self: FileUtils, noitaMpSettings: NoitaMpSettings|nil)\n -> absPath: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 2650060, + "name": "GetAbsolutePathOfNoitaMpSettingsDirectory", + "start": 2650009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 1300008, + "start": 1300008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 1300070, + "start": 1300055, + "type": "local", + "view": "any" + } + ], + "finish": 1350003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1300000, + "type": "function", + "view": "function FileUtils.GetAbsolutePathOfNoitaRootDirectory(self: FileUtils, noitaMpSettings: any)\n -> string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 1300054, + "name": "GetAbsolutePathOfNoitaRootDirectory", + "start": 1300009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 6230008, + "start": 6230008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 6230051, + "start": 6230042, + "type": "local", + "view": "any" + }, + { + "finish": 6230066, + "start": 6230053, + "type": "local", + "view": "any" + } + ], + "finish": 6400003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 6230000, + "type": "function", + "view": "function FileUtils.GetAllFilesInDirectory(self: FileUtils, directory: any, fileExtension: any)\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 6230041, + "name": "GetAllFilesInDirectory", + "start": 6230009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 6420008, + "start": 6420008, + "type": "self", + "view": "FileUtils" + } + ], + "finish": 6550003, + "returns": [ + { + "type": "function.return", + "view": "string|table" + } + ], + "start": 6420000, + "type": "function", + "view": "function FileUtils.GetDesktopDirectory(self: FileUtils)\n -> string|table" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 6420038, + "name": "GetDesktopDirectory", + "start": 6420009, + "type": "setmethod" + }, + { + "desc": " see _G.saveSlotMeta", + "extends": { + "args": [ + { + "finish": 2440008, + "start": 2440008, + "type": "self", + "view": "FileUtils" + } + ], + "desc": " see _G.saveSlotMeta", + "finish": 2600003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 2440000, + "type": "function", + "view": "function FileUtils.GetLastModifiedSaveSlots(self: FileUtils)\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 2440043, + "name": "GetLastModifiedSaveSlots", + "start": 2440009, + "type": "setmethod" + }, + { + "desc": "\n eNet specific commands", + "extends": { + "args": [ + { + "finish": 620008, + "start": 620008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 620055, + "start": 620049, + "type": "local", + "view": "any" + } + ], + "desc": "\n eNet specific commands", + "finish": 770003, + "returns": [ + { + "type": "function.return", + "view": "number?" + } + ], + "start": 620000, + "type": "function", + "view": "function FileUtils.GetPidOfRunningEnetHostByPort(self: FileUtils, server: any)\n -> number?" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 620048, + "name": "GetPidOfRunningEnetHostByPort", + "start": 620009, + "type": "setmethod" + }, + { + "desc": " Returns the RELATIVE path of the mods folder.\n\n@*return* — mods/noita-mp", + "extends": { + "args": [ + { + "finish": 2090008, + "start": 2090008, + "type": "self", + "view": "FileUtils" + } + ], + "desc": " Returns the RELATIVE path of the mods folder.\n\n@*return* — mods/noita-mp", + "finish": 2130003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 2090000, + "type": "function", + "view": "function FileUtils.GetRelativeDirectoryPathOfNoitaMP(self: FileUtils)\n -> string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 2090052, + "name": "GetRelativeDirectoryPathOfNoitaMP", + "start": 2090009, + "type": "setmethod" + }, + { + "desc": " Returns the RELATIVE path of the library folder required for this mod.\n\n@*return* — /mods/noita-mp/files/libs", + "extends": { + "args": [ + { + "finish": 2170008, + "start": 2170008, + "type": "self", + "view": "FileUtils" + } + ], + "desc": " Returns the RELATIVE path of the library folder required for this mod.\n\n@*return* — /mods/noita-mp/files/libs", + "finish": 2210003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 2170000, + "type": "function", + "view": "function FileUtils.GetRelativeDirectoryPathOfRequiredLibs(self: FileUtils)\n -> string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 2170057, + "name": "GetRelativeDirectoryPathOfRequiredLibs", + "start": 2170009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 2690008, + "start": 2690008, + "type": "self", + "view": "FileUtils" + } + ], + "finish": 2710003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 2690000, + "type": "function", + "view": "function FileUtils.GetRelativePathOfNoitaMpSettingsDirectory(self: FileUtils)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 2690060, + "name": "GetRelativePathOfNoitaMpSettingsDirectory", + "start": 2690009, + "type": "setmethod" + }, + { + "desc": "Returns NoitaMP version by reading the .version file.", + "extends": { + "args": [ + { + "finish": 90008, + "start": 90008, + "type": "self", + "view": "FileUtils" + } + ], + "desc": "Returns NoitaMP version by reading the .version file.", + "finish": 200003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 90000, + "type": "function", + "view": "function FileUtils.GetVersionByFile(self: FileUtils)\n -> version: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 90035, + "name": "GetVersionByFile", + "start": 90009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 5820008, + "start": 5820008, + "type": "self", + "view": "FileUtils" + } + ], + "finish": 5930003, + "start": 5820000, + "type": "function", + "view": "function FileUtils.KillNoitaAndRestart(self: FileUtils)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 5820038, + "name": "KillNoitaAndRestart", + "start": 5820009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 790008, + "start": 790008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 790034, + "start": 790031, + "type": "local", + "view": "any" + } + ], + "finish": 880003, + "start": 790000, + "type": "function", + "view": "function FileUtils.KillProcess(self: FileUtils, pid: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 790030, + "name": "KillProcess", + "start": 790009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 4060008, + "start": 4060008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 4060034, + "start": 4060025, + "type": "local", + "view": "string" + } + ], + "finish": 4200003, + "start": 4060000, + "type": "function", + "view": "function FileUtils.MkDir(self: FileUtils, full_path: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 4060024, + "name": "MkDir", + "start": 4060009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 3260008, + "start": 3260008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 3260047, + "start": 3260034, + "type": "local", + "view": "string" + } + ], + "finish": 3390003, + "returns": [ + { + "type": "function.return", + "view": "string|number" + } + ], + "start": 3260000, + "type": "function", + "view": "function FileUtils.ReadBinaryFile(self: FileUtils, file_fullpath: string)\n -> string|number" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 3260033, + "name": "ReadBinaryFile", + "start": 3260009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 3570008, + "start": 3570008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 3570041, + "start": 3570028, + "type": "local", + "view": "string" + }, + { + "finish": 3570047, + "start": 3570043, + "type": "local", + "view": "string?" + } + ], + "finish": 3740003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 3570000, + "type": "function", + "view": "function FileUtils.ReadFile(self: FileUtils, file_fullpath: string, mode?: string)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 3570027, + "name": "ReadFile", + "start": 3570009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 4750008, + "start": 4750008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 4750056, + "start": 4750044, + "type": "local", + "view": "any" + } + ], + "finish": 4830003, + "start": 4750000, + "type": "function", + "view": "function FileUtils.RemoveContentOfDirectory(self: FileUtils, absolutePath: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 4750043, + "name": "RemoveContentOfDirectory", + "start": 4750009, + "type": "setmethod" + }, + { + "desc": " Removes trailing path separator in a string: \\persistent\\flags\\ -> \\persistent\\flags.\n Error if path is not a string.\n\n@*param* `path` — any string, i.e. \\persistent\\flags\\\n\n@*return* `path` — \\persistent\\flags", + "extends": { + "args": [ + { + "finish": 480008, + "start": 480008, + "type": "self", + "view": "FileUtils" + }, + { + "desc": "any string, i.e. \\persistent\\flags\\", + "finish": 480051, + "start": 480047, + "type": "local", + "view": "string" + } + ], + "desc": " Removes trailing path separator in a string: \\persistent\\flags\\ -> \\persistent\\flags.\n Error if path is not a string.\n\n@*param* `path` — any string, i.e. \\persistent\\flags\\\n\n@*return* `path` — \\persistent\\flags", + "finish": 560003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 480000, + "type": "function", + "view": "function FileUtils.RemoveTrailingPathSeparator(self: FileUtils, path: string)\n -> path: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 480046, + "name": "RemoveTrailingPathSeparator", + "start": 480009, + "type": "setmethod" + }, + { + "desc": "Replaces windows path separator to unix path separator and vice versa.\nError if path is not a string.", + "extends": { + "args": [ + { + "finish": 300008, + "start": 300008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 300044, + "start": 300040, + "type": "local", + "view": "string" + } + ], + "desc": "Replaces windows path separator to unix path separator and vice versa.\nError if path is not a string.", + "finish": 420003, + "returns": [ + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "number" + } + ], + "start": 300000, + "type": "function", + "view": "function FileUtils.ReplacePathSeparator(self: FileUtils, path: string)\n -> path: string\n 2. count: number" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 300039, + "name": "ReplacePathSeparator", + "start": 300009, + "type": "setmethod" + }, + { + "desc": " This executes c code to sent SDL_QUIT command to the app", + "extends": { + "args": [ + { + "finish": 5960008, + "start": 5960008, + "type": "self", + "view": "FileUtils" + } + ], + "desc": " This executes c code to sent SDL_QUIT command to the app", + "finish": 6210003, + "start": 5960000, + "type": "function", + "view": "function FileUtils.SaveAndRestartNoita(self: FileUtils)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 5960038, + "name": "SaveAndRestartNoita", + "start": 5960009, + "type": "setmethod" + }, + { + "desc": " Lua implementation of PHP scandir function", + "extends": { + "args": [ + { + "finish": 4530008, + "start": 4530008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 4530036, + "start": 4530027, + "type": "local", + "view": "any" + } + ], + "desc": " Lua implementation of PHP scandir function", + "finish": 4730003, + "returns": [ + { + "type": "function.return", + "view": "string[]" + } + ], + "start": 4530000, + "type": "function", + "view": "function FileUtils.ScanDir(self: FileUtils, directory: any)\n -> string[]" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 4530026, + "name": "ScanDir", + "start": 4530009, + "type": "setmethod" + }, + { + "desc": "Sets root directory of noita.exe, i.e. C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita\n\n@*param* `noitaMpSettings` — optional. Needed for saving Noitas root directory to settings file.", + "extends": { + "args": [ + { + "finish": 940008, + "start": 940008, + "type": "self", + "view": "FileUtils" + }, + { + "desc": "optional. Needed for saving Noitas root directory to settings file.", + "finish": 940070, + "start": 940055, + "type": "local", + "view": "NoitaMpSettings|nil" + } + ], + "desc": "Sets root directory of noita.exe, i.e. C:\\Program Files (x86)\\Steam\\steamapps\\common\\Noita\n\n@*param* `noitaMpSettings` — optional. Needed for saving Noitas root directory to settings file.", + "finish": 1270003, + "start": 940000, + "type": "function", + "view": "function FileUtils.SetAbsolutePathOfNoitaRootDirectory(self: FileUtils, noitaMpSettings: NoitaMpSettings|nil)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 940054, + "name": "SetAbsolutePathOfNoitaRootDirectory", + "start": 940009, + "type": "setmethod" + }, + { + "desc": " http://lua-users.org/wiki/SplitJoin -> Example: Split a file path string into components.", + "extends": { + "args": [ + { + "finish": 4450008, + "start": 4450008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 4450032, + "start": 4450029, + "type": "local", + "view": "any" + } + ], + "desc": " http://lua-users.org/wiki/SplitJoin -> Example: Split a file path string into components.", + "finish": 4490003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 4450000, + "type": "function", + "view": "function FileUtils.SplitPath(self: FileUtils, str: any)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 4450028, + "name": "SplitPath", + "start": 4450009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 3430008, + "start": 3430008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 3430048, + "start": 3430035, + "type": "local", + "view": "string" + }, + { + "finish": 3430062, + "start": 3430050, + "type": "local", + "view": "any" + } + ], + "finish": 3530003, + "start": 3430000, + "type": "function", + "view": "function FileUtils.WriteBinaryFile(self: FileUtils, file_fullpath: string, file_content: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 3430034, + "name": "WriteBinaryFile", + "start": 3430009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 3780008, + "start": 3780008, + "type": "self", + "view": "FileUtils" + }, + { + "finish": 3780042, + "start": 3780029, + "type": "local", + "view": "string" + }, + { + "finish": 3780056, + "start": 3780044, + "type": "local", + "view": "string" + } + ], + "finish": 4030003, + "start": 3780000, + "type": "function", + "view": "function FileUtils.WriteFile(self: FileUtils, file_fullpath: string, file_content: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 3780028, + "name": "WriteFile", + "start": 3780009, + "type": "setmethod" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 6920075, + "start": 6910041, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 6910038, + "name": "customProfiler", + "start": 6910008, + "type": "setfield" + }, + { + "extends": { + "finish": 6980044, + "start": 6980030, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 6980027, + "name": "ffi", + "start": 6980008, + "type": "setfield" + }, + { + "extends": { + "finish": 7030046, + "start": 7030031, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 7030028, + "name": "json", + "start": 7030008, + "type": "setfield" + }, + { + "extends": { + "finish": 6800044, + "start": 6800030, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 6800027, + "name": "lfs", + "start": 6800008, + "type": "setfield" + }, + { + "extends": { + "finish": 7080044, + "start": 7080030, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 7080027, + "name": "lfs", + "start": 7080008, + "type": "setfield" + }, + { + "extends": { + "finish": 6860038, + "start": 6850033, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 6850030, + "name": "logger", + "start": 6850008, + "type": "setfield" + }, + { + "desc": "FileUtils constructor.\n\n@*param* `fileUtilsObject` — require(\"FileUtils\") or nil\n\n@*param* `customProfiler` — can be nil\n\n@*param* `logger` — can be nil\n\n@*param* `noitaMpSettings` — required\n\n@*param* `plotly` — can be nil\n\n@*param* `utils` — can be nil", + "extends": { + "args": [ + { + "finish": 6650008, + "start": 6650008, + "type": "self", + "view": "FileUtils" + }, + { + "desc": "require(\"FileUtils\") or nil", + "finish": 6650038, + "start": 6650023, + "type": "local", + "view": "FileUtils|nil" + }, + { + "desc": "can be nil", + "finish": 6650054, + "start": 6650040, + "type": "local", + "view": "CustomProfiler|nil" + }, + { + "desc": "can be nil", + "finish": 6650062, + "start": 6650056, + "type": "local", + "view": "Logger|nil" + }, + { + "desc": "required", + "finish": 6650079, + "start": 6650064, + "type": "local", + "view": "NoitaMpSettings" + }, + { + "desc": "can be nil", + "finish": 6650087, + "start": 6650081, + "type": "local", + "view": "plotly|nil" + }, + { + "desc": "can be nil", + "finish": 6650094, + "start": 6650089, + "type": "local", + "view": "Utils|nil" + } + ], + "desc": "FileUtils constructor.\n\n@*param* `fileUtilsObject` — require(\"FileUtils\") or nil\n\n@*param* `customProfiler` — can be nil\n\n@*param* `logger` — can be nil\n\n@*param* `noitaMpSettings` — required\n\n@*param* `plotly` — can be nil\n\n@*param* `utils` — can be nil", + "finish": 7210003, + "returns": [ + { + "type": "function.return", + "view": "FileUtils" + } + ], + "start": 6650000, + "type": "function", + "view": "function FileUtils.new(self: FileUtils, fileUtilsObject: FileUtils|nil, customProfiler: CustomProfiler|nil, logger: Logger|nil, noitaMpSettings: NoitaMpSettings, plotly: plotly|nil, utils: Utils|nil)\n -> FileUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 6650022, + "name": "new", + "start": 6650009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 7130057, + "start": 7130032, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 7130029, + "name": "utils", + "start": 7130008, + "type": "setfield" + }, + { + "extends": { + "finish": 7170052, + "start": 7170034, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 7170031, + "name": "watcher", + "start": 7170008, + "type": "setfield" + } + ], + "name": "FileUtils", + "type": "type" + }, + { + "defines": [ + { + "extends": { + "args": [], + "finish": 1610011, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1590046, + "type": "function", + "view": "function _G.GameGetRealWorldTimeSinceStarted()\n -> integer" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 1590043, + "start": 1590008, + "type": "setfield" + } + ], + "name": "GameGetRealWorldTimeSinceStarted", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "desc": " Returns width and height depending on resolution.\n GuiGetScreenDimensions( gui:obj ) -> width:number,height:number [Returns dimensions of viewport in the gui coordinate system (which is equal to the coordinates of the screen bottom right corner in gui coordinates). The values returned may change depending on the game resolution because the UI is scaled for pixel-perfect text rendering.]", + "finish": 290003, + "returns": [ + { + "type": "function.return", + "view": "number" + }, + { + "type": "function.return", + "view": "number" + } + ], + "start": 230000, + "type": "function", + "view": "function GetWidthAndHeightByResolution()\n -> width: number\n 2. height: number" + }, + "file": "../../mods/noita-mp/files/scripts/Ui.lua", + "finish": 230038, + "start": 230009, + "type": "setglobal" + } + ], + "desc": " Returns width and height depending on resolution.\n GuiGetScreenDimensions( gui:obj ) -> width:number,height:number [Returns dimensions of viewport in the gui coordinate system (which is equal to the coordinates of the screen bottom right corner in gui coordinates). The values returned may change depending on the game resolution because the UI is scaled for pixel-perfect text rendering.]", + "name": "GetWidthAndHeightByResolution", + "type": "variable" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 22, + "start": 10, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 1320026, + "start": 1320014, + "type": "doc.class" + } + ], + "fields": [ + { + "extends": { + "finish": 1530042, + "start": 1530036, + "type": "getlocal", + "view": "Client|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 1530033, + "name": "client", + "start": 1530008, + "type": "setfield" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 1440058, + "start": 1440044, + "type": "getlocal", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 1440041, + "name": "customProfiler", + "start": 1440008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 690008, + "start": 690008, + "type": "self", + "view": "GlobalsUtils" + } + ], + "finish": 770003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 690000, + "type": "function", + "view": "function GlobalsUtils.getDeadNuids(self: GlobalsUtils)\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 690034, + "name": "getDeadNuids", + "start": 690009, + "type": "setmethod" + }, + { + "desc": "Builds a key string by nuid and returns nuid and entityId found by the globals.", + "extends": { + "args": [ + { + "finish": 970008, + "start": 970008, + "type": "self", + "view": "GlobalsUtils" + }, + { + "finish": 970044, + "start": 970040, + "type": "local", + "view": "number" + } + ], + "desc": "Builds a key string by nuid and returns nuid and entityId found by the globals.", + "finish": 1100003, + "returns": [ + { + "type": "function.return", + "view": "number|nil" + }, + { + "type": "function.return", + "view": "number|nil" + } + ], + "start": 970000, + "type": "function", + "view": "function GlobalsUtils.getNuidEntityPair(self: GlobalsUtils, nuid: number)\n -> nuid: number|nil\n 2. entityId: number|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 970039, + "name": "getNuidEntityPair", + "start": 970009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 1180008, + "start": 1180008, + "type": "self", + "view": "GlobalsUtils" + } + ], + "finish": 1220003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 1180000, + "type": "function", + "view": "function GlobalsUtils.getUpdateGui(self: GlobalsUtils)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 1180034, + "name": "getUpdateGui", + "start": 1180009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1490067, + "start": 1480036, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 1480033, + "name": "logger", + "start": 1480008, + "type": "setfield" + }, + { + "desc": "Constructor of the class. This is mandatory!\n\n@*param* `globalsUtilsObject` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `logger` — required\n\n@*param* `client` — optional\n\n@*param* `utils` — required", + "extends": { + "args": [ + { + "finish": 1310008, + "start": 1310008, + "type": "self", + "view": "GlobalsUtils" + }, + { + "desc": "optional", + "finish": 1310044, + "start": 1310026, + "type": "local", + "view": "GlobalsUtils|nil" + }, + { + "desc": "required", + "finish": 1310060, + "start": 1310046, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "required", + "finish": 1310068, + "start": 1310062, + "type": "local", + "view": "Logger" + }, + { + "desc": "optional", + "finish": 1310076, + "start": 1310070, + "type": "local", + "view": "Client|nil" + }, + { + "desc": "required", + "finish": 1310083, + "start": 1310078, + "type": "local", + "view": "Utils" + } + ], + "desc": "Constructor of the class. This is mandatory!\n\n@*param* `globalsUtilsObject` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `logger` — required\n\n@*param* `client` — optional\n\n@*param* `utils` — required", + "finish": 1650003, + "returns": [ + { + "type": "function.return", + "view": "GlobalsUtils" + } + ], + "start": 1310000, + "type": "function", + "view": "function GlobalsUtils.new(self: GlobalsUtils, globalsUtilsObject: GlobalsUtils|nil, customProfiler: CustomProfiler, logger: Logger, client: Client|nil, utils: Utils)\n -> GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 1310025, + "name": "new", + "start": 1310009, + "type": "setmethod" + }, + { + "desc": "Parses key and value string to nuid and entityId.\n\n@*param* `xmlKey` — self.nuidKeyFormat = \"nuid = %s\"\n\n@*param* `xmlValue` — self.nuidValueFormat = \"entityId = %s\"", + "extends": { + "args": [ + { + "finish": 200008, + "start": 200008, + "type": "self", + "view": "GlobalsUtils" + }, + { + "desc": "self.nuidKeyFormat = \"nuid = %s\"", + "finish": 200059, + "start": 200053, + "type": "local", + "view": "string" + }, + { + "desc": "self.nuidValueFormat = \"entityId = %s\"", + "finish": 200069, + "start": 200061, + "type": "local", + "view": "string" + } + ], + "desc": "Parses key and value string to nuid and entityId.\n\n@*param* `xmlKey` — self.nuidKeyFormat = \"nuid = %s\"\n\n@*param* `xmlValue` — self.nuidValueFormat = \"entityId = %s\"", + "finish": 540003, + "returns": [ + { + "type": "function.return", + "view": "number|nil" + }, + { + "type": "function.return", + "view": "number|nil" + } + ], + "start": 200000, + "type": "function", + "view": "function GlobalsUtils.parseXmlValueToNuidAndEntityId(self: GlobalsUtils, xmlKey: string, xmlValue: string)\n -> nuid: number|nil\n 2. entityId: number|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 200052, + "name": "parseXmlValueToNuidAndEntityId", + "start": 200009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 790008, + "start": 790008, + "type": "self", + "view": "GlobalsUtils" + }, + { + "finish": 790041, + "start": 790037, + "type": "local", + "view": "any" + } + ], + "finish": 920003, + "start": 790000, + "type": "function", + "view": "function GlobalsUtils.removeDeadNuid(self: GlobalsUtils, nuid: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 790036, + "name": "removeDeadNuid", + "start": 790009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 600008, + "start": 600008, + "type": "self", + "view": "GlobalsUtils" + }, + { + "finish": 600038, + "start": 600034, + "type": "local", + "view": "any" + } + ], + "finish": 670003, + "start": 600000, + "type": "function", + "view": "function GlobalsUtils.setDeadNuid(self: GlobalsUtils, nuid: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 600033, + "name": "setDeadNuid", + "start": 600009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 560008, + "start": 560008, + "type": "self", + "view": "GlobalsUtils" + }, + { + "finish": 560034, + "start": 560030, + "type": "local", + "view": "any" + }, + { + "finish": 560044, + "start": 560036, + "type": "local", + "view": "any" + }, + { + "finish": 560069, + "start": 560046, + "type": "local", + "view": "any" + }, + { + "finish": 560094, + "start": 560071, + "type": "local", + "view": "any" + }, + { + "finish": 560114, + "start": 560096, + "type": "local", + "view": "any" + } + ], + "finish": 580003, + "start": 560000, + "type": "function", + "view": "function GlobalsUtils.setNuid(self: GlobalsUtils, nuid: any, entityId: any, componentIdForOwnerName: any, componentIdForOwnerGuid: any, componentIdForNuid: any)" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 560029, + "name": "setNuid", + "start": 560009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 1120008, + "start": 1120008, + "type": "self", + "view": "GlobalsUtils" + }, + { + "finish": 1120039, + "start": 1120035, + "type": "local", + "view": "any" + } + ], + "finish": 1160003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 1120000, + "type": "function", + "view": "function GlobalsUtils.setUpdateGui(self: GlobalsUtils, bool: any)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 1120034, + "name": "setUpdateGui", + "start": 1120009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 1610066, + "start": 1600035, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua", + "finish": 1600032, + "name": "utils", + "start": 1600008, + "type": "setfield" + } + ], + "name": "GlobalsUtils", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 10014, + "start": 10011, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7280017, + "start": 7280014, + "type": "doc.class" + } + ], + "desc": "Everything regarding ImGui: Credits to @dextercd", + "fields": [ + { + "desc": "Function to check if the user pressed a shortcut.", + "extends": { + "args": [ + { + "finish": 6830008, + "start": 6830008, + "type": "self", + "view": "Gui" + } + ], + "desc": "Function to check if the user pressed a shortcut.", + "finish": 7160003, + "start": 6830000, + "type": "function", + "view": "function Gui.checkShortcuts(self: Gui)" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 6830027, + "name": "checkShortcuts", + "start": 6830009, + "type": "setmethod" + }, + { + "desc": "See: [Client](../../mods/noita-mp/files/scripts/net/Client.lua#4#10)", + "extends": { + "finish": 7430068, + "start": 7430027, + "type": "binary", + "view": "Client" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7430024, + "name": "client", + "start": 7430008, + "type": "setfield" + }, + { + "desc": "See: [CustomProfiler](../../mods/noita-mp/files/scripts/util/CustomProfiler.lua#2#10)", + "extends": { + "finish": 7560130, + "start": 7560035, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7560032, + "name": "customProfiler", + "start": 7560008, + "type": "setfield" + }, + { + "desc": "Function for drawing the about window.", + "extends": { + "args": [ + { + "finish": 5600008, + "start": 5600008, + "type": "self", + "view": "Gui" + } + ], + "desc": "Function for drawing the about window.", + "finish": 6060003, + "start": 5600000, + "type": "function", + "view": "function Gui.drawAbout(self: Gui)" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 5600022, + "name": "drawAbout", + "start": 5600009, + "type": "setmethod" + }, + { + "desc": "Function to draw the first time window.", + "extends": { + "args": [ + { + "finish": 2490008, + "start": 2490008, + "type": "self", + "view": "Gui" + } + ], + "desc": "Function to draw the first time window.", + "finish": 2670003, + "start": 2490000, + "type": "function", + "view": "function Gui.drawFirstTime(self: Gui)" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 2490026, + "name": "drawFirstTime", + "start": 2490009, + "type": "setmethod" + }, + { + "desc": "Function to draw the menu bar.", + "extends": { + "args": [ + { + "finish": 2000008, + "start": 2000008, + "type": "self", + "view": "Gui" + } + ], + "desc": "Function to draw the menu bar.", + "finish": 2460003, + "start": 2000000, + "type": "function", + "view": "function Gui.drawMenuBar(self: Gui)" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 2000024, + "name": "drawMenuBar", + "start": 2000009, + "type": "setmethod" + }, + { + "desc": "Function to draw the play menu.", + "extends": { + "args": [ + { + "finish": 2700008, + "start": 2700008, + "type": "self", + "view": "Gui" + } + ], + "desc": "Function to draw the play menu.", + "finish": 3500003, + "start": 2700000, + "type": "function", + "view": "function Gui.drawPlayMenu(self: Gui)" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 2700025, + "name": "drawPlayMenu", + "start": 2700009, + "type": "setmethod" + }, + { + "desc": "Function for drawing the player list window.", + "extends": { + "args": [ + { + "finish": 6090008, + "start": 6090008, + "type": "self", + "view": "Gui" + } + ], + "desc": "Function for drawing the player list window.", + "finish": 6800003, + "start": 6090000, + "type": "function", + "view": "function Gui.drawPlayerList(self: Gui)" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 6090027, + "name": "drawPlayerList", + "start": 6090009, + "type": "setmethod" + }, + { + "desc": "Function to draw the settings window.", + "extends": { + "args": [ + { + "finish": 3560008, + "start": 3560008, + "type": "self", + "view": "Gui" + } + ], + "desc": "Function to draw the settings window.", + "finish": 5570003, + "start": 3560000, + "type": "function", + "view": "function Gui.drawSettings(self: Gui)" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 3560025, + "name": "drawSettings", + "start": 3560009, + "type": "setmethod" + }, + { + "extends": { + "finish": 7930097, + "start": 7930030, + "type": "binary", + "view": "FileUtils" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7930027, + "name": "fileUtils", + "start": 7930008, + "type": "setfield" + }, + { + "extends": { + "finish": 7890106, + "start": 7890033, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7890030, + "name": "globalsUtils", + "start": 7890008, + "type": "setfield" + }, + { + "desc": "See: [GuidUtils](../../mods/noita-mp/files/scripts/util/GuidUtils.lua#2#10)", + "extends": { + "finish": 7620110, + "start": 7620030, + "type": "binary", + "view": "GuidUtils" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7620027, + "name": "guidUtils", + "start": 7620008, + "type": "setfield" + }, + { + "desc": "See: ~ImGui~", + "extends": { + "finish": 7680078, + "start": 7680026, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7680023, + "name": "imGui", + "start": 7680008, + "type": "setfield" + }, + { + "extends": { + "finish": 1440031, + "start": 1440028, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 1440025, + "name": "isServer", + "start": 1440012, + "type": "setfield" + }, + { + "extends": { + "finish": 2950036, + "start": 2950032, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 2950029, + "name": "isServer", + "start": 2950016, + "type": "setfield" + }, + { + "extends": { + "finish": 2990037, + "start": 2990032, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 2990029, + "name": "isServer", + "start": 2990016, + "type": "setfield" + }, + { + "desc": "See: [MinaUtils](../../mods/noita-mp/files/scripts/util/MinaUtils.lua#2#10)", + "extends": { + "finish": 7740110, + "start": 7740030, + "type": "binary", + "view": "MinaUtils" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7740027, + "name": "minaUtils", + "start": 7740008, + "type": "setfield" + }, + { + "desc": "NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API", + "extends": { + "finish": 7780115, + "start": 7780036, + "type": "binary", + "view": "NetworkVscUtils" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7780033, + "name": "networkVscUtils", + "start": 7780008, + "type": "setfield" + }, + { + "desc": "Gui constructor.\n\n@*param* `guiObject` — optional\n\n@*param* `server` — required\n\n@*param* `client` — required\n\n@*param* `customProfiler` — optional\n\n@*param* `guidUtils` — optional\n\n@*param* `minaUtils` — optional\n\n@*param* `noitaMpSettings` — optional", + "extends": { + "args": [ + { + "finish": 7270008, + "start": 7270008, + "type": "self", + "view": "Gui" + }, + { + "desc": "optional", + "finish": 7270026, + "start": 7270017, + "type": "local", + "view": "Gui|nil" + }, + { + "desc": "required", + "finish": 7270034, + "start": 7270028, + "type": "local", + "view": "Server" + }, + { + "desc": "required", + "finish": 7270042, + "start": 7270036, + "type": "local", + "view": "Client" + }, + { + "desc": "optional", + "finish": 7270058, + "start": 7270044, + "type": "local", + "view": "CustomProfiler|nil" + }, + { + "desc": "optional", + "finish": 7270069, + "start": 7270060, + "type": "local", + "view": "GuidUtils|nil" + }, + { + "desc": "optional", + "finish": 7270080, + "start": 7270071, + "type": "local", + "view": "MinaUtils|nil" + }, + { + "desc": "optional", + "finish": 7270097, + "start": 7270082, + "type": "local", + "view": "NoitaMpSettings|nil" + } + ], + "desc": "Gui constructor.\n\n@*param* `guiObject` — optional\n\n@*param* `server` — required\n\n@*param* `client` — required\n\n@*param* `customProfiler` — optional\n\n@*param* `guidUtils` — optional\n\n@*param* `minaUtils` — optional\n\n@*param* `noitaMpSettings` — optional", + "finish": 8030003, + "returns": [ + { + "type": "function.return", + "view": "Gui" + } + ], + "start": 7270000, + "type": "function", + "view": "function Gui.new(self: Gui, guiObject: Gui|nil, server: Server, client: Client, customProfiler: CustomProfiler|nil, guidUtils: GuidUtils|nil, minaUtils: MinaUtils|nil, noitaMpSettings: NoitaMpSettings|nil)\n -> Gui" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7270016, + "name": "new", + "start": 7270009, + "type": "setmethod" + }, + { + "desc": "See: [NoitaMpSettings](../../mods/noita-mp/files/scripts/NoitaMpSettings.lua#2#11)", + "extends": { + "finish": 7500073, + "start": 7490036, + "type": "binary", + "view": "NoitaMpSettings" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7490033, + "name": "noitaMpSettings", + "start": 7490008, + "type": "setfield" + }, + { + "desc": "See: [Server](../../mods/noita-mp/files/scripts/net/Server.lua#4#10)", + "extends": { + "finish": 7370068, + "start": 7370027, + "type": "binary", + "view": "Server" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7370024, + "name": "server", + "start": 7370008, + "type": "setfield" + }, + { + "desc": "Setter for the 'showMissingSettings' attribute to show the user that the settings are missing.", + "extends": { + "args": [ + { + "finish": 1260008, + "start": 1260008, + "type": "self", + "view": "Gui" + }, + { + "finish": 1260040, + "start": 1260036, + "type": "local", + "view": "boolean" + } + ], + "desc": "Setter for the 'showMissingSettings' attribute to show the user that the settings are missing.", + "finish": 1280003, + "start": 1260000, + "type": "function", + "view": "function Gui.setShowMissingSettings(self: Gui, show: boolean)" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 1260035, + "name": "setShowMissingSettings", + "start": 1260009, + "type": "setmethod" + }, + { + "desc": "Setter for the 'showSettingsSaved' attribute to show the user that the settings were saved.", + "extends": { + "args": [ + { + "finish": 1170008, + "start": 1170008, + "type": "self", + "view": "Gui" + }, + { + "finish": 1170038, + "start": 1170034, + "type": "local", + "view": "boolean" + } + ], + "desc": "Setter for the 'showSettingsSaved' attribute to show the user that the settings were saved.", + "finish": 1220003, + "start": 1170000, + "type": "function", + "view": "function Gui.setShowSettingsSaved(self: Gui, show: boolean)" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 1170033, + "name": "setShowSettingsSaved", + "start": 1170009, + "type": "setmethod" + }, + { + "desc": "Guis update function, called every frame.", + "extends": { + "args": [ + { + "finish": 1310008, + "start": 1310008, + "type": "self", + "view": "Gui" + } + ], + "desc": "Guis update function, called every frame.", + "finish": 1970003, + "start": 1310000, + "type": "function", + "view": "function Gui.update(self: Gui)" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 1310019, + "name": "update", + "start": 1310009, + "type": "setmethod" + }, + { + "desc": "See: [Utils](../../mods/noita-mp/files/scripts/util/Utils.lua#2#10)", + "extends": { + "finish": 7840085, + "start": 7840026, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 7840023, + "name": "utils", + "start": 7840008, + "type": "setfield" + } + ], + "name": "Gui", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 10019, + "start": 10010, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 1320023, + "start": 1320014, + "type": "doc.class" + } + ], + "desc": "GuidUtils is just for generating and validating GUIDs. Guids are used for identifying clients and servers.", + "fields": [ + { + "desc": "Adds a guid to the cache.\n\n@*param* `guid` — required", + "extends": { + "args": [ + { + "finish": 160008, + "start": 160008, + "type": "self", + "view": "GuidUtils" + }, + { + "desc": "required", + "finish": 160038, + "start": 160034, + "type": "local", + "view": "string" + } + ], + "desc": "Adds a guid to the cache.\n\n@*param* `guid` — required", + "finish": 210003, + "start": 160000, + "type": "function", + "view": "function GuidUtils.addGuidToCache(self: GuidUtils, guid: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 160033, + "name": "addGuidToCache", + "start": 160009, + "type": "setmethod" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 1440055, + "start": 1440041, + "type": "getlocal", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 1440038, + "name": "customProfiler", + "start": 1440008, + "type": "setfield" + }, + { + "desc": "Generates a pseudo GUID. Does not fulfil RFC standard! Should generate unique GUIDs, but repeats if there is a duplicate.\nBased on https://github.com/Tieske/uuid !\nFormerly known as 'getGuid()'.\n\n@*param* `inUsedGuids` — list of already used GUIDs", + "extends": { + "args": [ + { + "finish": 280008, + "start": 280008, + "type": "self", + "view": "GuidUtils" + }, + { + "desc": "list of already used GUIDs", + "finish": 280046, + "start": 280035, + "type": "local", + "view": "table|nil" + } + ], + "desc": "Generates a pseudo GUID. Does not fulfil RFC standard! Should generate unique GUIDs, but repeats if there is a duplicate.\nBased on https://github.com/Tieske/uuid !\nFormerly known as 'getGuid()'.\n\n@*param* `inUsedGuids` — list of already used GUIDs", + "finish": 490003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 280000, + "type": "function", + "view": "function GuidUtils.generateNewGuid(self: GuidUtils, inUsedGuids: table|nil)\n -> guid: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 280034, + "name": "generateNewGuid", + "start": 280009, + "type": "setmethod" + }, + { + "desc": "Returns the cached guids.", + "extends": { + "args": [ + { + "finish": 100008, + "start": 100008, + "type": "self", + "view": "GuidUtils" + } + ], + "desc": "Returns the cached guids.", + "finish": 120003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 100000, + "type": "function", + "view": "function GuidUtils.getCachedGuids(self: GuidUtils)\n -> cached_guid: table" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 100033, + "name": "getCachedGuids", + "start": 100009, + "type": "setmethod" + }, + { + "desc": "Validates a guid only on its pattern.\n\n@*param* `guid` — required\n\n@*return* `true` — if GUID-pattern matches", + "extends": { + "args": [ + { + "finish": 790008, + "start": 790008, + "type": "self", + "view": "GuidUtils" + }, + { + "desc": "required", + "finish": 790038, + "start": 790034, + "type": "local", + "view": "string" + } + ], + "desc": "Validates a guid only on its pattern.\n\n@*param* `guid` — required\n\n@*return* `true` — if GUID-pattern matches", + "finish": 950003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 790000, + "type": "function", + "view": "function GuidUtils.isPatternValid(self: GuidUtils, guid: string)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 790033, + "name": "isPatternValid", + "start": 790009, + "type": "setmethod" + }, + { + "desc": "Validates if the given guid is unique or already generated.\n\n@*return* `true` — if GUID is unique.", + "extends": { + "args": [ + { + "finish": 1000008, + "start": 1000008, + "type": "self", + "view": "GuidUtils" + }, + { + "finish": 1000032, + "start": 1000028, + "type": "local", + "view": "string" + } + ], + "desc": "Validates if the given guid is unique or already generated.\n\n@*return* `true` — if GUID is unique.", + "finish": 1090003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 1000000, + "type": "function", + "view": "function GuidUtils.isUnique(self: GuidUtils, guid: string)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 1000027, + "name": "isUnique", + "start": 1000009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1580038, + "start": 1560033, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 1560030, + "name": "logger", + "start": 1560008, + "type": "setfield" + }, + { + "desc": "GuidUtils constructor.\n\n@*param* `guidUtilsObject` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `fileUtils` — optional\n\n@*param* `logger` — optional\n\n@*param* `plotly` — optional\n\n@*param* `socket` — optional\n\n@*param* `utils` — optional\n\n@*param* `winapi` — optional", + "extends": { + "args": [ + { + "finish": 1310008, + "start": 1310008, + "type": "self", + "view": "GuidUtils" + }, + { + "desc": "optional", + "finish": 1310038, + "start": 1310023, + "type": "local", + "view": "GuidUtils|nil" + }, + { + "desc": "required", + "finish": 1310054, + "start": 1310040, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "optional", + "finish": 1310065, + "start": 1310056, + "type": "local", + "view": "FileUtils|nil" + }, + { + "desc": "optional", + "finish": 1310073, + "start": 1310067, + "type": "local", + "view": "Logger|nil" + }, + { + "desc": "optional", + "finish": 1310081, + "start": 1310075, + "type": "local", + "view": "plotly|nil" + }, + { + "desc": "optional", + "finish": 1310089, + "start": 1310083, + "type": "local", + "view": "socket|nil" + }, + { + "desc": "optional", + "finish": 1310096, + "start": 1310091, + "type": "local", + "view": "Utils|nil" + }, + { + "desc": "optional", + "finish": 1310104, + "start": 1310098, + "type": "local", + "view": "winapi|nil" + } + ], + "desc": "GuidUtils constructor.\n\n@*param* `guidUtilsObject` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `fileUtils` — optional\n\n@*param* `logger` — optional\n\n@*param* `plotly` — optional\n\n@*param* `socket` — optional\n\n@*param* `utils` — optional\n\n@*param* `winapi` — optional", + "finish": 1720003, + "returns": [ + { + "type": "function.return", + "view": "GuidUtils" + } + ], + "start": 1310000, + "type": "function", + "view": "function GuidUtils.new(self: GuidUtils, guidUtilsObject: GuidUtils|nil, customProfiler: CustomProfiler, fileUtils: FileUtils|nil, logger: Logger|nil, plotly: plotly|nil, socket: socket|nil, utils: Utils|nil, winapi: winapi|nil)\n -> GuidUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 1310022, + "name": "new", + "start": 1310009, + "type": "setmethod" + }, + { + "desc": "Sets the guid of a client or the server.\n\n@*param* `client` — Either client\n\n@*param* `server` — or server must be set!\n\n@*param* `guid` — guid can be optional. If not set, a new guid will be generated and set.", + "extends": { + "args": [ + { + "finish": 550008, + "start": 550008, + "type": "self", + "view": "GuidUtils" + }, + { + "desc": "Either client", + "finish": 550033, + "start": 550027, + "type": "local", + "view": "Client|nil" + }, + { + "desc": "or server must be set!", + "finish": 550041, + "start": 550035, + "type": "local", + "view": "Server|nil" + }, + { + "desc": "guid can be optional. If not set, a new guid will be generated and set.", + "finish": 550047, + "start": 550043, + "type": "local", + "view": "string|nil" + } + ], + "desc": "Sets the guid of a client or the server.\n\n@*param* `client` — Either client\n\n@*param* `server` — or server must be set!\n\n@*param* `guid` — guid can be optional. If not set, a new guid will be generated and set.", + "finish": 740003, + "start": 550000, + "type": "function", + "view": "function GuidUtils.setGuid(self: GuidUtils, client: Client|nil, server: Server|nil, guid: string|nil)" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 550026, + "name": "setGuid", + "start": 550009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1660060, + "start": 1660033, + "type": "binary", + "view": "socket" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 1660030, + "name": "socket", + "start": 1660008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 1110008, + "start": 1110008, + "type": "self", + "view": "GuidUtils" + }, + { + "finish": 1110032, + "start": 1110028, + "type": "local", + "view": "any" + } + ], + "finish": 1190003, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1110000, + "type": "function", + "view": "function GuidUtils.toNumber(self: GuidUtils, guid: any)\n -> integer" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 1110027, + "name": "toNumber", + "start": 1110009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 1500028, + "start": 1490032, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 1490029, + "name": "utils", + "start": 1490008, + "type": "setfield" + }, + { + "extends": { + "finish": 1620046, + "start": 1620031, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/GuidUtils.lua", + "finish": 1620028, + "name": "uuid", + "start": 1620008, + "type": "setfield" + } + ], + "name": "GuidUtils", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 460020, + "start": 460014, + "type": "doc.class" + } + ], + "fields": [ + { + "extends": { + "finish": 470028, + "start": 470022, + "type": "doc.type", + "types": [ + { + "finish": 470028, + "start": 470022, + "type": "doc.type.name", + "view": "number" + } + ], + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 470028, + "name": "current", + "start": 470014, + "type": "doc.field" + }, + { + "extends": { + "finish": 480024, + "start": 480018, + "type": "doc.type", + "types": [ + { + "finish": 480024, + "start": 480018, + "type": "doc.type.name", + "view": "number" + } + ], + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 480024, + "name": "max", + "start": 480014, + "type": "doc.field" + } + ], + "name": "Health", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/Logger.lua", + "finish": 16, + "start": 10, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/Logger.lua", + "finish": 1200020, + "start": 1200014, + "type": "doc.class" + } + ], + "fields": [ + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 1500067, + "start": 1490038, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/Logger.lua", + "finish": 1490035, + "name": "customProfiler", + "start": 1490008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 1030008, + "start": 1030008, + "type": "self", + "view": "Logger" + }, + { + "finish": 1030029, + "start": 1030022, + "type": "local", + "view": "any" + }, + { + "finish": 1030047, + "start": 1030031, + "type": "local", + "view": "any" + } + ], + "finish": 1050003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 1030000, + "type": "function", + "view": "function Logger.debug(self: Logger, channel: any, formattedMessage: any)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/Logger.lua", + "finish": 1030021, + "name": "debug", + "start": 1030009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 1070008, + "start": 1070008, + "type": "self", + "view": "Logger" + }, + { + "finish": 1070028, + "start": 1070021, + "type": "local", + "view": "any" + }, + { + "finish": 1070046, + "start": 1070030, + "type": "local", + "view": "any" + } + ], + "finish": 1090003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 1070000, + "type": "function", + "view": "function Logger.info(self: Logger, channel: any, formattedMessage: any)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/Logger.lua", + "finish": 1070020, + "name": "info", + "start": 1070009, + "type": "setmethod" + }, + { + "desc": "Logger constructor.\n\n@*param* `noitaMpSettings` — required", + "extends": { + "args": [ + { + "finish": 1190008, + "start": 1190008, + "type": "self", + "view": "Logger" + }, + { + "finish": 1190032, + "start": 1190020, + "type": "local", + "view": "Logger|nil" + }, + { + "desc": "required", + "finish": 1190049, + "start": 1190034, + "type": "local", + "view": "NoitaMpSettings" + } + ], + "desc": "Logger constructor.\n\n@*param* `noitaMpSettings` — required", + "finish": 1560003, + "returns": [ + { + "type": "function.return", + "view": "Logger" + } + ], + "start": 1190000, + "type": "function", + "view": "function Logger.new(self: Logger, loggerObject: Logger|nil, noitaMpSettings: NoitaMpSettings)\n -> Logger" + }, + "file": "../../mods/noita-mp/files/scripts/util/Logger.lua", + "finish": 1190019, + "name": "new", + "start": 1190009, + "type": "setmethod" + }, + { + "desc": " NoitaMpSettings: Replacement for Noita ModSettings.", + "extends": { + "finish": 1440054, + "start": 1440039, + "type": "getlocal", + "view": "NoitaMpSettings" + }, + "file": "../../mods/noita-mp/files/scripts/util/Logger.lua", + "finish": 1440036, + "name": "noitaMpSettings", + "start": 1440008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 980008, + "start": 980008, + "type": "self", + "view": "Logger" + }, + { + "finish": 980029, + "start": 980022, + "type": "local", + "view": "any" + }, + { + "finish": 980047, + "start": 980031, + "type": "local", + "view": "any" + } + ], + "finish": 1000003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 980000, + "type": "function", + "view": "function Logger.trace(self: Logger, channel: any, formattedMessage: any)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/Logger.lua", + "finish": 980021, + "name": "trace", + "start": 980009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 1110008, + "start": 1110008, + "type": "self", + "view": "Logger" + }, + { + "finish": 1110028, + "start": 1110021, + "type": "local", + "view": "any" + }, + { + "finish": 1110046, + "start": 1110030, + "type": "local", + "view": "any" + } + ], + "finish": 1130003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 1110000, + "type": "function", + "view": "function Logger.warn(self: Logger, channel: any, formattedMessage: any)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/Logger.lua", + "finish": 1110020, + "name": "warn", + "start": 1110009, + "type": "setmethod" + } + ], + "name": "Logger", + "type": "type" + }, + { + "defines": [ + { + "extends": { + "finish": 730035, + "start": 730029, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 730023, + "start": 730004, + "type": "setfield" + } + ], + "desc": " KB = 524,438 MB", + "name": "MAX_MEMORY_USAGE", + "type": "variable" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 10019, + "start": 10010, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 2370023, + "start": 2370014, + "type": "doc.class" + } + ], + "desc": "Util class for fetching information about local and remote minas.", + "fields": [ + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 2490049, + "start": 2490035, + "type": "getlocal", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 2490032, + "name": "customProfiler", + "start": 2490008, + "type": "setfield" + }, + { + "desc": "Returns all minas.\n\n@*param* `client` — Either client or\n\n@*param* `server` — server object is required!", + "extends": { + "args": [ + { + "finish": 1290008, + "start": 1290008, + "type": "self", + "view": "MinaUtils" + }, + { + "desc": "Either client or", + "finish": 1290037, + "start": 1290031, + "type": "local", + "view": "Client" + }, + { + "desc": "server object is required!", + "finish": 1290045, + "start": 1290039, + "type": "local", + "view": "Server" + } + ], + "desc": "Returns all minas.\n\n@*param* `client` — Either client or\n\n@*param* `server` — server object is required!", + "finish": 1880003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 1290000, + "type": "function", + "view": "function MinaUtils.getAllMinas(self: MinaUtils, client: Client, server: Server)\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 1290030, + "name": "getAllMinas", + "start": 1290009, + "type": "setmethod" + }, + { + "desc": "Getter for local mina entity id. It also takes care of polymorphism!\n\n@*return* `localMinaEntityId` — or nil if not found/dead", + "extends": { + "args": [ + { + "finish": 570008, + "start": 570008, + "type": "self", + "view": "MinaUtils" + } + ], + "desc": "Getter for local mina entity id. It also takes care of polymorphism!\n\n@*return* `localMinaEntityId` — or nil if not found/dead", + "finish": 810003, + "returns": [ + { + "type": "function.return", + "view": "number|nil" + } + ], + "start": 570000, + "type": "function", + "view": "function MinaUtils.getLocalMinaEntityId(self: MinaUtils)\n -> localMinaEntityId: number|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 570039, + "name": "getLocalMinaEntityId", + "start": 570009, + "type": "setmethod" + }, + { + "desc": "Getter for local mina guid. ~It also loads it from settings file.~", + "extends": { + "args": [ + { + "finish": 480008, + "start": 480008, + "type": "self", + "view": "MinaUtils" + } + ], + "desc": "Getter for local mina guid. ~It also loads it from settings file.~", + "finish": 530003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 480000, + "type": "function", + "view": "function MinaUtils.getLocalMinaGuid(self: MinaUtils)\n -> localMinaGuid: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 480035, + "name": "getLocalMinaGuid", + "start": 480009, + "type": "setmethod" + }, + { + "desc": "Getter for local mina name. ~It also loads it from settings file.~", + "extends": { + "args": [ + { + "finish": 260008, + "start": 260008, + "type": "self", + "view": "MinaUtils" + } + ], + "desc": "Getter for local mina name. ~It also loads it from settings file.~", + "finish": 340003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 260000, + "type": "function", + "view": "function MinaUtils.getLocalMinaName(self: MinaUtils)\n -> localMinaName: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 260035, + "name": "getLocalMinaName", + "start": 260009, + "type": "setmethod" + }, + { + "desc": "Getter for local mina nuid. It also takes care of polymorphism!\n\n@*return* `nuid` — if not found/dead", + "extends": { + "args": [ + { + "finish": 850008, + "start": 850008, + "type": "self", + "view": "MinaUtils" + } + ], + "desc": "Getter for local mina nuid. It also takes care of polymorphism!\n\n@*return* `nuid` — if not found/dead", + "finish": 970003, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 850000, + "type": "function", + "view": "function MinaUtils.getLocalMinaNuid(self: MinaUtils)\n -> nuid: number" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 850035, + "name": "getLocalMinaNuid", + "start": 850009, + "type": "setmethod" + }, + { + "extends": { + "finish": 2550071, + "start": 2540033, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 2540030, + "name": "globalsUtils", + "start": 2540008, + "type": "setfield" + }, + { + "desc": "Checks if local mina is polymorphed. Returns true, entityId | false, nil", + "extends": { + "args": [ + { + "finish": 1010008, + "start": 1010008, + "type": "self", + "view": "MinaUtils" + } + ], + "desc": "Checks if local mina is polymorphed. Returns true, entityId | false, nil", + "finish": 1230003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + }, + { + "type": "function.return", + "view": "number|nil" + } + ], + "start": 1010000, + "type": "function", + "view": "function MinaUtils.isLocalMinaPolymorphed(self: MinaUtils)\n -> isPolymorphed: boolean\n 2. entityId: number|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 1010041, + "name": "isLocalMinaPolymorphed", + "start": 1010009, + "type": "setmethod" + }, + { + "desc": " TODO: Rework this by adding and updating entityId to Server.entityId and Client.entityId! Dont forget polymorphism!\nChecks if the entityId is a remote minae.\n\n@*param* `client` — Either client or\n\n@*param* `server` — server object is required!\n\n@*param* `entityId` — required\n\n@*return* `true` — if entityId is a remote minae, otherwise false", + "extends": { + "args": [ + { + "finish": 1960008, + "start": 1960008, + "type": "self", + "view": "MinaUtils" + }, + { + "desc": "Either client or", + "finish": 1960039, + "start": 1960033, + "type": "local", + "view": "Client" + }, + { + "desc": "server object is required!", + "finish": 1960047, + "start": 1960041, + "type": "local", + "view": "Server" + }, + { + "desc": "required", + "finish": 1960057, + "start": 1960049, + "type": "local", + "view": "number" + } + ], + "desc": " TODO: Rework this by adding and updating entityId to Server.entityId and Client.entityId! Dont forget polymorphism!\nChecks if the entityId is a remote minae.\n\n@*param* `client` — Either client or\n\n@*param* `server` — server object is required!\n\n@*param* `entityId` — required\n\n@*return* `true` — if entityId is a remote minae, otherwise false", + "finish": 2250003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 1960000, + "type": "function", + "view": "function MinaUtils.isRemoteMinae(self: MinaUtils, client: Client, server: Server, entityId: number)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 1960032, + "name": "isRemoteMinae", + "start": 1960009, + "type": "setmethod" + }, + { + "extends": { + "finish": 2610065, + "start": 2600027, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 2600024, + "name": "logger", + "start": 2600008, + "type": "setfield" + }, + { + "desc": "NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API", + "extends": { + "finish": 2670074, + "start": 2660036, + "type": "binary", + "view": "NetworkVscUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 2660033, + "name": "networkVscUtils", + "start": 2660008, + "type": "setfield" + }, + { + "desc": "Constructor for MinaUtils.\n\n@*param* `minaUtils` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `globalsUtils` — required\n\n@*param* `logger` — required\n\n@*param* `networkVscUtils` — required\n\n@*param* `noitaMpSettings` — required\n\n@*param* `utils` — required", + "extends": { + "args": [ + { + "finish": 2360008, + "start": 2360008, + "type": "self", + "view": "MinaUtils" + }, + { + "desc": "optional", + "finish": 2360032, + "start": 2360023, + "type": "local", + "view": "MinaUtils|nil" + }, + { + "desc": "required", + "finish": 2360048, + "start": 2360034, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "required", + "finish": 2360062, + "start": 2360050, + "type": "local", + "view": "GlobalsUtils" + }, + { + "desc": "required", + "finish": 2360070, + "start": 2360064, + "type": "local", + "view": "Logger" + }, + { + "desc": "required", + "finish": 2360087, + "start": 2360072, + "type": "local", + "view": "NetworkVscUtils" + }, + { + "desc": "required", + "finish": 2360104, + "start": 2360089, + "type": "local", + "view": "NoitaMpSettings" + }, + { + "desc": "required", + "finish": 2360111, + "start": 2360106, + "type": "local", + "view": "Utils" + } + ], + "desc": "Constructor for MinaUtils.\n\n@*param* `minaUtils` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `globalsUtils` — required\n\n@*param* `logger` — required\n\n@*param* `networkVscUtils` — required\n\n@*param* `noitaMpSettings` — required\n\n@*param* `utils` — required", + "finish": 2850003, + "returns": [ + { + "type": "function.return", + "view": "MinaUtils" + } + ], + "start": 2360000, + "type": "function", + "view": "function MinaUtils.new(self: MinaUtils, minaUtils: MinaUtils|nil, customProfiler: CustomProfiler, globalsUtils: GlobalsUtils, logger: Logger, networkVscUtils: NetworkVscUtils, noitaMpSettings: NoitaMpSettings, utils: Utils)\n -> MinaUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 2360022, + "name": "new", + "start": 2360009, + "type": "setmethod" + }, + { + "desc": " NoitaMpSettings: Replacement for Noita ModSettings.", + "extends": { + "finish": 2730074, + "start": 2720036, + "type": "binary", + "view": "NoitaMpSettings" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 2720033, + "name": "noitaMpSettings", + "start": 2720008, + "type": "setfield" + }, + { + "desc": "Setter for local mina guid. It also saves it to settings file.\n\n@*param* `guid` — required", + "extends": { + "args": [ + { + "finish": 380008, + "start": 380008, + "type": "self", + "view": "MinaUtils" + }, + { + "desc": "required", + "finish": 380040, + "start": 380036, + "type": "local", + "view": "string" + } + ], + "desc": "Setter for local mina guid. It also saves it to settings file.\n\n@*param* `guid` — required", + "finish": 440003, + "start": 380000, + "type": "function", + "view": "function MinaUtils.setLocalMinaGuid(self: MinaUtils, guid: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 380035, + "name": "setLocalMinaGuid", + "start": 380009, + "type": "setmethod" + }, + { + "desc": "Setter for local mina name. It also saves it to settings file.\n\n@*param* `name` — required", + "extends": { + "args": [ + { + "finish": 160008, + "start": 160008, + "type": "self", + "view": "MinaUtils" + }, + { + "desc": "required", + "finish": 160040, + "start": 160036, + "type": "local", + "view": "string" + } + ], + "desc": "Setter for local mina name. It also saves it to settings file.\n\n@*param* `name` — required", + "finish": 220003, + "start": 160000, + "type": "function", + "view": "function MinaUtils.setLocalMinaName(self: MinaUtils, name: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 160035, + "name": "setLocalMinaName", + "start": 160009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 2790064, + "start": 2780026, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/MinaUtils.lua", + "finish": 2780023, + "name": "utils", + "start": 2780008, + "type": "setfield" + } + ], + "name": "MinaUtils", + "type": "type" + }, + { + "defines": [ + { + "extends": { + "args": [], + "finish": 1490011, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 1470032, + "type": "function", + "view": "function _G.ModGetActiveModIDs()\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 1470029, + "start": 1470008, + "type": "setfield" + } + ], + "name": "ModGetActiveModIDs", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1530037, + "start": 1530035, + "type": "local", + "view": "any" + } + ], + "finish": 1550011, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 1530026, + "type": "function", + "view": "function _G.ModIsEnabled(id: any)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 1530023, + "start": 1530008, + "type": "setfield" + } + ], + "name": "ModIsEnabled", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1220038, + "start": 1220036, + "type": "local", + "view": "any" + } + ], + "finish": 1310011, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 1220027, + "type": "function", + "view": "function _G.ModSettingGet(id: any)\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 1220024, + "start": 1220008, + "type": "setfield" + } + ], + "name": "ModSettingGet", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1350047, + "start": 1350045, + "type": "local", + "view": "any" + } + ], + "finish": 1430011, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 1350036, + "type": "function", + "view": "function _G.ModSettingGetNextValue(id: any)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 1350033, + "start": 1350008, + "type": "setfield" + } + ], + "name": "ModSettingGetNextValue", + "type": "variable" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 22, + "start": 10, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 2030026, + "start": 2030014, + "type": "doc.class" + } + ], + "fields": [ + { + "desc": " Clears the cache entry for the given clientCacheId.", + "extends": { + "args": [ + { + "finish": 1780008, + "start": 1780008, + "type": "self", + "view": "NetworkCache" + }, + { + "finish": 1780041, + "start": 1780028, + "type": "local", + "view": "number" + } + ], + "desc": " Clears the cache entry for the given clientCacheId.", + "finish": 1830003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 1780000, + "type": "function", + "view": "function NetworkCache.clear(self: NetworkCache, clientCacheId: number)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 1780027, + "name": "clear", + "start": 1780009, + "type": "setmethod" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 2120073, + "start": 2110038, + "type": "binary", + "view": "any" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 2110035, + "name": "customProfiler", + "start": 2110008, + "type": "setfield" + }, + { + "desc": " Gets the cache entry for the given clientCacheId, event and networkMessageId.\n\n@*return* `entry` — self.cache[clientCacheId][networkMessageId] or nil if not found", + "extends": { + "args": [ + { + "finish": 710008, + "start": 710008, + "type": "self", + "view": "NetworkCache" + }, + { + "finish": 710039, + "start": 710026, + "type": "local", + "view": "number" + }, + { + "finish": 710046, + "start": 710041, + "type": "local", + "view": "string" + }, + { + "finish": 710064, + "start": 710048, + "type": "local", + "view": "number" + } + ], + "desc": " Gets the cache entry for the given clientCacheId, event and networkMessageId.\n\n@*return* `entry` — self.cache[clientCacheId][networkMessageId] or nil if not found", + "finish": 1080003, + "returns": [ + { + "type": "function.return", + "view": "table|nil" + } + ], + "start": 710000, + "type": "function", + "view": "function NetworkCache.get(self: NetworkCache, clientCacheId: number, event: string, networkMessageId: number)\n -> entry: table|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 710025, + "name": "get", + "start": 710009, + "type": "setmethod" + }, + { + "desc": " Returns all cache entries.", + "extends": { + "args": [ + { + "finish": 1680008, + "start": 1680008, + "type": "self", + "view": "NetworkCache" + } + ], + "desc": " Returns all cache entries.", + "finish": 1730003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 1680000, + "type": "function", + "view": "function NetworkCache.getAll(self: NetworkCache)\n -> self.cache: table" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 1680028, + "name": "getAll", + "start": 1680009, + "type": "setmethod" + }, + { + "desc": " Gets the checksum of a cache entry for the given clientCacheId and dataChecksum.\n\n@*return* `entry` — self.cache[clientCacheId][index] or nil if not found", + "extends": { + "args": [ + { + "finish": 1140008, + "start": 1140008, + "type": "self", + "view": "NetworkCache" + }, + { + "finish": 1140047, + "start": 1140034, + "type": "local", + "view": "number" + }, + { + "finish": 1140061, + "start": 1140049, + "type": "local", + "view": "string" + } + ], + "desc": " Gets the checksum of a cache entry for the given clientCacheId and dataChecksum.\n\n@*return* `entry` — self.cache[clientCacheId][index] or nil if not found", + "finish": 1460003, + "returns": [ + { + "type": "function.return", + "view": "table|nil" + } + ], + "start": 1140000, + "type": "function", + "view": "function NetworkCache.getChecksum(self: NetworkCache, clientCacheId: number, dataChecksum: string)\n -> entry: table|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 1140033, + "name": "getChecksum", + "start": 1140009, + "type": "setmethod" + }, + { + "extends": { + "finish": 2190053, + "start": 2170030, + "type": "binary", + "view": "any" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 2170027, + "name": "logger", + "start": 2170008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 2020008, + "start": 2020008, + "type": "self", + "view": "NetworkCache" + }, + { + "finish": 2020040, + "start": 2020026, + "type": "local", + "view": "any" + }, + { + "finish": 2020048, + "start": 2020042, + "type": "local", + "view": "any" + }, + { + "finish": 2020055, + "start": 2020050, + "type": "local", + "view": "any" + } + ], + "finish": 2280003, + "returns": [ + { + "type": "function.return", + "view": "NetworkCache" + } + ], + "start": 2020000, + "type": "function", + "view": "function NetworkCache.new(self: NetworkCache, customProfiler: any, logger: any, utils: any)\n -> NetworkCache" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 2020025, + "name": "new", + "start": 2020009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 1850008, + "start": 1850008, + "type": "self", + "view": "NetworkCache" + } + ], + "finish": 2000003, + "start": 1850000, + "type": "function", + "view": "function NetworkCache.removeOldest(self: NetworkCache)" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 1850034, + "name": "removeOldest", + "start": 1850009, + "type": "setmethod" + }, + { + "desc": " Sets the cache entry for the given clientCacheId, networkMessageId and event.", + "extends": { + "args": [ + { + "finish": 180008, + "start": 180008, + "type": "self", + "view": "NetworkCache" + }, + { + "finish": 180039, + "start": 180026, + "type": "local", + "view": "number" + }, + { + "finish": 180057, + "start": 180041, + "type": "local", + "view": "number" + }, + { + "finish": 180064, + "start": 180059, + "type": "local", + "view": "string" + }, + { + "finish": 180072, + "start": 180066, + "type": "local", + "view": "string" + }, + { + "finish": 180081, + "start": 180074, + "type": "local", + "view": "nil" + }, + { + "finish": 180089, + "start": 180083, + "type": "local", + "view": "nil" + }, + { + "finish": 180103, + "start": 180091, + "type": "local", + "view": "string" + } + ], + "desc": " Sets the cache entry for the given clientCacheId, networkMessageId and event.", + "finish": 640003, + "start": 180000, + "type": "function", + "view": "function NetworkCache.set(self: NetworkCache, clientCacheId: number, networkMessageId: number, event: string, status: string, ackedAt?: any, sendAt?: any, dataChecksum: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 180025, + "name": "set", + "start": 180009, + "type": "setmethod" + }, + { + "desc": " Returns the size of the cache.", + "extends": { + "args": [ + { + "finish": 1500008, + "start": 1500008, + "type": "self", + "view": "NetworkCache" + } + ], + "desc": " Returns the size of the cache.", + "finish": 1550003, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 1500000, + "type": "function", + "view": "function NetworkCache.size(self: NetworkCache)\n -> size: number" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 1500026, + "name": "size", + "start": 1500009, + "type": "setmethod" + }, + { + "desc": " Returns the usage of the cache.", + "extends": { + "args": [ + { + "finish": 1590008, + "start": 1590008, + "type": "self", + "view": "NetworkCache" + } + ], + "desc": " Returns the usage of the cache.", + "finish": 1640003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 1590000, + "type": "function", + "view": "function NetworkCache.usage(self: NetworkCache)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 1590027, + "name": "usage", + "start": 1590009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 2240063, + "start": 2240029, + "type": "binary", + "view": "any" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCache.lua", + "finish": 2240026, + "name": "utils", + "start": 2240008, + "type": "setfield" + } + ], + "name": "NetworkCache", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 27, + "start": 10, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 2500031, + "start": 2500014, + "type": "doc.class" + } + ], + "fields": [ + { + "desc": " Sets a acknoledgement for a cached network message.", + "extends": { + "args": [ + { + "finish": 1890008, + "start": 1890008, + "type": "self", + "view": "NetworkCacheUtils" + }, + { + "finish": 1890039, + "start": 1890031, + "type": "local", + "view": "string" + }, + { + "finish": 1890057, + "start": 1890041, + "type": "local", + "view": "number" + }, + { + "finish": 1890064, + "start": 1890059, + "type": "local", + "view": "string" + }, + { + "finish": 1890072, + "start": 1890066, + "type": "local", + "view": "string" + }, + { + "finish": 1890081, + "start": 1890074, + "type": "local", + "view": "nil" + }, + { + "finish": 1890089, + "start": 1890083, + "type": "local", + "view": "nil" + }, + { + "finish": 1890099, + "start": 1890091, + "type": "local", + "view": "string" + } + ], + "desc": " Sets a acknoledgement for a cached network message.", + "finish": 2240003, + "start": 1890000, + "type": "function", + "view": "function NetworkCacheUtils.ack(self: NetworkCacheUtils, peerGuid: string, networkMessageId: number, event: string, status: string, ackedAt?: any, sendAt?: any, checksum: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 1890030, + "name": "ack", + "start": 1890009, + "type": "setmethod" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 2580078, + "start": 2570043, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 2570040, + "name": "customProfiler", + "start": 2570008, + "type": "setfield" + }, + { + "desc": " Returns the cached network message.\n\n@*return* `data` — { ackedAt, dataChecksum, event, messageId, sendAt, status}", + "extends": { + "args": [ + { + "finish": 1180008, + "start": 1180008, + "type": "self", + "view": "NetworkCacheUtils" + }, + { + "finish": 1180039, + "start": 1180031, + "type": "local", + "view": "string" + }, + { + "finish": 1180057, + "start": 1180041, + "type": "local", + "view": "number" + }, + { + "finish": 1180064, + "start": 1180059, + "type": "local", + "view": "string" + } + ], + "desc": " Returns the cached network message.\n\n@*return* `data` — { ackedAt, dataChecksum, event, messageId, sendAt, status}", + "finish": 1490003, + "returns": [ + { + "type": "function.return", + "view": "table|nil" + } + ], + "start": 1180000, + "type": "function", + "view": "function NetworkCacheUtils.get(self: NetworkCacheUtils, peerGuid: string, networkMessageId: number, event: string)\n -> data: table|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 1180030, + "name": "get", + "start": 1180009, + "type": "setmethod" + }, + { + "desc": " Returns the cached network message by checksum.\n\n@*return* `cacheData` — { ackedAt, dataChecksum, event, messageId, sendAt, status}", + "extends": { + "args": [ + { + "finish": 1560008, + "start": 1560008, + "type": "self", + "view": "NetworkCacheUtils" + }, + { + "finish": 1560049, + "start": 1560041, + "type": "local", + "view": "string" + }, + { + "finish": 1560056, + "start": 1560051, + "type": "local", + "view": "string" + }, + { + "finish": 1560062, + "start": 1560058, + "type": "local", + "view": "table" + } + ], + "desc": " Returns the cached network message by checksum.\n\n@*return* `cacheData` — { ackedAt, dataChecksum, event, messageId, sendAt, status}", + "finish": 1790003, + "returns": [ + { + "type": "function.return", + "view": "table|nil" + } + ], + "start": 1560000, + "type": "function", + "view": "function NetworkCacheUtils.getByChecksum(self: NetworkCacheUtils, peerGuid: string, event: string, data: table)\n -> cacheData: table|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 1560040, + "name": "getByChecksum", + "start": 1560009, + "type": "setmethod" + }, + { + "desc": " Returns the sum of the data.", + "extends": { + "args": [ + { + "finish": 80008, + "start": 80008, + "type": "self", + "view": "NetworkCacheUtils" + }, + { + "finish": 80039, + "start": 80034, + "type": "local", + "view": "string" + }, + { + "finish": 80045, + "start": 80041, + "type": "local", + "view": "table" + } + ], + "desc": " Returns the sum of the data.", + "finish": 460003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 80000, + "type": "function", + "view": "function NetworkCacheUtils.getSum(self: NetworkCacheUtils, event: string, data: table)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 80033, + "name": "getSum", + "start": 80009, + "type": "setmethod" + }, + { + "desc": "GuidUtils is just for generating and validating GUIDs. Guids are used for identifying clients and servers.", + "extends": { + "finish": 2630073, + "start": 2620038, + "type": "binary", + "view": "GuidUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 2620035, + "name": "guidUtils", + "start": 2620008, + "type": "setfield" + }, + { + "desc": " Logs all cached network messages. Only for debugging.", + "extends": { + "args": [ + { + "finish": 2270008, + "start": 2270008, + "type": "self", + "view": "NetworkCacheUtils" + } + ], + "desc": " Logs all cached network messages. Only for debugging.", + "finish": 2380003, + "start": 2270000, + "type": "function", + "view": "function NetworkCacheUtils.logAll(self: NetworkCacheUtils)" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 2270033, + "name": "logAll", + "start": 2270009, + "type": "setmethod" + }, + { + "extends": { + "finish": 2680070, + "start": 2670035, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 2670032, + "name": "logger", + "start": 2670008, + "type": "setfield" + }, + { + "extends": { + "finish": 2720053, + "start": 2720032, + "type": "binary", + "view": "md5" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 2720029, + "name": "md5", + "start": 2720008, + "type": "setfield" + }, + { + "extends": { + "finish": 2770076, + "start": 2760041, + "type": "binary", + "view": "NetworkCache" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 2760038, + "name": "networkCache", + "start": 2760008, + "type": "setfield" + }, + { + "extends": { + "finish": 2890041, + "start": 2860041, + "type": "binary", + "view": "NetworkUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 2860038, + "name": "networkUtils", + "start": 2860008, + "type": "setfield" + }, + { + "desc": " NetworkCacheUtils constructor.\n\n@*param* `customProfiler` — required\n\n@*param* `guidUtils` — required\n\n@*param* `logger` — required\n\n@*param* `md5` — optional\n\n@*param* `networkCache` — required\n\n@*param* `networkUtils` — optional\n\n@*param* `utils` — optional", + "extends": { + "args": [ + { + "finish": 2490008, + "start": 2490008, + "type": "self", + "view": "NetworkCacheUtils" + }, + { + "desc": "required", + "finish": 2490045, + "start": 2490031, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "required", + "finish": 2490056, + "start": 2490047, + "type": "local", + "view": "GuidUtils" + }, + { + "desc": "required", + "finish": 2490064, + "start": 2490058, + "type": "local", + "view": "Logger" + }, + { + "desc": "optional", + "finish": 2490069, + "start": 2490066, + "type": "local", + "view": "md5|nil" + }, + { + "desc": "required", + "finish": 2490083, + "start": 2490071, + "type": "local", + "view": "NetworkCache" + }, + { + "desc": "optional", + "finish": 2490097, + "start": 2490085, + "type": "local", + "view": "NetworkUtils|nil" + }, + { + "desc": "optional", + "finish": 2490104, + "start": 2490099, + "type": "local", + "view": "Utils|nil" + } + ], + "desc": " NetworkCacheUtils constructor.\n\n@*param* `customProfiler` — required\n\n@*param* `guidUtils` — required\n\n@*param* `logger` — required\n\n@*param* `md5` — optional\n\n@*param* `networkCache` — required\n\n@*param* `networkUtils` — optional\n\n@*param* `utils` — optional", + "finish": 2930003, + "returns": [ + { + "type": "function.return", + "view": "NetworkCacheUtils" + } + ], + "start": 2490000, + "type": "function", + "view": "function NetworkCacheUtils.new(self: NetworkCacheUtils, customProfiler: CustomProfiler, guidUtils: GuidUtils, logger: Logger, md5: md5|nil, networkCache: NetworkCache, networkUtils: NetworkUtils|nil, utils: Utils|nil)\n -> NetworkCacheUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 2490030, + "name": "new", + "start": 2490009, + "type": "setmethod" + }, + { + "desc": " Creates a new network cache entry.\n\n@*param* `peerGuid` — peer.guid", + "extends": { + "args": [ + { + "finish": 510008, + "start": 510008, + "type": "self", + "view": "NetworkCacheUtils" + }, + { + "desc": "peer.guid", + "finish": 510039, + "start": 510031, + "type": "local", + "view": "string" + }, + { + "finish": 510057, + "start": 510041, + "type": "local", + "view": "number" + }, + { + "finish": 510064, + "start": 510059, + "type": "local", + "view": "any" + }, + { + "finish": 510072, + "start": 510066, + "type": "local", + "view": "any" + }, + { + "finish": 510081, + "start": 510074, + "type": "local", + "view": "any" + }, + { + "finish": 510089, + "start": 510083, + "type": "local", + "view": "any" + }, + { + "finish": 510095, + "start": 510091, + "type": "local", + "view": "any" + } + ], + "desc": " Creates a new network cache entry.\n\n@*param* `peerGuid` — peer.guid", + "finish": 1110003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 510000, + "type": "function", + "view": "function NetworkCacheUtils.set(self: NetworkCacheUtils, peerGuid: string, networkMessageId: number, event: any, status: any, ackedAt: any, sendAt: any, data: any)\n -> string" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 510030, + "name": "set", + "start": 510009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 2820037, + "start": 2810034, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkCacheUtils.lua", + "finish": 2810031, + "name": "utils", + "start": 2810008, + "type": "setfield" + } + ], + "name": "NetworkCacheUtils", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 22, + "start": 10, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 3410026, + "start": 3410014, + "type": "doc.class" + } + ], + "fields": [ + { + "desc": " Checks if the event within its data was already sent\n\n@*param* `peer` — If Server, then it's the peer, if Client, then it's the 'self' object", + "extends": { + "args": [ + { + "finish": 2240008, + "start": 2240008, + "type": "self", + "view": "NetworkUtils" + }, + { + "desc": "If Server, then it's the peer, if Client, then it's the 'self' object", + "finish": 2240038, + "start": 2240034, + "type": "local", + "view": "table" + }, + { + "finish": 2240045, + "start": 2240040, + "type": "local", + "view": "string" + }, + { + "finish": 2240051, + "start": 2240047, + "type": "local", + "view": "table" + } + ], + "desc": " Checks if the event within its data was already sent\n\n@*param* `peer` — If Server, then it's the peer, if Client, then it's the 'self' object", + "finish": 2910003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 2240000, + "type": "function", + "view": "function NetworkUtils.alreadySent(self: NetworkUtils, peer: table, event: string, data: table)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 2240033, + "name": "alreadySent", + "start": 2240009, + "type": "setmethod" + }, + { + "desc": " Double checks if the schema order is correct, but only in dev build.", + "extends": { + "args": [ + { + "finish": 1390008, + "start": 1390008, + "type": "self", + "view": "NetworkUtils" + }, + { + "finish": 1390044, + "start": 1390039, + "type": "local", + "view": "string" + }, + { + "finish": 1390050, + "start": 1390046, + "type": "local", + "view": "table" + } + ], + "desc": " Double checks if the schema order is correct, but only in dev build.", + "finish": 1470003, + "start": 1390000, + "type": "function", + "view": "function NetworkUtils.checkSchemaOrder(self: NetworkUtils, event: string, data: table)" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 1390038, + "name": "checkSchemaOrder", + "start": 1390009, + "type": "setmethod" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 3480117, + "start": 3480038, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 3480035, + "name": "customProfiler", + "start": 3480008, + "type": "setfield" + }, + { + "desc": "Default enhanced serialization function", + "extends": { + "args": [ + { + "finish": 1850008, + "start": 1850008, + "type": "self", + "view": "NetworkUtils" + }, + { + "finish": 1850039, + "start": 1850034, + "type": "local", + "view": "any" + } + ], + "desc": "Default enhanced serialization function", + "finish": 2100003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 1850000, + "type": "function", + "view": "function NetworkUtils.deserialize(self: NetworkUtils, value: any)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 1850033, + "name": "deserialize", + "start": 1850009, + "type": "setmethod" + }, + { + "desc": " Returns the network message id counter and increases it by one", + "extends": { + "args": [ + { + "finish": 2140008, + "start": 2140008, + "type": "self", + "view": "NetworkUtils" + } + ], + "desc": " Returns the network message id counter and increases it by one", + "finish": 2170003, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 2140000, + "type": "function", + "view": "function NetworkUtils.getNextNetworkMessageId(self: NetworkUtils)\n -> networkMessageIdCounter: integer" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 2140045, + "name": "getNextNetworkMessageId", + "start": 2140009, + "type": "setmethod" + }, + { + "desc": "GuidUtils is just for generating and validating GUIDs. Guids are used for identifying clients and servers.", + "extends": { + "finish": 3510102, + "start": 3510033, + "type": "binary", + "view": "GuidUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 3510030, + "name": "guidUtils", + "start": 3510008, + "type": "setfield" + }, + { + "desc": " Checks if the current time is a tick.", + "extends": { + "args": [ + { + "finish": 2960008, + "start": 2960008, + "type": "self", + "view": "NetworkUtils" + } + ], + "desc": " Checks if the current time is a tick.", + "finish": 3060003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 2960000, + "type": "function", + "view": "function NetworkUtils.isTick(self: NetworkUtils)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 2960028, + "name": "isTick", + "start": 2960009, + "type": "setmethod" + }, + { + "extends": { + "finish": 3540093, + "start": 3540030, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 3540027, + "name": "logger", + "start": 3540008, + "type": "setfield" + }, + { + "extends": { + "finish": 1560049, + "start": 1560027, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 1560024, + "name": "messagePack", + "start": 1560008, + "type": "setfield" + }, + { + "extends": { + "finish": 1890049, + "start": 1890027, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 1890024, + "name": "messagePack", + "start": 1890008, + "type": "setfield" + }, + { + "extends": { + "finish": 3570057, + "start": 3570035, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 3570032, + "name": "messagePack", + "start": 3570008, + "type": "setfield" + }, + { + "extends": { + "finish": 3600126, + "start": 3600041, + "type": "binary", + "view": "NetworkCacheUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 3600038, + "name": "networkCacheUtils", + "start": 3600008, + "type": "setfield" + }, + { + "desc": " Constructor for NetworkUtils class.", + "extends": { + "args": [ + { + "finish": 3400008, + "start": 3400008, + "type": "self", + "view": "NetworkUtils" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "finish": 3400040, + "start": 3400026, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "GuidUtils is just for generating and validating GUIDs. Guids are used for identifying clients and servers.", + "finish": 3400051, + "start": 3400042, + "type": "local", + "view": "GuidUtils" + }, + { + "finish": 3400059, + "start": 3400053, + "type": "local", + "view": "Logger" + }, + { + "finish": 3400078, + "start": 3400061, + "type": "local", + "view": "NetworkCacheUtils" + }, + { + "desc": "Utils class for lazy developers.", + "finish": 3400085, + "start": 3400080, + "type": "local", + "view": "Utils|nil" + } + ], + "desc": " Constructor for NetworkUtils class.", + "finish": 3700003, + "returns": [ + { + "type": "function.return", + "view": "NetworkUtils" + } + ], + "start": 3400000, + "type": "function", + "view": "function NetworkUtils.new(self: NetworkUtils, customProfiler: CustomProfiler, guidUtils: GuidUtils, logger: Logger, networkCacheUtils: NetworkCacheUtils, utils: Utils|nil)\n -> NetworkUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 3400025, + "name": "new", + "start": 3400009, + "type": "setmethod" + }, + { + "desc": " Default enhanced serialization function", + "extends": { + "args": [ + { + "finish": 1520008, + "start": 1520008, + "type": "self", + "view": "NetworkUtils" + }, + { + "finish": 1520037, + "start": 1520032, + "type": "local", + "view": "any" + } + ], + "desc": " Default enhanced serialization function", + "finish": 1800003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 1520000, + "type": "function", + "view": "function NetworkUtils.serialize(self: NetworkUtils, value: any)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 1520031, + "name": "serialize", + "start": 1520009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 3630063, + "start": 3630029, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 3630026, + "name": "utils", + "start": 3630008, + "type": "setfield" + }, + { + "desc": " links variables to keys based on their order\n note that it only works for boolean and number values, not strings.\n Credits to sock.lua\n\n@*param* `items` — data\n\n@*param* `keys` — schema", + "extends": { + "args": [ + { + "finish": 3150008, + "start": 3150008, + "type": "self", + "view": "NetworkUtils" + }, + { + "desc": "data", + "finish": 3150036, + "start": 3150031, + "type": "local", + "view": "table" + }, + { + "desc": "schema", + "finish": 3150042, + "start": 3150038, + "type": "local", + "view": "table" + }, + { + "finish": 3150049, + "start": 3150044, + "type": "local", + "view": "string" + } + ], + "desc": " links variables to keys based on their order\n note that it only works for boolean and number values, not strings.\n Credits to sock.lua\n\n@*param* `items` — data\n\n@*param* `keys` — schema", + "finish": 3310003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 3150000, + "type": "function", + "view": "function NetworkUtils.zipTable(self: NetworkUtils, items: table, keys: table, event: string)\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 3150030, + "name": "zipTable", + "start": 3150009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1590040, + "start": 1590025, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 1590022, + "name": "zstandard", + "start": 1590008, + "type": "setfield" + }, + { + "extends": { + "finish": 1920040, + "start": 1920025, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 1920022, + "name": "zstandard", + "start": 1920008, + "type": "setfield" + }, + { + "extends": { + "finish": 3660048, + "start": 3660033, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkUtils.lua", + "finish": 3660030, + "name": "zstandard", + "start": 3660008, + "type": "setfield" + } + ], + "name": "NetworkUtils", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 10025, + "start": 10010, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 5270029, + "start": 5270014, + "type": "doc.class" + } + ], + "desc": "NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API", + "fields": [ + { + "desc": "Simply adds or updates all needed Network Variable Storage Components.\n\n@*param* `entityId` — Id of an entity provided by Noita\n\n@*param* `ownerName` — Owners name. Cannot be nil.\n\n@*param* `ownerGuid` — Owners guid. Cannot be nil.\n\n@*param* `nuid` — Network unique identifier. Can only be nil on clients, but not on server.\n\n@*param* `spawnX` — X position of the entity, when spawned. Can only be set once! Can be nil.\n\n@*param* `spawnY` — Y position of the entity, when spawned. Can only be set once! Can be nil.", + "extends": { + "args": [ + { + "finish": 3980008, + "start": 3980008, + "type": "self", + "view": "NetworkVscUtils" + }, + { + "desc": "Id of an entity provided by Noita", + "finish": 3980052, + "start": 3980044, + "type": "local", + "view": "number" + }, + { + "desc": "Owners name. Cannot be nil.", + "finish": 3980063, + "start": 3980054, + "type": "local", + "view": "string" + }, + { + "desc": "Owners guid. Cannot be nil.", + "finish": 3980074, + "start": 3980065, + "type": "local", + "view": "string" + }, + { + "desc": "Network unique identifier. Can only be nil on clients, but not on server.", + "finish": 3980080, + "start": 3980076, + "type": "local", + "view": "number|nil" + }, + { + "desc": "X position of the entity, when spawned. Can only be set once! Can be nil.", + "finish": 3980088, + "start": 3980082, + "type": "local", + "view": "number|nil" + }, + { + "desc": "Y position of the entity, when spawned. Can only be set once! Can be nil.", + "finish": 3980096, + "start": 3980090, + "type": "local", + "view": "number|nil" + } + ], + "desc": "Simply adds or updates all needed Network Variable Storage Components.\n\n@*param* `entityId` — Id of an entity provided by Noita\n\n@*param* `ownerName` — Owners name. Cannot be nil.\n\n@*param* `ownerGuid` — Owners guid. Cannot be nil.\n\n@*param* `nuid` — Network unique identifier. Can only be nil on clients, but not on server.\n\n@*param* `spawnX` — X position of the entity, when spawned. Can only be set once! Can be nil.\n\n@*param* `spawnY` — Y position of the entity, when spawned. Can only be set once! Can be nil.", + "finish": 4250003, + "returns": [ + { + "type": "function.return", + "view": "integer|nil" + }, + { + "type": "function.return", + "view": "integer|nil" + }, + { + "type": "function.return", + "view": "integer|nil" + }, + { + "type": "function.return", + "view": "integer|nil" + }, + { + "type": "function.return", + "view": "integer|nil" + }, + { + "type": "function.return", + "view": "integer|nil" + }, + { + "type": "function.return", + "view": "integer|nil" + } + ], + "start": 3980000, + "type": "function", + "view": "function NetworkVscUtils.addOrUpdateAllVscs(self: NetworkVscUtils, entityId: number, ownerName: string, ownerGuid: string, nuid: number|nil, spawnX: number|nil, spawnY: number|nil)\n -> componentIdForOwnerName: integer|nil\n 2. componentIdForOwnerGuid: integer|nil\n 3. componentIdForNuid: integer|nil\n 4. componentIdForNuidDebugger: integer|nil\n 5. componentIdForNuidDebugger: integer|nil\n 6. componentIdForSpawnX: integer|nil\n 7. componentIdForSpawnY: integer|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 3980043, + "name": "addOrUpdateAllVscs", + "start": 3980009, + "type": "setmethod" + }, + { + "desc": "Checks if an entity already has a specific VariableStorageComponent.\n\n@*param* `entityId` — Id of an entity provided by Noita\n\n@*param* `componentTypeName` — \"VariableStorageComponent\", \"LuaComponent\", etc\n\n@*param* `fieldNameForMatch` — Components attribute to match the specific component you are searching for: \"name\", \"script_source_file\", \"etc\". component.name = \"brah\": 'name' -> fieldNameForMatch\n\n@*param* `matchValue` — The components attribute value, you want to match to: component.name = \"brah\": 'brah' -> matchValue Have a look on NetworkVscUtils.componentNameOf___\n\n@*param* `fieldNameForValue` — name\n\n@*return* `compId` — The specific componentId, which contains the searched value or false if there isn't any Component\n\n@*return* `value` — The components value\n\n```lua\ncompId:\n | false\n```", + "extends": { + "args": [ + { + "finish": 3580008, + "start": 3580008, + "type": "self", + "view": "NetworkVscUtils" + }, + { + "desc": "Id of an entity provided by Noita", + "finish": 3580058, + "start": 3580050, + "type": "local", + "view": "number" + }, + { + "desc": "\"VariableStorageComponent\", \"LuaComponent\", etc", + "finish": 3580077, + "start": 3580060, + "type": "local", + "view": "string" + }, + { + "desc": "Components attribute to match the specific component you are searching for: \"name\", \"script_source_file\", \"etc\". component.name = \"brah\": 'name' -> fieldNameForMatch", + "finish": 3580096, + "start": 3580079, + "type": "local", + "view": "string" + }, + { + "desc": "The components attribute value, you want to match to: component.name = \"brah\": 'brah' -> matchValue Have a look on NetworkVscUtils.componentNameOf___", + "finish": 3580108, + "start": 3580098, + "type": "local", + "view": "string" + }, + { + "desc": "name", + "finish": 3580127, + "start": 3580110, + "type": "local", + "view": "string" + } + ], + "desc": "Checks if an entity already has a specific VariableStorageComponent.\n\n@*param* `entityId` — Id of an entity provided by Noita\n\n@*param* `componentTypeName` — \"VariableStorageComponent\", \"LuaComponent\", etc\n\n@*param* `fieldNameForMatch` — Components attribute to match the specific component you are searching for: \"name\", \"script_source_file\", \"etc\". component.name = \"brah\": 'name' -> fieldNameForMatch\n\n@*param* `matchValue` — The components attribute value, you want to match to: component.name = \"brah\": 'brah' -> matchValue Have a look on NetworkVscUtils.componentNameOf___\n\n@*param* `fieldNameForValue` — name\n\n@*return* `compId` — The specific componentId, which contains the searched value or false if there isn't any Component\n\n@*return* `value` — The components value\n\n```lua\ncompId:\n | false\n```", + "finish": 3820003, + "returns": [ + { + "type": "function.return", + "view": "number|false|nil" + }, + { + "type": "function.return", + "view": "string|nil" + } + ], + "start": 3580000, + "type": "function", + "view": "function NetworkVscUtils.checkIfSpecificVscExists(self: NetworkVscUtils, entityId: number, componentTypeName: string, fieldNameForMatch: string, matchValue: string, fieldNameForValue: string)\n -> compId: number|false|nil\n 2. value: string|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 3580049, + "name": "checkIfSpecificVscExists", + "start": 3580009, + "type": "setmethod" + }, + { + "desc": "See: [CustomProfiler](../../mods/noita-mp/files/scripts/util/CustomProfiler.lua#2#10)", + "extends": { + "finish": 5400130, + "start": 5400047, + "type": "binary", + "view": "any" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 5400044, + "name": "customProfiler", + "start": 5400008, + "type": "setfield" + }, + { + "desc": "Returns all Network Vsc values by its component ids.\n\n@*param* `ownerNameCompId` — Component Id of the OwnerNameVsc\n\n@*param* `ownerGuidCompId` — Component Id of the OwnerGuidVsc\n\n@*param* `nuidCompId` — Component Id of the NuidVsc", + "extends": { + "args": [ + { + "finish": 4500008, + "start": 4500008, + "type": "self", + "view": "NetworkVscUtils" + }, + { + "desc": "Component Id of the OwnerNameVsc", + "finish": 4500070, + "start": 4500055, + "type": "local", + "view": "number" + }, + { + "desc": "Component Id of the OwnerGuidVsc", + "finish": 4500087, + "start": 4500072, + "type": "local", + "view": "number" + }, + { + "desc": "Component Id of the NuidVsc", + "finish": 4500099, + "start": 4500089, + "type": "local", + "view": "number" + } + ], + "desc": "Returns all Network Vsc values by its component ids.\n\n@*param* `ownerNameCompId` — Component Id of the OwnerNameVsc\n\n@*param* `ownerGuidCompId` — Component Id of the OwnerGuidVsc\n\n@*param* `nuidCompId` — Component Id of the NuidVsc", + "finish": 4660003, + "returns": [ + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "number" + } + ], + "start": 4500000, + "type": "function", + "view": "function NetworkVscUtils.getAllVcsValuesByComponentIds(self: NetworkVscUtils, ownerNameCompId: number, ownerGuidCompId: number, nuidCompId: number)\n -> ownerName: string\n 2. ownerGuid: string\n 3. nuid: number" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 4500054, + "name": "getAllVcsValuesByComponentIds", + "start": 4500009, + "type": "setmethod" + }, + { + "desc": "Returns all Network Vsc values by its entity id.\n\n@*param* `entityId` — Entity Id provided by Noita\n\n@*return* `ownerName,ownerGuid,nuid` — - nuid can be nil", + "extends": { + "args": [ + { + "finish": 4300008, + "start": 4300008, + "type": "self", + "view": "NetworkVscUtils" + }, + { + "desc": "Entity Id provided by Noita", + "finish": 4300059, + "start": 4300051, + "type": "local", + "view": "number" + } + ], + "desc": "Returns all Network Vsc values by its entity id.\n\n@*param* `entityId` — Entity Id provided by Noita\n\n@*return* `ownerName,ownerGuid,nuid` — - nuid can be nil", + "finish": 4410003, + "returns": [ + { + "type": "function.return", + "view": "string?" + }, + { + "type": "function.return", + "view": "string?" + }, + { + "type": "function.return", + "view": "number?" + } + ], + "start": 4300000, + "type": "function", + "view": "function NetworkVscUtils.getAllVscValuesByEntityId(self: NetworkVscUtils, entityId: number)\n -> ownerName: string?\n 2. ownerGuid: string?\n 3. nuid: number?" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 4300050, + "name": "getAllVscValuesByEntityId", + "start": 4300009, + "type": "setmethod" + }, + { + "desc": "See: [GlobalsUtils](../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua#1#10)", + "extends": { + "finish": 5600124, + "start": 5600045, + "type": "binary", + "view": "any" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 5600042, + "name": "globalsUtils", + "start": 5600008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 5100008, + "start": 5100008, + "type": "self", + "view": "NetworkVscUtils" + }, + { + "finish": 5100057, + "start": 5100049, + "type": "local", + "view": "any" + } + ], + "finish": 5240003, + "returns": [ + { + "type": "function.return", + "view": "boolean|nil" + } + ], + "start": 5100000, + "type": "function", + "view": "function NetworkVscUtils.hasNetworkLuaComponents(self: NetworkVscUtils, entityId: any)\n -> boolean|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 5100048, + "name": "hasNetworkLuaComponents", + "start": 5100009, + "type": "setmethod" + }, + { + "desc": "Checks if the nuid Vsc exists, if so returns nuid\n\n@*return* `has` — retruns 'false, -1': Returns false, if there is no NuidVsc or nuid is empty.\n\n@*return* `nuid` — Returns 'true, nuid', if set.", + "extends": { + "args": [ + { + "finish": 4960008, + "start": 4960008, + "type": "self", + "view": "NetworkVscUtils" + }, + { + "finish": 4960044, + "start": 4960036, + "type": "local", + "view": "number" + } + ], + "desc": "Checks if the nuid Vsc exists, if so returns nuid\n\n@*return* `has` — retruns 'false, -1': Returns false, if there is no NuidVsc or nuid is empty.\n\n@*return* `nuid` — Returns 'true, nuid', if set.", + "finish": 5080003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + }, + { + "type": "function.return", + "view": "number|nil" + } + ], + "start": 4960000, + "type": "function", + "view": "function NetworkVscUtils.hasNuidSet(self: NetworkVscUtils, entityId: number)\n -> has: boolean\n 2. nuid: number|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 4960035, + "name": "hasNuidSet", + "start": 4960009, + "type": "setmethod" + }, + { + "desc": "Returns true, componentId and nuid if the entity has a NetworkVsc.\n\n@*param* `entityId` — entityId provided by Noita", + "extends": { + "args": [ + { + "finish": 4730008, + "start": 4730008, + "type": "self", + "view": "NetworkVscUtils" + }, + { + "desc": "entityId provided by Noita", + "finish": 4730058, + "start": 4730050, + "type": "local", + "view": "number" + } + ], + "desc": "Returns true, componentId and nuid if the entity has a NetworkVsc.\n\n@*param* `entityId` — entityId provided by Noita", + "finish": 4900003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + }, + { + "type": "function.return", + "view": "number" + }, + { + "type": "function.return", + "view": "number|nil" + } + ], + "start": 4730000, + "type": "function", + "view": "function NetworkVscUtils.isNetworkEntityByNuidVsc(self: NetworkVscUtils, entityId: number)\n -> isNetworkEntity: boolean\n 2. componentId: number\n 3. nuid: number|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 4730049, + "name": "isNetworkEntityByNuidVsc", + "start": 4730009, + "type": "setmethod" + }, + { + "desc": "See: [Logger](../../mods/noita-mp/files/scripts/util/Logger.lua#1#10)", + "extends": { + "finish": 5480037, + "start": 5460039, + "type": "binary", + "view": "any" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 5460036, + "name": "logger", + "start": 5460008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 5260008, + "start": 5260008, + "type": "self", + "view": "NetworkVscUtils" + }, + { + "finish": 5260050, + "start": 5260029, + "type": "local", + "view": "any" + }, + { + "finish": 5260066, + "start": 5260052, + "type": "local", + "view": "any" + }, + { + "finish": 5260074, + "start": 5260068, + "type": "local", + "view": "any" + }, + { + "finish": 5260082, + "start": 5260076, + "type": "local", + "view": "any" + }, + { + "finish": 5260096, + "start": 5260084, + "type": "local", + "view": "any" + }, + { + "finish": 5260103, + "start": 5260098, + "type": "local", + "view": "any" + } + ], + "finish": 5720003, + "returns": [ + { + "type": "function.return", + "view": "NetworkVscUtils" + } + ], + "start": 5260000, + "type": "function", + "view": "function NetworkVscUtils.new(self: NetworkVscUtils, networkVscUtilsObject: any, customProfiler: any, logger: any, server: any, globalsUtils: any, utils: any)\n -> NetworkVscUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 5260028, + "name": "new", + "start": 5260009, + "type": "setmethod" + }, + { + "desc": "See: [Server](../../mods/noita-mp/files/scripts/net/Server.lua#4#10)", + "extends": { + "finish": 5540106, + "start": 5540039, + "type": "binary", + "view": "any" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 5540036, + "name": "server", + "start": 5540008, + "type": "setfield" + }, + { + "desc": "See: [Utils](../../mods/noita-mp/files/scripts/util/Utils.lua#2#10)", + "extends": { + "finish": 5660103, + "start": 5660038, + "type": "binary", + "view": "any" + }, + "file": "../../mods/noita-mp/files/scripts/util/NetworkVscUtils.lua", + "finish": 5660035, + "name": "utils", + "start": 5660008, + "type": "setfield" + } + ], + "name": "NetworkVscUtils", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 10029, + "start": 10010, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 1890033, + "start": 1890014, + "type": "doc.class" + } + ], + "desc": "Class for using Noita components.", + "fields": [ + { + "desc": "Adds a SpriteComponent to indicate network status visually.", + "extends": { + "args": [ + { + "finish": 750008, + "start": 750008, + "type": "self", + "view": "NoitaComponentUtils" + }, + { + "finish": 750074, + "start": 750066, + "type": "local", + "view": "number" + } + ], + "desc": "Adds a SpriteComponent to indicate network status visually.", + "finish": 1070003, + "returns": [ + { + "type": "function.return", + "view": "number|nil" + } + ], + "start": 750000, + "type": "function", + "view": "function NoitaComponentUtils.addOrGetNetworkSpriteStatusIndicator(self: NoitaComponentUtils, entityId: number)\n -> compId: number|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 750065, + "name": "addOrGetNetworkSpriteStatusIndicator", + "start": 750009, + "type": "setmethod" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 1970137, + "start": 1970051, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 1970048, + "name": "customProfiler", + "start": 1970008, + "type": "setfield" + }, + { + "desc": " Fetches data like position, rotation, velocity, health and filename", + "extends": { + "args": [ + { + "finish": 420008, + "start": 420008, + "type": "self", + "view": "NoitaComponentUtils" + }, + { + "finish": 420051, + "start": 420043, + "type": "local", + "view": "number" + } + ], + "desc": " Fetches data like position, rotation, velocity, health and filename", + "finish": 650003, + "returns": [ + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "number" + }, + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "Health" + }, + { + "type": "function.return", + "view": "number" + }, + { + "type": "function.return", + "view": "Vec2" + }, + { + "type": "function.return", + "view": "number" + }, + { + "type": "function.return", + "view": "number" + } + ], + "start": 420000, + "type": "function", + "view": "function NoitaComponentUtils.getEntityData(self: NoitaComponentUtils, entityId: number)\n -> ownername: string\n 2. ownerguid: string\n 3. nuid: number\n 4. filename: string\n 5. health: Health\n 6. rotation: number\n 7. velocity: Vec2\n 8. x: number\n 9. y: number" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 420042, + "name": "getEntityData", + "start": 420009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 670008, + "start": 670008, + "type": "self", + "view": "NoitaComponentUtils" + }, + { + "finish": 670053, + "start": 670049, + "type": "local", + "view": "any" + } + ], + "finish": 700003, + "returns": [ + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "number" + }, + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "Health" + }, + { + "type": "function.return", + "view": "number" + }, + { + "type": "function.return", + "view": "Vec2" + }, + { + "type": "function.return", + "view": "number" + }, + { + "type": "function.return", + "view": "number" + } + ], + "start": 670000, + "type": "function", + "view": "function NoitaComponentUtils.getEntityDataByNuid(self: NoitaComponentUtils, nuid: any)\n -> string\n 2. string\n 3. number\n 4. string\n 5. Health\n 6. number\n 7. Vec2\n 8. number\n 9. number" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 670048, + "name": "getEntityDataByNuid", + "start": 670009, + "type": "setmethod" + }, + { + "desc": " Get initial serialized entity string to determine if the entity already exists on the server.", + "extends": { + "args": [ + { + "finish": 1500008, + "start": 1500008, + "type": "self", + "view": "NoitaComponentUtils" + }, + { + "finish": 1500070, + "start": 1500062, + "type": "local", + "view": "number" + } + ], + "desc": " Get initial serialized entity string to determine if the entity already exists on the server.", + "finish": 1770003, + "returns": [ + { + "type": "function.return", + "view": "string|nil" + } + ], + "start": 1500000, + "type": "function", + "view": "function NoitaComponentUtils.getInitialSerializedEntityString(self: NoitaComponentUtils, entityId: number)\n -> initSerializedB64Str: string|nil" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 1500061, + "name": "getInitialSerializedEntityString", + "start": 1500009, + "type": "setmethod" + }, + { + "extends": { + "finish": 2020131, + "start": 2020049, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 2020046, + "name": "globalsUtils", + "start": 2020008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 1420008, + "start": 1420008, + "type": "self", + "view": "NoitaComponentUtils" + }, + { + "finish": 1420070, + "start": 1420062, + "type": "local", + "view": "any" + } + ], + "finish": 1450003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 1420000, + "type": "function", + "view": "function NoitaComponentUtils.hasInitialSerializedEntityString(self: NoitaComponentUtils, entityId: any)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 1420061, + "name": "hasInitialSerializedEntityString", + "start": 1420009, + "type": "setmethod" + }, + { + "extends": { + "finish": 2080054, + "start": 2070043, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 2070040, + "name": "logger", + "start": 2070008, + "type": "setfield" + }, + { + "desc": "NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API", + "extends": { + "finish": 2140038, + "start": 2130052, + "type": "binary", + "view": "NetworkVscUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 2130049, + "name": "networkVscUtils", + "start": 2130008, + "type": "setfield" + }, + { + "desc": "NoitaComponentUtils constructor.\n\n@*param* `noitaComponentUtilsObject` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `globalsUtils` — required\n\n@*param* `logger` — optional\n\n@*param* `networkVscUtils` — optional\n\n@*param* `utils` — optional\n\n@*param* `noitaPatcherUtils` — required", + "extends": { + "args": [ + { + "finish": 1880008, + "start": 1880008, + "type": "self", + "view": "NoitaComponentUtils" + }, + { + "desc": "optional", + "finish": 1880058, + "start": 1880033, + "type": "local", + "view": "NoitaComponentUtils|nil" + }, + { + "desc": "required", + "finish": 1880074, + "start": 1880060, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "required", + "finish": 1880088, + "start": 1880076, + "type": "local", + "view": "GlobalsUtils" + }, + { + "desc": "optional", + "finish": 1880096, + "start": 1880090, + "type": "local", + "view": "Logger|nil" + }, + { + "desc": "optional", + "finish": 1880113, + "start": 1880098, + "type": "local", + "view": "NetworkVscUtils|nil" + }, + { + "desc": "optional", + "finish": 1880120, + "start": 1880115, + "type": "local", + "view": "Utils|nil" + }, + { + "desc": "required", + "finish": 1880139, + "start": 1880122, + "type": "local", + "view": "NoitaPatcherUtils" + } + ], + "desc": "NoitaComponentUtils constructor.\n\n@*param* `noitaComponentUtilsObject` — optional\n\n@*param* `customProfiler` — required\n\n@*param* `globalsUtils` — required\n\n@*param* `logger` — optional\n\n@*param* `networkVscUtils` — optional\n\n@*param* `utils` — optional\n\n@*param* `noitaPatcherUtils` — required", + "finish": 2300003, + "returns": [ + { + "type": "function.return", + "view": "NoitaComponentUtils" + } + ], + "start": 1880000, + "type": "function", + "view": "function NoitaComponentUtils.new(self: NoitaComponentUtils, noitaComponentUtilsObject: NoitaComponentUtils|nil, customProfiler: CustomProfiler, globalsUtils: GlobalsUtils, logger: Logger|nil, networkVscUtils: NetworkVscUtils|nil, utils: Utils|nil, noitaPatcherUtils: NoitaPatcherUtils)\n -> NoitaComponentUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 1880032, + "name": "new", + "start": 1880009, + "type": "setmethod" + }, + { + "extends": { + "finish": 2260083, + "start": 2250054, + "type": "binary", + "view": "NoitaPatcherUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 2250051, + "name": "noitaPatcherUtils", + "start": 2250008, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 130008, + "start": 130008, + "type": "self", + "view": "NoitaComponentUtils" + }, + { + "finish": 130051, + "start": 130043, + "type": "local", + "view": "number" + }, + { + "finish": 130054, + "start": 130053, + "type": "local", + "view": "number" + }, + { + "finish": 130057, + "start": 130056, + "type": "local", + "view": "number" + }, + { + "finish": 130067, + "start": 130059, + "type": "local", + "view": "number" + }, + { + "finish": 130077, + "start": 130069, + "type": "local", + "view": "Vec2?" + }, + { + "finish": 130085, + "start": 130079, + "type": "local", + "view": "number" + } + ], + "finish": 370003, + "start": 130000, + "type": "function", + "view": "function NoitaComponentUtils.setEntityData(self: NoitaComponentUtils, entityId: number, x: number, y: number, rotation: number, velocity?: Vec2, health: number)" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 130042, + "name": "setEntityData", + "start": 130009, + "type": "setmethod" + }, + { + "desc": " Set initial serialized entity string to determine if the entity already exists on the server.\n\n@*return* `if` — success", + "extends": { + "args": [ + { + "finish": 1240008, + "start": 1240008, + "type": "self", + "view": "NoitaComponentUtils" + }, + { + "finish": 1240070, + "start": 1240062, + "type": "local", + "view": "number" + }, + { + "finish": 1240092, + "start": 1240072, + "type": "local", + "view": "string" + } + ], + "desc": " Set initial serialized entity string to determine if the entity already exists on the server.\n\n@*return* `if` — success", + "finish": 1400003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 1240000, + "type": "function", + "view": "function NoitaComponentUtils.setInitialSerializedEntityString(self: NoitaComponentUtils, entityId: number, initSerializedB64Str: string)\n -> if: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 1240061, + "name": "setInitialSerializedEntityString", + "start": 1240009, + "type": "setmethod" + }, + { + "desc": "Sets the SpriteComponent to a specific status by setting image_file.\n\n@*param* `status` — off, processed, serialised, sent, acked", + "extends": { + "args": [ + { + "finish": 1120008, + "start": 1120008, + "type": "self", + "view": "NoitaComponentUtils" + }, + { + "finish": 1120069, + "start": 1120061, + "type": "local", + "view": "number" + }, + { + "desc": "off, processed, serialised, sent, acked", + "finish": 1120077, + "start": 1120071, + "type": "local", + "view": "string" + } + ], + "desc": "Sets the SpriteComponent to a specific status by setting image_file.\n\n@*param* `status` — off, processed, serialised, sent, acked", + "finish": 1180003, + "start": 1120000, + "type": "function", + "view": "function NoitaComponentUtils.setNetworkSpriteIndicatorStatus(self: NoitaComponentUtils, entityId: number, status: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 1120060, + "name": "setNetworkSpriteIndicatorStatus", + "start": 1120009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 2200028, + "start": 2190042, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaComponentUtils.lua", + "finish": 2190039, + "name": "utils", + "start": 2190008, + "type": "setfield" + } + ], + "name": "NoitaComponentUtils", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 10026, + "start": 10011, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1690029, + "start": 1690014, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1660029, + "start": 1660014, + "type": "doc.class" + } + ], + "desc": " NoitaMpSettings: Replacement for Noita ModSettings.", + "fields": [ + { + "desc": "Removes all settings and creates a new settings file.", + "extends": { + "args": [ + { + "finish": 840008, + "start": 840008, + "type": "self", + "view": "NoitaMpSettings" + } + ], + "desc": "Removes all settings and creates a new settings file.", + "finish": 930003, + "start": 840000, + "type": "function", + "view": "function NoitaMpSettings.clearAndCreateSettings(self: NoitaMpSettings)" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 840047, + "name": "clearAndCreateSettings", + "start": 840009, + "type": "setmethod" + }, + { + "desc": "See: [CustomProfiler](../../mods/noita-mp/files/scripts/util/CustomProfiler.lua#2#10)", + "extends": { + "finish": 1970039, + "start": 1940041, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1940038, + "name": "customProfiler", + "start": 1940008, + "type": "setfield" + }, + { + "extends": { + "finish": 2140038, + "start": 2110036, + "type": "binary", + "view": "FileUtils" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 2110033, + "name": "fileUtils", + "start": 2110008, + "type": "setfield" + }, + { + "desc": "Returns a setting from the settings file converted to the given dataType. If the setting does not exist, it will be created with the default empty value.\n\n@*param* `key` — required\n\n@*param* `dataType` — required! Must be one of \"boolean\" or \"number\". If not set, \"string\" is default.\n\n@*return* `value` — converted to dataType or nil, when value is not set.", + "extends": { + "args": [ + { + "finish": 1180008, + "start": 1180008, + "type": "self", + "view": "NoitaMpSettings" + }, + { + "desc": "required", + "finish": 1180032, + "start": 1180029, + "type": "local", + "view": "string" + }, + { + "desc": "required! Must be one of \"boolean\" or \"number\". If not set, \"string\" is default.", + "finish": 1180042, + "start": 1180034, + "type": "local", + "view": "string" + } + ], + "desc": "Returns a setting from the settings file converted to the given dataType. If the setting does not exist, it will be created with the default empty value.\n\n@*param* `key` — required\n\n@*param* `dataType` — required! Must be one of \"boolean\" or \"number\". If not set, \"string\" is default.\n\n@*return* `value` — converted to dataType or nil, when value is not set.", + "finish": 1300003, + "returns": [ + { + "type": "function.return", + "view": "boolean|string|number|nil" + } + ], + "start": 1180000, + "type": "function", + "view": "function NoitaMpSettings.get(self: NoitaMpSettings, key: string, dataType: string)\n -> value: boolean|string|number|nil" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1180028, + "name": "get", + "start": 1180009, + "type": "setmethod" + }, + { + "desc": "Everything regarding ImGui: Credits to @dextercd", + "extends": { + "finish": 2010090, + "start": 2010030, + "type": "binary", + "view": "Gui" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 2010027, + "name": "gui", + "start": 2010008, + "type": "setfield" + }, + { + "desc": "Checks if more than one Noita process is running.\n\n@*return* `true` — if more than one Noita process is running.", + "extends": { + "args": [ + { + "finish": 680008, + "start": 680008, + "type": "self", + "view": "NoitaMpSettings" + } + ], + "desc": "Checks if more than one Noita process is running.\n\n@*return* `true` — if more than one Noita process is running.", + "finish": 810003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 680000, + "type": "function", + "view": "function NoitaMpSettings.isMoreThanOneNoitaProcessRunning(self: NoitaMpSettings)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 680057, + "name": "isMoreThanOneNoitaProcessRunning", + "start": 680009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1800054, + "start": 1800031, + "type": "binary", + "view": "json" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1800028, + "name": "json", + "start": 1800008, + "type": "setfield" + }, + { + "extends": { + "finish": 1840051, + "start": 1840030, + "type": "binary", + "view": "LuaFileSystem" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1840027, + "name": "lfs", + "start": 1840008, + "type": "setfield" + }, + { + "desc": "Loads the settings from the settings file and put those into the cached settings.", + "extends": { + "args": [ + { + "finish": 1330008, + "start": 1330008, + "type": "self", + "view": "NoitaMpSettings" + } + ], + "desc": "Loads the settings from the settings file and put those into the cached settings.", + "finish": 1420003, + "start": 1330000, + "type": "function", + "view": "function NoitaMpSettings.load(self: NoitaMpSettings)" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1330029, + "name": "load", + "start": 1330009, + "type": "setmethod" + }, + { + "extends": { + "finish": 2070038, + "start": 2050033, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 2050030, + "name": "logger", + "start": 2050008, + "type": "setfield" + }, + { + "desc": "NoitaMpSettings constructor.\n\n@*param* `gui` — required", + "extends": { + "args": [ + { + "finish": 1680008, + "start": 1680008, + "type": "self", + "view": "NoitaMpSettings" + }, + { + "desc": " NoitaMpSettings: Replacement for Noita ModSettings.", + "finish": 1680044, + "start": 1680029, + "type": "local", + "view": "NoitaMpSettings|nil" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "finish": 1680060, + "start": 1680046, + "type": "local", + "view": "CustomProfiler|nil" + }, + { + "desc": "required", + "finish": 1680065, + "start": 1680062, + "type": "local", + "view": "Gui" + }, + { + "finish": 1680076, + "start": 1680067, + "type": "local", + "view": "FileUtils|nil" + }, + { + "finish": 1680082, + "start": 1680078, + "type": "local", + "view": "json|nil" + }, + { + "finish": 1680087, + "start": 1680084, + "type": "local", + "view": "LuaFileSystem|nil" + }, + { + "finish": 1680095, + "start": 1680089, + "type": "local", + "view": "Logger|nil" + }, + { + "desc": "Utils class for lazy developers.", + "finish": 1680102, + "start": 1680097, + "type": "local", + "view": "Utils|nil" + }, + { + "finish": 1680110, + "start": 1680104, + "type": "local", + "view": "winapi|nil" + } + ], + "desc": "NoitaMpSettings constructor.\n\n@*param* `gui` — required", + "finish": 2180003, + "returns": [ + { + "type": "function.return", + "view": "NoitaMpSettings" + } + ], + "start": 1680000, + "type": "function", + "view": "function NoitaMpSettings.new(self: NoitaMpSettings, noitaMpSettings: NoitaMpSettings|nil, customProfiler: CustomProfiler|nil, gui: Gui, fileUtils: FileUtils|nil, json: json|nil, lfs: LuaFileSystem|nil, logger: Logger|nil, utils: Utils|nil, winapi: winapi|nil)\n -> NoitaMpSettings" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1680028, + "name": "new", + "start": 1680009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 1440008, + "start": 1440008, + "type": "self", + "view": "NoitaMpSettings" + } + ], + "finish": 1550003, + "start": 1440000, + "type": "function", + "view": "function NoitaMpSettings.save(self: NoitaMpSettings)" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1440029, + "name": "save", + "start": 1440009, + "type": "setmethod" + }, + { + "desc": "Sets a setting. Saves the settings to the settings file and returns the new updated cached settings.\n\n@*param* `key` — required\n\n@*param* `value` — required", + "extends": { + "args": [ + { + "finish": 990008, + "start": 990008, + "type": "self", + "view": "NoitaMpSettings" + }, + { + "desc": "required", + "finish": 990032, + "start": 990029, + "type": "local", + "view": "string" + }, + { + "desc": "required", + "finish": 990039, + "start": 990034, + "type": "local", + "view": "any" + } + ], + "desc": "Sets a setting. Saves the settings to the settings file and returns the new updated cached settings.\n\n@*param* `key` — required\n\n@*param* `value` — required", + "finish": 1120003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 990000, + "type": "function", + "view": "function NoitaMpSettings.set(self: NoitaMpSettings, key: string, value: any)\n -> self.cachedSettings: table" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 990028, + "name": "set", + "start": 990009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1210073, + "start": 1210034, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1210031, + "name": "settingsFileExists", + "start": 1210008, + "type": "setfield" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 1760066, + "start": 1760032, + "type": "binary", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1760029, + "name": "utils", + "start": 1760008, + "type": "setfield" + }, + { + "extends": { + "finish": 1880060, + "start": 1880033, + "type": "binary", + "view": "winapi" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 1880030, + "name": "winapi", + "start": 1880008, + "type": "setfield" + } + ], + "name": "NoitaMpSettings", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 27, + "start": 10, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 420031, + "start": 420014, + "type": "doc.class" + } + ], + "fields": [ + { + "extends": { + "finish": 720062, + "start": 720041, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 720038, + "name": "base64", + "start": 720008, + "type": "setfield" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 580133, + "start": 580049, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 580046, + "name": "customProfiler", + "start": 580008, + "type": "setfield" + }, + { + "desc": " Deserialize an entity from a serialized base64 string and create it at the given position.\n\n@*param* `entityId` — mostly an empty entity, but required\n\n@*param* `base64String` — serialized entity in base64 format\n\n@*param* `x` — x position to create entity at, but optional.\n\n@*param* `y` — y position to create entity at, but optional.\n\n@*return* `entityId` — of the created entity", + "extends": { + "args": [ + { + "finish": 280008, + "start": 280008, + "type": "self", + "view": "NoitaPatcherUtils" + }, + { + "desc": "mostly an empty entity, but required", + "finish": 280053, + "start": 280045, + "type": "local", + "view": "number" + }, + { + "desc": "serialized entity in base64 format", + "finish": 280067, + "start": 280055, + "type": "local", + "view": "string" + }, + { + "desc": "x position to create entity at, but optional.", + "finish": 280070, + "start": 280069, + "type": "local", + "view": "number|nil" + }, + { + "desc": "y position to create entity at, but optional.", + "finish": 280073, + "start": 280072, + "type": "local", + "view": "number|nil" + } + ], + "desc": " Deserialize an entity from a serialized base64 string and create it at the given position.\n\n@*param* `entityId` — mostly an empty entity, but required\n\n@*param* `base64String` — serialized entity in base64 format\n\n@*param* `x` — x position to create entity at, but optional.\n\n@*param* `y` — y position to create entity at, but optional.\n\n@*return* `entityId` — of the created entity", + "finish": 350003, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 280000, + "type": "function", + "view": "function NoitaPatcherUtils.deserializeEntity(self: NoitaPatcherUtils, entityId: number, base64String: string, x: number|nil, y: number|nil)\n -> entityId: number" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 280044, + "name": "deserializeEntity", + "start": 280009, + "type": "setmethod" + }, + { + "extends": { + "finish": 760080, + "start": 760051, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 760048, + "name": "luaNoitaMpNative", + "start": 760008, + "type": "setfield" + }, + { + "desc": "NoitaPatcherUtils constructor.\n\n@*param* `customProfiler` — required\n\n@*param* `np` — required", + "extends": { + "args": [ + { + "finish": 410008, + "start": 410008, + "type": "self", + "view": "NoitaPatcherUtils" + }, + { + "desc": "required", + "finish": 410045, + "start": 410031, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "required", + "finish": 410049, + "start": 410047, + "type": "local", + "view": "noitapatcher" + } + ], + "desc": "NoitaPatcherUtils constructor.\n\n@*param* `customProfiler` — required\n\n@*param* `np` — required", + "finish": 800003, + "returns": [ + { + "type": "function.return", + "view": "NoitaPatcherUtils" + } + ], + "start": 410000, + "type": "function", + "view": "function NoitaPatcherUtils.new(self: NoitaPatcherUtils, customProfiler: CustomProfiler, np: noitapatcher)\n -> NoitaPatcherUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 410030, + "name": "new", + "start": 410009, + "type": "setmethod" + }, + { + "extends": { + "finish": 630107, + "start": 630037, + "type": "binary", + "view": "noitapatcher" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 630034, + "name": "np", + "start": 630008, + "type": "setfield" + }, + { + "desc": " Serialize an entity to a base64 and md5 string.\n\n@*return* `base64String` — base64 encoded string", + "extends": { + "args": [ + { + "finish": 160008, + "start": 160008, + "type": "self", + "view": "NoitaPatcherUtils" + }, + { + "finish": 160051, + "start": 160043, + "type": "local", + "view": "number" + } + ], + "desc": " Serialize an entity to a base64 and md5 string.\n\n@*return* `base64String` — base64 encoded string", + "finish": 200003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 160000, + "type": "function", + "view": "function NoitaPatcherUtils.serializeEntity(self: NoitaPatcherUtils, entityId: number)\n -> base64String: string" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 160042, + "name": "serializeEntity", + "start": 160009, + "type": "setmethod" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 680065, + "start": 680040, + "type": "select", + "view": "Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 680037, + "name": "utils", + "start": 680008, + "type": "setfield" + } + ], + "name": "NoitaPatcherUtils", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 10019, + "start": 10010, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 810023, + "start": 810014, + "type": "doc.class" + } + ], + "desc": "NuidUtils for getting the current network unique identifier", + "fields": [ + { + "extends": { + "finish": 890093, + "start": 890033, + "type": "binary", + "view": "Client" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 890030, + "name": "client", + "start": 890008, + "type": "setfield" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 940117, + "start": 940041, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 940038, + "name": "customProfiler", + "start": 940008, + "type": "setfield" + }, + { + "extends": { + "finish": 1060106, + "start": 1040036, + "type": "binary", + "view": "FileUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 1040033, + "name": "fileUtils", + "start": 1040008, + "type": "setfield" + }, + { + "desc": "If an entity died, the associated nuid-entityId-set will be updated with entityId multiplied by -1.\nIf this happens, KillEntityMsg has to be send by network.", + "extends": { + "args": [ + { + "finish": 490008, + "start": 490008, + "type": "self", + "view": "NuidUtils" + } + ], + "desc": "If an entity died, the associated nuid-entityId-set will be updated with entityId multiplied by -1.\nIf this happens, KillEntityMsg has to be send by network.", + "finish": 690003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 490000, + "type": "function", + "view": "function NuidUtils.getEntityIdsByKillIndicator(self: NuidUtils)\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 490046, + "name": "getEntityIdsByKillIndicator", + "start": 490009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 100008, + "start": 100008, + "type": "self", + "view": "NuidUtils" + } + ], + "finish": 440003, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 100000, + "type": "function", + "view": "function NuidUtils.getNextNuid(self: NuidUtils)\n -> integer" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 100030, + "name": "getNextNuid", + "start": 100009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1130061, + "start": 1110038, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 1110035, + "name": "globalUtils", + "start": 1110008, + "type": "setfield" + }, + { + "extends": { + "finish": 990101, + "start": 990033, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 990030, + "name": "logger", + "start": 990008, + "type": "setfield" + }, + { + "desc": "NuidUtils constructor\n\n@*param* `nuidUitlsObject` — optional\n\n@*param* `client` — required\n\n@*param* `customProfiler` — required\n\n@*param* `fileUtils` — optional\n\n@*param* `globalsUtils` — optional\n\n@*param* `logger` — optional\n\n@*param* `nxml` — optional", + "extends": { + "args": [ + { + "finish": 800008, + "start": 800008, + "type": "self", + "view": "NuidUtils" + }, + { + "desc": "optional", + "finish": 800038, + "start": 800023, + "type": "local", + "view": "NuidUtils|nil" + }, + { + "desc": "required", + "finish": 800046, + "start": 800040, + "type": "local", + "view": "Client" + }, + { + "desc": "required", + "finish": 800062, + "start": 800048, + "type": "local", + "view": "CustomProfiler" + }, + { + "desc": "optional", + "finish": 800073, + "start": 800064, + "type": "local", + "view": "FileUtils|nil" + }, + { + "desc": "optional", + "finish": 800087, + "start": 800075, + "type": "local", + "view": "GlobalsUtils|nil" + }, + { + "desc": "optional", + "finish": 800095, + "start": 800089, + "type": "local", + "view": "Logger|nil" + }, + { + "desc": "optional", + "finish": 800101, + "start": 800097, + "type": "local", + "view": "nxml|nil" + } + ], + "desc": "NuidUtils constructor\n\n@*param* `nuidUitlsObject` — optional\n\n@*param* `client` — required\n\n@*param* `customProfiler` — required\n\n@*param* `fileUtils` — optional\n\n@*param* `globalsUtils` — optional\n\n@*param* `logger` — optional\n\n@*param* `nxml` — optional", + "finish": 1230003, + "returns": [ + { + "type": "function.return", + "view": "NuidUtils" + } + ], + "start": 800000, + "type": "function", + "view": "function NuidUtils.new(self: NuidUtils, nuidUitlsObject: NuidUtils|nil, client: Client, customProfiler: CustomProfiler, fileUtils: FileUtils|nil, globalsUtils: GlobalsUtils|nil, logger: Logger|nil, nxml: nxml|nil)\n -> NuidUtils" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 800022, + "name": "new", + "start": 800009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1170054, + "start": 1170031, + "type": "binary", + "view": "nxml" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 1170028, + "name": "nxml", + "start": 1170008, + "type": "setfield" + }, + { + "extends": { + "finish": 190086, + "start": 190043, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 190040, + "name": "worldStateXmlFileExists", + "start": 190012, + "type": "setfield" + }, + { + "extends": { + "finish": 530082, + "start": 530039, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/NuidUtils.lua", + "finish": 530036, + "name": "worldStateXmlFileExists", + "start": 530008, + "type": "setfield" + } + ], + "name": "NuidUtils", + "type": "type" + }, + { + "defines": [ + { + "extends": { + "args": [], + "desc": " Must define these callbacks else you get errors every\n time a projectile is fired. Functions are empty since\n we don't use these callbacks at the moment.", + "finish": 90032, + "start": 90000, + "type": "function", + "view": "function OnProjectileFired()" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 90026, + "start": 90009, + "type": "setglobal" + } + ], + "desc": " Must define these callbacks else you get errors every\n time a projectile is fired. Functions are empty since\n we don't use these callbacks at the moment.", + "name": "OnProjectileFired", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "finish": 110036, + "start": 110000, + "type": "function", + "view": "function OnProjectileFiredPost()" + }, + "file": "../../mods/noita-mp/files/scripts/util/NoitaPatcherUtils.lua", + "finish": 110030, + "start": 110009, + "type": "setglobal" + } + ], + "name": "OnProjectileFiredPost", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "finish": 470007, + "start": 360004, + "type": "function", + "view": "function OnWorldInitialized()" + }, + "file": "../../mods/noita-mp/files/scripts/Gui.lua", + "finish": 360031, + "start": 360013, + "type": "setglobal" + } + ], + "name": "OnWorldInitialized", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 320037, + "start": 320028, + "type": "local", + "view": "any" + }, + { + "finish": 320049, + "start": 320039, + "type": "local", + "view": "any" + } + ], + "finish": 420003, + "start": 320000, + "type": "function", + "view": "function PlayerNameFunction(entity_id: any, playerName: any)" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/name_tags.lua", + "finish": 320027, + "start": 320009, + "type": "setglobal" + } + ], + "name": "PlayerNameFunction", + "type": "variable" + }, + { + "defines": [ + { + "extends": [ + { + "finish": 30029, + "start": 30019, + "type": "doc.extends.name", + "view": "SockServer" + } + ], + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 30029, + "start": 30010, + "type": "doc.class" + }, + { + "extends": [ + { + "finish": 8830033, + "start": 8830023, + "type": "doc.extends.name", + "view": "SockClient" + } + ], + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 8830033, + "start": 8830014, + "type": "doc.class" + } + ], + "fields": [ + { + "extends": { + "finish": 50023, + "start": 50017, + "type": "getlocal", + "view": "Server" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 50014, + "name": "__index", + "start": 50000, + "type": "setfield" + }, + { + "extends": { + "finish": 10250042, + "start": 10250038, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10250035, + "name": "acknowledgeMaxSize", + "start": 10250004, + "type": "setfield" + }, + { + "extends": { + "finish": 7020056, + "start": 7020036, + "type": "binary", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7020022, + "name": "address", + "start": 7020004, + "type": "setfield" + }, + { + "desc": "Checks if the current local user is a server.\n\n@*return* `true` — if server, false if not\nSee: [Client.amIClient](../../mods/noita-mp/files/scripts/net/Client.lua#910#9)", + "extends": { + "args": [ + { + "finish": 8510008, + "start": 8510008, + "type": "self", + "view": "Server" + } + ], + "desc": "Checks if the current local user is a server.\n\n@*return* `true` — if server, false if not\nSee: [Client.amIClient](../../mods/noita-mp/files/scripts/net/Client.lua#910#9)", + "finish": 8530003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 8510000, + "type": "function", + "view": "function Server.amIServer(self: Server)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 8510025, + "name": "amIServer", + "start": 8510009, + "type": "setmethod" + }, + { + "desc": "Bans a player by name.\n\n@*param* `name` — required", + "extends": { + "args": [ + { + "finish": 8630008, + "start": 8630008, + "type": "self", + "view": "Server" + }, + { + "desc": "required", + "finish": 8630024, + "start": 8630020, + "type": "local", + "view": "string" + } + ], + "desc": "Bans a player by name.\n\n@*param* `name` — required", + "finish": 8650003, + "start": 8630000, + "type": "function", + "view": "function Server.ban(self: Server, name: string)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 8630019, + "name": "ban", + "start": 8630009, + "type": "setmethod" + }, + { + "extends": { + "finish": 7030038, + "start": 7030036, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7030022, + "name": "clients", + "start": 7030004, + "type": "setfield" + }, + { + "desc": "Simple profiler that can be used to measure the duration of a function and the memory usage of a function.", + "extends": { + "finish": 9020076, + "start": 9000038, + "type": "binary", + "view": "CustomProfiler" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9000035, + "name": "customProfiler", + "start": 9000008, + "type": "setfield" + }, + { + "extends": { + "finish": 7040037, + "start": 7040036, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7040033, + "name": "defaultSendChannel", + "start": 7040004, + "type": "setfield" + }, + { + "extends": { + "finish": 7050046, + "start": 7050036, + "type": "string", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7050030, + "name": "defaultSendMode", + "start": 7050004, + "type": "setfield" + }, + { + "extends": { + "finish": 7060039, + "start": 7060036, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7060026, + "name": "deserialize", + "start": 7060004, + "type": "setfield" + }, + { + "extends": { + "finish": 10020091, + "start": 10010035, + "type": "select", + "view": "EntityCache" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10010032, + "name": "entityCache", + "start": 10010008, + "type": "setfield" + }, + { + "desc": "See: [EntityCacheUtils](../../mods/noita-mp/files/scripts/util/EntityCacheUtils.lua#1#10)", + "extends": { + "finish": 10090112, + "start": 10080040, + "type": "select", + "view": "EntityCacheUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10080037, + "name": "entityCacheUtils", + "start": 10080008, + "type": "setfield" + }, + { + "extends": { + "finish": 10180053, + "start": 10130035, + "type": "binary", + "view": "EntityUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10130032, + "name": "entityUtils", + "start": 10130008, + "type": "setfield" + }, + { + "desc": "See: [FileUtils](../../mods/noita-mp/files/scripts/util/FileUtils.lua#1#10)", + "extends": { + "finish": 9470040, + "start": 9450033, + "type": "select", + "view": "FileUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9450030, + "name": "fileUtils", + "start": 9450008, + "type": "setfield" + }, + { + "desc": "Mainly for profiling. Returns then network cache, aka acknowledge.", + "extends": { + "args": [ + { + "finish": 8690008, + "start": 8690008, + "type": "self", + "view": "Server" + } + ], + "desc": "Mainly for profiling. Returns then network cache, aka acknowledge.", + "finish": 8710003, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 8690000, + "type": "function", + "view": "function Server.getAckCacheSize(self: Server)\n -> cacheSize: number" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 8690031, + "name": "getAckCacheSize", + "start": 8690009, + "type": "setmethod" + }, + { + "desc": "See: [GlobalsUtils](../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua#1#10)", + "extends": { + "finish": 9240054, + "start": 9220036, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9220033, + "name": "globalsUtils", + "start": 9220008, + "type": "setfield" + }, + { + "extends": { + "finish": 10260041, + "start": 10260038, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10260021, + "name": "guid", + "start": 10260004, + "type": "setfield" + }, + { + "extends": { + "finish": 10390093, + "start": 10390024, + "type": "select", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10390021, + "name": "guid", + "start": 10390004, + "type": "setfield" + }, + { + "desc": "See: [GuidUtils](../../mods/noita-mp/files/scripts/util/GuidUtils.lua#2#10)", + "extends": { + "finish": 9630045, + "start": 9610033, + "type": "select", + "view": "GuidUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9610030, + "name": "guidUtils", + "start": 9610008, + "type": "setfield" + }, + { + "extends": { + "finish": 10270065, + "start": 10270038, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10270023, + "name": "health", + "start": 10270004, + "type": "setfield" + }, + { + "extends": { + "finish": 7070039, + "start": 7070036, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7070019, + "name": "host", + "start": 7070004, + "type": "setfield" + }, + { + "extends": { + "finish": 10280046, + "start": 10280038, + "type": "string", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10280020, + "name": "iAm", + "start": 10280004, + "type": "setfield" + }, + { + "extends": { + "finish": 7080052, + "start": 7080036, + "type": "binary", + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7080026, + "name": "inBandwidth", + "start": 7080004, + "type": "setfield" + }, + { + "desc": "Returns true if server is running, false if not.\n\n@*return* `true` — if server is running, false if not\n\n TODO: remove this before merge", + "extends": { + "args": [ + { + "finish": 6800008, + "start": 6800008, + "type": "self", + "view": "Server" + } + ], + "desc": "Returns true if server is running, false if not.\n\n@*return* `true` — if server is running, false if not\n\n TODO: remove this before merge", + "finish": 6890003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 6800000, + "type": "function", + "view": "function Server.isRunning(self: Server)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 6800025, + "name": "isRunning", + "start": 6800009, + "type": "setmethod" + }, + { + "desc": "Kicks a player by name.\n\n@*param* `name` — required", + "extends": { + "args": [ + { + "finish": 8570008, + "start": 8570008, + "type": "self", + "view": "Server" + }, + { + "desc": "required", + "finish": 8570025, + "start": 8570021, + "type": "local", + "view": "string" + } + ], + "desc": "Kicks a player by name.\n\n@*param* `name` — required", + "finish": 8590003, + "start": 8570000, + "type": "function", + "view": "function Server.kick(self: Server, name: string)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 8570020, + "name": "kick", + "start": 8570009, + "type": "setmethod" + }, + { + "desc": "newListener(),", + "extends": { + "finish": 7090073, + "start": 7090036, + "type": "select", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7090023, + "name": "listener", + "start": 7090004, + "type": "setfield" + }, + { + "extends": { + "finish": 9100060, + "start": 9070030, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9070027, + "name": "logger", + "start": 9070008, + "type": "setfield" + }, + { + "extends": { + "finish": 7100052, + "start": 7100036, + "type": "binary", + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7100026, + "name": "maxChannels", + "start": 7100004, + "type": "setfield" + }, + { + "extends": { + "finish": 7110049, + "start": 7110036, + "type": "binary", + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7110023, + "name": "maxPeers", + "start": 7110004, + "type": "setfield" + }, + { + "extends": { + "finish": 7120037, + "start": 7120036, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7120029, + "name": "messageTimeout", + "start": 7120004, + "type": "setfield" + }, + { + "desc": "Util class for fetching information about local and remote minas.", + "extends": { + "finish": 9390051, + "start": 9360033, + "type": "binary", + "view": "MinaUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9360030, + "name": "minaUtils", + "start": 9360008, + "type": "setfield" + }, + { + "extends": { + "finish": 10290041, + "start": 10290038, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10290030, + "name": "modListCached", + "start": 10290004, + "type": "setfield" + }, + { + "extends": { + "finish": 10300041, + "start": 10300038, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10300021, + "name": "name", + "start": 10300004, + "type": "setfield" + }, + { + "extends": { + "finish": 10380097, + "start": 10380024, + "type": "select", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10380021, + "name": "name", + "start": 10380004, + "type": "setfield" + }, + { + "extends": { + "finish": 9690086, + "start": 9680036, + "type": "select", + "view": "NetworkCache" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9680033, + "name": "networkCache", + "start": 9680008, + "type": "setfield" + }, + { + "extends": { + "finish": 9760040, + "start": 9740041, + "type": "select", + "view": "NetworkCacheUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9740038, + "name": "networkCacheUtils", + "start": 9740008, + "type": "setfield" + }, + { + "extends": { + "finish": 9840067, + "start": 9810036, + "type": "binary", + "view": "NetworkUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9810033, + "name": "networkUtils", + "start": 9810008, + "type": "setfield" + }, + { + "desc": "NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API", + "extends": { + "finish": 9310062, + "start": 9290039, + "type": "select", + "view": "NetworkVscUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9290036, + "name": "networkVscUtils", + "start": 9290008, + "type": "setfield" + }, + { + "desc": "Server constructor. Inherits from SockServer sock.newServer.\n\n@*param* `address` — optional\n\n@*param* `port` — optional\n\n@*param* `maxPeers` — optional\n\n@*param* `maxChannels` — optional\n\n@*param* `inBandwidth` — optional\n\n@*param* `outBandwidth` — optional\n\n@*param* `np` — required", + "extends": { + "args": [ + { + "desc": "optional", + "finish": 8820027, + "start": 8820020, + "type": "local", + "view": "string|nil" + }, + { + "desc": "optional", + "finish": 8820033, + "start": 8820029, + "type": "local", + "view": "number|nil" + }, + { + "desc": "optional", + "finish": 8820043, + "start": 8820035, + "type": "local", + "view": "number|nil" + }, + { + "desc": "optional", + "finish": 8820056, + "start": 8820045, + "type": "local", + "view": "number|nil" + }, + { + "desc": "optional", + "finish": 8820069, + "start": 8820058, + "type": "local", + "view": "number|nil" + }, + { + "desc": "optional", + "finish": 8820083, + "start": 8820071, + "type": "local", + "view": "number|nil" + }, + { + "desc": "required", + "finish": 8820087, + "start": 8820085, + "type": "local", + "view": "noitapatcher" + } + ], + "desc": "Server constructor. Inherits from SockServer sock.newServer.\n\n@*param* `address` — optional\n\n@*param* `port` — optional\n\n@*param* `maxPeers` — optional\n\n@*param* `maxChannels` — optional\n\n@*param* `inBandwidth` — optional\n\n@*param* `outBandwidth` — optional\n\n@*param* `np` — required", + "finish": 10440003, + "returns": [ + { + "type": "function.return", + "view": "Server" + } + ], + "start": 8820000, + "type": "function", + "view": "function Server.new(address: string|nil, port: number|nil, maxPeers: number|nil, maxChannels: number|nil, inBandwidth: number|nil, outBandwidth: number|nil, np: noitapatcher)\n -> Server" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 8820019, + "name": "new", + "start": 8820009, + "type": "setfield" + }, + { + "desc": "Class for using Noita components.", + "extends": { + "finish": 9960097, + "start": 9940043, + "type": "select", + "view": "NoitaComponentUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9940040, + "name": "noitaComponentUtils", + "start": 9940008, + "type": "setfield" + }, + { + "desc": " NoitaMpSettings: Replacement for Noita ModSettings.", + "extends": { + "finish": 8950061, + "start": 8940039, + "type": "select", + "view": "NoitaMpSettings" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 8940036, + "name": "noitaMpSettings", + "start": 8940008, + "type": "setfield" + }, + { + "extends": { + "finish": 9890049, + "start": 9880041, + "type": "select", + "view": "NoitaPatcherUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9880038, + "name": "noitaPatcherUtils", + "start": 9880008, + "type": "setfield" + }, + { + "extends": { + "finish": 10310041, + "start": 10310038, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10310021, + "name": "nuid", + "start": 10310004, + "type": "setfield" + }, + { + "desc": "NuidUtils for getting the current network unique identifier", + "extends": { + "finish": 9550041, + "start": 9530033, + "type": "select", + "view": "NuidUtils" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9530030, + "name": "nuidUtils", + "start": 9530008, + "type": "setfield" + }, + { + "extends": { + "finish": 7130053, + "start": 7130036, + "type": "binary", + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7130027, + "name": "outBandwidth", + "start": 7130004, + "type": "setfield" + }, + { + "extends": { + "finish": 7140037, + "start": 7140036, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7140030, + "name": "packetsReceived", + "start": 7140004, + "type": "setfield" + }, + { + "extends": { + "finish": 7150037, + "start": 7150036, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7150026, + "name": "packetsSent", + "start": 7150004, + "type": "setfield" + }, + { + "extends": { + "finish": 7160038, + "start": 7160036, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7160020, + "name": "peers", + "start": 7160004, + "type": "setfield" + }, + { + "extends": { + "finish": 7170049, + "start": 7170036, + "type": "binary", + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7170019, + "name": "port", + "start": 7170004, + "type": "setfield" + }, + { + "desc": "Starts a server on ip and port. Both can be nil, then ModSettings will be used.\n\n@*param* `ip` — localhost or 127.0.0.1 or nil\n\n@*param* `port` — port number from 1 to max of 65535 or nil", + "extends": { + "args": [ + { + "finish": 6410008, + "start": 6410008, + "type": "self", + "view": "Server" + }, + { + "desc": "localhost or 127.0.0.1 or nil", + "finish": 6410027, + "start": 6410025, + "type": "local", + "view": "string|nil" + }, + { + "desc": "port number from 1 to max of 65535 or nil", + "finish": 6410033, + "start": 6410029, + "type": "local", + "view": "number|nil" + } + ], + "desc": "Starts a server on ip and port. Both can be nil, then ModSettings will be used.\n\n@*param* `ip` — localhost or 127.0.0.1 or nil\n\n@*param* `port` — port number from 1 to max of 65535 or nil", + "finish": 6670003, + "start": 6410000, + "type": "function", + "view": "function Server.preStart(self: Server, ip: string|nil, port: number|nil)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 6410024, + "name": "preStart", + "start": 6410009, + "type": "setmethod" + }, + { + "desc": "Updates the server by checking for network events and handling them.\n\n@*param* `startFrameTime` — required\nSee: ~SockServer.update~", + "extends": { + "args": [ + { + "finish": 6950008, + "start": 6950008, + "type": "self", + "view": "Server" + }, + { + "desc": "required", + "finish": 6950040, + "start": 6950026, + "type": "local", + "view": "number" + } + ], + "desc": "Updates the server by checking for network events and handling them.\n\n@*param* `startFrameTime` — required\nSee: ~SockServer.update~", + "finish": 7270003, + "start": 6950000, + "type": "function", + "view": "function Server.preUpdate(self: Server, startFrameTime: number)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 6950025, + "name": "preUpdate", + "start": 6950009, + "type": "setmethod" + }, + { + "desc": "Sends a message a one peer.\n\n@*param* `peer` — required\n\n@*param* `event` — required\n\n@*param* `data` — required\n\n@*return* `true` — if message was sent, false if not", + "extends": { + "args": [ + { + "finish": 5810008, + "start": 5810008, + "type": "self", + "view": "Server" + }, + { + "desc": "required", + "finish": 5810025, + "start": 5810021, + "type": "local", + "view": "Client|Server" + }, + { + "desc": "required", + "finish": 5810032, + "start": 5810027, + "type": "local", + "view": "string" + }, + { + "desc": "required", + "finish": 5810038, + "start": 5810034, + "type": "local", + "view": "table" + } + ], + "desc": "Sends a message a one peer.\n\n@*param* `peer` — required\n\n@*param* `event` — required\n\n@*param* `data` — required\n\n@*return* `true` — if message was sent, false if not", + "finish": 6010003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 5810000, + "type": "function", + "view": "function Server.send(self: Server, peer: Client|Server, event: string, data: table)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 5810020, + "name": "send", + "start": 5810009, + "type": "setmethod" + }, + { + "extends": { + "finish": 7180037, + "start": 7180036, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7180026, + "name": "sendChannel", + "start": 7180004, + "type": "setfield" + }, + { + "desc": "Sends dead nuids to all clients.\n\n@*param* `deadNuids` — required", + "extends": { + "args": [ + { + "finish": 8240008, + "start": 8240008, + "type": "self", + "view": "Server" + }, + { + "desc": "required", + "finish": 8240039, + "start": 8240030, + "type": "local", + "view": "table" + } + ], + "desc": "Sends dead nuids to all clients.\n\n@*param* `deadNuids` — required", + "finish": 8310003, + "start": 8240000, + "type": "function", + "view": "function Server.sendDeadNuids(self: Server, deadNuids: table)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 8240029, + "name": "sendDeadNuids", + "start": 8240009, + "type": "setmethod" + }, + { + "desc": "Sends entity data to all clients.\n\n@*param* `entityId` — required", + "extends": { + "args": [ + { + "finish": 7940008, + "start": 7940008, + "type": "self", + "view": "Server" + }, + { + "desc": "required", + "finish": 7940039, + "start": 7940031, + "type": "local", + "view": "number" + } + ], + "desc": "Sends entity data to all clients.\n\n@*param* `entityId` — required", + "finish": 8200003, + "start": 7940000, + "type": "function", + "view": "function Server.sendEntityData(self: Server, entityId: number)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 7940030, + "name": "sendEntityData", + "start": 7940009, + "type": "setmethod" + }, + { + "desc": "Sends mina information to all clients.", + "extends": { + "args": [ + { + "finish": 8350008, + "start": 8350008, + "type": "self", + "view": "Server" + } + ], + "desc": "Sends mina information to all clients.", + "finish": 8460003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 8350000, + "type": "function", + "view": "function Server.sendMinaInformation(self: Server)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 8350035, + "name": "sendMinaInformation", + "start": 8350009, + "type": "setmethod" + }, + { + "extends": { + "finish": 7190046, + "start": 7190036, + "type": "string", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7190023, + "name": "sendMode", + "start": 7190004, + "type": "setfield" + }, + { + "desc": "Sends a message to the client, when there is a guid clash.\n\n@*return* `true` — if message was sent, false if not", + "extends": { + "args": [ + { + "finish": 7340008, + "start": 7340008, + "type": "self", + "view": "Server" + }, + { + "finish": 7340032, + "start": 7340028, + "type": "local", + "view": "Client|Server" + }, + { + "finish": 7340041, + "start": 7340034, + "type": "local", + "view": "string" + }, + { + "finish": 7340050, + "start": 7340043, + "type": "local", + "view": "string" + } + ], + "desc": "Sends a message to the client, when there is a guid clash.\n\n@*return* `true` — if message was sent, false if not", + "finish": 7390003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 7340000, + "type": "function", + "view": "function Server.sendNewGuid(self: Server, peer: Client|Server, oldGuid: string, newGuid: string)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 7340027, + "name": "sendNewGuid", + "start": 7340009, + "type": "setmethod" + }, + { + "desc": "Sends a new nuid to all clients. This also creates/updates the entities on clients.\n\n@*param* `ownerName` — required\n\n@*param* `ownerGuid` — required\n\n@*param* `entityId` — required\n\n@*param* `currentSerializedB64Str` — required\n\n@*param* `nuid` — required\n\n@*param* `x` — required\n\n@*param* `y` — required\n\n@*param* `initSerializedB64Str` — required\n\n@*return* `true` — if message was sent, false if not", + "extends": { + "args": [ + { + "finish": 7510008, + "start": 7510008, + "type": "self", + "view": "Server" + }, + { + "desc": "required", + "finish": 7510037, + "start": 7510028, + "type": "local", + "view": "string" + }, + { + "desc": "required", + "finish": 7510048, + "start": 7510039, + "type": "local", + "view": "string" + }, + { + "desc": "required", + "finish": 7510058, + "start": 7510050, + "type": "local", + "view": "number" + }, + { + "desc": "required", + "finish": 7510083, + "start": 7510060, + "type": "local", + "view": "string" + }, + { + "desc": "required", + "finish": 7510089, + "start": 7510085, + "type": "local", + "view": "number" + }, + { + "desc": "required", + "finish": 7510092, + "start": 7510091, + "type": "local", + "view": "number" + }, + { + "desc": "required", + "finish": 7510095, + "start": 7510094, + "type": "local", + "view": "number" + }, + { + "desc": "required", + "finish": 7510117, + "start": 7510097, + "type": "local", + "view": "string" + } + ], + "desc": "Sends a new nuid to all clients. This also creates/updates the entities on clients.\n\n@*param* `ownerName` — required\n\n@*param* `ownerGuid` — required\n\n@*param* `entityId` — required\n\n@*param* `currentSerializedB64Str` — required\n\n@*param* `nuid` — required\n\n@*param* `x` — required\n\n@*param* `y` — required\n\n@*param* `initSerializedB64Str` — required\n\n@*return* `true` — if message was sent, false if not", + "finish": 7900003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 7510000, + "type": "function", + "view": "function Server.sendNewNuid(self: Server, ownerName: string, ownerGuid: string, entityId: number, currentSerializedB64Str: string, nuid: number, x: number, y: number, initSerializedB64Str: string)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 7510027, + "name": "sendNewNuid", + "start": 7510009, + "type": "setmethod" + }, + { + "desc": "Sends a message to all peers.\n\n@*param* `event` — required\n\n@*param* `data` — required\n\n@*return* `true` — if message was sent, false if not", + "extends": { + "args": [ + { + "finish": 6070008, + "start": 6070008, + "type": "self", + "view": "Server" + }, + { + "desc": "required", + "finish": 6070031, + "start": 6070026, + "type": "local", + "view": "string" + }, + { + "desc": "required", + "finish": 6070037, + "start": 6070033, + "type": "local", + "view": "table" + } + ], + "desc": "Sends a message to all peers.\n\n@*param* `event` — required\n\n@*param* `data` — required\n\n@*return* `true` — if message was sent, false if not", + "finish": 6170003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 6070000, + "type": "function", + "view": "function Server.sendToAll(self: Server, event: string, data: table)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 6070025, + "name": "sendToAll", + "start": 6070009, + "type": "setmethod" + }, + { + "desc": "Sends a message to all peers excluded one peer defined as the peer param.\n\n@*param* `peer` — required\n\n@*param* `event` — required\n\n@*param* `data` — required\n\n@*return* `true` — if message was sent, false if not", + "extends": { + "args": [ + { + "finish": 6240008, + "start": 6240008, + "type": "self", + "view": "Server" + }, + { + "desc": "required", + "finish": 6240033, + "start": 6240029, + "type": "local", + "view": "Client|Server" + }, + { + "desc": "required", + "finish": 6240040, + "start": 6240035, + "type": "local", + "view": "string" + }, + { + "desc": "required", + "finish": 6240046, + "start": 6240042, + "type": "local", + "view": "table" + } + ], + "desc": "Sends a message to all peers excluded one peer defined as the peer param.\n\n@*param* `peer` — required\n\n@*param* `event` — required\n\n@*param* `data` — required\n\n@*return* `true` — if message was sent, false if not", + "finish": 6360003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 6240000, + "type": "function", + "view": "function Server.sendToAllBut(self: Server, peer: Client|Server, event: string, data: table)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 6240028, + "name": "sendToAllBut", + "start": 6240009, + "type": "setmethod" + }, + { + "extends": { + "finish": 7200039, + "start": 7200036, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7200024, + "name": "serialize", + "start": 7200004, + "type": "setfield" + }, + { + "desc": "Stops the server.", + "extends": { + "args": [ + { + "finish": 6700008, + "start": 6700008, + "type": "self", + "view": "Server" + } + ], + "desc": "Stops the server.", + "finish": 6760003, + "start": 6700000, + "type": "function", + "view": "function Server.stop(self: Server)" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 6700020, + "name": "stop", + "start": 6700009, + "type": "setmethod" + }, + { + "extends": { + "finish": 10320054, + "start": 10320038, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 10320026, + "name": "transform", + "start": 10320004, + "type": "setfield" + }, + { + "desc": "Utils class for lazy developers.", + "extends": { + "finish": 9160075, + "start": 9150029, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/net/Server.lua", + "finish": 9150026, + "name": "utils", + "start": 9150008, + "type": "setfield" + }, + { + "extends": { + "finish": 7220068, + "start": 7220036, + "type": "getfield", + "view": "function" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7220023, + "name": "zipTable", + "start": 7220004, + "type": "setfield" + } + ], + "name": "Server", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/net/SockClient.lua", + "finish": 6940024, + "start": 6940014, + "type": "doc.class" + } + ], + "fields": [ + { + "extends": { + "finish": 7210058, + "start": 7210026, + "type": "getfield", + "view": "function" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockClient.lua", + "finish": 7210023, + "name": "zipTable", + "start": 7210004, + "type": "setfield" + } + ], + "name": "SockClient", + "type": "type" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7000024, + "start": 7000014, + "type": "doc.class" + } + ], + "fields": [ + { + "extends": { + "finish": 7020056, + "start": 7020036, + "type": "binary", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7020022, + "name": "address", + "start": 7020004, + "type": "setfield" + }, + { + "extends": { + "finish": 7030038, + "start": 7030036, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7030022, + "name": "clients", + "start": 7030004, + "type": "setfield" + }, + { + "extends": { + "finish": 7040037, + "start": 7040036, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7040033, + "name": "defaultSendChannel", + "start": 7040004, + "type": "setfield" + }, + { + "extends": { + "finish": 7050046, + "start": 7050036, + "type": "string", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7050030, + "name": "defaultSendMode", + "start": 7050004, + "type": "setfield" + }, + { + "extends": { + "finish": 7060039, + "start": 7060036, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7060026, + "name": "deserialize", + "start": 7060004, + "type": "setfield" + }, + { + "extends": { + "finish": 7070039, + "start": 7070036, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7070019, + "name": "host", + "start": 7070004, + "type": "setfield" + }, + { + "extends": { + "finish": 7080052, + "start": 7080036, + "type": "binary", + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7080026, + "name": "inBandwidth", + "start": 7080004, + "type": "setfield" + }, + { + "desc": "newListener(),", + "extends": { + "finish": 7090073, + "start": 7090036, + "type": "select", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7090023, + "name": "listener", + "start": 7090004, + "type": "setfield" + }, + { + "extends": { + "finish": 7100052, + "start": 7100036, + "type": "binary", + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7100026, + "name": "maxChannels", + "start": 7100004, + "type": "setfield" + }, + { + "extends": { + "finish": 7110049, + "start": 7110036, + "type": "binary", + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7110023, + "name": "maxPeers", + "start": 7110004, + "type": "setfield" + }, + { + "extends": { + "finish": 7120037, + "start": 7120036, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7120029, + "name": "messageTimeout", + "start": 7120004, + "type": "setfield" + }, + { + "extends": { + "finish": 7130053, + "start": 7130036, + "type": "binary", + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7130027, + "name": "outBandwidth", + "start": 7130004, + "type": "setfield" + }, + { + "extends": { + "finish": 7140037, + "start": 7140036, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7140030, + "name": "packetsReceived", + "start": 7140004, + "type": "setfield" + }, + { + "extends": { + "finish": 7150037, + "start": 7150036, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7150026, + "name": "packetsSent", + "start": 7150004, + "type": "setfield" + }, + { + "extends": { + "finish": 7160038, + "start": 7160036, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7160020, + "name": "peers", + "start": 7160004, + "type": "setfield" + }, + { + "extends": { + "finish": 7170049, + "start": 7170036, + "type": "binary", + "view": "number" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7170019, + "name": "port", + "start": 7170004, + "type": "setfield" + }, + { + "extends": { + "finish": 7180037, + "start": 7180036, + "type": "integer", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7180026, + "name": "sendChannel", + "start": 7180004, + "type": "setfield" + }, + { + "extends": { + "finish": 7190046, + "start": 7190036, + "type": "string", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7190023, + "name": "sendMode", + "start": 7190004, + "type": "setfield" + }, + { + "extends": { + "finish": 7200039, + "start": 7200036, + "type": "nil", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7200024, + "name": "serialize", + "start": 7200004, + "type": "setfield" + }, + { + "extends": { + "finish": 7220068, + "start": 7220036, + "type": "getfield", + "view": "function" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 7220023, + "name": "zipTable", + "start": 7220004, + "type": "setfield" + } + ], + "name": "SockServer", + "type": "type" + }, + { + "defines": [ + { + "extends": { + "finish": 30022, + "start": 30020, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/Ui.lua", + "finish": 30002, + "start": 30000, + "type": "setglobal" + } + ], + "desc": " Ui: NoitaMP UI.\nSee:\n * ~PlayerList.xml~\n * ~FoldingMenu.xml~", + "name": "Ui", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "finish": 3640003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 410000, + "type": "function", + "view": "function Ui.new()\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/Ui.lua", + "finish": 410015, + "start": 410009, + "type": "setfield" + } + ], + "name": "Ui.new", + "type": "variable" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 10015, + "start": 10010, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 1080019, + "start": 1080014, + "type": "doc.class" + } + ], + "desc": "Utils class for lazy developers.", + "fields": [ + { + "desc": "Copies a string to the clipboard.\n\n@*param* `copy` — string to copy to the clipboard. required", + "extends": { + "args": [ + { + "finish": 720008, + "start": 720008, + "type": "self", + "view": "Utils" + }, + { + "desc": "string to copy to the clipboard. required", + "finish": 720035, + "start": 720031, + "type": "local", + "view": "string" + } + ], + "desc": "Copies a string to the clipboard.\n\n@*param* `copy` — string to copy to the clipboard. required", + "finish": 860003, + "start": 720000, + "type": "function", + "view": "function Utils.copyToClipboard(self: Utils, copy: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 720030, + "name": "copyToClipboard", + "start": 720009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1200040, + "start": 1200026, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 1200023, + "name": "ffi", + "start": 1200008, + "type": "setfield" + }, + { + "desc": "Checks if a variable is empty.\n\n@*param* `var` — variable to check\n\n@*return* `true` — if empty, false otherwise", + "extends": { + "args": [ + { + "finish": 410008, + "start": 410008, + "type": "self", + "view": "Utils" + }, + { + "desc": "variable to check", + "finish": 410026, + "start": 410023, + "type": "local", + "view": "string|number|table|nil" + } + ], + "desc": "Checks if a variable is empty.\n\n@*param* `var` — variable to check\n\n@*return* `true` — if empty, false otherwise", + "finish": 540003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 410000, + "type": "function", + "view": "function Utils.isEmpty(self: Utils, var: string|number|table|nil)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 410022, + "name": "isEmpty", + "start": 410009, + "type": "setmethod" + }, + { + "extends": { + "args": [ + { + "finish": 1070008, + "start": 1070008, + "type": "self", + "view": "Utils" + }, + { + "finish": 1070030, + "start": 1070019, + "type": "local", + "view": "any" + } + ], + "finish": 1320003, + "returns": [ + { + "type": "function.return", + "view": "Utils" + } + ], + "start": 1070000, + "type": "function", + "view": "function Utils.new(self: Utils, utilsObject: any)\n -> Utils" + }, + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 1070018, + "name": "new", + "start": 1070009, + "type": "setmethod" + }, + { + "desc": "Opens a url in the default browser.\n\n@*param* `url` — url to open. required", + "extends": { + "args": [ + { + "finish": 900008, + "start": 900008, + "type": "self", + "view": "Utils" + }, + { + "desc": "url to open. required", + "finish": 900026, + "start": 900023, + "type": "local", + "view": "string" + } + ], + "desc": "Opens a url in the default browser.\n\n@*param* `url` — url to open. required", + "finish": 1040003, + "start": 900000, + "type": "function", + "view": "function Utils.openUrl(self: Utils, url: string)" + }, + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 900022, + "name": "openUrl", + "start": 900009, + "type": "setmethod" + }, + { + "desc": "Formats anything pretty.\n\n@*param* `var` — variable to print\n\n@*return* `formatted` — variable", + "extends": { + "args": [ + { + "finish": 590008, + "start": 590008, + "type": "self", + "view": "Utils" + }, + { + "desc": "variable to print", + "finish": 590026, + "start": 590023, + "type": "local", + "view": "string|number|table|nil" + } + ], + "desc": "Formats anything pretty.\n\n@*param* `var` — variable to print\n\n@*return* `formatted` — variable", + "finish": 610003, + "returns": [ + { + "type": "function.return", + "view": "string|number|table" + } + ], + "start": 590000, + "type": "function", + "view": "function Utils.pformat(self: Utils, var: string|number|table|nil)\n -> formatted: string|number|table" + }, + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 590022, + "name": "pformat", + "start": 590009, + "type": "setmethod" + }, + { + "extends": { + "finish": 1160046, + "start": 1160029, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 1160026, + "name": "pprint", + "start": 1160008, + "type": "setfield" + }, + { + "desc": "Reloads the whole world with a specific seed. No need to restart the game and use magic numbers.\n\n@*param* `seed` — max = 4294967295", + "extends": { + "args": [ + { + "finish": 650008, + "start": 650008, + "type": "self", + "view": "Utils" + }, + { + "desc": "max = 4294967295", + "finish": 650029, + "start": 650025, + "type": "local", + "view": "number" + } + ], + "desc": "Reloads the whole world with a specific seed. No need to restart the game and use magic numbers.\n\n@*param* `seed` — max = 4294967295", + "finish": 680003, + "start": 650000, + "type": "function", + "view": "function Utils.reloadMap(self: Utils, seed: number)" + }, + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 650024, + "name": "reloadMap", + "start": 650009, + "type": "setmethod" + }, + { + "desc": "Wait for n seconds.\n\n@*param* `s` — seconds to wait. required", + "extends": { + "args": [ + { + "finish": 170008, + "start": 170008, + "type": "self", + "view": "Utils" + }, + { + "desc": "seconds to wait. required", + "finish": 170022, + "start": 170021, + "type": "local", + "view": "number" + } + ], + "desc": "Wait for n seconds.\n\n@*param* `s` — seconds to wait. required", + "finish": 360003, + "start": 170000, + "type": "function", + "view": "function Utils.sleep(self: Utils, s: number)" + }, + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 170020, + "name": "sleep", + "start": 170009, + "type": "setmethod" + }, + { + "desc": "Wait for n seconds.\n\n@*param* `s` — seconds to wait\nSee: [Utils.sleep](../../mods/noita-mp/files/scripts/util/Utils.lua#18#9)", + "extends": { + "args": [ + { + "finish": 110008, + "start": 110008, + "type": "self", + "view": "Utils" + }, + { + "desc": "seconds to wait", + "finish": 110021, + "start": 110020, + "type": "local", + "view": "number" + } + ], + "desc": "Wait for n seconds.\n\n@*param* `s` — seconds to wait\nSee: [Utils.sleep](../../mods/noita-mp/files/scripts/util/Utils.lua#18#9)", + "finish": 130003, + "start": 110000, + "type": "function", + "view": "function Utils.wait(self: Utils, s: number)" + }, + "file": "../../mods/noita-mp/files/scripts/util/Utils.lua", + "finish": 110019, + "name": "wait", + "start": 110009, + "type": "setmethod" + } + ], + "name": "Utils", + "type": "type" + }, + { + "defines": [ + { + "extends": { + "finish": 680007, + "start": 680005, + "type": "table", + "view": "_G" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 680002, + "start": 680000, + "type": "setglobal" + } + ], + "desc": "\nA global variable (not a function) that holds the global environment (see [§2.2](http://www.lua.org/manual/5.4/manual.html#2.2)). Lua itself does not use this variable; changing its value does not affect any environment, nor vice versa.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-_G)\n", + "name": "_G", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 3670020, + "start": 3670011, + "type": "string", + "view": "string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 3670008, + "start": 3670000, + "type": "setglobal" + } + ], + "desc": "\nA global variable (not a function) that holds a string containing the running Lua version.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-_VERSION)\n", + "name": "_VERSION", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 130028, + "start": 130027, + "type": "local", + "view": "any" + } + ], + "finish": 220003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 130000, + "type": "function", + "view": "function __genOrderedIndex(t: any)\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/globalExtensions.lua", + "finish": 130026, + "start": 130009, + "type": "setglobal" + } + ], + "name": "__genOrderedIndex", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 80008, + "start": 80006, + "type": "table", + "view": "string[]" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 80003, + "start": 80000, + "type": "setglobal" + } + ], + "desc": "\nCommand-line arguments of Lua Standalone.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-arg)\n", + "name": "arg", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 200017, + "start": 200016, + "type": "local", + "view": "?" + }, + { + "finish": 200026, + "start": 200019, + "type": "local", + "view": "any" + }, + { + "finish": 200031, + "start": 200028, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nRaises an error if the value of its argument v is false (i.e., `nil` or `false`); otherwise, returns all its arguments. In case of error, `message` is the error object; when absent, it defaults to `\"assertion failed!\"`\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-assert)", + "finish": 200036, + "returns": [ + { + "type": "function.return", + "view": "" + }, + { + "type": "function.return", + "view": "any" + } + ], + "start": 200000, + "type": "function", + "view": "function assert(v?: , message?: any, ...any)\n -> \n 2. ...any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 200015, + "start": 200009, + "type": "setglobal" + } + ], + "desc": "\nRaises an error if the value of its argument v is false (i.e., `nil` or `false`); otherwise, returns all its arguments. In case of error, `message` is the error object; when absent, it defaults to `\"assertion failed!\"`\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-assert)", + "name": "assert", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 190001, + "start": 150009, + "type": "binary", + "view": "Client" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_updater.lua", + "finish": 150006, + "start": 150000, + "type": "setglobal" + } + ], + "name": "client", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 390027, + "start": 390024, + "type": "local", + "view": "(\"collect\"|\"count\"|\"generational\"|\"incremental\"|\"isrunning\"...(+3))?" + }, + { + "finish": 390032, + "start": 390029, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nThis function is a generic interface to the garbage collector. It performs different functions according to its first argument, `opt`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-collectgarbage)\n\n\n```lua\nopt:\n -> \"collect\" -- Performs a full garbage-collection cycle.\n | \"stop\" -- Stops automatic execution.\n | \"restart\" -- Restarts automatic execution.\n | \"count\" -- Returns the total memory in Kbytes.\n | \"step\" -- Performs a garbage-collection step.\n | \"isrunning\" -- Returns whether the collector is running.\n | \"incremental\" -- Change the collector mode to incremental.\n | \"generational\" -- Change the collector mode to generational.\n```", + "finish": 390037, + "returns": [ + { + "type": "function.return", + "view": "any" + } + ], + "start": 390000, + "type": "function", + "view": "function collectgarbage(opt?: \"collect\"|\"count\"|\"generational\"|\"incremental\"|\"isrunning\"...(+3), ...any)\n -> any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 390023, + "start": 390009, + "type": "setglobal" + } + ], + "desc": "\nThis function is a generic interface to the garbage collector. It performs different functions according to its first argument, `opt`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-collectgarbage)\n\n\n```lua\nopt:\n -> \"collect\" -- Performs a full garbage-collection cycle.\n | \"stop\" -- Stops automatic execution.\n | \"restart\" -- Restarts automatic execution.\n | \"count\" -- Returns the total memory in Kbytes.\n | \"step\" -- Performs a garbage-collection step.\n | \"isrunning\" -- Returns whether the collector is running.\n | \"incremental\" -- Change the collector mode to incremental.\n | \"generational\" -- Change the collector mode to generational.\n```", + "name": "collectgarbage", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 5080014, + "start": 5000021, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 5000018, + "start": 5000012, + "type": "setglobal" + }, + { + "extends": { + "finish": 5250014, + "start": 5170021, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/EntityUtils.lua", + "finish": 5170018, + "start": 5170012, + "type": "setglobal" + } + ], + "name": "compId", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 80014, + "start": 80012, + "type": "table", + "view": "coroutinelib" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/coroutine.lua", + "finish": 80009, + "start": 80000, + "type": "setglobal" + } + ], + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine)\n", + "name": "coroutine", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 390027, + "start": 390025, + "type": "local", + "view": "thread" + } + ], + "desc": "\nCloses coroutine `co` , closing all its pending to-be-closed variables and putting the coroutine in a dead state.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.close)", + "finish": 390032, + "returns": [ + { + "type": "function.return", + "view": "boolean" + }, + { + "type": "function.return", + "view": "any" + } + ], + "start": 390000, + "type": "function", + "view": "function coroutine.close(co: thread)\n -> noerror: boolean\n 2. errorobject: any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/coroutine.lua", + "finish": 390024, + "start": 390009, + "type": "setfield" + } + ], + "desc": "\nCloses coroutine `co` , closing all its pending to-be-closed variables and putting the coroutine in a dead state.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.close)", + "name": "coroutine.close", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 180027, + "start": 180026, + "type": "local", + "view": "fun(...any):...unknown" + } + ], + "desc": "\nCreates a new coroutine, with body `f`. `f` must be a function. Returns this new coroutine, an object with type `\"thread\"`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.create)", + "finish": 180032, + "returns": [ + { + "type": "function.return", + "view": "thread" + } + ], + "start": 180000, + "type": "function", + "view": "function coroutine.create(f: fun(...any):...unknown)\n -> thread" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/coroutine.lua", + "finish": 180025, + "start": 180009, + "type": "setfield" + } + ], + "desc": "\nCreates a new coroutine, with body `f`. `f` must be a function. Returns this new coroutine, an object with type `\"thread\"`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.create)", + "name": "coroutine.create", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 280033, + "start": 280031, + "type": "local", + "view": "thread?" + } + ], + "desc": "\nReturns true when the coroutine `co` can yield. The default for `co` is the running coroutine.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.isyieldable)", + "finish": 280038, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 280000, + "type": "function", + "view": "function coroutine.isyieldable(co?: thread)\n -> boolean" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/coroutine.lua", + "finish": 280030, + "start": 280009, + "type": "setfield" + } + ], + "desc": "\nReturns true when the coroutine `co` can yield. The default for `co` is the running coroutine.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.isyieldable)", + "name": "coroutine.isyieldable", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 500028, + "start": 500026, + "type": "local", + "view": "thread" + }, + { + "finish": 500034, + "start": 500030, + "type": "local", + "view": "any" + }, + { + "finish": 500039, + "start": 500036, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nStarts or continues the execution of coroutine `co`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.resume)", + "finish": 500044, + "returns": [ + { + "type": "function.return", + "view": "boolean" + }, + { + "type": "function.return", + "view": "any" + } + ], + "start": 500000, + "type": "function", + "view": "function coroutine.resume(co: thread, val1?: any, ...any)\n -> success: boolean\n 2. ...any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/coroutine.lua", + "finish": 500025, + "start": 500009, + "type": "setfield" + } + ], + "desc": "\nStarts or continues the execution of coroutine `co`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.resume)", + "name": "coroutine.resume", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "desc": "\nReturns the running coroutine plus a boolean, true when the running coroutine is the main one.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.running)", + "finish": 600032, + "returns": [ + { + "type": "function.return", + "view": "thread" + }, + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 600000, + "type": "function", + "view": "function coroutine.running()\n -> running: thread\n 2. ismain: boolean" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/coroutine.lua", + "finish": 600026, + "start": 600009, + "type": "setfield" + } + ], + "desc": "\nReturns the running coroutine plus a boolean, true when the running coroutine is the main one.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.running)", + "name": "coroutine.running", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 740028, + "start": 740026, + "type": "local", + "view": "thread" + } + ], + "desc": "\nReturns the status of coroutine `co`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.status)\n\n\n```lua\nreturn #1:\n | \"running\" -- Is running.\n | \"suspended\" -- Is suspended or not started.\n | \"normal\" -- Is active but not running.\n | \"dead\" -- Has finished or stopped with an error.\n```", + "finish": 740033, + "returns": [ + { + "type": "function.return", + "view": "\"dead\"|\"normal\"|\"running\"|\"suspended\"" + } + ], + "start": 740000, + "type": "function", + "view": "function coroutine.status(co: thread)\n -> \"dead\"|\"normal\"|\"running\"|\"suspended\"" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/coroutine.lua", + "finish": 740025, + "start": 740009, + "type": "setfield" + } + ], + "desc": "\nReturns the status of coroutine `co`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.status)\n\n\n```lua\nreturn #1:\n | \"running\" -- Is running.\n | \"suspended\" -- Is suspended or not started.\n | \"normal\" -- Is active but not running.\n | \"dead\" -- Has finished or stopped with an error.\n```", + "name": "coroutine.status", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 840025, + "start": 840024, + "type": "local", + "view": "fun(...any):...unknown" + } + ], + "desc": "\nCreates a new coroutine, with body `f`; `f` must be a function. Returns a function that resumes the coroutine each time it is called.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.wrap)", + "finish": 840030, + "returns": [ + { + "type": "function.return", + "view": "fun(...any):...unknown" + } + ], + "start": 840000, + "type": "function", + "view": "function coroutine.wrap(f: fun(...any):...unknown)\n -> fun(...any):...unknown" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/coroutine.lua", + "finish": 840023, + "start": 840009, + "type": "setfield" + } + ], + "desc": "\nCreates a new coroutine, with body `f`; `f` must be a function. Returns a function that resumes the coroutine each time it is called.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.wrap)", + "name": "coroutine.wrap", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 930028, + "start": 930025, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nSuspends the execution of the calling coroutine.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.yield)", + "finish": 930033, + "returns": [ + { + "type": "function.return", + "view": "any" + } + ], + "start": 930000, + "type": "function", + "view": "(async) function coroutine.yield(...any)\n -> ...any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/coroutine.lua", + "finish": 930024, + "start": 930009, + "type": "setfield" + } + ], + "desc": "\nSuspends the execution of the calling coroutine.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.yield)", + "name": "coroutine.yield", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 80010, + "start": 80008, + "type": "table", + "view": "debuglib" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 80005, + "start": 80000, + "type": "setglobal" + } + ], + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug)\n", + "name": "debug", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "desc": "\nEnters an interactive mode with the user, running each string that the user enters.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.debug)", + "finish": 330026, + "start": 330000, + "type": "function", + "view": "function debug.debug()" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 330020, + "start": 330009, + "type": "setfield" + } + ], + "desc": "\nEnters an interactive mode with the user, running each string that the user enters.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.debug)", + "name": "debug.debug", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 440024, + "start": 440023, + "type": "local", + "view": "any" + } + ], + "desc": "\nReturns the environment of object `o` .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getfenv)", + "finish": 440029, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 440000, + "type": "function", + "view": "function debug.getfenv(o: any)\n -> table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 440022, + "start": 440009, + "type": "setfield" + } + ], + "desc": "\nReturns the environment of object `o` .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getfenv)", + "name": "debug.getfenv", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 560025, + "start": 560023, + "type": "local", + "view": "thread?" + } + ], + "desc": "\nReturns the current hook settings of the thread.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.gethook)", + "finish": 560030, + "returns": [ + { + "type": "function.return", + "view": "function" + }, + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "integer" + } + ], + "start": 560000, + "type": "function", + "view": "function debug.gethook(co?: thread)\n -> hook: function\n 2. mask: string\n 3. count: integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 560022, + "start": 560009, + "type": "setfield" + } + ], + "desc": "\nReturns the current hook settings of the thread.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.gethook)", + "name": "debug.gethook", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 790029, + "start": 790023, + "type": "local", + "view": "thread" + }, + { + "finish": 790032, + "start": 790031, + "type": "local", + "view": "integer|fun(...any):...unknown" + }, + { + "finish": 790038, + "start": 790034, + "type": "local", + "view": "(string|\"L\"|\"S\"|\"f\"|\"l\"...(+4))?" + } + ], + "desc": "\nReturns a table with information about a function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getinfo)\n\n\n---\n\n```lua\nwhat:\n +> \"n\" -- `name` and `namewhat`\n +> \"S\" -- `source`, `short_src`, `linedefined`, `lastlinedefined`, and `what`\n +> \"l\" -- `currentline`\n +> \"t\" -- `istailcall`\n +> \"u\" -- `nups`, `nparams`, and `isvararg`\n +> \"f\" -- `func`\n +> \"r\" -- `ftransfer` and `ntransfer`\n +> \"L\" -- `activelines`\n```", + "finish": 790043, + "returns": [ + { + "type": "function.return", + "view": "debuginfo" + } + ], + "start": 790000, + "type": "function", + "view": "function debug.getinfo(thread: thread, f: integer|fun(...any):...unknown, what?: string|\"L\"|\"S\"|\"f\"|\"l\"...(+4))\n -> debuginfo" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 790022, + "start": 790009, + "type": "setfield" + } + ], + "desc": "\nReturns a table with information about a function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getinfo)\n\n\n---\n\n```lua\nwhat:\n +> \"n\" -- `name` and `namewhat`\n +> \"S\" -- `source`, `short_src`, `linedefined`, `lastlinedefined`, and `what`\n +> \"l\" -- `currentline`\n +> \"t\" -- `istailcall`\n +> \"u\" -- `nups`, `nparams`, and `isvararg`\n +> \"f\" -- `func`\n +> \"r\" -- `ftransfer` and `ntransfer`\n +> \"L\" -- `activelines`\n```", + "name": "debug.getinfo", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 930030, + "start": 930024, + "type": "local", + "view": "thread" + }, + { + "finish": 930033, + "start": 930032, + "type": "local", + "view": "integer|fun(...any):...unknown" + }, + { + "finish": 930040, + "start": 930035, + "type": "local", + "view": "integer" + } + ], + "desc": "\nReturns the name and the value of the local variable with index `local` of the function at level `f` of the stack.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getlocal)", + "finish": 930045, + "returns": [ + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "any" + } + ], + "start": 930000, + "type": "function", + "view": "function debug.getlocal(thread: thread, f: integer|fun(...any):...unknown, index: integer)\n -> name: string\n 2. value: any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 930023, + "start": 930009, + "type": "setfield" + } + ], + "desc": "\nReturns the name and the value of the local variable with index `local` of the function at level `f` of the stack.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getlocal)", + "name": "debug.getlocal", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1030034, + "start": 1030028, + "type": "local", + "view": "any" + } + ], + "desc": "\nReturns the metatable of the given value.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getmetatable)", + "finish": 1030039, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 1030000, + "type": "function", + "view": "function debug.getmetatable(object: any)\n -> metatable: table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 1030027, + "start": 1030009, + "type": "setfield" + } + ], + "desc": "\nReturns the metatable of the given value.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getmetatable)", + "name": "debug.getmetatable", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "desc": "\nReturns the registry table.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getregistry)", + "finish": 1120032, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 1120000, + "type": "function", + "view": "function debug.getregistry()\n -> table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 1120026, + "start": 1120009, + "type": "setfield" + } + ], + "desc": "\nReturns the registry table.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getregistry)", + "name": "debug.getregistry", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1240027, + "start": 1240026, + "type": "local", + "view": "fun(...any):...unknown" + }, + { + "finish": 1240031, + "start": 1240029, + "type": "local", + "view": "integer" + } + ], + "desc": "\nReturns the name and the value of the upvalue with index `up` of the function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getupvalue)", + "finish": 1240036, + "returns": [ + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "any" + } + ], + "start": 1240000, + "type": "function", + "view": "function debug.getupvalue(f: fun(...any):...unknown, up: integer)\n -> name: string\n 2. value: any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 1240025, + "start": 1240009, + "type": "setfield" + } + ], + "desc": "\nReturns the name and the value of the upvalue with index `up` of the function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getupvalue)", + "name": "debug.getupvalue", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1390029, + "start": 1390028, + "type": "local", + "view": "userdata" + }, + { + "finish": 1390032, + "start": 1390031, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns the `n`-th user value associated\nto the userdata `u` plus a boolean,\n`false` if the userdata does not have that value.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getuservalue)", + "finish": 1390037, + "returns": [ + { + "type": "function.return", + "view": "any" + }, + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 1390000, + "type": "function", + "view": "function debug.getuservalue(u: userdata, n?: integer)\n -> any\n 2. boolean" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 1390027, + "start": 1390009, + "type": "setfield" + } + ], + "desc": "\nReturns the `n`-th user value associated\nto the userdata `u` plus a boolean,\n`false` if the userdata does not have that value.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getuservalue)", + "name": "debug.getuservalue", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1540035, + "start": 1540030, + "type": "local", + "view": "integer" + } + ], + "desc": "\n### **Deprecated in `Lua 5.4.2`**\n\nSets a new limit for the C stack. This limit controls how deeply nested calls can go in Lua, with the intent of avoiding a stack overflow.\n\nIn case of success, this function returns the old limit. In case of error, it returns `false`.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setcstacklimit)", + "finish": 1540040, + "returns": [ + { + "type": "function.return", + "view": "boolean|integer" + } + ], + "start": 1540000, + "type": "function", + "view": "function debug.setcstacklimit(limit: integer)\n -> boolean|integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 1540029, + "start": 1540009, + "type": "setfield" + } + ], + "desc": "\n### **Deprecated in `Lua 5.4.2`**\n\nSets a new limit for the C stack. This limit controls how deeply nested calls can go in Lua, with the intent of avoiding a stack overflow.\n\nIn case of success, this function returns the old limit. In case of error, it returns `false`.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setcstacklimit)", + "name": "debug.setcstacklimit", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1660029, + "start": 1660023, + "type": "local", + "view": "" + }, + { + "finish": 1660034, + "start": 1660031, + "type": "local", + "view": "table" + } + ], + "desc": "\nSets the environment of the given `object` to the given `table` .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setfenv)", + "finish": 1660039, + "returns": [ + { + "type": "function.return", + "view": "" + } + ], + "start": 1660000, + "type": "function", + "view": "function debug.setfenv(object: , env: table)\n -> object: " + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 1660022, + "start": 1660009, + "type": "setfield" + } + ], + "desc": "\nSets the environment of the given `object` to the given `table` .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setfenv)", + "name": "debug.setfenv", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1850029, + "start": 1850023, + "type": "local", + "view": "thread" + }, + { + "finish": 1850035, + "start": 1850031, + "type": "local", + "view": "fun(...any):...unknown" + }, + { + "finish": 1850041, + "start": 1850037, + "type": "local", + "view": "string|\"c\"|\"l\"|\"r\"" + }, + { + "finish": 1850048, + "start": 1850043, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nSets the given function as a hook.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.sethook)\n\n\n---\n\n```lua\nmask:\n +> \"c\" -- Calls hook when Lua calls a function.\n +> \"r\" -- Calls hook when Lua returns from a function.\n +> \"l\" -- Calls hook when Lua enters a new line of code.\n```", + "finish": 1850053, + "start": 1850000, + "type": "function", + "view": "function debug.sethook(thread: thread, hook: fun(...any):...unknown, mask: string|\"c\"|\"l\"|\"r\", count?: integer)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 1850022, + "start": 1850009, + "type": "setfield" + } + ], + "desc": "\nSets the given function as a hook.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.sethook)\n\n\n---\n\n```lua\nmask:\n +> \"c\" -- Calls hook when Lua calls a function.\n +> \"r\" -- Calls hook when Lua returns from a function.\n +> \"l\" -- Calls hook when Lua enters a new line of code.\n```", + "name": "debug.sethook", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1980030, + "start": 1980024, + "type": "local", + "view": "thread" + }, + { + "finish": 1980037, + "start": 1980032, + "type": "local", + "view": "integer" + }, + { + "finish": 1980044, + "start": 1980039, + "type": "local", + "view": "integer" + }, + { + "finish": 1980051, + "start": 1980046, + "type": "local", + "view": "any" + } + ], + "desc": "\nAssigns the `value` to the local variable with index `local` of the function at `level` of the stack.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setlocal)", + "finish": 1980056, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1980000, + "type": "function", + "view": "function debug.setlocal(thread: thread, level: integer, index: integer, value: any)\n -> name: string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 1980023, + "start": 1980009, + "type": "setfield" + } + ], + "desc": "\nAssigns the `value` to the local variable with index `local` of the function at `level` of the stack.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setlocal)", + "name": "debug.setlocal", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2090033, + "start": 2090028, + "type": "local", + "view": "" + }, + { + "finish": 2090039, + "start": 2090035, + "type": "local", + "view": "table?" + } + ], + "desc": "\nSets the metatable for the given value to the given table (which can be `nil`).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setmetatable)", + "finish": 2090044, + "returns": [ + { + "type": "function.return", + "view": "" + } + ], + "start": 2090000, + "type": "function", + "view": "function debug.setmetatable(value: , meta?: table)\n -> value: " + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 2090027, + "start": 2090009, + "type": "setfield" + } + ], + "desc": "\nSets the metatable for the given value to the given table (which can be `nil`).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setmetatable)", + "name": "debug.setmetatable", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2200027, + "start": 2200026, + "type": "local", + "view": "fun(...any):...unknown" + }, + { + "finish": 2200031, + "start": 2200029, + "type": "local", + "view": "integer" + }, + { + "finish": 2200038, + "start": 2200033, + "type": "local", + "view": "any" + } + ], + "desc": "\nAssigns the `value` to the upvalue with index `up` of the function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setupvalue)", + "finish": 2200043, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 2200000, + "type": "function", + "view": "function debug.setupvalue(f: fun(...any):...unknown, up: integer, value: any)\n -> name: string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 2200025, + "start": 2200009, + "type": "setfield" + } + ], + "desc": "\nAssigns the `value` to the upvalue with index `up` of the function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setupvalue)", + "name": "debug.setupvalue", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2340033, + "start": 2340028, + "type": "local", + "view": "userdata" + }, + { + "finish": 2340040, + "start": 2340035, + "type": "local", + "view": "any" + }, + { + "finish": 2340043, + "start": 2340042, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nSets the given `value` as\nthe `n`-th user value associated to the given `udata`.\n`udata` must be a full userdata.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setuservalue)", + "finish": 2340048, + "returns": [ + { + "type": "function.return", + "view": "userdata" + } + ], + "start": 2340000, + "type": "function", + "view": "function debug.setuservalue(udata: userdata, value: any, n?: integer)\n -> udata: userdata" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 2340027, + "start": 2340009, + "type": "setfield" + } + ], + "desc": "\nSets the given `value` as\nthe `n`-th user value associated to the given `udata`.\n`udata` must be a full userdata.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setuservalue)", + "name": "debug.setuservalue", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2470031, + "start": 2470025, + "type": "local", + "view": "thread" + }, + { + "finish": 2470040, + "start": 2470033, + "type": "local", + "view": "any" + }, + { + "finish": 2470047, + "start": 2470042, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns a string with a traceback of the call stack. The optional message string is appended at the beginning of the traceback.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.traceback)", + "finish": 2470052, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 2470000, + "type": "function", + "view": "function debug.traceback(thread: thread, message?: any, level?: integer)\n -> message: string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 2470024, + "start": 2470009, + "type": "setfield" + } + ], + "desc": "\nReturns a string with a traceback of the call stack. The optional message string is appended at the beginning of the traceback.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.traceback)", + "name": "debug.traceback", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2590026, + "start": 2590025, + "type": "local", + "view": "fun(...any):...unknown" + }, + { + "finish": 2590029, + "start": 2590028, + "type": "local", + "view": "integer" + } + ], + "desc": "\nReturns a unique identifier (as a light userdata) for the upvalue numbered `n` from the given function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.upvalueid)", + "finish": 2590034, + "returns": [ + { + "type": "function.return", + "view": "lightuserdata" + } + ], + "start": 2590000, + "type": "function", + "view": "function debug.upvalueid(f: fun(...any):...unknown, n: integer)\n -> id: lightuserdata" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 2590024, + "start": 2590009, + "type": "setfield" + } + ], + "desc": "\nReturns a unique identifier (as a light userdata) for the upvalue numbered `n` from the given function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.upvalueid)", + "name": "debug.upvalueid", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2710029, + "start": 2710027, + "type": "local", + "view": "fun(...any):...unknown" + }, + { + "finish": 2710033, + "start": 2710031, + "type": "local", + "view": "integer" + }, + { + "finish": 2710037, + "start": 2710035, + "type": "local", + "view": "fun(...any):...unknown" + }, + { + "finish": 2710041, + "start": 2710039, + "type": "local", + "view": "integer" + } + ], + "desc": "\nMake the `n1`-th upvalue of the Lua closure `f1` refer to the `n2`-th upvalue of the Lua closure `f2`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.upvaluejoin)", + "finish": 2710046, + "start": 2710000, + "type": "function", + "view": "function debug.upvaluejoin(f1: fun(...any):...unknown, n1: integer, f2: fun(...any):...unknown, n2: integer)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/debug.lua", + "finish": 2710026, + "start": 2710009, + "type": "setfield" + } + ], + "desc": "\nMake the `n1`-th upvalue of the Lua closure `f1` refer to the `n2`-th upvalue of the Lua closure `f2`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.upvaluejoin)", + "name": "debug.upvaluejoin", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 480024, + "start": 480016, + "type": "local", + "view": "string?" + } + ], + "desc": "\nOpens the named file and executes its content as a Lua chunk. When called without arguments, `dofile` executes the content of the standard input (`stdin`). Returns all values returned by the chunk. In case of errors, `dofile` propagates the error to its caller. (That is, `dofile` does not run in protected mode.)\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-dofile)", + "finish": 480029, + "returns": [ + { + "type": "function.return", + "view": "any" + } + ], + "start": 480000, + "type": "function", + "view": "function dofile(filename?: string)\n -> ...any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 480015, + "start": 480009, + "type": "setglobal" + }, + { + "extends": { + "args": [ + { + "finish": 1110033, + "start": 1110029, + "type": "local", + "view": "any" + } + ], + "finish": 1190007, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 1110020, + "type": "function", + "view": "function dofile(path: any)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 1110010, + "start": 1110004, + "type": "setglobal" + } + ], + "desc": "\nOpens the named file and executes its content as a Lua chunk. When called without arguments, `dofile` executes the content of the standard input (`stdin`). Returns all values returned by the chunk. In case of errors, `dofile` propagates the error to its caller. (That is, `dofile` does not run in protected mode.)\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-dofile)", + "name": "dofile", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 1050098, + "start": 1050021, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 1050018, + "start": 1050015, + "type": "setglobal" + } + ], + "name": "err", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 600022, + "start": 600015, + "type": "local", + "view": "any" + }, + { + "finish": 600029, + "start": 600024, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nTerminates the last protected function called and returns message as the error object.\n\nUsually, `error` adds some information about the error position at the beginning of the message, if the message is a string.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-error)", + "finish": 600034, + "start": 600000, + "type": "function", + "view": "function error(message: any, level?: integer)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 600014, + "start": 600009, + "type": "setglobal" + } + ], + "desc": "\nTerminates the last protected function called and returns message as the error object.\n\nUsually, `error` adds some information about the error position at the beginning of the message, if the message is a string.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-error)", + "name": "error", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 2560015, + "start": 2560011, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/ffiExtensions.lua", + "finish": 2560008, + "start": 2560000, + "type": "setglobal" + } + ], + "name": "executed", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 790018, + "start": 790017, + "type": "local", + "view": "(integer|fun(...any):...unknown)?" + } + ], + "desc": "\nReturns the current environment in use by the function. `f` can be a Lua function or a number that specifies the function at that stack level.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-getfenv)", + "finish": 790023, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 790000, + "type": "function", + "view": "function getfenv(f?: integer|fun(...any):...unknown)\n -> table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 790016, + "start": 790009, + "type": "setglobal" + } + ], + "desc": "\nReturns the current environment in use by the function. `f` can be a Lua function or a number that specifies the function at that stack level.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-getfenv)", + "name": "getfenv", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 890028, + "start": 890022, + "type": "local", + "view": "any" + } + ], + "desc": "\nIf object does not have a metatable, returns nil. Otherwise, if the object's metatable has a __metatable field, returns the associated value. Otherwise, returns the metatable of the given object.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-getmetatable)", + "finish": 890033, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 890000, + "type": "function", + "view": "function getmetatable(object: any)\n -> metatable: table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 890021, + "start": 890009, + "type": "setglobal" + } + ], + "desc": "\nIf object does not have a metatable, returns nil. Otherwise, if the object's metatable has a __metatable field, returns the associated value. Otherwise, returns the metatable of the given object.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-getmetatable)", + "name": "getmetatable", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 300006, + "start": 150015, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/name_tags.lua", + "finish": 150012, + "start": 150000, + "type": "setglobal" + }, + { + "extends": { + "finish": 300006, + "start": 150015, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_debug.lua", + "finish": 150012, + "start": 150000, + "type": "setglobal" + }, + { + "extends": { + "finish": 370006, + "start": 220015, + "type": "binary", + "view": "GlobalsUtils" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_updater.lua", + "finish": 220012, + "start": 220000, + "type": "setglobal" + } + ], + "name": "globalsUtils", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 2310036, + "start": 2310018, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/Ui.lua", + "finish": 2310015, + "start": 2310012, + "type": "setglobal" + }, + { + "extends": { + "finish": 2880036, + "start": 2880018, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/Ui.lua", + "finish": 2880015, + "start": 2880012, + "type": "setglobal" + }, + { + "extends": { + "finish": 3200036, + "start": 3200018, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/Ui.lua", + "finish": 3200015, + "start": 3200012, + "type": "setglobal" + }, + { + "extends": { + "finish": 3510036, + "start": 3510018, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/Ui.lua", + "finish": 3510015, + "start": 3510012, + "type": "setglobal" + }, + { + "extends": { + "finish": 330028, + "start": 330010, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/name_tags.lua", + "finish": 330007, + "start": 330004, + "type": "setglobal" + }, + { + "extends": { + "finish": 460028, + "start": 460010, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_debug.lua", + "finish": 460007, + "start": 460004, + "type": "setglobal" + } + ], + "name": "gui", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 260007, + "start": 260005, + "type": "table", + "view": "iolib" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 260002, + "start": 260000, + "type": "setglobal" + } + ], + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io)\n", + "name": "io", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-file)\n", + "finish": 510022, + "start": 510018, + "type": "local", + "view": "file*?" + } + ], + "desc": "\nClose `file` or default output file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.close)\n\n\n```lua\nexitcode:\n | \"exit\"\n | \"signal\"\n```", + "finish": 510027, + "returns": [ + { + "type": "function.return", + "view": "boolean?" + }, + { + "type": "function.return", + "view": "(\"exit\"|\"signal\")?" + }, + { + "type": "function.return", + "view": "integer?" + } + ], + "start": 510000, + "type": "function", + "view": "function io.close(file?: file*)\n -> suc: boolean?\n 2. exitcode: (\"exit\"|\"signal\")?\n 3. code: integer?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 510017, + "start": 510009, + "type": "setfield" + } + ], + "desc": "\nClose `file` or default output file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.close)\n\n\n```lua\nexitcode:\n | \"exit\"\n | \"signal\"\n```", + "name": "io.close", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "desc": "\nSaves any written data to default output file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.flush)", + "finish": 580023, + "start": 580000, + "type": "function", + "view": "function io.flush()" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 580017, + "start": 580009, + "type": "setfield" + } + ], + "desc": "\nSaves any written data to default output file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.flush)", + "name": "io.flush", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-file)\n", + "finish": 670022, + "start": 670018, + "type": "local", + "view": "string|file*" + } + ], + "desc": "\nSets `file` as the default input file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.input)", + "finish": 670027, + "start": 670000, + "type": "function", + "view": "function io.input(file: string|file*)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 670017, + "start": 670009, + "type": "setfield" + } + ], + "desc": "\nSets `file` as the default input file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.input)", + "name": "io.input", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 830026, + "start": 830018, + "type": "local", + "view": "string?" + }, + { + "finish": 830031, + "start": 830028, + "type": "...", + "view": "string|integer|\"L\"|\"a\"|\"l\"...(+1)" + } + ], + "desc": "\n------\n```lua\nfor c in io.lines(filename, ...) do\n body\nend\n```\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.lines)\n\n\n```lua\n...(param):\n | \"n\" -- Reads a numeral and returns it as number.\n | \"a\" -- Reads the whole file.\n -> \"l\" -- Reads the next line skipping the end of line.\n | \"L\" -- Reads the next line keeping the end of line.\n```", + "finish": 830036, + "returns": [ + { + "type": "function.return", + "view": "fun():any, ...unknown" + } + ], + "start": 830000, + "type": "function", + "view": "function io.lines(filename?: string, ...string|integer|\"L\"|\"a\"|\"l\"...(+1))\n -> fun():any, ...unknown" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 830017, + "start": 830009, + "type": "setfield" + } + ], + "desc": "\n------\n```lua\nfor c in io.lines(filename, ...) do\n body\nend\n```\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.lines)\n\n\n```lua\n...(param):\n | \"n\" -- Reads a numeral and returns it as number.\n | \"a\" -- Reads the whole file.\n -> \"l\" -- Reads the next line skipping the end of line.\n | \"L\" -- Reads the next line keeping the end of line.\n```", + "name": "io.lines", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 950025, + "start": 950017, + "type": "local", + "view": "string" + }, + { + "finish": 950031, + "start": 950027, + "type": "local", + "view": "(\"a\"|\"a+\"|\"a+b\"|\"ab\"|\"r\"...(+7))?" + } + ], + "desc": "\nOpens a file, in the mode specified in the string `mode`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.open)\n\n\n```lua\nmode:\n -> \"r\" -- Read mode.\n | \"w\" -- Write mode.\n | \"a\" -- Append mode.\n | \"r+\" -- Update mode, all previous data is preserved.\n | \"w+\" -- Update mode, all previous data is erased.\n | \"a+\" -- Append update mode, previous data is preserved, writing is only allowed at the end of file.\n | \"rb\" -- Read mode. (in binary mode.)\n | \"wb\" -- Write mode. (in binary mode.)\n | \"ab\" -- Append mode. (in binary mode.)\n | \"r+b\" -- Update mode, all previous data is preserved. (in binary mode.)\n | \"w+b\" -- Update mode, all previous data is erased. (in binary mode.)\n | \"a+b\" -- Append update mode, previous data is preserved, writing is only allowed at the end of file. (in binary mode.)\n```", + "finish": 950036, + "returns": [ + { + "type": "function.return", + "view": "file*?" + }, + { + "type": "function.return", + "view": "string?" + } + ], + "start": 950000, + "type": "function", + "view": "function io.open(filename: string, mode?: \"a\"|\"a+\"|\"a+b\"|\"ab\"|\"r\"...(+7))\n -> file*?\n 2. errmsg: string?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 950016, + "start": 950009, + "type": "setfield" + } + ], + "desc": "\nOpens a file, in the mode specified in the string `mode`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.open)\n\n\n```lua\nmode:\n -> \"r\" -- Read mode.\n | \"w\" -- Write mode.\n | \"a\" -- Append mode.\n | \"r+\" -- Update mode, all previous data is preserved.\n | \"w+\" -- Update mode, all previous data is erased.\n | \"a+\" -- Append update mode, previous data is preserved, writing is only allowed at the end of file.\n | \"rb\" -- Read mode. (in binary mode.)\n | \"wb\" -- Write mode. (in binary mode.)\n | \"ab\" -- Append mode. (in binary mode.)\n | \"r+b\" -- Update mode, all previous data is preserved. (in binary mode.)\n | \"w+b\" -- Update mode, all previous data is erased. (in binary mode.)\n | \"a+b\" -- Append update mode, previous data is preserved, writing is only allowed at the end of file. (in binary mode.)\n```", + "name": "io.open", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-file)\n", + "finish": 1040023, + "start": 1040019, + "type": "local", + "view": "string|file*" + } + ], + "desc": "\nSets `file` as the default output file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.output)", + "finish": 1040028, + "start": 1040000, + "type": "function", + "view": "function io.output(file: string|file*)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 1040018, + "start": 1040009, + "type": "setfield" + } + ], + "desc": "\nSets `file` as the default output file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.output)", + "name": "io.output", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1190022, + "start": 1190018, + "type": "local", + "view": "string" + }, + { + "finish": 1190028, + "start": 1190024, + "type": "local", + "view": "(\"r\"|\"w\")?" + } + ], + "desc": "\nStarts program prog in a separated process.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.popen)\n\n\n```lua\nmode:\n | \"r\" -- Read data from this program by `file`.\n | \"w\" -- Write data to this program by `file`.\n```", + "finish": 1190033, + "returns": [ + { + "type": "function.return", + "view": "file*?" + }, + { + "type": "function.return", + "view": "string?" + } + ], + "start": 1190000, + "type": "function", + "view": "function io.popen(prog: string, mode?: \"r\"|\"w\")\n -> file*?\n 2. errmsg: string?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 1190017, + "start": 1190009, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 2220029, + "start": 2220018, + "type": "local", + "view": "any" + } + ], + "finish": 2540003, + "returns": [ + { + "type": "function.return", + "view": "table|nil" + } + ], + "start": 2220000, + "type": "function", + "view": "function io.popen(commandLine: any)\n -> table|nil" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/ffiExtensions.lua", + "finish": 2220017, + "start": 2220009, + "type": "setfield" + } + ], + "desc": "\nStarts program prog in a separated process.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.popen)\n\n\n```lua\nmode:\n | \"r\" -- Read data from this program by `file`.\n | \"w\" -- Write data to this program by `file`.\n```", + "name": "io.popen", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1300020, + "start": 1300017, + "type": "...", + "view": "string|integer|\"L\"|\"a\"|\"l\"...(+1)" + } + ], + "desc": "\nReads the `file`, according to the given formats, which specify what to read.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.read)\n\n\n```lua\n...(param):\n | \"n\" -- Reads a numeral and returns it as number.\n | \"a\" -- Reads the whole file.\n -> \"l\" -- Reads the next line skipping the end of line.\n | \"L\" -- Reads the next line keeping the end of line.\n```", + "finish": 1300025, + "returns": [ + { + "type": "function.return", + "view": "any" + }, + { + "type": "function.return", + "view": "any" + } + ], + "start": 1300000, + "type": "function", + "view": "function io.read(...string|integer|\"L\"|\"a\"|\"l\"...(+1))\n -> any\n 2. ...any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 1300016, + "start": 1300009, + "type": "setfield" + } + ], + "desc": "\nReads the `file`, according to the given formats, which specify what to read.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.read)\n\n\n```lua\n...(param):\n | \"n\" -- Reads a numeral and returns it as number.\n | \"a\" -- Reads the whole file.\n -> \"l\" -- Reads the next line skipping the end of line.\n | \"L\" -- Reads the next line keeping the end of line.\n```", + "name": "io.read", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "desc": "\nIn case of success, returns a handle for a temporary file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.tmpfile)", + "finish": 1390025, + "returns": [ + { + "type": "function.return", + "view": "file*" + } + ], + "start": 1390000, + "type": "function", + "view": "function io.tmpfile()\n -> file*" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 1390019, + "start": 1390009, + "type": "setfield" + } + ], + "desc": "\nIn case of success, returns a handle for a temporary file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.tmpfile)", + "name": "io.tmpfile", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-file)\n", + "finish": 1540021, + "start": 1540017, + "type": "local", + "view": "file*" + } + ], + "desc": "\nChecks whether `obj` is a valid file handle.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.type)\n\n\n```lua\nreturn #1:\n | \"file\" -- Is an open file handle.\n | \"closed file\" -- Is a closed file handle.\n | `nil` -- Is not a file handle.\n```", + "finish": 1540026, + "returns": [ + { + "type": "function.return", + "view": "\"closed file\"|\"file\"|`nil`" + } + ], + "start": 1540000, + "type": "function", + "view": "function io.type(file: file*)\n -> \"closed file\"|\"file\"|`nil`" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 1540016, + "start": 1540009, + "type": "setfield" + } + ], + "desc": "\nChecks whether `obj` is a valid file handle.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.type)\n\n\n```lua\nreturn #1:\n | \"file\" -- Is an open file handle.\n | \"closed file\" -- Is a closed file handle.\n | `nil` -- Is not a file handle.\n```", + "name": "io.type", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1630021, + "start": 1630018, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nWrites the value of each of its arguments to default output file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.write)", + "finish": 1630026, + "returns": [ + { + "type": "function.return", + "view": "file*" + }, + { + "type": "function.return", + "view": "string?" + } + ], + "start": 1630000, + "type": "function", + "view": "function io.write(...any)\n -> file*\n 2. errmsg: string?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/io.lua", + "finish": 1630017, + "start": 1630009, + "type": "setfield" + } + ], + "desc": "\nWrites the value of each of its arguments to default output file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.write)", + "name": "io.write", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1060017, + "start": 1060016, + "type": "local", + "view": "" + } + ], + "desc": "\nReturns three values (an iterator function, the table `t`, and `0`) so that the construction\n```lua\n for i,v in ipairs(t) do body end\n```\nwill iterate over the key–value pairs `(1,t[1]), (2,t[2]), ...`, up to the first absent index.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-ipairs)", + "finish": 1060022, + "returns": [ + { + "type": "function.return", + "view": "fun(table: [], i?: integer):integer, " + }, + { + "type": "function.return", + "view": "" + }, + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1060000, + "type": "function", + "view": "function ipairs(t: )\n -> fun(table: [], i?: integer):integer, \n 2. \n 3. i: integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 1060015, + "start": 1060009, + "type": "setglobal" + } + ], + "desc": "\nReturns three values (an iterator function, the table `t`, and `0`) so that the construction\n```lua\n for i,v in ipairs(t) do body end\n```\nwill iterate over the key–value pairs `(1,t[1]), (2,t[2]), ...`, up to the first absent index.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-ipairs)", + "name": "ipairs", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 1010052, + "start": 1010047, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1010011, + "start": 1010000, + "type": "setfield" + }, + { + "extends": { + "finish": 1060023, + "start": 1060018, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1060015, + "start": 1060004, + "type": "setfield" + }, + { + "extends": { + "finish": 1100022, + "start": 1100018, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1100015, + "start": 1100004, + "type": "setfield" + } + ], + "name": "is_linux", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 1000051, + "start": 1000047, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1000013, + "start": 1000000, + "type": "setfield" + }, + { + "extends": { + "finish": 1050024, + "start": 1050020, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1050017, + "start": 1050004, + "type": "setfield" + }, + { + "extends": { + "finish": 1090025, + "start": 1090020, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1090017, + "start": 1090004, + "type": "setfield" + } + ], + "desc": "NoitaMP additions ", + "name": "is_windows", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 1300050, + "start": 1300029, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/util/Logger.lua", + "finish": 1300026, + "start": 1300016, + "type": "setglobal" + } + ], + "desc": " TODO: remove this before merge\n TODO: remove this before merge", + "name": "lldebugger", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1280019, + "start": 1280014, + "type": "local", + "view": "string|function" + }, + { + "finish": 1280030, + "start": 1280021, + "type": "local", + "view": "string?" + }, + { + "finish": 1280036, + "start": 1280032, + "type": "local", + "view": "(\"b\"|\"bt\"|\"t\")?" + }, + { + "finish": 1280041, + "start": 1280038, + "type": "local", + "view": "table?" + } + ], + "desc": "\nLoads a chunk.\n\nIf `chunk` is a string, the chunk is this string. If `chunk` is a function, `load` calls it repeatedly to get the chunk pieces. Each call to `chunk` must return a string that concatenates with previous results. A return of an empty string, `nil`, or no value signals the end of the chunk.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-load)\n\n\n```lua\nmode:\n | \"b\" -- Only binary chunks.\n | \"t\" -- Only text chunks.\n -> \"bt\" -- Both binary and text.\n```", + "finish": 1280046, + "returns": [ + { + "type": "function.return", + "view": "function?" + }, + { + "type": "function.return", + "view": "string?" + } + ], + "start": 1280000, + "type": "function", + "view": "function load(chunk: string|function, chunkname?: string, mode?: \"b\"|\"bt\"|\"t\", env?: table)\n -> function?\n 2. error_message: string?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 1280013, + "start": 1280009, + "type": "setglobal" + } + ], + "desc": "\nLoads a chunk.\n\nIf `chunk` is a string, the chunk is this string. If `chunk` is a function, `load` calls it repeatedly to get the chunk pieces. Each call to `chunk` must return a string that concatenates with previous results. A return of an empty string, `nil`, or no value signals the end of the chunk.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-load)\n\n\n```lua\nmode:\n | \"b\" -- Only binary chunks.\n | \"t\" -- Only text chunks.\n -> \"bt\" -- Both binary and text.\n```", + "name": "load", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1410026, + "start": 1410018, + "type": "local", + "view": "string?" + }, + { + "finish": 1410032, + "start": 1410028, + "type": "local", + "view": "(\"b\"|\"bt\"|\"t\")?" + }, + { + "finish": 1410037, + "start": 1410034, + "type": "local", + "view": "table?" + } + ], + "desc": "\nLoads a chunk from file `filename` or from the standard input, if no file name is given.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-loadfile)\n\n\n```lua\nmode:\n | \"b\" -- Only binary chunks.\n | \"t\" -- Only text chunks.\n -> \"bt\" -- Both binary and text.\n```", + "finish": 1410042, + "returns": [ + { + "type": "function.return", + "view": "function?" + }, + { + "type": "function.return", + "view": "string?" + } + ], + "start": 1410000, + "type": "function", + "view": "function loadfile(filename?: string, mode?: \"b\"|\"bt\"|\"t\", env?: table)\n -> function?\n 2. error_message: string?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 1410017, + "start": 1410009, + "type": "setglobal" + } + ], + "desc": "\nLoads a chunk from file `filename` or from the standard input, if no file name is given.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-loadfile)\n\n\n```lua\nmode:\n | \"b\" -- Only binary chunks.\n | \"t\" -- Only text chunks.\n -> \"bt\" -- Both binary and text.\n```", + "name": "loadfile", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1540024, + "start": 1540020, + "type": "local", + "view": "string" + }, + { + "finish": 1540035, + "start": 1540026, + "type": "local", + "view": "string?" + } + ], + "desc": "\nLoads a chunk from the given string.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-loadstring)", + "finish": 1540040, + "returns": [ + { + "type": "function.return", + "view": "function?" + }, + { + "type": "function.return", + "view": "string?" + } + ], + "start": 1540000, + "type": "function", + "view": "function loadstring(text: string, chunkname?: string)\n -> function?\n 2. error_message: string?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 1540019, + "start": 1540009, + "type": "setglobal" + } + ], + "desc": "\nLoads a chunk from the given string.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-loadstring)", + "name": "loadstring", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 120030, + "start": 100009, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/name_tags.lua", + "finish": 100006, + "start": 100000, + "type": "setglobal" + }, + { + "extends": { + "finish": 120030, + "start": 100009, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_debug.lua", + "finish": 100006, + "start": 100000, + "type": "setglobal" + }, + { + "extends": { + "finish": 120030, + "start": 100009, + "type": "binary", + "view": "Logger" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_updater.lua", + "finish": 100006, + "start": 100000, + "type": "setglobal" + } + ], + "name": "logger", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 320009, + "start": 320007, + "type": "table", + "view": "mathlib" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 320004, + "start": 320000, + "type": "setglobal" + } + ], + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math)\n", + "name": "math", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 430019, + "start": 430018, + "type": "local", + "view": "" + } + ], + "desc": "\nReturns the absolute value of `x`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.abs)", + "finish": 430024, + "returns": [ + { + "type": "function.return", + "view": "" + } + ], + "start": 430000, + "type": "function", + "view": "function math.abs(x: )\n -> " + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 430017, + "start": 430009, + "type": "setfield" + } + ], + "desc": "\nReturns the absolute value of `x`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.abs)", + "name": "math.abs", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 530020, + "start": 530019, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the arc cosine of `x` (in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.acos)", + "finish": 530025, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 530000, + "type": "function", + "view": "function math.acos(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 530018, + "start": 530009, + "type": "setfield" + } + ], + "desc": "\nReturns the arc cosine of `x` (in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.acos)", + "name": "math.acos", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 630020, + "start": 630019, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the arc sine of `x` (in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.asin)", + "finish": 630025, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 630000, + "type": "function", + "view": "function math.asin(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 630018, + "start": 630009, + "type": "setfield" + } + ], + "desc": "\nReturns the arc sine of `x` (in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.asin)", + "name": "math.asin", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 740020, + "start": 740019, + "type": "local", + "view": "number" + }, + { + "finish": 740023, + "start": 740022, + "type": "local", + "view": "number?" + } + ], + "desc": "\nReturns the arc tangent of `y/x` (in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.atan)", + "finish": 740028, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 740000, + "type": "function", + "view": "function math.atan(y: number, x?: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 740018, + "start": 740009, + "type": "setfield" + } + ], + "desc": "\nReturns the arc tangent of `y/x` (in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.atan)", + "name": "math.atan", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 860021, + "start": 860020, + "type": "local", + "view": "number" + }, + { + "finish": 860024, + "start": 860023, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the arc tangent of `y/x` (in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.atan2)", + "finish": 860029, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 860000, + "type": "function", + "view": "function math.atan2(y: number, x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 860019, + "start": 860009, + "type": "setfield" + } + ], + "desc": "\nReturns the arc tangent of `y/x` (in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.atan2)", + "name": "math.atan2", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 960020, + "start": 960019, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the smallest integral value larger than or equal to `x`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.ceil)", + "finish": 960025, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 960000, + "type": "function", + "view": "function math.ceil(x: number)\n -> integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 960018, + "start": 960009, + "type": "setfield" + } + ], + "desc": "\nReturns the smallest integral value larger than or equal to `x`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.ceil)", + "name": "math.ceil", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1060019, + "start": 1060018, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the cosine of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.cos)", + "finish": 1060024, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 1060000, + "type": "function", + "view": "function math.cos(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 1060017, + "start": 1060009, + "type": "setfield" + } + ], + "desc": "\nReturns the cosine of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.cos)", + "name": "math.cos", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1170020, + "start": 1170019, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the hyperbolic cosine of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.cosh)", + "finish": 1170025, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 1170000, + "type": "function", + "view": "function math.cosh(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 1170018, + "start": 1170009, + "type": "setfield" + } + ], + "desc": "\nReturns the hyperbolic cosine of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.cosh)", + "name": "math.cosh", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1270019, + "start": 1270018, + "type": "local", + "view": "number" + } + ], + "desc": "\nConverts the angle `x` from radians to degrees.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.deg)", + "finish": 1270024, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 1270000, + "type": "function", + "view": "function math.deg(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 1270017, + "start": 1270009, + "type": "setfield" + } + ], + "desc": "\nConverts the angle `x` from radians to degrees.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.deg)", + "name": "math.deg", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1370019, + "start": 1370018, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the value `e^x` (where `e` is the base of natural logarithms).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.exp)", + "finish": 1370024, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 1370000, + "type": "function", + "view": "function math.exp(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 1370017, + "start": 1370009, + "type": "setfield" + } + ], + "desc": "\nReturns the value `e^x` (where `e` is the base of natural logarithms).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.exp)", + "name": "math.exp", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1470021, + "start": 1470020, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the largest integral value smaller than or equal to `x`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.floor)", + "finish": 1470026, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1470000, + "type": "function", + "view": "function math.floor(x: number)\n -> integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 1470019, + "start": 1470009, + "type": "setfield" + } + ], + "desc": "\nReturns the largest integral value smaller than or equal to `x`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.floor)", + "name": "math.floor", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1580020, + "start": 1580019, + "type": "local", + "view": "number" + }, + { + "finish": 1580023, + "start": 1580022, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the remainder of the division of `x` by `y` that rounds the quotient towards zero.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.fmod)", + "finish": 1580028, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 1580000, + "type": "function", + "view": "function math.fmod(x: number, y: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 1580018, + "start": 1580009, + "type": "setfield" + } + ], + "desc": "\nReturns the remainder of the division of `x` by `y` that rounds the quotient towards zero.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.fmod)", + "name": "math.fmod", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1700021, + "start": 1700020, + "type": "local", + "view": "number" + } + ], + "desc": "\nDecompose `x` into tails and exponents. Returns `m` and `e` such that `x = m * (2 ^ e)`, `e` is an integer and the absolute value of `m` is in the range [0.5, 1) (or zero when `x` is zero).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.frexp)", + "finish": 1700026, + "returns": [ + { + "type": "function.return", + "view": "number" + }, + { + "type": "function.return", + "view": "number" + } + ], + "start": 1700000, + "type": "function", + "view": "function math.frexp(x: number)\n -> m: number\n 2. e: number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 1700019, + "start": 1700009, + "type": "setfield" + } + ], + "desc": "\nDecompose `x` into tails and exponents. Returns `m` and `e` such that `x = m * (2 ^ e)`, `e` is an integer and the absolute value of `m` is in the range [0.5, 1) (or zero when `x` is zero).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.frexp)", + "name": "math.frexp", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1820021, + "start": 1820020, + "type": "local", + "view": "number" + }, + { + "finish": 1820024, + "start": 1820023, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns `m * (2 ^ e)` .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.ldexp)", + "finish": 1820029, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 1820000, + "type": "function", + "view": "function math.ldexp(m: number, e: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 1820019, + "start": 1820009, + "type": "setfield" + } + ], + "desc": "\nReturns `m * (2 ^ e)` .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.ldexp)", + "name": "math.ldexp", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1930019, + "start": 1930018, + "type": "local", + "view": "number" + }, + { + "finish": 1930025, + "start": 1930021, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns the logarithm of `x` in the given base.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.log)", + "finish": 1930030, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 1930000, + "type": "function", + "view": "function math.log(x: number, base?: integer)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 1930017, + "start": 1930009, + "type": "setfield" + } + ], + "desc": "\nReturns the logarithm of `x` in the given base.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.log)", + "name": "math.log", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2040021, + "start": 2040020, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the base-10 logarithm of x.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.log10)", + "finish": 2040026, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 2040000, + "type": "function", + "view": "function math.log10(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 2040019, + "start": 2040009, + "type": "setfield" + } + ], + "desc": "\nReturns the base-10 logarithm of x.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.log10)", + "name": "math.log10", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2160019, + "start": 2160018, + "type": "local", + "view": "" + }, + { + "finish": 2160024, + "start": 2160021, + "type": "...", + "view": "" + } + ], + "desc": "\nReturns the argument with the maximum value, according to the Lua operator `<`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.max)", + "finish": 2160029, + "returns": [ + { + "type": "function.return", + "view": "" + } + ], + "start": 2160000, + "type": "function", + "view": "function math.max(x: , ...)\n -> " + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 2160017, + "start": 2160009, + "type": "setfield" + } + ], + "desc": "\nReturns the argument with the maximum value, according to the Lua operator `<`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.max)", + "name": "math.max", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2280019, + "start": 2280018, + "type": "local", + "view": "" + }, + { + "finish": 2280024, + "start": 2280021, + "type": "...", + "view": "" + } + ], + "desc": "\nReturns the argument with the minimum value, according to the Lua operator `<`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.min)", + "finish": 2280029, + "returns": [ + { + "type": "function.return", + "view": "" + } + ], + "start": 2280000, + "type": "function", + "view": "function math.min(x: , ...)\n -> " + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 2280017, + "start": 2280009, + "type": "setfield" + } + ], + "desc": "\nReturns the argument with the minimum value, according to the Lua operator `<`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.min)", + "name": "math.min", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2390020, + "start": 2390019, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the integral part of `x` and the fractional part of `x`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.modf)", + "finish": 2390025, + "returns": [ + { + "type": "function.return", + "view": "integer" + }, + { + "type": "function.return", + "view": "number" + } + ], + "start": 2390000, + "type": "function", + "view": "function math.modf(x: number)\n -> integer\n 2. number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 2390018, + "start": 2390009, + "type": "setfield" + } + ], + "desc": "\nReturns the integral part of `x` and the fractional part of `x`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.modf)", + "name": "math.modf", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2510019, + "start": 2510018, + "type": "local", + "view": "number" + }, + { + "finish": 2510022, + "start": 2510021, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns `x ^ y` .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.pow)", + "finish": 2510027, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 2510000, + "type": "function", + "view": "function math.pow(x: number, y: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 2510017, + "start": 2510009, + "type": "setfield" + } + ], + "desc": "\nReturns `x ^ y` .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.pow)", + "name": "math.pow", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2610019, + "start": 2610018, + "type": "local", + "view": "number" + } + ], + "desc": "\nConverts the angle `x` from degrees to radians.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.rad)", + "finish": 2610024, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 2610000, + "type": "function", + "view": "function math.rad(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 2610017, + "start": 2610009, + "type": "setfield" + } + ], + "desc": "\nConverts the angle `x` from degrees to radians.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.rad)", + "name": "math.rad", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2770022, + "start": 2770021, + "type": "local", + "view": "integer" + }, + { + "finish": 2770025, + "start": 2770024, + "type": "local", + "view": "integer" + } + ], + "desc": "\n* `math.random()`: Returns a float in the range [0,1).\n* `math.random(n)`: Returns a integer in the range [1, n].\n* `math.random(m, n)`: Returns a integer in the range [m, n].\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.random)", + "finish": 2770030, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 2770000, + "type": "function", + "view": "function math.random(m: integer, n: integer)\n -> integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 2770020, + "start": 2770009, + "type": "setfield" + } + ], + "desc": "\n* `math.random()`: Returns a float in the range [0,1).\n* `math.random(n)`: Returns a integer in the range [1, n].\n* `math.random(m, n)`: Returns a integer in the range [m, n].\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.random)", + "name": "math.random", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2890026, + "start": 2890025, + "type": "local", + "view": "integer?" + }, + { + "finish": 2890029, + "start": 2890028, + "type": "local", + "view": "integer?" + } + ], + "desc": "\n* `math.randomseed(x, y)`: Concatenate `x` and `y` into a 128-bit `seed` to reinitialize the pseudo-random generator.\n* `math.randomseed(x)`: Equate to `math.randomseed(x, 0)` .\n* `math.randomseed()`: Generates a seed with a weak attempt for randomness.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.randomseed)", + "finish": 2890034, + "start": 2890000, + "type": "function", + "view": "function math.randomseed(x?: integer, y?: integer)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 2890024, + "start": 2890009, + "type": "setfield" + } + ], + "desc": "\n* `math.randomseed(x, y)`: Concatenate `x` and `y` into a 128-bit `seed` to reinitialize the pseudo-random generator.\n* `math.randomseed(x)`: Equate to `math.randomseed(x, 0)` .\n* `math.randomseed()`: Generates a seed with a weak attempt for randomness.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.randomseed)", + "name": "math.randomseed", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 250021, + "start": 250020, + "type": "local", + "view": "number|nil" + }, + { + "finish": 250030, + "start": 250023, + "type": "local", + "view": "number|nil" + } + ], + "desc": " This way, you can round on any bracket:\n math.round(119.68, 6.4) -- 121.6 (= 19 * 6.4)\n It works for \"number of decimals\" too, with a rather visual representation:\n math.round(119.68, 0.01) -- 119.68\n math.round(119.68, 0.1) -- 119.7\n math.round(119.68) -- 120\n math.round(119.68, 100) -- 100\n math.round(119.68, 1000) -- 0", + "finish": 340003, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 250000, + "type": "function", + "view": "function math.round(v: number|nil, bracket: number|nil)\n -> number" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/mathExtensions.lua", + "finish": 250019, + "start": 250009, + "type": "setfield" + } + ], + "desc": " This way, you can round on any bracket:\n math.round(119.68, 6.4) -- 121.6 (= 19 * 6.4)\n It works for \"number of decimals\" too, with a rather visual representation:\n math.round(119.68, 0.01) -- 119.68\n math.round(119.68, 0.1) -- 119.7\n math.round(119.68) -- 120\n math.round(119.68, 100) -- 100\n math.round(119.68, 1000) -- 0", + "name": "math.round", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 70020, + "start": 70019, + "type": "local", + "view": "number" + } + ], + "desc": "Returns the sign of a number.", + "finish": 120003, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 70000, + "type": "function", + "view": "function math.sign(v: number)\n -> integer" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/mathExtensions.lua", + "finish": 70018, + "start": 70009, + "type": "setfield" + } + ], + "desc": "Returns the sign of a number.", + "name": "math.sign", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2990019, + "start": 2990018, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the sine of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.sin)", + "finish": 2990024, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 2990000, + "type": "function", + "view": "function math.sin(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 2990017, + "start": 2990009, + "type": "setfield" + } + ], + "desc": "\nReturns the sine of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.sin)", + "name": "math.sin", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3100020, + "start": 3100019, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the hyperbolic sine of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.sinh)", + "finish": 3100025, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 3100000, + "type": "function", + "view": "function math.sinh(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 3100018, + "start": 3100009, + "type": "setfield" + } + ], + "desc": "\nReturns the hyperbolic sine of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.sinh)", + "name": "math.sinh", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3200020, + "start": 3200019, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the square root of `x`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.sqrt)", + "finish": 3200025, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 3200000, + "type": "function", + "view": "function math.sqrt(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 3200018, + "start": 3200009, + "type": "setfield" + } + ], + "desc": "\nReturns the square root of `x`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.sqrt)", + "name": "math.sqrt", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3300019, + "start": 3300018, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the tangent of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.tan)", + "finish": 3300024, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 3300000, + "type": "function", + "view": "function math.tan(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 3300017, + "start": 3300009, + "type": "setfield" + } + ], + "desc": "\nReturns the tangent of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.tan)", + "name": "math.tan", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3410020, + "start": 3410019, + "type": "local", + "view": "number" + } + ], + "desc": "\nReturns the hyperbolic tangent of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.tanh)", + "finish": 3410025, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 3410000, + "type": "function", + "view": "function math.tanh(x: number)\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 3410018, + "start": 3410009, + "type": "setfield" + } + ], + "desc": "\nReturns the hyperbolic tangent of `x` (assumed to be in radians).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.tanh)", + "name": "math.tanh", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3520025, + "start": 3520024, + "type": "local", + "view": "any" + } + ], + "desc": "\nIf the value `x` is convertible to an integer, returns that integer.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.tointeger)", + "finish": 3520030, + "returns": [ + { + "type": "function.return", + "view": "integer?" + } + ], + "start": 3520000, + "type": "function", + "view": "function math.tointeger(x: any)\n -> integer?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 3520023, + "start": 3520009, + "type": "setfield" + } + ], + "desc": "\nIf the value `x` is convertible to an integer, returns that integer.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.tointeger)", + "name": "math.tointeger", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3650020, + "start": 3650019, + "type": "local", + "view": "any" + } + ], + "desc": "\nReturns `\"integer\"` if `x` is an integer, `\"float\"` if it is a float, or `nil` if `x` is not a number.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.type)\n\n\n```lua\nreturn #1:\n | \"integer\"\n | \"float\"\n | 'nil'\n```", + "finish": 3650025, + "returns": [ + { + "type": "function.return", + "view": "\"float\"|\"integer\"|'nil'" + } + ], + "start": 3650000, + "type": "function", + "view": "function math.type(x: any)\n -> \"float\"|\"integer\"|'nil'" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 3650018, + "start": 3650009, + "type": "setfield" + } + ], + "desc": "\nReturns `\"integer\"` if `x` is an integer, `\"float\"` if it is a float, or `nil` if `x` is not a number.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.type)\n\n\n```lua\nreturn #1:\n | \"integer\"\n | \"float\"\n | 'nil'\n```", + "name": "math.type", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3760019, + "start": 3760018, + "type": "local", + "view": "integer" + }, + { + "finish": 3760022, + "start": 3760021, + "type": "local", + "view": "integer" + } + ], + "desc": "\nReturns `true` if and only if `m` is below `n` when they are compared as unsigned integers.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.ult)", + "finish": 3760027, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 3760000, + "type": "function", + "view": "function math.ult(m: integer, n: integer)\n -> boolean" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/math.lua", + "finish": 3760017, + "start": 3760009, + "type": "setfield" + } + ], + "desc": "\nReturns `true` if and only if `m` is below `n` when they are compared as unsigned integers.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.ult)", + "name": "math.ult", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1690020, + "start": 1690016, + "type": "local", + "view": "string" + }, + { + "finish": 1690025, + "start": 1690022, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nCreates a module.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-module)", + "finish": 1690030, + "start": 1690000, + "type": "function", + "view": "function module(name: string, ...any)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 1690015, + "start": 1690009, + "type": "setglobal" + } + ], + "desc": "\nCreates a module.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-module)", + "name": "module", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 490018, + "start": 490007, + "type": "binary", + "view": "nil" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/name_tags.lua", + "finish": 490004, + "start": 490000, + "type": "setglobal" + }, + { + "extends": { + "finish": 540061, + "start": 540019, + "type": "select", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/name_tags.lua", + "finish": 540016, + "start": 540012, + "type": "setglobal" + } + ], + "name": "name", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 350082, + "start": 330018, + "type": "binary", + "view": "NetworkVscUtils" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_debug.lua", + "finish": 330015, + "start": 330000, + "type": "setglobal" + }, + { + "extends": { + "finish": 580006, + "start": 430018, + "type": "binary", + "view": "NetworkVscUtils" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_updater.lua", + "finish": 430015, + "start": 430000, + "type": "setglobal" + } + ], + "desc": "NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API", + "name": "networkVscUtils", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1600023, + "start": 1600018, + "type": "local", + "view": "boolean|table|userdata" + } + ], + "finish": 1600028, + "returns": [ + { + "type": "function.return", + "view": "userdata" + } + ], + "start": 1600000, + "type": "function", + "view": "function newproxy(proxy: boolean|table|userdata)\n -> userdata" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 1600017, + "start": 1600009, + "type": "setglobal" + } + ], + "name": "newproxy", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1870019, + "start": 1870014, + "type": "local", + "view": "table<, >" + }, + { + "finish": 1870026, + "start": 1870021, + "type": "local", + "view": "?" + } + ], + "desc": "\nAllows a program to traverse all fields of a table. Its first argument is a table and its second argument is an index in this table. A call to `next` returns the next index of the table and its associated value. When called with `nil` as its second argument, `next` returns an initial index and its associated value. When called with the last index, or with `nil` in an empty table, `next` returns `nil`. If the second argument is absent, then it is interpreted as `nil`. In particular, you can use `next(t)` to check whether a table is empty.\n\nThe order in which the indices are enumerated is not specified, *even for numeric indices*. (To traverse a table in numerical order, use a numerical `for`.)\n\nThe behavior of `next` is undefined if, during the traversal, you assign any value to a non-existent field in the table. You may however modify existing fields. In particular, you may set existing fields to nil.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-next)", + "finish": 1870031, + "returns": [ + { + "type": "function.return", + "view": "?" + }, + { + "type": "function.return", + "view": "?" + } + ], + "start": 1870000, + "type": "function", + "view": "function next(table: table<, >, index?: )\n -> ?\n 2. ?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 1870013, + "start": 1870009, + "type": "setglobal" + } + ], + "desc": "\nAllows a program to traverse all fields of a table. Its first argument is a table and its second argument is an index in this table. A call to `next` returns the next index of the table and its associated value. When called with `nil` as its second argument, `next` returns an initial index and its associated value. When called with the last index, or with `nil` in an empty table, `next` returns `nil`. If the second argument is absent, then it is interpreted as `nil`. In particular, you can use `next(t)` to check whether a table is empty.\n\nThe order in which the indices are enumerated is not specified, *even for numeric indices*. (To traverse a table in numerical order, use a numerical `for`.)\n\nThe behavior of `next` is undefined if, during the traversal, you assign any value to a non-existent field in the table. You may however modify existing fields. In particular, you may set existing fields to nil.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-next)", + "name": "next", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 400099, + "start": 380022, + "type": "binary", + "view": "NoitaComponentUtils" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_debug.lua", + "finish": 380019, + "start": 380000, + "type": "setglobal" + } + ], + "desc": "Class for using Noita components.", + "name": "noitaComponentUtils", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 30039, + "start": 30018, + "type": "binary", + "view": "NoitaMpSettings" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/name_tags.lua", + "finish": 30015, + "start": 30000, + "type": "setglobal" + }, + { + "extends": { + "finish": 30039, + "start": 30018, + "type": "binary", + "view": "NoitaMpSettings" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_debug.lua", + "finish": 30015, + "start": 30000, + "type": "setglobal" + }, + { + "extends": { + "finish": 30039, + "start": 30018, + "type": "binary", + "view": "NoitaMpSettings" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_updater.lua", + "finish": 30015, + "start": 30000, + "type": "setglobal" + } + ], + "desc": " NoitaMpSettings: Replacement for Noita ModSettings.", + "name": "noitaMpSettings", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 70001, + "start": 40033, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/name_tags.lua", + "finish": 40030, + "start": 40000, + "type": "setfield" + }, + { + "extends": { + "finish": 70001, + "start": 40033, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_debug.lua", + "finish": 40030, + "start": 40000, + "type": "setfield" + }, + { + "extends": { + "finish": 70001, + "start": 40033, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_updater.lua", + "finish": 40030, + "start": 40000, + "type": "setfield" + } + ], + "name": "noitaMpSettings.customProfiler", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 560027, + "start": 560023, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/NoitaMpSettings.lua", + "finish": 560020, + "start": 560016, + "type": "setglobal" + } + ], + "name": "once", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 240022, + "start": 240021, + "type": "local", + "view": "any" + }, + { + "finish": 240029, + "start": 240024, + "type": "local", + "view": "any" + } + ], + "finish": 510003, + "returns": [ + { + "type": "function.return", + "view": "unknown|nil" + }, + { + "type": "function.return", + "view": "unknown|nil" + } + ], + "start": 240000, + "type": "function", + "view": "function orderedNext(t: any, state: any)\n -> unknown|nil\n 2. unknown|nil" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/globalExtensions.lua", + "finish": 240020, + "start": 240009, + "type": "setglobal" + } + ], + "name": "orderedNext", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 530023, + "start": 530022, + "type": "local", + "view": "any" + } + ], + "finish": 570003, + "returns": [ + { + "type": "function.return", + "view": "function" + }, + { + "type": "function.return", + "view": "unknown" + }, + { + "type": "function.return", + "view": "nil" + } + ], + "start": 530000, + "type": "function", + "view": "function orderedPairs(t: any)\n -> function\n 2. unknown\n 3. nil" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/globalExtensions.lua", + "finish": 530021, + "start": 530009, + "type": "setglobal" + } + ], + "name": "orderedPairs", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 80007, + "start": 80005, + "type": "table", + "view": "oslib" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 80002, + "start": 80000, + "type": "setglobal" + } + ], + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os)\n", + "name": "os", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "desc": "\nReturns an approximation of the amount in seconds of CPU time used by the program.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.clock)", + "finish": 170023, + "returns": [ + { + "type": "function.return", + "view": "number" + } + ], + "start": 170000, + "type": "function", + "view": "function os.clock()\n -> number" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 170017, + "start": 170009, + "type": "setfield" + } + ], + "desc": "\nReturns an approximation of the amount in seconds of CPU time used by the program.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.clock)", + "name": "os.clock", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 840023, + "start": 840017, + "type": "local", + "view": "string?" + }, + { + "finish": 840029, + "start": 840025, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns a string or a table containing date and time, formatted according to the given string `format`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.date)", + "finish": 840034, + "returns": [ + { + "type": "function.return", + "view": "string|osdate" + } + ], + "start": 840000, + "type": "function", + "view": "function os.date(format?: string, time?: integer)\n -> string|osdate" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 840016, + "start": 840009, + "type": "setfield" + } + ], + "desc": "\nReturns a string or a table containing date and time, formatted according to the given string `format`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.date)", + "name": "os.date", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 950023, + "start": 950021, + "type": "local", + "view": "integer" + }, + { + "finish": 950027, + "start": 950025, + "type": "local", + "view": "integer" + } + ], + "desc": "\nReturns the difference, in seconds, from time `t1` to time `t2`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.difftime)", + "finish": 950032, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 950000, + "type": "function", + "view": "function os.difftime(t2: integer, t1: integer)\n -> integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 950020, + "start": 950009, + "type": "setfield" + } + ], + "desc": "\nReturns the difference, in seconds, from time `t1` to time `t2`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.difftime)", + "name": "os.difftime", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1060027, + "start": 1060020, + "type": "local", + "view": "string?" + } + ], + "desc": "\nPasses `command` to be executed by an operating system shell.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.execute)\n\n\n```lua\nexitcode:\n | \"exit\"\n | \"signal\"\n```", + "finish": 1060032, + "returns": [ + { + "type": "function.return", + "view": "boolean?" + }, + { + "type": "function.return", + "view": "(\"exit\"|\"signal\")?" + }, + { + "type": "function.return", + "view": "integer?" + } + ], + "start": 1060000, + "type": "function", + "view": "function os.execute(command?: string)\n -> suc: boolean?\n 2. exitcode: (\"exit\"|\"signal\")?\n 3. code: integer?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 1060019, + "start": 1060009, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 1150031, + "start": 1150020, + "type": "local", + "view": "any" + } + ], + "finish": 1310003, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1150000, + "type": "function", + "view": "function os.execute(commandLine: any)\n -> integer" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/ffiExtensions.lua", + "finish": 1150019, + "start": 1150009, + "type": "setfield" + } + ], + "desc": "\nPasses `command` to be executed by an operating system shell.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.execute)\n\n\n```lua\nexitcode:\n | \"exit\"\n | \"signal\"\n```", + "name": "os.execute", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1150021, + "start": 1150017, + "type": "local", + "view": "(boolean|integer)?" + }, + { + "finish": 1150028, + "start": 1150023, + "type": "local", + "view": "boolean?" + } + ], + "desc": "\nCalls the ISO C function `exit` to terminate the host program.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.exit)", + "finish": 1150033, + "start": 1150000, + "type": "function", + "view": "function os.exit(code?: boolean|integer, close?: boolean)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 1150016, + "start": 1150009, + "type": "setfield" + } + ], + "desc": "\nCalls the ISO C function `exit` to terminate the host program.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.exit)", + "name": "os.exit", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1250026, + "start": 1250019, + "type": "local", + "view": "string" + } + ], + "desc": "\nReturns the value of the process environment variable `varname`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.getenv)", + "finish": 1250031, + "returns": [ + { + "type": "function.return", + "view": "string?" + } + ], + "start": 1250000, + "type": "function", + "view": "function os.getenv(varname: string)\n -> string?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 1250018, + "start": 1250009, + "type": "setfield" + } + ], + "desc": "\nReturns the value of the process environment variable `varname`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.getenv)", + "name": "os.getenv", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1350027, + "start": 1350019, + "type": "local", + "view": "string" + } + ], + "desc": "\nDeletes the file with the given name.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.remove)", + "finish": 1350032, + "returns": [ + { + "type": "function.return", + "view": "boolean" + }, + { + "type": "function.return", + "view": "string?" + } + ], + "start": 1350000, + "type": "function", + "view": "function os.remove(filename: string)\n -> suc: boolean\n 2. errmsg: string?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 1350018, + "start": 1350009, + "type": "setfield" + } + ], + "desc": "\nDeletes the file with the given name.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.remove)", + "name": "os.remove", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1460026, + "start": 1460019, + "type": "local", + "view": "string" + }, + { + "finish": 1460035, + "start": 1460028, + "type": "local", + "view": "string" + } + ], + "desc": "\nRenames the file or directory named `oldname` to `newname`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.rename)", + "finish": 1460040, + "returns": [ + { + "type": "function.return", + "view": "boolean" + }, + { + "type": "function.return", + "view": "string?" + } + ], + "start": 1460000, + "type": "function", + "view": "function os.rename(oldname: string, newname: string)\n -> suc: boolean\n 2. errmsg: string?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 1460018, + "start": 1460009, + "type": "setfield" + } + ], + "desc": "\nRenames the file or directory named `oldname` to `newname`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.rename)", + "name": "os.rename", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1640028, + "start": 1640022, + "type": "local", + "view": "string|nil" + }, + { + "finish": 1640038, + "start": 1640030, + "type": "local", + "view": "(\"all\"|\"collate\"|\"ctype\"|\"monetary\"|\"numeric\"...(+1))?" + } + ], + "desc": "\nSets the current locale of the program.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.setlocale)\n\n\n```lua\ncategory:\n -> \"all\"\n | \"collate\"\n | \"ctype\"\n | \"monetary\"\n | \"numeric\"\n | \"time\"\n```", + "finish": 1640043, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1640000, + "type": "function", + "view": "function os.setlocale(locale: string|nil, category?: \"all\"|\"collate\"|\"ctype\"|\"monetary\"|\"numeric\"...(+1))\n -> localecategory: string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 1640021, + "start": 1640009, + "type": "setfield" + } + ], + "desc": "\nSets the current locale of the program.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.setlocale)\n\n\n```lua\ncategory:\n -> \"all\"\n | \"collate\"\n | \"ctype\"\n | \"monetary\"\n | \"numeric\"\n | \"time\"\n```", + "name": "os.setlocale", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1740021, + "start": 1740017, + "type": "local", + "view": "osdate?" + } + ], + "desc": "\nReturns the current time when called without arguments, or a time representing the local date and time specified by the given table.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.time)", + "finish": 1740026, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1740000, + "type": "function", + "view": "function os.time(date?: osdate)\n -> integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 1740016, + "start": 1740009, + "type": "setfield" + } + ], + "desc": "\nReturns the current time when called without arguments, or a time representing the local date and time specified by the given table.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.time)", + "name": "os.time", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [], + "desc": "\nReturns a string with a file name that can be used for a temporary file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.tmpname)", + "finish": 1830025, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1830000, + "type": "function", + "view": "function os.tmpname()\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/os.lua", + "finish": 1830019, + "start": 1830009, + "type": "setfield" + } + ], + "desc": "\nReturns a string with a file name that can be used for a temporary file.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.tmpname)", + "name": "os.tmpname", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 1140051, + "start": 1140031, + "type": "getlocal", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1140010, + "start": 1140000, + "type": "setfield" + } + ], + "name": "os_arch", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 1130047, + "start": 1130031, + "type": "getlocal", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1130010, + "start": 1130000, + "type": "setfield" + } + ], + "name": "os_name", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 420012, + "start": 420010, + "type": "table", + "view": "packagelib" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/package.lua", + "finish": 420007, + "start": 420000, + "type": "setglobal" + } + ], + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package)\n", + "name": "package", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 540003, + "start": 490017, + "type": "string", + "view": "string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/package.lua", + "finish": 490014, + "start": 490000, + "type": "setfield" + } + ], + "desc": "\nA string describing some compile-time configurations for packages.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.config)\n", + "name": "package.config", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 470056, + "start": 440016, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 440013, + "start": 440000, + "type": "setfield" + }, + { + "extends": { + "finish": 1610045, + "start": 1610020, + "type": "select", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1610017, + "start": 1610004, + "type": "setfield" + }, + { + "extends": { + "finish": 1760079, + "start": 1760022, + "type": "select", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1760017, + "start": 1760004, + "type": "setfield" + } + ], + "name": "package.cpath", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 620020, + "start": 620018, + "type": "table", + "view": "table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/package.lua", + "finish": 620015, + "start": 620000, + "type": "setfield" + } + ], + "desc": "\nA table used by `require` to control how to load modules.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.loaders)\n", + "name": "package.loaders", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 720032, + "start": 720025, + "type": "local", + "view": "string" + }, + { + "finish": 720042, + "start": 720034, + "type": "local", + "view": "string" + } + ], + "desc": "\nDynamically links the host program with the C library `libname`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.loadlib)", + "finish": 720047, + "returns": [ + { + "type": "function.return", + "view": "any" + } + ], + "start": 720000, + "type": "function", + "view": "function package.loadlib(libname: string, funcname: string)\n -> any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/package.lua", + "finish": 720024, + "start": 720009, + "type": "setfield" + } + ], + "desc": "\nDynamically links the host program with the C library `libname`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.loadlib)", + "name": "package.loadlib", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 330034, + "start": 330015, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 330012, + "start": 330000, + "type": "setfield" + }, + { + "extends": { + "finish": 350095, + "start": 350015, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 350012, + "start": 350000, + "type": "setfield" + }, + { + "extends": { + "finish": 360085, + "start": 360015, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 360012, + "start": 360000, + "type": "setfield" + }, + { + "extends": { + "finish": 380086, + "start": 380015, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 380012, + "start": 380000, + "type": "setfield" + }, + { + "extends": { + "finish": 390087, + "start": 390015, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 390012, + "start": 390000, + "type": "setfield" + }, + { + "extends": { + "finish": 400076, + "start": 400015, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 400012, + "start": 400000, + "type": "setfield" + }, + { + "extends": { + "finish": 410077, + "start": 410015, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 410012, + "start": 410000, + "type": "setfield" + }, + { + "extends": { + "finish": 940035, + "start": 940015, + "type": "getlocal", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 940012, + "start": 940000, + "type": "setfield" + }, + { + "extends": { + "finish": 1600044, + "start": 1600019, + "type": "select", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1600016, + "start": 1600004, + "type": "setfield" + }, + { + "extends": { + "finish": 1750079, + "start": 1750022, + "type": "select", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1750016, + "start": 1750004, + "type": "setfield" + } + ], + "desc": " [[ LuaRocks modules ]]--", + "name": "package.path", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 800022, + "start": 800020, + "type": "table", + "view": "table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/package.lua", + "finish": 800017, + "start": 800000, + "type": "setfield" + } + ], + "desc": "\nA table used by `require` to control how to load modules.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.searchers)\n", + "name": "package.searchers", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 950032, + "start": 950028, + "type": "local", + "view": "string" + }, + { + "finish": 950038, + "start": 950034, + "type": "local", + "view": "string" + }, + { + "finish": 950043, + "start": 950040, + "type": "local", + "view": "string?" + }, + { + "finish": 950048, + "start": 950045, + "type": "local", + "view": "string?" + } + ], + "desc": "\nSearches for the given `name` in the given `path`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.searchpath)", + "finish": 950053, + "returns": [ + { + "type": "function.return", + "view": "string?" + }, + { + "type": "function.return", + "view": "string?" + } + ], + "start": 950000, + "type": "function", + "view": "function package.searchpath(name: string, path: string, sep?: string, rep?: string)\n -> filename: string?\n 2. errmsg: string?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/package.lua", + "finish": 950027, + "start": 950009, + "type": "setfield" + } + ], + "desc": "\nSearches for the given `name` in the given `path`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.searchpath)", + "name": "package.searchpath", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1040030, + "start": 1040024, + "type": "local", + "view": "table" + } + ], + "desc": "\nSets a metatable for `module` with its `__index` field referring to the global environment, so that this module inherits values from the global environment. To be used as an option to function `module` .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.seeall)", + "finish": 1040035, + "start": 1040000, + "type": "function", + "view": "function package.seeall(module: table)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/package.lua", + "finish": 1040023, + "start": 1040009, + "type": "setfield" + } + ], + "desc": "\nSets a metatable for `module` with its `__index` field referring to the global environment, so that this module inherits values from the global environment. To be used as an option to function `module` .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.seeall)", + "name": "package.seeall", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2070016, + "start": 2070015, + "type": "local", + "view": "" + } + ], + "desc": "\nIf `t` has a metamethod `__pairs`, calls it with t as argument and returns the first three results from the call.\n\nOtherwise, returns three values: the [next](http://www.lua.org/manual/5.4/manual.html#pdf-next) function, the table `t`, and `nil`, so that the construction\n```lua\n for k,v in pairs(t) do body end\n```\nwill iterate over all key–value pairs of table `t`.\n\nSee function [next](http://www.lua.org/manual/5.4/manual.html#pdf-next) for the caveats of modifying the table during its traversal.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-pairs)", + "finish": 2070021, + "returns": [ + { + "type": "function.return", + "view": "fun(table: table<, >, index?: ):, " + }, + { + "type": "function.return", + "view": "" + } + ], + "start": 2070000, + "type": "function", + "view": "function pairs(t: )\n -> fun(table: table<, >, index?: ):, \n 2. " + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 2070014, + "start": 2070009, + "type": "setglobal" + } + ], + "desc": "\nIf `t` has a metamethod `__pairs`, calls it with t as argument and returns the first three results from the call.\n\nOtherwise, returns three values: the [next](http://www.lua.org/manual/5.4/manual.html#pdf-next) function, the table `t`, and `nil`, so that the construction\n```lua\n for k,v in pairs(t) do body end\n```\nwill iterate over all key–value pairs of table `t`.\n\nSee function [next](http://www.lua.org/manual/5.4/manual.html#pdf-next) for the caveats of modifying the table during its traversal.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-pairs)", + "name": "pairs", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 1020081, + "start": 1020047, + "type": "select", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1020016, + "start": 1020000, + "type": "setfield" + }, + { + "extends": { + "finish": 1070027, + "start": 1070023, + "type": "string", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1070020, + "start": 1070004, + "type": "setfield" + }, + { + "extends": { + "finish": 1110026, + "start": 1110023, + "type": "string", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/init/init_package_loading.lua", + "finish": 1110020, + "start": 1110004, + "type": "setfield" + } + ], + "name": "pathSeparator", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2200016, + "start": 2200015, + "type": "local", + "view": "fun(...any):...unknown" + }, + { + "finish": 2200022, + "start": 2200018, + "type": "local", + "view": "any" + }, + { + "finish": 2200027, + "start": 2200024, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nCalls the function `f` with the given arguments in *protected mode*. This means that any error inside `f` is not propagated; instead, `pcall` catches the error and returns a status code. Its first result is the status code (a boolean), which is true if the call succeeds without errors. In such case, `pcall` also returns all results from the call, after this first result. In case of any error, `pcall` returns `false` plus the error object.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-pcall)", + "finish": 2200032, + "returns": [ + { + "type": "function.return", + "view": "boolean" + }, + { + "type": "function.return", + "view": "any" + }, + { + "type": "function.return", + "view": "any" + } + ], + "start": 2200000, + "type": "function", + "view": "function pcall(f: fun(...any):...unknown, arg1?: any, ...any)\n -> success: boolean\n 2. result: any\n 3. ...any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 2200014, + "start": 2200009, + "type": "setglobal" + } + ], + "desc": "\nCalls the function `f` with the given arguments in *protected mode*. This means that any error inside `f` is not propagated; instead, `pcall` catches the error and returns a status code. Its first result is the status code (a boolean), which is true if the call succeeds without errors. In such case, `pcall` also returns all results from the call, after this first result. In case of any error, `pcall` returns `false` plus the error object.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-pcall)", + "name": "pcall", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2290018, + "start": 2290015, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nReceives any number of arguments and prints their values to `stdout`, converting each argument to a string following the same rules of [tostring](http://www.lua.org/manual/5.4/manual.html#pdf-tostring).\nThe function print is not intended for formatted output, but only as a quick way to show a value, for instance for debugging. For complete control over the output, use [string.format](http://www.lua.org/manual/5.4/manual.html#pdf-string.format) and [io.write](http://www.lua.org/manual/5.4/manual.html#pdf-io.write).\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-print)", + "finish": 2290023, + "start": 2290000, + "type": "function", + "view": "function print(...any)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 2290014, + "start": 2290009, + "type": "setglobal" + } + ], + "desc": "\nReceives any number of arguments and prints their values to `stdout`, converting each argument to a string following the same rules of [tostring](http://www.lua.org/manual/5.4/manual.html#pdf-tostring).\nThe function print is not intended for formatted output, but only as a quick way to show a value, for instance for debugging. For complete control over the output, use [string.format](http://www.lua.org/manual/5.4/manual.html#pdf-string.format) and [io.write](http://www.lua.org/manual/5.4/manual.html#pdf-io.write).\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-print)", + "name": "print", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 5290032, + "start": 5290027, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 5290024, + "start": 5290004, + "type": "setfield" + }, + { + "extends": { + "finish": 340031, + "start": 340027, + "type": "boolean", + "view": "boolean" + }, + "file": "../../mods/noita-mp/files/scripts/util/CustomProfiler.lua", + "finish": 340024, + "start": 340004, + "type": "setfield" + } + ], + "name": "profilerIsRunning", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2400020, + "start": 2400018, + "type": "local", + "view": "any" + }, + { + "finish": 2400024, + "start": 2400022, + "type": "local", + "view": "any" + } + ], + "desc": "\nChecks whether v1 is equal to v2, without invoking the `__eq` metamethod.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawequal)", + "finish": 2400029, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 2400000, + "type": "function", + "view": "function rawequal(v1: any, v2: any)\n -> boolean" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 2400017, + "start": 2400009, + "type": "setglobal" + } + ], + "desc": "\nChecks whether v1 is equal to v2, without invoking the `__eq` metamethod.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawequal)", + "name": "rawequal", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2510021, + "start": 2510016, + "type": "local", + "view": "table" + }, + { + "finish": 2510028, + "start": 2510023, + "type": "local", + "view": "any" + } + ], + "desc": "\nGets the real value of `table[index]`, without invoking the `__index` metamethod.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawget)", + "finish": 2510033, + "returns": [ + { + "type": "function.return", + "view": "any" + } + ], + "start": 2510000, + "type": "function", + "view": "function rawget(table: table, index: any)\n -> any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 2510015, + "start": 2510009, + "type": "setglobal" + } + ], + "desc": "\nGets the real value of `table[index]`, without invoking the `__index` metamethod.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawget)", + "name": "rawget", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2610017, + "start": 2610016, + "type": "local", + "view": "string|table" + } + ], + "desc": "\nReturns the length of the object `v`, without invoking the `__len` metamethod.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawlen)", + "finish": 2610022, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 2610000, + "type": "function", + "view": "function rawlen(v: string|table)\n -> len: integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 2610015, + "start": 2610009, + "type": "setglobal" + } + ], + "desc": "\nReturns the length of the object `v`, without invoking the `__len` metamethod.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawlen)", + "name": "rawlen", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2740021, + "start": 2740016, + "type": "local", + "view": "table" + }, + { + "finish": 2740028, + "start": 2740023, + "type": "local", + "view": "any" + }, + { + "finish": 2740035, + "start": 2740030, + "type": "local", + "view": "any" + } + ], + "desc": "\nSets the real value of `table[index]` to `value`, without using the `__newindex` metavalue. `table` must be a table, `index` any value different from `nil` and `NaN`, and `value` any Lua value.\nThis function returns `table`.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawset)", + "finish": 2740040, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 2740000, + "type": "function", + "view": "function rawset(table: table, index: any, value: any)\n -> table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 2740015, + "start": 2740009, + "type": "setglobal" + } + ], + "desc": "\nSets the real value of `table[index]` to `value`, without using the `__newindex` metavalue. `table` must be a table, `index` any value different from `nil` and `NaN`, and `value` any Lua value.\nThis function returns `table`.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawset)", + "name": "rawset", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 100024, + "start": 100017, + "type": "local", + "view": "string" + } + ], + "desc": "\nLoads the given module, returns any value returned by the searcher(`true` when `nil`). Besides that value, also returns as a second result the loader data returned by the searcher, which indicates how `require` found the module. (For instance, if the module came from a file, this loader data is the file path.)\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-require)", + "finish": 100029, + "returns": [ + { + "type": "function.return", + "view": "unknown" + }, + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 100000, + "type": "function", + "view": "function require(modname: string)\n -> unknown\n 2. loaderdata: unknown" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/package.lua", + "finish": 100016, + "start": 100009, + "type": "setglobal" + } + ], + "desc": "\nLoads the given module, returns any value returned by the searcher(`true` when `nil`). Besides that value, also returns as a second result the loader data returned by the searcher, which indicates how `require` found the module. (For instance, if the module came from a file, this loader data is the file path.)\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-require)", + "name": "require", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 10026, + "start": 10012, + "type": "binary", + "view": "integer" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/imgui_warning.lua", + "finish": 10009, + "start": 10000, + "type": "setglobal" + }, + { + "extends": { + "finish": 90025, + "start": 90012, + "type": "binary", + "view": "unknown" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/imgui_warning.lua", + "finish": 90009, + "start": 90000, + "type": "setglobal" + } + ], + "desc": " https://github.com/dextercd/Noita-Component-Explorer/blob/main/component-explorer/entities/imgui_warning.lua", + "name": "run_count", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2840021, + "start": 2840016, + "type": "local", + "view": "integer|\"#\"" + }, + { + "finish": 2840026, + "start": 2840023, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nIf `index` is a number, returns all arguments after argument number `index`; a negative number indexes from the end (`-1` is the last argument). Otherwise, `index` must be the string `\"#\"`, and `select` returns the total number of extra arguments it received.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-select)\n\n\n```lua\nindex:\n | \"#\"\n```", + "finish": 2840031, + "returns": [ + { + "type": "function.return", + "view": "any" + } + ], + "start": 2840000, + "type": "function", + "view": "function select(index: integer|\"#\", ...any)\n -> any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 2840015, + "start": 2840009, + "type": "setglobal" + } + ], + "desc": "\nIf `index` is a number, returns all arguments after argument number `index`; a negative number indexes from the end (`-1` is the last argument). Otherwise, `index` must be the string `\"#\"`, and `select` returns the total number of extra arguments it received.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-select)\n\n\n```lua\nindex:\n | \"#\"\n```", + "name": "select", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 400021, + "start": 400009, + "type": "binary", + "view": "Server" + }, + "file": "../../mods/noita-mp/files/scripts/noita-components/nuid_updater.lua", + "finish": 400006, + "start": 400000, + "type": "setglobal" + } + ], + "name": "server", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2950018, + "start": 2950017, + "type": "local", + "view": "fun(...any):...integer|unknown" + }, + { + "finish": 2950025, + "start": 2950020, + "type": "local", + "view": "table" + } + ], + "desc": "\nSets the environment to be used by the given function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-setfenv)", + "finish": 2950030, + "returns": [ + { + "type": "function.return", + "view": "function" + } + ], + "start": 2950000, + "type": "function", + "view": "function setfenv(f: fun(...any):...integer|unknown, table: table)\n -> function" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 2950016, + "start": 2950009, + "type": "setglobal" + } + ], + "desc": "\nSets the environment to be used by the given function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-setfenv)", + "name": "setfenv", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3100027, + "start": 3100022, + "type": "local", + "view": "table" + }, + { + "finish": 3100038, + "start": 3100029, + "type": "local", + "view": "table?" + } + ], + "desc": "\nSets the metatable for the given table. If `metatable` is `nil`, removes the metatable of the given table. If the original metatable has a `__metatable` field, raises an error.\n\nThis function returns `table`.\n\nTo change the metatable of other types from Lua code, you must use the debug library ([§6.10](http://www.lua.org/manual/5.4/manual.html#6.10)).\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-setmetatable)", + "finish": 3100043, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 3100000, + "type": "function", + "view": "function setmetatable(table: table, metatable?: table)\n -> table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 3100021, + "start": 3100009, + "type": "setglobal" + } + ], + "desc": "\nSets the metatable for the given table. If `metatable` is `nil`, removes the metatable of the given table. If the original metatable has a `__metatable` field, raises an error.\n\nThis function returns `table`.\n\nTo change the metatable of other types from Lua code, you must use the debug library ([§6.10](http://www.lua.org/manual/5.4/manual.html#6.10)).\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-setmetatable)", + "name": "setmetatable", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 4990070, + "start": 4990025, + "type": "select", + "view": "string" + }, + "file": "../../mods/noita-mp/files/scripts/util/FileUtils.lua", + "finish": 4990020, + "start": 4990008, + "type": "setfield" + } + ], + "name": "seven_zip", + "type": "variable" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/net/SockClient.lua", + "finish": 60014, + "start": 60010, + "type": "doc.class" + }, + { + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 70014, + "start": 70010, + "type": "doc.class" + } + ], + "fields": [ + { + "desc": " States that represent the client connecting to a server.", + "extends": { + "finish": 630001, + "start": 580028, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockClient.lua", + "finish": 580022, + "name": "CONNECTING_STATES", + "start": 580000, + "type": "setfield" + }, + { + "desc": " States that represent the client connecting to a server.", + "extends": { + "finish": 660001, + "start": 610028, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 610022, + "name": "CONNECTING_STATES", + "start": 610000, + "type": "setfield" + }, + { + "desc": " All of the possible connection statuses for a client connection.\n @see SockClient:getState", + "extends": { + "finish": 550001, + "start": 430028, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockClient.lua", + "finish": 430022, + "name": "CONNECTION_STATES", + "start": 430000, + "type": "setfield" + }, + { + "desc": " All of the possible connection statuses for a client connection.\n @see Client:getState", + "extends": { + "finish": 580001, + "start": 460028, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 460022, + "name": "CONNECTION_STATES", + "start": 460000, + "type": "setfield" + }, + { + "desc": " States that represent the client disconnecting from a server.", + "extends": { + "finish": 700001, + "start": 660028, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockClient.lua", + "finish": 660025, + "name": "DISCONNECTING_STATES", + "start": 660000, + "type": "setfield" + }, + { + "desc": " States that represent the client disconnecting from a server.", + "extends": { + "finish": 730001, + "start": 690028, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 690025, + "name": "DISCONNECTING_STATES", + "start": 690000, + "type": "setfield" + }, + { + "desc": " Valid modes for sending messages.", + "extends": { + "finish": 770001, + "start": 730028, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockClient.lua", + "finish": 730015, + "name": "SEND_MODES", + "start": 730000, + "type": "setfield" + }, + { + "desc": " Valid modes for sending messages.", + "extends": { + "finish": 800001, + "start": 760028, + "type": "table", + "view": "table" + }, + "file": "../../mods/noita-mp/files/scripts/net/SockServer.lua", + "finish": 760015, + "name": "SEND_MODES", + "start": 760000, + "type": "setfield" + } + ], + "name": "sock", + "type": "type" + }, + { + "defines": [ + { + "extends": { + "finish": 80011, + "start": 80009, + "type": "table", + "view": "stringlib" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 80006, + "start": 80000, + "type": "setglobal" + } + ], + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string)\n", + "name": "string", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "desc": "any string you want to extend or cut", + "finish": 80047, + "start": 80044, + "type": "local", + "view": "string" + }, + { + "finish": 80055, + "start": 80049, + "type": "local", + "view": "number" + }, + { + "finish": 80061, + "start": 80057, + "type": "local", + "view": "any" + }, + { + "finish": 80076, + "start": 80063, + "type": "local", + "view": "boolean?" + } + ], + "desc": "@*param* `var` — any string you want to extend or cut\n\n Extends @var to the @length with @char. Example 1: \"test\", 6, \" \" = \"test \" | Example 2: \"verylongstring\", 5, \" \" = \"veryl\"", + "finish": 410003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 80035, + "type": "function", + "view": "function string.ExtendOrCutStringToLength(var: string, length: number, char: any, makeItVisible?: boolean)\n -> string" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/stringExtensions.lua", + "finish": 80032, + "start": 80000, + "type": "setfield" + } + ], + "desc": "@*param* `var` — any string you want to extend or cut\n\n Extends @var to the @length with @char. Example 1: \"test\", 6, \" \" = \"test \" | Example 2: \"verylongstring\", 5, \" \" = \"veryl\"", + "name": "string.ExtendOrCutStringToLength", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 200022, + "start": 200021, + "type": "local", + "view": "string|number" + }, + { + "finish": 200025, + "start": 200024, + "type": "local", + "view": "integer?" + }, + { + "finish": 200028, + "start": 200027, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns the internal numeric codes of the characters `s[i], s[i+1], ..., s[j]`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.byte)", + "finish": 200033, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 200000, + "type": "function", + "view": "function string.byte(s: string|number, i?: integer, j?: integer)\n -> ...integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 200020, + "start": 200009, + "type": "setfield" + } + ], + "desc": "\nReturns the internal numeric codes of the characters `s[i], s[i+1], ..., s[j]`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.byte)", + "name": "string.byte", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 310025, + "start": 310021, + "type": "local", + "view": "integer" + }, + { + "finish": 310030, + "start": 310027, + "type": "...", + "view": "integer" + } + ], + "desc": "\nReturns a string with length equal to the number of arguments, in which each character has the internal numeric code equal to its corresponding argument.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.char)", + "finish": 310035, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 310000, + "type": "function", + "view": "function string.char(byte: integer, ...integer)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 310020, + "start": 310009, + "type": "setfield" + } + ], + "desc": "\nReturns a string with length equal to the number of arguments, in which each character has the internal numeric code equal to its corresponding argument.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.char)", + "name": "string.char", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "desc": "String", + "finish": 560037, + "start": 560034, + "type": "local", + "view": "string" + }, + { + "desc": "String, Char, Regex", + "finish": 560046, + "start": 560039, + "type": "local", + "view": "string" + } + ], + "desc": "@*param* `str` — String\n\n@*param* `pattern` — String, Char, Regex\n\n@*return* `found` — 'true' if found, else 'false'.\n\n Contains on lower case", + "finish": 690003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 560025, + "type": "function", + "view": "function string.contains(str: string, pattern: string)\n -> found: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 560015, + "start": 560000, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "desc": "String", + "finish": 780047, + "start": 780044, + "type": "local", + "view": "string" + }, + { + "desc": "String, Char, Regex", + "finish": 780056, + "start": 780049, + "type": "local", + "view": "string" + } + ], + "desc": "@*param* `str` — String\n\n@*param* `pattern` — String, Char, Regex\n\n@*return* `found` — 'true' if found, else 'false'.\n\n Contains on lower case", + "finish": 910003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 780035, + "type": "function", + "view": "function string.contains(str: string, pattern: string)\n -> found: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/stringExtensions.lua", + "finish": 780015, + "start": 780000, + "type": "setfield" + } + ], + "desc": "@*param* `str` — String\n\n@*param* `pattern` — String, Char, Regex\n\n@*return* `found` — 'true' if found, else 'false'.\n\n Contains on lower case", + "name": "string.contains", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 420022, + "start": 420021, + "type": "local", + "view": "fun(...any):...unknown" + }, + { + "finish": 420029, + "start": 420024, + "type": "local", + "view": "boolean?" + } + ], + "desc": "\nReturns a string containing a binary representation (a *binary chunk*) of the given function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.dump)", + "finish": 420034, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 420000, + "type": "function", + "view": "function string.dump(f: fun(...any):...unknown, strip?: boolean)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 420020, + "start": 420009, + "type": "setfield" + } + ], + "desc": "\nReturns a string containing a binary representation (a *binary chunk*) of the given function.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.dump)", + "name": "string.dump", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 570022, + "start": 570021, + "type": "local", + "view": "string|number" + }, + { + "finish": 570031, + "start": 570024, + "type": "local", + "view": "string|number" + }, + { + "finish": 570037, + "start": 570033, + "type": "local", + "view": "integer?" + }, + { + "finish": 570044, + "start": 570039, + "type": "local", + "view": "boolean?" + } + ], + "desc": "\nLooks for the first match of `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) in the string.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.find)\n\n@*return* `start`\n\n@*return* `end`\n\n@*return* `...` — captured", + "finish": 570049, + "returns": [ + { + "type": "function.return", + "view": "integer" + }, + { + "type": "function.return", + "view": "integer" + }, + { + "type": "function.return", + "view": "any" + } + ], + "start": 570000, + "type": "function", + "view": "function string.find(s: string|number, pattern: string|number, init?: integer, plain?: boolean)\n -> start: integer\n 2. end: integer\n 3. ...any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 570020, + "start": 570009, + "type": "setfield" + } + ], + "desc": "\nLooks for the first match of `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) in the string.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.find)\n\n@*return* `start`\n\n@*return* `end`\n\n@*return* `...` — captured", + "name": "string.find", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 680024, + "start": 680023, + "type": "local", + "view": "string|number" + }, + { + "finish": 680029, + "start": 680026, + "type": "...", + "view": "any" + } + ], + "desc": "\nReturns a formatted version of its variable number of arguments following the description given in its first argument.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.format)", + "finish": 680034, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 680000, + "type": "function", + "view": "function string.format(s: string|number, ...any)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 680022, + "start": 680009, + "type": "setfield" + } + ], + "desc": "\nReturns a formatted version of its variable number of arguments following the description given in its first argument.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.format)", + "name": "string.format", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 890024, + "start": 890023, + "type": "local", + "view": "string|number" + }, + { + "finish": 890033, + "start": 890026, + "type": "local", + "view": "string|number" + }, + { + "finish": 890039, + "start": 890035, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns an iterator function that, each time it is called, returns the next captures from `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) over the string s.\n\nAs an example, the following loop will iterate over all the words from string s, printing one per line:\n```lua\n s =\n\"hello world from Lua\"\n for w in string.gmatch(s, \"%a+\") do\n print(w)\n end\n```\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.gmatch)", + "finish": 890044, + "returns": [ + { + "type": "function.return", + "view": "fun():string, ...unknown" + } + ], + "start": 890000, + "type": "function", + "view": "function string.gmatch(s: string|number, pattern: string|number, init?: integer)\n -> fun():string, ...unknown" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 890022, + "start": 890009, + "type": "setfield" + } + ], + "desc": "\nReturns an iterator function that, each time it is called, returns the next captures from `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) over the string s.\n\nAs an example, the following loop will iterate over all the words from string s, printing one per line:\n```lua\n s =\n\"hello world from Lua\"\n for w in string.gmatch(s, \"%a+\") do\n print(w)\n end\n```\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.gmatch)", + "name": "string.gmatch", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1030022, + "start": 1030021, + "type": "local", + "view": "string|number" + }, + { + "finish": 1030031, + "start": 1030024, + "type": "local", + "view": "string|number" + }, + { + "finish": 1030037, + "start": 1030033, + "type": "local", + "view": "string|number|function|table" + }, + { + "finish": 1030040, + "start": 1030039, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns a copy of s in which all (or the first `n`, if given) occurrences of the `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) have been replaced by a replacement string specified by `repl`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.gsub)", + "finish": 1030045, + "returns": [ + { + "type": "function.return", + "view": "string" + }, + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1030000, + "type": "function", + "view": "function string.gsub(s: string|number, pattern: string|number, repl: string|number|function|table, n?: integer)\n -> string\n 2. count: integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 1030020, + "start": 1030009, + "type": "setfield" + } + ], + "desc": "\nReturns a copy of s in which all (or the first `n`, if given) occurrences of the `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) have been replaced by a replacement string specified by `repl`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.gsub)", + "name": "string.gsub", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1130021, + "start": 1130020, + "type": "local", + "view": "string|number" + } + ], + "desc": "\nReturns its length.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.len)", + "finish": 1130026, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1130000, + "type": "function", + "view": "function string.len(s: string|number)\n -> integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 1130019, + "start": 1130009, + "type": "setfield" + } + ], + "desc": "\nReturns its length.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.len)", + "name": "string.len", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1230023, + "start": 1230022, + "type": "local", + "view": "string|number" + } + ], + "desc": "\nReturns a copy of this string with all uppercase letters changed to lowercase.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.lower)", + "finish": 1230028, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1230000, + "type": "function", + "view": "function string.lower(s: string|number)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 1230021, + "start": 1230009, + "type": "setfield" + } + ], + "desc": "\nReturns a copy of this string with all uppercase letters changed to lowercase.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.lower)", + "name": "string.lower", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1350023, + "start": 1350022, + "type": "local", + "view": "string|number" + }, + { + "finish": 1350032, + "start": 1350025, + "type": "local", + "view": "string|number" + }, + { + "finish": 1350038, + "start": 1350034, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nLooks for the first match of `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) in the string.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.match)", + "finish": 1350043, + "returns": [ + { + "type": "function.return", + "view": "any" + } + ], + "start": 1350000, + "type": "function", + "view": "function string.match(s: string|number, pattern: string|number, init?: integer)\n -> ...any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 1350021, + "start": 1350009, + "type": "setfield" + } + ], + "desc": "\nLooks for the first match of `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) in the string.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.match)", + "name": "string.match", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1480024, + "start": 1480021, + "type": "local", + "view": "string" + }, + { + "finish": 1480028, + "start": 1480026, + "type": "local", + "view": "string|number" + }, + { + "finish": 1480032, + "start": 1480030, + "type": "local", + "view": "any" + }, + { + "finish": 1480037, + "start": 1480034, + "type": "...", + "view": "string|number" + } + ], + "desc": "\nReturns a binary string containing the values `v1`, `v2`, etc. packed (that is, serialized in binary form) according to the format string `fmt` (see [§6.4.2](http://www.lua.org/manual/5.4/manual.html#6.4.2)) .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.pack)", + "finish": 1480042, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1480000, + "type": "function", + "view": "function string.pack(fmt: string, v1: string|number, v2: any, ...string|number)\n -> binary: string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 1480020, + "start": 1480009, + "type": "setfield" + } + ], + "desc": "\nReturns a binary string containing the values `v1`, `v2`, etc. packed (that is, serialized in binary form) according to the format string `fmt` (see [§6.4.2](http://www.lua.org/manual/5.4/manual.html#6.4.2)) .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.pack)", + "name": "string.pack", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1590028, + "start": 1590025, + "type": "local", + "view": "string" + } + ], + "desc": "\nReturns the size of a string resulting from `string.pack` with the given format string `fmt` (see [§6.4.2](http://www.lua.org/manual/5.4/manual.html#6.4.2)) .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.packsize)", + "finish": 1590033, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1590000, + "type": "function", + "view": "function string.packsize(fmt: string)\n -> integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 1590024, + "start": 1590009, + "type": "setfield" + } + ], + "desc": "\nReturns the size of a string resulting from `string.pack` with the given format string `fmt` (see [§6.4.2](http://www.lua.org/manual/5.4/manual.html#6.4.2)) .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.packsize)", + "name": "string.packsize", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1710021, + "start": 1710020, + "type": "local", + "view": "string|number" + }, + { + "finish": 1710024, + "start": 1710023, + "type": "local", + "view": "integer" + }, + { + "finish": 1710029, + "start": 1710026, + "type": "local", + "view": "(string|number)?" + } + ], + "desc": "\nReturns a string that is the concatenation of `n` copies of the string `s` separated by the string `sep`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.rep)", + "finish": 1710034, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1710000, + "type": "function", + "view": "function string.rep(s: string|number, n: integer, sep?: string|number)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 1710019, + "start": 1710009, + "type": "setfield" + } + ], + "desc": "\nReturns a string that is the concatenation of `n` copies of the string `s` separated by the string `sep`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.rep)", + "name": "string.rep", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1810025, + "start": 1810024, + "type": "local", + "view": "string|number" + } + ], + "desc": "\nReturns a string that is the string `s` reversed.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.reverse)", + "finish": 1810030, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1810000, + "type": "function", + "view": "function string.reverse(s: string|number)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 1810023, + "start": 1810009, + "type": "setfield" + } + ], + "desc": "\nReturns a string that is the string `s` reversed.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.reverse)", + "name": "string.reverse", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 240037, + "start": 240034, + "type": "local", + "view": "any" + }, + { + "finish": 240042, + "start": 240039, + "type": "local", + "view": "any" + } + ], + "finish": 410003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 240025, + "type": "function", + "view": "function string.split(str: any, pat: any)\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 240012, + "start": 240000, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 550047, + "start": 550044, + "type": "local", + "view": "any" + }, + { + "finish": 550052, + "start": 550049, + "type": "local", + "view": "any" + } + ], + "finish": 720003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 550035, + "type": "function", + "view": "function string.split(str: any, pat: any)\n -> table" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/stringExtensions.lua", + "finish": 550012, + "start": 550000, + "type": "setfield" + } + ], + "desc": " http://lua-users.org/wiki/SplitJoin\n Function: Split a string with a pattern, Take Two\n Compatibility: Lua-5.1", + "name": "string.split", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1930021, + "start": 1930020, + "type": "local", + "view": "string|number" + }, + { + "finish": 1930024, + "start": 1930023, + "type": "local", + "view": "integer" + }, + { + "finish": 1930027, + "start": 1930026, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns the substring of the string that starts at `i` and continues until `j`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.sub)", + "finish": 1930032, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1930000, + "type": "function", + "view": "function string.sub(s: string|number, i: integer, j?: integer)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 1930019, + "start": 1930009, + "type": "setfield" + } + ], + "desc": "\nReturns the substring of the string that starts at `i` and continues until `j`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.sub)", + "name": "string.sub", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 430035, + "start": 430034, + "type": "local", + "view": "any" + } + ], + "finish": 500003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 430025, + "type": "function", + "view": "function string.trim(s: any)\n -> string" + }, + "file": "../../mods/noita-mp/files/scripts/bin/profiler.lua", + "finish": 430011, + "start": 430000, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 430045, + "start": 430044, + "type": "local", + "view": "any" + } + ], + "finish": 500003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 430035, + "type": "function", + "view": "function string.trim(s: any)\n -> string" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/stringExtensions.lua", + "finish": 430011, + "start": 430000, + "type": "setfield" + } + ], + "name": "string.trim", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2070026, + "start": 2070023, + "type": "local", + "view": "string" + }, + { + "finish": 2070029, + "start": 2070028, + "type": "local", + "view": "string" + }, + { + "finish": 2070034, + "start": 2070031, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns the values packed in string according to the format string `fmt` (see [§6.4.2](http://www.lua.org/manual/5.4/manual.html#6.4.2)) .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.unpack)", + "finish": 2070039, + "returns": [ + { + "type": "function.return", + "view": "any" + }, + { + "type": "function.return", + "view": "integer" + } + ], + "start": 2070000, + "type": "function", + "view": "function string.unpack(fmt: string, s: string, pos?: integer)\n -> ...any\n 2. offset: integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 2070022, + "start": 2070009, + "type": "setfield" + } + ], + "desc": "\nReturns the values packed in string according to the format string `fmt` (see [§6.4.2](http://www.lua.org/manual/5.4/manual.html#6.4.2)) .\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.unpack)", + "name": "string.unpack", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 2170023, + "start": 2170022, + "type": "local", + "view": "string|number" + } + ], + "desc": "\nReturns a copy of this string with all lowercase letters changed to uppercase.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.upper)", + "finish": 2170028, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 2170000, + "type": "function", + "view": "function string.upper(s: string|number)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/string.lua", + "finish": 2170021, + "start": 2170009, + "type": "setfield" + } + ], + "desc": "\nReturns a copy of this string with all lowercase letters changed to uppercase.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.upper)", + "name": "string.upper", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 80010, + "start": 80008, + "type": "table", + "view": "tablelib" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 80005, + "start": 80000, + "type": "setglobal" + } + ], + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table)\n", + "name": "table", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 210026, + "start": 210022, + "type": "local", + "view": "table" + }, + { + "finish": 210031, + "start": 210028, + "type": "local", + "view": "string?" + }, + { + "finish": 210034, + "start": 210033, + "type": "local", + "view": "integer?" + }, + { + "finish": 210037, + "start": 210036, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nGiven a list where all elements are strings or numbers, returns the string `list[i]..sep..list[i+1] ··· sep..list[j]`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.concat)", + "finish": 210042, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 210000, + "type": "function", + "view": "function table.concat(list: table, sep?: string, i?: integer, j?: integer)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 210021, + "start": 210009, + "type": "setfield" + } + ], + "desc": "\nGiven a list where all elements are strings or numbers, returns the string `list[i]..sep..list[i+1] ··· sep..list[j]`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.concat)", + "name": "table.concat", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1250027, + "start": 1250023, + "type": "local", + "view": "any" + }, + { + "finish": 1250037, + "start": 1250029, + "type": "local", + "view": "fun(key: string, value: any):|nil" + } + ], + "desc": "\nExecutes the given f over all elements of table. For each element, f is called with the index and respective value as arguments. If f returns a non-nil value, then the loop is broken, and this value is returned as the final value of foreach.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.foreach)", + "finish": 1250042, + "returns": [ + { + "type": "function.return", + "view": "|nil" + } + ], + "start": 1250000, + "type": "function", + "view": "function table.foreach(list: any, callback: fun(key: string, value: any):|nil)\n -> |nil" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 1250022, + "start": 1250009, + "type": "setfield" + } + ], + "desc": "\nExecutes the given f over all elements of table. For each element, f is called with the index and respective value as arguments. If f returns a non-nil value, then the loop is broken, and this value is returned as the final value of foreach.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.foreach)", + "name": "table.foreach", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1380028, + "start": 1380024, + "type": "local", + "view": "any" + }, + { + "finish": 1380038, + "start": 1380030, + "type": "local", + "view": "fun(key: string, value: any):|nil" + } + ], + "desc": "\nExecutes the given f over the numerical indices of table. For each index, f is called with the index and respective value as arguments. Indices are visited in sequential order, from 1 to n, where n is the size of the table. If f returns a non-nil value, then the loop is broken and this value is returned as the result of foreachi.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.foreachi)", + "finish": 1380043, + "returns": [ + { + "type": "function.return", + "view": "|nil" + } + ], + "start": 1380000, + "type": "function", + "view": "function table.foreachi(list: any, callback: fun(key: string, value: any):|nil)\n -> |nil" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 1380023, + "start": 1380009, + "type": "setfield" + } + ], + "desc": "\nExecutes the given f over the numerical indices of table. For each index, f is called with the index and respective value as arguments. Indices are visited in sequential order, from 1 to n, where n is the size of the table. If f returns a non-nil value, then the loop is broken and this value is returned as the result of foreachi.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.foreachi)", + "name": "table.foreachi", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1510024, + "start": 1510020, + "type": "local", + "view": "[]" + } + ], + "desc": "\nReturns the number of elements in the table. This function is equivalent to `#list`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.getn)", + "finish": 1510029, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1510000, + "type": "function", + "view": "function table.getn(list: [])\n -> integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 1510019, + "start": 1510009, + "type": "setfield" + } + ], + "desc": "\nReturns the number of elements in the table. This function is equivalent to `#list`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.getn)", + "name": "table.getn", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 320026, + "start": 320022, + "type": "local", + "view": "table" + }, + { + "finish": 320031, + "start": 320028, + "type": "local", + "view": "integer" + }, + { + "finish": 320038, + "start": 320033, + "type": "local", + "view": "any" + } + ], + "desc": "\nInserts element `value` at position `pos` in `list`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.insert)", + "finish": 320043, + "start": 320000, + "type": "function", + "view": "function table.insert(list: table, pos: integer, value: any)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 320021, + "start": 320009, + "type": "setfield" + } + ], + "desc": "\nInserts element `value` at position `pos` in `list`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.insert)", + "name": "table.insert", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 430025, + "start": 430020, + "type": "local", + "view": "table" + } + ], + "desc": "\nReturns the largest positive numerical index of the given table, or zero if the table has no positive numerical indices.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.maxn)", + "finish": 430030, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 430000, + "type": "function", + "view": "function table.maxn(table: table)\n -> integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 430019, + "start": 430009, + "type": "setfield" + } + ], + "desc": "\nReturns the largest positive numerical index of the given table, or zero if the table has no positive numerical indices.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.maxn)", + "name": "table.maxn", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 630022, + "start": 630020, + "type": "local", + "view": "table" + }, + { + "finish": 630025, + "start": 630024, + "type": "local", + "view": "integer" + }, + { + "finish": 630028, + "start": 630027, + "type": "local", + "view": "integer" + }, + { + "finish": 630031, + "start": 630030, + "type": "local", + "view": "integer" + }, + { + "finish": 630035, + "start": 630033, + "type": "local", + "view": "table?" + } + ], + "desc": "\nMoves elements from table `a1` to table `a2`.\n```lua\na2[t],··· =\na1[f],···,a1[e]\nreturn a2\n```\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.move)", + "finish": 630040, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 630000, + "type": "function", + "view": "function table.move(a1: table, f: integer, e: integer, t: integer, a2?: table)\n -> a2: table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 630019, + "start": 630009, + "type": "setfield" + } + ], + "desc": "\nMoves elements from table `a1` to table `a2`.\n```lua\na2[t],··· =\na1[f],···,a1[e]\nreturn a2\n```\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.move)", + "name": "table.move", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 730023, + "start": 730020, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nReturns a new table with all arguments stored into keys `1`, `2`, etc. and with a field `\"n\"` with the total number of arguments.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.pack)", + "finish": 730028, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 730000, + "type": "function", + "view": "function table.pack(...any)\n -> table" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 730019, + "start": 730009, + "type": "setfield" + } + ], + "desc": "\nReturns a new table with all arguments stored into keys `1`, `2`, etc. and with a field `\"n\"` with the total number of arguments.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.pack)", + "name": "table.pack", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 830026, + "start": 830022, + "type": "local", + "view": "table" + }, + { + "finish": 830031, + "start": 830028, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nRemoves from `list` the element at position `pos`, returning the value of the removed element.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.remove)", + "finish": 830036, + "returns": [ + { + "type": "function.return", + "view": "any" + } + ], + "start": 830000, + "type": "function", + "view": "function table.remove(list: table, pos?: integer)\n -> any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 830021, + "start": 830009, + "type": "setfield" + } + ], + "desc": "\nRemoves from `list` the element at position `pos`, returning the value of the removed element.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.remove)", + "name": "table.remove", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 930024, + "start": 930020, + "type": "local", + "view": "[]" + }, + { + "finish": 930030, + "start": 930026, + "type": "local", + "view": "(fun(a: , b: ):boolean)?" + } + ], + "desc": "\nSorts list elements in a given order, *in-place*, from `list[1]` to `list[#list]`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.sort)", + "finish": 930035, + "start": 930000, + "type": "function", + "view": "function table.sort(list: [], comp?: fun(a: , b: ):boolean)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 930019, + "start": 930009, + "type": "setfield" + } + ], + "desc": "\nSorts list elements in a given order, *in-place*, from `list[1]` to `list[#list]`.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.sort)", + "name": "table.sort", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 1120026, + "start": 1120022, + "type": "local", + "view": "[]" + }, + { + "finish": 1120029, + "start": 1120028, + "type": "local", + "view": "integer?" + }, + { + "finish": 1120032, + "start": 1120031, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns the elements from the given list. This function is equivalent to\n```lua\n return list[i], list[i+1], ···, list[j]\n```\nBy default, `i` is `1` and `j` is `#list`.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.unpack)", + "finish": 1120037, + "returns": [ + { + "type": "function.return", + "view": "" + } + ], + "start": 1120000, + "type": "function", + "view": "function table.unpack(list: [], i?: integer, j?: integer)\n -> ..." + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/table.lua", + "finish": 1120021, + "start": 1120009, + "type": "setfield" + } + ], + "desc": "\nReturns the elements from the given list. This function is equivalent to\n```lua\n return list[i], list[i+1], ···, list[j]\n```\nBy default, `i` is `1` and `j` is `#list`.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.unpack)", + "name": "table.unpack", + "type": "variable" + }, + { + "defines": [ + { + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 20018, + "start": 20010, + "type": "doc.class" + } + ], + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table)\n", + "fields": [ + { + "desc": "Return true, if the key is contained in the tbl. NOTE: Doesn't check for duplicates inside the table.\n\n@*param* `key` — Number(index) or String(name matching) for indexing the table.\n\n@*return* `true` — if indexing by key does not return nil\n\n@*return* `index` — also returns the index of the found key", + "extends": { + "args": [ + { + "finish": 260027, + "start": 260024, + "type": "local", + "view": "table" + }, + { + "desc": "Number(index) or String(name matching) for indexing the table.", + "finish": 260032, + "start": 260029, + "type": "local", + "view": "any" + } + ], + "desc": "Return true, if the key is contained in the tbl. NOTE: Doesn't check for duplicates inside the table.\n\n@*param* `key` — Number(index) or String(name matching) for indexing the table.\n\n@*return* `true` — if indexing by key does not return nil\n\n@*return* `index` — also returns the index of the found key", + "finish": 570003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + }, + { + "type": "function.return", + "view": "number" + } + ], + "start": 260000, + "type": "function", + "view": "function tablelib.contains(tbl: table, key: any)\n -> true: boolean\n 2. index: number" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 260023, + "name": "contains", + "start": 260009, + "type": "setfield" + }, + { + "desc": " https://gist.github.com/HoraceBury/9307117#file-tablelib-lua-L293-L313\nReturns true if all the arg parameters are contained in the tbl.\n\n@*return* `true` — if all the values were in the table.", + "extends": { + "args": [ + { + "finish": 640030, + "start": 640027, + "type": "local", + "view": "table" + }, + { + "finish": 640035, + "start": 640032, + "type": "...", + "view": "any" + } + ], + "desc": " https://gist.github.com/HoraceBury/9307117#file-tablelib-lua-L293-L313\nReturns true if all the arg parameters are contained in the tbl.\n\n@*return* `true` — if all the values were in the table.", + "finish": 750003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 640000, + "type": "function", + "view": "function tablelib.containsAll(tbl: table, ...any)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 640026, + "name": "containsAll", + "start": 640009, + "type": "setfield" + }, + { + "desc": " https://stackoverflow.com/a/52922737/3493998", + "extends": { + "args": [ + { + "finish": 1070026, + "start": 1070023, + "type": "local", + "view": "any" + }, + { + "finish": 1070033, + "start": 1070028, + "type": "local", + "view": "any" + } + ], + "desc": " https://stackoverflow.com/a/52922737/3493998", + "finish": 1150003, + "returns": [ + { + "type": "function.return", + "view": "integer|nil" + } + ], + "start": 1070000, + "type": "function", + "view": "function tablelib.indexOf(tbl: any, value: any)\n -> integer|nil" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 1070022, + "name": "indexOf", + "start": 1070009, + "type": "setfield" + }, + { + "desc": "Adds all values of tbl2 into tbl, but not duplicates.", + "extends": { + "args": [ + { + "finish": 1290045, + "start": 1290041, + "type": "local", + "view": "table" + }, + { + "finish": 1290051, + "start": 1290047, + "type": "local", + "view": "table" + } + ], + "desc": "Adds all values of tbl2 into tbl, but not duplicates.", + "finish": 1580003, + "start": 1290000, + "type": "function", + "view": "function tablelib.insertAllButNotDuplicates(tbl1: table, tbl2: table)" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 1290040, + "name": "insertAllButNotDuplicates", + "start": 1290009, + "type": "setfield" + }, + { + "desc": " Adds a value to a table, if this value doesn't exist in the table", + "extends": { + "args": [ + { + "finish": 1200035, + "start": 1200032, + "type": "local", + "view": "table" + }, + { + "finish": 1200042, + "start": 1200037, + "type": "local", + "view": "any" + } + ], + "desc": " Adds a value to a table, if this value doesn't exist in the table", + "finish": 1240003, + "start": 1200000, + "type": "function", + "view": "function tablelib.insertIfNotExist(tbl: table, value: any)" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 1200031, + "name": "insertIfNotExist", + "start": 1200009, + "type": "setfield" + }, + { + "desc": "Extension or expansion of the default lua table for checking if a table is empty.\n\n@*return* `true` — if table is empty.", + "extends": { + "args": [ + { + "finish": 110026, + "start": 110023, + "type": "local", + "view": "table" + } + ], + "desc": "Extension or expansion of the default lua table for checking if a table is empty.\n\n@*return* `true` — if table is empty.", + "finish": 190003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 110000, + "type": "function", + "view": "function tablelib.isEmpty(tbl: table)\n -> true: boolean" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 110022, + "name": "isEmpty", + "start": 110009, + "type": "setfield" + }, + { + "desc": "We need a simple and 'fast' way to convert a lua table into a string.\n\n@*param* `tbl` — { \"Name\", 2, 234, \"string\" }\n\n@*param* `logger` — required\n\n@*param* `utils` — required\n\n@*return* `Example` — tbl becomes \"Name,2,234,string\"", + "extends": { + "args": [ + { + "desc": "{ \"Name\", 2, 234, \"string\" }", + "finish": 1780023, + "start": 1780020, + "type": "local", + "view": "table" + }, + { + "desc": "required", + "finish": 1780031, + "start": 1780025, + "type": "local", + "view": "Logger" + }, + { + "desc": "required", + "finish": 1780038, + "start": 1780033, + "type": "local", + "view": "Utils" + } + ], + "desc": "We need a simple and 'fast' way to convert a lua table into a string.\n\n@*param* `tbl` — { \"Name\", 2, 234, \"string\" }\n\n@*param* `logger` — required\n\n@*param* `utils` — required\n\n@*return* `Example` — tbl becomes \"Name,2,234,string\"", + "finish": 2110003, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 1780000, + "type": "function", + "view": "function tablelib.join(tbl: table, logger: Logger, utils: Utils)\n -> Example: string" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 1780019, + "name": "join", + "start": 1780009, + "type": "setfield" + }, + { + "desc": " Removes all values in tbl1 by the values of tbl2\n\n@*return* `tbl1` — returns tbl1 with remove values containing in tbl2", + "extends": { + "args": [ + { + "finish": 960033, + "start": 960029, + "type": "local", + "view": "table" + }, + { + "finish": 960039, + "start": 960035, + "type": "local", + "view": "table" + } + ], + "desc": " Removes all values in tbl1 by the values of tbl2\n\n@*return* `tbl1` — returns tbl1 with remove values containing in tbl2", + "finish": 1040003, + "returns": [ + { + "type": "function.return", + "view": "table" + } + ], + "start": 960000, + "type": "function", + "view": "function tablelib.removeByTable(tbl1: table, tbl2: table)\n -> tbl1: table" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 960028, + "name": "removeByTable", + "start": 960009, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 840032, + "start": 840029, + "type": "local", + "view": "any" + }, + { + "finish": 840039, + "start": 840034, + "type": "local", + "view": "any" + } + ], + "finish": 900003, + "returns": [ + { + "type": "function.return", + "view": "unknown" + } + ], + "start": 840000, + "type": "function", + "view": "function tablelib.removeByValue(tbl: any, value: any)\n -> unknown" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 840028, + "name": "removeByValue", + "start": 840009, + "type": "setfield" + }, + { + "extends": { + "args": [ + { + "finish": 1600023, + "start": 1600020, + "type": "local", + "view": "any" + } + ], + "finish": 1710003, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 1600000, + "type": "function", + "view": "function tablelib.size(tbl: any)\n -> integer" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/tableExtensions.lua", + "finish": 1600019, + "name": "size", + "start": 1600009, + "type": "setfield" + } + ], + "name": "tablelib", + "type": "type" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 590024, + "start": 590019, + "type": "local", + "view": "any" + } + ], + "finish": 790003, + "returns": [ + { + "type": "function.return", + "view": "boolean" + } + ], + "start": 590000, + "type": "function", + "view": "function toBoolean(value: any)\n -> boolean" + }, + "file": "../../mods/noita-mp/files/scripts/extensions/globalExtensions.lua", + "finish": 590018, + "start": 590009, + "type": "setglobal" + } + ], + "name": "toBoolean", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3240019, + "start": 3240018, + "type": "local", + "view": "any" + } + ], + "desc": "\nWhen called with no `base`, `tonumber` tries to convert its argument to a number. If the argument is already a number or a string convertible to a number, then `tonumber` returns this number; otherwise, it returns `fail`.\n\nThe conversion of strings can result in integers or floats, according to the lexical conventions of Lua (see [§3.1](http://www.lua.org/manual/5.4/manual.html#3.1)). The string may have leading and trailing spaces and a sign.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-tonumber)", + "finish": 3240024, + "returns": [ + { + "type": "function.return", + "view": "number?" + } + ], + "start": 3240000, + "type": "function", + "view": "function tonumber(e: any)\n -> number?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 3240017, + "start": 3240009, + "type": "setglobal" + } + ], + "desc": "\nWhen called with no `base`, `tonumber` tries to convert its argument to a number. If the argument is already a number or a string convertible to a number, then `tonumber` returns this number; otherwise, it returns `fail`.\n\nThe conversion of strings can result in integers or floats, according to the lexical conventions of Lua (see [§3.1](http://www.lua.org/manual/5.4/manual.html#3.1)). The string may have leading and trailing spaces and a sign.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-tonumber)", + "name": "tonumber", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3390019, + "start": 3390018, + "type": "local", + "view": "any" + } + ], + "desc": "\nReceives a value of any type and converts it to a string in a human-readable format.\n\nIf the metatable of `v` has a `__tostring` field, then `tostring` calls the corresponding value with `v` as argument, and uses the result of the call as its result. Otherwise, if the metatable of `v` has a `__name` field with a string value, `tostring` may use that string in its final result.\n\nFor complete control of how numbers are converted, use [string.format](http://www.lua.org/manual/5.4/manual.html#pdf-string.format).\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-tostring)", + "finish": 3390024, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 3390000, + "type": "function", + "view": "function tostring(v: any)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 3390017, + "start": 3390009, + "type": "setglobal" + } + ], + "desc": "\nReceives a value of any type and converts it to a string in a human-readable format.\n\nIf the metatable of `v` has a `__tostring` field, then `tostring` calls the corresponding value with `v` as argument, and uses the result of the call as its result. Otherwise, if the metatable of `v` has a `__name` field with a string value, `tostring` may use that string in its final result.\n\nFor complete control of how numbers are converted, use [string.format](http://www.lua.org/manual/5.4/manual.html#pdf-string.format).\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-tostring)", + "name": "tostring", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3600015, + "start": 3600014, + "type": "local", + "view": "any" + } + ], + "desc": "\nReturns the type of its only argument, coded as a string. The possible results of this function are `\"nil\"` (a string, not the value `nil`), `\"number\"`, `\"string\"`, `\"boolean\"`, `\"table\"`, `\"function\"`, `\"thread\"`, and `\"userdata\"`.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-type)\n\n\n```lua\ntype:\n | \"nil\"\n | \"number\"\n | \"string\"\n | \"boolean\"\n | \"table\"\n | \"function\"\n | \"thread\"\n | \"userdata\"\n```", + "finish": 3600020, + "returns": [ + { + "type": "function.return", + "view": "\"boolean\"|\"function\"|\"nil\"|\"number\"|\"string\"...(+3)" + } + ], + "start": 3600000, + "type": "function", + "view": "function type(v: any)\n -> type: \"boolean\"|\"function\"|\"nil\"|\"number\"|\"string\"...(+3)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 3600013, + "start": 3600009, + "type": "setglobal" + } + ], + "desc": "\nReturns the type of its only argument, coded as a string. The possible results of this function are `\"nil\"` (a string, not the value `nil`), `\"number\"`, `\"string\"`, `\"boolean\"`, `\"table\"`, `\"function\"`, `\"thread\"`, and `\"userdata\"`.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-type)\n\n\n```lua\ntype:\n | \"nil\"\n | \"number\"\n | \"string\"\n | \"boolean\"\n | \"table\"\n | \"function\"\n | \"thread\"\n | \"userdata\"\n```", + "name": "type", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 4070020, + "start": 4070016, + "type": "local", + "view": "[]" + }, + { + "finish": 4070023, + "start": 4070022, + "type": "local", + "view": "integer?" + }, + { + "finish": 4070026, + "start": 4070025, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns the elements from the given `list`. This function is equivalent to\n```lua\n return list[i], list[i+1], ···, list[j]\n```\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-unpack)", + "finish": 4070031, + "returns": [ + { + "type": "function.return", + "view": "" + } + ], + "start": 4070000, + "type": "function", + "view": "function unpack(list: [], i?: integer, j?: integer)\n -> ..." + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 4070015, + "start": 4070009, + "type": "setglobal" + } + ], + "desc": "\nReturns the elements from the given `list`. This function is equivalent to\n```lua\n return list[i], list[i+1], ···, list[j]\n```\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-unpack)", + "name": "unpack", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "finish": 150009, + "start": 150007, + "type": "table", + "view": "utf8lib" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/utf8.lua", + "finish": 150004, + "start": 150000, + "type": "setglobal" + } + ], + "desc": "\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8)\n", + "name": "utf8", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 260023, + "start": 260019, + "type": "local", + "view": "integer" + }, + { + "finish": 260028, + "start": 260025, + "type": "...", + "view": "integer" + } + ], + "desc": "\nReceives zero or more integers, converts each one to its corresponding UTF-8 byte sequence and returns a string with the concatenation of all these sequences.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.char)", + "finish": 260033, + "returns": [ + { + "type": "function.return", + "view": "string" + } + ], + "start": 260000, + "type": "function", + "view": "function utf8.char(code: integer, ...integer)\n -> string" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/utf8.lua", + "finish": 260018, + "start": 260009, + "type": "setfield" + } + ], + "desc": "\nReceives zero or more integers, converts each one to its corresponding UTF-8 byte sequence and returns a string with the concatenation of all these sequences.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.char)", + "name": "utf8.char", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 570025, + "start": 570024, + "type": "local", + "view": "string" + }, + { + "finish": 570028, + "start": 570027, + "type": "local", + "view": "integer?" + }, + { + "finish": 570031, + "start": 570030, + "type": "local", + "view": "integer?" + }, + { + "finish": 570036, + "start": 570033, + "type": "local", + "view": "boolean?" + } + ], + "desc": "\nReturns the codepoints (as integers) from all characters in `s` that start between byte position `i` and `j` (both included).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.codepoint)", + "finish": 570041, + "returns": [ + { + "type": "function.return", + "view": "integer" + }, + { + "type": "function.return", + "view": "integer" + } + ], + "start": 570000, + "type": "function", + "view": "function utf8.codepoint(s: string, i?: integer, j?: integer, lax?: boolean)\n -> code: integer\n 2. ...integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/utf8.lua", + "finish": 570023, + "start": 570009, + "type": "setfield" + } + ], + "desc": "\nReturns the codepoints (as integers) from all characters in `s` that start between byte position `i` and `j` (both included).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.codepoint)", + "name": "utf8.codepoint", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 430021, + "start": 430020, + "type": "local", + "view": "string" + }, + { + "finish": 430026, + "start": 430023, + "type": "local", + "view": "boolean?" + } + ], + "desc": "\nReturns values so that the construction\n```lua\nfor p, c in utf8.codes(s) do\n body\nend\n```\nwill iterate over all UTF-8 characters in string s, with p being the position (in bytes) and c the code point of each character. It raises an error if it meets any invalid byte sequence.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.codes)", + "finish": 430031, + "returns": [ + { + "type": "function.return", + "view": "fun(s: string, p: integer):integer, integer" + } + ], + "start": 430000, + "type": "function", + "view": "function utf8.codes(s: string, lax?: boolean)\n -> fun(s: string, p: integer):integer, integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/utf8.lua", + "finish": 430019, + "start": 430009, + "type": "setfield" + } + ], + "desc": "\nReturns values so that the construction\n```lua\nfor p, c in utf8.codes(s) do\n body\nend\n```\nwill iterate over all UTF-8 characters in string s, with p being the position (in bytes) and c the code point of each character. It raises an error if it meets any invalid byte sequence.\n\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.codes)", + "name": "utf8.codes", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 710019, + "start": 710018, + "type": "local", + "view": "string" + }, + { + "finish": 710022, + "start": 710021, + "type": "local", + "view": "integer?" + }, + { + "finish": 710025, + "start": 710024, + "type": "local", + "view": "integer?" + }, + { + "finish": 710030, + "start": 710027, + "type": "local", + "view": "boolean?" + } + ], + "desc": "\nReturns the number of UTF-8 characters in string `s` that start between positions `i` and `j` (both inclusive).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.len)", + "finish": 710035, + "returns": [ + { + "type": "function.return", + "view": "integer?" + }, + { + "type": "function.return", + "view": "integer?" + } + ], + "start": 710000, + "type": "function", + "view": "function utf8.len(s: string, i?: integer, j?: integer, lax?: boolean)\n -> integer?\n 2. errpos: integer?" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/utf8.lua", + "finish": 710017, + "start": 710009, + "type": "setfield" + } + ], + "desc": "\nReturns the number of UTF-8 characters in string `s` that start between positions `i` and `j` (both inclusive).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.len)", + "name": "utf8.len", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 830022, + "start": 830021, + "type": "local", + "view": "string" + }, + { + "finish": 830025, + "start": 830024, + "type": "local", + "view": "integer" + }, + { + "finish": 830028, + "start": 830027, + "type": "local", + "view": "integer?" + } + ], + "desc": "\nReturns the position (in bytes) where the encoding of the `n`-th character of `s` (counting from position `i`) starts.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.offset)", + "finish": 830033, + "returns": [ + { + "type": "function.return", + "view": "integer" + } + ], + "start": 830000, + "type": "function", + "view": "function utf8.offset(s: string, n: integer, i?: integer)\n -> p: integer" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/utf8.lua", + "finish": 830020, + "start": 830009, + "type": "setfield" + } + ], + "desc": "\nReturns the position (in bytes) where the encoding of the `n`-th character of `s` (counting from position `i`) starts.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.offset)", + "name": "utf8.offset", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3760021, + "start": 3760014, + "type": "local", + "view": "string" + }, + { + "finish": 3760026, + "start": 3760023, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nEmits a warning with a message composed by the concatenation of all its arguments (which should be strings).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-warn)", + "finish": 3760031, + "start": 3760000, + "type": "function", + "view": "function warn(message: string, ...any)" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 3760013, + "start": 3760009, + "type": "setglobal" + } + ], + "desc": "\nEmits a warning with a message composed by the concatenation of all its arguments (which should be strings).\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-warn)", + "name": "warn", + "type": "variable" + }, + { + "defines": [ + { + "extends": { + "args": [ + { + "finish": 3890017, + "start": 3890016, + "type": "local", + "view": "fun(...any):...unknown" + }, + { + "finish": 3890023, + "start": 3890019, + "type": "local", + "view": "function" + }, + { + "finish": 3890029, + "start": 3890025, + "type": "local", + "view": "any" + }, + { + "finish": 3890034, + "start": 3890031, + "type": "...", + "view": "unknown" + } + ], + "desc": "\nCalls function `f` with the given arguments in protected mode with a new message handler.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-xpcall)", + "finish": 3890039, + "returns": [ + { + "type": "function.return", + "view": "boolean" + }, + { + "type": "function.return", + "view": "any" + }, + { + "type": "function.return", + "view": "any" + } + ], + "start": 3890000, + "type": "function", + "view": "function xpcall(f: fun(...any):...unknown, msgh: function, arg1?: any, ...any)\n -> success: boolean\n 2. result: any\n 3. ...any" + }, + "file": "../../.building/lua-language-server-3.6.18-win32-x64/meta/Lua%205.4%20en-us%20utf8/basic.lua", + "finish": 3890015, + "start": 3890009, + "type": "setglobal" + } + ], + "desc": "\nCalls function `f` with the given arguments in protected mode with a new message handler.\n\n[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-xpcall)", + "name": "xpcall", + "type": "variable" + } +] \ No newline at end of file diff --git a/docs/lua-docs/doc.md b/docs/lua-docs/doc.md new file mode 100644 index 000000000..3a5a03816 --- /dev/null +++ b/docs/lua-docs/doc.md @@ -0,0 +1,7983 @@ +# Client + +## __index + + +```lua +Client +``` + +## acknowledgeMaxSize + + +```lua +integer +``` + +## amIClient + + +```lua +function Client.amIClient(self: Client) + -> true: boolean +``` + +Checks if the current local user is a client. + +@*return* `true` — if client, false if not +See: [Server.amIServer](../../mods/noita-mp/files/scripts/net/Server.lua#L852#9) + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## entityCache + + +```lua +EntityCache +``` + +## entityUtils + + +```lua +EntityUtils +``` + +## fileUtils + + +```lua +FileUtils +``` + +## getAckCacheSize + + +```lua +function Client.getAckCacheSize(self: Client) + -> cacheSize: number +``` + +Mainly for profiling. Returns then network cache, aka acknowledge. + +## globalUtils + + +```lua +GlobalsUtils +``` + +## globalsUtils + + +```lua +GlobalsUtils +``` + +## guid + + +```lua +nil +``` + +## guidUtils + + +```lua +GuidUtils +``` + +GuidUtils is just for generating and validating GUIDs. Guids are used for identifying clients and servers. + +## health + + +```lua +table +``` + +## iAm + + +```lua +string +``` + +## logger + + +```lua +Logger +``` + +## minaUtils + + +```lua +MinaUtils +``` + +Util class for fetching information about local and remote minas. + +## missingMods + + +```lua +nil +``` + +## name + + +```lua +nil +``` + +## networkCache + + +```lua +NetworkCache +``` + +## networkCacheUtils + + +```lua +NetworkCacheUtils +``` + +## networkUtils + + +```lua +NetworkUtils +``` + +## networkVscUtils + + +```lua +NetworkVscUtils +``` + +NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API + +## new + + +```lua +function Client.new(clientObject: Client|nil, serverOrAddress: string|nil, port: number|nil, maxChannels: number|nil, server: Server, np: noitapatcher) + -> Client +``` + +Client constructor. Inherits from SockClient sock.Client. + +@*param* `server` — required + +@*param* `np` — required + +## noitaComponentUtils + + +```lua +NoitaComponentUtils +``` + +Class for using Noita components. + +## noitaMpSettings + + +```lua +NoitaMpSettings +``` + + NoitaMpSettings: Replacement for Noita ModSettings. + +## noitaPatcherUtils + + +```lua +NoitaPatcherUtils +``` + +## nuid + + +```lua +nil +``` + +## otherClients + + +```lua +table +``` + +## preConnect + + +```lua +function Client.preConnect(self: Client, ip: string|nil, port: number|nil, code: number|nil) +``` + +Connects to a server on ip and port. Both can be nil, then ModSettings will be used. Inherit from sock.connect. + +@*param* `ip` — localhost or 127.0.0.1 or nil + +@*param* `port` — port number from 1 to max of 65535 or nil + +@*param* `code` — connection code 0 = connecting first time, 1 = connected second time with loaded seed +See: ~sock.connect~ + +## preDisconnect + + +```lua +function Client.preDisconnect(self: Client) +``` + + Disconnects from the server. +See: ~SockClient.disconnect~ + +## preSend + + +```lua +function Client.preSend(self: Client, event: string, data: table) + -> true: boolean +``` + +Sends a message to the server. Inherit from sock.send. + +@*param* `event` — required + +@*param* `data` — required + +@*return* `true` — if message was sent, false if not +See: ~sock.send~ + +## preUpdate + + +```lua +function Client.preUpdate(self: Client, startFrameTime: number) +``` + +Updates the Client by checking for network events and handling them. Inherit from sock.update. + +@*param* `startFrameTime` — required +See: ~SockClient.update~ + +## requiredMods + + +```lua +nil +``` + +## sendDeadNuids + + +```lua +function Client.sendDeadNuids(self: Client, deadNuids: table) + -> true: boolean +``` + +Sends dead nuids to the server. + +@*param* `deadNuids` — required + +@*return* `true` — if message was sent, false if not + +## sendEntityData + + +```lua +function Client.sendEntityData(self: Client, entityId: number) +``` + +Sends entity data to the server. + +@*param* `entityId` — required + +## sendLostNuid + + +```lua +function Client.sendLostNuid(self: Client, nuid: number) + -> true: boolean +``` + +Sends a message that the client has a nuid, but no linked entity. + +@*param* `nuid` — required + +@*return* `true` — if message was sent, false if not + +## sendMinaInformation + + +```lua +function Client.sendMinaInformation(self: Client) + -> boolean +``` + +Sends mina information to the server. + +## sendNeedNuid + + +```lua +function Client.sendNeedNuid(self: Client, ownerName: string, ownerGuid: string, entityId: number) +``` + +Sends a message to the server that the client needs a nuid. + +## server + + +```lua +Server +``` + +## serverInfo + + +```lua +table +``` + +## syncedMods + + +```lua +boolean +``` + +## transform + + +```lua +table +``` + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + +## zipTable + + +```lua +function +``` + + +--- + +# CustomProfiler + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## ffi + + +```lua +unknown +``` + +## fileUtils + + +```lua +FileUtils +``` + +## getSize + + +```lua +function CustomProfiler.getSize(self: CustomProfiler) + -> size: number +``` + +Returns the size of the report cache. + +## init + + +```lua +function CustomProfiler.init(self: CustomProfiler) +``` + +## new + + +```lua +function CustomProfiler.new(self: CustomProfiler, customProfiler: CustomProfiler|nil, fileUtils: FileUtils|nil, noitaMpSettings: NoitaMpSettings, plotly: plotly|nil, socket: socket|nil, utils: Utils|nil, winapi: winapi|nil) + -> CustomProfiler +``` + +CustomProfiler constructor. + +@*param* `customProfiler` — require("CustomProfiler") or nil + +@*param* `fileUtils` — can be nil + +@*param* `noitaMpSettings` — required + +@*param* `plotly` — can be nil + +@*param* `socket` — can be nil + +@*param* `utils` — can be nil + +@*param* `winapi` — can be nil + +## noitaMpSettings + + +```lua +NoitaMpSettings +``` + + NoitaMpSettings: Replacement for Noita ModSettings. + +## plotly + + +```lua +plotly +``` + +:new() + +## report + + +```lua +function CustomProfiler.report(self: CustomProfiler) +``` + +Creates a report of all the functions that were profiled into profiler_2022-11-24_20-23-00.json + +## socket + + +```lua +socket +``` + +## start + + +```lua +function CustomProfiler.start(self: CustomProfiler, functionName: string) + -> returnCounter: number +``` + +Starts the profiler. This has to be called before the function (or first line of function code) that you want to measure. + +@*param* `functionName` — The name of the function that you want to measure. This has to be the same as the one used in CustomProfiler:stop(functionName, customProfilerCounter) + +@*return* `returnCounter` — The counter that is used to determine the order of the function calls. This has to be passed to CustomProfiler:stop(functionName, customProfilerCounter) +See: [CustomProfiler](../../mods/noita-mp/files/scripts/util/CustomProfiler.lua#L2#10) stop(functionName, customProfilerCounter) + +## startExternalProfiler + + +```lua +function CustomProfiler.startExternalProfiler(self: CustomProfiler, pid: number) +``` + +Starts the external profiler. + +@*param* `pid` — The process id of Noita. + +## stop + + +```lua +function CustomProfiler.stop(self: CustomProfiler, functionName: string, customProfilerCounter: number) + -> integer +``` + +Stops the profiler. This has to be called after the function (or last line of function code, but before any `return`) that you want to measure. + +@*param* `functionName` — The name of the function that you want to measure. This has to be the same as the one used in @see CustomProfiler.start(functionName) + +@*param* `customProfilerCounter` — The counter that is used to determine the order of the function calls. This has to same as the one returned by @see CustomProfiler.start(functionName) + +## udp + + +```lua +unknown +``` + +## utils + + +```lua +Utils +``` + +:new() + +## winapi + + +```lua +winapi +``` + + +--- + +# EntityCache + +## contains + + +```lua +function EntityCache.contains(self: EntityCache, entityId: any) + -> boolean +``` + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## delete + + +```lua +function EntityCache.delete(self: EntityCache, entityId: any) +``` + +## deleteNuid + + +```lua +function EntityCache.deleteNuid(self: EntityCache, nuid: any) +``` + +## entityUtils + + +```lua +EntityUtils|nil +``` + +## get + + +```lua +function EntityCache.get(self: EntityCache, entityId: any) + -> unknown|nil +``` + +## getNuid + + +```lua +function EntityCache.getNuid(self: EntityCache, nuid: any) +``` + +## new + + +```lua +function EntityCache.new(self: EntityCache, entityCacheObject: EntityCache|nil, customProfiler: CustomProfiler, entityUtils: EntityUtils|nil, utils: Utils|nil) + -> EntityCache +``` + +EntityCache constructor + +@*param* `entityCacheObject` — optional + +@*param* `customProfiler` — required + +@*param* `entityUtils` — optional + +@*param* `utils` — optional + +## set + + +```lua +function EntityCache.set(self: EntityCache, entityId: any, nuid: any, ownerGuid: any, ownerName: any, filepath: any, x: any, y: any, rotation: any, velX: any, velY: any, currentHealth: any, maxHealth: any, fullySerialised: any, serialisedRootEntity: any) +``` + +## size + + +```lua +function EntityCache.size(self: EntityCache) + -> integer|unknown +``` + +## usage + + +```lua +function EntityCache.usage(self: EntityCache) +``` + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + + +--- + +# EntityCacheUtils + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## entityCache + + +```lua +EntityCache +``` + +## new + + +```lua +function EntityCacheUtils.new(self: EntityCacheUtils, entityCacheUtilsObject: EntityCacheUtils|nil, customProfiler: CustomProfiler, entityCache: EntityCache, utils: Utils|nil) + -> EntityCacheUtils +``` + +Constructor of the EntityCacheUtils class. + +@*param* `entityCacheUtilsObject` — optional + +@*param* `customProfiler` — required + +@*param* `entityCache` — required + +@*param* `utils` — optional + +## set + + +```lua +function EntityCacheUtils.set(self: EntityCacheUtils, entityId: any, nuid: any, ownerGuid: any, ownerName: any, filepath: any, x: any, y: any, rotation: any, velX: any, velY: any, currentHealth: any, maxHealth: any, fullySerialised: any, serialisedRootEntity: any) +``` + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + + +--- + +# EntityUtils + +## addOrChangeDetectionRadiusDebug + + +```lua +function EntityUtils.addOrChangeDetectionRadiusDebug(self: EntityUtils, player_entity: any) +``` + + Simply adds a ugly debug circle around the player to visualize the detection radius. + +## client + + +```lua +Client +``` + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## destroyByNuid + + +```lua +function EntityUtils.destroyByNuid(self: EntityUtils, peer: any, nuid: number) +``` + +Destroys the entity by the given nuid. + +@*param* `nuid` — The nuid of the entity. + +## enitityCacheUtils + + +```lua +EntityCacheUtils +``` + +## entityCache + + +```lua +EntityCache +``` + +## entityCacheUtils + + +```lua +EntityCacheUtils +``` + +end +TODO: temporary dirty whacky hacky fix + +## globalsUtils + + +```lua +GlobalsUtils +``` + +## isEntityPolymorphed + + +```lua +function EntityUtils.isEntityPolymorphed(self: EntityUtils, entityId: number) + -> boolean +``` + + Checks if a specific entity is polymorphed. + +## logger + + +```lua +Logger +``` + +## minaUtils + + +```lua +MinaUtils +``` + +Util class for fetching information about local and remote minas. + +## networkUtils + + +```lua +NetworkUtils +``` + +## networkVscUtils + + +```lua +NetworkVscUtils +``` + +NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API + +## new + + +```lua +function EntityUtils.new(self: EntityUtils, client: Client, customProfiler: CustomProfiler, enitityCacheUtils: EntityCacheUtils, entityCache: EntityCache, globalsUtils: GlobalsUtils|nil, logger: Logger|nil, minaUtils: MinaUtils, networkUtils: NetworkUtils, networkVscUtils: NetworkVscUtils, noitaComponentUtils: NoitaComponentUtils, noitaMpSettings: NoitaMpSettings, nuidUtils: NuidUtils, server: Server, utils: Utils|nil, np: noitapatcher) + -> EntityUtils +``` + +Constructor for EntityUtils. With this constructor you can override the default imports. + +@*param* `client` — required + +@*param* `customProfiler` — required + +@*param* `enitityCacheUtils` — required + +@*param* `entityCache` — required + +@*param* `globalsUtils` — optional + +@*param* `logger` — optional + +@*param* `minaUtils` — required + +@*param* `networkUtils` — required + +@*param* `networkVscUtils` — required + +@*param* `noitaComponentUtils` — required + +@*param* `noitaMpSettings` — required + +@*param* `nuidUtils` — required + +@*param* `server` — required + +@*param* `utils` — optional + +@*param* `np` — required + +## noitaComponentUtils + + +```lua +NoitaComponentUtils +``` + +Class for using Noita components. + +## noitaPatcherUtils + + +```lua +NoitaPatcherUtils +``` + +## nuidUtils + + +```lua +NuidUtils +``` + +NuidUtils for getting the current network unique identifier + +## onEntityRemoved + + +```lua +function EntityUtils.onEntityRemoved(self: EntityUtils, entityId: any, nuid: any) +``` + + Make sure this is only be executed once! + +## server + + +```lua +Server +``` + +## spawnEntity + + +```lua +function EntityUtils.spawnEntity(self: EntityUtils, owner: EntityOwner, nuid: number, x: number, y: number, rotation: number, velocity?: Vec2, filename: string, localEntityId: number, health: any, isPolymorphed: any) + -> entityId: number? +``` + + Spawns an entity and applies the transform and velocity to it. Also adds the network_component. + +@*param* `velocity` — - can be nil + +@*param* `localEntityId` — this is the initial entity_id created by server OR client. It's owner specific! Every + + owner has its own entity ids. + +@*return* `entityId` — Returns the entity_id of a already existing entity, found by nuid or the newly created entity. + +## syncDeadNuids + + +```lua +function EntityUtils.syncDeadNuids(self: EntityUtils, server: Server|nil, client: Client|nil) +``` + + Synchronises dead nuids between server and client. + +@*param* `server` — Either server or client must not be nil! + +@*param* `client` — Either server or client must not be nil! + +## syncEntities + + +```lua +function EntityUtils.syncEntities(self: EntityUtils, startFrameTime: number, server: Server|nil, client: Client|nil) +``` + + Adds or updates all network components to the entity. + Sends the entity data to all other peers. + +@*param* `startFrameTime` — Time at the very beginning of the frame. + +@*param* `server` — Either server or client must not be nil! + +@*param* `client` — Either server or client must not be nil! + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + + +--- + +# FileUtils + +## AppendToFile + + +```lua +function FileUtils.AppendToFile(self: FileUtils, filenameAbsolutePath: string, appendContent: string) +``` + +## Create7zipArchive + + +```lua +function FileUtils.Create7zipArchive(self: FileUtils, archive_name: string, absolute_directory_path_to_add_archive: string, absolute_destination_path: string) + -> content: string|number +``` + +@*param* `archive_name` — server_save06_98-09-16_23:48:10 - without file extension (*.7z) + +@*param* `absolute_directory_path_to_add_archive` — C:\Users\Ismoh-PC\AppData\LocalLow\Nolla_Games_Noita\save06 + +@*param* `absolute_destination_path` — C:\Program Files (x86)\Steam\steamapps\common\Noita\mods +oita-mp\_ + +@*return* `content` — binary content of archive + +## Exists + + +```lua +function FileUtils.Exists(self: FileUtils, absolutePath: string) + -> boolean +``` + + Checks if FILE or DIRECTORY exists + +@*param* `absolutePath` — full path + +## Exists7zip + + +```lua +function FileUtils.Exists7zip(self: FileUtils) + -> boolean +``` + +## Extract7zipArchive + + +```lua +function FileUtils.Extract7zipArchive(self: FileUtils, archive_absolute_directory_path: string, archive_name: string, extract_absolute_directory_path: string) +``` + +@*param* `archive_absolute_directory_path` — path to archive location like "C:\Program Files (x86)\Steam\steamapps\common\Noita\mods\noita-mp\_" + +@*param* `archive_name` — server_save06_98-09-16_23:48:10.7z - with file extension (*.7z) + +@*param* `extract_absolute_directory_path` — C:\Users\Ismoh-PC\AppData\LocalLow\Nolla_Games_Noita + +## FestartNoita + + +```lua +function FileUtils.FestartNoita(self: FileUtils) +``` + + Credits to @dextercd ! + +## Find7zipExecutable + + +```lua +function FileUtils.Find7zipExecutable(self: FileUtils) +``` + +## GetAbsDirPathOfWorldStateXml + + +```lua +function FileUtils.GetAbsDirPathOfWorldStateXml(self: FileUtils, saveSlotAbsDirectoryPath: string) + -> absPath: string +``` + + There is a world_state.xml per each saveSlot directory, which contains Globals. Nuid are stored in Globals. + +@*param* `saveSlotAbsDirectoryPath` — Absolute directory path to the current selected save slot. + +@*return* `absPath` — world_state.xml absolute file path + +## GetAbsoluteDirectoryPathOfNoitaMP + + +```lua +function FileUtils.GetAbsoluteDirectoryPathOfNoitaMP(self: FileUtils, noitaMpSettings: any) + -> self.GetAbsolutePathOfNoitaRootDirectory: string +``` + + Returns the ABSOLUTE path of the mods folder. + If self.GetAbsolutePathOfNoitaRootDirectory() is not set yet, then it will be + +@*return* `self.GetAbsolutePathOfNoitaRootDirectory` — ) .. "/mods/noita-mp" + +## GetAbsoluteDirectoryPathOfParentSave + + +```lua +function FileUtils.GetAbsoluteDirectoryPathOfParentSave(self: FileUtils) + -> save06_parent_directory_path: string +``` + + Return the parent directory of the savegame directory save06. + If DebugGetIsDevBuild() then Noitas installation path is returned: 'C:\Program Files (x86)\Steam\steamapps\common\Noita' + otherwise it will return: '%appdata%\..\LocalLow\Nolla_Games_Noita' on windows + +@*return* `save06_parent_directory_path` — string of absolute path to '..\Noita' or '..\Nolla_Games_Noita' + +## GetAbsoluteDirectoryPathOfRequiredLibs + + +```lua +function FileUtils.GetAbsoluteDirectoryPathOfRequiredLibs(self: FileUtils) + -> self.GetAbsolutePathOfNoitaRootDirectory: string +``` + + Returns the ABSOLUTE path of the library folder required for this mod. + If self.GetAbsolutePathOfNoitaRootDirectory() is not set yet, then it will be + +@*return* `self.GetAbsolutePathOfNoitaRootDirectory` — ) .. "/mods/noita-mp/files/libs" + +## GetAbsoluteDirectoryPathOfSave06 + + +```lua +function FileUtils.GetAbsoluteDirectoryPathOfSave06(self: FileUtils) + -> directory_path_of_save06: string +``` + + Returns fullpath of save06 directory on devBuild or release + +@*return* `directory_path_of_save06` — : noita installation path\save06 or %appdata%\..\LocalLow\Nolla_Games_Noita\save06 on windows and unknown for unix systems + +## GetAbsolutePathOfNoitaMpSettingsDirectory + + +```lua +function FileUtils.GetAbsolutePathOfNoitaMpSettingsDirectory(self: FileUtils, noitaMpSettings: NoitaMpSettings|nil) + -> absPath: string +``` + +Returns absolute path of NoitaMP settings directory, + +@*param* `noitaMpSettings` — optional. Needed for saving Noitas root directory to settings file. + +@*return* `absPath` — i.e. "C:\Program Files (x86)\Steam\steamapps\common\Noita\mods\noita-mp\settings" + +## GetAbsolutePathOfNoitaRootDirectory + + +```lua +function FileUtils.GetAbsolutePathOfNoitaRootDirectory(self: FileUtils, noitaMpSettings: any) + -> string +``` + +## GetAllFilesInDirectory + + +```lua +function FileUtils.GetAllFilesInDirectory(self: FileUtils, directory: any, fileExtension: any) + -> table +``` + +## GetDesktopDirectory + + +```lua +function FileUtils.GetDesktopDirectory(self: FileUtils) + -> string|table +``` + +## GetLastModifiedSaveSlots + + +```lua +function FileUtils.GetLastModifiedSaveSlots(self: FileUtils) + -> table +``` + + see _G.saveSlotMeta + +## GetPidOfRunningEnetHostByPort + + +```lua +function FileUtils.GetPidOfRunningEnetHostByPort(self: FileUtils, server: any) + -> number? +``` + + + eNet specific commands + +## GetRelativeDirectoryPathOfNoitaMP + + +```lua +function FileUtils.GetRelativeDirectoryPathOfNoitaMP(self: FileUtils) + -> string +``` + + Returns the RELATIVE path of the mods folder. + +@*return* — mods/noita-mp + +## GetRelativeDirectoryPathOfRequiredLibs + + +```lua +function FileUtils.GetRelativeDirectoryPathOfRequiredLibs(self: FileUtils) + -> string +``` + + Returns the RELATIVE path of the library folder required for this mod. + +@*return* — /mods/noita-mp/files/libs + +## GetRelativePathOfNoitaMpSettingsDirectory + + +```lua +function FileUtils.GetRelativePathOfNoitaMpSettingsDirectory(self: FileUtils) + -> unknown +``` + +## GetVersionByFile + + +```lua +function FileUtils.GetVersionByFile(self: FileUtils) + -> version: string +``` + +Returns NoitaMP version by reading the .version file. + +## KillNoitaAndRestart + + +```lua +function FileUtils.KillNoitaAndRestart(self: FileUtils) +``` + +## KillProcess + + +```lua +function FileUtils.KillProcess(self: FileUtils, pid: any) +``` + +## MkDir + + +```lua +function FileUtils.MkDir(self: FileUtils, full_path: string) +``` + +## ReadBinaryFile + + +```lua +function FileUtils.ReadBinaryFile(self: FileUtils, file_fullpath: string) + -> string|number +``` + +## ReadFile + + +```lua +function FileUtils.ReadFile(self: FileUtils, file_fullpath: string, mode?: string) + -> unknown +``` + +## RemoveContentOfDirectory + + +```lua +function FileUtils.RemoveContentOfDirectory(self: FileUtils, absolutePath: any) +``` + +## RemoveTrailingPathSeparator + + +```lua +function FileUtils.RemoveTrailingPathSeparator(self: FileUtils, path: string) + -> path: string +``` + + Removes trailing path separator in a string: \persistent\flags\ -> \persistent\flags. + Error if path is not a string. + +@*param* `path` — any string, i.e. \persistent\flags\ + +@*return* `path` — \persistent\flags + +## ReplacePathSeparator + + +```lua +function FileUtils.ReplacePathSeparator(self: FileUtils, path: string) + -> path: string + 2. count: number +``` + +Replaces windows path separator to unix path separator and vice versa. +Error if path is not a string. + +## SaveAndRestartNoita + + +```lua +function FileUtils.SaveAndRestartNoita(self: FileUtils) +``` + + This executes c code to sent SDL_QUIT command to the app + +## ScanDir + + +```lua +function FileUtils.ScanDir(self: FileUtils, directory: any) + -> string[] +``` + + Lua implementation of PHP scandir function + +## SetAbsolutePathOfNoitaRootDirectory + + +```lua +function FileUtils.SetAbsolutePathOfNoitaRootDirectory(self: FileUtils, noitaMpSettings: NoitaMpSettings|nil) +``` + +Sets root directory of noita.exe, i.e. C:\Program Files (x86)\Steam\steamapps\common\Noita + +@*param* `noitaMpSettings` — optional. Needed for saving Noitas root directory to settings file. + +## SplitPath + + +```lua +function FileUtils.SplitPath(self: FileUtils, str: any) + -> unknown +``` + + http://lua-users.org/wiki/SplitJoin -> Example: Split a file path string into components. + +## WriteBinaryFile + + +```lua +function FileUtils.WriteBinaryFile(self: FileUtils, file_fullpath: string, file_content: any) +``` + +## WriteFile + + +```lua +function FileUtils.WriteFile(self: FileUtils, file_fullpath: string, file_content: string) +``` + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## ffi + + +```lua +unknown +``` + +## json + + +```lua +unknown +``` + +## lfs + + +```lua +unknown +``` + +## logger + + +```lua +Logger +``` + +## new + + +```lua +function FileUtils.new(self: FileUtils, fileUtilsObject: FileUtils|nil, customProfiler: CustomProfiler|nil, logger: Logger|nil, noitaMpSettings: NoitaMpSettings, plotly: plotly|nil, utils: Utils|nil) + -> FileUtils +``` + +FileUtils constructor. + +@*param* `fileUtilsObject` — require("FileUtils") or nil + +@*param* `customProfiler` — can be nil + +@*param* `logger` — can be nil + +@*param* `noitaMpSettings` — required + +@*param* `plotly` — can be nil + +@*param* `utils` — can be nil + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + +## watcher + + +```lua +unknown +``` + + +--- + +# GameGetRealWorldTimeSinceStarted + + +```lua +function _G.GameGetRealWorldTimeSinceStarted() + -> integer +``` + + +--- + +# GetWidthAndHeightByResolution + + Returns width and height depending on resolution. + GuiGetScreenDimensions( gui:obj ) -> width:number,height:number [Returns dimensions of viewport in the gui coordinate system (which is equal to the coordinates of the screen bottom right corner in gui coordinates). The values returned may change depending on the game resolution because the UI is scaled for pixel-perfect text rendering.] + + +```lua +function GetWidthAndHeightByResolution() + -> width: number + 2. height: number +``` + + +--- + +# GlobalsUtils + +## client + + +```lua +Client|nil +``` + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## getDeadNuids + + +```lua +function GlobalsUtils.getDeadNuids(self: GlobalsUtils) + -> table +``` + +## getNuidEntityPair + + +```lua +function GlobalsUtils.getNuidEntityPair(self: GlobalsUtils, nuid: number) + -> nuid: number|nil + 2. entityId: number|nil +``` + +Builds a key string by nuid and returns nuid and entityId found by the globals. + +## getUpdateGui + + +```lua +function GlobalsUtils.getUpdateGui(self: GlobalsUtils) + -> unknown +``` + +## logger + + +```lua +Logger +``` + +## new + + +```lua +function GlobalsUtils.new(self: GlobalsUtils, globalsUtilsObject: GlobalsUtils|nil, customProfiler: CustomProfiler, logger: Logger, client: Client|nil, utils: Utils) + -> GlobalsUtils +``` + +Constructor of the class. This is mandatory! + +@*param* `globalsUtilsObject` — optional + +@*param* `customProfiler` — required + +@*param* `logger` — required + +@*param* `client` — optional + +@*param* `utils` — required + +## parseXmlValueToNuidAndEntityId + + +```lua +function GlobalsUtils.parseXmlValueToNuidAndEntityId(self: GlobalsUtils, xmlKey: string, xmlValue: string) + -> nuid: number|nil + 2. entityId: number|nil +``` + +Parses key and value string to nuid and entityId. + +@*param* `xmlKey` — self.nuidKeyFormat = "nuid = %s" + +@*param* `xmlValue` — self.nuidValueFormat = "entityId = %s" + +## removeDeadNuid + + +```lua +function GlobalsUtils.removeDeadNuid(self: GlobalsUtils, nuid: any) +``` + +## setDeadNuid + + +```lua +function GlobalsUtils.setDeadNuid(self: GlobalsUtils, nuid: any) +``` + +## setNuid + + +```lua +function GlobalsUtils.setNuid(self: GlobalsUtils, nuid: any, entityId: any, componentIdForOwnerName: any, componentIdForOwnerGuid: any, componentIdForNuid: any) +``` + +## setUpdateGui + + +```lua +function GlobalsUtils.setUpdateGui(self: GlobalsUtils, bool: any) + -> unknown +``` + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + + +--- + +# Gui + +Everything regarding ImGui: Credits to @dextercd + +## checkShortcuts + + +```lua +function Gui.checkShortcuts(self: Gui) +``` + +Function to check if the user pressed a shortcut. + +## client + + +```lua +Client +``` + +See: [Client](../../mods/noita-mp/files/scripts/net/Client.lua#L4#10) + +## customProfiler + + +```lua +CustomProfiler +``` + +See: [CustomProfiler](../../mods/noita-mp/files/scripts/util/CustomProfiler.lua#L2#10) + +## drawAbout + + +```lua +function Gui.drawAbout(self: Gui) +``` + +Function for drawing the about window. + +## drawFirstTime + + +```lua +function Gui.drawFirstTime(self: Gui) +``` + +Function to draw the first time window. + +## drawMenuBar + + +```lua +function Gui.drawMenuBar(self: Gui) +``` + +Function to draw the menu bar. + +## drawPlayMenu + + +```lua +function Gui.drawPlayMenu(self: Gui) +``` + +Function to draw the play menu. + +## drawPlayerList + + +```lua +function Gui.drawPlayerList(self: Gui) +``` + +Function for drawing the player list window. + +## drawSettings + + +```lua +function Gui.drawSettings(self: Gui) +``` + +Function to draw the settings window. + +## fileUtils + + +```lua +FileUtils +``` + +## globalsUtils + + +```lua +GlobalsUtils +``` + +## guidUtils + + +```lua +GuidUtils +``` + +See: [GuidUtils](../../mods/noita-mp/files/scripts/util/GuidUtils.lua#L2#10) + +## imGui + + +```lua +unknown +``` + +See: ~ImGui~ + +## isServer + + +```lua +nil +``` + +## minaUtils + + +```lua +MinaUtils +``` + +See: [MinaUtils](../../mods/noita-mp/files/scripts/util/MinaUtils.lua#L2#10) + +## networkVscUtils + + +```lua +NetworkVscUtils +``` + +NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API + +## new + + +```lua +function Gui.new(self: Gui, guiObject: Gui|nil, server: Server, client: Client, customProfiler: CustomProfiler|nil, guidUtils: GuidUtils|nil, minaUtils: MinaUtils|nil, noitaMpSettings: NoitaMpSettings|nil) + -> Gui +``` + +Gui constructor. + +@*param* `guiObject` — optional + +@*param* `server` — required + +@*param* `client` — required + +@*param* `customProfiler` — optional + +@*param* `guidUtils` — optional + +@*param* `minaUtils` — optional + +@*param* `noitaMpSettings` — optional + +## noitaMpSettings + + +```lua +NoitaMpSettings +``` + +See: [NoitaMpSettings](../../mods/noita-mp/files/scripts/NoitaMpSettings.lua#L2#11) + +## server + + +```lua +Server +``` + +See: [Server](../../mods/noita-mp/files/scripts/net/Server.lua#L4#10) + +## setShowMissingSettings + + +```lua +function Gui.setShowMissingSettings(self: Gui, show: boolean) +``` + +Setter for the 'showMissingSettings' attribute to show the user that the settings are missing. + +## setShowSettingsSaved + + +```lua +function Gui.setShowSettingsSaved(self: Gui, show: boolean) +``` + +Setter for the 'showSettingsSaved' attribute to show the user that the settings were saved. + +## update + + +```lua +function Gui.update(self: Gui) +``` + +Guis update function, called every frame. + +## utils + + +```lua +Utils +``` + +See: [Utils](../../mods/noita-mp/files/scripts/util/Utils.lua#L2#10) + + +--- + +# GuidUtils + +GuidUtils is just for generating and validating GUIDs. Guids are used for identifying clients and servers. + +## addGuidToCache + + +```lua +function GuidUtils.addGuidToCache(self: GuidUtils, guid: string) +``` + +Adds a guid to the cache. + +@*param* `guid` — required + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## generateNewGuid + + +```lua +function GuidUtils.generateNewGuid(self: GuidUtils, inUsedGuids: table|nil) + -> guid: string +``` + +Generates a pseudo GUID. Does not fulfil RFC standard! Should generate unique GUIDs, but repeats if there is a duplicate. +Based on https://github.com/Tieske/uuid ! +Formerly known as 'getGuid()'. + +@*param* `inUsedGuids` — list of already used GUIDs + +## getCachedGuids + + +```lua +function GuidUtils.getCachedGuids(self: GuidUtils) + -> cached_guid: table +``` + +Returns the cached guids. + +## isPatternValid + + +```lua +function GuidUtils.isPatternValid(self: GuidUtils, guid: string) + -> true: boolean +``` + +Validates a guid only on its pattern. + +@*param* `guid` — required + +@*return* `true` — if GUID-pattern matches + +## isUnique + + +```lua +function GuidUtils.isUnique(self: GuidUtils, guid: string) + -> true: boolean +``` + +Validates if the given guid is unique or already generated. + +@*return* `true` — if GUID is unique. + +## logger + + +```lua +Logger +``` + +## new + + +```lua +function GuidUtils.new(self: GuidUtils, guidUtilsObject: GuidUtils|nil, customProfiler: CustomProfiler, fileUtils: FileUtils|nil, logger: Logger|nil, plotly: plotly|nil, socket: socket|nil, utils: Utils|nil, winapi: winapi|nil) + -> GuidUtils +``` + +GuidUtils constructor. + +@*param* `guidUtilsObject` — optional + +@*param* `customProfiler` — required + +@*param* `fileUtils` — optional + +@*param* `logger` — optional + +@*param* `plotly` — optional + +@*param* `socket` — optional + +@*param* `utils` — optional + +@*param* `winapi` — optional + +## setGuid + + +```lua +function GuidUtils.setGuid(self: GuidUtils, client: Client|nil, server: Server|nil, guid: string|nil) +``` + +Sets the guid of a client or the server. + +@*param* `client` — Either client + +@*param* `server` — or server must be set! + +@*param* `guid` — guid can be optional. If not set, a new guid will be generated and set. + +## socket + + +```lua +socket +``` + +## toNumber + + +```lua +function GuidUtils.toNumber(self: GuidUtils, guid: any) + -> integer +``` + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + +## uuid + + +```lua +unknown +``` + + +--- + +# Health + +## current + + +```lua +number +``` + +## max + + +```lua +number +``` + + +--- + +# Logger + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## debug + + +```lua +function Logger.debug(self: Logger, channel: any, formattedMessage: any) + -> boolean +``` + +## info + + +```lua +function Logger.info(self: Logger, channel: any, formattedMessage: any) + -> boolean +``` + +## new + + +```lua +function Logger.new(self: Logger, loggerObject: Logger|nil, noitaMpSettings: NoitaMpSettings) + -> Logger +``` + +Logger constructor. + +@*param* `noitaMpSettings` — required + +## noitaMpSettings + + +```lua +NoitaMpSettings +``` + + NoitaMpSettings: Replacement for Noita ModSettings. + +## trace + + +```lua +function Logger.trace(self: Logger, channel: any, formattedMessage: any) + -> boolean +``` + +## warn + + +```lua +function Logger.warn(self: Logger, channel: any, formattedMessage: any) + -> boolean +``` + + +--- + +# MAX_MEMORY_USAGE + + KB = 524,438 MB + + +```lua +integer +``` + + +--- + +# MinaUtils + +Util class for fetching information about local and remote minas. + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## getAllMinas + + +```lua +function MinaUtils.getAllMinas(self: MinaUtils, client: Client, server: Server) + -> table +``` + +Returns all minas. + +@*param* `client` — Either client or + +@*param* `server` — server object is required! + +## getLocalMinaEntityId + + +```lua +function MinaUtils.getLocalMinaEntityId(self: MinaUtils) + -> localMinaEntityId: number|nil +``` + +Getter for local mina entity id. It also takes care of polymorphism! + +@*return* `localMinaEntityId` — or nil if not found/dead + +## getLocalMinaGuid + + +```lua +function MinaUtils.getLocalMinaGuid(self: MinaUtils) + -> localMinaGuid: string +``` + +Getter for local mina guid. ~It also loads it from settings file.~ + +## getLocalMinaName + + +```lua +function MinaUtils.getLocalMinaName(self: MinaUtils) + -> localMinaName: string +``` + +Getter for local mina name. ~It also loads it from settings file.~ + +## getLocalMinaNuid + + +```lua +function MinaUtils.getLocalMinaNuid(self: MinaUtils) + -> nuid: number +``` + +Getter for local mina nuid. It also takes care of polymorphism! + +@*return* `nuid` — if not found/dead + +## globalsUtils + + +```lua +GlobalsUtils +``` + +## isLocalMinaPolymorphed + + +```lua +function MinaUtils.isLocalMinaPolymorphed(self: MinaUtils) + -> isPolymorphed: boolean + 2. entityId: number|nil +``` + +Checks if local mina is polymorphed. Returns true, entityId | false, nil + +## isRemoteMinae + + +```lua +function MinaUtils.isRemoteMinae(self: MinaUtils, client: Client, server: Server, entityId: number) + -> true: boolean +``` + + TODO: Rework this by adding and updating entityId to Server.entityId and Client.entityId! Dont forget polymorphism! +Checks if the entityId is a remote minae. + +@*param* `client` — Either client or + +@*param* `server` — server object is required! + +@*param* `entityId` — required + +@*return* `true` — if entityId is a remote minae, otherwise false + +## logger + + +```lua +Logger +``` + +## networkVscUtils + + +```lua +NetworkVscUtils +``` + +NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API + +## new + + +```lua +function MinaUtils.new(self: MinaUtils, minaUtils: MinaUtils|nil, customProfiler: CustomProfiler, globalsUtils: GlobalsUtils, logger: Logger, networkVscUtils: NetworkVscUtils, noitaMpSettings: NoitaMpSettings, utils: Utils) + -> MinaUtils +``` + +Constructor for MinaUtils. + +@*param* `minaUtils` — optional + +@*param* `customProfiler` — required + +@*param* `globalsUtils` — required + +@*param* `logger` — required + +@*param* `networkVscUtils` — required + +@*param* `noitaMpSettings` — required + +@*param* `utils` — required + +## noitaMpSettings + + +```lua +NoitaMpSettings +``` + + NoitaMpSettings: Replacement for Noita ModSettings. + +## setLocalMinaGuid + + +```lua +function MinaUtils.setLocalMinaGuid(self: MinaUtils, guid: string) +``` + +Setter for local mina guid. It also saves it to settings file. + +@*param* `guid` — required + +## setLocalMinaName + + +```lua +function MinaUtils.setLocalMinaName(self: MinaUtils, name: string) +``` + +Setter for local mina name. It also saves it to settings file. + +@*param* `name` — required + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + + +--- + +# ModGetActiveModIDs + + +```lua +function _G.ModGetActiveModIDs() + -> table +``` + + +--- + +# ModIsEnabled + + +```lua +function _G.ModIsEnabled(id: any) + -> boolean +``` + + +--- + +# ModSettingGet + + +```lua +function _G.ModSettingGet(id: any) + -> table +``` + + +--- + +# ModSettingGetNextValue + + +```lua +function _G.ModSettingGetNextValue(id: any) + -> boolean +``` + + +--- + +# NetworkCache + +## clear + + +```lua +function NetworkCache.clear(self: NetworkCache, clientCacheId: number) + -> unknown +``` + + Clears the cache entry for the given clientCacheId. + +## customProfiler + + +```lua +any +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## get + + +```lua +function NetworkCache.get(self: NetworkCache, clientCacheId: number, event: string, networkMessageId: number) + -> entry: table|nil +``` + + Gets the cache entry for the given clientCacheId, event and networkMessageId. + +@*return* `entry` — self.cache[clientCacheId][networkMessageId] or nil if not found + +## getAll + + +```lua +function NetworkCache.getAll(self: NetworkCache) + -> self.cache: table +``` + + Returns all cache entries. + +## getChecksum + + +```lua +function NetworkCache.getChecksum(self: NetworkCache, clientCacheId: number, dataChecksum: string) + -> entry: table|nil +``` + + Gets the checksum of a cache entry for the given clientCacheId and dataChecksum. + +@*return* `entry` — self.cache[clientCacheId][index] or nil if not found + +## logger + + +```lua +any +``` + +## new + + +```lua +function NetworkCache.new(self: NetworkCache, customProfiler: any, logger: any, utils: any) + -> NetworkCache +``` + +## removeOldest + + +```lua +function NetworkCache.removeOldest(self: NetworkCache) +``` + +## set + + +```lua +function NetworkCache.set(self: NetworkCache, clientCacheId: number, networkMessageId: number, event: string, status: string, ackedAt?: any, sendAt?: any, dataChecksum: string) +``` + + Sets the cache entry for the given clientCacheId, networkMessageId and event. + +## size + + +```lua +function NetworkCache.size(self: NetworkCache) + -> size: number +``` + + Returns the size of the cache. + +## usage + + +```lua +function NetworkCache.usage(self: NetworkCache) + -> unknown +``` + + Returns the usage of the cache. + +## utils + + +```lua +any +``` + +Utils class for lazy developers. + + +--- + +# NetworkCacheUtils + +## ack + + +```lua +function NetworkCacheUtils.ack(self: NetworkCacheUtils, peerGuid: string, networkMessageId: number, event: string, status: string, ackedAt?: any, sendAt?: any, checksum: string) +``` + + Sets a acknoledgement for a cached network message. + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## get + + +```lua +function NetworkCacheUtils.get(self: NetworkCacheUtils, peerGuid: string, networkMessageId: number, event: string) + -> data: table|nil +``` + + Returns the cached network message. + +@*return* `data` — { ackedAt, dataChecksum, event, messageId, sendAt, status} + +## getByChecksum + + +```lua +function NetworkCacheUtils.getByChecksum(self: NetworkCacheUtils, peerGuid: string, event: string, data: table) + -> cacheData: table|nil +``` + + Returns the cached network message by checksum. + +@*return* `cacheData` — { ackedAt, dataChecksum, event, messageId, sendAt, status} + +## getSum + + +```lua +function NetworkCacheUtils.getSum(self: NetworkCacheUtils, event: string, data: table) + -> unknown +``` + + Returns the sum of the data. + +## guidUtils + + +```lua +GuidUtils +``` + +GuidUtils is just for generating and validating GUIDs. Guids are used for identifying clients and servers. + +## logAll + + +```lua +function NetworkCacheUtils.logAll(self: NetworkCacheUtils) +``` + + Logs all cached network messages. Only for debugging. + +## logger + + +```lua +Logger +``` + +## md5 + + +```lua +md5 +``` + +## networkCache + + +```lua +NetworkCache +``` + +## networkUtils + + +```lua +NetworkUtils +``` + +## new + + +```lua +function NetworkCacheUtils.new(self: NetworkCacheUtils, customProfiler: CustomProfiler, guidUtils: GuidUtils, logger: Logger, md5: md5|nil, networkCache: NetworkCache, networkUtils: NetworkUtils|nil, utils: Utils|nil) + -> NetworkCacheUtils +``` + + NetworkCacheUtils constructor. + +@*param* `customProfiler` — required + +@*param* `guidUtils` — required + +@*param* `logger` — required + +@*param* `md5` — optional + +@*param* `networkCache` — required + +@*param* `networkUtils` — optional + +@*param* `utils` — optional + +## set + + +```lua +function NetworkCacheUtils.set(self: NetworkCacheUtils, peerGuid: string, networkMessageId: number, event: any, status: any, ackedAt: any, sendAt: any, data: any) + -> string +``` + + Creates a new network cache entry. + +@*param* `peerGuid` — peer.guid + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + + +--- + +# NetworkUtils + +## alreadySent + + +```lua +function NetworkUtils.alreadySent(self: NetworkUtils, peer: table, event: string, data: table) + -> boolean +``` + + Checks if the event within its data was already sent + +@*param* `peer` — If Server, then it's the peer, if Client, then it's the 'self' object + +## checkSchemaOrder + + +```lua +function NetworkUtils.checkSchemaOrder(self: NetworkUtils, event: string, data: table) +``` + + Double checks if the schema order is correct, but only in dev build. + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## deserialize + + +```lua +function NetworkUtils.deserialize(self: NetworkUtils, value: any) + -> unknown +``` + +Default enhanced serialization function + +## getNextNetworkMessageId + + +```lua +function NetworkUtils.getNextNetworkMessageId(self: NetworkUtils) + -> networkMessageIdCounter: integer +``` + + Returns the network message id counter and increases it by one + +## guidUtils + + +```lua +GuidUtils +``` + +GuidUtils is just for generating and validating GUIDs. Guids are used for identifying clients and servers. + +## isTick + + +```lua +function NetworkUtils.isTick(self: NetworkUtils) + -> boolean +``` + + Checks if the current time is a tick. + +## logger + + +```lua +Logger +``` + +## messagePack + + +```lua +unknown +``` + +## networkCacheUtils + + +```lua +NetworkCacheUtils +``` + +## new + + +```lua +function NetworkUtils.new(self: NetworkUtils, customProfiler: CustomProfiler, guidUtils: GuidUtils, logger: Logger, networkCacheUtils: NetworkCacheUtils, utils: Utils|nil) + -> NetworkUtils +``` + + Constructor for NetworkUtils class. + +## serialize + + +```lua +function NetworkUtils.serialize(self: NetworkUtils, value: any) + -> unknown +``` + + Default enhanced serialization function + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + +## zipTable + + +```lua +function NetworkUtils.zipTable(self: NetworkUtils, items: table, keys: table, event: string) + -> table +``` + + links variables to keys based on their order + note that it only works for boolean and number values, not strings. + Credits to sock.lua + +@*param* `items` — data + +@*param* `keys` — schema + +## zstandard + + +```lua +unknown +``` + + +--- + +# NetworkVscUtils + +NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API + +## addOrUpdateAllVscs + + +```lua +function NetworkVscUtils.addOrUpdateAllVscs(self: NetworkVscUtils, entityId: number, ownerName: string, ownerGuid: string, nuid: number|nil, spawnX: number|nil, spawnY: number|nil) + -> componentIdForOwnerName: integer|nil + 2. componentIdForOwnerGuid: integer|nil + 3. componentIdForNuid: integer|nil + 4. componentIdForNuidDebugger: integer|nil + 5. componentIdForNuidDebugger: integer|nil + 6. componentIdForSpawnX: integer|nil + 7. componentIdForSpawnY: integer|nil +``` + +Simply adds or updates all needed Network Variable Storage Components. + +@*param* `entityId` — Id of an entity provided by Noita + +@*param* `ownerName` — Owners name. Cannot be nil. + +@*param* `ownerGuid` — Owners guid. Cannot be nil. + +@*param* `nuid` — Network unique identifier. Can only be nil on clients, but not on server. + +@*param* `spawnX` — X position of the entity, when spawned. Can only be set once! Can be nil. + +@*param* `spawnY` — Y position of the entity, when spawned. Can only be set once! Can be nil. + +## checkIfSpecificVscExists + + +```lua +function NetworkVscUtils.checkIfSpecificVscExists(self: NetworkVscUtils, entityId: number, componentTypeName: string, fieldNameForMatch: string, matchValue: string, fieldNameForValue: string) + -> compId: number|false|nil + 2. value: string|nil +``` + +Checks if an entity already has a specific VariableStorageComponent. + +@*param* `entityId` — Id of an entity provided by Noita + +@*param* `componentTypeName` — "VariableStorageComponent", "LuaComponent", etc + +@*param* `fieldNameForMatch` — Components attribute to match the specific component you are searching for: "name", "script_source_file", "etc". component.name = "brah": 'name' -> fieldNameForMatch + +@*param* `matchValue` — The components attribute value, you want to match to: component.name = "brah": 'brah' -> matchValue Have a look on NetworkVscUtils.componentNameOf___ + +@*param* `fieldNameForValue` — name + +@*return* `compId` — The specific componentId, which contains the searched value or false if there isn't any Component + +@*return* `value` — The components value + +```lua +compId: + | false +``` + +## customProfiler + + +```lua +any +``` + +See: [CustomProfiler](../../mods/noita-mp/files/scripts/util/CustomProfiler.lua#L2#10) + +## getAllVcsValuesByComponentIds + + +```lua +function NetworkVscUtils.getAllVcsValuesByComponentIds(self: NetworkVscUtils, ownerNameCompId: number, ownerGuidCompId: number, nuidCompId: number) + -> ownerName: string + 2. ownerGuid: string + 3. nuid: number +``` + +Returns all Network Vsc values by its component ids. + +@*param* `ownerNameCompId` — Component Id of the OwnerNameVsc + +@*param* `ownerGuidCompId` — Component Id of the OwnerGuidVsc + +@*param* `nuidCompId` — Component Id of the NuidVsc + +## getAllVscValuesByEntityId + + +```lua +function NetworkVscUtils.getAllVscValuesByEntityId(self: NetworkVscUtils, entityId: number) + -> ownerName: string? + 2. ownerGuid: string? + 3. nuid: number? +``` + +Returns all Network Vsc values by its entity id. + +@*param* `entityId` — Entity Id provided by Noita + +@*return* `ownerName,ownerGuid,nuid` — - nuid can be nil + +## globalsUtils + + +```lua +any +``` + +See: [GlobalsUtils](../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua#L1#10) + +## hasNetworkLuaComponents + + +```lua +function NetworkVscUtils.hasNetworkLuaComponents(self: NetworkVscUtils, entityId: any) + -> boolean|nil +``` + +## hasNuidSet + + +```lua +function NetworkVscUtils.hasNuidSet(self: NetworkVscUtils, entityId: number) + -> has: boolean + 2. nuid: number|nil +``` + +Checks if the nuid Vsc exists, if so returns nuid + +@*return* `has` — retruns 'false, -1': Returns false, if there is no NuidVsc or nuid is empty. + +@*return* `nuid` — Returns 'true, nuid', if set. + +## isNetworkEntityByNuidVsc + + +```lua +function NetworkVscUtils.isNetworkEntityByNuidVsc(self: NetworkVscUtils, entityId: number) + -> isNetworkEntity: boolean + 2. componentId: number + 3. nuid: number|nil +``` + +Returns true, componentId and nuid if the entity has a NetworkVsc. + +@*param* `entityId` — entityId provided by Noita + +## logger + + +```lua +any +``` + +See: [Logger](../../mods/noita-mp/files/scripts/util/Logger.lua#L1#10) + +## new + + +```lua +function NetworkVscUtils.new(self: NetworkVscUtils, networkVscUtilsObject: any, customProfiler: any, logger: any, server: any, globalsUtils: any, utils: any) + -> NetworkVscUtils +``` + +## server + + +```lua +any +``` + +See: [Server](../../mods/noita-mp/files/scripts/net/Server.lua#L4#10) + +## utils + + +```lua +any +``` + +See: [Utils](../../mods/noita-mp/files/scripts/util/Utils.lua#L2#10) + + +--- + +# NoitaComponentUtils + +Class for using Noita components. + +## addOrGetNetworkSpriteStatusIndicator + + +```lua +function NoitaComponentUtils.addOrGetNetworkSpriteStatusIndicator(self: NoitaComponentUtils, entityId: number) + -> compId: number|nil +``` + +Adds a SpriteComponent to indicate network status visually. + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## getEntityData + + +```lua +function NoitaComponentUtils.getEntityData(self: NoitaComponentUtils, entityId: number) + -> ownername: string + 2. ownerguid: string + 3. nuid: number + 4. filename: string + 5. health: Health + 6. rotation: number + 7. velocity: Vec2 + 8. x: number + 9. y: number +``` + + Fetches data like position, rotation, velocity, health and filename + +## getEntityDataByNuid + + +```lua +function NoitaComponentUtils.getEntityDataByNuid(self: NoitaComponentUtils, nuid: any) + -> string + 2. string + 3. number + 4. string + 5. Health + 6. number + 7. Vec2 + 8. number + 9. number +``` + +## getInitialSerializedEntityString + + +```lua +function NoitaComponentUtils.getInitialSerializedEntityString(self: NoitaComponentUtils, entityId: number) + -> initSerializedB64Str: string|nil +``` + + Get initial serialized entity string to determine if the entity already exists on the server. + +## globalsUtils + + +```lua +GlobalsUtils +``` + +## hasInitialSerializedEntityString + + +```lua +function NoitaComponentUtils.hasInitialSerializedEntityString(self: NoitaComponentUtils, entityId: any) + -> boolean +``` + +## logger + + +```lua +Logger +``` + +## networkVscUtils + + +```lua +NetworkVscUtils +``` + +NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API + +## new + + +```lua +function NoitaComponentUtils.new(self: NoitaComponentUtils, noitaComponentUtilsObject: NoitaComponentUtils|nil, customProfiler: CustomProfiler, globalsUtils: GlobalsUtils, logger: Logger|nil, networkVscUtils: NetworkVscUtils|nil, utils: Utils|nil, noitaPatcherUtils: NoitaPatcherUtils) + -> NoitaComponentUtils +``` + +NoitaComponentUtils constructor. + +@*param* `noitaComponentUtilsObject` — optional + +@*param* `customProfiler` — required + +@*param* `globalsUtils` — required + +@*param* `logger` — optional + +@*param* `networkVscUtils` — optional + +@*param* `utils` — optional + +@*param* `noitaPatcherUtils` — required + +## noitaPatcherUtils + + +```lua +NoitaPatcherUtils +``` + +## setEntityData + + +```lua +function NoitaComponentUtils.setEntityData(self: NoitaComponentUtils, entityId: number, x: number, y: number, rotation: number, velocity?: Vec2, health: number) +``` + +## setInitialSerializedEntityString + + +```lua +function NoitaComponentUtils.setInitialSerializedEntityString(self: NoitaComponentUtils, entityId: number, initSerializedB64Str: string) + -> if: boolean +``` + + Set initial serialized entity string to determine if the entity already exists on the server. + +@*return* `if` — success + +## setNetworkSpriteIndicatorStatus + + +```lua +function NoitaComponentUtils.setNetworkSpriteIndicatorStatus(self: NoitaComponentUtils, entityId: number, status: string) +``` + +Sets the SpriteComponent to a specific status by setting image_file. + +@*param* `status` — off, processed, serialised, sent, acked + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + + +--- + +# NoitaMpSettings + + NoitaMpSettings: Replacement for Noita ModSettings. + +## clearAndCreateSettings + + +```lua +function NoitaMpSettings.clearAndCreateSettings(self: NoitaMpSettings) +``` + +Removes all settings and creates a new settings file. + +## customProfiler + + +```lua +CustomProfiler +``` + +See: [CustomProfiler](../../mods/noita-mp/files/scripts/util/CustomProfiler.lua#L2#10) + +## fileUtils + + +```lua +FileUtils +``` + +## get + + +```lua +function NoitaMpSettings.get(self: NoitaMpSettings, key: string, dataType: string) + -> value: boolean|string|number|nil +``` + +Returns a setting from the settings file converted to the given dataType. If the setting does not exist, it will be created with the default empty value. + +@*param* `key` — required + +@*param* `dataType` — required! Must be one of "boolean" or "number". If not set, "string" is default. + +@*return* `value` — converted to dataType or nil, when value is not set. + +## gui + + +```lua +Gui +``` + +Everything regarding ImGui: Credits to @dextercd + +## isMoreThanOneNoitaProcessRunning + + +```lua +function NoitaMpSettings.isMoreThanOneNoitaProcessRunning(self: NoitaMpSettings) + -> true: boolean +``` + +Checks if more than one Noita process is running. + +@*return* `true` — if more than one Noita process is running. + +## json + + +```lua +json +``` + +## lfs + + +```lua +LuaFileSystem +``` + +## load + + +```lua +function NoitaMpSettings.load(self: NoitaMpSettings) +``` + +Loads the settings from the settings file and put those into the cached settings. + +## logger + + +```lua +Logger +``` + +## new + + +```lua +function NoitaMpSettings.new(self: NoitaMpSettings, noitaMpSettings: NoitaMpSettings|nil, customProfiler: CustomProfiler|nil, gui: Gui, fileUtils: FileUtils|nil, json: json|nil, lfs: LuaFileSystem|nil, logger: Logger|nil, utils: Utils|nil, winapi: winapi|nil) + -> NoitaMpSettings +``` + +NoitaMpSettings constructor. + +@*param* `gui` — required + +## save + + +```lua +function NoitaMpSettings.save(self: NoitaMpSettings) +``` + +## set + + +```lua +function NoitaMpSettings.set(self: NoitaMpSettings, key: string, value: any) + -> self.cachedSettings: table +``` + +Sets a setting. Saves the settings to the settings file and returns the new updated cached settings. + +@*param* `key` — required + +@*param* `value` — required + +## settingsFileExists + + +```lua +unknown +``` + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + +## winapi + + +```lua +winapi +``` + + +--- + +# NoitaPatcherUtils + +## base64 + + +```lua +unknown +``` + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## deserializeEntity + + +```lua +function NoitaPatcherUtils.deserializeEntity(self: NoitaPatcherUtils, entityId: number, base64String: string, x: number|nil, y: number|nil) + -> entityId: number +``` + + Deserialize an entity from a serialized base64 string and create it at the given position. + +@*param* `entityId` — mostly an empty entity, but required + +@*param* `base64String` — serialized entity in base64 format + +@*param* `x` — x position to create entity at, but optional. + +@*param* `y` — y position to create entity at, but optional. + +@*return* `entityId` — of the created entity + +## luaNoitaMpNative + + +```lua +unknown +``` + +## new + + +```lua +function NoitaPatcherUtils.new(self: NoitaPatcherUtils, customProfiler: CustomProfiler, np: noitapatcher) + -> NoitaPatcherUtils +``` + +NoitaPatcherUtils constructor. + +@*param* `customProfiler` — required + +@*param* `np` — required + +## np + + +```lua +noitapatcher +``` + +## serializeEntity + + +```lua +function NoitaPatcherUtils.serializeEntity(self: NoitaPatcherUtils, entityId: number) + -> base64String: string +``` + + Serialize an entity to a base64 and md5 string. + +@*return* `base64String` — base64 encoded string + +## utils + + +```lua +Utils +``` + +Utils class for lazy developers. + + +--- + +# NuidUtils + +NuidUtils for getting the current network unique identifier + +## client + + +```lua +Client +``` + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## fileUtils + + +```lua +FileUtils +``` + +## getEntityIdsByKillIndicator + + +```lua +function NuidUtils.getEntityIdsByKillIndicator(self: NuidUtils) + -> table +``` + +If an entity died, the associated nuid-entityId-set will be updated with entityId multiplied by -1. +If this happens, KillEntityMsg has to be send by network. + +## getNextNuid + + +```lua +function NuidUtils.getNextNuid(self: NuidUtils) + -> integer +``` + +## globalUtils + + +```lua +GlobalsUtils +``` + +## logger + + +```lua +Logger +``` + +## new + + +```lua +function NuidUtils.new(self: NuidUtils, nuidUitlsObject: NuidUtils|nil, client: Client, customProfiler: CustomProfiler, fileUtils: FileUtils|nil, globalsUtils: GlobalsUtils|nil, logger: Logger|nil, nxml: nxml|nil) + -> NuidUtils +``` + +NuidUtils constructor + +@*param* `nuidUitlsObject` — optional + +@*param* `client` — required + +@*param* `customProfiler` — required + +@*param* `fileUtils` — optional + +@*param* `globalsUtils` — optional + +@*param* `logger` — optional + +@*param* `nxml` — optional + +## nxml + + +```lua +nxml +``` + +## worldStateXmlFileExists + + +```lua +unknown +``` + + +--- + +# OnProjectileFired + + Must define these callbacks else you get errors every + time a projectile is fired. Functions are empty since + we don't use these callbacks at the moment. + + +```lua +function OnProjectileFired() +``` + + +--- + +# OnProjectileFiredPost + + +```lua +function OnProjectileFiredPost() +``` + + +--- + +# OnWorldInitialized + + +```lua +function OnWorldInitialized() +``` + + +--- + +# PlayerNameFunction + + +```lua +function PlayerNameFunction(entity_id: any, playerName: any) +``` + + +--- + +# Server + +## __index + + +```lua +Server +``` + +## acknowledgeMaxSize + + +```lua +integer +``` + +## address + + +```lua +string +``` + +## amIServer + + +```lua +function Server.amIServer(self: Server) + -> true: boolean +``` + +Checks if the current local user is a server. + +@*return* `true` — if server, false if not +See: [Client.amIClient](../../mods/noita-mp/files/scripts/net/Client.lua#L910#9) + +## ban + + +```lua +function Server.ban(self: Server, name: string) +``` + +Bans a player by name. + +@*param* `name` — required + +## clients + + +```lua +table +``` + +## customProfiler + + +```lua +CustomProfiler +``` + +Simple profiler that can be used to measure the duration of a function and the memory usage of a function. + +## defaultSendChannel + + +```lua +integer +``` + +## defaultSendMode + + +```lua +string +``` + +## deserialize + + +```lua +nil +``` + +## entityCache + + +```lua +EntityCache +``` + +## entityCacheUtils + + +```lua +EntityCacheUtils +``` + +See: [EntityCacheUtils](../../mods/noita-mp/files/scripts/util/EntityCacheUtils.lua#L1#10) + +## entityUtils + + +```lua +EntityUtils +``` + +## fileUtils + + +```lua +FileUtils +``` + +See: [FileUtils](../../mods/noita-mp/files/scripts/util/FileUtils.lua#L1#10) + +## getAckCacheSize + + +```lua +function Server.getAckCacheSize(self: Server) + -> cacheSize: number +``` + +Mainly for profiling. Returns then network cache, aka acknowledge. + +## globalsUtils + + +```lua +GlobalsUtils +``` + +See: [GlobalsUtils](../../mods/noita-mp/files/scripts/util/GlobalsUtils.lua#L1#10) + +## guid + + +```lua +nil +``` + +## guidUtils + + +```lua +GuidUtils +``` + +See: [GuidUtils](../../mods/noita-mp/files/scripts/util/GuidUtils.lua#L2#10) + +## health + + +```lua +table +``` + +## host + + +```lua +nil +``` + +## iAm + + +```lua +string +``` + +## inBandwidth + + +```lua +number +``` + +## isRunning + + +```lua +function Server.isRunning(self: Server) + -> true: boolean +``` + +Returns true if server is running, false if not. + +@*return* `true` — if server is running, false if not + + TODO: remove this before merge + +## kick + + +```lua +function Server.kick(self: Server, name: string) +``` + +Kicks a player by name. + +@*param* `name` — required + +## listener + + +```lua +table +``` + +newListener(), + +## logger + + +```lua +Logger +``` + +## maxChannels + + +```lua +number +``` + +## maxPeers + + +```lua +number +``` + +## messageTimeout + + +```lua +integer +``` + +## minaUtils + + +```lua +MinaUtils +``` + +Util class for fetching information about local and remote minas. + +## modListCached + + +```lua +nil +``` + +## name + + +```lua +nil +``` + +## networkCache + + +```lua +NetworkCache +``` + +## networkCacheUtils + + +```lua +NetworkCacheUtils +``` + +## networkUtils + + +```lua +NetworkUtils +``` + +## networkVscUtils + + +```lua +NetworkVscUtils +``` + +NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API + +## new + + +```lua +function Server.new(address: string|nil, port: number|nil, maxPeers: number|nil, maxChannels: number|nil, inBandwidth: number|nil, outBandwidth: number|nil, np: noitapatcher) + -> Server +``` + +Server constructor. Inherits from SockServer sock.newServer. + +@*param* `address` — optional + +@*param* `port` — optional + +@*param* `maxPeers` — optional + +@*param* `maxChannels` — optional + +@*param* `inBandwidth` — optional + +@*param* `outBandwidth` — optional + +@*param* `np` — required + +## noitaComponentUtils + + +```lua +NoitaComponentUtils +``` + +Class for using Noita components. + +## noitaMpSettings + + +```lua +NoitaMpSettings +``` + + NoitaMpSettings: Replacement for Noita ModSettings. + +## noitaPatcherUtils + + +```lua +NoitaPatcherUtils +``` + +## nuid + + +```lua +nil +``` + +## nuidUtils + + +```lua +NuidUtils +``` + +NuidUtils for getting the current network unique identifier + +## outBandwidth + + +```lua +number +``` + +## packetsReceived + + +```lua +integer +``` + +## packetsSent + + +```lua +integer +``` + +## peers + + +```lua +table +``` + +## port + + +```lua +number +``` + +## preStart + + +```lua +function Server.preStart(self: Server, ip: string|nil, port: number|nil) +``` + +Starts a server on ip and port. Both can be nil, then ModSettings will be used. + +@*param* `ip` — localhost or 127.0.0.1 or nil + +@*param* `port` — port number from 1 to max of 65535 or nil + +## preUpdate + + +```lua +function Server.preUpdate(self: Server, startFrameTime: number) +``` + +Updates the server by checking for network events and handling them. + +@*param* `startFrameTime` — required +See: ~SockServer.update~ + +## send + + +```lua +function Server.send(self: Server, peer: Client|Server, event: string, data: table) + -> true: boolean +``` + +Sends a message a one peer. + +@*param* `peer` — required + +@*param* `event` — required + +@*param* `data` — required + +@*return* `true` — if message was sent, false if not + +## sendChannel + + +```lua +integer +``` + +## sendDeadNuids + + +```lua +function Server.sendDeadNuids(self: Server, deadNuids: table) +``` + +Sends dead nuids to all clients. + +@*param* `deadNuids` — required + +## sendEntityData + + +```lua +function Server.sendEntityData(self: Server, entityId: number) +``` + +Sends entity data to all clients. + +@*param* `entityId` — required + +## sendMinaInformation + + +```lua +function Server.sendMinaInformation(self: Server) + -> boolean +``` + +Sends mina information to all clients. + +## sendMode + + +```lua +string +``` + +## sendNewGuid + + +```lua +function Server.sendNewGuid(self: Server, peer: Client|Server, oldGuid: string, newGuid: string) + -> true: boolean +``` + +Sends a message to the client, when there is a guid clash. + +@*return* `true` — if message was sent, false if not + +## sendNewNuid + + +```lua +function Server.sendNewNuid(self: Server, ownerName: string, ownerGuid: string, entityId: number, currentSerializedB64Str: string, nuid: number, x: number, y: number, initSerializedB64Str: string) + -> true: boolean +``` + +Sends a new nuid to all clients. This also creates/updates the entities on clients. + +@*param* `ownerName` — required + +@*param* `ownerGuid` — required + +@*param* `entityId` — required + +@*param* `currentSerializedB64Str` — required + +@*param* `nuid` — required + +@*param* `x` — required + +@*param* `y` — required + +@*param* `initSerializedB64Str` — required + +@*return* `true` — if message was sent, false if not + +## sendToAll + + +```lua +function Server.sendToAll(self: Server, event: string, data: table) + -> true: boolean +``` + +Sends a message to all peers. + +@*param* `event` — required + +@*param* `data` — required + +@*return* `true` — if message was sent, false if not + +## sendToAllBut + + +```lua +function Server.sendToAllBut(self: Server, peer: Client|Server, event: string, data: table) + -> true: boolean +``` + +Sends a message to all peers excluded one peer defined as the peer param. + +@*param* `peer` — required + +@*param* `event` — required + +@*param* `data` — required + +@*return* `true` — if message was sent, false if not + +## serialize + + +```lua +nil +``` + +## stop + + +```lua +function Server.stop(self: Server) +``` + +Stops the server. + +## transform + + +```lua +table +``` + +## utils + + +```lua +unknown +``` + +Utils class for lazy developers. + +## zipTable + + +```lua +function +``` + + +--- + +# SockClient + +## zipTable + + +```lua +function +``` + + +--- + +# SockServer + +## address + + +```lua +string +``` + +## clients + + +```lua +table +``` + +## defaultSendChannel + + +```lua +integer +``` + +## defaultSendMode + + +```lua +string +``` + +## deserialize + + +```lua +nil +``` + +## host + + +```lua +nil +``` + +## inBandwidth + + +```lua +number +``` + +## listener + + +```lua +table +``` + +newListener(), + +## maxChannels + + +```lua +number +``` + +## maxPeers + + +```lua +number +``` + +## messageTimeout + + +```lua +integer +``` + +## outBandwidth + + +```lua +number +``` + +## packetsReceived + + +```lua +integer +``` + +## packetsSent + + +```lua +integer +``` + +## peers + + +```lua +table +``` + +## port + + +```lua +number +``` + +## sendChannel + + +```lua +integer +``` + +## sendMode + + +```lua +string +``` + +## serialize + + +```lua +nil +``` + +## zipTable + + +```lua +function +``` + + +--- + +# Ui + + Ui: NoitaMP UI. +See: + * ~PlayerList.xml~ + * ~FoldingMenu.xml~ + + +```lua +table +``` + + +--- + +# Ui.new + + +```lua +function Ui.new() + -> table +``` + + +--- + +# Utils + +Utils class for lazy developers. + +## copyToClipboard + + +```lua +function Utils.copyToClipboard(self: Utils, copy: string) +``` + +Copies a string to the clipboard. + +@*param* `copy` — string to copy to the clipboard. required + +## ffi + + +```lua +unknown +``` + +## isEmpty + + +```lua +function Utils.isEmpty(self: Utils, var: string|number|table|nil) + -> true: boolean +``` + +Checks if a variable is empty. + +@*param* `var` — variable to check + +@*return* `true` — if empty, false otherwise + +## new + + +```lua +function Utils.new(self: Utils, utilsObject: any) + -> Utils +``` + +## openUrl + + +```lua +function Utils.openUrl(self: Utils, url: string) +``` + +Opens a url in the default browser. + +@*param* `url` — url to open. required + +## pformat + + +```lua +function Utils.pformat(self: Utils, var: string|number|table|nil) + -> formatted: string|number|table +``` + +Formats anything pretty. + +@*param* `var` — variable to print + +@*return* `formatted` — variable + +## pprint + + +```lua +unknown +``` + +## reloadMap + + +```lua +function Utils.reloadMap(self: Utils, seed: number) +``` + +Reloads the whole world with a specific seed. No need to restart the game and use magic numbers. + +@*param* `seed` — max = 4294967295 + +## sleep + + +```lua +function Utils.sleep(self: Utils, s: number) +``` + +Wait for n seconds. + +@*param* `s` — seconds to wait. required + +## wait + + +```lua +function Utils.wait(self: Utils, s: number) +``` + +Wait for n seconds. + +@*param* `s` — seconds to wait +See: [Utils.sleep](../../mods/noita-mp/files/scripts/util/Utils.lua#L18#9) + + +--- + +# _G + + +A global variable (not a function) that holds the global environment (see [§2.2](http://www.lua.org/manual/5.4/manual.html#2.2)). Lua itself does not use this variable; changing its value does not affect any environment, nor vice versa. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-_G) + + + +```lua +_G +``` + + +--- + +# _VERSION + + +A global variable (not a function) that holds a string containing the running Lua version. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-_VERSION) + + + +```lua +string +``` + + +--- + +# __genOrderedIndex + + +```lua +function __genOrderedIndex(t: any) + -> table +``` + + +--- + +# arg + + +Command-line arguments of Lua Standalone. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-arg) + + + +```lua +string[] +``` + + +--- + +# assert + + +Raises an error if the value of its argument v is false (i.e., `nil` or `false`); otherwise, returns all its arguments. In case of error, `message` is the error object; when absent, it defaults to `"assertion failed!"` + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-assert) + + +```lua +function assert(v?: , message?: any, ...any) + -> + 2. ...any +``` + + +--- + +# client + + +```lua +Client +``` + + +--- + +# collectgarbage + + +This function is a generic interface to the garbage collector. It performs different functions according to its first argument, `opt`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-collectgarbage) + + +```lua +opt: + -> "collect" -- Performs a full garbage-collection cycle. + | "stop" -- Stops automatic execution. + | "restart" -- Restarts automatic execution. + | "count" -- Returns the total memory in Kbytes. + | "step" -- Performs a garbage-collection step. + | "isrunning" -- Returns whether the collector is running. + | "incremental" -- Change the collector mode to incremental. + | "generational" -- Change the collector mode to generational. +``` + + +```lua +function collectgarbage(opt?: "collect"|"count"|"generational"|"incremental"|"isrunning"...(+3), ...any) + -> any +``` + + +--- + +# compId + + +```lua +unknown +``` + + +```lua +unknown +``` + + +--- + +# coroutine + + + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine) + + + +```lua +coroutinelib +``` + + +--- + +# coroutine.close + + +Closes coroutine `co` , closing all its pending to-be-closed variables and putting the coroutine in a dead state. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.close) + + +```lua +function coroutine.close(co: thread) + -> noerror: boolean + 2. errorobject: any +``` + + +--- + +# coroutine.create + + +Creates a new coroutine, with body `f`. `f` must be a function. Returns this new coroutine, an object with type `"thread"`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.create) + + +```lua +function coroutine.create(f: fun(...any):...unknown) + -> thread +``` + + +--- + +# coroutine.isyieldable + + +Returns true when the coroutine `co` can yield. The default for `co` is the running coroutine. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.isyieldable) + + +```lua +function coroutine.isyieldable(co?: thread) + -> boolean +``` + + +--- + +# coroutine.resume + + +Starts or continues the execution of coroutine `co`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.resume) + + +```lua +function coroutine.resume(co: thread, val1?: any, ...any) + -> success: boolean + 2. ...any +``` + + +--- + +# coroutine.running + + +Returns the running coroutine plus a boolean, true when the running coroutine is the main one. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.running) + + +```lua +function coroutine.running() + -> running: thread + 2. ismain: boolean +``` + + +--- + +# coroutine.status + + +Returns the status of coroutine `co`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.status) + + +```lua +return #1: + | "running" -- Is running. + | "suspended" -- Is suspended or not started. + | "normal" -- Is active but not running. + | "dead" -- Has finished or stopped with an error. +``` + + +```lua +function coroutine.status(co: thread) + -> "dead"|"normal"|"running"|"suspended" +``` + + +--- + +# coroutine.wrap + + +Creates a new coroutine, with body `f`; `f` must be a function. Returns a function that resumes the coroutine each time it is called. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.wrap) + + +```lua +function coroutine.wrap(f: fun(...any):...unknown) + -> fun(...any):...unknown +``` + + +--- + +# coroutine.yield + + +Suspends the execution of the calling coroutine. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-coroutine.yield) + + +```lua +(async) function coroutine.yield(...any) + -> ...any +``` + + +--- + +# debug + + + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug) + + + +```lua +debuglib +``` + + +--- + +# debug.debug + + +Enters an interactive mode with the user, running each string that the user enters. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.debug) + + +```lua +function debug.debug() +``` + + +--- + +# debug.getfenv + + +Returns the environment of object `o` . + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getfenv) + + +```lua +function debug.getfenv(o: any) + -> table +``` + + +--- + +# debug.gethook + + +Returns the current hook settings of the thread. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.gethook) + + +```lua +function debug.gethook(co?: thread) + -> hook: function + 2. mask: string + 3. count: integer +``` + + +--- + +# debug.getinfo + + +Returns a table with information about a function. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getinfo) + + +--- + +```lua +what: + +> "n" -- `name` and `namewhat` + +> "S" -- `source`, `short_src`, `linedefined`, `lastlinedefined`, and `what` + +> "l" -- `currentline` + +> "t" -- `istailcall` + +> "u" -- `nups`, `nparams`, and `isvararg` + +> "f" -- `func` + +> "r" -- `ftransfer` and `ntransfer` + +> "L" -- `activelines` +``` + + +```lua +function debug.getinfo(thread: thread, f: integer|fun(...any):...unknown, what?: string|"L"|"S"|"f"|"l"...(+4)) + -> debuginfo +``` + + +--- + +# debug.getlocal + + +Returns the name and the value of the local variable with index `local` of the function at level `f` of the stack. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getlocal) + + +```lua +function debug.getlocal(thread: thread, f: integer|fun(...any):...unknown, index: integer) + -> name: string + 2. value: any +``` + + +--- + +# debug.getmetatable + + +Returns the metatable of the given value. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getmetatable) + + +```lua +function debug.getmetatable(object: any) + -> metatable: table +``` + + +--- + +# debug.getregistry + + +Returns the registry table. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getregistry) + + +```lua +function debug.getregistry() + -> table +``` + + +--- + +# debug.getupvalue + + +Returns the name and the value of the upvalue with index `up` of the function. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getupvalue) + + +```lua +function debug.getupvalue(f: fun(...any):...unknown, up: integer) + -> name: string + 2. value: any +``` + + +--- + +# debug.getuservalue + + +Returns the `n`-th user value associated +to the userdata `u` plus a boolean, +`false` if the userdata does not have that value. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.getuservalue) + + +```lua +function debug.getuservalue(u: userdata, n?: integer) + -> any + 2. boolean +``` + + +--- + +# debug.setcstacklimit + + +### **Deprecated in `Lua 5.4.2`** + +Sets a new limit for the C stack. This limit controls how deeply nested calls can go in Lua, with the intent of avoiding a stack overflow. + +In case of success, this function returns the old limit. In case of error, it returns `false`. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setcstacklimit) + + +```lua +function debug.setcstacklimit(limit: integer) + -> boolean|integer +``` + + +--- + +# debug.setfenv + + +Sets the environment of the given `object` to the given `table` . + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setfenv) + + +```lua +function debug.setfenv(object: , env: table) + -> object: +``` + + +--- + +# debug.sethook + + +Sets the given function as a hook. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.sethook) + + +--- + +```lua +mask: + +> "c" -- Calls hook when Lua calls a function. + +> "r" -- Calls hook when Lua returns from a function. + +> "l" -- Calls hook when Lua enters a new line of code. +``` + + +```lua +function debug.sethook(thread: thread, hook: fun(...any):...unknown, mask: string|"c"|"l"|"r", count?: integer) +``` + + +--- + +# debug.setlocal + + +Assigns the `value` to the local variable with index `local` of the function at `level` of the stack. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setlocal) + + +```lua +function debug.setlocal(thread: thread, level: integer, index: integer, value: any) + -> name: string +``` + + +--- + +# debug.setmetatable + + +Sets the metatable for the given value to the given table (which can be `nil`). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setmetatable) + + +```lua +function debug.setmetatable(value: , meta?: table) + -> value: +``` + + +--- + +# debug.setupvalue + + +Assigns the `value` to the upvalue with index `up` of the function. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setupvalue) + + +```lua +function debug.setupvalue(f: fun(...any):...unknown, up: integer, value: any) + -> name: string +``` + + +--- + +# debug.setuservalue + + +Sets the given `value` as +the `n`-th user value associated to the given `udata`. +`udata` must be a full userdata. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.setuservalue) + + +```lua +function debug.setuservalue(udata: userdata, value: any, n?: integer) + -> udata: userdata +``` + + +--- + +# debug.traceback + + +Returns a string with a traceback of the call stack. The optional message string is appended at the beginning of the traceback. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.traceback) + + +```lua +function debug.traceback(thread: thread, message?: any, level?: integer) + -> message: string +``` + + +--- + +# debug.upvalueid + + +Returns a unique identifier (as a light userdata) for the upvalue numbered `n` from the given function. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.upvalueid) + + +```lua +function debug.upvalueid(f: fun(...any):...unknown, n: integer) + -> id: lightuserdata +``` + + +--- + +# debug.upvaluejoin + + +Make the `n1`-th upvalue of the Lua closure `f1` refer to the `n2`-th upvalue of the Lua closure `f2`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-debug.upvaluejoin) + + +```lua +function debug.upvaluejoin(f1: fun(...any):...unknown, n1: integer, f2: fun(...any):...unknown, n2: integer) +``` + + +--- + +# dofile + + +Opens the named file and executes its content as a Lua chunk. When called without arguments, `dofile` executes the content of the standard input (`stdin`). Returns all values returned by the chunk. In case of errors, `dofile` propagates the error to its caller. (That is, `dofile` does not run in protected mode.) + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-dofile) + + +```lua +function dofile(filename?: string) + -> ...any +``` + + +```lua +function dofile(path: any) + -> unknown +``` + + +--- + +# err + + +```lua +unknown +``` + + +--- + +# error + + +Terminates the last protected function called and returns message as the error object. + +Usually, `error` adds some information about the error position at the beginning of the message, if the message is a string. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-error) + + +```lua +function error(message: any, level?: integer) +``` + + +--- + +# executed + + +```lua +boolean +``` + + +--- + +# getfenv + + +Returns the current environment in use by the function. `f` can be a Lua function or a number that specifies the function at that stack level. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-getfenv) + + +```lua +function getfenv(f?: integer|fun(...any):...unknown) + -> table +``` + + +--- + +# getmetatable + + +If object does not have a metatable, returns nil. Otherwise, if the object's metatable has a __metatable field, returns the associated value. Otherwise, returns the metatable of the given object. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-getmetatable) + + +```lua +function getmetatable(object: any) + -> metatable: table +``` + + +--- + +# globalsUtils + + +```lua +GlobalsUtils +``` + + +```lua +GlobalsUtils +``` + + +```lua +GlobalsUtils +``` + + +--- + +# gui + + +```lua +unknown +``` + + +```lua +unknown +``` + + +```lua +unknown +``` + + +```lua +unknown +``` + + +```lua +unknown +``` + + +```lua +unknown +``` + + +--- + +# io + + + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io) + + + +```lua +iolib +``` + + +--- + +# io.close + + +Close `file` or default output file. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.close) + + +```lua +exitcode: + | "exit" + | "signal" +``` + + +```lua +function io.close(file?: file*) + -> suc: boolean? + 2. exitcode: ("exit"|"signal")? + 3. code: integer? +``` + + +--- + +# io.flush + + +Saves any written data to default output file. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.flush) + + +```lua +function io.flush() +``` + + +--- + +# io.input + + +Sets `file` as the default input file. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.input) + + +```lua +function io.input(file: string|file*) +``` + + +--- + +# io.lines + + +------ +```lua +for c in io.lines(filename, ...) do + body +end +``` + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.lines) + + +```lua +...(param): + | "n" -- Reads a numeral and returns it as number. + | "a" -- Reads the whole file. + -> "l" -- Reads the next line skipping the end of line. + | "L" -- Reads the next line keeping the end of line. +``` + + +```lua +function io.lines(filename?: string, ...string|integer|"L"|"a"|"l"...(+1)) + -> fun():any, ...unknown +``` + + +--- + +# io.open + + +Opens a file, in the mode specified in the string `mode`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.open) + + +```lua +mode: + -> "r" -- Read mode. + | "w" -- Write mode. + | "a" -- Append mode. + | "r+" -- Update mode, all previous data is preserved. + | "w+" -- Update mode, all previous data is erased. + | "a+" -- Append update mode, previous data is preserved, writing is only allowed at the end of file. + | "rb" -- Read mode. (in binary mode.) + | "wb" -- Write mode. (in binary mode.) + | "ab" -- Append mode. (in binary mode.) + | "r+b" -- Update mode, all previous data is preserved. (in binary mode.) + | "w+b" -- Update mode, all previous data is erased. (in binary mode.) + | "a+b" -- Append update mode, previous data is preserved, writing is only allowed at the end of file. (in binary mode.) +``` + + +```lua +function io.open(filename: string, mode?: "a"|"a+"|"a+b"|"ab"|"r"...(+7)) + -> file*? + 2. errmsg: string? +``` + + +--- + +# io.output + + +Sets `file` as the default output file. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.output) + + +```lua +function io.output(file: string|file*) +``` + + +--- + +# io.popen + + +Starts program prog in a separated process. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.popen) + + +```lua +mode: + | "r" -- Read data from this program by `file`. + | "w" -- Write data to this program by `file`. +``` + + +```lua +function io.popen(prog: string, mode?: "r"|"w") + -> file*? + 2. errmsg: string? +``` + + +```lua +function io.popen(commandLine: any) + -> table|nil +``` + + +--- + +# io.read + + +Reads the `file`, according to the given formats, which specify what to read. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.read) + + +```lua +...(param): + | "n" -- Reads a numeral and returns it as number. + | "a" -- Reads the whole file. + -> "l" -- Reads the next line skipping the end of line. + | "L" -- Reads the next line keeping the end of line. +``` + + +```lua +function io.read(...string|integer|"L"|"a"|"l"...(+1)) + -> any + 2. ...any +``` + + +--- + +# io.tmpfile + + +In case of success, returns a handle for a temporary file. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.tmpfile) + + +```lua +function io.tmpfile() + -> file* +``` + + +--- + +# io.type + + +Checks whether `obj` is a valid file handle. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.type) + + +```lua +return #1: + | "file" -- Is an open file handle. + | "closed file" -- Is a closed file handle. + | `nil` -- Is not a file handle. +``` + + +```lua +function io.type(file: file*) + -> "closed file"|"file"|`nil` +``` + + +--- + +# io.write + + +Writes the value of each of its arguments to default output file. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-io.write) + + +```lua +function io.write(...any) + -> file* + 2. errmsg: string? +``` + + +--- + +# ipairs + + +Returns three values (an iterator function, the table `t`, and `0`) so that the construction +```lua + for i,v in ipairs(t) do body end +``` +will iterate over the key–value pairs `(1,t[1]), (2,t[2]), ...`, up to the first absent index. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-ipairs) + + +```lua +function ipairs(t: ) + -> fun(table: [], i?: integer):integer, + 2. + 3. i: integer +``` + + +--- + +# is_linux + + +```lua +boolean +``` + + +```lua +boolean +``` + + +```lua +boolean +``` + + +--- + +# is_windows + +NoitaMP additions + + +```lua +boolean +``` + + +```lua +boolean +``` + + +```lua +boolean +``` + + +--- + +# lldebugger + + TODO: remove this before merge + TODO: remove this before merge + + +```lua +unknown +``` + + +--- + +# load + + +Loads a chunk. + +If `chunk` is a string, the chunk is this string. If `chunk` is a function, `load` calls it repeatedly to get the chunk pieces. Each call to `chunk` must return a string that concatenates with previous results. A return of an empty string, `nil`, or no value signals the end of the chunk. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-load) + + +```lua +mode: + | "b" -- Only binary chunks. + | "t" -- Only text chunks. + -> "bt" -- Both binary and text. +``` + + +```lua +function load(chunk: string|function, chunkname?: string, mode?: "b"|"bt"|"t", env?: table) + -> function? + 2. error_message: string? +``` + + +--- + +# loadfile + + +Loads a chunk from file `filename` or from the standard input, if no file name is given. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-loadfile) + + +```lua +mode: + | "b" -- Only binary chunks. + | "t" -- Only text chunks. + -> "bt" -- Both binary and text. +``` + + +```lua +function loadfile(filename?: string, mode?: "b"|"bt"|"t", env?: table) + -> function? + 2. error_message: string? +``` + + +--- + +# loadstring + + +Loads a chunk from the given string. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-loadstring) + + +```lua +function loadstring(text: string, chunkname?: string) + -> function? + 2. error_message: string? +``` + + +--- + +# logger + + +```lua +Logger +``` + + +```lua +Logger +``` + + +```lua +Logger +``` + + +--- + +# math + + + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math) + + + +```lua +mathlib +``` + + +--- + +# math.abs + + +Returns the absolute value of `x`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.abs) + + +```lua +function math.abs(x: ) + -> +``` + + +--- + +# math.acos + + +Returns the arc cosine of `x` (in radians). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.acos) + + +```lua +function math.acos(x: number) + -> number +``` + + +--- + +# math.asin + + +Returns the arc sine of `x` (in radians). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.asin) + + +```lua +function math.asin(x: number) + -> number +``` + + +--- + +# math.atan + + +Returns the arc tangent of `y/x` (in radians). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.atan) + + +```lua +function math.atan(y: number, x?: number) + -> number +``` + + +--- + +# math.atan2 + + +Returns the arc tangent of `y/x` (in radians). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.atan2) + + +```lua +function math.atan2(y: number, x: number) + -> number +``` + + +--- + +# math.ceil + + +Returns the smallest integral value larger than or equal to `x`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.ceil) + + +```lua +function math.ceil(x: number) + -> integer +``` + + +--- + +# math.cos + + +Returns the cosine of `x` (assumed to be in radians). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.cos) + + +```lua +function math.cos(x: number) + -> number +``` + + +--- + +# math.cosh + + +Returns the hyperbolic cosine of `x` (assumed to be in radians). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.cosh) + + +```lua +function math.cosh(x: number) + -> number +``` + + +--- + +# math.deg + + +Converts the angle `x` from radians to degrees. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.deg) + + +```lua +function math.deg(x: number) + -> number +``` + + +--- + +# math.exp + + +Returns the value `e^x` (where `e` is the base of natural logarithms). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.exp) + + +```lua +function math.exp(x: number) + -> number +``` + + +--- + +# math.floor + + +Returns the largest integral value smaller than or equal to `x`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.floor) + + +```lua +function math.floor(x: number) + -> integer +``` + + +--- + +# math.fmod + + +Returns the remainder of the division of `x` by `y` that rounds the quotient towards zero. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.fmod) + + +```lua +function math.fmod(x: number, y: number) + -> number +``` + + +--- + +# math.frexp + + +Decompose `x` into tails and exponents. Returns `m` and `e` such that `x = m * (2 ^ e)`, `e` is an integer and the absolute value of `m` is in the range [0.5, 1) (or zero when `x` is zero). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.frexp) + + +```lua +function math.frexp(x: number) + -> m: number + 2. e: number +``` + + +--- + +# math.ldexp + + +Returns `m * (2 ^ e)` . + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.ldexp) + + +```lua +function math.ldexp(m: number, e: number) + -> number +``` + + +--- + +# math.log + + +Returns the logarithm of `x` in the given base. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.log) + + +```lua +function math.log(x: number, base?: integer) + -> number +``` + + +--- + +# math.log10 + + +Returns the base-10 logarithm of x. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.log10) + + +```lua +function math.log10(x: number) + -> number +``` + + +--- + +# math.max + + +Returns the argument with the maximum value, according to the Lua operator `<`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.max) + + +```lua +function math.max(x: , ...) + -> +``` + + +--- + +# math.min + + +Returns the argument with the minimum value, according to the Lua operator `<`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.min) + + +```lua +function math.min(x: , ...) + -> +``` + + +--- + +# math.modf + + +Returns the integral part of `x` and the fractional part of `x`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.modf) + + +```lua +function math.modf(x: number) + -> integer + 2. number +``` + + +--- + +# math.pow + + +Returns `x ^ y` . + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.pow) + + +```lua +function math.pow(x: number, y: number) + -> number +``` + + +--- + +# math.rad + + +Converts the angle `x` from degrees to radians. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.rad) + + +```lua +function math.rad(x: number) + -> number +``` + + +--- + +# math.random + + +* `math.random()`: Returns a float in the range [0,1). +* `math.random(n)`: Returns a integer in the range [1, n]. +* `math.random(m, n)`: Returns a integer in the range [m, n]. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.random) + + +```lua +function math.random(m: integer, n: integer) + -> integer +``` + + +--- + +# math.randomseed + + +* `math.randomseed(x, y)`: Concatenate `x` and `y` into a 128-bit `seed` to reinitialize the pseudo-random generator. +* `math.randomseed(x)`: Equate to `math.randomseed(x, 0)` . +* `math.randomseed()`: Generates a seed with a weak attempt for randomness. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.randomseed) + + +```lua +function math.randomseed(x?: integer, y?: integer) +``` + + +--- + +# math.round + + This way, you can round on any bracket: + math.round(119.68, 6.4) -- 121.6 (= 19 * 6.4) + It works for "number of decimals" too, with a rather visual representation: + math.round(119.68, 0.01) -- 119.68 + math.round(119.68, 0.1) -- 119.7 + math.round(119.68) -- 120 + math.round(119.68, 100) -- 100 + math.round(119.68, 1000) -- 0 + + +```lua +function math.round(v: number|nil, bracket: number|nil) + -> number +``` + + +--- + +# math.sign + +Returns the sign of a number. + + +```lua +function math.sign(v: number) + -> integer +``` + + +--- + +# math.sin + + +Returns the sine of `x` (assumed to be in radians). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.sin) + + +```lua +function math.sin(x: number) + -> number +``` + + +--- + +# math.sinh + + +Returns the hyperbolic sine of `x` (assumed to be in radians). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.sinh) + + +```lua +function math.sinh(x: number) + -> number +``` + + +--- + +# math.sqrt + + +Returns the square root of `x`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.sqrt) + + +```lua +function math.sqrt(x: number) + -> number +``` + + +--- + +# math.tan + + +Returns the tangent of `x` (assumed to be in radians). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.tan) + + +```lua +function math.tan(x: number) + -> number +``` + + +--- + +# math.tanh + + +Returns the hyperbolic tangent of `x` (assumed to be in radians). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.tanh) + + +```lua +function math.tanh(x: number) + -> number +``` + + +--- + +# math.tointeger + + +If the value `x` is convertible to an integer, returns that integer. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.tointeger) + + +```lua +function math.tointeger(x: any) + -> integer? +``` + + +--- + +# math.type + + +Returns `"integer"` if `x` is an integer, `"float"` if it is a float, or `nil` if `x` is not a number. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.type) + + +```lua +return #1: + | "integer" + | "float" + | 'nil' +``` + + +```lua +function math.type(x: any) + -> "float"|"integer"|'nil' +``` + + +--- + +# math.ult + + +Returns `true` if and only if `m` is below `n` when they are compared as unsigned integers. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-math.ult) + + +```lua +function math.ult(m: integer, n: integer) + -> boolean +``` + + +--- + +# module + + +Creates a module. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-module) + + +```lua +function module(name: string, ...any) +``` + + +--- + +# name + + +```lua +nil +``` + + +```lua +unknown +``` + + +--- + +# networkVscUtils + +NetworkVscUtils for getting and setting values in VariableStorageComponents of Noita-API + + +```lua +NetworkVscUtils +``` + + +```lua +NetworkVscUtils +``` + + +--- + +# newproxy + + +```lua +function newproxy(proxy: boolean|table|userdata) + -> userdata +``` + + +--- + +# next + + +Allows a program to traverse all fields of a table. Its first argument is a table and its second argument is an index in this table. A call to `next` returns the next index of the table and its associated value. When called with `nil` as its second argument, `next` returns an initial index and its associated value. When called with the last index, or with `nil` in an empty table, `next` returns `nil`. If the second argument is absent, then it is interpreted as `nil`. In particular, you can use `next(t)` to check whether a table is empty. + +The order in which the indices are enumerated is not specified, *even for numeric indices*. (To traverse a table in numerical order, use a numerical `for`.) + +The behavior of `next` is undefined if, during the traversal, you assign any value to a non-existent field in the table. You may however modify existing fields. In particular, you may set existing fields to nil. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-next) + + +```lua +function next(table: table<, >, index?: ) + -> ? + 2. ? +``` + + +--- + +# noitaComponentUtils + +Class for using Noita components. + + +```lua +NoitaComponentUtils +``` + + +--- + +# noitaMpSettings + + NoitaMpSettings: Replacement for Noita ModSettings. + + +```lua +NoitaMpSettings +``` + + +```lua +NoitaMpSettings +``` + + +```lua +NoitaMpSettings +``` + + +--- + +# noitaMpSettings.customProfiler + + +```lua +table +``` + + +```lua +table +``` + + +```lua +table +``` + + +--- + +# once + + +```lua +boolean +``` + + +--- + +# orderedNext + + +```lua +function orderedNext(t: any, state: any) + -> unknown|nil + 2. unknown|nil +``` + + +--- + +# orderedPairs + + +```lua +function orderedPairs(t: any) + -> function + 2. unknown + 3. nil +``` + + +--- + +# os + + + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os) + + + +```lua +oslib +``` + + +--- + +# os.clock + + +Returns an approximation of the amount in seconds of CPU time used by the program. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.clock) + + +```lua +function os.clock() + -> number +``` + + +--- + +# os.date + + +Returns a string or a table containing date and time, formatted according to the given string `format`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.date) + + +```lua +function os.date(format?: string, time?: integer) + -> string|osdate +``` + + +--- + +# os.difftime + + +Returns the difference, in seconds, from time `t1` to time `t2`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.difftime) + + +```lua +function os.difftime(t2: integer, t1: integer) + -> integer +``` + + +--- + +# os.execute + + +Passes `command` to be executed by an operating system shell. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.execute) + + +```lua +exitcode: + | "exit" + | "signal" +``` + + +```lua +function os.execute(command?: string) + -> suc: boolean? + 2. exitcode: ("exit"|"signal")? + 3. code: integer? +``` + + +```lua +function os.execute(commandLine: any) + -> integer +``` + + +--- + +# os.exit + + +Calls the ISO C function `exit` to terminate the host program. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.exit) + + +```lua +function os.exit(code?: boolean|integer, close?: boolean) +``` + + +--- + +# os.getenv + + +Returns the value of the process environment variable `varname`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.getenv) + + +```lua +function os.getenv(varname: string) + -> string? +``` + + +--- + +# os.remove + + +Deletes the file with the given name. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.remove) + + +```lua +function os.remove(filename: string) + -> suc: boolean + 2. errmsg: string? +``` + + +--- + +# os.rename + + +Renames the file or directory named `oldname` to `newname`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.rename) + + +```lua +function os.rename(oldname: string, newname: string) + -> suc: boolean + 2. errmsg: string? +``` + + +--- + +# os.setlocale + + +Sets the current locale of the program. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.setlocale) + + +```lua +category: + -> "all" + | "collate" + | "ctype" + | "monetary" + | "numeric" + | "time" +``` + + +```lua +function os.setlocale(locale: string|nil, category?: "all"|"collate"|"ctype"|"monetary"|"numeric"...(+1)) + -> localecategory: string +``` + + +--- + +# os.time + + +Returns the current time when called without arguments, or a time representing the local date and time specified by the given table. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.time) + + +```lua +function os.time(date?: osdate) + -> integer +``` + + +--- + +# os.tmpname + + +Returns a string with a file name that can be used for a temporary file. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-os.tmpname) + + +```lua +function os.tmpname() + -> string +``` + + +--- + +# os_arch + + +```lua +unknown +``` + + +--- + +# os_name + + +```lua +string +``` + + +--- + +# package + + + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package) + + + +```lua +packagelib +``` + + +--- + +# package.config + + +A string describing some compile-time configurations for packages. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.config) + + + +```lua +string +``` + + +--- + +# package.cpath + + +```lua +unknown +``` + + +```lua +string +``` + + +```lua +string +``` + + +--- + +# package.loaders + + +A table used by `require` to control how to load modules. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.loaders) + + + +```lua +table +``` + + +--- + +# package.loadlib + + +Dynamically links the host program with the C library `libname`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.loadlib) + + +```lua +function package.loadlib(libname: string, funcname: string) + -> any +``` + + +--- + +# package.path + + [[ LuaRocks modules ]]-- + + +```lua +unknown +``` + + +```lua +unknown +``` + + +```lua +unknown +``` + + +```lua +unknown +``` + + +```lua +unknown +``` + + +```lua +unknown +``` + + +```lua +unknown +``` + + +```lua +string +``` + + +```lua +string +``` + + +```lua +string +``` + + +--- + +# package.searchers + + +A table used by `require` to control how to load modules. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.searchers) + + + +```lua +table +``` + + +--- + +# package.searchpath + + +Searches for the given `name` in the given `path`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.searchpath) + + +```lua +function package.searchpath(name: string, path: string, sep?: string, rep?: string) + -> filename: string? + 2. errmsg: string? +``` + + +--- + +# package.seeall + + +Sets a metatable for `module` with its `__index` field referring to the global environment, so that this module inherits values from the global environment. To be used as an option to function `module` . + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-package.seeall) + + +```lua +function package.seeall(module: table) +``` + + +--- + +# pairs + + +If `t` has a metamethod `__pairs`, calls it with t as argument and returns the first three results from the call. + +Otherwise, returns three values: the [next](http://www.lua.org/manual/5.4/manual.html#pdf-next) function, the table `t`, and `nil`, so that the construction +```lua + for k,v in pairs(t) do body end +``` +will iterate over all key–value pairs of table `t`. + +See function [next](http://www.lua.org/manual/5.4/manual.html#pdf-next) for the caveats of modifying the table during its traversal. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-pairs) + + +```lua +function pairs(t: ) + -> fun(table: table<, >, index?: ):, + 2. +``` + + +--- + +# pathSeparator + + +```lua +string +``` + + +```lua +string +``` + + +```lua +string +``` + + +--- + +# pcall + + +Calls the function `f` with the given arguments in *protected mode*. This means that any error inside `f` is not propagated; instead, `pcall` catches the error and returns a status code. Its first result is the status code (a boolean), which is true if the call succeeds without errors. In such case, `pcall` also returns all results from the call, after this first result. In case of any error, `pcall` returns `false` plus the error object. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-pcall) + + +```lua +function pcall(f: fun(...any):...unknown, arg1?: any, ...any) + -> success: boolean + 2. result: any + 3. ...any +``` + + +--- + +# print + + +Receives any number of arguments and prints their values to `stdout`, converting each argument to a string following the same rules of [tostring](http://www.lua.org/manual/5.4/manual.html#pdf-tostring). +The function print is not intended for formatted output, but only as a quick way to show a value, for instance for debugging. For complete control over the output, use [string.format](http://www.lua.org/manual/5.4/manual.html#pdf-string.format) and [io.write](http://www.lua.org/manual/5.4/manual.html#pdf-io.write). + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-print) + + +```lua +function print(...any) +``` + + +--- + +# profilerIsRunning + + +```lua +boolean +``` + + +```lua +boolean +``` + + +--- + +# rawequal + + +Checks whether v1 is equal to v2, without invoking the `__eq` metamethod. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawequal) + + +```lua +function rawequal(v1: any, v2: any) + -> boolean +``` + + +--- + +# rawget + + +Gets the real value of `table[index]`, without invoking the `__index` metamethod. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawget) + + +```lua +function rawget(table: table, index: any) + -> any +``` + + +--- + +# rawlen + + +Returns the length of the object `v`, without invoking the `__len` metamethod. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawlen) + + +```lua +function rawlen(v: string|table) + -> len: integer +``` + + +--- + +# rawset + + +Sets the real value of `table[index]` to `value`, without using the `__newindex` metavalue. `table` must be a table, `index` any value different from `nil` and `NaN`, and `value` any Lua value. +This function returns `table`. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-rawset) + + +```lua +function rawset(table: table, index: any, value: any) + -> table +``` + + +--- + +# require + + +Loads the given module, returns any value returned by the searcher(`true` when `nil`). Besides that value, also returns as a second result the loader data returned by the searcher, which indicates how `require` found the module. (For instance, if the module came from a file, this loader data is the file path.) + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-require) + + +```lua +function require(modname: string) + -> unknown + 2. loaderdata: unknown +``` + + +--- + +# run_count + + https://github.com/dextercd/Noita-Component-Explorer/blob/main/component-explorer/entities/imgui_warning.lua + + +```lua +integer +``` + + +```lua +unknown +``` + + +--- + +# select + + +If `index` is a number, returns all arguments after argument number `index`; a negative number indexes from the end (`-1` is the last argument). Otherwise, `index` must be the string `"#"`, and `select` returns the total number of extra arguments it received. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-select) + + +```lua +index: + | "#" +``` + + +```lua +function select(index: integer|"#", ...any) + -> any +``` + + +--- + +# server + + +```lua +Server +``` + + +--- + +# setfenv + + +Sets the environment to be used by the given function. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-setfenv) + + +```lua +function setfenv(f: fun(...any):...integer|unknown, table: table) + -> function +``` + + +--- + +# setmetatable + + +Sets the metatable for the given table. If `metatable` is `nil`, removes the metatable of the given table. If the original metatable has a `__metatable` field, raises an error. + +This function returns `table`. + +To change the metatable of other types from Lua code, you must use the debug library ([§6.10](http://www.lua.org/manual/5.4/manual.html#6.10)). + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-setmetatable) + + +```lua +function setmetatable(table: table, metatable?: table) + -> table +``` + + +--- + +# seven_zip + + +```lua +string +``` + + +--- + +# sock + +## CONNECTING_STATES + + +```lua +table +``` + + States that represent the client connecting to a server. + +## CONNECTION_STATES + + +```lua +table +``` + + All of the possible connection statuses for a client connection. + @see SockClient:getState + +## DISCONNECTING_STATES + + +```lua +table +``` + + States that represent the client disconnecting from a server. + +## SEND_MODES + + +```lua +table +``` + + Valid modes for sending messages. + + +--- + +# string + + + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string) + + + +```lua +stringlib +``` + + +--- + +# string.ExtendOrCutStringToLength + +@*param* `var` — any string you want to extend or cut + + Extends @var to the @length with @char. Example 1: "test", 6, " " = "test " | Example 2: "verylongstring", 5, " " = "veryl" + + +```lua +function string.ExtendOrCutStringToLength(var: string, length: number, char: any, makeItVisible?: boolean) + -> string +``` + + +--- + +# string.byte + + +Returns the internal numeric codes of the characters `s[i], s[i+1], ..., s[j]`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.byte) + + +```lua +function string.byte(s: string|number, i?: integer, j?: integer) + -> ...integer +``` + + +--- + +# string.char + + +Returns a string with length equal to the number of arguments, in which each character has the internal numeric code equal to its corresponding argument. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.char) + + +```lua +function string.char(byte: integer, ...integer) + -> string +``` + + +--- + +# string.contains + +@*param* `str` — String + +@*param* `pattern` — String, Char, Regex + +@*return* `found` — 'true' if found, else 'false'. + + Contains on lower case + + +```lua +function string.contains(str: string, pattern: string) + -> found: boolean +``` + + +```lua +function string.contains(str: string, pattern: string) + -> found: boolean +``` + + +--- + +# string.dump + + +Returns a string containing a binary representation (a *binary chunk*) of the given function. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.dump) + + +```lua +function string.dump(f: fun(...any):...unknown, strip?: boolean) + -> string +``` + + +--- + +# string.find + + +Looks for the first match of `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) in the string. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.find) + +@*return* `start` + +@*return* `end` + +@*return* `...` — captured + + +```lua +function string.find(s: string|number, pattern: string|number, init?: integer, plain?: boolean) + -> start: integer + 2. end: integer + 3. ...any +``` + + +--- + +# string.format + + +Returns a formatted version of its variable number of arguments following the description given in its first argument. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.format) + + +```lua +function string.format(s: string|number, ...any) + -> string +``` + + +--- + +# string.gmatch + + +Returns an iterator function that, each time it is called, returns the next captures from `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) over the string s. + +As an example, the following loop will iterate over all the words from string s, printing one per line: +```lua + s = +"hello world from Lua" + for w in string.gmatch(s, "%a+") do + print(w) + end +``` + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.gmatch) + + +```lua +function string.gmatch(s: string|number, pattern: string|number, init?: integer) + -> fun():string, ...unknown +``` + + +--- + +# string.gsub + + +Returns a copy of s in which all (or the first `n`, if given) occurrences of the `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) have been replaced by a replacement string specified by `repl`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.gsub) + + +```lua +function string.gsub(s: string|number, pattern: string|number, repl: string|number|function|table, n?: integer) + -> string + 2. count: integer +``` + + +--- + +# string.len + + +Returns its length. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.len) + + +```lua +function string.len(s: string|number) + -> integer +``` + + +--- + +# string.lower + + +Returns a copy of this string with all uppercase letters changed to lowercase. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.lower) + + +```lua +function string.lower(s: string|number) + -> string +``` + + +--- + +# string.match + + +Looks for the first match of `pattern` (see [§6.4.1](http://www.lua.org/manual/5.4/manual.html#6.4.1)) in the string. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.match) + + +```lua +function string.match(s: string|number, pattern: string|number, init?: integer) + -> ...any +``` + + +--- + +# string.pack + + +Returns a binary string containing the values `v1`, `v2`, etc. packed (that is, serialized in binary form) according to the format string `fmt` (see [§6.4.2](http://www.lua.org/manual/5.4/manual.html#6.4.2)) . + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.pack) + + +```lua +function string.pack(fmt: string, v1: string|number, v2: any, ...string|number) + -> binary: string +``` + + +--- + +# string.packsize + + +Returns the size of a string resulting from `string.pack` with the given format string `fmt` (see [§6.4.2](http://www.lua.org/manual/5.4/manual.html#6.4.2)) . + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.packsize) + + +```lua +function string.packsize(fmt: string) + -> integer +``` + + +--- + +# string.rep + + +Returns a string that is the concatenation of `n` copies of the string `s` separated by the string `sep`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.rep) + + +```lua +function string.rep(s: string|number, n: integer, sep?: string|number) + -> string +``` + + +--- + +# string.reverse + + +Returns a string that is the string `s` reversed. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.reverse) + + +```lua +function string.reverse(s: string|number) + -> string +``` + + +--- + +# string.split + + http://lua-users.org/wiki/SplitJoin + Function: Split a string with a pattern, Take Two + Compatibility: Lua-5.1 + + +```lua +function string.split(str: any, pat: any) + -> table +``` + + +```lua +function string.split(str: any, pat: any) + -> table +``` + + +--- + +# string.sub + + +Returns the substring of the string that starts at `i` and continues until `j`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.sub) + + +```lua +function string.sub(s: string|number, i: integer, j?: integer) + -> string +``` + + +--- + +# string.trim + + +```lua +function string.trim(s: any) + -> string +``` + + +```lua +function string.trim(s: any) + -> string +``` + + +--- + +# string.unpack + + +Returns the values packed in string according to the format string `fmt` (see [§6.4.2](http://www.lua.org/manual/5.4/manual.html#6.4.2)) . + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.unpack) + + +```lua +function string.unpack(fmt: string, s: string, pos?: integer) + -> ...any + 2. offset: integer +``` + + +--- + +# string.upper + + +Returns a copy of this string with all lowercase letters changed to uppercase. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-string.upper) + + +```lua +function string.upper(s: string|number) + -> string +``` + + +--- + +# table + + + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table) + + + +```lua +tablelib +``` + + +--- + +# table.concat + + +Given a list where all elements are strings or numbers, returns the string `list[i]..sep..list[i+1] ··· sep..list[j]`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.concat) + + +```lua +function table.concat(list: table, sep?: string, i?: integer, j?: integer) + -> string +``` + + +--- + +# table.foreach + + +Executes the given f over all elements of table. For each element, f is called with the index and respective value as arguments. If f returns a non-nil value, then the loop is broken, and this value is returned as the final value of foreach. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.foreach) + + +```lua +function table.foreach(list: any, callback: fun(key: string, value: any):|nil) + -> |nil +``` + + +--- + +# table.foreachi + + +Executes the given f over the numerical indices of table. For each index, f is called with the index and respective value as arguments. Indices are visited in sequential order, from 1 to n, where n is the size of the table. If f returns a non-nil value, then the loop is broken and this value is returned as the result of foreachi. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.foreachi) + + +```lua +function table.foreachi(list: any, callback: fun(key: string, value: any):|nil) + -> |nil +``` + + +--- + +# table.getn + + +Returns the number of elements in the table. This function is equivalent to `#list`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.getn) + + +```lua +function table.getn(list: []) + -> integer +``` + + +--- + +# table.insert + + +Inserts element `value` at position `pos` in `list`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.insert) + + +```lua +function table.insert(list: table, pos: integer, value: any) +``` + + +--- + +# table.maxn + + +Returns the largest positive numerical index of the given table, or zero if the table has no positive numerical indices. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.maxn) + + +```lua +function table.maxn(table: table) + -> integer +``` + + +--- + +# table.move + + +Moves elements from table `a1` to table `a2`. +```lua +a2[t],··· = +a1[f],···,a1[e] +return a2 +``` + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.move) + + +```lua +function table.move(a1: table, f: integer, e: integer, t: integer, a2?: table) + -> a2: table +``` + + +--- + +# table.pack + + +Returns a new table with all arguments stored into keys `1`, `2`, etc. and with a field `"n"` with the total number of arguments. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.pack) + + +```lua +function table.pack(...any) + -> table +``` + + +--- + +# table.remove + + +Removes from `list` the element at position `pos`, returning the value of the removed element. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.remove) + + +```lua +function table.remove(list: table, pos?: integer) + -> any +``` + + +--- + +# table.sort + + +Sorts list elements in a given order, *in-place*, from `list[1]` to `list[#list]`. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.sort) + + +```lua +function table.sort(list: [], comp?: fun(a: , b: ):boolean) +``` + + +--- + +# table.unpack + + +Returns the elements from the given list. This function is equivalent to +```lua + return list[i], list[i+1], ···, list[j] +``` +By default, `i` is `1` and `j` is `#list`. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table.unpack) + + +```lua +function table.unpack(list: [], i?: integer, j?: integer) + -> ... +``` + + +--- + +# tablelib + + + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-table) + + +## contains + + +```lua +function tablelib.contains(tbl: table, key: any) + -> true: boolean + 2. index: number +``` + +Return true, if the key is contained in the tbl. NOTE: Doesn't check for duplicates inside the table. + +@*param* `key` — Number(index) or String(name matching) for indexing the table. + +@*return* `true` — if indexing by key does not return nil + +@*return* `index` — also returns the index of the found key + +## containsAll + + +```lua +function tablelib.containsAll(tbl: table, ...any) + -> true: boolean +``` + + https://gist.github.com/HoraceBury/9307117#file-tablelib-lua-L293-L313 +Returns true if all the arg parameters are contained in the tbl. + +@*return* `true` — if all the values were in the table. + +## indexOf + + +```lua +function tablelib.indexOf(tbl: any, value: any) + -> integer|nil +``` + + https://stackoverflow.com/a/52922737/3493998 + +## insertAllButNotDuplicates + + +```lua +function tablelib.insertAllButNotDuplicates(tbl1: table, tbl2: table) +``` + +Adds all values of tbl2 into tbl, but not duplicates. + +## insertIfNotExist + + +```lua +function tablelib.insertIfNotExist(tbl: table, value: any) +``` + + Adds a value to a table, if this value doesn't exist in the table + +## isEmpty + + +```lua +function tablelib.isEmpty(tbl: table) + -> true: boolean +``` + +Extension or expansion of the default lua table for checking if a table is empty. + +@*return* `true` — if table is empty. + +## join + + +```lua +function tablelib.join(tbl: table, logger: Logger, utils: Utils) + -> Example: string +``` + +We need a simple and 'fast' way to convert a lua table into a string. + +@*param* `tbl` — { "Name", 2, 234, "string" } + +@*param* `logger` — required + +@*param* `utils` — required + +@*return* `Example` — tbl becomes "Name,2,234,string" + +## removeByTable + + +```lua +function tablelib.removeByTable(tbl1: table, tbl2: table) + -> tbl1: table +``` + + Removes all values in tbl1 by the values of tbl2 + +@*return* `tbl1` — returns tbl1 with remove values containing in tbl2 + +## removeByValue + + +```lua +function tablelib.removeByValue(tbl: any, value: any) + -> unknown +``` + +## size + + +```lua +function tablelib.size(tbl: any) + -> integer +``` + + +--- + +# toBoolean + + +```lua +function toBoolean(value: any) + -> boolean +``` + + +--- + +# tonumber + + +When called with no `base`, `tonumber` tries to convert its argument to a number. If the argument is already a number or a string convertible to a number, then `tonumber` returns this number; otherwise, it returns `fail`. + +The conversion of strings can result in integers or floats, according to the lexical conventions of Lua (see [§3.1](http://www.lua.org/manual/5.4/manual.html#3.1)). The string may have leading and trailing spaces and a sign. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-tonumber) + + +```lua +function tonumber(e: any) + -> number? +``` + + +--- + +# tostring + + +Receives a value of any type and converts it to a string in a human-readable format. + +If the metatable of `v` has a `__tostring` field, then `tostring` calls the corresponding value with `v` as argument, and uses the result of the call as its result. Otherwise, if the metatable of `v` has a `__name` field with a string value, `tostring` may use that string in its final result. + +For complete control of how numbers are converted, use [string.format](http://www.lua.org/manual/5.4/manual.html#pdf-string.format). + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-tostring) + + +```lua +function tostring(v: any) + -> string +``` + + +--- + +# type + + +Returns the type of its only argument, coded as a string. The possible results of this function are `"nil"` (a string, not the value `nil`), `"number"`, `"string"`, `"boolean"`, `"table"`, `"function"`, `"thread"`, and `"userdata"`. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-type) + + +```lua +type: + | "nil" + | "number" + | "string" + | "boolean" + | "table" + | "function" + | "thread" + | "userdata" +``` + + +```lua +function type(v: any) + -> type: "boolean"|"function"|"nil"|"number"|"string"...(+3) +``` + + +--- + +# unpack + + +Returns the elements from the given `list`. This function is equivalent to +```lua + return list[i], list[i+1], ···, list[j] +``` + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-unpack) + + +```lua +function unpack(list: [], i?: integer, j?: integer) + -> ... +``` + + +--- + +# utf8 + + + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8) + + + +```lua +utf8lib +``` + + +--- + +# utf8.char + + +Receives zero or more integers, converts each one to its corresponding UTF-8 byte sequence and returns a string with the concatenation of all these sequences. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.char) + + +```lua +function utf8.char(code: integer, ...integer) + -> string +``` + + +--- + +# utf8.codepoint + + +Returns the codepoints (as integers) from all characters in `s` that start between byte position `i` and `j` (both included). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.codepoint) + + +```lua +function utf8.codepoint(s: string, i?: integer, j?: integer, lax?: boolean) + -> code: integer + 2. ...integer +``` + + +--- + +# utf8.codes + + +Returns values so that the construction +```lua +for p, c in utf8.codes(s) do + body +end +``` +will iterate over all UTF-8 characters in string s, with p being the position (in bytes) and c the code point of each character. It raises an error if it meets any invalid byte sequence. + + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.codes) + + +```lua +function utf8.codes(s: string, lax?: boolean) + -> fun(s: string, p: integer):integer, integer +``` + + +--- + +# utf8.len + + +Returns the number of UTF-8 characters in string `s` that start between positions `i` and `j` (both inclusive). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.len) + + +```lua +function utf8.len(s: string, i?: integer, j?: integer, lax?: boolean) + -> integer? + 2. errpos: integer? +``` + + +--- + +# utf8.offset + + +Returns the position (in bytes) where the encoding of the `n`-th character of `s` (counting from position `i`) starts. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-utf8.offset) + + +```lua +function utf8.offset(s: string, n: integer, i?: integer) + -> p: integer +``` + + +--- + +# warn + + +Emits a warning with a message composed by the concatenation of all its arguments (which should be strings). + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-warn) + + +```lua +function warn(message: string, ...any) +``` + + +--- + +# xpcall + + +Calls function `f` with the given arguments in protected mode with a new message handler. + +[View documents](http://www.lua.org/manual/5.4/manual.html#pdf-xpcall) + + +```lua +function xpcall(f: fun(...any):...unknown, msgh: function, arg1?: any, ...any) + -> success: boolean + 2. result: any + 3. ...any +``` \ No newline at end of file diff --git a/docs/lua-docs/lua-language-server-config.lua b/docs/lua-docs/lua-language-server-config.lua new file mode 100644 index 000000000..e69de29bb diff --git a/mkdocs.yml b/mkdocs.yml index 73184da39..eacdd2219 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -29,6 +29,7 @@ nav: - Contributing: - Contributing guide: 'contributing/CONTRIBUTING.md' - Code of conduct: 'contributing/CODE_OF_CONDUCT.md' + - Lua Docs: 'lua-docs/doc.md' - About: - Credits : 'about/credits.md' - License: 'about/LICENSE.md'