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
1.3.8 on cb 1337
i think that "mode: replace" dont work fine. When map is generating by server for fist time "Preparing spawn area:" - it's OK but, when i moving in game and map generates on fly - there are vanilla ores and veins at same place.
And is it posible to place only 1 vein of ore per custom distanse? For example: Coal ore veins must be not closer than 300 blocks (or some variable or even distance range).
@EdGruberman +1
I can confirm that 1.3.8 works fine.
There was a critical issue in 1.3.7, 1.3.6 works fine, or use 1.3.8, that works fine too. urantivirus: try using the world ID (a number between 0-3), you can somehow get the list from the plugin (by putting in wrong world name). I am not sure what you can or can't put in, I use standart bukkit interface, that already parses the string somehow
@manyamile Same problem here with 1337. All kinds of ore veins over the surface.
Are you not allowed to use underscores with this mod? I'm trying to use the command... /mineralvein apply illegal_haven 0 0 215 215 I've tried with commas and brackets or the back slash just for the hell of it. But I only get... "\mineralvein apply worldname [x] [z] [width] [height]" Well with the back slash, of coarse, it just showed up in chat. I can take the underscore out of the map name, but it'd be a lot of work.
@bormoshka
I tried a fresh map and wasn't able to get Minecraft to run at all on server restart. No worries though. I wasn't expecting everything to work given the current state of bukkit for MC 1.0. I'll check back in a few weeks and look as refreshing the map then.
M0rt1mer, thanks again for making this outstanding plug-in!
@manyamile
Same problem. On cb1337. But and old ore not replaced.
@M0rt1mer
"Don't worry, it only places ore over stone (however natural and player-placed stone can't be distinguished), other types of blocks are safe."
I spun up a new map last night with Minecraft 1.0, bukkit #1550, and the latest versions of WorldEdit, CommandBook, WorldGuard, PermissionsBukkit, and LWC. My last step was to test MineralVeins with bukkit #1550. After running the apply command, I got some interesting results.
Edit: after doing some exploring, there are mountains of coal like this. No other ore seen above ground like this so far.
You can create a world-specific settings, but not per-vein, you have to change the entire setting for the world. Just change the default in config file to worldname, then copy-paste for another worldname.
Is it possible to remove a ore - lets say diamond from one world and not on another? (multiworld)?
Don't worry, it only places ore over stone (however natural and player-placed stone can't be distinguished), other types of blocks are safe. I shouldn't mess up/change anything else.
SirMonsterSlayer: Ores now appear only in veins, however you can have multiple veins of a single ore type, and the setting allows for seemingly random distribution (with low densLen and heighLen you get results simillar to vanilla ore placement).
EdGruberman: What you speak of is propably impossible, as I use Noise generator to place ores, meaning that the shape of the ore is a result of some calculations with world seed and column coordinates. It has some obvious advantages, for example it can generate half of a vein at one time, without creating any steps. Proximity to blocks would be possible, but it could greatly affect performance.
@EdGruberman
+1 to this! Great idea.
Also, this plugin seems great (Although I haven't tried it yet), does the feature to convert old worlds mess anything up (Like terrain generation, or player-built structures)?
EDIT: Also maybe a reload command? :)
Brilliant idea. Now, if only you could key in on land formations beyond just biome. Say, the ability to place a vein near other types of blocks even? For instance, having clay veins appear more often/only near water and dirt.
Perhaps even the ability to adjust the shape (circle/oval/linear) of the veins?
It would be awesome to have minerals follow some logic to emulate a more predictable geology to the Minecraft world if a player spent time analyzing the area to determine the best places to mine/explore.
will it overwrite unnatural blocks ? like stairs ? or tracks ? redstone ? Just would like to know if it "pastes over player built structures" basically ;)
Oh and will ores only ever appear in these veins ? or is there an option to let minimal amounts of ore to spawn somewhere random ?
I plan to install this today for a new Hardcore server I'm launching. This looks like a great addition to the server!
Update: Fantastic! I'm still tweaking the settings in order to get the distribution how I want it but this is an excellent mod. Well done.