Following the thread already posted on the board, especially the Crashed one, I have thought of creating something similar. The main difference is that I have decided to use a random dungeon generator written for a roguelike, an old project actually paused because of Minecraft.
I STRONGLY suggest to use a new generated world - the generator doesn't care of your buildings and I don't want to ruin anybody hard work.
DOWNLOAD Last version:MCmapper v0.6.1 Previous version:MCmapper v0.6
Unzip in a folder of your choice. Launch from jar or with java -jar MCmapper.jar from prompt.
FUNDAMENTAL!!! Remember to set your local .minecraft folder, or you will not see the game worlds.
v0.6 - Now compatible with McRegion!
v0.5 - It is possible to import schematics files.
v0.4.4 - It is possible to create new themed levels template, read details here and in the readme.txt file.
- Engine: Fixed the *moronic* nullPointerException on validateGenerations method.
- Engine: McRegion compatible.
- Dungeon: Temporarily disabled the creation of the dungeon border walls via an
- Engine: fixed an issue (a NullPointerException) when generating a dungeon
without themed levels. Thanks to Kyle for reporting this issue.
- Engine: Added .schematics import capability for themed levels, final room
templates and rooms templates.
- Engine: various edits and changes and possibly some fixes for the various
freeze issues reported.
- Engine: GUI reorganization. Horizontal resizing of the GUI influences the
width of the GUI elements too. It is possible to enlarge the GUI to show more
of the labels (issues reported on Linux and Mac OS). The starting window size
is the minimum window size too.
- Engine: The external border was external... and when restoring the original
chunks it wasn't deleted. Now the external border is internal... so it will be
wiped off. Furthermore, the Dungeon Look is used to create an uniform surface.
- Engine: The "Backup/Restore" panel has been moved to the main window and
renamed "Restore". The "Chunk Info Window" has been disabled (it was only
- Engine: The "Generated Dungeon" list wasn't updated after a new dungeon
generation. (Update happened only on application restart).
- Engine: Fixed a bug in the "Generated Dungeon" list management, so the
application thought that restored chunks still contained dungeons, and tried
to avoid those chunks when searching a dungeon location - maybe this is the
root of the "Choose Dungeon Area" freezing bug.
- Options: Added "hardMinerals" setting, to allow the appearance of the
scattered adminium and obsidian blocks in the dungeon: 0 = allow both,
1 = only adminium, 2 = only obsidian, 3 = none.
- Options: Added "Netherrack" and "Glowstone" in the Dungeon Look value list.
- Options: Added the "Above Dungeon" setting: if enabled the dungeon is built
from the bottom of the chunks to the top. In these dungeons, the number of
levels is roughly doubled. The Marker Pillar is disabled (the dungeon is
clearly visible from a distance...).
- Dungeon: If a door is created upon a glass block, this block become stone.
- Dungeon: When creating the dungeon external cover, glass blocks are used only
if there is an air block on both sides.
- Engine: application compiled with JDK 1.5 compliance, for OSX compatibility
- Engine: solved the mistery of the inactive mob spawners - a wrong check
created only one spawner for chunk. Now spawners are properly added.
- Engine: the chest filling process is repeated multiple times until something
isn't added to the list. If the process fails for 20 times, the chest will be
filled with default items (sword, pickaxe, some food, torches and arrows).
- Options: Added check on dungeonStartXChunk and dungeonStartZChunk values if
the user want to generate a dungeon on a SMP world.
These values are MANDATORY.
- Options: Added a trim() when loading data from config.txt, to avoid
NumberFormatException errors if there are space characters after the parameter
- Engine: Fixed the Chunks Restore process. Due to an issue with the folders
timestamp checks, backups folder were deleted without reason, invalidating
the restore. This method has been discarded, and now I create a marker file
into the game World folder, so the application can check it to understand if
the backup is good or not. The filename is "mcmapper_backup_marker.txt", and
- Engine: Templates are loaded and interpreted via the char-block bindings in
the conversionData.txt file.
- Options: Spawned mobs changed from combobox to list. It is now possible to
select more types of mob. Every spawner will have a random mob associated
(among the user choices).
- Options: Themed Levels are now dinamically loaded when the application starts.
Actually the data is stored into text files in the templates/themed subfolder.
The templates are saved as String arrays, layer after layer.
- Engine: SMP dungeons. It's possible to generate dungeon directly into the
SMP world. Unfortunately the SMP game is still buggy and lacks several
features (no monsters, health doesn't works), so the playing experience is
a bit impaired. Furthermore I have detected more light glitches in
SMP worlds. The dungeon generation needs the starting chunk coordinates
- Engine: Various code optimizations and general little improvements. Several
code updates to manage the SMP folder and data structure.
- Engine: Read Player Position. It is possible to use this features even
if SMP is enabled. In this case, the application will list the position of
all the existing players in the "world/players" folder.
- Parameters: SMP settings. smpPath allow users to write the path to the
folder containing Minecraft_Server.exe and the "world" folder for SMP games.
enableSMP tells the application to switch from the SSP worlds to the SMP one.
- Options: Added a new pane to the main window: Treasure Settings.
From this pane the user can edit the contents of the prizes.txt,
adding/editing/deleting items in the treasure lists for every tier - final
room chest and starting gear included.
- Engine: Fixed the level.dat loading process. After the Halloween Update, new
worlds (with biomes) lacks the snowCovered value, and this caused errors
while loading the data files. I have added a check to maintain compatibility
with the pre-Halloween generated worlds.
- Engine: Updated the items.txt and blocks.txt files.
- Dungeon: Former entrance building has been replaced with a little
semi-piramidal temple complete with tiny underground lobby.
- Dungeon: Altered surrounding area - it should be evident when the dungeon is
generated at sea: a little circular island will be created.
- Dungeon: Added external border to dungeon. Material changes depending on the
block: Air become glass, sand and gravel become rock, lava and water become
- Dungeon: Implemented a "ladder compatibility" check for themed levels, to
surround ladders with templates that prevents glitches (as liquid leaks).
- Dungeon: Inserted a mob spawner to a Gallery template.
- Engine: Fixed doors bearing, now all doors start closed.
- Engine: Prize list format - version 2. The new format is:
tier,id,minAmount,maxAmount. To maintain compatibility with previous versions,
if minAmount is not specified the application will set it to 0.
Warning: every line must have a MAX of four comma characters.
- Engine: Inserted a "starting gear" chest in the entrance lobby. Actual items
are those proposed by Noigren. Gear is slightly casual. Added Flint & Steel
as suggested by Bamboy.
- Engine: Exported the starting gear items list to the prizes.txt file. The
Tier 5 is exclusive for these items. It use the v2 format descripted above.
- Engine: Fixed a NumberFormatException that was freezing the application soon
after the dungeon generation starts.
- Engine: Commented "fillWithPrecious" method (fills chests with coal/iron/
gold/diamonds). Now the filling process is completely based on the
- Engine: Prize list edit: added torches (Tier 0), coal (Tier 1), iron
bars (Tier 2), gold bars (Tier 3), diamonds (Tier 4).
- Option: Fixed the dungeonLook and the spawnerMob settings description.
- Option: Raised the maxDistanceFromPlayer max value from 15 to 50.
- Application: Console version. I have introduced an alternative application
version, that works without the GUI. This should be solve some issue on
Linux. The console version prevent editing the configuration settings
(editing must be made on config.txt file). Once launched the console
version, the user will be asked to confirm the generation process. Then the
dungeon will be created, and the application will quit after another user
input. The console version is activated launching MCmapper from prompt with
the parameter -nogui or -console.
- Application: "Fill" parameter. Only for console version. The user can add a
-fill=X parameter to the command line, where X is the number of dungeons to
create on the world selected in the config.txt file. The generation process
will stop if all the dungeons are created, or if there is no more space
available on the map (considering the maximum distance from player
setting). The number of dungeons will be capped at 50, but I suggest
using lower values to prevent a great loss at performance (intensive
- Application: .minecraft path autodetect. If the config.txt contains no
mcpath setting, or if the value is wrong, the application will try to
autodetect the correct path depending on the local OS. Then it will check
the new path. The check result will be displayed to the user (success or
failure of the autodetect feature). If the autodetect fail, the user will
have to write the correct path in the config.txt file.
- Dungeon: The ladder template is entirely "protected" from template
overwriting. Until now it were protected only the non-air blocks.
- Dungeon: New themed level: the Underfactory (ex-Inferno).
- Dungeon: New themed level: the Abandoned Mine.
- Dungeon: New themed level: the Gallery (suggestion by ChocolateSyrup).
- Engine: Prize list edit. Removed gold tools. Added minecarts, rails, red
mushroom, paper and books (suggestion by Nameless).
- Engine: I have replaced the original algorithm with the new one proposed by
idgarad. Every level has a number of connected rooms, splitted in three
categories. One of these categories it's used to insert several different
"template-rooms". Templates develop vertically to one or two levels
(ladders can extend to three levels if a themed level is involved, as it
was before). After the map generation the application put the ladders to go
down to the next level, a mob spawner template (if requested by settings)
and a number of other templates (that can contain - but it's not
mandatory - other stairs or spawners/chests). The templates that contains
liquids (lava/water) will not be inserted if the user has enabled the
"No Liquid" setting.
- Option: The dungeon rank setting isn't used by the new dungeon generation
algorithm, so it's temporary disabled, and it will be removed soon.
- Dungeon: Visible ladders. I'm trying to "highlight" the location of the
ladders used to change level. I have put a particular wall layout unique
- Engine: Backup/Restore feature. Before modifying the chunks data, the
application create a backup copy in the \backup folder, copying also
the original folder structure. The user can access the feature pane
under Data -> Open Chunk Window, and select a generated dungeon area
from a list. Selecting it will be displayed info about the area modified,
and it will be possible to restore the original chunks, and additionally
to move the player to the spawn position (useful if it was into the dungeon,
underground). Implemented checks on deleting/generate worlds, to prune
obsolete generation data.
- Engine: Rewritten parts of the dungeon generation algorithm to ensure
a minimum size and connections between locations.
- Engine: Dungeon Ladders signs report the block height from the bottom of
- Options: Dungeon size. Now the values range is 2-4 (changed minimum value).
Removed 0 value (random).
- Options: Dungeon levels. Now the values range is 5-15 (changed minimum
value). Removed 0 value (random).
- Options: Vertical features. Chasm chance has been removed - it's now
possible to select the feature to insert from a ComboBox. There's even
an option "none", to skip this feature when generating dungeons.
- Verticals: The Pit. A circular pit with wood platform at regular heights.
- Verticals: The Pillar, A circular pit with a pillar in the centre, with
- Dungeon: Dungeon in water (winter world or oceans) doesn't have the "water"
- Dungeon: Deeper levels have not only obsidian but adminium too in walls
- Dungeon: Deeper chest don't contain prizes of lower tiers.
- Dungeon: The final chest contain prizes of the maximum tier.
- Dungeon: No more cobblestone stairs between levels. They are been replaced
by wood ladders.
- Dungeon: New Themed Level - The Underjungle.
- Dungeon: New items/blocks in chests: Wood, Bricks, Bookshelf, Glass,
Cactus, Mushroom, TNT. Splitted into the various tiers.
- Engine: Various fixes and changes in the dungeon generation algorithm and
in the code that translate the 2D-map into the blocks array.
- Engine: Less "floating" blocks around the chasm.
- Engine: Ore blocks shouldn't overlap doors or ladders.
- Engine: Implemented signs.
- Engine: Various fixes and changes when generating passages between levels
and linking these locations to the dungeon.
- Engine: Fixes on finding the area to dig in.
- Engine: To avoid "tiny" dungeons anomalies, there's now a check on the area
really digged vs the total area size. If the area digged is minimum of
a predefined percentual amount, the generation is repeated after increasing
one of the main layout parameters (number of rooms, length of corridors,
size of rooms). As a result, sometimes the dungeon generation process
could be longer.
- Dungeon: the winning "boss" room chest contains only tier 5 prizes (most
precious). The tier is exclusive of this chest.
- Dungeon: added more chests in every level of the dungeon, for the sake of
- Engine: every themed level will contain a number of chests, up to the half of
the total (horizontal) area of the dungeon (in chunk).
- Engine: exported the prize list on the file prizes.txt, for easy manipulation.
Every line of the file contains a block/item data: tier, id and max amount
found in chests.
- Engine: fixed the appearance of doors and torches.
- GUI: splitted the options on three different panes.
- Parameter: verboseLogs, to lower the log level and write more data on the log
file. Intended for analysing generation failures or crash issues.
- Dungeon: ice walls no more. To get rid of the annoying flood caused by melting
ice blocks, I've limited their presence in the floor level.
- Engine: dungeon enlargement. The number of rooms and corridors will increase
with the chunk area set for the dungeon.
- Engine: themed levels. Certain areas of the dungeon can be destined to
"special" levels with a specific theme.
- Dungeon: winning room. If the dungeon has more than 7 levels, a winning room
is generated on the last level. This room is surrounded by adminium, and
inside one will find several spawners and a hidden chest.
- Dungeon: cobblestone stairs. A further progress in the stairs management. I
have introduced the "cobblestone stairs" block, they take less space and are
a little more pleasant to the eye.
- Dungeon: themed level - The City of Mob. An abandoned place with ruins,
obelisks, columns and strange buildings.
- Dungeon: themed level - The Library. A disturbing maze of books.
- Dungeon: chests can contain weapons, armor, tools and other items. Type of
materials depends on the height of the chest.
- Dungeon: layout of the dungeon is refreshed for every level generated, so it
will be possible to explore levels with little rooms and more corridors, and
other with large open areas - in the same dungeon.
- Dungeon: "diagonal" corridors become enough wide to allow walking.
- Dungeon: cleaned the cobblestone that created the 1-block-wide "mini-chasm".
- Dungeon: the highest block in every level is rock, so torches don't fall to
- Parameter: Added new mobs to the "Spawner Mob" option: Creeper and Spider. The
"Both" choice is now "All".
- Dungeon: Enabling the "No Liquid" option removes ALL liquids from within the
dungeon levels, lava included.
- Dungeon: The entrance and the vertical shafts between levels now have stairs
built of half-steps, so the player must not jump anymore to climb up.
- Dungeon: Checked the chasm creation. It is now the early version, rectangular
with irregular borders, some primitive stone-bridge, down to the bottom of
- Engine: Improved the chunk updating while generating the dungeon.
- Engine: Added a "stone" border along the perimeter of the chunk area
containing the dungeon, to avoid lava and water flowing from external
Minecraft caves (suggestion by mmik).
- Parameter: dungeonLook - set the dungeon "style". Added new types of block:
dirt, adminium, obsidian, clay and glass. Removed wood. Added and after
- Dungeon: Spawner Cages! That spawn monsters! And chests! With stuff!
- Dungeon: Every dungeon has now a "style", that determine the type of
predominant block found into it: rock, cobblestone, wood, brick, mossy
- Engine: Fixed the area search for the dungeon. There was an issue in the
Base36 method I was using for coordinates - I have rewritten myself, and now
it always works (phew!).
- Engine: When generating a dungeon, the application scans the heightmap of all
the chosen area, and takes the lowest value to prevent that sections of the
upper levels get exposed to the surface or submerged by sea.
- Engine: Optimized the chunks files updating.
- GUI: Fixed the "Chunk Info" button behaviour. I have implemented an alert
dialog if a world isn't already selected.
- Parameter: I have removed the "uniformDungeon" setting. I have decided it's
useless to have a not-uniform dungeon (too much chaos).
- Parameter: spawnerMob - Mob spawned from spawner cages.
- Parameter: spawnerDelay - Time required for spawning a new mob.
- Parameter: spawnerInterval - Number of levels between to spawner cages.
- Parameter: noLiquid - Remove all liquids (water, ice, lava) from newly
- Dungeon: Creation of an underground chasm.
- Engine: Logs reorganization to investigate chunks updating issues.
- Engine: Add filesize comparison to verify real updating of chunks.
- Engine: Used File.separator to build correct paths on Linux systems.
- GUI: Added function to show informations about a specified chunk.
- GUI: Added function to read player chunk position.
- GUI: Load/Save Config Buttons moved to top-menu.
- Parameter: chasmChance - Chance of creating a chasm in a dungeon.
- Dungeon: Lower levels have more obsidian than rock.
- Engine: GUI version released. No more JCurses!
- Engine: Added more checks and logs to investigate starting issues.
- Engine: Better parameter management.
- Engine: Basic functionality.
- Parameters: torchesAllAround - Torches are created on a 4x4 grid for better
Thanks for the appreciation! I am not satisfied of the pictures, I will have to pick better screenshots.
Quote from madrick »
it'd be cool if you could incorporate some built-in redstone traps... though i suppose that you would only be able to have a few different traps and that it would get stale.
It's a complex task, nonetheless. But maybe there's a chance for a compromise. The generator I developed can insert predefined features (or you can call them templates) into a map, like a big lake or a little maze or a circular corridor. I am thinking of extend this purpose, so, for example, I could introduce a library room, or a chasm with a bridge, and why not? A room "wired" with a simple redstone puzzle, or trap.
But yes, sooner or later it will become repetitive, unless there are "enough" templates (that is, always more).
Quote from virulentRant »
Looks quite cool!
What language are you writing it in?
The project is written in Java. I have collected information on the map format from the forum, the site and the wiki, and actually the code is a total mess - I will have to organize and optimize everything. I am on vacation (two weeks from work), and I hope to dedicate enough time to release a working version asap.
Remember: the mcPath parameter in the config.txt has to be changed with the path of your local .minecraft folder (C:\Documents and Settings\...\.minecraft\). Otherwise the application launches an Exception while searching for the Minecraft worlds, and writes on the log.
Quote from Chippermonkey »
Starting the application only generates a blank text file with the name "MCMapper."
I suggest to launch the jar from the command prompt: there it has to be some error message that can help me understand the issue.
I have lowered a little the logger level (so it is possible to follow the source flow), and included two more checks. Would you please try to launch this new version? MCMapper v0.1.1
One more thing: do you know what version of Java is installed on your pc?
It seems to me that the JCurses initialization fails. Are you using Linux? Because this library isn't totally compatible with it. Apart from the OS, I'm going to work on a JCurses-free version: my goal is to release it tomorrow. Hopefully, it will resolve this regrettable drawback.
Ok, I spent the evening working on an alternate version, and I have produced a GUI version that allowed me to get rid of the graphic library and the console-style. At least is more user friendly now.
And I hope it will be more friendly with all of you!
It's more streamlined: you can set all the parameters from the window, and there are three buttons: one load the settings from config.txt, one saves the current settings on file, and the third generates the dungeon.
I swear, it starts on my pc!!
Quote from virulentRant »
I think you've got an incorrect file path/missing file in the program.
The error window is confusing enough... THAT is the path of MCMapper.class ... I will check again, maybe that's something wrong that eludes me.
The logs aren't helping too much: now the application quit after the loadConfigData method, and this happens only if it doesn't find the line, in config.txt with mcPath=[etc etc]. Please try with the GUI version. I sincerely hope this matter will be solved soon.