Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/client/Latite.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ DWORD __stdcall startThread(HINSTANCE dll) {
int deadCount = 0;

std::unordered_map<std::string, SDK::Version> versNumMap = {
{ "1.21.130", SDK::V1_21_130 },
{ "1.26.0", SDK::V1_26_0 },
};

if (versNumMap.contains(Latite::get().gameVersion)) {
Expand Down
28 changes: 14 additions & 14 deletions src/mc/Addresses.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,18 @@ class Signatures {
struct Components {
inline static SigImpl moveInputComponent{[](memory::signature_store&, uintptr_t res) { return res; },
// last 4 bytes is the hash of the component
"4C 8B 49 ? 4C 8B D1 4C 8B 41 ? 48 8B 41 ? 4D 2B C1 8B 12 49 C1 F8 ? 49 FF C8 41 81 E0 2E CD 8B 46"_sig,
"4C 8B 41 48 4C 8B C9 48 8B 41 50 8B 12 49 2B C0 48 C1 F8 03 48 FF C8 25 2E CD 8B 46"_sig,
"MoveInputComponent::try_get"};

inline static SigImpl runtimeIDComponent{[](memory::signature_store&, uintptr_t res) { return res; },
// last 4 bytes is the hash of the component
"4C 8B 49 ? 4C 8B D1 4C 8B 41 ? 48 8B 41 ? 4D 2B C1 8B 12 49 C1 F8 ? 49 FF C8 41 81 E0 14 14 A1 3C"_sig,
"4C 8B 41 48 4C 8B C9 48 8B 41 50 8B 12 49 2B C0 48 C1 F8 03 48 FF C8 25 14 14 A1 3C"_sig,
"ActorRuntimeIDComponent"};


inline static SigImpl actorTypeComponent{[](memory::signature_store&, uintptr_t res) { return res; },
// last 4 bytes is the hash of the component
"4C 8B 49 ? 4C 8B D1 4C 8B 41 ? 48 8B 41 ? 4D 2B C1 8B 12 49 C1 F8 ? 49 FF C8 41 81 E0 14 AD F3 51"_sig,
"4C 8B 41 48 4C 8B C9 48 8B 41 50 8B 12 49 2B C0 48 C1 F8 03 48 FF C8 25 14 AD F3 51"_sig,
"ActorTypeComponent"}; //51F3AD14

inline static SigImpl attributesComponent{[](memory::signature_store&, uintptr_t res) { return res; },
Expand All @@ -77,13 +77,13 @@ class Signatures {

inline static SigImpl actorEquipmentPersistentComponent{ [](memory::signature_store&, uintptr_t res) { return res; },
// last 4 bytes is the hash of the component
"4C 8B 49 ? 4C 8B D1 4C 8B 41 ? 48 8B 41 ? 4D 2B C1 8B 12 49 C1 F8 ? 49 FF C8 41 81 E0 36 48 C4 71"_sig,
"4C 8B 41 48 4C 8B C9 48 8B 41 50 8B 12 49 2B C0 48 C1 F8 03 48 FF C8 25 36 48 C4 71"_sig,
"struct ActorEquipmentComponent" };

//76 59 47 33
inline static SigImpl actorDataFlagsComponent{ [](memory::signature_store&, uintptr_t res) { return res; },
// last 4 bytes is the hash of the component
"4C 8B 49 ? 4C 8B D1 4C 8B 41 ? 48 8B 41 ? 4D 2B C1 8B 12 49 C1 F8 ? 49 FF C8 41 81 E0 76 59 47 33"_sig,
"4C 8B 41 48 4C 8B C9 48 8B 41 50 8B 12 49 2B C0 48 C1 F8 03 48 FF C8 25 76 59 47 33"_sig,
"struct ActorDataFlagsComponent"};
};

Expand Down Expand Up @@ -111,12 +111,12 @@ class Signatures {
//48 8d 05 ? ? ? ? 48 89 07 48 8d 05 ? ? ? ? 48 89 47 ? 48 8d 05 ? ? ? ? 48 89 47 ? 33 c0
};

inline static SigImpl LevelRenderer_renderLevel{[](memory::signature_store&, uintptr_t res) { return res; },
"48 8B C4 48 89 58 ? 55 56 57 41 54 41 55 41 56 41 57 48 8D A8 ? ? ? ? 48 81 EC ? ? ? ? 0F 29 70 ? 0F 29 78 ? 44 0F 29 40 ? 44 0F 29 48 ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 85 ? ? ? ? 4D 8B E8 4C 8B E2 4C 8B F9"_sig,
inline static SigImpl LevelRenderer_renderLevel{[](memory::signature_store& store, uintptr_t) { return store.deref(1); },
"E8 ? ? ? ? 45 32 F6 48 8B 8E"_sig,
"LevelRenderer::renderLevel"};

inline static SigImpl MainWindow__windowProcCallback{[](memory::signature_store&, uintptr_t res) { return res; },
"40 55 53 56 57 41 54 41 55 41 56 41 57 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 85 ? ? ? ? 4D 8B F1 49 8B F8 8B F2"_sig,
"40 55 53 56 57 41 54 41 55 41 56 41 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 45 ? 4D 8B E9 49 8B F8 44 8B F2"_sig,
"MainWindow::_windowProcCallback"};

// The signature is big but it hasn't died in a while soo
Expand Down Expand Up @@ -175,8 +175,8 @@ class Signatures {
"48 89 5c 24 ? 48 89 74 24 ? 48 89 7c 24 ? 55 41 54 41 55 41 56 41 57 48 8d ac 24 ? ? ? ? 48 81 ec ? ? ? ? ? 8b ? 45 33 f6"_sig,
"MinecraftGame::onAppSuspended"}; // "OnAppSuspend" "SuspendAudio" "CancelJoinGameTelemetry"

inline static SigImpl RenderController_getOverlayColor{[](memory::signature_store& store, uintptr_t) { return store.deref(1); },
"E8 ? ? ? ? 44 0F 11 45"_sig,
inline static SigImpl RenderController_getOverlayColor{[](memory::signature_store&, uintptr_t res) { return res; },
"40 53 55 56 57 48 83 EC ? 49 8B 78"_sig,
"RenderController::getOverlayColor"};

inline static SigImpl ScreenView_setupAndRender{[](memory::signature_store& store, uintptr_t) { return store.deref(1); },
Expand All @@ -202,7 +202,7 @@ class Signatures {
"RakPeer::GetAveragePing"};

inline static SigImpl LocalPlayer_applyTurnDelta{[](memory::signature_store&, uintptr_t res) { return res; },
"48 8B C4 48 89 58 ? 48 89 70 ? 48 89 78 ? 55 41 54 41 55 41 56 41 57 48 8D 68 ? 48 81 EC ? ? ? ? 0F 29 70 ? 0F 29 78 ? 44 0F 29 40 ? 44 0F 29 48 ? 44 0F 29 58"_sig,
"48 8B C4 48 89 58 ? 48 89 70 ? 48 89 78 ? 55 41 54 41 55 41 56 41 57 48 8D 68 ? 48 81 EC ? ? ? ? 0F 29 70 ? 0F 29 78 ? 44 0F 29 40 ? 44 0F 29 48 ? 44 0F 29 50 ? 44 0F 29 98 ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 45 ? 4C 8B EA"_sig,
"LocalPlayer::applyTurnDelta"};

// see what accesses things in moveinputhandler
Expand Down Expand Up @@ -230,7 +230,7 @@ class Signatures {
"Tessellator::begin"};

inline static SigImpl Tessellator_color{[](memory::signature_store&, uintptr_t res) { return res; },
"80 b9 ? ? ? ? ? 4c 8b c1 75"_sig,
"F3 0F 10 42 ? 41 B8"_sig,
"Tessellator::color"};

inline static SigImpl MeshHelpers_renderMeshImmediately{[](memory::signature_store& store, uintptr_t) { return store.deref(1); },
Expand Down Expand Up @@ -302,12 +302,12 @@ class Signatures {
"Actor::setNameTag" };

inline static SigImpl _updatePlayer{ [](memory::signature_store&, uintptr_t res) { return res; },
"40 55 53 57 41 54 41 55 41 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 45 ? 49 8B 78"_sig,
"40 55 56 41 54 41 55 41 57 48 8D 6C 24"_sig,
"UpdatePlayerFromCameraSystemUtil::_updatePlayer" };

// showHowToPlayScreen
inline static SigImpl GameArguments__onUri{ [](memory::signature_store&, uintptr_t res) { return res; },
"48 89 5C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 85 ? ? ? ? 4C 8B F2 4C 8B F9 33 FF"_sig,
"48 89 5C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 85 ? ? ? ? 48 8B F2 4C 8B F1 33 DB 44 8B FB"_sig,
"GameArguments::_onUri" };

inline static SigImpl RenderMaterialGroup__common{ [](memory::signature_store& store, uintptr_t) { return store.deref(3); },
Expand Down
46 changes: 45 additions & 1 deletion src/mc/Util.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,51 @@
#include "Version.h"


namespace SDK {
namespace SDK { // TODO: remove this shit ffs
template <int offs_1_26_0, int offs_1_21_130, int offs_1_21_120, int offs_1_21_111, int offs_1_21_100, int offs_1_21_90, int offs_1_21_80, int offs_1_21_70, int offs_1_21_60, int offs_1_21_50, int offs_1_21_40, int offs_1_21_30, int offs_1_21_20, int offs_1_20_50, int offs_1_20_40, int offs_1_20_30, int offs_1_18_12, int offs_1_19_51>
extern inline const int mvGetOffset() {
switch (SDK::internalVers) {
case SDK::V1_26_0:
default:
return offs_1_26_0;
case SDK::V1_21_130:
return offs_1_21_130;
case SDK::V1_21_120:
return offs_1_21_120;
case SDK::V1_21_110:
return offs_1_21_111;
case SDK::V1_21_100:
return offs_1_21_100;
case SDK::V1_21_90:
return offs_1_21_90;
case SDK::V1_21_80:
return offs_1_21_80;
case SDK::V1_21_70:
return offs_1_21_70;
case SDK::V1_21_60:
return offs_1_21_60;
case SDK::V1_21_50:
return offs_1_21_50;
case SDK::V1_21_40:
return offs_1_21_40;
case SDK::V1_21_30:
return offs_1_21_30;
case SDK::V1_21_20:
return offs_1_21_20;
case SDK::V1_20_50:
return offs_1_20_50;
case SDK::V1_20_40:
return offs_1_20_40;
case SDK::V1_20_30:
return offs_1_20_30;
case SDK::V1_19_51:
return offs_1_19_51;
break;
case SDK::V1_18_12:
return offs_1_18_12;
}
}

template <int offs_1_21_130, int offs_1_21_120, int offs_1_21_111, int offs_1_21_100, int offs_1_21_90, int offs_1_21_80, int offs_1_21_70, int offs_1_21_60, int offs_1_21_50, int offs_1_21_40, int offs_1_21_30, int offs_1_21_20, int offs_1_20_50, int offs_1_20_40, int offs_1_20_30, int offs_1_18_12, int offs_1_19_51>
extern inline const int mvGetOffset() {
switch (SDK::internalVers) {
Expand Down
3 changes: 2 additions & 1 deletion src/mc/Version.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ namespace SDK {
V1_21_110 = 121110,
V1_21_120 = 121120,
V1_21_130 = 121130,
VLATEST = V1_21_130,
V1_26_0 = 126000,
VLATEST = V1_26_0,
};

extern int internalVers;
Expand Down
4 changes: 2 additions & 2 deletions src/mc/common/client/game/GameCore.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
namespace SDK {
class GameCore { // Made up
public:
CLASS_FIELD(std::string, dataPath, 0x480);
CLASS_FIELD(HWND, hwnd, 0x770);
CLASS_FIELD(std::string, dataPath, 0x498);
CLASS_FIELD(HWND, hwnd, 0x788);

static GameCore* get();
};
Expand Down
2 changes: 1 addition & 1 deletion src/mc/common/client/game/MinecraftGame.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ bool SDK::MinecraftGame::isCursorGrabbed() {

SDK::ClientInstance* SDK::MinecraftGame::getPrimaryClientInstance() {
if (SDK::internalVers >= V1_21_40) {
const auto map = reinterpret_cast<std::map<unsigned char, std::shared_ptr<SDK::ClientInstance>>*>(reinterpret_cast<uintptr_t>(this) + 0x9D0);
const auto map = reinterpret_cast<std::map<unsigned char, std::shared_ptr<SDK::ClientInstance>>*>(reinterpret_cast<uintptr_t>(this) + 0xA08);
return map->at(0).get();
}
//19AAAB62768
Expand Down
6 changes: 3 additions & 3 deletions src/mc/common/client/game/MinecraftGame.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ namespace SDK {
bool isCursorGrabbed();

MVCLASS_FIELD(std::string, xuid, 0x358, 0x350, 0x350, 0x350, 0x350, 0x350, 0x320, 0x310, 0x310, 0x310, 0x310, 0x320, 0x318, 0x318, 0x2F8, 0x618, 0x228);
CLASS_FIELD(GameRenderer*, gameRenderer, 0xD38);
CLASS_FIELD(GameRenderer*, gameRenderer, 0xD70);
private:
MVCLASS_FIELD(class FontRepository**, fontRepo, 0xED8, 0xED0, 0xEE0, 0xEC0, 0xEC0, 0xE70, 0xE38, 0xE08, 0xEB0, 0xDE0, 0xE08, 0xE00, 0xF60, 0xF30, 0xF20, 0x110, 0xF88);
MVCLASS_FIELD(class FontRepository**, fontRepo, 0xF10, 0xED8, 0xED0, 0xEE0, 0xEC0, 0xEC0, 0xE70, 0xE38, 0xE08, 0xEB0, 0xDE0, 0xE08, 0xE00, 0xF60, 0xF30, 0xF20, 0x110, 0xF88);
public:
MVCLASS_FIELD(class Font*, minecraftFont, 0xEE0, 0xED8, 0xEE8, 0xEC8, 0xEC8, 0xE78, 0xE40, 0xE10, 0xEB8, 0xDE8, 0xE18, 0xE10, 0xF70, 0xF40, 0xF30, 0x120, 0xF78);
MVCLASS_FIELD(class Font*, minecraftFont, 0xF18, 0xEE0, 0xED8, 0xEE8, 0xEC8, 0xEC8, 0xE78, 0xE40, 0xE10, 0xEB8, 0xDE8, 0xE18, 0xE10, 0xF70, 0xF40, 0xF30, 0x120, 0xF78);

class FontRepository* getFontRepository() {
if (internalVers >= V1_21_40) {
Expand Down
4 changes: 2 additions & 2 deletions src/mc/common/client/game/Option.h
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
#pragma once
namespace SDK {
enum class OptionID {
Vsync = 54,
Vsync = 56,
};

class Option {
public:

class Impl {
private:
char pad[0x124];
char pad[0x1CC];
public:
OptionID id;
};
Expand Down
27 changes: 15 additions & 12 deletions src/mc/common/client/gui/controls/UIControl.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ namespace SDK {
};

class CustomRenderComponent : UIComponent { // 4 in list
char pad[8];
char pad[16];
public:
class HudPlayerRenderer* rend;
};

static_assert(offsetof(CustomRenderComponent, rend) == 0x18);
static_assert(offsetof(CustomRenderComponent, rend) == 0x20);
class UIControl
{
char pad_0000[16]; //0x0000
Expand All @@ -52,21 +52,24 @@ namespace SDK {
public:
int32_t controlState; //0x0070
class UIPropertyBag* uiPropertyBag; //0x0078
std::shared_ptr<UIControl> parent; //0x0080
std::vector<std::shared_ptr<UIControl>> children; //0x0090
private:
char pad_00A8[8]; //0x00A8
char pad_0080[8]; //0x0080
public:
std::vector<UIComponent*> uiComponents; //0x00B0 supposed to be vector of UIComponent
std::shared_ptr<UIControl> parent; //0x0088
std::vector<std::shared_ptr<UIControl>> children; //0x0098
private:
char pad_00C8[24]; //0x00C8
class UIControl* unknownControl; //0x00E0 I dont even think this exists
char pad_00E8[56]; //0x00E8
char pad_00B0[8]; //0x00B0
public:
std::shared_ptr<UIControl> topControl; //0x0120 for example, start_screen
std::vector<UIComponent*> uiComponents; //0x00B8 supposed to be vector of UIComponent
private:
char pad_0140[8]; //0x0130
int32_t refCount; //0x0138
char pad_00D0[24]; //0x00D0
class UIControl* unknownControl; //0x00E8 I dont even think this exists
char pad_00F0[56]; //0x00F0
public:
std::shared_ptr<UIControl> topControl; //0x0128 for example, start_screen
private:
char pad_0138[8]; //0x0138
int32_t refCount; //0x0140
bool hasInitialized;
public:
std::shared_ptr<UIControl> findControl(const char* name) {
Expand Down
2 changes: 1 addition & 1 deletion src/mc/common/client/renderer/Tessellator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ void SDK::Tessellator::begin(Primitive fmt, int numVertices) {
}

void SDK::Tessellator::color(float r, float g, float b, float a) {
reinterpret_cast<void(*)(Tessellator*, float, float, float, float)>(Signatures::Tessellator_color.result)(this, r, g, b, a);
reinterpret_cast<void(*)(Tessellator*, const Color&)>(Signatures::Tessellator_color.result)(this, Color{r, g, b, a});
}

void SDK::Tessellator::color(Color const& col) {
Expand Down
2 changes: 1 addition & 1 deletion src/mc/common/client/renderer/game/LevelRenderer.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace SDK {
class LevelRenderer {
MVCLASS_FIELD(LevelRendererPlayer*, levelRendererPlayer, 0x3F0, 0x3E8, 0x3F0, 0x3F0, 0x328, 0x328, 0x328, 0x318, 0x318, 0x308, 0x308, 0x308, 0x308, 0x308, 0x288, 0x2A8);
MVCLASS_FIELD(LevelRendererPlayer*, levelRendererPlayer, 0x430, 0x3F0, 0x3F0, 0x3E8, 0x3F0, 0x3F0, 0x328, 0x328, 0x328, 0x318, 0x318, 0x308, 0x308, 0x308, 0x308, 0x308, 0x288, 0x2A8);
public:
LevelRendererPlayer* getLevelRendererPlayer() {
if (SDK::internalVers <= V1_19_51 /*1.20+*/) {
Expand Down
2 changes: 2 additions & 0 deletions src/mc/common/client/renderer/game/LevelRendererPlayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Vec3& SDK::LevelRendererPlayer::getOrigin() {
}

float& SDK::LevelRendererPlayer::getFovX() {
if (SDK::internalVers >= SDK::V1_26_0) return hat::member_at<float>(this, 0xFF0);
if (SDK::internalVers >= SDK::V1_21_120) return hat::member_at<float>(this, 0xF80);
if (SDK::internalVers >= SDK::V1_21_110) return hat::member_at<float>(this, 0xF88);
if (SDK::internalVers >= SDK::V1_21_90) return hat::member_at<float>(this, 0x1020);
Expand All @@ -28,6 +29,7 @@ float& SDK::LevelRendererPlayer::getFovX() {
}

float& SDK::LevelRendererPlayer::getFovY() {
if (SDK::internalVers >= SDK::V1_26_0) return hat::member_at<float>(this, 0x1004);
if (SDK::internalVers >= SDK::V1_21_120) return hat::member_at<float>(this, 0xF94);
if (SDK::internalVers >= SDK::V1_21_110) return hat::member_at<float>(this, 0xF9C);
if (SDK::internalVers >= SDK::V1_21_90) return hat::member_at<float>(this, 0x1034);
Expand Down
6 changes: 3 additions & 3 deletions src/mc/common/world/Attribute.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ namespace SDK {

class Attributes {
public:
inline static Attribute Hunger = Attribute(SDK::mvGetOffset<1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1>(), "minecraft:hunger");
inline static Attribute Saturation = Attribute(SDK::mvGetOffset<2, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2>(), "minecraft:saturation");
inline static Attribute Health = Attribute(SDK::mvGetOffset<6, 7, 7, 6, 1, 1, 1, 7, 7, 7, 7, 7, 6, 6, 6>(), "minecraft:health");
inline static Attribute Hunger = Attribute(SDK::mvGetOffset<12, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1>(), "minecraft:hunger");
inline static Attribute Saturation = Attribute(SDK::mvGetOffset<13, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2>(), "minecraft:saturation");
inline static Attribute Health = Attribute(SDK::mvGetOffset<2, 6, 6, 6, 7, 7, 6, 1, 1, 1, 7, 7, 7, 7, 7, 6, 6, 6>(), "minecraft:health");
};
}
4 changes: 2 additions & 2 deletions src/mc/common/world/actor/Actor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Vec3& SDK::Actor::getPosOld() {

int SDK::Actor::getCommandPermissionLevel() {
// @dump-wbds vtable Actor, getCommandPermissionLevel
return memory::callVirtual<int>(this, mvGetOffset<0x67, 0x69, 0x6A, 0x6B, 0x6B, 0x6D, 0x7C, 0xB5, 0xCC, 0xCD>());
return memory::callVirtual<int>(this, mvGetOffset<0x66, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x69, 0x6A, 0x6B, 0x6B, 0x6D, 0x7C, 0xB5, 0xCC, 0xCD>());
}

void SDK::Actor::setNameTag(std::string* nametag) {
Expand All @@ -98,7 +98,7 @@ uint8_t SDK::Actor::getEntityTypeID() {

void SDK::Actor::swing() {
// @dump-wbds vtable Actor, swing
return memory::callVirtual<void>(this, SDK::mvGetOffset<0x6F, 0x71, 0x72, 0x73, 0x73, 0x75, 0x86, 0xC4, 0xDB, 0xDC>());
return memory::callVirtual<void>(this, SDK::mvGetOffset<0x6E, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x71, 0x72, 0x73, 0x73, 0x75, 0x86, 0xC4, 0xDB, 0xDC>());
}

bool SDK::Actor::isPlayer() {
Expand Down
4 changes: 2 additions & 2 deletions src/mc/common/world/actor/Mob.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ namespace SDK {
class Mob : public Actor {
public:
void setSprinting(bool b) {
memory::callVirtual<void>(this, SDK::mvGetOffset<0x8C, 0x91, 0x92, 0x96, 0x96, 0x99, 0xAF, 0xFB, 0x115, 0x11C>(), b);
memory::callVirtual<void>(this, SDK::mvGetOffset<0x8B, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x91, 0x92, 0x96, 0x96, 0x99, 0xAF, 0xFB, 0x115, 0x11C>(), b);
}

int getItemUseDuration() {
return memory::callVirtual<int>(this, SDK::mvGetOffset<0x95, 0x96, 0x96, 0x95, 0x95, 0x95, 0x95, 0x95, 0x9A, 0x9B, 0x9F, 0x9F, 0xA2, 0xB9, 0x109, 0x12A, 0x12F>());
return memory::callVirtual<int>(this, SDK::mvGetOffset<0x94, 0x95, 0x96, 0x96, 0x95, 0x95, 0x95, 0x95, 0x95, 0x9A, 0x9B, 0x9F, 0x9F, 0xA2, 0xB9, 0x109, 0x12A, 0x12F>());
}
};
}
4 changes: 2 additions & 2 deletions src/mc/common/world/actor/player/Player.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
void SDK::Player::displayClientMessage(std::string const& message) {
if (internalVers >= V1_21_20) {
std::optional<std::string> opt = {};
memory::callVirtual<void>(this, mvGetOffset<0xC7, 0xC9, 0xC9, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xCD, 0xCE, 0xD2, 0xD2, 0x0, 0x0, 0x0, 0x0, 0x0>(), message, opt);
memory::callVirtual<void>(this, mvGetOffset<0xC6, 0xC7, 0xC9, 0xC9, 0xC8, 0xC8, 0xC8, 0xC8, 0xC8, 0xCD, 0xCE, 0xD2, 0xD2, 0x0, 0x0, 0x0, 0x0, 0x0>(), message, opt);
return;
}
memory::callVirtual<void>(this, mvGetOffset<0xEF, 0x15E, 0x184, 0x18A>(), message);
Expand All @@ -34,5 +34,5 @@ SDK::MoveInputComponent* SDK::Player::getMoveInputComponent() {
}

std::string SDK::Player::getXUID() {
return memory::callVirtual<std::string>(this, SDK::mvGetOffset<0xE8, 0xEA, 0xEA, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xF1, 0xF2, 0xF3, 0xF3, 0xF6, 0x18C, 0x1B6, 0x1BC>());
return memory::callVirtual<std::string>(this, SDK::mvGetOffset<0xE7, 0xE8, 0xEA, 0xEA, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xF1, 0xF2, 0xF3, 0xF3, 0xF6, 0x18C, 0x1B6, 0x1BC>());
}
Loading
Loading