Skip to content

Wilyicaro/PEtoLE

Repository files navigation

PEtoLE

This project aims to port all the features from Minecraft Java Edition b1.7.3 to the early Minecraft: Pocket Edition, forked from the ReMinecraftPE
My thanks to the contributors of ReMinecraftPE, without them this project would not be possible

TO-DO List

  • Make screens accurate, like Options and Select World screens
  • Texture Packs System
  • Stats and Achievements
  • Completely functional integrated servers
  • Optimization in general, mainly RAM Usage

FAQ

Why PEtoLE?

Well, this project was born out of curiosity regarding the proximity of the Minecraft Pocket Edition codebase to Java Edition, which ended up giving me the idea of ​​trying to make it accurate with TU0 of Legacy Edition, but why not first make it accurate with b1.7.3? Since this would be necessary anyway, this project came about, and with this name (Pocket Edition to Legacy Edition)

Eventually there will be a branch that lives up to this name, but one step at a time, right?

Why is the goal b1.7.3 instead of b1.6.6, since TU0 is based on it?

Well, basically the difference between these two versions is just the scissors, pistons, textures and bug fixes, so since they are minimal, it makes more sense to have the most popular version as the goal.

Why only these things in the TO-DO List?

It may not seem like it, but most of the features from b1.6.6 have already been added! Like all the blocks, items, entities, the Nether, and more.

Currently the platforms originally from the ReMinecraftPE are:

  • Windows 11 (older versions have not been tested, most of the newer ones should work)
  • Android (thanks to Stom for the help)
  • Linux (thanks to Beyond 5D for help with testing)

These are the ports that have not been tested, but could certainly work with some fixes:

Note: Just like ReMinecraftPE, it should work on all Android devices, but with worse performance due to some optimizations from Pocket Edition being removed for accuracy.

Special Thanks

License information

This project is licensed under the BSD 1 clause license. However, it contains third party software with different but compatible licenses:

DISCLAIMER

This project does not provide game assets, you must have an original copy of Minecraft Java Edition to obtain them, or use an alternative to them.

Setup

Before trying to build:

  1. Run the following git commands, or perform the following actions with Git:
git submodule init
git submodule update

This fetches the three dependencies we have:

  1. Copy the sounds from your .minecraft/resources inside the assets directory (download a b1.7.3 instance before this), then extract the textures from a b1.7.3 jar to this same directory

ReMinecraftPE Description

Building

Windows

Click the thumbnail below to watch a video guide showcasing how to build ReMCPE. How to Compile ReMCPE for Windows

The project is configured to target Windows XP by default by using "v141_xp" build tools. If you would like to build with Windows XP support, please follow the guide here to obtain the build tools via the Visual Studio installer.

If you would like to strictly target more modern versions of Windows, you can change the build toolset by doing the following:

  1. Right-click the project and click "Properties".

Visual Studio Project Visual Studio Project Properties Option

  1. Click the dropdown for the "Platform Toolset" property and select "Visual Studio 2022 (v143)" or newer. Selecting v143 Platform Toolset

  2. Click "Apply".

Install the DirectX SDK (June 2010), unless:

  • You opt to use OpenAL instead (but that will require some hacking)
  • You are using the latest platform toolset

Once you have the proper build tools installed (v140_xp or newer), you can now build it.

After building, place the assets folder you have prepared in the working directory of the output executable. (if running from VS, it's in game/, otherwise, where your executable is)

WebAssembly

Make sure you have CMake and Ninja installed. On Windows, the ninja executable must be in your PATH. On Linux, the package names are cmake and ninja-build respectively if you are using apt.

The game will use the assets from within the game/ directory. So put your assets there if you want to build for wasm. Then run the build-wasm script corresponding to your platform (-.sh on linux/WSL, -.bat on windows).

The output files will be in ./wasm/dist, but you need to upload them to a web host (localhost works too) to use. (problem with Emscripten)

NOTE: If you are using nginx, make sure the *.wasm file is served as application/wasm, and not application/octet-stream. This can be done by opening /etc/nginx/mime.types as root and adding application/wasm wasm; to the types block.

Linux

This project uses CMake on Linux. Just like WebAssembly, the game assets must be placed in the game/ directory.

Dependencies (Ubuntu/Debian)

  • build-essential (C/C++ Toolchain)
  • cmake (CMake)
  • ninja-build (Ninja)
  • libsdl2-dev (SDL2)
  • libopenal-dev (OpenAL)
  • zlib1g-dev (ZLib)

How To Build

cd platforms/sdl
mkdir build && cd build
cmake -GNinja ..
cmake --build .
# Run
./reminecraftpe

HaikuOS

Dependencies:

  • libsdl2_devel (SDL2)
  • glu_devel mesa_devel (Mesa)
  • cmake (CMake)
  • ninja (Ninja)

To build, perform the same steps as on Linux.

Have seams when playing?

I've had texture seams when playing Minecraft Classic, ClassiCube and this recreation of Minecraft PE, on a fresh new laptop. If seams bother you, and you are using an NVIDIA graphics card, go to the NVIDIA Control Panel, then in "Manage 3D Settings", change "Antialiasing - Mode" to "Application Controlled".

Notes on assets

The terrain.png and related textures appear to have stayed the same between the E3 demo and the final release for Xperia PLAY. It appears to have been fetched before Java Edition Beta 1.4's release. This can be seen because the cookie's texture is missing. (it was added in Java Edition Beta 1.4)

There are plans to create a custom script which downloads and sets up all assets needed for the game.

Screenshots (from the decomp)

Title screen Generating world In-game Inventory Pause menu

Enhancements

ReMinecraftPE is an enhanced version of the original. To see the original, (mostly) as it was back in the day, see the mcped repository.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published