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
Forgive but now as she puts it that when you sink to reappear.
Seems to work on 1.2.5 fine so far. The current version is pretty stable, and since block API is not likely going to change, it will propably going to work for a long time.
Please update this plugin if you have the time, it is truly an amazing feat you have accomplished here! I am amazed at how well this all works, I just wish it would replace ore is all under the newest version...
I am having the same problem as @BBFChaser everytime I try to run the command it says "only console may call this." And also for somereason when I created my map it had a space called "bedrock world" so maybe this is a problem? I just used bedrock_world when attempting the command. I also tried the command in console and it did not work. Can somone please help of @BBFChaser could you tell me how you got it working?
Please update for 1.2.5! This is really useful for when you want to re-purpose blocks.
I made my enderstone a marble texture and want veins of it to be found in mountains.
when will this be fixed for 1.2.5?
Is their any way to remove it from a specific worls?
I can seem to get the command to work every time i type it in it says only console may call this yet it is in my permissions list any ideas?
Nevermind i got it working
This plugin no longer works for automatically replacing ore on newly generated chunks in 1.2.5.
On a new world it will replace ore in the spawn area, but it will not replace ore on any other chunks without running the apply command. Big bummer really, this is halting the release of my server : /
Apply works great still, though, so awesome work there! Hoping for a fix :X
Screenshot Example - all ore should be replaced, but the bottom part of the map is not working correctly, and is just adding ore. I got Terrain Control to fix this, but I seemingly still need to find a way to have ore not spawn by default to help fix this... or wait for an update here.
it would be nice if i could use it on only one world. fix that. please.
If we wanted to just use this for custom ore generation, is there a way to configure it to be roughly the same generation as vanilla MC?
EDIT: Nearly got it down, but how would I change rarity WITHOUT changing size? so I can have diamond and gold veins the same size, but diamond would be 4x rarer or whatever.
Never mind I figured it out, But it doesn't seem to manage newly created chunks players find, so I'm using TerrainControl in conjunction to it, still just the plugin i needed.
default: - block: GOLD_ORE - block: IRON_ORE - block: REDSTONE_ORE - block: DIAMOND_ORE - block: LAPIS_ORE - block: COAL_ORE
this plugin saved my life, I used it to remove all the ore from my world
And i'm also using it with conjunction of Ore-Respawn
=]
I have a minecraft/runescape type world haha
Okay...been playing a little more.
I replaced my custom config with the original one supplied by the plugin, and it works. Put my values in and it still works.
There must be something screwy in the config I had, maybe a tab instead of a space?
The moral of the story...Double check your config first.
I have noticed that a small change in the densitybonus makes a big change in the number of blocks, so be careful with the values.
I have noticed that after using the apply command, there are no coal blocks in my world.
Here's a copy of the config.yml
default:
- block: GOLD_ORE
seed: 35434
density: 0.3
thickness: 4
densityBonus: -0.5
heightAvg: 20
heightVar: 20
heightRel: false
heightLength: 80
densLength: 80
exclusive: false
mode: replace
- block: IRON_ORE
seed: 67436874
density: 0.4
thickness: 6
densityBonus: -0.4
heightAvg: 32
heightVar: 30
heightLength: 10
densLength: 200
exclusive: false
mode: replace
- block: REDSTONE_ORE
seed: 4325483
density: 0.3
thickness: 3
densityBonus: -0.6
heightAvg: 10
heightVar: 10
heightLength: 10
densLength: 30
exclusive: false
mode: replace
- block: DIAMOND_ORE
seed: 98746835
density: 0.3
thickness: 3
densityBonus: -0.7
heightAvg: 3
heightVar: 3
heightLength: 100
densLength: 100
exclusive: false
mode: replace
- block: LAPIS_ORE
seed: 63834343
density: 0.2
thickness: 4
densityBonus: -0.6
heightAvg: 10
heightVar: 10
heightLength: 10
densLength: 40
exclusive: false
mode: replace
- block: COAL_ORE
seed: 543543
density: 0.1
thickness: 4
densityBonus: -0.8
heightAvg: 40
heightVar: 40
heightLength: 200
densLength: 500
exclusive: false
mode: replace
<3 Finally minecarts have usage :D Before making railway into mine has no sense, because of too small veins. Now I can make mines, railway systems, etc :)
I really appreciate your work. I thought about such plugin but I was not sure if I can write such one with good performance, and now I find out that you have already done vein plugin :)
Good work :)!
@Pandamatak: Basically yes, but they will also be spread completely randomly, not forming any veins at all, since the actual vein size will be 1. Also it's not guaranteed that the won't be two diamonds next to each other - the algorithm is purely random-based (it's actually a noise generator). @mammothmkiv: By setting density to a huge number, you will set the chance of block spawning in the vein area to 100%, which will fill the entire area fully. Obviously you need to adjust other attributes, otherwise ores will be basically worthless. @LucidLethargy: Thanks, always nice to hear that :-)
I LOVE this plugin, and it's just about single-handedly re-igniting my interest in hosting a server.
Edit: I'm an idiot, there was never a problem. I deleted my comment about the issue I was having. This works PERFECTLY on the dev build of 1.2.4!
Is there any way to generate one block to another like normal generator does, e.g. stop block spreading?