Custom Minecraft Classic / ClassiCube client written in C from scratch (formerly ClassicalSharp in C#)
Find a file
2015-06-25 20:02:37 +10:00
2D Use TextureObject struct to abstract 2D textures from OpenGLApi class. 2015-06-25 19:27:07 +10:00
Blocks Cleanup in TextureAtlas2D, rename TextureAtlas2D to TerrainAtlas2D, move Vector3I to own file. 2015-05-27 17:57:39 +10:00
Commands Create a default plugin that implements the default commands. 2015-06-20 12:37:57 +10:00
DefaultPlugin Split up NetworkProcessor into multiple source files. 2015-06-25 20:02:37 +10:00
Entities Abstract network processing. 2015-06-25 19:37:34 +10:00
Game Abstract network processing. 2015-06-25 19:37:34 +10:00
GraphicsAPI Use TextureObject struct to abstract 2D textures from OpenGLApi class. 2015-06-25 19:27:07 +10:00
Ionic.Zlib Always use Ionic.Zlib for decompression. 2015-06-25 19:39:28 +10:00
Launcher Use dynamic VBOs instead of immediate mode. 2015-05-31 12:59:03 +10:00
Map Move implementation of ChunkMeshBuilder to default plugin. 2015-06-20 17:13:33 +10:00
Model Use TextureObject struct to abstract 2D textures from OpenGLApi class. 2015-06-25 19:27:07 +10:00
Network Abstract network processing. 2015-06-25 19:37:34 +10:00
OpenTK Indent. 2015-06-21 10:51:10 +10:00
Physics Cleanup physics, fix bug with half stairs. 2015-05-13 06:09:50 +10:00
Plugin Abstract network processing. 2015-06-25 19:37:34 +10:00
Properties Add everything. 2014-12-17 14:47:17 +11:00
Rendering Use TextureObject struct to abstract 2D textures from OpenGLApi class. 2015-06-25 19:27:07 +10:00
Selections Move uniform setting and shader related functions directly into Shader class. 2015-06-22 19:45:04 +10:00
Utils Use TextureObject struct to abstract 2D textures from OpenGLApi class. 2015-06-25 19:27:07 +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 Abstract network processing. 2015-06-25 19:37:34 +10:00
ClassicalSharp.sln Create a default plugin that implements the default commands. 2015-06-20 12:37:57 +10:00
launcher instructions.txt Separate launcher instructions into separate file, make readme less scary. 2015-04-25 06:57:50 +10:00
license.txt Fix map chunk decompressing with Mono. 2015-06-19 11:16:15 +10:00
Program.cs Made crash dialog nicer. 2015-04-04 13:05:53 +11:00
readme.txt Update readme for Mono (and Linux) support. 2015-06-19 11:54:25 +10:00
todo.txt Rewrote readme.txt. 2015-04-04 13:48:52 +11:00

ClassicalSharp is a custom MineCraft Classic client written in C# that works with 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 from github.com/UnknownShadow200/ClassicalSharp/releases

=== What ClassicalSharp is === 
* Works with both MineCraft.net and ClassiCube.net
* Lightweight, minimal memory usage compared to standard client.
* Should work with effectively all graphics cards that support OpenGL.

It does not:
* Work with 'modern/premium' MineCraft servers.
* Provide single-player support.

=== Requirements ===
* Windows: The .NET framework 2.0 or Mono. (Vista and later have .NET framework 2.0 built in)
* Linux: Mono. (Not completely tested, but does work)
* Mac OS X: Mono. (Not tested at all yet - may just crash)

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

=== Instructions ===
To use ClassicalSharp, you can either
A) Use the launcher
B) Pass command line arguments directly to classicalsharp.exe

* Note that the first time you run the launcher, a dialog box will pop up with the message 
"Some required resources weren't found." Just click OK. (This is because I cannot redistribute 
the assets of Minecraft Classic with the application as they are the copyrighted property of Mojang)

The launcher interface should be straightforward. If you are confused about how to use the launcher, 
please read "launcher instructions.txt"

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

* Note that if the server has disabled hacks, some of the key combinations will have no affect.
* Pressing F6 to change view distance can improve performance by limiting the number of visible chunks.
* Pressing F7 to toggle VSync on or off. On minimises CPU usage, whereas off maximises chunk loading speed.