Minetest  5.4.0
s_client.h
Go to the documentation of this file.
1 /*
2 Minetest
3 Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
4 Copyright (C) 2017 nerzhul, Loic Blot <loic.blot@unix-experience.fr>
5 
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as published by
8 the Free Software Foundation; either version 2.1 of the License, or
9 (at your option) any later version.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU Lesser General Public License for more details.
15 
16 You should have received a copy of the GNU Lesser General Public License along
17 with this program; if not, write to the Free Software Foundation, Inc.,
18 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 */
20 
21 #pragma once
22 
23 #include "util/pointedthing.h"
24 #include "cpp_api/s_base.h"
25 #include "mapnode.h"
26 #include "itemdef.h"
27 #include "util/string.h"
28 #include "util/pointedthing.h"
29 #include "lua_api/l_item.h"
30 
31 #ifdef _CRT_MSVCP_CURRENT
32 #include <cstdint>
33 #endif
34 
35 class ClientEnvironment;
36 
37 class ScriptApiClient : virtual public ScriptApiBase
38 {
39 public:
40  // Calls when mods are loaded
41  void on_mods_loaded();
42 
43  // Calls on_shutdown handlers
44  void on_shutdown();
45 
46  // Chat message handlers
47  bool on_sending_message(const std::string &message);
48  bool on_receiving_message(const std::string &message);
49 
50  void on_damage_taken(int32_t damage_amount);
51  void on_hp_modification(int32_t newhp);
52  void on_death();
53  void environment_step(float dtime);
54  void on_formspec_input(const std::string &formname, const StringMap &fields);
55 
56  bool on_dignode(v3s16 p, MapNode node);
57  bool on_punchnode(v3s16 p, MapNode node);
58  bool on_placenode(const PointedThing &pointed, const ItemDefinition &item);
59  bool on_item_use(const ItemStack &item, const PointedThing &pointed);
60 
61  bool on_inventory_open(Inventory *inventory);
62 
63  void setEnv(ClientEnvironment *env);
64 };
Definition: clientenvironment.h:64
Definition: inventory.h:282
Definition: s_base.h:78
Definition: s_client.h:38
void on_death()
Definition: s_client.cpp:100
bool on_inventory_open(Inventory *inventory)
Definition: s_client.cpp:224
void on_shutdown()
Definition: s_client.cpp:39
void on_mods_loaded()
Definition: s_client.cpp:28
bool on_placenode(const PointedThing &pointed, const ItemDefinition &item)
Definition: s_client.cpp:190
bool on_sending_message(const std::string &message)
Definition: s_client.cpp:50
bool on_item_use(const ItemStack &item, const PointedThing &pointed)
Definition: s_client.cpp:207
void on_hp_modification(int32_t newhp)
Definition: s_client.cpp:88
void environment_step(float dtime)
Definition: s_client.cpp:111
void setEnv(ClientEnvironment *env)
Definition: s_client.cpp:245
bool on_punchnode(v3s16 p, MapNode node)
Definition: s_client.cpp:171
bool on_dignode(v3s16 p, MapNode node)
Definition: s_client.cpp:152
void on_formspec_input(const std::string &formname, const StringMap &fields)
Definition: s_client.cpp:128
void on_damage_taken(int32_t damage_amount)
Definition: s_client.cpp:76
bool on_receiving_message(const std::string &message)
Definition: s_client.cpp:63
core::vector3d< s16 > v3s16
Definition: irr_v3d.h:28
std::unordered_map< std::string, std::string > StringMap
Definition: string.h:60
Definition: itemdef.h:52
Definition: inventory.h:34
Definition: mapnode.h:118
An active object or node which is selected by a ray on the map.
Definition: pointedthing.h:36
std::string p(std::string path)
Definition: test_filepath.cpp:59