Mumfrey swaggin' it up
|Race:||Irken SIR Unit (malfunctioning)|
|Notable builds:||Macro Mod, VoxelGET, VoxelTextures, VoxelBoards, VoxelFlight, other things.|
Mumfrey is a developer on The VoxelModPack team and has created several mods specifically for The Voxel Box and works on maintaining and improving several of the others in the mod pack. He is generally grumpy and unsociable unless talking about programming or beer, in which case it's impossible to get him to shut up.
He is a Sniper mainly as an honourific rather than any recognition of building prowess, since his actual building abilities are comparable to those of a quadraplegic chipmunk.
Induction into the ModPack Team
In October 2011, Mumfrey was contacted by MehStrongBadMeh asking permission to include the Macro / Keybind Mod in the modpack and - being an advocate of modpacks (since they give players easier access to mods) - Mumfrey of course agreed. It didn't take much time lurking in Ventrilo for Mumfrey to learn that some of the other modders were more reluctant to give permission, and that a replacement for TooManyItems was sorely needed. So Mumfrey spent half an hour reading bash.org and then copy/pasted some of the funnier quotes into Eclipse to see what would happen, to his surprise it produced VoxelGET, he showed the result to MehStrongBadMeh and he was pleased. From that point on Mumfrey became a more permanent member of the ModPack team.
Becoming a member of the The Voxel Box was an eye-opening experience for Mumfrey, since his tendency to "just randomly code cool stuff and then throw it away" was channeled into a more productive process of "code cool stuff, stick Voxel on the start of the name and then actually release it". This has led to the creation of and/or work he has done on the mods below:
Internally called VoxelTexturePackUtilities because Mumfrey sucks at making up good names for things, VoxelTextures was the next mod Mumfrey made which obtained the 'Voxel' prefix. The basis of the mod was quite straightforward - switch the texture pack based on the player's world and coordinates; at the time this was achieved by using the world seed to determine the world and the player's coordinates to determine the region, neatly divesting the server of any duty to work out the player's region. Over time VoxelTextures gained some additional functionality and is still being improved and refined.
VoxelPacket is a client/server communcation framework which Mumfrey originally developed to provide a way for VoxelPlugins to communicate with their client-side counterparts, originally inspired by an idea of Przerwap's to create a client-side interface for VoxelMotion. At the time, many plugins which needed to communicate with client-side mods had to either employ unofficial packet ID's (which tended to crash vanilla clients), or alternatively use chat packets to exchange information. The problem with using chat was that it was susceptible to contamination and also limited the type of data that could be transmitted.
VoxelPacket originally used a fully custom transport based on manipulating Packet 130 (sign update) packets, structuring them so that they would be silently ignored by vanilla clients, but could be used as a sideband transport for mod communications. It also incorporated an object serialisation framework, data packing algorithms, a message subscriber model, clientside-only messaging (intra-mod message bus) and client subscription querying. This was prior to the introduction of Packet 250 by Dinnerbone in early 2012.
The introduction of Packet 250 removed the need for the custom transport, and the Packet 130 transport was dropped in favour of using a Packet 250 payload, the serialisation and subscriber/publisher components are still in use today however.
Work on VoxelPlayer
The original version of VoxelPlayer was made by xTiming and incorporated VoxelChat and VoxelVision, however the message bubbles were powered by a system of mangled chat packets that tended to come unglued occasionally. Mumfrey originally began work on VoxelPlayer to switch the communication to use his custom VoxelPacket communication channel, but following this xTiming indicated that he was happy for Mumfrey to continue maintaining VoxelPlayer so that he could focus his own effors on VoxelWorld.
Work on VoxelFlight
VoxelFlight had a troubled beginning, with a premature deployment replacing Zombe's modpack making it unpopular amongst many players, it was worked upon by no fewer than 4 developers before Mumfrey and each contributed their own part to the development of the mod, however the final product still lacked some polish and still suffered from random issues and inconsistencies, such as bizarre rate changes when switching modes, non-linear multipliers and the persistent "drift" that had plagued the earlier versions.
Mumfrey initially spent some time cleaning the code base and rationalising some of the vector maths at the core of the mod, and in doing so eliminated the last of the persistent issues. For subsequent versions he substantially re-wrote the mod's core classes, changing it to be "base clean", and later adding support for single player and single player noclip modes as well as a cinematic flight mode which is based on the flight available in Unreal Engine-based games. Coupled with VoxelModPackPlugin it now offers multiplayer noclip support.
Mumfrey developed LiteLoader because he was fed up with Risugami taking so long to update ModLoader and also to address some critical short-falls in ModLoader such as indiscriminately loading outdated mods causing the client to crash. The vast majority of mods in the mod pack now use LiteLoader since it makes the modpack update process much faster when new Minecraft versions are released.
VoxelNotes is an incomplete client/server mod which adds little spinning notes ingame which can be clicked to bring up a large editable text area. Mumfrey is not currently working on VoxelNotes and it may be continued at some point in the future.
VoxelCam was a mostly complete which allowed players to create up to nine virtual cameras in their surroundings and then use them to capture multi-angle timelapses. The cameras could be moved and interacted with, set to follow motion paths and have their "recording" state toggled on and off in a simple GUI. Internally, each camera rendered its scene to an OpenGL Frame Buffer Object (FBO) and cameras could be displayed on the screen in a real-time Picture-In-Picture mode.
The cameras themselves had a custom model which Mumfrey made and skinned (pictured right), and the mod was close to release but Mumfrey lost interest in the project and abandoned it, partly because he likes to keep things a secret until they're totally finished but several members found out about the project.
Another abandoned project, VoxelFX used the FBO classes from VoxelCam to apply funky transitions to the Minecraft menus (you can see a video here) but Mumfrey abandoned the project because it wasn't possible to achieve the level of polish that he demands for a releaseable mod.
In the latest incarnation of VoxelMenu, the menu part of the mod was designed by Mumfrey based on the Source Engine games' menu.
A discussion on the forums gave Mumfrey an idea to resurrect the abandoned VoxelNotes idea in the form of rendering text downloaded from the VoxelWiki onto an OpenGL quad in-game. Whilst the mod is ultimately one of the simplest mods he has ever created, it received a warm response from members on the wiki and so Mumfrey developed the initial VoxelJobs into VoxelBoards (name coined by MehStrongBadMeh) and the initial version was released in The VoxelModPack version 9.4.
HD Skins 'Clean'
Following Chrismack's creation of HD Skins and Capes incorporated in VoxelEssentials, Mumfrey applied extra framework to the mod to make it base-clean. He also added an in-game skin uploader to allow users to upload their own HD skins but this was not released until 1.5 due to concerns that players who had previously paid for their HD skins would be unhappy at the perk being made freely available.
Originally part of VoxelTextures but later separated to provide more flexibility and also to allow it to be used separately, Integrated Sound Packs allows the Minecraft engine to load sounds from directly within a texture pack zip file. As of 1.6 however Integrated SoundPacks is deprecated since this functionality now exists in Vanilla Minecraft.
VoxelVisualiser is an in-development mod which provides client-side visualisation for VoxelPlugins. It comprises an API for server-side plugins (the API is included in VoxelModPackPlugin), a communication layer utilising VoxelPacket and a client-side component to display regions as instructed by the server, you can see a video of the current status of the mod here.
- Mumfrey's favourite colour is navy blue
- He believes that Firefly was the greatest TV show ever made and that anyone who thinks differently should be dissolved in acid
- His catch-phrase is "I'm just gonna grab another beer"
- If you want to make him happy the easiest way is to show him a cool macro you wrote with his mod