mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-05-12 20:23:51 +00:00
Merge branch 'feature/plugin-api' of github.com:sylvessa/MinecraftConsoles into feature/plugin-api
This commit is contained in:
commit
8e66b2c19e
13 changed files with 570 additions and 5 deletions
|
|
@ -30,6 +30,8 @@ typedef int(__stdcall *fn_fire_player_move)(int entityId,
|
|||
double fromX, double fromY, double fromZ,
|
||||
double toX, double toY, double toZ,
|
||||
double *outCoords);
|
||||
typedef void(__stdcall* fn_set_scheduler_callbacks)(void* add, void* remove);
|
||||
typedef void(__stdcall* fn_fire_scheduler_callback)(int currentTick);
|
||||
typedef void(__stdcall *fn_set_native_callbacks)(void *damage, void *setHealth, void *teleport, void *setGameMode, void *broadcastMessage, void *setFallDistance, void *getPlayerSnapshot, void *sendMessage, void *setWalkSpeed, void *teleportEntity);
|
||||
typedef void(__stdcall *fn_set_world_callbacks)(void *getTileId, void *getTileData, void *setTile, void *setTileData, void *breakBlock, void *getHighestBlockY, void *getWorldInfo, void *setWorldTime, void *setWeather, void *createExplosion, void *strikeLightning, void *setSpawnLocation, void *dropItem);
|
||||
typedef void(__stdcall *fn_update_entity_id)(int oldEntityId, int newEntityId);
|
||||
|
|
@ -128,6 +130,8 @@ static fn_update_entity_id s_managedUpdateEntityId = nullptr;
|
|||
static fn_fire_player_quit s_managedFireQuit = nullptr;
|
||||
static fn_fire_player_kick s_managedFireKick = nullptr;
|
||||
static fn_fire_player_move s_managedFireMove = nullptr;
|
||||
static fn_set_scheduler_callbacks s_managedSetSchedulerCallbacks = nullptr;
|
||||
static fn_fire_scheduler_callback s_managedFireSchedulerCallback = nullptr;
|
||||
static fn_set_native_callbacks s_managedSetCallbacks = nullptr;
|
||||
static fn_set_world_callbacks s_managedSetWorldCallbacks = nullptr;
|
||||
static fn_fire_structure_grow s_managedFireStructureGrow = nullptr;
|
||||
|
|
@ -211,6 +215,8 @@ void Initialize()
|
|||
{L"FirePlayerQuit", (void **)&s_managedFireQuit},
|
||||
{L"FirePlayerKick", (void **)&s_managedFireKick},
|
||||
{L"FirePlayerMove", (void **)&s_managedFireMove},
|
||||
{L"SetSchedulerCallbacks", (void**)&s_managedSetSchedulerCallbacks},
|
||||
{L"FireSchedulerCallback", (void**)&s_managedFireSchedulerCallback},
|
||||
{L"SetNativeCallbacks", (void **)&s_managedSetCallbacks},
|
||||
{L"SetWorldCallbacks", (void **)&s_managedSetWorldCallbacks},
|
||||
{L"UpdatePlayerEntityId", (void **)&s_managedUpdateEntityId},
|
||||
|
|
@ -270,9 +276,11 @@ void Initialize()
|
|||
return;
|
||||
}
|
||||
|
||||
s_initialized = true;
|
||||
|
||||
s_managedInit();
|
||||
s_managedSetSchedulerCallbacks(
|
||||
(void*)&NativeAddScheduler,
|
||||
(void*)&NativeRemoveScheduler
|
||||
);
|
||||
|
||||
s_managedSetCallbacks(
|
||||
(void *)&NativeDamagePlayer,
|
||||
|
|
@ -375,6 +383,10 @@ void Initialize()
|
|||
(void *)&NativeGetWorldEntities,
|
||||
(void *)&NativeGetChunkEntities);
|
||||
|
||||
//we should init after setting callbacks so we have access inside the plugins on enable
|
||||
s_initialized = true;
|
||||
s_managedInit();
|
||||
|
||||
LogInfo("fourkit", "FourKit initialized successfully.");
|
||||
}
|
||||
|
||||
|
|
@ -515,6 +527,16 @@ void UpdatePlayerEntityId(int oldEntityId, int newEntityId)
|
|||
LogDebugf("fourkit", "UpdatePlayerEntityId: %d -> %d", oldEntityId, newEntityId);
|
||||
}
|
||||
|
||||
void FireSchedulerCallback(int currentTick)
|
||||
{
|
||||
if (!s_initialized || !s_managedFireSchedulerCallback)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
s_managedFireSchedulerCallback(currentTick);
|
||||
}
|
||||
|
||||
bool FirePlayerMove(int entityId,
|
||||
double fromX, double fromY, double fromZ,
|
||||
double toX, double toY, double toZ,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue