A downloadable plugin

Buy Now$18.99 USD or more

Extend your RPG Maker MV project with the Crafting System plugin. Looking for the same thing, but for RMMZ, say no more fam. I gotchu.

Featuring:

  • Ingredient based recipe system. Players build items from individual ingredient items, rather than select a recipe from a list
  • Developer defined crafting categories split the system into multiple modes, no more cooking at the blacksmith anvil.
  • Variable recipes can contain items that belong to specified categories, not just specific items. 
  • Manage recipes right in the plugin manager, no messing with JSON formatted recipe lists, or node.js apps.
  • Partial recipe support. Player put in too many of one item? Added an extra ingredient? System will still craft something!
  • Unlock recipes via plugin command, or by crafting them. 
  • Bind the scene to the main menu, YEP_MainMenuManager, or call it via script call in a common event.
  • Support for multiple individual recipes to craft the same result item. Want four different ways to bake a potato? We can do that.
  • Configure plugin options to your liking. Variable success rate? Failure case item creation? Removing ingredients from the inventory after failing a craft? Got you covered.
  • Robust experience and leveling system, on a per category basis. New free extension for a window to show all known categories and their experience values!
  • **New in v1.10** Additive ingredients can add traits and effects dynamically to a result item, allowing the crafted version of an item to be better than a found or purchased version, based on the ingredients used to make it.

What sets this plugin apart from it's contemporary counterparts is that this plugin is entirely ingredient driven on the player's end. Other crafting systems are rigid,  requiring players to select a known recipe from a list, and have the required ingredients to craft it. This system allows a lot more freedom on the player's side, allowing them to randomly jam ingredients into the UI and (hopefully) make something. If they succeed, the recipe is unlocked, so they'll always know how to make the thing they just made.

This plugin also has support for individual item categories. Let's talk about an example here. You could have an item, Stew, which requires a carrot, a potato and some meat. In traditional systems, you'd make one recipe, with those three items, and call it a day. But what if you have four kinds of meat? Pork, Beef, Chicken and Venison? You'd need to make four different recipes for stew, with each type of meat in it.  That'd also clutter up the recipe list with multiple stews, too. With this plugin, tag all the meats as meat, and the recipe will accept any of them. One Stew recipe, four different kinds of meat.

I've used the new plugin parameters options available on RMMV version 1.5.2 and above to directly input the recipes into the plugin manager. Devs using this plugin no longer need to dig through JSON formatted text files, or use a node.js app to organize their recipe list.

Please note that this plugin is massive, by far the largest I've made so far, and there may be some bugs or glitches that I haven;t caught myself yet, given the scope of it. Feel free to report anything out of the ordinary you find to me directly on this plugin page, or on the RPGMakerweb forums, where I have a support topic dedicated entirely to my plugin suite.

Let's talk about how this plugin works first, and then I'll show some screenshots to help hit the idea home a bit.

As mentioned in the little blurb at the top, this crafting plugin is ingredient focused rather than recipe focused. Other plugins that tackle a crafting system rely on a menu in which you pick a recipe from a list, while this one allows the player to input random ingredients into the interface to experiment in finding working combinations of items.

The main scene looks like this:
Scene_Crafting

Cooking Scene

As you can see above, you have four slots, and can select items to put in them. The text on the scene is also configurable depending on which crafting category is selected, in this case, we're looking at the cooking scene, so the wording is more specific to cooking. You can also see the crafting experience system on display in the preview window on the right side. 

Cook_Salad

A salad

In this shot, we see the same scene with some ingredients already put in. On the right side you can now see a result item, the salad, and the success rate of this craft attempt. Both of these can be hidden in the plugin parameters, as well as the experience display.

Progress_Bar

Crafting in Progress

Here we have selected to attempt to cook this recipe, when the bar finishes filling up, the result is shown.

Fake Success

Success?

When crafting is complete, we see that we didn't create the expected salad, but instead a wilted one. This is called a soft failure, and happened because we failed the 45% success check shown on the preview window. This window is showing us our wilted salad as if it were a successful craft, a configurable parameter in the plugin. Additionally, we have a window showing the ingredients lost in this failed attempt.

Blacksmithing

Failed smithing attempt

Here is another failed attempt, this time from blacksmithing. This was also a soft failure. The amount of items removed on a failed attempt is also configurable.

