]> git.lizzy.rs Git - minetest.git/blobdiff - src/script/cpp_api/s_player.h
Merge pull request #8776 from osjc/FixGetNode
[minetest.git] / src / script / cpp_api / s_player.h
index d60dfcaf4011800cef1474d74088ce02fe75373e..cf24ddc730ca4943c6433b59e7a6a2cd305fe425 100644 (file)
@@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "irr_v3d.h"
 #include "util/string.h"
 
+struct MoveAction;
 struct InventoryLocation;
 struct ItemStack;
 struct ToolCapabilities;
@@ -45,7 +46,7 @@ class ScriptApiPlayer : virtual public ScriptApiBase
        bool on_punchplayer(ServerActiveObject *player, ServerActiveObject *hitter,
                        float time_from_last_punch, const ToolCapabilities *toolcap,
                        v3f dir, s16 damage);
-       s16 on_player_hpchange(ServerActiveObject *player, s16 hp_change,
+       s32 on_player_hpchange(ServerActiveObject *player, s32 hp_change,
                        const PlayerHPChangeReason &reason);
        void on_playerReceiveFields(ServerActiveObject *player,
                        const std::string &formname, const StringMap &fields);
@@ -54,43 +55,33 @@ class ScriptApiPlayer : virtual public ScriptApiBase
        // Player inventory callbacks
        // Return number of accepted items to be moved
        int player_inventory_AllowMove(
-               const InventoryLocation &loc,
-               const std::string &from_list, int from_index,
-               const std::string &to_list, int to_index,
-               int count, ServerActiveObject *player);
+               const MoveAction &ma, int count,
+               ServerActiveObject *player);
        // Return number of accepted items to be put
        int player_inventory_AllowPut(
-               const InventoryLocation &loc,
-               const std::string &listname, int index, const ItemStack &stack,
+               const MoveAction &ma, const ItemStack &stack,
                ServerActiveObject *player);
        // Return number of accepted items to be taken
        int player_inventory_AllowTake(
-               const InventoryLocation &loc,
-               const std::string &listname, int index, const ItemStack &stack,
+               const MoveAction &ma, const ItemStack &stack,
                ServerActiveObject *player);
        // Report moved items
        void player_inventory_OnMove(
-               const InventoryLocation &loc,
-               const std::string &from_list, int from_index,
-               const std::string &to_list, int to_index,
-               int count, ServerActiveObject *player);
+               const MoveAction &ma, int count,
+               ServerActiveObject *player);
        // Report put items
        void player_inventory_OnPut(
-               const InventoryLocation &loc,
-               const std::string &listname, int index, const ItemStack &stack,
+               const MoveAction &ma, const ItemStack &stack,
                ServerActiveObject *player);
        // Report taken items
        void player_inventory_OnTake(
-               const InventoryLocation &loc,
-               const std::string &listname, int index, const ItemStack &stack,
+               const MoveAction &ma, const ItemStack &stack,
                ServerActiveObject *player);
 private:
        void pushPutTakeArguments(
                const char *method, const InventoryLocation &loc,
                const std::string &listname, int index, const ItemStack &stack,
                ServerActiveObject *player);
-       void pushMoveArguments(const InventoryLocation &loc,
-               const std::string &from_list, int from_index,
-               const std::string &to_list, int to_index,
+       void pushMoveArguments(const MoveAction &ma,
                int count, ServerActiveObject *player);
 };