Skip to content

Vimd0/mcce

Repository files navigation

Disclaimer

This project is not affiliated with Minecraft, Mojang AB, or Microsoft.
THIS IS NOT AN OFFICIAL MINECRAFT PRODUCT, AND IT IS NOT APPROVED OR ASSOCIATED WITH MOJANG OR MICROSOFT

Minecraft - Cobble Edition

Logo

This project aims to create the ultimate Beta/Pocket experience by combining versions of b1.3_01 and v0.1.0 alpha, which share similar 'terrain.png' and 'items.png' textures. The most intriguing aspect is restoring unused features found within the game itself, based on previously acquired knowledge or an educated guess as to what the feature was supposed to do.

TO-DO List

  • b1.3_01

    • Features
    • World Generation
    • Save compatibility
    • Multiplayer support
    • Texture pack support
  • v0.1.0 alpha

    • Touch Support
    • World Generation
    • Save compatibility
    • Multiplayer support
  • General

    • Optimization
    • Project code and structure clean up
    • Easy mod support
    • Custom skin support
  • Unused Features

    • Quiver
      • Consume arrows
    • Coral
      • Fish particles (Notch referenced this in a blog post)
      • Generate in water?
    • Crying Obsidian
      • Respwan functionality (Overworld or Nether?)
    • Canyon Feature
      • World option
    • House Feature
      • World option
    • Town Feature
      • World option
      • Pigman
    • Sky Islands
      • World option
      • Spawn Giants?
    • Secret Gamemode
      • Builder Mob
      • Xperia Structure
    • Xpeira Gamemode
      • Xperia Play time lapse structure
  • Add Herobrine

FAQ

Why was this made?

I revisited McBetaCpp a b1.2_02 port to C++. While I was tinkering with it, I had a thought: "What if I tried finishing the project?" I tried again the next day, getting the vignette to work, but realized it would take forever to do by myself, so I scrapped the idea until another thought occurred to me. I completely forgot that PEtoLE existed, so I started from there. I was already familiar with the the entire project structure and had gained a lot of experience by tinkering with it so extensively.

Platforms supported:

  • Windows
  • Android (thanks to Stom for the help)
  • Linux (thanks to Beyond 5D for help with testing)

Platforms not supported (needs fixing):

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:

Grabbing Assets

To obtain assets, you need to legally own a copy of both versions

For our base assets folder, it should already be provided with whatever version you downloaded, and it should contain importnat .json files that need to be loaded in, including custom music I personally created. When an update is released, make sure to always replace the old ones with the ones that come with the new versions, as some assets may change and will include patch notes.

Java b1.3_01

  1. It is optional but recommended to use MultiMC for asset grabbing, as it creates isolated instances of each version you play, but in this case, we require b1.3_01. This also gets the correct sounds for each version, as opposed to official releases, which do not take care to preserve older versions. It's important to note that you must own Minecraft on your Microsoft account to use this.
  2. You should be able to find b1.3_01.jar, which contains all of the image assets. Drag everything into our base assets folder, as mentioned above.
  3. For sounds, they should be located within '.minecraft/resources'. Drag everything into our base assets folder, as mentioned above.

Pocket Edition v0.1.0 alpha

  1. You will need to pick up specific files from the assets. You must own the original Minecraft PE v0.1.0 alpha .apk
  2. You should see 'terrain.png'. Drag that into our patches folder.
  3. Drag the 'item' folder to our base assets folder, which contains the camera texture.
  4. Drag 'item.png' and the 'controls' folder from the 'gui' folder into the base assets 'gui' folder. This should replace our Java item texture with the PE one.

For Android assets, you must use an apk editor to replace them. All of the steps mentioned above still apply here.

You should be ready to go with assets. When new updates are released, remember to update your assets accordingly, and keep your assets readily available.

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. Have your obtained assets ready.

Building

Windows

By default, the project is configured to target Windows XP with the "v141_xp" build tools. To build with Windows XP support, follow the guide here to download the build tools from the Visual Studio installer.

To target modern Windows versions, change the build toolset as follows:

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

  2. In the "Platform Toolset" property, select "Visual Studio 2022 (v143)" or newer.

  3. Click "Apply".

Install the DirectX SDK (June 2010), unless:

  • You choose to use OpenAL instead (though this will require some hacking).
  • You're using the latest platform toolset.

You can now build it after installing the proper build tools (v140_xp or newer).

After building, place the prepared 'assets' folder in the output executable's working directory. (If running from Visual Studio, it's in 'game/'; otherwise, wherever your executable is)

Android

It is recomended to use Android Studio for building an .apk

TODO steps

Until the steps are created, if you believe you are knowledgeable enough to build it, go ahead.

WebAssembly

Ensure you have CMake and Ninja installed. For Windows, place the ninja executable in your PATH. For Linux, use 'cmake' or 'ninja-build' if using apt.

The game will make use of assets from the 'game/' directory. Place your assets there if you intend to build for wasm. Run the 'build-wasm' script based on your platform ('-.sh' for Linux/WSL, '-.bat' for Windows).

The output files are located in './wasm/dist' and must be uploaded to a web host (localhost is also an option). (Problem with Emscripten)

NOTE: If you're using nginx, make sure the *. The wasm file is served as 'application/wasm', not 'application/octet-stream'. To do this, open '/etc/nginx/mime.types' as root and add 'application/wasm wasm;' to the types block.

Linux

CMake is used in this Linux project. The game assets, like WebAssembly, must be located 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

mkdir build && cd build
cmake -GNinja ..
cmake --build .
# Run
./minecraftce

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?

Texture seams are possible when playing on specific devices. To resolve seam issues with an NVIDIA graphics card, navigate to the NVIDIA Control Panel and select "Manage 3D Settings". Change "Antialiasing - Mode" to "Application Controlled".

Fun fact

The terrain.png and related textures appear to have remained unchanged between the E3 demo and the final Xperia PLAY release. It appears to have been fetched before the release of Java Edition Beta 1.4. This is evident from the lack of texture in the cookie. (It was added to Java Edition Beta 1.4).

Showcase

Survival Survival Survival Survival

About

A better experience of b1.3_01 running on v0.1.0 alpha. Terrain and item textures match exactly between versions, proving that these two editions were based on one another.

Resources

License

Stars

Watchers

Forks

Contributors