Skip to content

Commit 9f09a0a

Browse files
committed
[LuaCore] New event 'OnBlockDigged' added.
1 parent f926f4f commit 9f09a0a

File tree

5 files changed

+13
-0
lines changed

5 files changed

+13
-0
lines changed

docs/lua-api-core.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ openminer:add_listener(EventType.OnBlockPlaced, function(pos, player, world, cli
2222
server:send_chat_message(0, "Block placed at " .. pos.x .. ";" .. pos.y .. ";" .. pos.z .. " by Client" .. player:client_id(), client);
2323
end)
2424

25+
openminer:add_listener(EventType.OnBlockDigged, function(pos, player, world, client, server)
26+
server:send_chat_message(0, "Block digged at " .. pos.x .. ";" .. pos.y .. ";" .. pos.z .. " by Client" .. player:client_id(), client);
27+
end)
28+
2529
openminer:add_listener(EventType.OnBlockActivated, function(pos, block, player, world, client, server)
2630
if block:string_id() == "default:portal" then
2731
server:send_chat_message(0, "Swoosh! Changing dimension...", client);
@@ -32,5 +36,6 @@ end)
3236
Possible events:
3337

3438
- `OnBlockPlaced`: `funcion(pos, player, world, client, server)`
39+
- `OnBlockDigged`: `funcion(pos, player, world, client, server)`
3540
- `OnBlockActivated`: `function(pos, block, player, world, client, server)`
3641

mods/default/init.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ dofile("dimensions.lua")
3838
-- server:send_chat_message(0, "Block placed at " .. pos.x .. ";" .. pos.y .. ";" .. pos.z .. " by Client" .. player:client_id(), client);
3939
-- end)
4040

41+
-- openminer:add_listener(EventType.OnBlockDigged, function(pos, player, world, client, server)
42+
-- server:send_chat_message(0, "Block digged at " .. pos.x .. ";" .. pos.y .. ";" .. pos.z .. " by Client" .. player:client_id(), client);
43+
-- end)
44+
4145
openminer:add_listener(EventType.OnBlockActivated, function(pos, block, player, world, client, server)
4246
if block:string_id() == "default:portal" then
4347
server:send_chat_message(0, "Swoosh! Changing dimension...", client);

source/server/lua/LuaCore.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ void LuaCore::addListener(LuaEventType eventType, const sol::function &listener)
3636
void LuaCore::initUsertype(sol::state &lua) {
3737
lua["EventType"] = lua.create_table_with(
3838
"OnBlockPlaced", LuaEventType::OnBlockPlaced,
39+
"OnBlockDigged", LuaEventType::OnBlockDigged,
3940
"OnBlockActivated", LuaEventType::OnBlockActivated
4041
);
4142

source/server/lua/LuaCore.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class ServerModLoader;
3737

3838
enum class LuaEventType {
3939
OnBlockPlaced,
40+
OnBlockDigged,
4041
OnBlockActivated
4142
};
4243

source/server/network/ServerCommandHandler.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ void ServerCommandHandler::setupCallbacks() {
285285
world.onBlockDigged(x, y, z, Registry::getInstance().getBlock(world.getBlock(x, y, z)), *player);
286286
world.setBlock(x, y, z, 0);
287287

288+
m_scriptEngine.luaCore().onEvent(LuaEventType::OnBlockDigged, glm::ivec3{x, y, z}, *player, world, client, *this);
289+
288290
sf::Packet answer;
289291
answer << Network::Command::BlockUpdate << x << y << z << u32(0);
290292
m_server.sendToAllClients(answer);

0 commit comments

Comments
 (0)