#define PAD(x,s) char unk##x[s]
#define VALID_ADDR(x) ((unsigned int)(x) > 0x10000)
struct DataFixerUpper;
struct MultiPlayerGameMode;
struct MultiPlayerLevel;
struct LevelRenderer;
struct MultiplayerLocalPlayer;
struct DataItem_ImplIiE;
struct NetworkDataStruct;
struct Vector3Special {//size 0x18
float x;
int unk1;
float y;
int unk2;
float z;
int unk3;
};
struct Vector2 {
float x,y;
};
struct NetworkDataStruct {
MultiplayerLocalPlayer *multiplayerLocalPlayer;//0x0
DataItem_ImplIiE *dataItem_ImplIiE1;//0x4
};
#pragma pack(1)
struct MultiplayerLocalPlayer {//*(int*)(*(int*)0x13FCF3C+0x34)+0x0 for quick reference in prodg, becayse this struct is very useful
void* getThisAddress() {return (void*)this;};
PAD(0,0x80);//0x0
Vector2 viewAngles;//0x80 //x has no clamp (-inf to +inf), y goes 90 to -90 (-90 being looking up, 90 being looking down (yes this is correct), 0 being forward) THIS IS MODIFYABLE AND WILL STICKAROONIE
PAD(1,0x;//0x88
Vector3Special *coords;//0x90 These are desynced from server so best not to modify them
PAD(2,0x120-0x94);//0x94
NetworkDataStruct *netData;//0x120
PAD(3,0x5D8-0x124);//0x124
unsigned char flyData[4];//0x5D8
PAD(4,0xC);//0x5DC
unsigned int XP;//0x5E8
PAD(5,0x6DC-0x5EC);//0x5EC
unsigned int invisibility;//0x6DC - set to 0001F990 on, 0001F810 off
void setFly(bool enabled) {
flyData[2] = enabled;
flyData[1] = enabled;
}
bool getFly() {
return flyData[2];
}
void setInvisibility(bool enabled) {//this ain't work unless u got host priviledges on
if (enabled) {
invisibility = 0x0001F990;
} else {
invisibility = 0x0001F810;
}
}
};
#pragma pack(4)
struct GlobalVariablesStruct {
DataFixerUpper *dataFixerUpper;//0x0
MultiPlayerGameMode *multiPlayerGameMode;//0x4
PAD(0,4);//0x8
PAD(1,4);//0xC
unsigned int fov;//0x10
unsigned int width;//0x14
unsigned int fov2;//0x18 don't use this one
unsigned int width2;//0x1C don't use this onen
PAD(2,4);//0x20
PAD(3,4);//0x24
PAD(4,4);//0x28
MultiPlayerLevel *multiPlayerLevel;//0x2C
LevelRenderer *levelRenderer;//0x30
MultiplayerLocalPlayer *multiplayerLocalPlayer;//0x34 muy useful
PAD(5,4);//0x38
PAD(6,4);//0x3C
unsigned int unkWeirdNumber;//0x40
MultiplayerLocalPlayer *multiplayerLocalPlayer1;//0x44
};
struct DataItem_ImplIiE {
PAD(0,4);//0x0
PAD(1,4);//0x4
PAD(2,4);//0x8
unsigned int movementTypeBitset;//0xC
};
void toggleFlyMode() {
if (VALID_ADDR(globalVariablesStruct->multiplayerLocalPlayer)) {
globalVariablesStruct->multiplayerLocalPlayer->setFly(!globalVariablesStruct->multiplayerLocalPlayer->getFly());
}
}
void toggleMovementBit(int bit, bool enabled) {//bit 9 for elytra
unsigned int og = globalVariablesStruct->multiplayerLocalPlayer->netData->dataItem_ImplIiE1->movementTypeBitset;
if (enabled) {
og |= (1<<bit);
} else {
og &= !(1<<bit);
};
globalVariablesStruct->multiplayerLocalPlayer->netData->dataItem_ImplIiE1->movementTypeBitset = og;
}
void toggleInvisibility(bool *enabled) {
if (VALID_ADDR(globalVariablesStruct->multiplayerLocalPlayer)) {
*enabled = !*enabled;
globalVariablesStruct->multiplayerLocalPlayer->setInvisibility(*enabled);
}
}
namespace buttons {
unsigned int
x = 0x1,
o = 0x2,
square = 0x4,
triangle = 0x8,
up = 0x400,
down = 0x800,
left = 0x1000,
right = 0x2000,
r1 = 0x40,
r2 = 0x400000,
r3 = 0x100,
l1 = 0x80,
l2 = 0x800000,
l3 = 0x200,
start = 0x10,
select = 0x20
;
unsigned int getMCButtons()
{
return *(unsigned int*)buttonsPressed;
}
bool IsMCButtonPressed(unsigned int button)
{
return (getMCButtons() & button) > 0;
}
}
#define PAD(x,s) char unk##x[s]
#define VALID_ADDR(x) ((unsigned int)(x) > 0x10000)
struct DataFixerUpper;
struct MultiPlayerGameMode;
struct MultiPlayerLevel;
struct LevelRenderer;
struct MultiplayerLocalPlayer;
struct DataItem_ImplIiE;
struct NetworkDataStruct;
struct Vector3Special {//size 0x18
float x;
int unk1;
float y;
int unk2;
float z;
int unk3;
};
struct Vector2 {
float x,y;
};
struct NetworkDataStruct {
MultiplayerLocalPlayer *multiplayerLocalPlayer;//0x0
DataItem_ImplIiE *dataItem_ImplIiE1;//0x4
};
#pragma pack(1)
struct MultiplayerLocalPlayer {//*(int*)(*(int*)0x13FCF3C+0x34)+0x0 for quick reference in prodg, becayse this struct is very useful
void* getThisAddress() {return (void*)this;};
PAD(0,0x80);//0x0
Vector2 viewAngles;//0x80 //x has no clamp (-inf to +inf), y goes 90 to -90 (-90 being looking up, 90 being looking down (yes this is correct), 0 being forward) THIS IS MODIFYABLE AND WILL STICKAROONIE
PAD(1,0x;//0x88
Vector3Special *coords;//0x90 These are desynced from server so best not to modify them
PAD(2,0x120-0x94);//0x94
NetworkDataStruct *netData;//0x120
PAD(3,0x5D8-0x124);//0x124
unsigned char flyData[4];//0x5D8
PAD(4,0xC);//0x5DC
unsigned int XP;//0x5E8
PAD(5,0x6DC-0x5EC);//0x5EC
unsigned int invisibility;//0x6DC - set to 0001F990 on, 0001F810 off
void setFly(bool enabled) {
flyData[2] = enabled;
flyData[1] = enabled;
}
bool getFly() {
return flyData[2];
}
void setInvisibility(bool enabled) {//this ain't work unless u got host priviledges on
if (enabled) {
invisibility = 0x0001F990;
} else {
invisibility = 0x0001F810;
}
}
};
#pragma pack(4)
struct GlobalVariablesStruct {
DataFixerUpper *dataFixerUpper;//0x0
MultiPlayerGameMode *multiPlayerGameMode;//0x4
PAD(0,4);//0x8
PAD(1,4);//0xC
unsigned int fov;//0x10
unsigned int width;//0x14
unsigned int fov2;//0x18 don't use this one
unsigned int width2;//0x1C don't use this onen
PAD(2,4);//0x20
PAD(3,4);//0x24
PAD(4,4);//0x28
MultiPlayerLevel *multiPlayerLevel;//0x2C
LevelRenderer *levelRenderer;//0x30
MultiplayerLocalPlayer *multiplayerLocalPlayer;//0x34 muy useful
PAD(5,4);//0x38
PAD(6,4);//0x3C
unsigned int unkWeirdNumber;//0x40
MultiplayerLocalPlayer *multiplayerLocalPlayer1;//0x44
};
struct DataItem_ImplIiE {
PAD(0,4);//0x0
PAD(1,4);//0x4
PAD(2,4);//0x8
unsigned int movementTypeBitset;//0xC
};
void toggleFlyMode() {
if (VALID_ADDR(globalVariablesStruct->multiplayerLocalPlayer)) {
globalVariablesStruct->multiplayerLocalPlayer->setFly(!globalVariablesStruct->multiplayerLocalPlayer->getFly());
}
}
void toggleMovementBit(int bit, bool enabled) {//bit 9 for elytra
unsigned int og = globalVariablesStruct->multiplayerLocalPlayer->netData->dataItem_ImplIiE1->movementTypeBitset;
if (enabled) {
og |= (1<<bit);
} else {
og &= !(1<<bit);
};
globalVariablesStruct->multiplayerLocalPlayer->netData->dataItem_ImplIiE1->movementTypeBitset = og;
}
void toggleInvisibility(bool *enabled) {
if (VALID_ADDR(globalVariablesStruct->multiplayerLocalPlayer)) {
*enabled = !*enabled;
globalVariablesStruct->multiplayerLocalPlayer->setInvisibility(*enabled);
}
}
namespace buttons {
unsigned int
x = 0x1,
o = 0x2,
square = 0x4,
triangle = 0x8,
up = 0x400,
down = 0x800,
left = 0x1000,
right = 0x2000,
r1 = 0x40,
r2 = 0x400000,
r3 = 0x100,
l1 = 0x80,
l2 = 0x800000,
l3 = 0x200,
start = 0x10,
select = 0x20
;
unsigned int getMCButtons()
{
return *(unsigned int*)buttonsPressed;
}
bool IsMCButtonPressed(unsigned int button)
{
return (getMCButtons() & button) > 0;
}
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.