Good Chance

Lets make a sword

We can see the success chance is quite high on this recipe. Keep in mind that the item and the success rate will only be shown if the recipe has previously already been crafted by the player, or unlocked via plugin command.

Better Sword

Annoyingly long name

I skipped a step here, but we've successfully crafted an upgraded sword with a ridiculous name. You can see our crafting experience has increased a bit since the first blacksmithing screenshot.

Cooking_Level

Level Up

Finally, we've crafted that salad, and gained enough experience for a crafting level. Keep in mind that all of the text you see on the screen can be customized on a per category basis. The help messages, success messages, failure messages, and level text for all categories can be unique.

Now, with that out of the way, let's look at  some features that aren't easily visible through screenshots.

First, partial recipe matches. The way this system works, is that it checks a list of ingredients provided by the player, against a list of every possible recipe programmed by the developer. If it doesn't find an exact match, it goes into partial match mode instead. If it finds a recipe with one less ingredient than what was provided, it will match with that instead. If it can't find a recipe with one less ingredient, it will check for recipe matches with two less ingredients instead. If it fails this check, the check will fail entirely, causing what is called a total failure.

A total failure is what happens when the player provides ingredients that are not a valid recipe. You can configure what happens to the ingredients in this case.

In the case of a failure, there are many options for consumed ingredients, ranging from nothing at all, to one, half or all of one or all supplied ingredients. Additionally, a random factor can be added to some, randomly choosing an ingredient to lose, or having a random chance to lose one, half, or all of each item individually, or all items as a whole.

If a partial recipe match happens, you can also configure what happens to the erroneous extra ingredients. If extra quantities of items are provided to a valid recipe, those extras can optionally be returned as well.

If the recipe is valid, a crafting attempt is made. We see in some of the above screenshots that there is a chance for success. This chance is configurable on a per recipe basis, and can be modified using a formula, or it can be disabled entirely. If this random chance check fails, we get what is called a soft failure.

When a soft failure happens, ingredients are taken from the player, and a failure item may be generated (if it is enabled on the failed recipe). The ingredients taken can be configured in the same ways as with a total failure, but can be different than the total failure case. If a failure result item is given it can be shown as a 'fake success', which we see in one of the above screenshots as well, where the scene shows the player the failed craft item as if it were the expected result.

If the craft attempt succeeds, the recipe is unlocked, the result item is given to the player, and all consumable ingredients are taken from the player. When a recipe is unlocked, it will show on the preview window only when the correct ingredients to make it are selected.

Speaking of consumable ingredients, there are several note tags that can be used on items with this plugin. First, an item needs to be tagged in order to be usable in a specific crafting category using the <VALIDCATS: x> tag. An item can belong to multiple categories using this tag, separate them with a comma and a space <VALIDCATS: blacksmithing, cooking>. The crafting scene will not show any valid ingredients if none are tagged to be in that scene. 
The <UNCONSUMABLE: [fail], [success]> tag is used to denote items that cannot be removed from the player's inventory on a failure or successful craft. E.G <UNCONSUMABLE: fail>, <UNCONSUMABLE: success>, <UNCONSUMABLE: fail, success>. Using these tags, you can make rare ingredients not be consumed on a failed craft attempt, or have tool items used in actual recipes and not be consumed on success.
The <CRAFTCAT: x> tag is special, and tags items as belonging to an ingredient category. An item can only belong to one ingredient category.

Ingredient categories are used in certain recipes as a stand in for an actual item. I gave an example way above where you could make an item that could take one of four different types of meat. This is by using ingredient categories. A recipe will match any given item from the requested category in the correct amount, allowing a craft to succeed.

Next, menu integration. The command to open the crafting scene can be shown in the main menu with a configurable name, and can be enabled, and disabled, or hidden via plugin command during run time. When the scene is opened from the menu, the player is presented with a list of all available crafting categories to choose from.  A player can back out of the crafting scene and choose a different category if desired as well. Some categories can be hidden from the player via a plugin parameter as well. These categories can not be accessed through the menu command at all, and instead can only be accessed via plugin command.

Players accessing the crafting scene via plugin command are not given the choice of which category to pick, as it is set by the plugin command, and if they back out of the crafting scene, they are not allowed to choose a different category. This is to prevent the player from accessing a different category from an event that was specific to one category (ie: accessing the cooking menu from a blacksmithing station).

