minecraft-pi-reborn/example-mods/chat-commands/chat-commands.cpp
TheBrokenRail 4523935d62
All checks were successful
CI / Build (AMD64, Server) (push) Successful in 12m25s
CI / Build (AMD64, Client) (push) Successful in 12m48s
CI / Build (ARM64, Server) (push) Successful in 12m48s
CI / Build (ARM64, Client) (push) Successful in 13m18s
CI / Build (ARMHF, Server) (push) Successful in 9m15s
CI / Build (ARMHF, Client) (push) Successful in 12m53s
CI / Test (Client) (push) Successful in 15m7s
CI / Test (Server) (push) Successful in 12m23s
CI / Release (push) Has been skipped
CI / Build Example Mods (push) Successful in 7m44s
Fix Example Mod (Again)
2024-05-05 02:17:46 -04:00

25 lines
772 B
C++

// Headers
#include <libreborn/libreborn.h>
#include <symbols/minecraft.h>
#include <mods/chat/chat.h>
#include <mods/misc/misc.h>
// The Actual Mod
HOOK(chat_handle_packet_send, void, (Minecraft *minecraft, ChatPacket *packet)) {
// Get Message
const char *message = packet->message.c_str();
if (message[0] == '/') {
// API Command
Gui *gui = &minecraft->gui;
std::string out = chat_send_api_command(minecraft, (char *) &message[1]);
if (out.length() > 0 && out[out.length() - 1] == '\n') {
out[out.length() - 1] = '\0';
}
gui->addMessage(&out);
} else {
// Call Original Method
ensure_chat_handle_packet_send();
real_chat_handle_packet_send(minecraft, packet);
}
}