Hi everyone, today I will show you one of the things that became possible thanks to the modification of Minecraft Bedrock Edition.
(if you don't want to read the entire article and just want to try out the mod already, then scroll down, there will be instructions for "installation").
Many people believe that the modding of MinecraftBedrock Edition is impossible due to the closed source code and only addons can be used. Minecraft Bedrock Edition addons strive to become a full-fledged alternative to Minecraft Java Edition mods with all their complexity, functionality and coolness, but so far they have not even come close to this, the addon API capabilities are severely curtailed and does not have access to many game functions. The Chinese counterpart MCBE is better in this regard, and it has long been possible to make an addon in it, for example, with a new dimension and custom generation, but this is not enough.
And yet this article would not have appeared if modding had not been possible. Binary code is also code, which means it is also quite possible to change it. There is one program called IDA Pro - it is a disassembler for reverse engineering, and although it will not give the source code, it is enough to detect the necessary functions, then find the needed values in them and change.
This mod for Minecraft Bedrock Edition was my dream (a very long time ago), and since the source code of MCBE is closed, and the possibilities of addons are very limited, at some point I just give up and did not even think of ever getting what I wanted, when suddenly I was very lucky to meet Riesters he is a god in reverse engineering and IDA Pro. he taught me how to modify the MCBE binaries so that the pistons could push more than 12 blocks, for which I thank him very much.
The first mention and video confirmation that the piston push limit can be changed appeared 10/25/2022 in one discord server (ruhama is Riesters):
And the video itself (in it he changed the push limit to 3 blocks instead of 12):
Let's move on to the most important part - demonstrating what you can do in this mod. I changed the value from 12 blocks at once to the maximum possible. these are 4294967295 for 32-bit versions of MCBE and 18446744073709551615 for 64-bit versions of the game (For windows) For Android ARM32 PushLimit - 254, Android ARM64 and IOS - 9344, which you can see here:
This already provides huge opportunities for creativity. For example, you can build huge doors for your base:
the shape and size are unimportant, it all depends on your imagination.
Automatic Bridge Builders
Cobblestone generators can now extend cobblestone not by 12 blocks, but over much longer distances. This can be used, for example, to build large bridges in the ender dimension or in the overworld to build between mountains:
What about transportation? And you can easily build this. Previously, the problem in the construction of a full-fledged transport was precisely that the pistons could not push more than 12 blocks, and the maximum that could be done was machines capable of flying at least in 4 directions. With the ExtendPistonPushLimit mod, you can build even a submarine, or cruiser! (Whether your game will lag on a large machine or not depends only on the power of your PC):
Btw, the engines for the machines also can be upgraded, after which they will be able to fly 2.14 times faster than the average slimestone engine of the MCBE machine:
To summarize:
You can build a lot of new technical innovations, which again depend only on your imagination, and not on the limit of 12 blocks, which no longer exists!
You probably might have a lot of questions about this mod, so I'll try to answer them. If you don't find the information you need here, then you can ask a question in the comments.
Support for different platforms/OS
MCBE as a multiplatform game has support for many platforms and architectures, not all of them I can modify for one reason or another.
This article was written a few weeks ago. A few weeks later, the relevance of the information changed. Now there is support for all Android architectures - ARM64, ARM32, X64, X86. IOS is also now supported (thanks to blind patching and it surprisingly worked), MCEE for MacOS.
Note - Minecraft Education Edition is supported because it is practically the same Minecraft Bedrock.
Supported:
Minecraft Bedrock Edition UWP x64
Minecraft Bedrock Edition UWP ARM (for Windows ARM)
Minecraft Bedrock Edition UWP x64 Preview (Obviously it's supported because it's the same thing)
Minecraft Bedrock Edition for Android ARM64v8
Minecraft Bedrock Edition for Android ARM32v7
Minecraft Bedrock Edition for Android X64
Minecraft Bedrock Edition for Android X86
Minecraft Bedrock Edition for IOS
Minecraft Education Edition win32 x86
Minecraft Education Edition for MacOS
OptiCraft win32 x86 (This is a modified Minecraft Education Edition, which btw supports Windows 7)
ModPC/McChinaDevThe - Chinese Minecraft Bedrock Edition Win32 x86 from Netease Corp (which, btw, supports Windows 7 and actually does not require either a launcher or a phone number to play)
BDS - Bedrock Dedicated Server for Windows/Linux x64
Minecraft Bedrock Edition Development versions. PNX (Althought its not a MCBE codebase, it got manual how to change source code because it was easy).
Not supported:
Minecraft Bedrock Edition UWP ARM (Now supported)
Minecraft Bedrock Edition for Android ARM32v7 (Now supported)
Minecraft Education Edition x64 for MacOS (Now supported)
Minecraft Bedrock Edition for IOS (Now supported)
Minecraft Education Edition for Android (Will not receive support for all architectures due to its uselessness)
Minecraft Bedrock Edition for Consoles (Won't get support due to the fact that I've never had consoles)
Suppored? (I have not tried to modify them):
Minecraft Bedrock Edition UWP x86
Chinese Minecraft Bedrock Edition (Slightly different Chinese edition, not a ModPC)
Chinese Minecraft Education Edition (some kind of strange edition)
Minecraft Education Edition x64/x86 UWP (Same MCEE, but UWP)
Speaking of unsupported versions, you need to remember that they are separated from the launch of this mod by a change of only a few bytes, which is very annoying.
If the version you need is not in the list of mods, but this platform is supported, then you can request support here:
Will it work for any distance? Pistons has same restriction as all other mechanisms. They will not work outside the simulated distance/loading area, and they will not be able to push blocks into an unloaded area either.
Lags and errors
On weak devices, this may lag, and as it turned out later, the main load on the device does not come from calculations for transferring huge arrays of blocks, but from graphics. The blocks of slime and honey themselves have a translucent structure and, as it were, a nucleus inside the block. Naturally, this causes a lot of graphics load, especially for phones. There is also a problem with the fact that the pistons on the phone for some reason work a little differently, which causes problems and some circuits from the PC will not work there. (At the time of writing, the error was fixed and now the schemes from the PC work there, But on Android the Push Limit can only be increased to 254 for ARM32 devices and 9344 for ARM64 devices. For X64/X86, the limitation is the same as for Windows platforms).
EPPL mod and mod to increase dimension height limit in MCBE 1.2.8 AMR32v7 on 10 yo device - Samsung GTP5100:
Multiplayer
This mod supports BDS - Bedrock Dedicated Server for Windows and Linux. This means that you can even host a server with this mod for other people and the mod will work for all people even if their game is not modified. If you want to play with a friend online, but your game is not modified, but your friend's is modified, then this mod will work for you too. If you have an EPPL mod, but the friend you are connecting to does not have this mod, then the mod will not work for either you or a friend. These are generally obvious things, but they had to be told for those who do not understand this.
Immovable blocks All immovable blocks like obsidian remained immovable.
The project itself This mod as a project belongs to TNT ENTERTAINMENT inc (my organization) and was founded on 07.10.2023
Perhaps that's all. Again, if you still have questions, then write about it in the comments.
Well, it's time for the installation instructions.
MCBE does not have modloaders, so all modifications must be performed almost manually. (Amethyst exist but its not support EPPL mod) The situation was partially corrected by creating EPPL_Auto_Modificator.
1) (In the case of MCBE UWP) The easiest way is to download the game through this program:
The problem here is that if the game is not installed through the launcher, it is difficult to access its root folder and I do not remember the exact steps (you can try Iobit unlocker). So just install the game through the launcher.
(In the case of OptiCrfat) Just if you have already downloaded OptiCraft, then just unzip the archive with the game and go to game root folder (where the exe is located) https://i.ibb.co/0mG9JKX/2023-12-07-200728.png
(In the case of McChinaDev) McChinaDev (if you use this Chinese minecraft distributed in MDLC at all) in the future will receive the built-in EPPL_Auto_Modificator from MDLC, which will be pre-configured, so you don't have to do anything at all. (This is already was done).
2) After you have moved to the root folder of the game, you need to download EPPL_Auto_Modificator.
(Windows defender will say that this is virus so you can go to source code and compile it yourself or add program to exceptions)
3) After you have downloaded EPPL_Auto_Modificator, unzip it into the game folder:
It should look exactly like this:
But not like that:
That is, the files config.txt and EPPL_Auto_Modificator_...exe should be in the root folder of the game, in the same place as the exe of the game itself, and not inside the folder that lies in the root folder of the game.
4) Once you have done this, you should go to the main repository page: EPPL GitHub
There you will see these files:
Go to the file you need for your platform. find the version you need and then copy the following 2 lines:
then paste them into the file config.txt and save the changes:
After that, you can finally turn on the APPLE mod:
Here you can watch a video on how to complete these steps (if you didn't understand):
Another way to install the mod is through the Hex editor. It is suitable for Android and Linux, because AutoModificator will not work without emulators on these OS (and I am not going to port it there).
2) open the binary file of the game - (different exe in the case of Windows, libminecraftpe.so in the case of Android, minecraftpe in the case of iOS/macOS(OSX), bedrock_server.exe or bedrock_server in the case of BDS, etc.) in HxD:
There are some problems with Android. If you have root rights, then you basically have a simpler situation. In the root folder /data/app/ there are folders with random names, one of them contains Minecraft /lib/architecture/libminecraftpe.so then you can install the Hex editor: Macro Hex Editor
and give its root rights through the settings (it will ask root rights from Magisk only after restarting the application) and then you can open the one libminecraftpe.so through this editor, navigate to the desired Hex offsets and replace the desired Hex data.
However, most people's phone is not rooted, which is why you will have to rebuild the apk file and install it replacing the one that is already installed now. You will need the Apktool M program. In it, you have to decompile the apk of the game, get libminecraftpe.so and edit according to the method already described in the Hex editor, replace the original file with the edited one and then assemble the apk back in Apktool M and install it. If you want to install the game without deleting the already installed one, then this is basically real (you will literally have 2 minecraft on your phone) you just need to use this instruction:
I hope you liked this article, liked this wonderful mod and you will try it on your device, and if this article attracts even more people to the project who will develop it together with me, then even better. I hope that over time the list of supported platforms/architectures will expand to fully support everything. MaxRM worked for you, see you again!
You say that ios is supported but no way of installing it?๐ ๐
Well my part is only post Hex offsets on GitHub.
First you need to find non-encrypted .IPA file, then unpack it using any archive tool, then find main game binary file and patch it using any Hex editor. Then pack unpacked .IPA back using archiving tool.
In the end you need to install it using Jalebreak or some another tools (Google it).
I don't even have IOS devices here, it was blind patch, but it works.
----------------------------------------------------------------------------------------------------------------------------------------------
Preface
Demonstration of the mod work
Important questions
Installing the ExtendPistonPushLimit Mod
Installation for Android
The End
----------------------------------------------------------------------------------------------------------------------------------------------
Preface
----------------------------------------------------------------------------------------------------------------------------------------------
Hi everyone, today I will show you one of the things that became possible thanks to the modification of Minecraft Bedrock Edition.
(if you don't want to read the entire article and just want to try out the mod already, then scroll down, there will be instructions for "installation").
Many people believe that the modding of MinecraftBedrock Edition is impossible due to the closed source code and only addons can be used. Minecraft Bedrock Edition addons strive to become a full-fledged alternative to Minecraft Java Edition mods with all their complexity, functionality and coolness, but so far they have not even come close to this, the addon API capabilities are severely curtailed and does not have access to many game functions. The Chinese counterpart MCBE is better in this regard, and it has long been possible to make an addon in it, for example, with a new dimension and custom generation, but this is not enough.
And yet this article would not have appeared if modding had not been possible. Binary code is also code, which means it is also quite possible to change it. There is one program called IDA Pro - it is a disassembler for reverse engineering, and although it will not give the source code, it is enough to detect the necessary functions, then find the needed values in them and change.
This mod for Minecraft Bedrock Edition was my dream (a very long time ago), and since the source code of MCBE is closed, and the possibilities of addons are very limited, at some point I just give up and did not even think of ever getting what I wanted, when suddenly I was very lucky to meet Riesters he is a god in reverse engineering and IDA Pro. he taught me how to modify the MCBE binaries so that the pistons could push more than 12 blocks, for which I thank him very much.
The first mention and video confirmation that the piston push limit can be changed appeared 10/25/2022 in one discord server (ruhama is Riesters):
And the video itself (in it he changed the push limit to 3 blocks instead of 12):
Video
After completing the training, I took the initiative and began to modify different versions of the game, posting Hex offsets to my GitHub.
--------------------------------------------------------------------------------------------------------------------
Demonstration of the mod work
--------------------------------------------------------------------------------------------------------------------
Let's move on to the most important part - demonstrating what you can do in this mod. I changed the value from 12 blocks at once to the maximum possible. these are 4294967295 for 32-bit versions of MCBE and 18446744073709551615 for 64-bit versions of the game (For windows) For Android ARM32 PushLimit - 254, Android ARM64 and IOS - 9344, which you can see here:
-------------------------------------------------------------------------------
Big doors
This already provides huge opportunities for creativity. For example, you can build huge doors for your base:
the shape and size are unimportant, it all depends on your imagination.
Automatic Bridge Builders
Cobblestone generators can now extend cobblestone not by 12 blocks, but over much longer distances. This can be used, for example, to build large bridges in the ender dimension or in the overworld to build between mountains:
--------------------------------------------------------------------------------------------------------------------
Transport
What about transportation? And you can easily build this. Previously, the problem in the construction of a full-fledged transport was precisely that the pistons could not push more than 12 blocks, and the maximum that could be done was machines capable of flying at least in 4 directions. With the ExtendPistonPushLimit mod, you can build even a submarine, or cruiser! (Whether your game will lag on a large machine or not depends only on the power of your PC):
--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------
As you can see, you can build huge machines.
Improved engines
Btw, the engines for the machines also can be upgraded, after which they will be able to fly 2.14 times faster than the average slimestone engine of the MCBE machine:
To summarize:
You can build a lot of new technical innovations, which again depend only on your imagination, and not on the limit of 12 blocks, which no longer exists!
--------------------------------------------------------------------------------------------------------------------
Important questions
--------------------------------------------------------------------------------------------------------------------
You probably might have a lot of questions about this mod, so I'll try to answer them. If you don't find the information you need here, then you can ask a question in the comments.
Support for different platforms/OS
MCBE as a multiplatform game has support for many platforms and architectures, not all of them I can modify for one reason or another.This article was written a few weeks ago. A few weeks later, the relevance of the information changed. Now there is support for all Android architectures - ARM64, ARM32, X64, X86. IOS is also now supported (thanks to blind patching and it surprisingly worked), MCEE for MacOS.
Note - Minecraft Education Edition is supported because it is practically the same Minecraft Bedrock.
Supported:
Minecraft Bedrock Edition UWP x64
Minecraft Bedrock Edition UWP ARM (for Windows ARM)
Minecraft Bedrock Edition UWP x64 Preview (Obviously it's supported because it's the same thing)
Minecraft Bedrock Edition for Android ARM64v8
Minecraft Bedrock Edition for Android ARM32v7
Minecraft Bedrock Edition for Android X64
Minecraft Bedrock Edition for Android X86
Minecraft Bedrock Edition for IOS
Minecraft Education Edition win32 x86
Minecraft Education Edition for MacOS
OptiCraft win32 x86 (This is a modified Minecraft Education Edition, which btw supports Windows 7)
ModPC/McChinaDevThe - Chinese Minecraft Bedrock Edition Win32 x86 from Netease Corp (which, btw, supports Windows 7 and actually does not require either a launcher or a phone number to play)
BDS - Bedrock Dedicated Server for Windows/Linux x64
Minecraft Bedrock Edition Development versions. PNX (Althought its not a MCBE codebase, it got manual how to change source code because it was easy).
Not supported:
Minecraft Bedrock Edition UWP ARM(Now supported)Minecraft Bedrock Edition for Android ARM32v7(Now supported)Minecraft Education Edition x64 for MacOS(Now supported)Minecraft Bedrock Edition for IOS(Now supported)Minecraft Education Edition for Android (Will not receive support for all architectures due to its uselessness)
Minecraft Bedrock Edition for Consoles (Won't get support due to the fact that I've never had consoles)
Suppored? (I have not tried to modify them):
Minecraft Bedrock Edition UWP x86
Chinese Minecraft Bedrock Edition (Slightly different Chinese edition, not a ModPC)
Chinese Minecraft Education Edition (some kind of strange edition)
Minecraft Education Edition x64/x86 UWP (Same MCEE, but UWP)
Speaking of unsupported versions, you need to remember that they are separated from the launch of this mod by a change of only a few bytes, which is very annoying.
If the version you need is not in the list of mods, but this platform is supported, then you can request support here:
GitHub]GitHub issues
but you probably don't have a GitHub account, which is why you won't be able to write there, so you can request support in:
Telegram TNT ENTERTAINMENT inc
Will it work for any distance? Pistons has same restriction as all other mechanisms. They will not work outside the simulated distance/loading area, and they will not be able to push blocks into an unloaded area either.
Lags and errors
On weak devices, this may lag, and as it turned out later, the main load on the device does not come from calculations for transferring huge arrays of blocks, but from graphics. The blocks of slime and honey themselves have a translucent structure and, as it were, a nucleus inside the block. Naturally, this causes a lot of graphics load, especially for phones.
There is also a problem with the fact that the pistons on the phone for some reason work a little differently, which causes problems and some circuits from the PC will not work there.(At the time of writing, the error was fixed and now the schemes from the PC work there, But on Android the Push Limit can only be increased to 254 for ARM32 devices and 9344 for ARM64 devices. For X64/X86, the limitation is the same as for Windows platforms).EPPL mod and mod to increase dimension height limit in MCBE 1.2.8 AMR32v7 on 10 yo device - Samsung GTP5100:
Multiplayer
This mod supports BDS - Bedrock Dedicated Server for Windows and Linux. This means that you can even host a server with this mod for other people and the mod will work for all people even if their game is not modified. If you want to play with a friend online, but your game is not modified, but your friend's is modified, then this mod will work for you too. If you have an EPPL mod, but the friend you are connecting to does not have this mod, then the mod will not work for either you or a friend. These are generally obvious things, but they had to be told for those who do not understand this.
Immovable blocks All immovable blocks like obsidian remained immovable.
The project itself This mod as a project belongs to TNT ENTERTAINMENT inc (my organization) and was founded on 07.10.2023
Perhaps that's all. Again, if you still have questions, then write about it in the comments.
Well, it's time for the installation instructions.
--------------------------------------------------------------------------------------------------------------------
Installing the ExtendPistonPushLimit Mod
--------------------------------------------------------------------------------------------------------------------
MCBE does not have modloaders, so all modifications must be performed almost manually.(Amethyst exist but its not support EPPL mod) The situation was partially corrected by creating EPPL_Auto_Modificator.1) (In the case of MCBE UWP) The easiest way is to download the game through this program:
MCLauncher
and then go to the root folder of the game (where the exe is located)
or in some way you need to access the game directory (If game was installed from MS store/original appx file)
------------------------------------------------------------------------------------------------------------------------------------------
C:\Program Files\WindowsApps\Microsoft.MinecraftUWP_(version number)_x64__8wekyb3d8bbwe
------------------------------------------------------------------------------------------------------------------------------------------
The problem here is that if the game is not installed through the launcher, it is difficult to access its root folder and I do not remember the exact steps (you can try Iobit unlocker). So just install the game through the launcher.
(In the case of OptiCrfat) Just if you have already downloaded OptiCraft, then just unzip the archive with the game and go to game root folder (where the exe is located) https://i.ibb.co/0mG9JKX/2023-12-07-200728.png
(In the case of McChinaDev) McChinaDev (if you use this Chinese minecraft distributed in MDLC at all) in the future will receive the built-in EPPL_Auto_Modificator from MDLC, which will be pre-configured, so you don't have to do anything at all. (This is already was done).
2) After you have moved to the root folder of the game, you need to download EPPL_Auto_Modificator.
For MCBE UWP
For OptiCraft
(Windows defender will say that this is virus so you can go to source code and compile it yourself or add program to exceptions)
3) After you have downloaded EPPL_Auto_Modificator, unzip it into the game folder:
It should look exactly like this:
But not like that:
That is, the files config.txt and EPPL_Auto_Modificator_...exe should be in the root folder of the game, in the same place as the exe of the game itself, and not inside the folder that lies in the root folder of the game.
4) Once you have done this, you should go to the main repository page: EPPL GitHub
There you will see these files:
Go to the file you need for your platform. find the version you need and then copy the following 2 lines:
then paste them into the file config.txt and save the changes:
After that, you can finally turn on the APPLE mod:
Here you can watch a video on how to complete these steps (if you didn't understand):
Another way to install the mod is through the Hex editor. It is suitable for Android and Linux, because AutoModificator will not work without emulators on these OS (and I am not going to port it there).
1) Download the Hex Editor:HxD
2) open the binary file of the game - (different exe in the case of Windows, libminecraftpe.so in the case of Android, minecraftpe in the case of iOS/macOS(OSX), bedrock_server.exe or bedrock_server in the case of BDS, etc.) in HxD:
3) Go to my repository again: https://github.com/Max-RM/Extend-PistonPushLimit-for-MCBE]EPPL GitHub
enter the list required for your platform and copy the first Hex offset without copying (0x)
then enter the Hud window, press Ctrl and g simultaneously and then paste the copied offset into the window that appears:
and click (ok). The cursor will move to the desired position/offset:
and enter FF thereby replacing 0C:
Now copy the second offset from the list to GitHub:
enter it into the window that opens after Ctrl+G and you will get to the desired position:
and enter FF thereby replacing 0C:
after that, in the upper-left corner of the program, click save - (floppy disk):
Here you can watch a video on how to complete these steps (if you didn't understand):
Installing a mod for BDS is basically no different.
Installation for Android
--------------------------------------------------------------------------------------------------------------------
There are some problems with Android. If you have root rights, then you basically have a simpler situation. In the root folder /data/app/ there are folders with random names, one of them contains Minecraft /lib/architecture/libminecraftpe.so then you can install the Hex editor: Macro Hex Editor
and give its root rights through the settings (it will ask root rights from Magisk only after restarting the application) and then you can open the one libminecraftpe.so through this editor, navigate to the desired Hex offsets and replace the desired Hex data.
However, most people's phone is not rooted, which is why you will have to rebuild the apk file and install it replacing the one that is already installed now. You will need the Apktool M program. In it, you have to decompile the apk of the game, get libminecraftpe.so and edit according to the method already described in the Hex editor, replace the original file with the edited one and then assemble the apk back in Apktool M and install it. If you want to install the game without deleting the already installed one, then this is basically real (you will literally have 2 minecraft on your phone) you just need to use this instruction:
--------------------------------------------------------------------------------------------------------------------
Spoiler for next article:
The End
I hope you liked this article, liked this wonderful mod and you will try it on your device, and if this article attracts even more people to the project who will develop it together with me, then even better. I hope that over time the list of supported platforms/architectures will expand to fully support everything. MaxRM worked for you, see you again!
.
You say that ios is supported but no way of installing it?๐ ๐
Well my part is only post Hex offsets on GitHub.
First you need to find non-encrypted .IPA file, then unpack it using any archive tool, then find main game binary file and patch it using any Hex editor. Then pack unpacked .IPA back using archiving tool.
In the end you need to install it using Jalebreak or some another tools (Google it).
I don't even have IOS devices here, it was blind patch, but it works.