wisp-forest / alloy-forgery

Alloy smelter mod for Fabric
MIT License
43 stars 18 forks source link

(Suggestion) Interface Slots "Locking" #133

Open ItoKyoshiro opened 4 months ago

ItoKyoshiro commented 4 months ago

Hey guys! I think it would be nice to have the option to "lock" some of the slots on the Furnace interface (pretty much how the Crafter does it) so this would allow for more interesting "shaped recipes" (you can think of this as being the "molds" without requiring other more complex mechanics like items and stuff).

From a design perspective, it feels "lacking" that we can have so many slots but only "one recipe at a time" (so you can't create or configure inside the Forge multiple smelting recipes and I think "one smelt" at a time is good, but for this one you don't need that many slots of interface). So using this slots as a prop of the Mod (instead of just "storage placeholders") would be something really cool.

Maybe this is outside the scope of the mod, but I would love to add the option to "smelt" a tool and crafting using multiple Ingots in a row (Axes and Pickaxes both uses 3 Ingots but in different shape) and for things like this the long interface become something really interesting (I would say it would be better if it's more "vertical", like the shape of the Furnace, but that's probably too niche :P)

So a more "realistic" option (for what the mod has right now) would be the array of "6 Nuggets" into Ingot so you create the "template" of a bar (3 top and 3 bottom in the center of the slots interface) and you convert them into an Ingot (I don't think you want to make "all the recipes" but having the option to interact with them like this offers a whole world of possibilities :D)

Noaaan commented 3 months ago

To address your points: Yes, lockable slots is something that is planned. We wanted to wait until the Crafter was released/the code for the slots was available to see how to best implement this.

I do not agree in the point of view that the additional slots of the Alloy Forge are "storage placeholders". Alloy Forgery is both a mod that adds new content (in the form of new Forges and recipes), as well as providing an API which other mods can use to create different recipes. The best example of this is my mod, Mythic Metals, which does use all of the slots in the Forge depending on the recipe (Both Metallurgium and Celestium require five components for example).

In terms of the implication of being able to mold items: this is very much possible. As documented on the Alloy Forgery wiki: by using custom Recipe Remainders you can return any item in the Forge recipe, which lets you do something like shown in the video below.

https://github.com/wisp-forest/alloy-forgery/assets/4163353/949a8896-1f05-49b9-9bee-3bb0244382c8

note that this is a mockup, and is not present in the mod

Having shaped recipes in the Forge is also something we dismantled during development. It proved to be too annoying and unintuitive for people who used the forges for smelting ores (E.G. shift-click in a stack of raw ores, which wouldn't smelt, since you had to split the stack into two slots. The old iron recipe used to be raw iron, raw iron -> 3 ingots). As such putting in 6 nuggets into the Forge, regardless of where they are placed, will always smelt into the expected output.

Neither of these two examples are things we want in Alloy Forgery itself. Not because they are impossible, but because they are out of scope.