The included demo project contains an info dump NPC, a few recipes, and several ingredients with which to craft them. It is a good starting point for jumping to making your own recipes, as the formatting on them can be daunting to look at. I highly recommend taking a good read through the help info on the plugin itself as well, as I have extensive notes on plugin parameters, and the inner workings of the plugin in there as well.

Update v1.10:

I mentioned up above, but version 1.10 adds a new layer to this plugin, Additive Ingredient Traits allow you to designate certain items, weapons, or armors as additive ingredients, which when used to craft an item pass on special traits or effects to the resulting item. If that sounds confusing, I did a pretty good job of explaining it on the update notice for v1.10, which you can read here.

Terms of Use:

(I somehow forgot to include this on the store description, despite being contained in the helpfile info for the plugin).

  • You may use this plugin in your commercial or non-commercial games, with credit to me, Ramza.
  • You may make changes to the plugin, to add features, or compatibility with other plugins, for your own personal use.
  • You may share these changes as their own plugin extension to this one.
  • You may not directly share modified versions of this plugin publicly.
  • You may not claim ownership of this plugin.
  • You must also abide by the terms of use of all dependency plugins


Updated 15 days ago
StatusReleased
CategoryTool
Rating
(2)
AuthorRamza
TagsCrafting, plugin, RPG Maker, synthesis

Purchase

Buy Now$18.99 USD or more

In order to download this plugin you must purchase it at or above the minimum price of $18.99 USD. You will get access to the following files:

Plugin Download 264 kB
Demo Project 23 MB
Level Scene Menu Extension 20 kB
Three Ingredient Slot Patch 1,003 bytes

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

Hi,

Three questions, but I think I have more.

1. Is that a default screen? Can it be changed to be translucent or a solid color?

2. Can an item be distributed when achieving a certain crafting level? 

3. Can thresholds be set? For instance, at level 3 crafting, all small potions have a 100% success rate.

I really like this plugin and it's matching up with a lot of things I was hoping for in a crafting system. I just want to make sure it checks all the boxes or there is a workaround alternative.

Hello there.

This is a menu that is using default window classes to draw themselves, so anything you can use to modify the default menu windows will also affect these windows. There are no plugin params to make the windows transparent, or a solid color, but it will use whatever your system graphic is, so it will match the other default windows in your menus.

I don't currently have a feature to distribute items on level up, and that is a good suggestion so I will see if I can add that in later. Until that time, it could technically be possible to do so via a common event, as all of the current levels are stored in $gameParty._craftlevels, and can be called in script checks or whatnot.

Thresholds can sort of be set. You can use the success rate modifiers to create a recipe that has a 100% success rate, but requires level 3, and subtracts 5% (or whatever) per level under 3 you are. It's not quite what you were looking for, but should be serviceable.

Thanks for your quick reply, great to see developers still active with RPG Maker. 

I was hoping to hear that the plugin could work with events outside of it but thought that was too much. If I can use a common event to give the player a skill when they reach a certain crafting level, that works for me. I look forward to checking this out.

Glad to hear it, I'd recommend holding out until the itch.io Halloween sale to buy it though, wouldn't want you to get a raw deal based on timing.

Wow, thanks for letting me know. I'm new to itch.io.

Hi i would like to know if you will be working in porting this plugin to rpg maker MZ ? 

Hi there. 

The current plan is to bring all of my MV plugins over to MZ. The more advanced features of this one, namely the additive ingredients feature rely on independent items to function, though, so those features will not immediately be available until Yanfly's item core plugin is ported, or a suitable replacement is found.

Unfortunately, I don't have an advance copy of MZ, so I have no way to know how easy or hard porting this one will be until MZ is out and I've had a chance to poke at it a bit.

What I can say for sure is that the MZ version of this plugin will be separate from this version, with a discount if you've already purchased the MV version.

