Wow you took that experiment pretty far, including setting up such an old version of PocketMine.
I recall a similar mismatch experience when connecting between MCPI and MCPE 0.6.1 for Android. I tried hex-editing the the version string in minecraft-pi to match, but that didn't resolve the error and eventually I gave up. I suspect that if this can be properly debugged, a straightforward fix would be in the PocketMine code rather than patching MCPI binary further, but who knows.
please could they try to recreate the mods mentioned here:
You cannot post to chat or kill creatures, however. I have made some programs that allow you to kill creatures and post to the chat, and they will be downloadable soon.
that were never released?
Judging from the context (Samuel B says "made some programs", not "patches"), his implementation of chat may have used .postToChat() from the Python API. Likewise for killing mobs, the known way to do that is with TNT so I would guess he made a script for one-click generation of TNT and lighting the fuse.
By the way thanks for providing the link. It's nice to have all those custom maps in one place.
Upvoted. It always did bother me that Phirel's mcpifull.bsdiff was actually fullscreen+survival.
FYI, last year somebody figured out the surprisingly simple way to switch between full screen and windowed dynamically. It turns out you just need to press Alt+F11 at the right time. See WillBoxOwO's post on the Pi forums.
Input mods for MCPI tend not to be not so straightforward, and not implementable in Python alone.
The first workaround that comes to mind would be to modify SDL to remap your keys, then inject your modified SDL at load time. See this example of an SDL input mod I posted on Stack Exchange. In your case, you'd want to modify SDL_keyboard.c and introduce a table or switch-statement for the appropriate mapping across SDLK_a, SDLK_z, etc.
This problem isn't unheard of. For example see this post from a user in a similar situation. Here are a few ways to troubleshoot.
1. Run
sudo raspi-config
and experiment across the legacy driver, full OpenGL driver, or OpenGL driver with Fake KMS. You'll be required to reboot each time.
2. Or even before 1), make sure you're not running BerryBoot. Lately a number of users seem to trip up on that as it isn't compatible with the OpenGL driver.
3. Update your Pi to the latest firmware and packages.
Related, there are a couple tools out there tied to Pocket Edition 0.6.1 which uses the same format as Pi Edition. These include MCPEWorldViewer and MCPEGenerator. Overall the 0.6.1 world format is a lot more straightforward to hack than the modern Bedrock Edition files and you can get a reasonable idea of things in a hex editor. See https://minecraft.gamepedia.com/Bedrock_Edition_level_format#chunks.dat
Of course given that MCPI has a Python API, that means you can do plenty of world creation without a direct world editor.
If you run the patched binary directly with full OpenGL+KMS enabled, this is expected. Check out the wrapper script at /usr/bin/minecraft-pi, and ensure that you run mcpipatched in the same way. Alternatively you could disable the vc4-kms-v3d overlay. More info about it in a thread on the Pi forums.
Anyone know how to fix "Couldn't create SDL window" error on patched MCPI ? Some missing SDL libs ? Wrong MCPI version ? I've used 0.1.1.
On which MCPI version this survival mode patch works then ?
Maybe some MD5/SHA1 checksum of original "minecraft-pi" on which patch works ?
adebc576e527ab39e527ba1ffc489dd8 is the md5sum of the minecraft-pi binary to start with, but considering this program hasn't been updated in five years I doubt that's your issue. I'm guessing the fullscreen patch assumes a 1080p resolution and you may not have the expected video mode. You could troubleshoot by enabling fullscreen programmatically and debugging it from there. See my post on how to tweak SDL which I came up with before hearing about this patch.
Any chance of getting source code for this as I'm looking at modding and updating mc pi edition and this would help alot.
There could be useful scripts for analyzing the minecraft-pi binary but there may not be any source code of the sort you're imagining. The various changes appear to have been hex-edited by hand. To see the 12 modified instructions, run
0
Wow you took that experiment pretty far, including setting up such an old version of PocketMine.
I recall a similar mismatch experience when connecting between MCPI and MCPE 0.6.1 for Android. I tried hex-editing the the version string in minecraft-pi to match, but that didn't resolve the error and eventually I gave up. I suspect that if this can be properly debugged, a straightforward fix would be in the PocketMine code rather than patching MCPI binary further, but who knows.
Judging from the context (Samuel B says "made some programs", not "patches"), his implementation of chat may have used .postToChat() from the Python API. Likewise for killing mobs, the known way to do that is with TNT so I would guess he made a script for one-click generation of TNT and lighting the fuse.
By the way thanks for providing the link. It's nice to have all those custom maps in one place.
0
Upvoted. It always did bother me that Phirel's mcpifull.bsdiff was actually fullscreen+survival.
FYI, last year somebody figured out the surprisingly simple way to switch between full screen and windowed dynamically. It turns out you just need to press Alt+F11 at the right time. See WillBoxOwO's post on the Pi forums.
1
Hi aiille,
Input mods for MCPI tend not to be not so straightforward, and not implementable in Python alone.
The first workaround that comes to mind would be to modify SDL to remap your keys, then inject your modified SDL at load time. See this example of an SDL input mod I posted on Stack Exchange. In your case, you'd want to modify SDL_keyboard.c and introduce a table or switch-statement for the appropriate mapping across SDLK_a, SDLK_z, etc.
0
Phirel's survival mode patch is made for 0.1.1!
It's only the older patches by zhuowei that target 0.1, i.e. three of the patches found on this page.
What error are you seeing now when you try to apply survival.bsdiff on 0.1.1?
0
This problem isn't unheard of. For example see this post from a user in a similar situation. Here are a few ways to troubleshoot.
1. Run
and experiment across the legacy driver, full OpenGL driver, or OpenGL driver with Fake KMS. You'll be required to reboot each time.
2. Or even before 1), make sure you're not running BerryBoot. Lately a number of users seem to trip up on that as it isn't compatible with the OpenGL driver.
3. Update your Pi to the latest firmware and packages.
4. If you're not running the latest stable release of Raspbian, try a full dist-upgrade.
0
His GitHub repositories can be found here: https://github.com/KennethDev?tab=repositories where I see one project related to Bukkit but no sign of WorldEdit.
Related, there are a couple tools out there tied to Pocket Edition 0.6.1 which uses the same format as Pi Edition. These include MCPEWorldViewer and MCPEGenerator. Overall the 0.6.1 world format is a lot more straightforward to hack than the modern Bedrock Edition files and you can get a reasonable idea of things in a hex editor. See https://minecraft.gamepedia.com/Bedrock_Edition_level_format#chunks.dat
Of course given that MCPI has a Python API, that means you can do plenty of world creation without a direct world editor.
0
Don't be dismayed by the lack of a response for the past 2.5 months. I'm not sure why, but this forum just doesn't get a lot of traffic.
Anyhow, awesome work!
0
If you run the patched binary directly with full OpenGL+KMS enabled, this is expected. Check out the wrapper script at /usr/bin/minecraft-pi, and ensure that you run mcpipatched in the same way. Alternatively you could disable the vc4-kms-v3d overlay. More info about it in a thread on the Pi forums.
adebc576e527ab39e527ba1ffc489dd8 is the md5sum of the minecraft-pi binary to start with, but considering this program hasn't been updated in five years I doubt that's your issue. I'm guessing the fullscreen patch assumes a 1080p resolution and you may not have the expected video mode. You could troubleshoot by enabling fullscreen programmatically and debugging it from there. See my post on how to tweak SDL which I came up with before hearing about this patch.
There could be useful scripts for analyzing the minecraft-pi binary but there may not be any source code of the sort you're imagining. The various changes appear to have been hex-edited by hand. To see the 12 modified instructions, run
Also recommended to follow Phirel's useful tip of disassembling libminecraftpe.so from an older version of Pocket Edition.