Luanti 5.11.0-dev
 
Loading...
Searching...
No Matches
scripting_client.h
Go to the documentation of this file.
1// Luanti
2// SPDX-License-Identifier: LGPL-2.1-or-later
3// Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
4// Copyright (C) 2017 nerzhul, Loic Blot <loic.blot@unix-experience.fr>
5
6#pragma once
7
8#include <cassert>
9
10#include "cpp_api/s_base.h"
11#include "cpp_api/s_client.h"
14#include "cpp_api/s_security.h"
15
16class Client;
17class LocalPlayer;
18class Camera;
19class Minimap;
20
22 virtual public ScriptApiBase,
23 public ScriptApiSecurity,
25 public ScriptApiClient,
27{
28public:
30 void on_client_ready(LocalPlayer *localplayer);
31 void on_camera_ready(Camera *camera);
32 void on_minimap_ready(Minimap *minimap);
33
34protected:
35 // from ScriptApiSecurity:
36 bool checkPathInternal(const std::string &abs_path, bool write_required,
37 bool *write_allowed) override {
38 warningstream << "IO API called in client scripting" << std::endl;
39 assert(0);
40 return false;
41 }
42 bool modNamesAreTrusted() override { return true; }
43
44private:
45 virtual void InitializeModApi(lua_State *L, int top);
46};
Definition camera.h:68
Definition scripting_client.h:27
void on_camera_ready(Camera *camera)
Definition scripting_client.cpp:82
virtual void InitializeModApi(lua_State *L, int top)
Definition scripting_client.cpp:52
bool checkPathInternal(const std::string &abs_path, bool write_required, bool *write_allowed) override
Should check if the given path may be accessed.
Definition scripting_client.h:36
bool modNamesAreTrusted() override
Specify if the mod names during init time(!) can be trusted.
Definition scripting_client.h:42
void on_client_ready(LocalPlayer *localplayer)
Definition scripting_client.cpp:77
void on_minimap_ready(Minimap *minimap)
Definition scripting_client.cpp:87
ClientScripting(Client *client)
Definition scripting_client.cpp:26
Definition client.h:104
Definition localplayer.h:50
Definition minimap.h:118
Definition s_base.h:64
Definition s_client_common.h:13
Definition s_client.h:23
Definition s_modchannels.h:12
Definition s_security.h:28
thread_local LogStream warningstream
Definition activeobjectmgr.cpp:11