Before I purchase this, I wanted to make sure if I can use Independent Items created by YEP_ItemCore as ingredients for this plugin. I assume the output being an Independent Item is no issue as well right? (since that's handled by YEP_ItemCore)

Yes. Independent items can be used both as an ingredient, and can also be returned without issue. 

There is also a 'bonus stats' system in place where an independent result item can inherit certain traits from its ingredients, which if they are independent, could also inherit from its ingredients, if it was crafted.

Awesome, are there any bundles btw? Like say, all your plugins at once? lol

I do put them on sale several times per year, the last one ended only a couple weeks ago with the itch.io summer sale, unfortunately.

I believe if you're following me, itch will send you an email the next time they go on sale. 

Does this have the option to be pulled up outside of the Item/ Scene? I like my crafting to be separate at shops, or different areas, not in the main menu, wasn't sure if it was possible otherwise.

(+1)

Specific crafting categories can be called via plugin command, so they can be called from an event. You can also call just the regular crafting scene without specifying a category to let the player choose.

(+1)

You a boooosss. I'm buying this when I get paid next tysm ^^

(2 edits)

Before I buy I was wondering if this had item break down also. sorry if i missed it somewhere. or if you just combine this with Yanflys item plugins

(1 edit) (+1)

Hey there.

This plugin doesn't have a dismantle system component in it. While technically you might be able to make one inside the plugin with clever use of the wildcard items in recipes, and some sort of item that deconstructs things when you use it in a recipe, that would be super hanky, and will probably have some major difficulties to overcome.


For now, I'd say your best bet is to use Yanfly's item disassembly for that. As my plugin is 100% compatible with item core, there should no issue with using both.

One more qeustion its good with MV 1.62 right?

Indeed it is. 

In fact, I don't think it's ever been tested on anything earlier than 1.6.2!

Well im sold here goes!

Hey, I had a quick question before purchasing, involving ingredient traits.

Is there any way (be it a default option or an easy edit) to have ingredient traits only apply to an item if 2 or more ingredients being used have the trait? I'm hoping to create a system similar to the Alchemy system seen in Skyrim, in which each ingredient has ~4 traits, and the resulting potion can have any effects that were shared by 2 or more of the ingredients used. 

Hello there.

The additive traits from this plugin currently all stack together when creating an item, with no plugin parameter option to change that. An edit, or addon to the plugin that makes it so that only traits that exist on more than one of the ingredients is passed on to the crafted item shouldn't be too hard to create, as the method used to add additive traits together on the result item is actually very straight forward, and should be relatively easy to build onto.

The only issue I can foresee with your idea, is that the crafting system only currently supports one 'wildcard' item per recipe. In Skyrim, a potion recipe was simply created by combining 2-4 ingredients, and any traits those ingredients shared between eachother ended up on the 'potion' (or poison). As this system currently only supports making recipes that have 1 random player provided ingredient in them, you'd need to script yourself different kinds of potion recipes that used specific ingredients and a wildcard ingredient. 

To the player it'll look the same, but it's a bit more work on your part.

At any rate, if I get the chance in the next couple of days, I can see what I can do about taking care of that request.

-Ramza

Thank you very much for the quick reply, and especially so for looking into my request. I really do appreciate it :)

As for the wildcard restriction, I hadn't realized there was a limit, thanks for letting me know. I'm curious though, is that a hard coded limit, or something that could be tweaked? 

If at all possible, I'd ideally allow the player to combine any 2-4 ingredients, all of which would result in a blank base potion, that would have all traits shared by 2+ ingredients. Being able to restrict players from using duplicate ingredients in the same recipe would be pretty cool too, and building off of the 2+ required traits idea, being able to have a "failed result" item be rewarded if the brew didn't have any traits passed onto it, but unless any of these are fairly quick and easy tweaks, I don't want to overwhelm you with feature requests. 

Currently that is a hard coded limitation that isn't going to be an easy fix, unfortunately. When I first released the plugin, the idea was to allow all ingredients to be wildcards, but it turned out that there was a fatal flaw in my logic at the time, and the only way to get a fast update our the door was to only allow one wildcard ingredient.

I have plans to eventually restore that functionality, but I can't give a time line, as it is likely to require another complete overhaul of the way that recipes are detected.

Ah, fair enough. No worries about getting an update out, it's just reassuring to hear that it's something that's planned down the line. 

Greetings.

In the latest update for this plugin, I have added a plugin parameter to mimic how alchemy in Skyrim works. Traits on ingredients are not passed to the result item unless at least one other ingredient also has that trait. You can get the update here. Thanks for the great suggestion!

