Multi-Block Crafting

Discussion in 'Plugin Requests' started by Dark_Serpent, Aug 1, 2022.

Thread Status:
Not open for further replies.
  1. Offline

    Dark_Serpent

    Plugin category: Mechanics, Role-Playing
    Minecraft Version: 1.18-1.19
    Suggested name: AltarForge? MultiBlockCraft? ExtendedCrafting?

    What I want: A plugin which allows players to craft items using custom-defined multi-block structures.

    Set-up of the Multi-Block Structure
    • A multi-block structure is created by the user that includes a water block.
    • The multi-block structure is then defined, assumedly by using two points like WorldGuard (a pos1 & a pos2). This could be done by activating a command (i.e /altar craft) then left and right clicking two blocks with a tool (i.e wooden hoe), or by setting to positions manually with commands (i.e /altar pos1 /altar pos2). Up to the developer.
    • The altar will then be saved into a storage file under a name defined by the user (i.e altar_storage.yml) after running a command (i.e /altar save [name]).
    • The "altar crafting state" will then be disabled until the command (i.e /altar craft" is run again. (The item defined as the multi-block structure creation item will no longer place positions upon left and right clicking.)
    Adding Recipes to the Multi-Block Structure
    • The user may add recipes to the multi-block structure by holding the "completed" item in their hand and typing in a command (i.e /altar recipe create [name of altar] [name of recipe]). This will create a recipe in a storage file (i.e altar_recipes.yml) with the completed item.
    • The user then adds onto the recipe by adding the necessary items to "craft" the completed item by holding the recipe pieces in their hand and typing a command (i.e /altar recipe addmaterial [name of recipe]). Multiple materials can be added this way, and they can be entered as single items or stacks of items. These materials are also stored in (altar_recipe.yml) under the name defined earlier.
    • The user can optionally add a command that gets run at the conclusion of a crafted recipe, which accepts a "%player" input (meaning "the player who crafted this recipe"). As an example, after a recipe is crafted by a player, the user could have defined the command "/broadcast You have crafted this item!" to be run. Unless you have an idea for an in-game command that could do this, the additional command to be run will have to be defined in the "altar_recipe.yml".
    Use of the Multi-Block Structure
    • A player creates the multi-block structure required for a recipe (which was defined in the "/altar recipe create" command from earlier).
    • A player tosses all the materials defined in the storage file into the multi-block structure's water block.
    • Once all the items have been submerged in the water block, the user right-clicks a part of the structure. If the resources they entered were incorrect, they are informed in chat that they were missing the required materials/reagents (color and text for the "error" definable in a config.yml preferably).
    • If the right-click is performed and the resources they threw into the water block correctly correlate with an existing recipe registered by the server, lightning strikes the multi-block structure and the structure itself removed (replaced with air) simultaneously. In addition, all items that were submerged in the water block also disappear. At the center-point of where the multi-block structure was, the "completed item" will be sitting, awaiting pickup by the player.
    • Optional: The additional command is run at the completion of the crafting, if defined in the set-up process.
    Ideas for commands:
    • /altar reload (For when the config or storage files are updated, reloads all files associated with the plugin.)
    • /altar craft (To engage the "altar crafting state" and allow an item (i.e wooden hoe) to place two positions.)
    • /altar save [name] (To save a multi-block structure as an altar and disable the "altar crafting state".)
    • /altar recipe create [name of altar] [name of recipe] (To create a recipe in a storage file with a name and a "result", tied to an altar that was created by the user.)
    • /altar recipe addmaterial [name of recipe] (To add materials needed to craft the "result" of a recipe.)
    Ideas for permissions:
    • altarforge.use (A generic permission giving you access to everything the plugin has.)
    Purpose of the plugin: Although there exist numerous "additional crafting recipe" plugins out there, the "coolness element" of using an altar/multi-block structure (rather than a crafting table) to craft legendary weapons and artifacts cannot be understated. This holds especially true for servers with some type of "deity/pantheon" system!

    When I'd like it by:

    No idea what I'd put here! Since I'm asking for free assistance, it could be done many moons from now and I'd be completely satisfied! Thanks in advance for anyone who considers this project :D

    Additional Notes:
    If the plugin idea too complicated/specific/uninteresting to be requested as a plugin on this forum category, and you're pretty certain nobody will pick it up, feel free to annihilate me in the replies by letting me know. I'm not too familiar with the forum culture here, and annoying you all with a convoluted plugin request is the last thing I want to do
     
  2. Offline

    Sebbben

    Hi Dark_Serpent! About a year ago i started creating plugins and i was looking for a larger project to get started on. This seems like a perfect opportunity, although maybe a little ambisius for my skill level. I'll see what i can do, and send updates if you're intrested.
    Here's a link to the github repo I've started: https://github.com/Sebbben/AltarCrafting
     
    Dark_Serpent likes this.
  3. Offline

    Dark_Serpent

    That sounds amazing! I'll definitely be keeping up with your repo! Looking forward to what you do :D

    Oh, and you don't need to go out of your way to post updates since I'm following the repo, but if you'd like to feel free! And if it isn't too much trouble, let me know when you get a first build out ;) Thanks for taking up the request! Good luck!
     
  4. Offline

    Sebbben

    I think I'll post some screenshots along with progress in the readme on the repo, and of course I'll send you a note when I've got something half together
     
Thread Status:
Not open for further replies.

Share This Page