2024-01-17 23:10:06 +03:00

36 lines
1.3 KiB
C++

#include <string>
#include <filesystem>
namespace fs = std::filesystem;
class Engine;
class Content;
class Level;
class Block;
class Player;
class ItemDef;
struct block_funcs_set;
struct item_funcs_set;
class BlocksController;
namespace scripting {
extern Engine* engine;
extern const Content* content;
extern Level* level;
extern BlocksController* blocks;
void initialize(Engine* engine);
void on_world_load(Level* level, BlocksController* blocks);
void on_world_quit();
void update_block(const Block* block, int x, int y, int z);
void random_update_block(const Block* block, int x, int y, int z);
void on_block_placed(Player* player, const Block* block, int x, int y, int z);
void on_block_broken(Player* player, const Block* block, int x, int y, int z);
void on_block_interact(Player* player, const Block* block, int x, int y, int z);
bool on_item_use_on_block(Player* player, const ItemDef* item, int x, int y, int z);
bool on_item_break_block(Player* player, const ItemDef* item, int x, int y, int z);
void load_block_script(std::string prefix, fs::path file, block_funcs_set* funcsset);
void load_item_script(std::string prefix, fs::path file, item_funcs_set* funcsset);
void close();
}