Mineral Vein
Mineral Vein changes the way ores are generated. Instead of lots of small, randomly placed deposits, several huge veins will be generated.
Source
MC 1.2.3 - As of MV 1.4.1, config.yml is used instead of veins.yml. The format renames the same, only name changes
Technically, Mineral Vein adds new BlockPopulator that removes all previously placed ores and generates new ones. This ensures compatibility with any other world generators, including the default one.
Veins
Veins are vast, rare areas, that are rich on particular resource. These veins are multiple chunks wide and long, their respective resources don't exist outside them. Veins aren't made completely of given material, it's just very common there, and often multiple veins of different materials overlap. This ore distribution changes mining for resources completely - you have to scout wide areas for a vein, and when you finally find one, it can supply you for quite a long time. In general, the average density of resources/chunk is simillar, but the distribution is changed completely.
Converting old worlds
By default, the plugin works as world generator and only affects newly generated chunks. However, you can force it manually to apply the algorithm to any chunks that are already present.
The command \mineralvein apply <worldname> [x] [z] [width] [height] will apply this to the selected world. Run this command just once after installing MineralVein, then you don't have to run it at all. By default the command is accessible from console and/or anyone with "MineralVein.apply" permission. (since you need to run this command exactly once, you propably won't need the permission at all.
The numbers default to 0,0 (center) and 200x200 chunks around it. If your map is bigger, use appropriate setting (widht corresponds to X coordinate, the value is in chunks).
Configuration
All variables used in ore placement can be set in config file.
worlds: default: - block: GOLD_ORE seed: 35434 density: 3 thickness: 4 densityBonus: 0 heightAvg: 20 heightVar: 20 heightLength: 80 densLength: 80 exclusive: false #biomes: [forest,swampland] #exclude_biomes: [desert] mode: replace heightRel: false
Each item of the list represents one "layer" that is generated. By default, there is one layer for each ore type, but there can be more.
seed is a unique number for each layer. If you want to create a layer with two different ores, that always uses same space, just use the same seed.
density is a chance multiplier. Higher density means more ore
thickness is vertical size (actually it's distance from the center of the vein, in which the ore can spawn, so it's one-half of the actual thickness)
densityBonus -the density in an area is determined using a random generator, that gives values between -1 and 1, where 0 and less represent no chance of ore spawning in given location. Giving a densityBonus of 1 will represent in this layer to be filled with resource everywhere on the map.
heighAvg is the average height in which this layer can be found
heightVar is the random portion of heigh, the actual heigh goes from avg - var to avg + var (in the example, setting of 20/20 would result in layer beeing between 0-40)
heightLength is distance in blocks between height definition points changes (higher values -> less frequent height changes)
densLength is distance in blocks between density definition points changes (higher values -> bigger, rarer veins)
exclusive parameter makes sure no other veins appear if this one is present (technically, it descreases their chance by the density of this ore here)
biomes is a list of biomes this vein can appear in. If this parameter is NOT present, it appears everywhere.
exclude_biomes is a list of biomes to be excluded from the list (logically this should be used when biomes option is defaulted to all)
mode allows to turn off replacement (by setting mode to "add") - this vein will just add more blocks, without removing the old ones
heightRel changes the behavior of heightAvg and heightVar. If set to true, those two will be treated as fractions of maxHeight at current position (heightAvg+-heightRel will result in a number between 0 and 1, which will be then multiplied by actual height of terrain on that position)
Changelog:
Version 1.3.7:
- Now supports ANY id, even non-existing ones. Useful for MCForge-added blocks (e.g. Industrialcraft)
- Version 1.3.4:
- Version 1.3.4:
- Two new config options - mode and exclude_biomes
- Fixed bug with using same noise generator for height and density
- Fixed apply command
Version 1.3.3:
- Fixed crash for config files that don't have "default" world setting
Version 1.3.2:
- The "Apply" command is now executed in separate thread, and worlds can be referenced by their index (failed command will display list of worlds and indexes)
- Huge changes in default config file, hopefully for the best
Version 1.3.1:
- The "Apply" command now works much better and safer
Version 1.3:
- Added exclusive and biomes parameters to config
- It is now possible to populate already existing worlds
Version 1.2:
- Added heightLenght and densLength parameters to conf file
Version 1.1:
- Fixed bugs, switched to in-built Noise generators for better results
Version 1.0:
- First release
Still recommending this plugin, even years after its last update, it's still compatible with 1.12 !
It doesn't require an update in itself... it's fully functional in 1.8 and 1.9 eventhough it doesn't get any new features anymore... But knowing that it still works years later probably means that it'll work even more
I will be watching for an update, this plugin has always been a nice accent to traditional mining.
Seeing as @M0rt1mer hasn't been online since January, I have the feeling that he won't respond to any tickets or requests to continue the plugin. Are there any ways somebody can still continue the plugin if there is no response (bukkit-approval wise, as others have pointed out the license allows it)?
Truth is, I was looking for a plugin that did just this and you can imagine my excitement when I actually found one.
Also, why wouldn't it be multiverse compatible? I'm not too familiar with bukkit (our server admin handles most of it), but couldn't it just be applied to each world individually (worst case scenario, pre-generate each world as a main world and then compile)?
I really love(d) this plugin.... I'm not an important person or the owner of a large popular server, but it held its place as an integral part of the server I DO run. I would love to see this continue. The time it takes to maintain this plugin will be greatly appreciated and would not go unnoticed.
-Scott
@Szperak
@MoonStorm78
Any chances either of you will update to 1.6.2?
@Szperak
Thanks Szperak for continuing this plugin. It makes Minecraft way better and is very fast.
Not sure how the Bukkit team will react to releasing someone else's work, its license certainly allows you to. On this page, this is a bit concerning:
"You should not continue someone else's plugin without permission. We ask that the original author to sends us a message communicating that you are allowed to continue a plugin before you make a new project. We would, however, prefer if the original author added you to the original project instead. Plagiarism will not be tolerated. "
Its home is on Bukkit, so let's ensure it stays here, either in the shape of this project or a new one created by you. Either send M0rt1mer a PM to include you in the contributor list, or if you can't reach him ask on the Bukkit forum or one of the admins about the exact nature of their policies with regards to inactive projects. From the same page:
"Every so often staff will go around cleaning up the Projects List and your project might get hit and marked as inactive or unsupported if you haven't updated it within a reasonable amount of time. "
I have ported this plugin (and fixed main error) for bukkit beta r2 1.5.1.
Download: Staff edit: removed external download link (compiled with java 6 (?) )
I hope chunks won't generate at half-height (or something like this) and ores should be generated by MineralVein at all. There's a new command i've added: /mineralvein gen My actual jar and link (for this day) is only a placeholder - there is still (in this version) a bug with command /mineralvein apply. I'm going to develop on bukkit dev. Maybe i'll continue work on this plugin but when M0rt1mer agree.
Sorry for my mistakes in this message, i'm Pole. :)
I see much potential in this Plugin, i've heard about it from another server owner and we will probaly use this plugin if the co-owner agrees. Anyway the feedback from other owners wich use this plugin is just fine :) Enough to convince me to take a look.
Keep up the good work!
I am sad to see this pluggin go. If it had multi world support it would have been perfect.
Could someone please tell me how to use block which are printed like this: 6:3 in the config? Using it for redpower2.
There is some sort of good news for the future of this plugin. I've been busy working on a new ore generation plugin, however the concept is different.
I thought I could reuse some code from this one, but in the end I had no choice but to start from scratch. If you could visit my page and give it a go, please do so. CaveOreVeins
Sorry Starwaster haven't been monitoring this thread for a while. I'll give it a go tonight.
Update: Compiled in Java 6 and tested with CraftBukkit 1.4.5. (couldn't find any problems with it still): Downloads
nytemare3701, could you send me a message with the stack trace? I'm not familiar with MoreMaterials, but I'm guessing that plugin relies heavily on the combination of block id & block data, extending the meaning of the latter.
Update: Looked at the MineralVein config parser and it seems it requires the custom block definition in the following format "id-data".
@MoonStorm78
Seeing as you are the only one who has any experience with the code, I'll ask you: Any reason why a MoreMaterials block returns a nullpointer when used? Using Block-Data or Block:Data give "invalid format", while using just the ID from the itemMap gives a nullpointer.
Someone needs to get the source code of this and start working on it for 1.4 The original creator hasn't been on since may.
Will there be any further official support from the author?
Or, failing that,
Moonstorm would you please recompile against JDK 6? Not even bukkit is being compiled with the latest java and not all server hosts are using it. I opened a support ticket with Servercraft but I don't know if that's going to go anywhere.
Edit: They replied back and indicated that there were securityrisks with java 1.7: http://www.webpronews.com/java-gets-hit-with-a-zero-day-exploit-2012-08
Possible to use to reduce vein amounts of ore? Im trying to do a Fallout type map with limited ores which will make it harder to earn diamonds.
How can i leave diamond ore in my world?
Forked this on GitHub to fix an anomaly on the latest version of Craft Bukkit (1.3.2 R0.2). The apply command was never ending. I have also changed it so now it uses world coordinates rather than chunk coordinates. Btw, the config file accepts EMERALD_ORE as the new type of ore with this version of Bukkit.
Download Link
Is there a way to make it only function when I tell it to? Because as I understand it will generate for my standard worlds by default.
A per world configuration would be really nice.