diff --git a/launcher/client-data/opt/minecraft-pi-reborn-client/available-feature-flags b/launcher/client-data/opt/minecraft-pi-reborn-client/available-feature-flags index 0731817..440e76b 100644 --- a/launcher/client-data/opt/minecraft-pi-reborn-client/available-feature-flags +++ b/launcher/client-data/opt/minecraft-pi-reborn-client/available-feature-flags @@ -18,6 +18,7 @@ TRUE Fix Camera Rendering TRUE Implement Chat TRUE Implement Death Messages TRUE Implement Game-Mode Switching +TRUE Allow Joining Survival Servers TRUE Miscellaneous Input Fixes TRUE Bind "Q" Key To Item Dropping TRUE Bind Common Toggleable Options To Function Keys diff --git a/mods/src/game-mode/game-mode.c b/mods/src/game-mode/game-mode.c index 7682c01..462544f 100644 --- a/mods/src/game-mode/game-mode.c +++ b/mods/src/game-mode/game-mode.c @@ -37,8 +37,8 @@ static void Minecraft_setIsCreativeMode_injection(unsigned char *this, int32_t n // Init void init_game_mode() { + // Dynamic Game Mode Switching if (feature_has("Implement Game-Mode Switching", 1)) { - // Dynamic Game Mode Switching set_is_survival(1); overwrite_calls((void *) Minecraft_setIsCreativeMode, (void *) Minecraft_setIsCreativeMode_injection); @@ -50,11 +50,13 @@ void init_game_mode() { uint32_t level_size = SERVER_LEVEL_SIZE; patch((void *) 0x17004, (unsigned char *) &level_size); - // Allow Connecting To Survival Servers - unsigned char server_patch[4] = {0x0f, 0x00, 0x00, 0xea}; // "b 0x6dcb4" - patch((void *) 0x6dc70, server_patch); - // Init C++ _init_game_mode_cpp(); } + + // Allow Joining Survival Servers + if (feature_has("Allow Joining Survival Servers", 1)) { + unsigned char server_patch[4] = {0x0f, 0x00, 0x00, 0xea}; // "b 0x6dcb4" + patch((void *) 0x6dc70, server_patch); + } }