From 5f1f727878866311267788047e0487b3a247062e Mon Sep 17 00:00:00 2001 From: murdle Date: Tue, 20 Jan 2026 19:17:30 +0200 Subject: [PATCH] add console command headers --- mcpe/DedicatedServerCommandOrigin.h | 22 ++++++++++++++++++++++ mcpe/Minecraft.h | 15 +++++++++++++++ mcpe/MinecraftCommands.h | 28 ++++++++++++++++++++++++++++ mcpe/ServerInstance.h | 4 +++- mcpe/types.cpp | 14 +++++++++++++- 5 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 mcpe/DedicatedServerCommandOrigin.h create mode 100644 mcpe/Minecraft.h create mode 100644 mcpe/MinecraftCommands.h diff --git a/mcpe/DedicatedServerCommandOrigin.h b/mcpe/DedicatedServerCommandOrigin.h new file mode 100644 index 0000000..de06259 --- /dev/null +++ b/mcpe/DedicatedServerCommandOrigin.h @@ -0,0 +1,22 @@ +#pragma once + +#include "string.h" + +class Minecraft; + +class CommandOrigin { +}; + +class DedicatedServerCommandOrigin : public CommandOrigin { + +public: + + static void (*DedicatedServerCommandOrigin_construct)(DedicatedServerCommandOrigin*, mcpe::string const&, Minecraft&); + + char filler[0x1C]; + + DedicatedServerCommandOrigin(mcpe::string const& s, Minecraft& m) { + DedicatedServerCommandOrigin_construct(this, s, m); + } + +}; \ No newline at end of file diff --git a/mcpe/Minecraft.h b/mcpe/Minecraft.h new file mode 100644 index 0000000..d1c18d1 --- /dev/null +++ b/mcpe/Minecraft.h @@ -0,0 +1,15 @@ +#pragma once + +class MinecraftCommands; + +class Minecraft { + +public: + + static MinecraftCommands* (*Minecraft_getCommands)(Minecraft*); + + MinecraftCommands* getCommands() { + return Minecraft_getCommands(this); + } + +}; \ No newline at end of file diff --git a/mcpe/MinecraftCommands.h b/mcpe/MinecraftCommands.h new file mode 100644 index 0000000..2afa80e --- /dev/null +++ b/mcpe/MinecraftCommands.h @@ -0,0 +1,28 @@ +#pragma once + +#include +#include "string.h" + +class CommandOrigin; + +enum class MCCATEGORY { + // +}; + +struct MCRESULT { + bool success; + MCCATEGORY category; + unsigned short code; +}; + +class MinecraftCommands { + +public: + + static MCRESULT (*MinecraftCommands_requestCommandExecution)(MinecraftCommands*, std::unique_ptr, mcpe::string const&, mcpe::string&); + + MCRESULT requestCommandExecution(std::unique_ptr o, mcpe::string const& s, mcpe::string& s2) { + return MinecraftCommands_requestCommandExecution(this, std::move(o), s, s2); + } + +}; \ No newline at end of file diff --git a/mcpe/ServerInstance.h b/mcpe/ServerInstance.h index 4c893bc..839bd34 100644 --- a/mcpe/ServerInstance.h +++ b/mcpe/ServerInstance.h @@ -24,7 +24,9 @@ class ResourcePackManager; class ServerInstance { public: - char filler[0x300]; + char filler[0xC]; + Minecraft* minecraft; + char filler2[0x300]; static void (*ServerInstance_construct)( ServerInstance*, diff --git a/mcpe/types.cpp b/mcpe/types.cpp index 966dbd4..2bffd29 100644 --- a/mcpe/types.cpp +++ b/mcpe/types.cpp @@ -136,4 +136,16 @@ void** ResourcePackStack::vtable_sym; #include "Scheduler.h" Scheduler* (*Scheduler::singleton)(); -void (*Scheduler::Scheduler_processCoroutines)(Scheduler*, std::chrono::duration); \ No newline at end of file +void (*Scheduler::Scheduler_processCoroutines)(Scheduler*, std::chrono::duration); + +#include "Minecraft.h" + +MinecraftCommands* (*Minecraft::Minecraft_getCommands)(Minecraft*); + +#include "MinecraftCommands.h" + +MCRESULT (*MinecraftCommands::MinecraftCommands_requestCommandExecution)(MinecraftCommands*, std::unique_ptr, mcpe::string const&, mcpe::string&); + +#include "DedicatedServerCommandOrigin.h" + +void (*DedicatedServerCommandOrigin::DedicatedServerCommandOrigin_construct)(DedicatedServerCommandOrigin*, mcpe::string const&, Minecraft&); \ No newline at end of file