NOTICE: This post may not be 100% up to date with information at all times. Download links and the changelog, however, usually will be up to date.
OpenClassic consists of two main parts: The OpenClassic Server and the OpenClassic Client.
___________________
OpenClassic Server
The server version of OpenClassic is designed from the ground up with efficiency and extensibility in mind.
Plugin API
Like Bukkit for SMP, OpenClassic offers a full-featured plugin API, allowing developers to build their own modifications to the game, and server administrators to extend the capability of their own servers by either installing or writing their own plugins. Gone are the days of custom servers with a limited set of functionality: OpenClassic can be infinitely customized to fit your particular use case. This also removes the feature cruft present in other Classic servers: only install the plugins you want to use.
For developers, the API can do many things. It has support for creating custom blocks, custom GUI screens, playing custom sounds, listening to events, and much, much more!
Spout-like custom blocks!
Plugins have the ability to send custom blocks, with custom textures and custom 3D models (!), to players running the custom OpenClassic client. This way, servers can extend far beyond the basic Classic game, without your players having to install cubersome mods to connect to your server!
Non-OpenClassic-running players can still connect to your server; like with Spout, they will simply see "fallback" blocks for any custom block you use -- for example, a stone wall block could use a regular stone block as its fallback.
Custom audio and GUI support is in the works.
Multiworld
OpenClassic features multi-level support for hosting multiple maps on the same server. Using the /goto command will take you to a different map, which will be auto-generated if it does not already exist.
Base set of commands
The server alone includes a base set of commands, such as /water, /solid, /kick, and so on. See the "Further Documentation" section below for more details.
Permissions System
OpenClassic includes a fine-grained, group-based permissions system, with the ability to define which specific features are accessible to each access level.
Permissions are stored in a file called "permissions.yml", which is auto-generated with default values. Further documentation on this feature can be found in the server docs (see below).
GUI or Command Line Administration
OpenClassic includes both GUI and command line modes for server administrators, allowing you to pick what fits your use-case best.
The GUI includes functionality for issuing commands, kicking players, loading and unloading maps, and so on.
Information on starting the server in GUI mode can be found in the "Setup Guide" section below.
Multiple Map Formats
Supported map formats are: MCSharp/MCLawl/etc., Minecraft "Indev" maps, vanilla Classic maps, and the OpenClassic map format, the default for new maps.
Setup Guide
All you need to do is download the jar file, and either open the client and run the server from within the client, or run the jar with the "server" argument. (i.e. "java -jar (jar file) server") If you want to have a GUI when running the server, you can run it with the "gui" argument as well. ("java -jar (jar file) server gui")
Further Documentation
Coming soon!
___________________
OpenClassic Client
The OpenClassic Client is a heavily modified, cleaned-up version of the vanilla Minecraft Classic client, with custom feature extensions, a graphics engine rewrite, and, yes, a modding API!
Modding API
Presenting the first ever client-side Modding API for Minecraft Classic! The client uses the same API as the server, and allows for adding new functionality to the single player game, greater integration with mutliplayer servers, custom client-side tweaks (minimaps!), and whatever else you can think of.
...Oh, yes, and unlike the final game, Classic will never change. You will never have to deal with new deobfuscations or messy re-obfuscations when modding for OpenClassic. You know that "Oh, drat, the next version came out. Now I have to update all my mods" feeling? That won't happen here. The only updates you'll have to deal with are changes/new features in the OpenClassic API, and the majority of those will be non-breaking.
Full Vanilla compatibility
Just because there's an OpenClassic server, doesn't mean you're locked into only those servers running it. What it does mean is that you'll have access to the custom, Spout-like features on said servers.
Single-player commands
The same base set of commands present on the server is also available in the single-player game.
Server list
For easier server selection, the OpenClassic Client is fully integrated with Mojang's multiplayer server list, and also includes a spot for you to save and quickly find your favorite servers, and a box for direct URL entry.
Texture packs
Load texture packs without having to modify your minecraft.jar, with a custom GUI!
Screenshot support
Pressing takes a screenshot -- just like in the final game!
Multiplayer level dumping
Never lose your creations again! The "Dump Level" option in the in-game menu allows you to save the current map to disk.
Hax!
The OpenClassic Client does indeed include speed-hacking and fly-hacking functions, which allows you to run faster in single player mode (if you so choose), as well as only on multiplayer servers with "+hax" in their MOTD.
Setup Guide
All you need to do is download and run the jar file!
Further Documentation
Protocol (may be a little bit outdated, see source code for always up to date protocol): http://pastebin.com/SCXjrS6i
Source code for OpenClassic is available on GitHub.
The source code for the OpenClassic API, which is used on both the server and the client, is also available on GitHub.
More extensive documentation for developers, and in general, is in the works; hang tight!
Changelog
1.0.0
Initial Release
1.0.1
Fixed delete level button.
Improved generation speed.
Fixed bug where all block particles were grass particles.
Improved chunk render order.
Fixed other bugs.
1.0.2
Fixed block physics triggered by breaking a block.
Fixed blocks not having a break sound.
Use OpenClassic client versioning instead of 0.31
1.0.3
Fixed a bug where primed TNT was completely white.
Fixed a bug where the last block in a stack could be placed twice.
Fixed slab hardness.
1.0.4
Fixed next/back buttons being disabled under certain conditions on some screens.
Fixed connecting to servers.
Fixed NBTData EOF error.
1.0.5
Fixed a rare crash bug.
Fixed various other bugs.
1.0.6
Fixed not being able to pickup items after survival respawn.
Fixed still water and lava being generated into worlds.
Sheep now drop wool instead of mushrooms.
Players in survival will now drop their inventory on death.
1.0.7
Restructured applet and standalone modes.
Added fullscreen mode (F6 ingame)
Cleaned up code.
1.0.8
Lag potentially fixed.
Added server-side audio playing, using custom client, for developers.
Added a custom data message for developers.
Fixed some bugs and optimized some code.
1.0.9
Fixed particle and dropped item textures.
Fixed arm color being red when swinging.
Cleaned up code more.
1.0.10
Added support for MCForge v6 maps.
Some internal changes.
Made water block have slightly less height.
Made block in hand respond to area lighting.
1.1
Fixed duplicate reload message.
Added F1 GUI toggle.
Added search box to Server List screen.
Merged OpenClassic into OpenClassic Client.
Server can be run from the client by going to the Server List screen and clicking "Start Server."
1.2
Removed unneeded block entity API.
Rewrote parts of block API.
Fixed some shutdown issues.
Revamped progress bar completely.
Changed logo to OpenClassic logo.
Corrected some translation system bugs.
Fixed survival block cracks being off to the side.
1.2.1
Fixed Downloading Resources visual issues.
Fixed further shutdown issues.
Fixed loading the game on a Mac.
Fixed issues with sound.
Updated LWJGL to latest version.
1.2.2
Fixed issue with loading blocks before the level loaded, fixing framerate and grass spread issues.
1.2.3
Fixed deleted levels leaving behind a data file.
Added modern-style fly hack.
1.2.4
Fixed spawning bug.
Fixed jinput controller error.
Improved math API, hopefully boosting speeds.
Animated and aligned water outside level boundary.
1.2.5
Rewrite parts of internal protocol implementation.
Change event system backends in the API.
Fixed potential infinite loop spawning bug.
Fixed skins not showing.
1.2.6
Improved FPS.
Potentially improved directional sound in levels.
1.2.7
Added orange and brown chat colors &g and &h (only works on OpenClassic clients)
Cleaned up internal code a bit
Added PEACEFUL option to survival setting.
Fixed some server shutdown issues.
Fixed a bug where spawning partially in a block in multiplayer would crash the game.
1.2.8
Misc bug fixes.
Added night time mode.
1.2.9
Fixed startup error.
1.3
Added support for language packs placed in .minecraft_classic/lang (example pack files here: https://dl.dropboxus...sic/example.zip Contents of zip would be extracted to .minecraft_classic/lang)
Rewrite parts of language API.
1.3.1
Added sensitivity option.
Remade options GUIs to allow for expansion.
Rewrote settings code.
1.3.2
Improved block select screen, adding pages and fancier graphics options.
Added option to enable test minimap.
Improved debug output.
1.3.3
Fixed potential error in minimap.
Removed hacks checks by popular demand.
1.3.4
Re-added part of hack checks (use -hax in server MOTD to disable)
1.3.5
Fixed multiplayer lag/lighting/block issues.
Fixed multiplayer liquids.
Added per-block fog color/density and speed modifier API.
1.3.6
Fixed a startup error.
Fixed water/lava animation speeds.
Corrected a potential multiplayer data bug.
1.3.7
A bit of internal cleanup.
Fixed issues with server list searching.
1.3.8
More internal cleanup.
Fixed generating a new level.
1.3.9
Fixed reading some multiplayer data packets.
1.3.10
Fixed block select screen.
1.3.11
Fixed a multiplayer connect issue.
1.3.12
Fixed saving favorites added from the server list screen.
1.4
API: Hid rendering and networking code from the API.
API: Fixed an issue with registering event listeners.
API: Shifted some code between API and implementation.
API: Moved onButtonListClick to ButtonListCallback.
Misc. code cleanup.
1.4.1
API: Removed render() method from GuiScreen,
API: Moved onButtonClick to ButtonCallback.
Fixed not being able to create block model quads on the server.
1.5
API: Added call to PlayerChatEvent when the client receives chat from other players.
API: Client.getPlayer() instance is now permanent and can be used for basic information even when the client is not in a game session. Session-specific methods will not work when a game is not active.
Rewrote GUI system completely.
Fixed misc. bugs.
1.5.1
Fixed a multiplayer NullPointerException.
Improved GUI scaling.
Added more sounds (shooting arrows, picking up items, hitting blocks, water sounds, etc)
Added the ability to drop items with Q.
Included sounds and music with the jar file instead of downloading them separately.
Misc. bug fixes.
1.5.2
API: Cleaned up block model API.
API: Added ChatDisplayEvent.
API: Minor improvements to the Level class.
Fixed a few minor bugs.
Cleaned up some client code.
Improved server physics.
1.5.3
Improved water ambient sounds.
Fixed bug with item entities in survival.
Added more music.
1.5.4
API: Rewrote Texture API.
Improved(?) FPS.
Fixed a bug with block particles.
Fixed TNT not exploding.
Changed texture packs to resource packs (Added audio support)
1.5.5
Various bugfixes and internal changes.
1.5.6
Removed survival test.
Added chat scrolling.
Added chat history. (Press up or down in the chat input box to scroll through it.)
Added chat background for easier reading.
Added third person. (F5, rain is now F4)
Extended tab player list size.
Improved overhead name tags.
Allow ops to bypass MOTD hacks setting.
Greatly improved the movement of other players.
Greatly improved movement smoothing.
Slight improvement to flight controls.
Prevent mouse-grabbing when logging in until connected to server.
Some FPS improvements.
Moved interpolation away from API.
Fixed bedrock being breakable.
Fixed invisible settings causing others to act like them.
Fixed chat resetting on level change.
Fixed improper use of player ID field when sending/receiving chat from client/server.
Fixed NPE when a player move packet is received while switching maps.
Fixed NPE when null BlockType is set.
Fixed NPE when setting player position before the level is loaded.
IRC
The official OpenClassic IRC channel is #openclassic on irc.esper.net.
How come when I login and loads the screen it appears blank and nothing playing?
It does not work with 64-bit computers.
OS: Windows 7 Professional
64-bit
Very sad
Can you download this, put it in the same folder as OpenClassic, use it to run OpenClassic, and tell me what it outputs when the black screen doesn't go away?
After reviewing the code for OpenClassic it seems like a lot of the code came from the Spout Project. Since this is the fact then you'll need to put Spout as a fork on the wiki page. You'll also need to give Spout credit in the source code and not just claim the code as your own.
After reviewing the code for OpenClassic it seems like a lot of the code came from the Spout Project. Since this is the fact then you'll need to put Spout as a fork on the wiki page.
Some of the similarities are the custom block system and the plugin events. On my quick overview I also noticed that MathHelper was exactly the same as spout's.
Some of the similarities are the custom block system and the plugin events. On my quick overview I also noticed that MathHelper was exactly the same as spout's.
The custom block and plugin systems were completely written on my own. I got the MathHelper from another MIT licensed project, but I rewrote it just now to avoid further confusion.
Can you download this, put it in the same folder as OpenClassic, use it to run OpenClassic, and tell me what it outputs when the black screen doesn't go away?
Still does "OpenAL64.dll: %1 is not a valid Win32 application".
It seems like my computer acts like 32-bit but also on the same side 64-bit. Maybe something is worng with my computer?
Still does "OpenAL64.dll: %1 is not a valid Win32 application".
It seems like my computer acts like 32-bit but also on the same side 64-bit. Maybe something is worng with my computer?
Same here. Its not because of computer, but because of 0.31 itself - it compiled for 32 bit only, and apparently lwjgl you supply inside of jar is crappy one. I suggest author to install virtualbox and recompile jar in 64 environment along with lwjgl dll file to invoke true 64bit library for players which using 64-bit os systems.
It comes with the natives for both architectures. I did fix a bug with the extractor recently, so could you try re-downloading it and seeing if it works?
ш■э 29, 2012 10:46:58 PM net.java.games.input.DefaultControllerEnvironment getControllers
INFO: Loading: net.java.games.input.DirectAndRawInputEnvironmentPlugin
java.lang.UnsatisfiedLinkError: no jinput-dx8_64 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at net.java.games.input.DirectInputEnvironmentPlugin$1.run(DirectInputEnvironmentPlugin.java
:75)
at java.security.AccessController.doPrivileged(Native Method)
at net.java.games.input.DirectInputEnvironmentPlugin.loadLibrary(DirectInputEnvironmentPlugi
n.java:67)
at net.java.games.input.DirectInputEnvironmentPlugin.<clinit>(DirectInputEnvironmentPlugin.j
ava:109)
at net.java.games.input.DirectAndRawInputEnvironmentPlugin.<init>(DirectAndRawInputEnvironme
ntPlugin.java:45)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.java.games.input.DefaultControllerEnvironment.getControllers(DefaultControllerEnviron
ment.java:160)
at org.lwjgl.input.Controllers.create(Controllers.java:71)
at com.mojang.minecraft.Minecraft.run(Minecraft.java:467)
at java.lang.Thread.run(Unknown Source)
java.lang.UnsatisfiedLinkError: no jinput-raw_64 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at net.java.games.input.RawInputEnvironmentPlugin$1.run(RawInputEnvironmentPlugin.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at net.java.games.input.RawInputEnvironmentPlugin.loadLibrary(RawInputEnvironmentPlugin.java
:67)
at net.java.games.input.RawInputEnvironmentPlugin.<clinit>(RawInputEnvironmentPlugin.java:10
9)
at net.java.games.input.DirectAndRawInputEnvironmentPlugin.<init>(DirectAndRawInputEnvironme
ntPlugin.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.java.games.input.DefaultControllerEnvironment.getControllers(DefaultControllerEnviron
ment.java:160)
at org.lwjgl.input.Controllers.create(Controllers.java:71)
at com.mojang.minecraft.Minecraft.run(Minecraft.java:467)
at java.lang.Thread.run(Unknown Source)
ш■э 29, 2012 10:46:58 PM net.java.games.input.ControllerEnvironment log
INFO: net.java.games.input.DirectAndRawInputEnvironmentPlugin is not supported
Than it loading. Also music somewhy starts at title menu. Not cool.
Also: http://screencast.com/t/exsO2sJSw (chunk secondary loading after saving and reloading level sometimes is jeesh darn slow.)
Multiplayer button press results in crash:
java.lang.ArrayIndexOutOfBoundsException: 1087
at com.mojang.minecraft.render.FontRenderer.getWidth(FontRenderer.java:131)
at ch.spacebase.openclassic.client.render.ClientRenderHelper.renderText(ClientRenderHelper.j
ava:74)
at ch.spacebase.openclassic.client.render.ClientRenderHelper.renderText(ClientRenderHelper.j
ava:67)
at ch.spacebase.openclassic.api.gui.widget.Button.render(Button.java:101)
at ch.spacebase.openclassic.api.gui.widget.ButtonList.render(ButtonList.java:137)
at ch.spacebase.openclassic.api.gui.GuiScreen.render(GuiScreen.java:209)
at ch.spacebase.openclassic.client.gui.ServerListScreen.render(ServerListScreen.java:107)
at com.mojang.minecraft.Minecraft.run(Minecraft.java:1218)
at java.lang.Thread.run(Unknown Source)
Also screenshot button (f2) results in crash:
java.io.FileNotFoundException: C:\Users\Smoke Fumus\AppData\Roaming\.minecraft_classic\screenshots\F
ri-Jun-29-23:00:10-MSK-2012.png (Syntax error in file name, folder name or tome name)//rough translation from russian localization explorer output
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(Unknown Source)
at javax.imageio.stream.FileImageOutputStream.<init>(Unknown Source)
at com.sun.imageio.spi.FileImageOutputStreamSpi.createOutputStreamInstance(Unknown Source)
at javax.imageio.ImageIO.createImageOutputStream(Unknown Source)
at javax.imageio.ImageIO.write(Unknown Source)
at com.mojang.minecraft.Minecraft.tick(Minecraft.java:1887)
at com.mojang.minecraft.Minecraft.run(Minecraft.java:599)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at javax.imageio.ImageIO.write(Unknown Source)
at com.mojang.minecraft.Minecraft.tick(Minecraft.java:1887)
at com.mojang.minecraft.Minecraft.run(Minecraft.java:599)
at java.lang.Thread.run(Unknown Source)
But, to your credit - it works, and i like that you pasted primitive survival mode in it. Keep it up.
The last two have been fixed, the screenshot bug was because I'm testing on Linux and some characters aren't allowed in filenames on Windows. The font one was because a server name had unsupported characters in it's name. I'm currently looking into the natives bug and the chunk bug.
I thought I'd already made a channel, but if I hadn't, thanks for making one!
.minecraft_classic\lib\OpenAL64.dll:%1 is not a valid Win32 application
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at ch.spacebase.openclassic.client.util.LWJGLNatives.load(LWJGLNatives.java:55)
at ch.spacebase.openclassic.client.util.LWJGLNatives.load(LWJGLNatives.java:31)
at com.mojang.minecraft.Minecraft.run(Minecraft.java:421)
at java.lang.Thread.run(Unknown Source)
The LWJGL natives extractor bug has been fixed, however you will need to delete the .minecraft_classic folder for it to work. Redownload the client from the first post to get the fixed version.
Location of .minecraft_classic folder:
Linux: ~/.minecraft_classic
Windows XP and up: %appdata%/.minecraft_classic
Mac OS X: ~/Library/Application Support/minecraft_classic
No longer supported.
Open Source Minecraft Classic Server and Client
NOTICE: This post may not be 100% up to date with information at all times. Download links and the changelog, however, usually will be up to date.
OpenClassic consists of two main parts: The OpenClassic Server and the OpenClassic Client.
___________________
OpenClassic Server
The server version of OpenClassic is designed from the ground up with efficiency and extensibility in mind.
Like Bukkit for SMP, OpenClassic offers a full-featured plugin API, allowing developers to build their own modifications to the game, and server administrators to extend the capability of their own servers by either installing or writing their own plugins. Gone are the days of custom servers with a limited set of functionality: OpenClassic can be infinitely customized to fit your particular use case. This also removes the feature cruft present in other Classic servers: only install the plugins you want to use.
For developers, the API can do many things. It has support for creating custom blocks, custom GUI screens, playing custom sounds, listening to events, and much, much more!
Spout-like custom blocks!
Plugins have the ability to send custom blocks, with custom textures and custom 3D models (!), to players running the custom OpenClassic client. This way, servers can extend far beyond the basic Classic game, without your players having to install cubersome mods to connect to your server!
Non-OpenClassic-running players can still connect to your server; like with Spout, they will simply see "fallback" blocks for any custom block you use -- for example, a stone wall block could use a regular stone block as its fallback.
Custom audio and GUI support is in the works.
Multiworld
OpenClassic features multi-level support for hosting multiple maps on the same server. Using the /goto command will take you to a different map, which will be auto-generated if it does not already exist.
Base set of commands
The server alone includes a base set of commands, such as /water, /solid, /kick, and so on. See the "Further Documentation" section below for more details.
Permissions System
OpenClassic includes a fine-grained, group-based permissions system, with the ability to define which specific features are accessible to each access level.
Permissions are stored in a file called "permissions.yml", which is auto-generated with default values. Further documentation on this feature can be found in the server docs (see below).
GUI or Command Line Administration
OpenClassic includes both GUI and command line modes for server administrators, allowing you to pick what fits your use-case best.
The GUI includes functionality for issuing commands, kicking players, loading and unloading maps, and so on.
Information on starting the server in GUI mode can be found in the "Setup Guide" section below.
Multiple Map Formats
Supported map formats are: MCSharp/MCLawl/etc., Minecraft "Indev" maps, vanilla Classic maps, and the OpenClassic map format, the default for new maps.
Setup Guide
All you need to do is download the jar file, and either open the client and run the server from within the client, or run the jar with the "server" argument. (i.e. "java -jar (jar file) server") If you want to have a GUI when running the server, you can run it with the "gui" argument as well. ("java -jar (jar file) server gui")
Further Documentation
Coming soon!
___________________
OpenClassic Client
The OpenClassic Client is a heavily modified, cleaned-up version of the vanilla Minecraft Classic client, with custom feature extensions, a graphics engine rewrite, and, yes, a modding API!
Presenting the first ever client-side Modding API for Minecraft Classic! The client uses the same API as the server, and allows for adding new functionality to the single player game, greater integration with mutliplayer servers, custom client-side tweaks (minimaps!), and whatever else you can think of.
...Oh, yes, and unlike the final game, Classic will never change. You will never have to deal with new deobfuscations or messy re-obfuscations when modding for OpenClassic. You know that "Oh, drat, the next version came out. Now I have to update all my mods" feeling? That won't happen here. The only updates you'll have to deal with are changes/new features in the OpenClassic API, and the majority of those will be non-breaking.
Full Vanilla compatibility
Just because there's an OpenClassic server, doesn't mean you're locked into only those servers running it. What it does mean is that you'll have access to the custom, Spout-like features on said servers.
Single-player commands
The same base set of commands present on the server is also available in the single-player game.
Server list
For easier server selection, the OpenClassic Client is fully integrated with Mojang's multiplayer server list, and also includes a spot for you to save and quickly find your favorite servers, and a box for direct URL entry.
Texture packs
Load texture packs without having to modify your minecraft.jar, with a custom GUI!
Screenshot support
Pressing takes a screenshot -- just like in the final game!
Multiplayer level dumping
Never lose your creations again! The "Dump Level" option in the in-game menu allows you to save the current map to disk.
Hax!
The OpenClassic Client does indeed include speed-hacking and fly-hacking functions, which allows you to run faster in single player mode (if you so choose), as well as only on multiplayer servers with "+hax" in their MOTD.
Setup Guide
All you need to do is download and run the jar file!
Further Documentation
Protocol (may be a little bit outdated, see source code for always up to date protocol): http://pastebin.com/SCXjrS6i
More coming soon!
___________________
Downloads
OpenClassic (1.5.6) - Download
OpenClassicAPI (1.5.6) - Download
Source Code
Source code for OpenClassic is available on GitHub.
The source code for the OpenClassic API, which is used on both the server and the client, is also available on GitHub.
More extensive documentation for developers, and in general, is in the works; hang tight!
Changelog
Various bugfixes and internal changes.
Removed survival test.
Added chat scrolling.
Added chat history. (Press up or down in the chat input box to scroll through it.)
Added chat background for easier reading.
Added third person. (F5, rain is now F4)
Extended tab player list size.
Improved overhead name tags.
Allow ops to bypass MOTD hacks setting.
Greatly improved the movement of other players.
Greatly improved movement smoothing.
Slight improvement to flight controls.
Prevent mouse-grabbing when logging in until connected to server.
Some FPS improvements.
Moved interpolation away from API.
Fixed bedrock being breakable.
Fixed invisible settings causing others to act like them.
Fixed chat resetting on level change.
Fixed improper use of player ID field when sending/receiving chat from client/server.
Fixed NPE when a player move packet is received while switching maps.
Fixed NPE when null BlockType is set.
Fixed NPE when setting player position before the level is loaded.
IRC
The official OpenClassic IRC channel is #openclassic on irc.esper.net.
Banner
Credits
Thanks for reminding me, added it to the wiki page.
It does not work with 64-bit computers.
OS: Windows 7 Professional
64-bit
Very sad
Can you download this, put it in the same folder as OpenClassic, use it to run OpenClassic, and tell me what it outputs when the black screen doesn't go away?
Sincerely,
Creatorfromhell
What parts of the code would this be?
Some of the similarities are the custom block system and the plugin events. On my quick overview I also noticed that MathHelper was exactly the same as spout's.
The custom block and plugin systems were completely written on my own. I got the MathHelper from another MIT licensed project, but I rewrote it just now to avoid further confusion.
Still does "OpenAL64.dll: %1 is not a valid Win32 application".
It seems like my computer acts like 32-bit but also on the same side 64-bit. Maybe something is worng with my computer?
Same here. Its not because of computer, but because of 0.31 itself - it compiled for 32 bit only, and apparently lwjgl you supply inside of jar is crappy one. I suggest author to install virtualbox and recompile jar in 64 environment along with lwjgl dll file to invoke true 64bit library for players which using 64-bit os systems.
Than it loading. Also music somewhy starts at title menu. Not cool.
Also: http://screencast.com/t/exsO2sJSw (chunk secondary loading after saving and reloading level sometimes is jeesh darn slow.)
Multiplayer button press results in crash:
Also screenshot button (f2) results in crash:
But, to your credit - it works, and i like that you pasted primitive survival mode in it. Keep it up.
I thought I'd already made a channel, but if I hadn't, thanks for making one!
Location of .minecraft_classic folder:
Bugs: TNT not working in survival?, Destroying a block doesn't make a sound?
Also can there be a fullscreen feature?