Hey there just bought the plugin, but I seem to have some problems with it. It seems to be with the main bind, or when it tries to create a scene. I cannot open the main scene when pressing X, it just crashes when pressed. I have also turned off all of these plugins, and then the scene wont even show in the main menu.

I also tried to move the plugin around in the load order, it didn't seem to do anything.

(1 edit)

Greetings. 

Binding the crafting scene to the main menu via YEP_MainMenuManager has specific instructions in the help documentation for doing it, and using those same instructions, I am able to bind it into any slot, and access it just fine.

Menu Name: Ramza.CSParams.MenuString
Menu Symbol: craft
Menu Show: $gameSystem._craftingShow
Menu Enabled: $gameSystem._craftingEnabled
Main Main Bind: this.commandCrafting.bind(this)



This works in any of the other slots for the main menu manager as well. Note that none of the text in those boxes are enclosed in quotation marks, none of them are strings, they are all to be eval'd.

(2 edits)

Hello, I followed those instructions quite closely, and put them in slot 81, but I tried this again and put it in slot 17 instead but I am still getting the same errors.

I cannot open the main inventory screen, it just instantly shows me that bug report as I press X. I can only open the inventory when I have disabled the main menu manager, but then the crafting doesn't show in there. 

Edit-------------------------------------------------------------------

I tried turning off all other plugins and leaving only the core engine, the main menu manager and the crafting system on.

And I am still getting this error.


Hello again.

I am unable to duplicate this problem. I too have turned off all other plugins, except for the three listed in your report, and the scene is still accessible via the menu command in the main menu manager, and the crash you report does not happen.


To help track down the cause of the error, it is best to eliminate as many possible compatibility issues as we can. I use more or less the same demo project I have uploaded here for testing, and it appears that, at least on my end, the problem doesn't happen from within that project.

If I can get you to confirm on your end that the demo does not crash when you import the required yanfly plugins into it, and turn the main menu manager plugin on, we can at least confirm that the baseline works.

If it turns out, as I suspect that the demo is no affected by this bug, but your project is, there are still a couple of other things that might cause the issue:

  • You might be using a different version of the main menu manager plugin. The version I'm using in the demo project is v1.02, I'm actually not sure if there is a newer version available, but if there is, it might be interfering somehow.
  • Your project might belong to an older version of RMMV, with outdated core js files, which might be causing an issue. The demo is made with all the core files from v1.6.2. Note that even if your RMMV installation is from version 1.6.2 (via steam or whatever) the core files in your projects do not update automatically when the application updates.
  • You might be using an old save file to test this project, that was created before you installed the crafting system plugin, and the plugin parameters for the crafting system plugin are not initialized correctly in your older save, resulting in the main menu manager checking for values such as the unlocked/hide options being undefined, causing crashes. 

I feel like the third option is the most likely, as commandCrafting is clearly defined on line 3879 in my plugin, but is being called as undefined in your error message. Try starting a new save file and see if the error is still there.

Thanks.

(2 edits)

Okay, firstly my project was made in RPGMV 1.6.2. The main menu manager is in V.1.03, but I put it into the demo project that was provided and it worked just fine.(The demo projects plugins were empty so I had to send them over there.) I even created a totally new project and put those plugins into it and it just does the same crash all over again. 

Now as for the old save file, I was testing it in a new game all the time, not in any old saved files. So when I did some more testing it seems like only your demo project works with the plugins(even the updated main menu manager).

A totally fresh project crashes for me, plus my own which is not that old and was also made in the 1.6.2 version.

Edit:

Also I removed the code for the crafting plugin that is put into the main menu manager, and tried to use the plugin commands to open the menus but it does nothing.

Okay, sorry for the runaround on this one, I've managed to find the problem.

The last three plugin parameters do not contain the proper default values. Instead of containing [], they are simply blank. Until you add values to these plugin parameters manually, or simply click on each one and then click 'ok', the plugin doesn't load at all. I have uploaded a revision c to v1.10 to correct this issue.

It wasn't happening in the demo project because those parameters have items in them in my demo, but not by default when importing the plugin into a fresh project. Before even loading the title screen, the error console would throw the following error - which indicated the exact place I had messed up:


This is from trying to parse an object that isn't an array. Apologies for assuming that there was something wrong with your project, and not my own. The updated version is already available for download, if you'd head on over there and confirm for me that it works.:)

