mirror of
https://github.com/quizhizhe/LiteLoaderBDS-1.16.40.git
synced 2025-06-01 19:53:41 +00:00
Fix Form System
This commit is contained in:
parent
e31b6bd4e9
commit
951c5e1f7d
@ -11,7 +11,9 @@
|
||||
class ModalFormRequestPacket : public Packet {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
|
||||
public:
|
||||
unsigned int mFormId;
|
||||
std::string mFormJSON;
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_MODALFORMREQUESTPACKET
|
||||
public:
|
||||
|
@ -11,7 +11,9 @@
|
||||
class ModalFormResponsePacket : public Packet {
|
||||
|
||||
#define AFTER_EXTRA
|
||||
|
||||
public:
|
||||
unsigned int mFormId;
|
||||
std::string mJSONResponse;;
|
||||
#undef AFTER_EXTRA
|
||||
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_MODALFORMRESPONSEPACKET
|
||||
public:
|
||||
|
@ -2133,26 +2133,21 @@ TInstanceHook(int, "?startSleepInBed@Player@@UEAA?AW4BedSleepingResult@@AEBVBloc
|
||||
|
||||
#include "Impl/FormPacketHelper.h"
|
||||
#include <MC/Json.hpp>
|
||||
#include <MC/ModalFormResponsePacket.hpp>
|
||||
////////////// FormResponsePacket //////////////
|
||||
|
||||
TClasslessInstanceHook(void, "?handle@?$PacketHandlerDispatcherInstance@VModalFormResponsePacket@@$0A@@@UEBAXAEBVNetworkIdentifier@@AEAVNetEventCallback@@AEAV?$shared_ptr@VPacket@@@std@@@Z",
|
||||
NetworkIdentifier* id, ServerNetworkHandler* handler, void* pPacket) {
|
||||
Packet* packet = *(Packet**)pPacket;
|
||||
NetworkIdentifier* id, ServerNetworkHandler* handler, std::shared_ptr<Packet> pPacket) {
|
||||
Packet* packet = pPacket.get();
|
||||
ModalFormResponsePacket* mPacket = (ModalFormResponsePacket*)packet;
|
||||
ServerPlayer* sp = handler->getServerPlayer(*id, 0);
|
||||
if (sp) {
|
||||
string data;
|
||||
auto formId = dAccess<int>(packet, 48);//未验证
|
||||
|
||||
if (!dAccess<bool>(packet, 81)) {//未验证
|
||||
if (dAccess<bool>(packet, 72)) {//未验证
|
||||
auto json = dAccess<Json::Value>(packet, 56);//未验证
|
||||
data = json.toStyledString();
|
||||
}
|
||||
}
|
||||
|
||||
if (data.empty()) {
|
||||
auto formId = mPacket->mFormId;
|
||||
if(!mPacket->mJSONResponse.empty())
|
||||
data = mPacket->mJSONResponse;
|
||||
else
|
||||
data = "null";
|
||||
}
|
||||
|
||||
if (data.back() == '\n')
|
||||
data.pop_back();
|
||||
|
Loading…
Reference in New Issue
Block a user