Beta 1.4_01
TeaVM port of Minecraft Alpha Beta 1.4_01 using u50 classes from EaglercraftX
Download locally: Singleplayer_Offline_Download_Version.html
Technical Details
The game saves worlds to your browser's persistent local storage via IndexedDB, the vanilla MCRegion chunk loader has been rewritten to store chunks as single files instead, without compression to speed up load and save times. These files are then stored in an IndexedDB table in the browser's local storage as ArrayBuffers with string keys describing the coordinates of the chunk.
This is done because there is no efficient way to emulate a java.nio.RandomAccessFile
using IndexedDB. Browser already implement IndexedDB using a storage system similar to MCRegion by default, which will group many small objects together into single large files. Therefore storing each chunk as a single virtual file in IndexedDB will not cause the severe fragmentation issues and folder lag like the original Minecraft Classic chunk storage did.
This also means that the save format in this port is compatible with Beta 1.3 and Beta 1.7.3, but not with stock Beta 1.4 because it uses MCRegion.
Compiling
Like the 1.5.2 Eaglercraft (and my 1.6.4 port), just import this entire repository as a gradle project and run CompileJS.sh
. It will generate a classes.js
in the javascript
folder of this repository.
To change any textures and stuff, make your changes in lwjgl-rundir/resources
and then run CompileEPK.sh
to generate a new assets.epk
in the javascript
folder where classes.js
is. Copy the new javascript/assets.epk
onto your website over the old one to update it.
Make sure you install java and add it to your PATH, or these scripts will not work.
Multiplayer
When setting up a multiplayer server use Peyton's Beta Proxy with a vanilla Beta 1.4_01 server, available here
Make sure online-mode
is set to false
in the server config, and set the PVN to 10 in the BetaProxy config