MCPcopy Index your code
hub / github.com/craftycodie/MineOnline

github.com/craftycodie/MineOnline @4.8.12

Chat with this repo
repository ↗ · DeepWiki ↗ · release 4.8.12 ↗ · + Follow
1,446 symbols 3,666 edges 205 files 2 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

logo

Build status

Launch old versions of minecraft just as you remembered them.

What is MineOnline?

MineOnline is a launcher Minecraft capable of running web applets without a browser, and redirecting web requests to a new API.

For example, if you wanted to play classic right now, you'd have no way to launch it without a lot of outdated vulnerable software and luck. And even if you pulled it off, you'd be running a stipped down version of the game, with no skins, no server authentication and no online map saving. MineOnline fixes this. The program can also run regular desktop versions of the game.

Compatible with Java 8u261+

Download

Known Issues

Features

These are features MineOnline will bring to Minecraft.

  • Skins and Cloaks
  • Sounds (the right ones for each version!)
  • Server List (accessible in launcher and game)
  • FOV Slider
  • Microsoft Login Support
  • Classic World Saving
  • Screenshots (F2)
  • Texture packs (for versions before Alpha 1.2.2, when it was officially added)
  • Custom font and animated texture support.
  • GUI scaling (for versions before Beta 1.5, when it was officially added)
  • Full Discord Integration
  • Tab player list.
  • Secure Server Authentication (online-mode and verify-names)
  • Resizable & Fullscreenable Applets with Mac and Linux Support
  • M1 Mac Support
  • Bit depth fix (removes jagged lines from clouds and other stuff).

launcher

Apple Silicon Support

MineOnline supports Apple Silicon with both native and Rosetta JVMs. However, support is not perfected. The main problem is that the game library which old versions of Minecraft use (LWJGL 2) has been unsupported for a long time. For the game to run at all we are already using a community patch. For the best experience we currently recommend running MineOnline under Rosetta. You can find a suitable Java Runtime Environment here.

For Developers

As per the license you are welcome to use the launcher code under non-commercial conditions.

I also request that forks remain up to date for security.

Extension points exported contracts — how you extend this code

GuiButtonListener (Interface)
(no doc) [13 implementers]
src/main/java/gg/codie/mineonline/gui/components/GuiButton.java
IToast (Interface)
(no doc) [10 implementers]
src/main/java/gg/codie/mineonline/gui/components/toast/IToast.java
IMPPassProvider (Interface)
(no doc) [5 implementers]
src/main/java/gg/codie/mineonline/api/IMPPassProvider.java
IMinecraftAppletWrapper (Interface)
(no doc) [4 implementers]
src/main/java/gg/codie/mineonline/client/IMinecraftAppletWrapper.java
ISelectableVersionCompare (Interface)
(no doc) [4 implementers]
src/main/java/gg/codie/mineonline/gui/screens/GuiSlotVersion.java

Core symbols most depended-on inside this repo

getWidth
called by 237
src/main/java/gg/codie/mineonline/client/IMinecraftAppletWrapper.java
getHeight
called by 231
src/main/java/gg/codie/mineonline/client/IMinecraftAppletWrapper.java
addVertexWithUV
called by 100
src/main/java/gg/codie/mineonline/gui/rendering/Renderer.java
getVersion
called by 90
src/main/java/gg/codie/mineonline/client/LegacyGameManager.java
getFrame
called by 80
src/main/java/gg/codie/mineonline/gui/rendering/DisplayManager.java
getOption
called by 70
src/main/java/gg/codie/minecraft/client/options/MinecraftOptions.java
setOption
called by 69
src/main/java/gg/codie/minecraft/client/options/MinecraftOptions.java
println
called by 60
src/main/java/gg/codie/mineonline/utils/Logging.java

Shape

Method 1,226
Class 191
Interface 16
Enum 13

Languages

Java100%

Modules by API surface

src/main/java/gg/codie/mineonline/Settings.java167 symbols
src/main/java/gg/codie/minecraft/client/options/MinecraftOptions.java138 symbols
src/main/java/gg/codie/minecraft/client/options/IMinecraftOptionsHandler.java135 symbols
src/main/java/gg/codie/mineonline/client/LegacyMinecraftClientLauncher.java26 symbols
src/main/java/com/johnymuffin/BetaEvolutionsUtils.java26 symbols
src/main/java/gg/codie/mineonline/client/LegacyGameManager.java23 symbols
src/main/java/gg/codie/mineonline/MinecraftVersionRepository.java23 symbols
src/main/java/gg/codie/mineonline/gui/screens/GuiVersions.java20 symbols
src/main/java/gg/codie/mineonline/client/RubyDungLauncher.java19 symbols
src/main/java/gg/codie/mineonline/gui/screens/GuiMultiplayer.java18 symbols
src/main/java/gg/codie/mineonline/gui/screens/AbstractGuiScreen.java18 symbols
src/main/java/gg/codie/mineonline/gui/rendering/Loader.java17 symbols

For agents

$ claude mcp add MineOnline \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact