Custom Minecraft Classic / ClassiCube client written in C from scratch (formerly ClassicalSharp in C#)
Find a file
2015-07-17 16:56:26 +10:00
2D Add VSync support to Direct3D api. 2015-07-09 10:20:26 +10:00
Blocks
Commands
Entities Fully support PlayerClick extension, and declare that we support it. 2015-07-07 07:58:20 +10:00
Game Add VSync support to Direct3D api. 2015-07-09 10:20:26 +10:00
GraphicsAPI Don't store VB in ModelPart class, don't duplicate model part construction for Set64x64 and Set64x64Slim sets in player model. 2015-07-17 16:56:26 +10:00
Ionic.Zlib
Launcher Significantly refactor launcher. Public servers list and 'minecraft.net/classicube.net server' tabs are merged into one tab. As both the minecraft.net and classicube.net tabs essentially shared the exact same functionality, this functionality is encapsulated in a new 'GameState' class. 2015-07-01 09:12:12 +10:00
Map Properly unsubscribe from TerrainAtlasChanged events. 2015-06-30 13:10:16 +10:00
Model Don't store VB in ModelPart class, don't duplicate model part construction for Set64x64 and Set64x64Slim sets in player model. 2015-07-17 16:56:26 +10:00
Network Implement auto scrolling chat history mode, with no concept of pages. Can use mouse and page up/page down keys to scroll through chat. No longer have to press 'H' to activate this mode. 2015-07-08 07:06:21 +10:00
OpenTK Release 0.8. This will likely be the last work done on the client for a while. 2015-07-10 07:40:25 +10:00
Physics Client now sends player click if server supports it. Still incorrectly misses some clicks. 2015-07-06 10:09:38 +10:00
Properties
Rendering Make screens responsible for enable/disable texture2d calls. 2015-07-06 19:46:45 +10:00
Selections Don't bind to buffer 0 since we always use vertex buffers. 2015-07-06 19:34:01 +10:00
Utils Release 0.8. This will likely be the last work done on the client for a while. 2015-07-10 07:40:25 +10:00
.gitignore
app.config
ClassicalSharp.csproj Release 0.8. This will likely be the last work done on the client for a while. 2015-07-10 07:40:25 +10:00
ClassicalSharp.sln
launcher instructions.txt Significantly refactor launcher. Public servers list and 'minecraft.net/classicube.net server' tabs are merged into one tab. As both the minecraft.net and classicube.net tabs essentially shared the exact same functionality, this functionality is encapsulated in a new 'GameState' class. 2015-07-01 09:12:12 +10:00
license.txt
Program.cs
readme.md Don't store VB in ModelPart class, don't duplicate model part construction for Set64x64 and Set64x64Slim sets in player model. 2015-07-17 16:56:26 +10:00
todo.txt Fix clouds not moving when using Direct3D 9 build, remove somestuff from todo.txt and replace them with actual TODO comments in source code. Redesigned readme to use markdown and look nicer. 2015-07-01 11:15:53 +10:00

ClassicalSharp is a custom Minecraft Classic client written in C# that works on both Windows and Linux. It is not affiliated with (or supported by) Mojang AB, Minecraft, or Microsoft in any way.

You can get the latest binaries here.

Note on the project

Due to time constraints, I am no longer really actively working on the project. Reported bugs and the like will probably still be fixed and small changes implemented, but work on version 2.0 has stopped for now.

Version 0.8 (released along with this message) implements the entire CPE specification (excluding TextHotKey), and should be stable and fast enough for you to use.

What ClassicalSharp is

  • Works with both minecraft.net and classicube.net accounts.
  • Lightweight, minimal memory usage compared to the standard client.
  • Works with effectively all graphics cards that support OpenGL.

It does not:

  • Work with 'modern/premium' Minecraft servers.
  • Provide single-player support.

Requirements

  • Windows: .NET framework 2.0 or Mono. (Vista and later have .NET framework 2.0 built in)
  • Linux: Mono.
  • Mac OS X: Mono. (Not tested at all yet - likely just crashes)

When building from source and targeting Mono, either use the Mono compiler or define __MonoCS__ when building, otherwise you will get runtime errors when decompressing the map on Mono.

Instructions

The simple way to use ClassicalSharp is to use the launcher application. You can connect to LAN/locally hosted servers, minecraft.net servers, and classicube.net servers through the launcher.

Note that the first time you run the launcher, a dialog box will pop up saying: "Some required resources weren't found. Would you like to download them now?" Just click OK. (This is necessary because I cannot legally redistribute the assets of Minecraft Classic with the application)

Alternatively, you can pass command line arguments directly to the client. These are expected to be in the form: <username> <mppass> <ip> <port> <skin server>, where skin server is optional.

Key combinations

  • Press escape (after joining a world) to switch to the pause menu.
  • The pause menu lists all of the key combinations used by the client. These key combinations can be reassigned by clicking on a key combination.
  • Press escape or click "Back to game" to return to the game.

Some points to note:

  • If the server has disabled hacks, key combinations such as fly and speed will not do anything.
  • Press F6 to change view distance. A smaller number of visible chunks can improve performance.
  • Press F7 to toggle VSync on (minimises CPU usage) or off (maximises chunk loading speed).

Client commands

  • To see a list of all built in commands, type /client commands.
  • To see help for a given built in command, type /client help <command name>.