HCraft

From wiki.vg
Revision as of 08:55, 25 September 2013 by BizarreCake (talk | contribs)
Jump to navigation Jump to search
Introduction
hCraft's "overhang" world generator

hCraft is a custom server written in C++ by BizarreCake, currently implementing the 78th version of the protocol (1.6.4).

Although hCraft is designed to become a general purpose server, it is currently leaning towards classic/creative functionality. Inspired by many classic custom servers, such as: WoM 2009, the new WoM (WoM Realms), D3, MCSharp/MCZall/MCLawl, and fCraft.

Links:
Website: www.hCraft.org (Outdated at times)
Source code: www.github.com/BizarreCake/hCraft.
IRC: #hCraft @ irc.panicirc.net/6667
Multiworld
A 32x32 flatgrass world.

hCraft has been designed to be a fully multiworld server from the grounds up. Players can create worlds, switch between them at any time, backup them, restore them from backups, regenerate, resize, etc...

Every world has its own world generator, provider (determines the format from which the world is loaded/saved to) and set of physics threads.

And just like the good ol' classic days, worlds can have a finite size and have that neat border (although they can be infinite as well).


Some world-related commands:

/wcreate [-a] [-l] [-g <generator>] [-p <provider>] [-s <seed>] [-w <width>] [-d <depth>] <world name>
Creates a new world named <world name>, optionally loading it if -l is present.
/wload [-a] <world name>
Loads the world <world name>. The -a option will insert the world into the "autoload" list.
/wunload [-a] <world name>
Unloads the world <world name>. The -a option will remove the world from the "autoload" list.
/goto <world name>
Teleports the player into the specified world.
Block physics
D3-style sand physics

hCraft has a very powerful block physics system in place.

Initially, all worlds share a single block physics thread spawned by the server at startup time. At any time, the user may choose to allocate a set of threads for any world - from one thread up to 24 (although I doubt anyone would need that many, ...unless you have a 12-core system).

hCraft supports various custom blocks - regular blocks that have a special behaviour associated with them. Internally, they are usually assigned a custom ID (starting at 2000), and are converted transparently to the right type of blocks when sent to the player. Currently implemented custom blocks include: activewater (the type of water that existed in classic Minecraft), Langton's ant, sharks, fireworks, etc...

Custom block behaviour can be also attached to regular blocks, using the /bt (block type) and /bp (block physics) commands. It is possible to convert any selected blocks into doors (that is, classic MCSharp/MCZall doors) just by selecting a bunch of blocks and typing /bt door.

World physics can be stopped, paused, and resumed at any time using the /physics command.