MinePlump – Minecraft Resource Plumpifier
MinePlump is a program that will find mineral veins in an existing Minecraft Beta level and, well, plump them. There are a few tunable parameters, so play around with things until you think you are getting a good result.
Read on for the download link and usage instructions.
UPDATE 2011-10-02: I am focusing on MineCraft for the next couple weeks. Hopefully I will have 2.0 released in this timeframe! Also the code has been moved to Git, and can be found at: http://git.thogan.com/mineplump/
Let me know if you are interested in contributing!
IMPORTANT COMPATIBILITY NOTE: I have not tested the old MinePlump available here since 1.5. Use at your own risk, BACKUP YOUR WORLDS!
UPDATE 2011-06-05: I have made a lot of progress on a major update to MinePlump. Wiring all the new code together has been delayed though, as I have been in the middle of moving. Here is a progress update:
- Identify veins accurately. DONE! The logic and in-memory data structures are extremely accurate now! Deposits can have irregular shapes, overlap, and exist across chunk boundaries!
- Plump or sprinkle options. DONE! Mineral quantity and frequency can be scaled bi-directionally now! These values can be set explicitly or as a multiple or factor of the number of minerals already in the map.
- Post-plump analysis. DONE! You can get a graph of minerals by level by type, minerals by frequency per chunk, and simulated mining analysis! The simulated mining is epic, it will pick a few places in the world, simulate row mining at common depths, and report yields by mineral per 10 minutes!
- Parameters tunable by mineral type. DONE! Each mineral has it's own set of parameters. AND these get saved with the plump log now, and can be exported as XML and loaded for use on another map!
- Clear and start over. DONE! Actually this feature is a by-product of the way the new plumper works. It will either use existing mineral deposit coordinates as a starting point or pick coordinates at random. It was simple to add a clearing pass that removed everything first.
So, why isn't the update posted yet if all this is done!? Sorry, the boring parts still need to be tied up. Getting the GUI to invoke the whole process, error handling, making sure the cache flushes updates properly, other stuff like that. Feel free to check-out the source from subversion and peep all the new features, but no guarantees on what will happen if you run the program from trunk
.
UPDATE 2011-05-06: I have a nice quiet weekend with nothing going on coming up. I will be taking the opportunity to make some big updates to MinePlump:
- Identify veins more accurately, to reduce the number of large deposits that conservative plumping creates (2x2x2 still creates very large deposits sometimes)
- Plump or sprinkle option, make veins larger or sprinkle more veins of target size around the underworld.
- Post-plump analysis. Because I am likely to mess up the algorithm somewhere, and because it would take more time to make perfect than to do this other thing, I will be writing an analyzer that verifies that the map's mineral deposits now correspond with your input parameters. If it finds errors in this second pass it will attempt to correct them.
- Parameters tunable per mineral type! Also, I will save the parameters in the plump log so that when you open the same world again your params come back.
- If I have time left, I will add a underworld clear and re-create function.
UPDATE 2011-04-22: The beta compatible update is posted and I have tested it with 1.5_01! Come and get it!
UPDATE 2011-03-21: MinecraftForum user crackedEgg (Michael Sheppard) has updated MinePlump to support the new region format! I will be compiling his updates and updating the binaries as soon as I can. Thanks Michael!
Downloads
BEFORE YOU RUN MINEPLUMP BACKUP YOUR SAVE FILES!
There is no undo, other than copying back your save data from a backup.
![]()
Launch MinePlump with Java Web-Start - MinePlump released under BSD license, see below.
Get the latest source code from Git: http://git.thogan.com/mineplump/
See what's going on in the code repository here: MinePlump Gitweb
The NBT I/O code I took from here: http://www.minecraftwiki.net/wiki/NBT_class. My code is hereby released under the BSD license. This means I don't care what you do with it, and I am not liable for any damages that arise from your use of it. See the full license at the end of the post.
Contributors
- crackedEgg (Michael Sheppard) - Beta support, bug fixes
Bugs
- Mac users have reported some issues. Unfortunately I do not have a Mac to test on, so if a Mac user wants to grab the source and help me sort this out that would be great! Several Mac users have reported no problems, others have reported that it does not start.
- Blocks change to minerals when they are visible in some instances, even if the flip visible blocks options is deselected. The alogrithm that examines a block to see if it is visible only looks for air in adjacent blocks. Torches, minecart track, redstone wire, and other blocks that allow adjacent blocks to remain visible are not detected properly.
How To Use
- Go make a backup copy of your Minecraft saves directory.
- No really, go make a backup, you cannot un-plump.
- Click the Open button. MinePlump will try to show you your saves directory automatically, but this has not been tested yet on non-windows platforms.
- Select the level.dat file from the world you want to plump.
- After the world loads, the path to the world's directory and the number of chunks it contains will be displayed. Also, all the plumping options will activate.
- On the left, select the resources your want plumped. Then select whether visible blocks should be included in the plumped veins.
- In the middle, set the order of the plumping. Minerals listed at the top get first dibs on turning non-mineral blocks into new mineral blocks.
- On the right, set the target vein size. To figure out what a vein will yield at a give size, calculate width * depth * height.
- Set the minimum depth. Only veins at or below this map level will be plumped. The default is 45, safely underground for most cases.
- Click the "Plumpify!" button!
After the progress bar fills, statistics regarding the operation will be displayed in the text box at the bottom of the window. Either that, or a bunch of dialog boxes will pop up reporting exceptions, but I have almost all of those ironed out now.
Remember this is really new, it doesn't bend over backwards to make sure your parameters make sense. Some inputs will destroy a map, PRACTICE ON WORLDS YOU DO NOT CARE ABOUT! BACKUP YOUR WORLDS!
License
MinePlump
Copyright (c) 2010 - 2011, Thaddeus J. Hogan
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the Thaddeus J. Hogan nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
January 19th, 2011 - 10:51
This tool was fun and helpful; do you have any plans to update it for Beta 1.2 and/or beyond?
January 24th, 2011 - 12:23
Yes I have some tentative plans. I want to incorporate the new block types as well as add some options to allow for several different mineral reorganization strategies (as has been requested by others). Ultimately though I really want to combine this with a mod that will affect terrain generation in game as well as this tool to modify existing chunks. This will be a ways out as I have a lot going on right now, but it is definitely on my todo list.
June 5th, 2011 - 11:29
Hello. I’ve been using this tool for quite awhile, and it’s been a very handy tool to have in addition to my other minecraft tools. I do have a couple feature recommendations if you are interested in adding more to Mineplump:
-Ability to redistribute ore into new layers (you would define an upper and a lower boundary, and then the frequency of the ore)
-Ability to “plump” just a very small amount. I do not know if this is possible currently, but I would like to be able to plump and have just 10-30% more ore. Being able to make the ores appear more commonly would be nice as an alternative to having large veins of ore, but I do not know how practical that is to program.
-Ability to add custom ores. Right now I am playing with Industrialcraft which unfortunately rules out my chances of using Mineplump, as the custom ores are not plumped in unison. It would be excellent to be able to change the frequency of these custom ores as well.
Mineplump is a fantastic program as it is – these are just suggestions if you want to give it a big update. I’ll continue using it on my vanilla minecraft maps for now.