Resource icon

An easy way to create a "Dynamic Mining System" 1.2

No permission to download


Gargouille submitted a new resource:

An easy way to create a "Dynamic Mining System" - Very simple

Uo is not geologicaly RP, as at the same point a GM-mining player can found gold, when a beginner just found iron.
Mining was just so boring, I decided to make mines spots of specific ressources, forcing miners to travel the world to find good places, instead of always digging the same tiles...
And planed to place better spots far deep in dangerous dongeons ^^

Mining system is always the same single static instance, everytime, everywhere. Let's have multiple instances of a...

Read more about this resource...


Interesting way to go about this, for sure!

Ultima Online use to be this way, in that there were set locations to the various Ore's around the world. It worked something like.. At the beginning of the Shards birth, there were so many locations that could be found for each type of ore, and as players mined around the world, (depending on skill level to each ore) once a player dug up say Gold Ore at a location, it was then always found at that location. When the Max amount of locations for each ore was found, that was that.

This is why there use to be rune books that had Ore locations to the different Ore types, and now are useless because OSI changed it to allow any ore to be found at any locations for the most part, depending on mining skill alone.

I have always liked the location based system better, and never understood why they changed it. I suppose to just let it be easier for the players.. (nerfed)

Good job, thanks for sharing!
good job on this mining system just some ideas ill throw out there to maybe remove that invis npc maybe use region control for mining that's what I was going to make for my server where I can just make a region where only gives iron or a region that only gives copper ect.. or even you could do the wow style mining and make Nods just some ideas.. but good job on this keep up the good work


Thanks all,

I work with an admin that hates creating regions in game, whatever the tool he can use, using just location and range seemed the easiest way to define area without westing time, that's why I take a (pseudo) Mobile...

But of course, the goal is just to attach a HarvestDefinition to something, and region could be used (as I do in the first times)


sorry i have a problem with this script and one question.

problem: if i click on PROPS--> ORE TYPE and select valorite from my backpack remains IRONEORE ....
I would like to come out the list with all oretype
question: I would like the minespirit leave the ground under him a xml spawner . how you do ?
thanks and +++ karma for you


Hi , really can't say anything about xmlspawner and the minespirit, as I, for along time now, just use coordinates spots to define my ores.

But for the second problem, look at line 24, IronOre is set instead of BaseOre. Try with BaseOre...


I know this is a older thread, but I have a question. How would I go about making it work with shovels. Since its currently set up using BaseAxe and the Shovel throws the error that it can't be changed over to BaseAxe.

+Items/Skill Items/Harvest Tools/Shovel.cs:
CS1502: Line 30: The best overload method match for 'Server.Engines.Harvest.DynamicMining.GetSystem(Server.Items.BaseAxe)' has some invalid arguments
CS1503: Line 30: Argument 1: cannot convert from 'Server.Items.Shovel' to 'Server.Items.BaseAxe'

Should I just add the shovel into BaseAxe? Any suggestions?

Otherwise amazing work! I checked it out without the shovels and its awesome!


The easiest way, I think, is just to ask Item as argument in GetSystem method.

So in DynamicMining.cs,

Change : public static HarvestSystem GetSystem(BaseAxe axe)

With : public static HarvestSystem GetSystem(Item axe)
Last edited:


Well item would work but could potentially leave issues with other items.

If you would go with that approach I guess I would use IUsesRemaining
GetSystem(IUsesRemaining axe)

Also maybe it would be nicer to change axe to tool / harvesttool / harvestTool / ... :p


As GetSystem will only be called by Items which declare DynamicMining.GetSystem(this) as their HarvestSystem, there's no reason to have issues.

But your right it is not the nicest way.

Maybe the good way could be

- GetSystem(Item tool) and then some tests => if(tool is BaseAxe) etc...

- or several GetSystem methods, using different types as argument


Well lets assume you just half implement a new tool ;) it has the harvest system set up right but you forgot to add the interface IUsesRemaining on the tool itself, now it tries to lowers it uses, but those do not exist

---> Crash :p
I mean proper programming can handle that too sure but less risks of errors like that is good in my opinion. But you are right too, your way works fine too.


Hi, new to ServUO, Would it be hard to place these randomly preconfigured around the world? I want to mine and not know exactly where all the spots are.

Also, do you have the script that makes this work with shovels, or know of a better script than this to have static mining spots? I'm still not that good at the C# scripting yet, thanks.
I know this is an old script but, when I try to mine where the elemental is, if I mine him, it shows up as
"You have added Server.Items.Goldore" to your pack. Is there any way to fix this display?


Gold Supporter
Question. I don't know if anybody reads this thread anymore. But, if I turn on this script am I limited to where I put the minespirit for ore, or can I have ore placed by the server and then add on to the already placed ore using mine spirits?