Custom Minecraft Classic / ClassiCube client written in C from scratch (formerly ClassicalSharp in C#)
Find a file
2015-07-09 10:10:33 +10:00
2D Oops, BottomRight should be the other way around. 2015-07-08 07:10:40 +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 Fully support PlayerClick extension, and declare that we support it. 2015-07-07 07:58:20 +10:00
Game 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
GraphicsAPI Implement proper resizing handling in Direct3D api. 2015-07-09 10:10:33 +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 Refactor 2D text drawing to be simpler. Refactor IModel class - use the player argument directly, rather than copying them to fields for every different model. Move LocationUpdate structure into its own file. 2015-07-05 19:59: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 Implement proper resizing handling in Direct3D api. 2015-07-09 10:10:33 +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 Add everything. 2014-12-17 14:47:17 +11:00
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 Implement proper resizing handling in Direct3D api. 2015-07-09 10:10:33 +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 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
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>.