Fantastic crafting system! I'm more of a fan of ingredient based crafting susch as those in Paper Mario and BOTW than recipe based systems but they were almost impossible to find plugins for. 

One question though, which lines in the plugin do I comment out // if I would like to hide the fourth slot completely from being selected? I don't plan on using it at all. Currently I'm leaving the name blank to "hide" it but preferably remove it completely so it's one less line to scroll down to get to the craft confirm.

Greetings.

I haven't tried this myself so it might run into some weird visual problems, but line 4903 contains an if statement that tells the window to draw the craft button when a certain index line is reached in the ingredient list. This number is 4 by default, meaning that when it gets to index 4, it draws the craft button instead of an ingredient (ingredients are index 0-3). Change that number to a 3 and it will skip drawing the 4th ingredient slot. 

(2 edits)

The ingredient count got replaced with the "craft button" but the help text and locked slot is still there 🤔

The actual craft button is still below the 4th slot



Ah, sorry, there was a line that needed to be comment out as well.

Line 4899 - this.drawItem(index + 1);

That line draws the craft button. Comment it out, as the change I had you make draws the craft button in index 4 instead of index 5.

Also, line 6217 does a check to see if you've pressed ok on an ingredient slot, or the craft button by comparing the index, you'll need to change the <= 3 on that line to a <= 2 so that it knows you're hitting the craft button that we've moved up an index slot.

Hmm, still seems to be missing something. Nothing seems to have changed

Greetings. Sorry it took a bit to get back to you on this. I found a slightly more elegant solution than what I was previously suggesting.



Since I already went to the trouble of testing it out myself, I already have a patch file created. Simply load it after the crafting system plugin and it will hide the fourth slot, and skip over index 3 on the list.

It can be downloaded from the Crafting System main page, labeled as the three ingredient slot patch.

Quick question: When I buy one of your plugins am I allowed to use it in more than one project or do I need to buy a copy for each project?

(1 edit)

You may use it in as many projects as you wish. :)

Edit: I didn't notice that my ToU wasn't on this plugin for some reason. It follows the same general rules as my other paid plugins. You can use it in any project you wish, but you may not redistribute it, or the demo project. You can edit the plugin for personal use only, and are allowed to make extensions to the plugin that you can release publicly, as long as you do not claim sole ownership of the base plugin, and that those extensions can only be used by someone who already owns the base plugin.

Thank you ^____^

(2 edits)

Hey! Very nice plugin. Lots of customizability. One question though. I am trying to edit your code to allow me to have 6 slots instead of 4 but can't for the life of me to get it to work. Would you be able to help me with this? See in my game you can't have more than 1 item in one slot! So having only 4 slots to work with isn't that great. I would even say having 8 or more would be ideal. Just cause I have traits on my items that can be applied to the final result item but can only do this by making all item slots only hold 1 item. 

Hey there.

I don't think it's viable to have more than 4 ingredient slots in this plugin, there are a lot of points in the code where I hard-coded that number to get certain things to work. I can think of a few that might be tripping you up in editing it, but I'm not sure even if you get past those that it'd work.

  • The ingredient list window is hard-coded to check for the cursor index of 4 to know when you've hit ok on the craft button, and not on an ingredient slot, so the onIngredientOk() function needs to be modified to check for an index of 6 or 8 (for 6 or 8 slots instead).
  • The ingredient window is only supposed to show four items, and probably needs to be longer to facilitate extra items in the list. That might not be a problem if your project has a higher than default resolution, though.
  • The function that checks for a partial recipe match only checks up to n-2 ingredients, meaning it will only ever check provided ingredients against recipes that are at most, two ingredients less than the total number of ingredients provided. You'd have to extend this function to n-4 (for 6 ingredients) and n-6 (for 8).
  • The plugin manager only expects 4 ingredient slots, so you'd need to manually add more slots to the recipe list object, and parse those slots in the datamanager on load, like the other four slots. The plugin reads each ingredient item on project load and turns them into the actual database item, and then attaches that item to the recipe array for future use. Simply adding new slots to the plugin parameters will allow you to specify extra items in a recipe, but unless they're parsed in the same way this will be a problem.
    • I had hardcoded the names of the first four ingredients, (secondType, secondId, etc) so you will need to work with that as well.

