#pragma once #include #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-variable" // bool In C #ifndef __cplusplus typedef unsigned char bool; #endif // Globals typedef void (*renderCursor_t)(float x, float y, unsigned char *minecraft); static renderCursor_t renderCursor = (renderCursor_t) 0x480c4; static char **default_path = (char **) 0xe264; // /.minecraft/ static char **default_username = (char **) 0x18fd4; // StevePi static char **minecraft_pi_version = (char **) 0x39d94; // v0.1.1 alpha static char **options_txt_path = (char **) 0x19bc8; // options.txt static char **options_txt_fopen_mode_when_loading = (char **) 0x19d24; // w static char ***feedback_vibration_options_txt_name_1 = (char ***) 0x198a0; // feedback_vibration static char ***feedback_vibration_options_txt_name_2 = (char ***) 0x194bc; // feedback_vibration static unsigned char **Material_stone = (unsigned char **) 0x180a9c; // Material static unsigned char *SOUND_STONE = (unsigned char *) 0x181c80; // Tile::SoundType static unsigned char **Item_flintAndSteel = (unsigned char **) 0x17ba70; // Item static unsigned char **Item_snowball = (unsigned char **) 0x17bbb0; // Item static unsigned char **Item_shears = (unsigned char **) 0x17bbf0; // Item static unsigned char **Item_egg = (unsigned char **) 0x17bbd0; // Item static unsigned char **Item_dye_powder = (unsigned char **) 0x17bbe0; // Item static unsigned char **Item_camera = (unsigned char **) 0x17bc14; // Item static unsigned char **Tile_water = (unsigned char **) 0x181b3c; // Tile static unsigned char **Tile_lava = (unsigned char **) 0x181cc8; // Tile static unsigned char **Tile_calmWater = (unsigned char **) 0x181b40; // Tile static unsigned char **Tile_calmLava = (unsigned char **) 0x181ccc; // Tile static unsigned char **Tile_glowingObsidian = (unsigned char **) 0x181dcc; // Tile static unsigned char **Tile_web = (unsigned char **) 0x181d08; // Tile static unsigned char **Tile_topSnow = (unsigned char **) 0x181b30; // Tile static unsigned char **Tile_ice = (unsigned char **) 0x181d80; // Tile static unsigned char **Tile_invisible_bedrock = (unsigned char **) 0x181d94; // Tile static unsigned char **Tile_netherReactor = (unsigned char **) 0x181dd0; // Tile static unsigned char **Tile_info_updateGame1 = (unsigned char **) 0x181c68; // Tile static unsigned char **Tile_info_updateGame2 = (unsigned char **) 0x181c6c; // Tile static unsigned char **Tile_bedrock = (unsigned char **) 0x181cc4; // Tile static unsigned char **Tile_tallgrass = (unsigned char **) 0x181d0c; // Tile static unsigned char **Tile_stoneSlab = (unsigned char **) 0x181b44; // Tile static unsigned char **Tile_leaves = (unsigned char **) 0x18120c; // Tile static unsigned char **Tile_leaves_carried = (unsigned char **) 0x181dd8; // Tile static unsigned char **Tile_grass = (unsigned char **) 0x181b14; // Tile static unsigned char **Tile_grass_carried = (unsigned char **) 0x181dd4; // Tile static float *InvGuiScale = (float *) 0x135d98; static unsigned char *Options_Option_GRAPHICS = (unsigned char *) 0x136c2c; // Option static unsigned char *Options_Option_AMBIENT_OCCLUSION = (unsigned char *) 0x136c38; // Option static bool *Minecraft_useAmbientOcclusion = (bool *) 0x136b90; // Structures struct AABB { float x1; float y1; float z1; float x2; float y2; float z2; }; struct LevelSettings { int32_t seed; int32_t game_type; }; struct RakNet_RakNetGUID { unsigned char data[10]; }; struct RakNet_SystemAddress { unsigned char data[20]; }; // Tile static unsigned char **Tile_tiles = (unsigned char **) 0x180e08; typedef void (*Tile_initTiles_t)(); static Tile_initTiles_t Tile_initTiles = (Tile_initTiles_t) 0xc358c; #define TILE_SIZE 0x5c #define TILE_VTABLE_SIZE 0x104 static unsigned char *Tile_vtable = (unsigned char *) 0x115670; typedef unsigned char *(*Tile_t)(unsigned char *tile, int32_t id, int32_t texture, const void *material); static Tile_t Tile = (Tile_t) 0xc33a0; typedef unsigned char *(*Tile_init_t)(unsigned char *tile); static Tile_init_t Tile_init = (Tile_init_t) 0xc34dc; typedef unsigned char *(*Tile_setDestroyTime_t)(unsigned char *tile, float destroy_time); static uint32_t Tile_setDestroyTime_vtable_offset = 0xf8; typedef unsigned char *(*Tile_setExplodeable_t)(unsigned char *tile, float explodeable); static uint32_t Tile_setExplodeable_vtable_offset = 0xf4; typedef unsigned char *(*Tile_setSoundType_t)(unsigned char *tile, unsigned char *sound_type); static uint32_t Tile_setSoundType_vtable_offset = 0xe8; typedef int32_t (*Tile_use_t)(unsigned char *tile, unsigned char *level, int32_t x, int32_t y, int32_t z, unsigned char *player); static uint32_t Tile_use_vtable_offset = 0x98; static uint32_t Tile_id_property_offset = 0x8; // int32_t static uint32_t Tile_category_property_offset = 0x3c; // int32_t // TileRenderer typedef void (*TileRenderer_tesselateBlockInWorld_t)(unsigned char *tile_renderer, unsigned char *tile, int32_t x, int32_t y, int32_t z); static TileRenderer_tesselateBlockInWorld_t TileRenderer_tesselateBlockInWorld = (TileRenderer_tesselateBlockInWorld_t) 0x59e30; // GameMode typedef void (*GameMode_releaseUsingItem_t)(unsigned char *game_mode, unsigned char *player); static uint32_t GameMode_releaseUsingItem_vtable_offset = 0x5c; // Minecraft typedef void (*Minecraft_init_t)(unsigned char *minecraft); static Minecraft_init_t Minecraft_init = (Minecraft_init_t) 0x1700c; typedef void (*Minecraft_tickInput_t)(unsigned char *minecraft); static Minecraft_tickInput_t Minecraft_tickInput = (Minecraft_tickInput_t) 0x15ffc; typedef void (*Minecraft_setIsCreativeMode_t)(unsigned char *, int32_t); static Minecraft_setIsCreativeMode_t Minecraft_setIsCreativeMode = (Minecraft_setIsCreativeMode_t) 0x16ec4; typedef int32_t (*Minecraft_isTouchscreen_t)(unsigned char *minecraft); static Minecraft_isTouchscreen_t Minecraft_isTouchscreen = (Minecraft_isTouchscreen_t) 0x1639c; typedef void (*Minecraft_setScreen_t)(unsigned char *minecraft, unsigned char *screen); static Minecraft_setScreen_t Minecraft_setScreen = (Minecraft_setScreen_t) 0x15d6c; typedef void (*Minecraft_tick_t)(unsigned char *minecraft, int32_t param_1, int32_t param_2); static Minecraft_tick_t Minecraft_tick = (Minecraft_tick_t) 0x16934; typedef void (*Minecraft_update_t)(unsigned char *minecraft); static Minecraft_update_t Minecraft_update = (Minecraft_update_t) 0x16b74; typedef void (*Minecraft_hostMultiplayer_t)(unsigned char *minecraft, int32_t port); static Minecraft_hostMultiplayer_t Minecraft_hostMultiplayer = (Minecraft_hostMultiplayer_t) 0x16664; typedef const char *(*Minecraft_getProgressMessage_t)(unsigned char *minecraft); static Minecraft_getProgressMessage_t Minecraft_getProgressMessage = (Minecraft_getProgressMessage_t) 0x16e58; typedef uint32_t (*Minecraft_isLevelGenerated_t)(unsigned char *minecraft); static Minecraft_isLevelGenerated_t Minecraft_isLevelGenerated = (Minecraft_isLevelGenerated_t) 0x16e6c; typedef bool (*Minecraft_isCreativeMode_t)(unsigned char *minecraft); static Minecraft_isCreativeMode_t Minecraft_isCreativeMode = (Minecraft_isCreativeMode_t) 0x17270; typedef void (*Minecraft_releaseMouse_t)(unsigned char *minecraft); static Minecraft_releaseMouse_t Minecraft_releaseMouse = (Minecraft_releaseMouse_t) 0x15d30; typedef void (*Minecraft_grabMouse_t)(unsigned char *minecraft); static Minecraft_grabMouse_t Minecraft_grabMouse = (Minecraft_grabMouse_t) 0x15d10; typedef void (*Minecraft_leaveGame_t)(unsigned char *minecraft, bool save_remote_level); static Minecraft_leaveGame_t Minecraft_leaveGame = (Minecraft_leaveGame_t) 0x15ea0; typedef int (*Minecraft_handleBack_t)(unsigned char *minecraft, bool do_nothing); static uint32_t Minecraft_handleBack_vtable_offset = 0x34; typedef unsigned char *(*Minecraft_getCreator_t)(unsigned char *minecraft); static Minecraft_getCreator_t Minecraft_getCreator = (Minecraft_getCreator_t) 0x17538; typedef unsigned char *(*Minecraft_getLevelSource_t)(unsigned char *minecraft); static Minecraft_getLevelSource_t Minecraft_getLevelSource = (Minecraft_getLevelSource_t) 0x16e84; static uint32_t Minecraft_screen_width_property_offset = 0x20; // int32_t static uint32_t Minecraft_network_handler_property_offset = 0x174; // NetEventCallback * static uint32_t Minecraft_rak_net_instance_property_offset = 0x170; // RakNetInstance * static uint32_t Minecraft_level_property_offset = 0x188; // Level * static uint32_t Minecraft_textures_property_offset = 0x164; // Textures * static uint32_t Minecraft_game_mode_property_offset = 0x160; // GameMode * static uint32_t Minecraft_player_property_offset = 0x18c; // LocalPlayer * static uint32_t Minecraft_options_property_offset = 0x3c; // Options static uint32_t Minecraft_hit_result_property_offset = 0xc38; // HitResult static uint32_t Minecraft_progress_property_offset = 0xc60; // int32_t static uint32_t Minecraft_command_server_property_offset = 0xcc0; // CommandServer * static uint32_t Minecraft_screen_property_offset = 0xc10; // Screen * static uint32_t Minecraft_gui_property_offset = 0x198; // Gui static uint32_t Minecraft_pov_property_offset = 0x150; // Mob * static uint32_t Minecraft_perf_renderer_property_offset = 0xcbc; // PerfRenderer * // GameRenderer typedef void (*GameRenderer_render_t)(unsigned char *game_renderer, float param_1); static GameRenderer_render_t GameRenderer_render = (GameRenderer_render_t) 0x4a338; static uint32_t GameRenderer_minecraft_property_offset = 0x4; // Minecraft * // Mouse typedef int (*Mouse_get_t)(); static Mouse_get_t Mouse_getX = (Mouse_get_t) 0x1385c; static Mouse_get_t Mouse_getY = (Mouse_get_t) 0x1386c; // CommandServer static uint32_t CommandServer_minecraft_property_offset = 0x18; // Minecraft * // ServerLevel #define SERVER_LEVEL_SIZE 0xb80 typedef unsigned char *(*ServerLevel_t)(unsigned char *server_level, unsigned char *storage, unsigned char *name, struct LevelSettings *settings, int param_4, unsigned char *dimension); static ServerLevel_t ServerLevel = (ServerLevel_t) 0x7692c; // Packet typedef void (*Packet_read_t)(unsigned char *packet, unsigned char *bit_stream); // LoginPacket static Packet_read_t LoginPacket_read = (Packet_read_t) 0x6e5f8; static void *LoginPacket_read_vtable_addr = (void *) 0x108dcc; static uint32_t LoginPacket_username_property_offset = 0xc; // RakString // StartGamePacket typedef void (*StartGamePacket_read_t)(unsigned char *packet, unsigned char *bit_stream); static StartGamePacket_read_t StartGamePacket_read = (StartGamePacket_read_t) 0x72c58; static void *StartGamePacket_read_vtable_addr = (void *) 0x109264; static uint32_t StartGamePacket_game_mode_property_offset = 0x14; // int32_t // ChatPacket static uint32_t ChatPacket_message_property_offset = 0xc; // char * // HitResult static uint32_t HitResult_type_property_offset = 0x0; // Options typedef void (*Options_initDefaultValue_t)(unsigned char *options); static Options_initDefaultValue_t Options_initDefaultValue = (Options_initDefaultValue_t) 0x18a54; typedef bool (*Options_getBooleanValue_t)(unsigned char *options, unsigned char *option); static Options_getBooleanValue_t Options_getBooleanValue = (Options_getBooleanValue_t) 0x1cd74; static uint32_t Options_options_file_property_offset = 0x10c; // OptionsFile static uint32_t Options_fancy_graphics_property_offset = 0x17; // unsigned char / bool static uint32_t Options_split_controls_property_offset = 0x105; // int32_t static uint32_t Options_game_difficulty_property_offset = 0xe8; // int32_t static uint32_t Options_3d_anaglyph_property_offset = 0x15; // unsigned char / bool static uint32_t Options_ambient_occlusion_property_offset = 0x18; // unsigned char / bool static uint32_t Options_hide_gui_property_offset = 0xec; // unsigned char / bool static uint32_t Options_third_person_property_offset = 0xed; // unsigned char / bool static uint32_t Options_render_distance_property_offset = 0x10; // int32_t static uint32_t Options_sound_property_offset = 0x4; // int32_t static uint32_t Options_debug_property_offset = 0xee; // unsigned char / bool static uint32_t Options_server_visible_property_offset = 0x104; // unsigned char / bool static uint32_t Options_username_property_offset = 0x100; // std::string // OptionButton typedef unsigned char *(*OptionButton_t)(unsigned char *option_button, unsigned char *option); static OptionButton_t OptionButton = (OptionButton_t) 0x1c968; typedef void (*OptionButton_updateImage_t)(unsigned char *option_button, unsigned char *options); static OptionButton_updateImage_t OptionButton_updateImage = (OptionButton_updateImage_t) 0x1ca58; // MouseBuildInput typedef int32_t (*MouseBuildInput_tickBuild_t)(unsigned char *mouse_build_input, unsigned char *player, uint32_t *build_action_intention_return); static MouseBuildInput_tickBuild_t MouseBuildInput_tickBuild = (MouseBuildInput_tickBuild_t) 0x17c98; static void *MouseBuildInput_tickBuild_vtable_addr = (void *) 0x102564; // Item static uint32_t Item_is_stacked_by_data_property_offset = 0x19; // unsigned char / bool static uint32_t Item_category_property_offset = 0x10; // int32_t static uint32_t Item_max_damage_property_offset = 0x8; // int32_t // TileItem typedef unsigned char *(*TileItem_t)(unsigned char *tile_item, int32_t id); static TileItem_t TileItem = (TileItem_t) 0xce3a4; // AuxDataTileItem #define AUX_DATA_TILE_ITEM_SIZE 0x2c static unsigned char *AuxDataTileItem_vtable = (unsigned char *) 0x114a58; static uint32_t AuxDataTileItem_icon_tile_property_offset = 0x28; // Tile * // ItemInstance typedef struct { int32_t count; int32_t id; int32_t auxiliary; } ItemInstance; typedef ItemInstance *(*ItemInstance_constructor_t)(ItemInstance *item_instance, unsigned char *item); static ItemInstance_constructor_t ItemInstance_constructor_item = (ItemInstance_constructor_t) 0x9992c; static ItemInstance_constructor_t ItemInstance_constructor_tile = (ItemInstance_constructor_t) 0x998e4; typedef ItemInstance *(*ItemInstance_constructor_extra_t)(ItemInstance *item_instance, unsigned char *item, int32_t count, int32_t auxiliary); static ItemInstance_constructor_extra_t ItemInstance_constructor_tile_extra = (ItemInstance_constructor_extra_t) 0x99918; static ItemInstance_constructor_extra_t ItemInstance_constructor_item_extra = (ItemInstance_constructor_extra_t) 0x99960; // Entity static uint32_t Entity_x_property_offset = 0x4; // float static uint32_t Entity_y_property_offset = 0x8; // float static uint32_t Entity_z_property_offset = 0xc; // float static uint32_t Entity_yaw_property_offset = 0x40; // float static uint32_t Entity_old_x_property_offset = 0x28; // float static uint32_t Entity_old_y_property_offset = 0x2c; // float static uint32_t Entity_old_z_property_offset = 0x30; // float static uint32_t Entity_old_yaw_property_offset = 0x48; // float // Mob typedef void (*Mob_actuallyHurt_t)(unsigned char *entity, int32_t damage); static Mob_actuallyHurt_t Mob_actuallyHurt = (Mob_actuallyHurt_t) 0x7f11c; static uint32_t Mob_actuallyHurt_vtable_offset = 0x16c; typedef float (*Mob_getWalkingSpeedModifier_t)(unsigned char *entity); typedef void (*Mob_die_t)(unsigned char *entity, unsigned char *cause); static uint32_t Mob_die_vtable_offset = 0x130; static uint32_t Mob_health_property_offset = 0xec; // int32_t // Player typedef int (*Player_isUsingItem_t)(unsigned char *player); static Player_isUsingItem_t Player_isUsingItem = (Player_isUsingItem_t) 0x8f15c; typedef void (*Player_drop_t)(unsigned char *player, ItemInstance *item_instance, bool is_death); static uint32_t Player_drop_vtable_offset = 0x208; static Mob_getWalkingSpeedModifier_t Player_getWalkingSpeedModifier = (Mob_getWalkingSpeedModifier_t) 0x8ea0c; static uint32_t Player_username_property_offset = 0xbf4; // std::string static uint32_t Player_inventory_property_offset = 0xbe0; // Inventory * // LocalPlayer static Mob_actuallyHurt_t LocalPlayer_actuallyHurt = (Mob_actuallyHurt_t) 0x44010; static void *LocalPlayer_actuallyHurt_vtable_addr = (void *) 0x10639c; static void *LocalPlayer_openTextEdit_vtable_addr = (void *) 0x106460; static Mob_die_t LocalPlayer_die = (Mob_die_t) 0x45078; static void *LocalPlayer_die_vtable_addr = (void *) 0x106360; static uint32_t LocalPlayer_minecraft_property_offset = 0xc90; // Minecraft * // ServerPlayer static void *ServerPlayer_actuallyHurt_vtable_addr = (void *) 0x109fa4; static uint32_t ServerPlayer_minecraft_property_offset = 0xc8c; // Minecraft * static uint32_t ServerPlayer_guid_property_offset = 0xc08; // RakNetGUID // Gui typedef void (*Gui_tick_t)(unsigned char *gui); static Gui_tick_t Gui_tick = (Gui_tick_t) 0x27778; typedef void (*Gui_handleClick_t)(unsigned char *gui, int32_t param_2, int32_t param_3, int32_t param_4); static Gui_handleClick_t Gui_handleClick = (Gui_handleClick_t) 0x2599c; typedef void (*Gui_renderOnSelectItemNameText_t)(unsigned char *gui, int32_t param_1, unsigned char *font, int32_t param_2); static Gui_renderOnSelectItemNameText_t Gui_renderOnSelectItemNameText = (Gui_renderOnSelectItemNameText_t) 0x26aec; typedef void (*Gui_renderChatMessages_t)(unsigned char *gui, int32_t y_offset, uint32_t max_messages, bool disable_fading, unsigned char *font); static Gui_renderChatMessages_t Gui_renderChatMessages = (Gui_renderChatMessages_t) 0x273d8; static uint32_t Gui_minecraft_property_offset = 0x9f4; // Minecraft * static uint32_t Gui_selected_item_text_timer_property_offset = 0x9fc; // float // Textures typedef void (*Textures_tick_t)(unsigned char *textures, bool param_1); static Textures_tick_t Textures_tick = (Textures_tick_t) 0x531c4; // GameMode Constructors #define CREATOR_MODE_SIZE 0x1c static void *CreatorMode = (void *) 0x1a044; #define SURVIVAL_MODE_SIZE 0x24 static void *SurvivalMode = (void *) 0x1b7d8; // LevelData typedef uint32_t (*LevelData_getSpawnMobs_t)(unsigned char *level_data); static LevelData_getSpawnMobs_t LevelData_getSpawnMobs = (LevelData_getSpawnMobs_t) 0xbabec; // Level typedef void (*Level_saveLevelData_t)(unsigned char *level); static Level_saveLevelData_t Level_saveLevelData = (Level_saveLevelData_t) 0xa2e94; typedef void (*Level_setTileAndData_t)(unsigned char *level, int32_t x, int32_t y, int32_t z, int32_t id, int32_t data); static Level_setTileAndData_t Level_setTileAndData = (Level_setTileAndData_t) 0xa38b4; static uint32_t Level_players_property_offset = 0x60; // std::vector // LevelRenderer typedef void (*LevelRenderer_render_t)(unsigned char *level_renderer, unsigned char *mob, int param_1, float delta); static LevelRenderer_render_t LevelRenderer_render = (LevelRenderer_render_t) 0x4f710; typedef void (*LevelRenderer_renderDebug_t)(unsigned char *level_renderer, struct AABB *aabb, float delta); static LevelRenderer_renderDebug_t LevelRenderer_renderDebug = (LevelRenderer_renderDebug_t) 0x4d310; static uint32_t LevelRenderer_minecraft_property_offset = 0x4; // Minecraft * // PerfRenderer typedef void (*PerfRenderer_debugFpsMeterKeyPress_t)(unsigned char *perf_renderer, int key); static PerfRenderer_debugFpsMeterKeyPress_t PerfRenderer_debugFpsMeterKeyPress = (PerfRenderer_debugFpsMeterKeyPress_t) 0x79118; // TextEditScreen #define TEXT_EDIT_SCREEN_SIZE 0xa9 typedef unsigned char *(*TextEditScreen_t)(unsigned char *text_edit_screen, unsigned char *sign); static TextEditScreen_t TextEditScreen = (TextEditScreen_t) 0x3a840; static void *TextEditScreen_updateEvents_vtable_addr = (void *) 0x10531c; // ProgressScreen #define PROGRESS_SCREEN_SIZE 0x4c typedef void *(*ProgressScreen_t)(unsigned char *obj); static ProgressScreen_t ProgressScreen = (ProgressScreen_t) 0x37044; // OptionsScreen static void *OptionsScreen_handleBackEvent_vtable_addr = (void *) 0x10499c; // FurnaceScreen typedef int32_t (*FurnaceScreen_handleAddItem_t)(unsigned char *furnace_screen, int32_t slot, ItemInstance const *item); static FurnaceScreen_handleAddItem_t FurnaceScreen_handleAddItem = (FurnaceScreen_handleAddItem_t) 0x327a0; static uint32_t FurnaceScreen_tile_entity_property_offset = 0x1d0; // FurnaceTileEntity * // FurnaceTileEntity typedef ItemInstance *(*FurnaceTileEntity_getItem_t)(unsigned char *furnace_tile_entity, int32_t slot); static uint32_t FurnaceTileEntity_getItem_vtable_offset = 0x2c; // Screen typedef void (*Screen_updateEvents_t)(unsigned char *screen); static Screen_updateEvents_t Screen_updateEvents = (Screen_updateEvents_t) 0x28eb8; typedef void (*Screen_keyboardNewChar_t)(unsigned char *screen, char key); static uint32_t Screen_keyboardNewChar_vtable_offset = 0x70; typedef void (*Screen_keyPressed_t)(unsigned char *screen, int32_t key); static uint32_t Screen_keyPressed_vtable_offset = 0x6c; typedef void (*Screen_init_t)(unsigned char *screen); typedef void (*Screen_tick_t)(unsigned char *screen); typedef int32_t (*Screen_handleBackEvent_t)(unsigned char *screen, bool param_1); static uint32_t Screen_minecraft_property_offset = 0x14; // Minecraft * static uint32_t Screen_rendered_buttons_property_offset = 0x18; // std::vector