From 099e82db67b093eb009c6c5d80278c2e5ee128ee Mon Sep 17 00:00:00 2001 From: Lukas Pioch Date: Fri, 4 Aug 2017 12:07:10 +0200 Subject: Added a new param to OnPlayerEditingBook and changed the names --- src/Bindings/LuaState.cpp | 11 +++++++++++ src/Bindings/LuaState.h | 1 + src/Bindings/Plugin.h | 4 ++-- src/Bindings/PluginLua.cpp | 8 ++++---- src/Bindings/PluginLua.h | 4 ++-- src/Bindings/PluginManager.cpp | 8 ++++---- src/Bindings/PluginManager.h | 4 ++-- 7 files changed, 26 insertions(+), 14 deletions(-) (limited to 'src/Bindings') diff --git a/src/Bindings/LuaState.cpp b/src/Bindings/LuaState.cpp index 7bd4becb6..ee4d0c7c2 100644 --- a/src/Bindings/LuaState.cpp +++ b/src/Bindings/LuaState.cpp @@ -865,6 +865,17 @@ void cLuaState::Push(const AStringVector & a_Vector) +void cLuaState::Push(const cBookContent & a_Content) +{ + ASSERT(IsValid()); + auto c = new cBookContent(a_Content); + tolua_pushusertype_and_takeownership(m_LuaState, c, "cBookContent"); +} + + + + + void cLuaState::Push(const char * a_Value) { ASSERT(IsValid()); diff --git a/src/Bindings/LuaState.h b/src/Bindings/LuaState.h index 98f1cbc28..abe09985a 100644 --- a/src/Bindings/LuaState.h +++ b/src/Bindings/LuaState.h @@ -613,6 +613,7 @@ public: void Push(const AString & a_String); void Push(const AStringMap & a_Dictionary); void Push(const AStringVector & a_Vector); + void Push(const cBookContent & a_Content); void Push(const char * a_Value); void Push(const cItem & a_Item); void Push(const cNil & a_Nil); diff --git a/src/Bindings/Plugin.h b/src/Bindings/Plugin.h index 62863fea5..a9444a4e2 100644 --- a/src/Bindings/Plugin.h +++ b/src/Bindings/Plugin.h @@ -74,8 +74,8 @@ public: virtual bool OnPlayerBrokenBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) = 0; virtual bool OnPlayerDestroyed (cPlayer & a_Player) = 0; virtual bool OnPlayerEating (cPlayer & a_Player) = 0; - virtual bool OnPlayerEditedBook (cPlayer & a_Player, cBookContent & a_BookContent, bool a_IsSigned) = 0; - virtual bool OnPlayerEditingBook (cPlayer & a_Player, cBookContent & a_BookContent, bool a_IsSigned) = 0; + virtual bool OnPlayerEditedBook (cPlayer & a_Player, const cBookContent & a_NewContent, bool a_IsSigned) = 0; + virtual bool OnPlayerEditingBook (cPlayer & a_Player, const cBookContent & a_OriginalContent, cBookContent & a_NewContent, bool a_IsSigned) = 0; virtual bool OnPlayerFished (cPlayer & a_Player, const cItems & a_Reward) = 0; virtual bool OnPlayerFishing (cPlayer & a_Player, cItems & a_Reward) = 0; virtual bool OnPlayerFoodLevelChange (cPlayer & a_Player, int a_NewFoodLevel) = 0; diff --git a/src/Bindings/PluginLua.cpp b/src/Bindings/PluginLua.cpp index a4097ccf1..90be9bd07 100644 --- a/src/Bindings/PluginLua.cpp +++ b/src/Bindings/PluginLua.cpp @@ -595,18 +595,18 @@ bool cPluginLua::OnPlayerEating(cPlayer & a_Player) -bool cPluginLua::OnPlayerEditedBook(cPlayer & a_Player, cBookContent & a_BookContent, bool a_IsSigned) +bool cPluginLua::OnPlayerEditedBook(cPlayer & a_Player, const cBookContent & a_NewContent, bool a_IsSigned) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_EDITED_BOOK, &a_Player, &a_BookContent, a_IsSigned); + return CallSimpleHooks(cPluginManager::HOOK_PLAYER_EDITED_BOOK, &a_Player, a_NewContent, a_IsSigned); } -bool cPluginLua::OnPlayerEditingBook(cPlayer & a_Player, cBookContent & a_BookContent, bool a_IsSigned) +bool cPluginLua::OnPlayerEditingBook(cPlayer & a_Player, const cBookContent & a_OriginalContent, cBookContent & a_NewContent, bool a_IsSigned) { - return CallSimpleHooks(cPluginManager::HOOK_PLAYER_EDITING_BOOK, &a_Player, &a_BookContent, a_IsSigned); + return CallSimpleHooks(cPluginManager::HOOK_PLAYER_EDITING_BOOK, &a_Player, a_OriginalContent, &a_NewContent, a_IsSigned); } diff --git a/src/Bindings/PluginLua.h b/src/Bindings/PluginLua.h index 59266a35a..6a815db74 100644 --- a/src/Bindings/PluginLua.h +++ b/src/Bindings/PluginLua.h @@ -95,8 +95,8 @@ public: virtual bool OnPlayerBrokenBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) override; virtual bool OnPlayerDestroyed (cPlayer & a_Player) override; virtual bool OnPlayerEating (cPlayer & a_Player) override; - virtual bool OnPlayerEditedBook (cPlayer & a_Player, cBookContent & a_BookContent, bool a_IsSigned) override; - virtual bool OnPlayerEditingBook (cPlayer & a_Player, cBookContent & a_BookContent, bool a_IsSigned) override; + virtual bool OnPlayerEditedBook (cPlayer & a_Player, const cBookContent & a_NewContent, bool a_IsSigned) override; + virtual bool OnPlayerEditingBook (cPlayer & a_Player, const cBookContent & a_OriginalContent, cBookContent & a_NewContent, bool a_IsSigned) override; virtual bool OnPlayerFished (cPlayer & a_Player, const cItems & a_Reward) override; virtual bool OnPlayerFishing (cPlayer & a_Player, cItems & a_Reward) override; virtual bool OnPlayerFoodLevelChange (cPlayer & a_Player, int a_NewFoodLevel) override; diff --git a/src/Bindings/PluginManager.cpp b/src/Bindings/PluginManager.cpp index 19b337523..e36554e25 100644 --- a/src/Bindings/PluginManager.cpp +++ b/src/Bindings/PluginManager.cpp @@ -885,14 +885,14 @@ bool cPluginManager::CallHookPlayerEating(cPlayer & a_Player) -bool cPluginManager::CallHookPlayerEditedBook(cPlayer & a_Player, cBookContent & a_BookContent, bool a_IsSigned) +bool cPluginManager::CallHookPlayerEditedBook(cPlayer & a_Player, const cBookContent & a_NewContent, bool a_IsSigned) { FIND_HOOK(HOOK_PLAYER_EDITED_BOOK); VERIFY_HOOK; for (PluginList::iterator itr = Plugins->second.begin(); itr != Plugins->second.end(); ++itr) { - if ((*itr)->OnPlayerEditedBook(a_Player, a_BookContent, a_IsSigned)) + if ((*itr)->OnPlayerEditedBook(a_Player, a_NewContent, a_IsSigned)) { return true; } @@ -904,14 +904,14 @@ bool cPluginManager::CallHookPlayerEditedBook(cPlayer & a_Player, cBookContent & -bool cPluginManager::CallHookPlayerEditingBook(cPlayer & a_Player, cBookContent & a_BookContent, bool a_IsSigned) +bool cPluginManager::CallHookPlayerEditingBook(cPlayer & a_Player, const cBookContent & a_OriginalContent, cBookContent & a_NewContent, bool a_IsSigned) { FIND_HOOK(HOOK_PLAYER_EDITING_BOOK); VERIFY_HOOK; for (PluginList::iterator itr = Plugins->second.begin(); itr != Plugins->second.end(); ++itr) { - if ((*itr)->OnPlayerEditingBook(a_Player, a_BookContent, a_IsSigned)) + if ((*itr)->OnPlayerEditingBook(a_Player, a_OriginalContent, a_NewContent, a_IsSigned)) { return true; } diff --git a/src/Bindings/PluginManager.h b/src/Bindings/PluginManager.h index 5f765fd03..d7bbf62c2 100644 --- a/src/Bindings/PluginManager.h +++ b/src/Bindings/PluginManager.h @@ -256,8 +256,8 @@ public: bool CallHookPlayerBrokenBlock (cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); bool CallHookPlayerDestroyed (cPlayer & a_Player); bool CallHookPlayerEating (cPlayer & a_Player); - bool CallHookPlayerEditedBook (cPlayer & a_Player, cBookContent & a_BookContent, bool a_IsSigned); - bool CallHookPlayerEditingBook (cPlayer & a_Player, cBookContent & a_BookContent, bool a_IsSigned); + bool CallHookPlayerEditedBook (cPlayer & a_Player, const cBookContent & a_NewContent, bool a_IsSigned); + bool CallHookPlayerEditingBook (cPlayer & a_Player, const cBookContent & a_OrigialContent, cBookContent & a_NewContent, bool a_IsSigned); bool CallHookPlayerFished (cPlayer & a_Player, const cItems & a_Reward); bool CallHookPlayerFishing (cPlayer & a_Player, cItems a_Reward); bool CallHookPlayerFoodLevelChange (cPlayer & a_Player, int a_NewFoodLevel); -- cgit v1.2.3