Rise of the Artisan
Have you ever wished that your server's economy could be more diverse?
What about giving your players a better reason to trade amongst themselves?
Or have you ever thought "Boy I wish the crafting system in Minecraft allowed for more diversity."?
Well, boy oh boy, do I have the plugin for you.
Introducing: Rise of the Artisan.
I persoanlly have always wanted a better reason for player cooperation in SMP. But with everyone being on the same level in the sense of crafting ability, this isn't really too possible. This plugin was inspired by a post on the Plugin Request forums here on bukkit.org by MasculineBulldog and subsequent posts on that thread by Zarius.
How the new system will work
The basic idea is this: you decide that you really enjoy blacksmithing, so you decide that is what your craft will be. You figure you will probably need a forge for smelting your metals, becuase, let's face it: a puny furnace isn't going to do you much good if you want quality!
So, how does one go about making a forge? As for now, it is a multiblock structure (to be exact the current design is 3x3x3) It is built of a minimum number of stone bricks (stairs, slabs, or full blocks all work, woo customization!) some empty blocks, and at least one lava block. In the current system, the lava block is placed last and this performs a check to make sure you have made a valid structure.
Once you've got your structure built, you're on your way to making quality weapons and armor! First off, right click on any block of your structure, and up will pop a familiar interface. "Wait, this looks just like a normal furnace, why'd I have to build this stupid thing?" you might ask yourself. Well, You won't just get plain old iron ingots from this forge. Oh no, you get white hot ingots. Sure, they look the same, but what you do with them is different. You can proceed to do a few things with these.
You may temper the metal to make it stronger and have better effects on the wearer/user once you have your end product. (The tempering process has not been completely thought out yet... Suggestions are always welcome! I'm by no means a blacksmith or a historian on antique blacksmithing techniques.) Once done with the tempering process, you now have a better iron! Sure those savages next door can still make iron using their embarrassing furnaces, but in the end, you've got a better sword/chestplate/whatever-you-made. And the "enchantments" show it.
"Enchantments?" you say? Well, in a sense, yes. Your end product will have very weak enchantments on them, free of any exp use. Usually these will only consist of level one, or rarely level two enchantments. But, as you work on your craft, you will become better and better and produce higher and higher quality items. This results in getting better buffs on your products.
TL;DR Make armor/weapons with small buffs on them using your forge or your craft's relevant structure, and improve your craft level to improve the buff on your items.
Of course, there will be many more crafts than just blacksmithing. Leatherworking, enchanting, and jewelry are just to name a few.
Here are a few pictures to show what I mean by multi-block structures and how a forge could look. The look of the furnace is very customizable, you can make it out of many different blocks (allowed/disallowed blocks can be changed in a config).
I apoligize if this description lacks beauty with its formatting, but It's 10 after 3 in the morning at the moment, so I somewhat hastily wrote this so I can get some sleep. :) I hope you are as excited for this idea as I am, and please feel free to comment any ideas/suggestions/questions and I will do my best to get back to you about them!
@usevalue - That does sound like a fantastic idea, although I feel that limiting someone to a specific design kind of defeats the entire purpose of Minecraft for some: the creativity! I may add an option later in development for something like that though.
@Drew_Man66 - Unfortunately I haven't gotten much work done on this plugin. I started it just before my sophomore year of college kicked off, and I haven't had much time to work on it since. I don't have anything in game to show for this plugin at the moment...
If there are any other developers out there I'd be more than willing to pass this off to them. I'd like to help where possible, but I'm probably not the best man for the job. :)
You should make a vid.
Heya, hope this gets off the ground. Have you considered using Worldedit schematics? That would make it easy for admins to set up custom machines. Paired with scalable bonuses, this could lead to things like heavy industry (i.e. a giant construction requiring many valuable materials, and perhaps extra fuel requirements, but providing terriffic bonuses).
@wasabi_warrior
The structures in the screenshots don't really "know" its a structure, because I haven't implemented all that stuff yet, ;) but I was just showing what a forge might look like and what would make a valid/invalid structure.
the modular addons could be something like that, or possibly entirely separate structures themselves. In my opinion I think they should be allowed to be placed entirely separate, because if you allow them to be separate, you can most definitely still place them as addons to the forge itself. I may also make an option in the config to require them to be placed directly next to the parent structure later on.
I believe I did allow a furnace block to be used in the building of a forge, but I don't think its entirely necessary. I will just save locations at which there is a registered forge, and listen and wait for a player to interact with a block that fits one of those locations. When they do I believe its possible to bring a GUI up. If this isn't possible with the bukkit API, then I may be forced to require a furnace as well.
You make a good point, I actually haven't thought of that, but I believe that if I have saved locations for all forges on the server, you can wait and listen to see if one of the blocks has been destroyed in that location. I think that I would rather do a check on the entire structure to see if the forge is still valid when a block is broken, rather than un-register the forge after one block is broken.
Oh no, I don't mind that at all! Please feel free to mess around with designs for whatever you like! As I said, I'm always open to community suggestion. :)
Great. I love the screenshots, looks fantastic.
Does the 3x3 structure somehow know that its one? Perhaps the modular addons could be like a 1x3 which attaches on the side of the building (e.g. you click with your wand item on a modular setup -> checks requirements for module -> check to see if attached to the correct base -> increases base output level).
I had imagined (and these are entirely suggestions, please ignore at your will) that the forge would include a furnace block for the interface, but just alter its output for valid items. Not sure how possible that is at all, or if its completely redundant.
Also, have you thought about how to dismantle a forge? How often will it do checks to see if the structure is still valid?
Would you mind if I just mess around with a few 'module' layouts or structures for other buildings, and perhaps send them through to you to jog some ideas?
@wasabi_warrior
The idea is to stick with bukkit :) Maybe in the future a mod would be up my alley, but I think I'll wait for the official mod API (if/when that happens...) to make an official decision on that ;)
As for multi-block structures, I am planning on having the user right click with some arbitrary item (maybe a bone, or blaze rod or something) in 2 places in the same fashion as the wand in WorldEdit, to tell me that they have completed a structure. (Structures will just be sets of vanilla blocks of course!) And then I go and check to make sure it matches the requirements. If it does, voilĂ , you know have a forge!
For simplicity's sake, and in the hopes of getting this thing done in the next year (joking! hopefully its not that long!) I'm sticking with multi-block structures rather than whole buildings, but its something to look into, because I'd prefer a player to have to make a decent investment into their artisanship, so as to deter players from doing everything! I might make an option to require a beacon to signify your structure is complete for those who are more hardcore. ;)
But for now, the requirements for a forge are:
For other structures, I'm unsure for now. I will think of them as I go along more than likely, and I'm always open to community suggestions, so if players like you have any ideas, I'd love to hear them!
As for the state of the plugin, its still currently non-functional. :l I'm working on setting up the configs, and reading them in. Structures will be highly customizable. Options in the config allow the use or disuse of blocks that would (somewhat) logically be able to contain some form of heat. So I didn't include dirt, wood, grass, stuff like that.
I just put a couple pictures into the main post to show ideas for what a forge might look like and how they are customizable. I really can't wait to get this done and get it out to all of you who are watching this :)
No worries Flascher. Glad you like my ideas. I always wonder if I sound like an idiot after I hit the post button :D
Perhaps for the workings of it, you might have to do a bit of a workaround. I'm not a good programmer, and have never touched mods or plugins aside from using them, since I dont understand Java (yet). But I do know that generally plugins dont add blocks, mods do. So to get around that, if youre set on the plugin thing (and I would be, since it means it can work on vanilla clients, etc. and bukkit is only plugins I think...) maybe you can use existing blocks, or add new enchantments to achieve your end goal.
So for example: your 'white hot' might be an enchantment on ingots that signals your workbenches to improve the end result.
And perhaps you can use a beacon as the marker for your buildings. Beacons usually detect a pyramid structure of resource blocks below them, and then add a 'buff' to player objects in the range. Perhaps you can modify them to look for certain arrangements of structures above and around them, and then use its 'buffing' to modify furnaces and crafting tables within the range of the structure.
Again I'm no programmer, and I have no idea how you begin to make this work. But I try and think logically (and sometimes, that even works :P ) and perhaps using existing methods to establish your foundation might be the most...natural way of doing it, although not necessarily the easiest.
I might just point out that I do check back on this topic everynow and then, so if you need a hand with anything, please feel free to ask or PM.
@wasabi_warrior
Wow! These are great! I really like all of the ideas put out there in your comment. I'm a bit stuck right now trying to figure out how I'm going to detect a multi-block structure (or even a whole building) without it just being a mess of if else statements, so I'll probably be posting in the dev section soon to ask for a bit of guidance :)
(Sorry everyone, I've been a bit of a slacker this last month... Wanted to try to get in some summer that I missed out on. But I'll try and hammer out some of the groundwork in the next week since most of my friends have left for their respective universities, and I'm still at home waiting for my move in day!)
But again, wonderful ideas you've got there, and if you don't mind I think I may use a good chunk of them :) I'll give you (and anyone else's ideas I use) credit where its due!
Hi, my first comment, I registered just to give you some input because your idea is amazing! Hope it goes well for you :)
So other than smithing skills, perhaps you can include other kinds of skills, and maybe look outside of just weapons/armour and regular enchantments at one day.
woodworking: create better bows and faster boats (maybe a subskill of fletching for better arrows). Would require a multi craft table setup surrounded by a log cabin, instead of a lava/brick for your smithing as described.
a subskill of smithing could be metalwork: create faster minecarts or tracks, or buckets that hold more than one item block of liquid.
chef: A setup that includes a crafting table, and an 'oven' setup instead of a furnace. Although it would have both interfaces, and food created could have better hunger filling and saturation, or regeneration side-effects (and other items made in it would recieve no benefit). A subskill could include 'brewery' where potions are given additional sideeffects (might be too hard to improve effects, so adding new effects might be the best way) or when getting to a high enough skill, the ability to combine potions.
Perhaps also look at not just a new item of 'white hot iron' but when an item is actually made from the interface of such a building it receives such an upgrade. This would open up the chance to create items of any sort or material with enough of a 'skill level', rather than forcing you to create new items (white hot iron, white hot gold, white hot diamond...etc, etc. If a mod adds new ores, your system would have poor compatibility). Also, if your enchantments include percentage increases on knockback, weapon reach or damage in any way, any mod that adds new weapons could also recieve the same benifit.
Perhaps if you go to craft something outside of your skill on an Artisan interface (e.g. you use the smithing workbench to make a diamond sword) it will say 'you realise your skills suck, and your item turns out in average quality' or if it is within your skill level it says 'you admire your new item, and it gleams with quality'. If you make a sword at the wrong Artisan interface, say for example a chef bench it might say 'the tools you need arent present, and you end up making an average item'.
I would suggest that aside from the original station, you make it somewhat modular. For example, you may have a furnace station, but by building an 'anvil' style building next to it, it opens the subskill improvements of metalworking. Same would apply for woodworking with the subskill of fletching, or carving, and for chef with 'creating' as the base skill and 'baking' 'brewing' as modular buildings added on. You could make the basis of such modular buildings a chest containing an item of a certain level from the previous attachment, meaning that a minimum level and amount of craft would be required to open up new skills.
This could also give rise to modular improvement within the one skill. For example, you might forge a sword. But if you create a cooling module, it would improve the sword again. And if you make an anvil module, etc. and same with sharpening. (each module doesnt have to be 3x3, can be varying sizes.) (Also, although I'm no blacksmith, I believe the main components of creating a good sword/armour involved pure metals, a hot forge, the right degree of cooling to avoid crazing or flaws, as well as multiple beatings, and then sharpening. For example, some samurai swords were beaten into sheets and folded back into a blade shape 70 times before being sharpened to give them incredible strength.)
Probably is a lot of work, but its just a suggestion. I'm no modder, and even just looking at what I've said, theyre ambitious suggestions. Hopefully my idea is clear enough to understand what I mean, and hopefully you may use these ideas some time in the future.
Please! I'm looking for more ideas! If you can think of anything to put in here, please let me know. I'm starting to think Smithing will be its own skill and include sharpening, tempering, and leatherworking (for armor or to improve "grips" on weapons, more on that later ;) ) I'm at a loss as for what else to do!
If any of you out there have any ideas of jobs/crafts that can/should be implemented please please PLEASE comment or PM me!
ALSO: This is my first plugin! So I am considering looking for a second developer who is hopefully somewhat more familiar with the bukkit API to help out with the process, as this could turn out to be a rather large project! Also feel free to comment or PM me if you are interested in helping with development!
Another thing Mojang should have implemented into vanilla MC (because their crafting system is rather bland after two hours of gameplay). But I guess that's why you're here. :)
RecipeManager would compliment this plugin very nicely, and vice versa.
Are you planning to use the attribute system implemented by Mojang, in addition to enchantments? You could also consider the ability to make weapons and equipment that give off special effects when you use/wear it, such as applying potion effects, etc.
In the future, you might even consider implementing the ability to make special weapons from other plugins! (Most such plugins read an item's lore/name to apply the special effects, so you only need to let an equipment's lore/name be configurable within this new forging process.)
YES MAN
First off, thanks everyone for the support! I'm really looking forward to hacking away at this thing!
@Alienraygun, I think a guild system could be really cool! Of course, I'd like to get the base features in first, but that could be a great addition for later on! Thanks for the idea!
@graveXrobber, I don't think I'd feel right giving an ETA at the moment, as I've really just begun coding, but I have a whole month before college starts again, and hopefully I'll have something to show for myself by the time I start school again!
@EhudBlum, Thanks! I'm glad you're excited for this too! Hope I don't disappoint!
I'd like to see this as a guild system (organized by groups/permissions) where you join a guild to learn the various crafting disciplines. Add in leveling (maybe subgroups with titles like apprentice, squire, etc.) to learn more skills and improve the ones you have. I think it would be a nice compliment to any RPG server.
Wow, this is great, I am really looking forward to this for my server! Do you have an eta when you may have an initial release?
Thats a plugin i wanna see. waiting for it