With this in mind, I think it's much more realistic to not edit the plugin at all, and rather make your base items craft into intermediate items, that then craft into the full item. This would allow you to stay within the four item limit, while still allowing more than four base ingredients. 

For example, a sword recipe:

  • <category> Sword blade
  • Hilt
  • Scabbard

To make each of these items requires more ingredients:

  • Sword Blade
    • <category> Metal
    • Flux
    • Sword mold
  • Hilt
    • Wood
    • Leather
  • Scabbard
    • Leather
    • Cloth

Obviously this isn't an ideal solution, but I feel like it's a little more doable than editing the core functions of the plugin, and you're a lot less likely to run into problems working within the four item limit. Keep in mind though, that there is a hard limit currently, in that you can only have one category ingredient per recipe, so you'd need to make each recipe if you had a few different types of hilts, scabbards and sword blades that could be interchanged in the recipe.

(7 edits)

Hmm I don't think you understood me or I did not explain myself well enough. My game has items used for crafting and these items have bonuses attached to them that may effect the final synthesized item. For example, Iron Ore +20 Attack and Iron Ore +20 Defence. If you used both of these together you would get the bonus associated with the weapon or armor type you craft which I would then create a new recipe every time in your plugin for. And certainly I would think its not impossible to add more slots even with the hard coded stuff I am trying to follow everything very closely but still cannot get it to work. (Course Im no coder, merely a beginner.) Would you be so kind as to maybe even take a look at your code that I have edited and maybe try and push me in the right direction of getting this to work? Whenever you have time of course. Absolutely no rush cause I know people can be busy. I am just trying to learn and I actually am learning small things here and there from your code. Which I am also grateful for. If maybe you can give me an email I can send to you? If not I also completely understand, thank you for making this plugin and hopefully I'll get this to work one day! Cheers.

Edit* Yeah, I can admit I don't completely understand everything. Particularly adding in the n-3 and n-4 in the findPartialRecipe function. I have placed a tag //Dungeonmind Edit* on every line I have added or touched. That might also make it easier to get to each location in the script that needs editing for this to work.

Btw rpg maker mv handles that command window the same everywhere and when you add to the list it just creates a scrolling command window which I dont mind at all and I'm sure others wouldn't either.

I got the index thing to work perfectly but now the crafting option just disappears from the menu and you can no longer access the scene, SO I assume I broke something I did not add something where I should have

Yeah, if the crafting option is gone, the plugin probably found an error on load and didn't load the rest of the way. Trust me, I've seen enough of that problem while I was making it.

I don't think I should share my email address on a public spot like this, but you can direct message me on discord Ramza#3215 and send me your edit that way.

The n-3 and 4 thing is confusing, I'll admit. It's only used to find partial matches, so for just getting it to work with a 6 item recipe, we don't need it right away for testing purposes. If you look at the difference between my n-1 and n-2 sections, which are commented, you can see what you need to change to get it to check for n-3. 

The most important change is going to be to edit the recipe list struct to accept more than 4 ingredients. This is going to involve adding in new parameters, giving them a new name, and parsing them the same way that the first four ingredients are parsed in a recipe. The actual parsing is handled right after the help file section ends, so you can have a look there and see what I do to convert the plugin parameter into an actual object.

(1 edit)

Okay thank you so much for your help! I will message you there I think I fixed the parsing but don't quote me on that. I also appreciate your script comments, they are helpful for learners like me! I'll send it to you on discord personal message if it allows me to. Thanks so much !!!


Edit* I have added you as a friend on discord I don't think it allows me to message you until you accept.

Is there a way I can access Craft Levels via Javascript? I'm using Luna Engine and want to add the player craft levels to the Main Menu Screen.

You can call the following function to get the level of a given crafting category:

$gameParty.getCraftLevel(category)

The above function pulls the info from an object in $gameParty that stores all category levels; $gameParty._craftLevels. You can also call that object directly and append a category name to the end of it to get the level without using the function. $gameParty._craftLevels.blacksmithing for example.


You can also use the following to get the current experience value of a given category:

$gameParty.getCraftExperience(category)

Awesome! Thank you so much <3

Is this plugin compatible with yep_ItemCore and other yep plugins?

Yes sir. I made it with those in mind.