Skip to content

Commit fd12414

Browse files
committed
1.20.80 partial update
1 parent 3b6890e commit fd12414

File tree

15 files changed

+301
-67
lines changed

15 files changed

+301
-67
lines changed

src/Client/Hook/Hooks/Game/RaknetTick.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ class RaknetTickHook : public Hook { //RaknetConnector::tick :)
1515

1616
static inline original raknetTickOriginal = nullptr;
1717

18-
RaknetTickHook() : Hook("RaknetTick",
19-
"48 89 5C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 55 41 56 41 57 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 85 ? ? ? ? 48 8B F9 45 33 FF 4C 89 BD ? ? ? ? 48 8D 95 ? ? ? ?") {}
18+
RaknetTickHook() : Hook("RaknetTick",GET_SIG("RaknetTick")) {}
2019

2120
void enableHook() override;
2221
};

src/Client/Module/Manager.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,9 @@ void ModuleManager::initialize() {
116116
ModuleManager::addModule(new SnapLook());
117117
ModuleManager::addModule(new HurtColor());
118118
ModuleManager::addModule(new FogColor());
119-
ModuleManager::addModule(new ArmorHUD());
119+
if(!WinrtUtils::check(20,80)) { // TODO: fix Actor::getArmor sig/use other method
120+
ModuleManager::addModule(new ArmorHUD());
121+
}
120122
ModuleManager::addModule(new TimeChanger());
121123
ModuleManager::addModule(new RenderOptions());
122124
ModuleManager::addModule(new PaperDoll());

src/Client/Module/Modules/ArrowCounter/ArrowListener.hpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,13 @@ class ArrowListener : public Listener {
2929

3030
auto inventory = SDK::clientInstance->getLocalPlayer()->playerInventory->inventory;
3131
if(inventory == nullptr) return;
32-
auto offhandItem = SDK::clientInstance->getLocalPlayer()->getOffhandSlot();
3332

34-
if (offhandItem->getItem() != nullptr) {
35-
if (offhandItem->getItem()->name == "arrow") {
36-
arrows = offhandItem->count;
37-
}
33+
if(!WinrtUtils::check(20,80)) { // TODO: fix Actor::getOffhandSlot sig
34+
auto offhandItem = SDK::clientInstance->getLocalPlayer()->getOffhandSlot();
35+
if(offhandItem != nullptr)
36+
if (offhandItem->getItem() != nullptr)
37+
if (offhandItem->getItem()->name == "arrow")
38+
arrows = offhandItem->count;
3839
}
3940

4041
for (int i = 0; i < 36; i++) {

src/Client/Module/Modules/TabList/TabList.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class TabList : public Module {
7070

7171

7272
if (settings.getSettingByName<bool>("BlurEffect") == nullptr) {
73-
settings.addSetting("BlurEffect", true);
73+
settings.addSetting("BlurEffect", false);
7474
}
7575

7676
}

src/Client/Module/Modules/WeatherChanger/WeatherListener.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#include "../Module.hpp"
88
#include "../../../GUI/Engine/Engine.hpp"
99
#include <Windows.h>
10-
10+
// TODO: when disabled, does not restore original settings
1111
class WeatherListener : public Listener {
1212

1313
Module *module;
@@ -26,6 +26,8 @@ class WeatherListener : public Listener {
2626
"lighting")->value;
2727
else SDK::clientInstance->getBlockSource()->dimension->weather->lightingLevel = 0.0f;
2828

29+
30+
// TODO: When you set snow, it will stay even if on until game reload
2931
if (module->settings.getSettingByName<bool>("snow")->value) {
3032
Vec3<float> *pos = event.getActor()->getPosition();
3133
Vec3<int> e(pos->x, pos->y, pos->z);
@@ -40,6 +42,5 @@ class WeatherListener : public Listener {
4042
this->name = string;
4143
this->module = module;
4244
}
43-
4445
};
4546

src/SDK/Client/Actor/Actor.cpp

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ Component *Actor::tryGet(uintptr_t addr) { // TODO: Multiversion
3434
}
3535

3636
bool Actor::isAlive() {
37-
static int off = GET_OFFSET("Actor::isPlayer");
37+
static int off = GET_OFFSET("Actor::isAlive");
3838
return Memory::CallVFuncI<bool>(off, this);
3939
}
4040

4141
std::string *Actor::getXuid(std::string *str) {
42-
static int off = GET_OFFSET("Actor::getXuid");
42+
static int off = GET_OFFSET("Player::getXuid");
4343
return Memory::CallVFuncI<std::string *, std::string *>(off, this, str);
4444
}
4545

@@ -158,19 +158,6 @@ void Actor::setNametag(std::string *name) {
158158
return fn(this, name);
159159
}
160160

161-
/*
162-
std::uint64_t Actor::getRuntimeID() {
163-
static uintptr_t sig;
164-
165-
if (sig == NULL) {
166-
sig = Memory::findSig("40 53 48 83 EC 20 8B 41 18 48 8B DA 48 8B 49 10 48 8D 54 24 30 89 44 24 30 E8 ?? ?? ?? ?? 48 85 C0 74 0F");
167-
}
168-
169-
auto fn = reinterpret_cast<std::uint64_t (__thiscall*)(Actor*)>(sig);
170-
return fn(this);
171-
}
172-
*/
173-
174161
std::string *Actor::getNametag() {
175162
static uintptr_t sig;
176163

@@ -182,11 +169,6 @@ std::string *Actor::getNametag() {
182169
return fn(this);
183170
}
184171

185-
bool Actor::isPlayer() {
186-
static int off = GET_OFFSET("Actor::isPlayer");
187-
return Memory::CallVFuncI<bool>(off, this);
188-
}
189-
190172
bool Actor::hasCategory(ActorCategory category) {
191173
return ((int) this->categories & (int) category) != 0;
192174
}

src/SDK/Client/Actor/Actor.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ struct AABBShapeComponent {
177177

178178
class Actor {
179179
public:
180-
180+
// BUILD_ACCESS(this, int32_t , bobOffset, 0x98);
181+
// BUILD_ACCESS(this, int32_t , Age, 0x98);
181182
BUILD_ACCESS(this, int16_t, hurtTime, GET_OFFSET("Actor::hurtTime"));
182183
BUILD_ACCESS(this, Level*, level, GET_OFFSET("Actor::level"));
183184
BUILD_ACCESS(this, ActorCategory, categories, GET_OFFSET("Actor::categories"));
@@ -227,7 +228,6 @@ class Actor {
227228

228229
std::string *getNametag();
229230

230-
bool isPlayer();
231231

232232
bool hasCategory(ActorCategory category);
233233

src/SDK/Client/Render/Matrix.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ struct Matrix {
3333
return true;
3434
}
3535

36-
bool WorldToScreen(Vec3<float> pos, Vec2<float> &screen);
36+
static bool WorldToScreen(Vec3<float> pos, Vec2<float> &screen);
3737

3838
static GLMatrix *getMatrixCorrection();
3939

src/SDK/Client/Render/MinecraftUIRenderContext.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class MinecraftUIRenderContext {
1919
public:
2020
BUILD_ACCESS(this, ClientInstance*, clientInstance, GET_OFFSET("MinecraftUIRenderContext::clientInstance"));
2121
BUILD_ACCESS(this, ScreenContext*, screenContext, GET_OFFSET("MinecraftUIRenderContext::screenContext"));
22+
BUILD_ACCESS(this, float, FrameAlpha, 0x0);
2223

2324
static MaterialPtr *getUIMaterial() {
2425
static uintptr_t ref;

src/Utils/Memory/Game/Offset/OffsetInit.cpp

Lines changed: 164 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,159 @@
33
#include "../../../Logger/Logger.hpp"
44
#include "../SignatureAndOffsetManager.hpp"
55

6+
void OffsetInit::init2080() {
7+
Logger::debug("[Offsets] Loading offsets for 1.20.8X");
8+
9+
// Keystrokes
10+
ADD_OFFSET("MoveInputComponent::forward", 0x0A);
11+
ADD_OFFSET("MoveInputComponent::backward", 0x0B);
12+
ADD_OFFSET("MoveInputComponent::left", 0x0C);
13+
ADD_OFFSET("MoveInputComponent::right", 0x0D);
14+
ADD_OFFSET("MoveInputComponent::sneaking", 0x20);
15+
ADD_OFFSET("MoveInputComponent::jumping", 0x26);
16+
ADD_OFFSET("MoveInputComponent::sprinting", 0x27);
17+
18+
// Speed display
19+
ADD_OFFSET("StateVectorComponent::pos", 0x0);
20+
ADD_OFFSET("StateVectorComponent::posDelta", 0x18);
21+
ADD_OFFSET("StateVectorComponent::posPrev", 0x0C);
22+
23+
// Hitboxes and other +/- 1
24+
ADD_OFFSET("Actor::getActorFlag", 0);
25+
ADD_OFFSET("Actor::isAlive", 51);
26+
ADD_OFFSET("Actor::isValidTarget", 57);
27+
ADD_OFFSET("Player::getXuid", 240);
28+
29+
// AutoSprint
30+
ADD_OFFSET("Mob::setSprinting", 154); // +
31+
32+
ADD_OFFSET("BlockSource::getBlock", 2); // unused
33+
34+
// Armour HUD, Inventory HUD
35+
ADD_OFFSET("Inventory::getItem", 5);
36+
37+
ADD_OFFSET("ClientInstance::getBlockSource", 28);
38+
ADD_OFFSET("ClientInstance::getLocalPlayer", 29);
39+
ADD_OFFSET("ClientInstance::refocusMouse", 333); // unused
40+
ADD_OFFSET("ClientInstance::levelRenderer", 0xE0); // unused
41+
42+
ADD_OFFSET("Packet::getId", 1);
43+
ADD_OFFSET("Packet::getName", 2); // unused
44+
45+
ADD_OFFSET("createMaterial", 1); // unused
46+
47+
// ADD_OFFSET("Actor::bobOffset", 0x258);
48+
// ADD_OFFSET("Actor::Age", 0x98); 1F0
49+
ADD_OFFSET("Actor::hurtTime", 0x214); // ?hurtEffects@Mob@@UEAAXAEBVActorDamageSource@@M_N1@Z Mob::hurtEffects 2nd after Actor::getHealth(void)
50+
ADD_OFFSET("Actor::level", 0x258);
51+
ADD_OFFSET("Actor::categories", 0x290);
52+
ADD_OFFSET("Actor::actorRotationComponent", 0x2A8);
53+
ADD_OFFSET("Actor::aabb", 0x2A0);
54+
ADD_OFFSET("Actor::stateVector", 0x298);
55+
ADD_OFFSET("Actor::rotations", 0x2A8);
56+
ADD_OFFSET("Actor::wasHurt", 0x21E); // +
57+
ADD_OFFSET("Actor::baseTickVft", 26); // +
58+
59+
ADD_OFFSET("Gamemode::player", 0x8);
60+
ADD_OFFSET("Gamemode::lastBreakProgress", 0x20);
61+
ADD_OFFSET("Gamemode::attackVft", 14);
62+
63+
ADD_OFFSET("Mob::mobHurtTimeComponent", 0x610); // unused
64+
65+
ADD_OFFSET("Player::playerInventory", 0x788); // +
66+
ADD_OFFSET("Player::playerName", 0x1D18); // +
67+
ADD_OFFSET("Player::gamemode", 0xEB0); // +
68+
69+
ADD_OFFSET("BlockSource::dimension", 0x30);
70+
71+
ADD_OFFSET("PlayerInventory::SelectedSlot", 0x10);
72+
ADD_OFFSET("PlayerInventory::inventory", 0xC0);
73+
74+
ADD_OFFSET("Camera::viewMatrix", 0xC0);
75+
ADD_OFFSET("Camera::projectionMatrix", 0x100);
76+
77+
ADD_OFFSET("ClientHMDState::lastLevelProjMatrix", 0x148);
78+
79+
ADD_OFFSET("ClientInstance::minecraftGame", 0xC8);
80+
ADD_OFFSET("ClientInstance::guiData", 0x558);
81+
ADD_OFFSET("ClientInstance::camera", 0x270);
82+
ADD_OFFSET("ClientInstance::Matrix1", 0x330);
83+
ADD_OFFSET("ClientInstance::clientHMDState", 0x5A8); // unused
84+
85+
ADD_OFFSET("ClientInstance::getFovX", 0x6F0);
86+
ADD_OFFSET("ClientInstance::getFovY", 0x704);
87+
ADD_OFFSET("ClientInstance::getPacketSender", 0xF0);
88+
89+
ADD_OFFSET("Minecraft::timer", 0x00D8);
90+
91+
ADD_OFFSET("MinecraftGame::mouseGrabbed", 0x1A8);
92+
93+
ADD_OFFSET("Option::optionInformation", 0x8);
94+
ADD_OFFSET("Option::value", 0x10);
95+
ADD_OFFSET("Option::value1", 0x70);
96+
ADD_OFFSET("OptionInfo::TranslateName", 0x158);
97+
98+
ADD_OFFSET("Item::AtlasTextureFile", 0x8);
99+
ADD_OFFSET("Item::Namespace", 0xF8);
100+
ADD_OFFSET("Item::name",0xD0);
101+
102+
ADD_OFFSET("ItemStack::tag", 0x10);
103+
ADD_OFFSET("ItemStack::count", 0x22);
104+
105+
ADD_OFFSET("Biome::temparature", 0x38); // +
106+
107+
ADD_OFFSET("Dimension::weather", 0x1B0); // +
108+
109+
ADD_OFFSET("Weather::lightingLevel", 0x44); // +
110+
ADD_OFFSET("Weather::rainLevel", 0x3C); // +
111+
112+
ADD_OFFSET("LevelRendererPlayer::cameraPos", 0x5FC);
113+
114+
ADD_OFFSET("LoopbackPacketSender::networkSystem", 0x20);
115+
116+
ADD_OFFSET("NetworkSystem::remoteConnectorComposite", 0x80);
117+
118+
ADD_OFFSET("RemoteConnectorComposite::rakNetConnector", 0x60);
119+
120+
ADD_OFFSET("RaknetConnector::JoinedIp", 0x458); // +
121+
ADD_OFFSET("RaknetConnector::getPeer", 0x298); // + (MarioSQ)
122+
123+
// ADD_OFFSET("RakPeer::NumberOfConnections", 10); // `vtable for'RakNet::RakPeer in linux bds
124+
// ADD_OFFSET("RakPeer::GetSystemAddressFromIndex", 33);
125+
// ADD_OFFSET("RakPeer::GetGUIDFromIndex", 31);
126+
// ADD_OFFSET("RakPeer::GetAveragePing", 41);
127+
// ADD_OFFSET("RakPeer::GetLastPing", 42);
128+
129+
ADD_OFFSET("BaseActorRenderContext::itemRenderer", 0x58);
130+
131+
ADD_OFFSET("GuiData::ScreenSize", 0x0030);
132+
ADD_OFFSET("GuiData::ScreenSizeScaled", 0x0040);
133+
ADD_OFFSET("GuiData::GuiScale", 0x004C);
134+
ADD_OFFSET("GuiData::screenResRounded", 0x0038);
135+
ADD_OFFSET("GuiData::sliderAmount", 0x004C);
136+
ADD_OFFSET("GuiData::scalingMultiplier", 0x0050);
137+
138+
ADD_OFFSET("MinecraftUIRenderContext::clientInstance", 0x8);
139+
ADD_OFFSET("MinecraftUIRenderContext::screenContext", 0x10);
140+
141+
ADD_OFFSET("ScreenView::VisualTree", 0x48);
142+
143+
ADD_OFFSET("MinecraftCustomUIRenderer::state", 0x10);
144+
145+
ADD_OFFSET("CustomRenderComponent::renderer", 0x18);
146+
147+
ADD_OFFSET("UIControl::LayerName", 0x18);
148+
ADD_OFFSET("UIControl::scale", 0x40);
149+
ADD_OFFSET("UIControl::x", 0x78);
150+
ADD_OFFSET("UIControl::y", 0x7C);
151+
ADD_OFFSET("UIControl::children", 0xA0);
152+
153+
ADD_OFFSET("VisualTree::root", 0x8);
154+
155+
ADD_OFFSET("Level::hitResult", 0xB30); // +
156+
ADD_OFFSET("Level::getPlayerMap", 0x1C88); //+
157+
}
158+
6159
void OffsetInit::init2070() {
7160
Logger::debug("[Offsets] Loading offsets for 1.20.7X");
8161

@@ -23,9 +176,8 @@ void OffsetInit::init2070() {
23176
// Hitboxes and other
24177
ADD_OFFSET("Actor::getActorFlag", 0);
25178
ADD_OFFSET("Actor::isAlive", 53);
26-
ADD_OFFSET("Actor::isPlayer", 58);
27179
ADD_OFFSET("Actor::isValidTarget", 61);
28-
ADD_OFFSET("Actor::getXuid", 253);
180+
ADD_OFFSET("Player::getXuid", 247);
29181

30182
// AutoSprint
31183
ADD_OFFSET("Mob::setSprinting", 159);
@@ -45,6 +197,8 @@ void OffsetInit::init2070() {
45197

46198
ADD_OFFSET("createMaterial", 1); // unused
47199

200+
ADD_OFFSET("Actor::bobOffset", 0x258);
201+
ADD_OFFSET("Actor::Age", 0x98);
48202
ADD_OFFSET("Actor::hurtTime", 0x214); // ?hurtEffects@Mob@@UEAAXAEBVActorDamageSource@@M_N1@Z Mob::hurtEffects 2nd after Actor::getHealth(void)
49203
ADD_OFFSET("Actor::level", 0x258);
50204
ADD_OFFSET("Actor::categories", 0x290);
@@ -119,11 +273,11 @@ void OffsetInit::init2070() {
119273
ADD_OFFSET("RaknetConnector::JoinedIp", 0x438);
120274
ADD_OFFSET("RaknetConnector::getPeer", 0x278);
121275

122-
ADD_OFFSET("RakPeer::NumberOfConnections", 10); // `vtable for'RakNet::RakPeer in linux bds
123-
ADD_OFFSET("RakPeer::GetSystemAddressFromIndex", 33);
124-
ADD_OFFSET("RakPeer::GetGUIDFromIndex", 31);
125-
ADD_OFFSET("RakPeer::GetAveragePing", 41);
126-
ADD_OFFSET("RakPeer::GetLastPing", 42);
276+
// ADD_OFFSET("RakPeer::NumberOfConnections", 10); // `vtable for'RakNet::RakPeer in linux bds
277+
// ADD_OFFSET("RakPeer::GetSystemAddressFromIndex", 33);
278+
// ADD_OFFSET("RakPeer::GetGUIDFromIndex", 31);
279+
// ADD_OFFSET("RakPeer::GetAveragePing", 41);
280+
// ADD_OFFSET("RakPeer::GetLastPing", 42);
127281

128282
ADD_OFFSET("BaseActorRenderContext::itemRenderer", 0x58);
129283

@@ -175,9 +329,8 @@ void OffsetInit::init2060() {
175329
// Hitboxes and other
176330
ADD_OFFSET("Actor::getActorFlag", 0);
177331
ADD_OFFSET("Actor::isAlive", 54);
178-
ADD_OFFSET("Actor::isPlayer", 59);
179332
ADD_OFFSET("Actor::isValidTarget", 62);
180-
ADD_OFFSET("Actor::getXuid", 260);
333+
ADD_OFFSET("Player::getXuid", 260);
181334

182335
// AutoSprint
183336
ADD_OFFSET("Mob::setSprinting", 165);
@@ -320,9 +473,8 @@ void OffsetInit::init2050() {
320473
// Hitboxes and other
321474
ADD_OFFSET("Actor::getActorFlag", 0);
322475
ADD_OFFSET("Actor::isAlive", 57);
323-
ADD_OFFSET("Actor::isPlayer", 62);
324476
ADD_OFFSET("Actor::isValidTarget", 65);
325-
ADD_OFFSET("Actor::getXuid", 268);
477+
ADD_OFFSET("Player::getXuid", 268);
326478

327479
// AutoSprint
328480
ADD_OFFSET("Mob::setSprinting", 252);
@@ -465,9 +617,8 @@ void OffsetInit::init2030() {
465617
// Hitboxes and other
466618
ADD_OFFSET("Actor::getActorFlag", 0);
467619
ADD_OFFSET("Actor::isAlive", 89);
468-
ADD_OFFSET("Actor::isPlayer", 97);
469620
ADD_OFFSET("Actor::isValidTarget", 65);
470-
ADD_OFFSET("Actor::getXuid", 396);
621+
ADD_OFFSET("Player::getXuid", 396);
471622

472623
// AutoSprint
473624
ADD_OFFSET("Mob::setSprinting", 252);

0 commit comments

Comments
 (0)