MineColonies

MineColonies

57M Downloads

New Worker: Blacksmith

pmardle opened this issue · 12 comments

commented

The Blacksmith is a key worker for producing tools.

The blacksmith should be able to produce all tools needed by the other workers. (including for now armour and weapons)

The Blacksmith will need to be supplied with coal, sticks, wood, cobble, iron ore, gold ore and diamonds.

I think the blacksmith should work the same as the old blacksmith, in that he tries to maintain a constant inventory of 1 of each tool in his chest at all times, so 1 shovel, hoe, axe, pick, sword etc. and shall make it from the best quality of material he can.

Within the GUI of the chest, we should allow the player to toggle on/off production of certain materials of tools/armour etc.

So options for
"Wooden Tools" Yes/No
"Stone Tools" Yes/No
"Iron Tools" Yes/No
"Gold Tools" Yes / No
"Diamond Tools" Yes/No
"Stone Swords" Yes/No

etc
etc.

In addition the Blacksmith should receive and smelt ores into ingots, again, with a GUI option to set HOW MANY he should maintain in his inventory (0-64)

So if set to 0 Iron, the D-Man should deliver up to 1 stack of Iron Ore, but the Blacksmith will not use it.
If set to 32 Iron, the D-Man should deliver Iron Ore, which the Blacksmith will smelt to create 32 iron which will stay in his inventory (or be used to make Iron Tools if enabled) - D-Man should replenish the raw resources to ensure there is always raw materials available.

Worker level can influence the speed of creation of each item (10 seconds at level 0 -0.15 seconds per level (3 seconds at level 50)

The Blacksmith Hut's Level can influence the materials he can use.

Tools
Wooden at Level 0
Stone at Level 1 (and can smelt Iron)
Iron at Level 2 (and can smelt Gold)
Gold at Level 3
Diamond at Level 4

Armour/Weapons
None at level 0
Wooden Swords at level 1
Stone Swords, Bows & Arrows at level 2
Iron Swords, Chainmail Armour at level 3
Diamond Swords and Iron Armour at level 4
Diamond Armour at level 5

If D-Man takes a tool/weapon/armour to give to someone, the blacksmith will then replace it automatically (assuming he is enabled for that tool) - so if an Iron Axe is taken, he should try and make an iron axe, unless he has no iron, or iron tools are turned off, in which case he should try and make a stone one..

commented

I would love to see some integration with Tinker's Construct. If it's installed, at higher levels he builds a smeltery and can build the tools and weapons provided by Tinkers.

commented
commented

Anything that interacts with other mods really MUST be a separate Child Mod that can be installed if required, but is NOT part of standard Minecolonies..

commented

@pmardle I disagree. Adding optional support for other mods (without breaking if they won't be there) is totally fine and we already do that for Tinkers Construct

commented
commented

With regards to the Leveling system.. You could make it, so if his skill level is really low, he makes weapons with very little durability left.
So if you have a level 5 blacksmith hut, but a 0 skill level blacksmith, the dimond weapon would have like 5 hits left.. (EG, basically wasting the item).. But restrict him to only making wooden/stone so his skill level increases and then allow him iron and so on and so on.
Can also have him have him play around with gold and have an unfortunate smelting accident. Gold Winky might be a little much though.
image

commented
commented
commented

Hello everyone, I decided I wanted to participate in developing this, but I don't have much of a coding portfolio. ( still a student) For the most part, the Baker uses a lot of the same code required to build a blacksmith, so I plan on using that as a template to get a rough build, then hopefully putting my branch up here as part of an application.

commented

@ColonelJN you could send me your email and I can invite you to our development channel so we can talk about some more details

commented
commented

Alright since Blacksmith is already coded.
I shall close this. If needed then please re-open and comment on why.