Custom Minecraft Classic / ClassiCube client written in C from scratch (formerly ClassicalSharp in C#)
Find a file
2015-07-02 07:35:28 +10:00
2D Add public methods to send PlayerClick packets (code that calls them not yet implemented), simplify reading strings in FastNetReader and backspace key handler in TextInputWidget. 2015-06-29 09:25:39 +10:00
Blocks Cleanup in TextureAtlas2D, rename TextureAtlas2D to TerrainAtlas2D, move Vector3I to own file. 2015-05-27 17:57:39 +10:00
Commands Add mention of built-in client commands to readme, separate view distance setting in to a separate command, general simplification of commands. 2015-06-28 08:13:41 +10:00
Entities Remove file that shouldn't be there. 2015-06-28 18:58:54 +10:00
Game Only call PickingRender when PickedPos is valid, remove some leftover stuff from UpdateFrame, combine SendPlayerClick functions as one function. 2015-07-02 07:35:28 +10:00
GraphicsAPI 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
Ionic.Zlib Fix map chunk decompressing with Mono. 2015-06-19 11:16:15 +10:00
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 Only send final matrix result of multiplications to graphics api. 2015-06-30 07:26:09 +10:00
Network Only call PickingRender when PickedPos is valid, remove some leftover stuff from UpdateFrame, combine SendPlayerClick functions as one function. 2015-07-02 07:35:28 +10:00
OpenTK Only call PickingRender when PickedPos is valid, remove some leftover stuff from UpdateFrame, combine SendPlayerClick functions as one function. 2015-07-02 07:35:28 +10:00
Physics Only call PickingRender when PickedPos is valid, remove some leftover stuff from UpdateFrame, combine SendPlayerClick functions as one function. 2015-07-02 07:35:28 +10:00
Properties
Rendering Only call PickingRender when PickedPos is valid, remove some leftover stuff from UpdateFrame, combine SendPlayerClick functions as one function. 2015-07-02 07:35:28 +10:00
Selections 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
Utils Only call PickingRender when PickedPos is valid, remove some leftover stuff from UpdateFrame, combine SendPlayerClick functions as one function. 2015-07-02 07:35:28 +10:00
.gitignore Update .gitignore to ignore profiling session files. 2015-04-01 06:18:26 +11:00
app.config Downgrade to C# 3.0, use shorthand array initialisers where possible. 2015-05-31 08:57:05 +10:00
ClassicalSharp.csproj Fix not building due to missing readme.txt, add field specifying whether server supports PlayerClick extension. 2015-07-01 11:53:10 +10:00
ClassicalSharp.sln Integrate OpenTK into the solution. 2015-06-07 08:53:12 +10:00
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 Fix map chunk decompressing with Mono. 2015-06-19 11:16:15 +10:00
Program.cs Only show the stack trace directly to the user if we were unabble to dump it to the crash log. 2015-06-27 12:21:57 +10:00
readme.md Try 2 at fitting things on one or two lines. 2015-07-01 12:00:38 +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.

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>.