1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-06 17:41:04 +00:00
luanti/src/script/scripting_client.h

46 lines
1.1 KiB
C++

// Luanti
// SPDX-License-Identifier: LGPL-2.1-or-later
// Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
// Copyright (C) 2017 nerzhul, Loic Blot <loic.blot@unix-experience.fr>
#pragma once
#include <cassert>
#include "cpp_api/s_base.h"
#include "cpp_api/s_client.h"
#include "cpp_api/s_client_common.h"
#include "cpp_api/s_modchannels.h"
#include "cpp_api/s_security.h"
class Client;
class LocalPlayer;
class Camera;
class Minimap;
class ClientScripting:
virtual public ScriptApiBase,
public ScriptApiSecurity,
public ScriptApiClientCommon,
public ScriptApiClient,
public ScriptApiModChannels
{
public:
ClientScripting(Client *client);
void on_client_ready(LocalPlayer *localplayer);
void on_camera_ready(Camera *camera);
void on_minimap_ready(Minimap *minimap);
protected:
// from ScriptApiSecurity:
bool checkPathInternal(const std::string &abs_path, bool write_required,
bool *write_allowed) override {
warningstream << "IO API called in client scripting" << std::endl;
assert(0);
return false;
}
bool modNamesAreTrusted() override { return true; }
private:
virtual void InitializeModApi(lua_State *L, int top);
};