mirror of
https://github.com/IntQuant/noita_entangled_worlds.git
synced 2025-10-19 07:03:16 +00:00
Provide API for other mods to load their owm modules.
This commit is contained in:
parent
0f55a96df4
commit
d5e7f54ef1
7 changed files with 47 additions and 10 deletions
|
@ -1,14 +1,14 @@
|
|||
# List of available hooks:
|
||||
|
||||
- `ctx.hook.on_world_initialized()`
|
||||
- `ctx.hook.on_world_update()`
|
||||
- `ctx.hook.on_world_update_client()`
|
||||
- `ctx.hook.on_world_update_host()`
|
||||
- `ctx.hook.on_new_player_seen(new_playerdata, player_count)` - called the first time player with this peer_id has entered the world
|
||||
- `ctx.hook.on_local_player_spawn(my_player)`
|
||||
- `ctx.hook.on_world_initialized()` - called on OnWorldInitialized.
|
||||
- `ctx.hook.on_world_update()` - called on OnWorldPreUpdate.
|
||||
- `ctx.hook.on_world_update_client()` - called on OnWorldPreUpdate, but only on clients.
|
||||
- `ctx.hook.on_world_update_host()` - called on OnWorldPreUpdate, but only on host.
|
||||
- `ctx.hook.on_new_player_seen(new_playerdata, player_count)` - called the first time player with this peer_id has entered the world.
|
||||
- `ctx.hook.on_local_player_spawn(my_player)` - called when the *local* gets spawned. `my_player` is playerdata table for this player.
|
||||
- `ctx.hook.on_client_spawned(peer_id, new_playerdata)`
|
||||
- `ctx.hook.on_should_send_updates()` - called either when we connect, or somebody else connects (and sends "welcome" message)
|
||||
- `ctx.hook.on_should_send_updates()` - called either when we connect, or somebody else connects (and sends "welcome" message).
|
||||
- `ctx.hook.on_draw_debug_window(imgui)`
|
||||
- `ctx.hook.on_local_player_polymorphed(currently_polymorphed)`
|
||||
- `ctx.hook.on_client_polymorphed(peer_id, player_data)`
|
||||
- `ctx.hook.on_late_init()`
|
||||
- `ctx.hook.on_late_init()` - called on OnModPostInit.
|
||||
|
|
4
ew_api_example/compatibility.xml
Executable file
4
ew_api_example/compatibility.xml
Executable file
|
@ -0,0 +1,4 @@
|
|||
<Mod
|
||||
version_built_with="12"
|
||||
>
|
||||
</Mod>
|
3
ew_api_example/init.lua
Normal file
3
ew_api_example/init.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
if ModIsEnabled("quant.ew") then
|
||||
ModLuaFileAppend("mods/quant.ew/files/api/extra_modules.lua", "mods/ew_api_example/module.lua")
|
||||
end
|
9
ew_api_example/mod.xml
Executable file
9
ew_api_example/mod.xml
Executable file
|
@ -0,0 +1,9 @@
|
|||
<Mod
|
||||
name="EW API Example mod"
|
||||
description=""
|
||||
request_no_api_restrictions="0"
|
||||
is_game_mode="0"
|
||||
translation_xml_path=""
|
||||
translation_csv_path=""
|
||||
>
|
||||
</Mod>
|
9
ew_api_example/module.lua
Normal file
9
ew_api_example/module.lua
Normal file
|
@ -0,0 +1,9 @@
|
|||
local module = {}
|
||||
|
||||
function module.on_world_update()
|
||||
if GameGetFrameNum() % 60 == 0 then
|
||||
GamePrint("Hi from api example!")
|
||||
end
|
||||
end
|
||||
|
||||
return module
|
4
quant.ew/files/api/extra_modules.lua
Normal file
4
quant.ew/files/api/extra_modules.lua
Normal file
|
@ -0,0 +1,4 @@
|
|||
-- All files that get LuaAppended here before OnModInit happens get run as modules.
|
||||
-- Every module should return a table of functions (can be empty).
|
||||
-- Functions starting with `on_` are called hooks. They will get called when relevant.
|
||||
-- See docs/hooks.md for a list of all hooks.
|
|
@ -119,6 +119,13 @@ local function load_modules()
|
|||
ctx.load_system("wand_charm")
|
||||
end
|
||||
|
||||
local function load_extra_modules()
|
||||
print("Starting to load extra stuff")
|
||||
for _, file in ipairs(ModLuaFileGetAppends("mods/quant.ew/files/api/extra_modules.lua")) do
|
||||
ctx.dofile_and_add_hooks(file)
|
||||
end
|
||||
end
|
||||
|
||||
local function is_suitable_target(entity)
|
||||
return EntityGetIsAlive(entity) and not EntityHasTag(entity,"ew_notplayer")
|
||||
end
|
||||
|
@ -410,8 +417,9 @@ function OnModPreInit()
|
|||
print("Entangled worlds init ok")
|
||||
end
|
||||
|
||||
function OnModInit() end
|
||||
|
||||
function OnModInit()
|
||||
load_extra_modules()
|
||||
end
|
||||
|
||||
function OnModPostInit()
|
||||
ctx.hook.on_late_init()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue