MinicraftPlus / minicraft-plus-revived

Minicraft+, an extension of Notch's original minicraft project, with tons more features.
GNU General Public License v3.0
483 stars 97 forks source link

Advanced item crafting mechanisms #707

Open BenCheung0422 opened 3 weeks ago

BenCheung0422 commented 3 weeks ago

Background

Currently, there are only general crafters and personal crafting menu. They all just go with simple crafting, consuming ingredients and producing designated item per certain items decided statically by the recipes immediately. We now have Workbench, Over, Furnace, Anvil, Enchanter, Loom and Dye Vat, which all work in the same way. However, this is quite monotonous.

Enhancement

To increase further gameplay content and style diversity, this should be updated and overhauled for better overall gameplay experience. Previously, Makkkkus even mentioned several features that were unfinished at the time, including fishing, melting, repairing and potions.[^1] Actually, if the gameplay is going to be expanded, this is one of the things that should first be improved before adding more new features. However, these still need to be conducted under planning to ensure the quality of content. Along the time, I have also proposed related feature improvements consisting of brewing (mentioned in #566), enchantment (#569), cloth dyeing[^2] and repair bench (#532).

General Crafting

Still, this proposal will be more focusing on specifically the crafters. Personal crafting menu and the Workbench will work in the similar way, kept in general crafting style, while it could still be improved. Moreover, there is actually in additional issue to overcome is the number of recipes. When there are an enormous number of recipes, the list of crafting entries will be very long, affecting user experience and lengthening the time of searching. One way is to change the way to craft, by putting items into the crafting area and a recipe book aside, allowing crafting by just putting items without having to search for recipes. Nevertheless, there could be repeated recipes with same ingredients and with a logical issue that different styles of items could be crafted by the same ingredients, though the issue can be partly solved with a similar mechanism to Polymorph (Minecraft Mod). In general, this has a lower priority than other crafters.

Melting & Cooking

Generally speaking, oven and furnace should be the most commonly used special type crafters in the game. In terms of heating, this should differ from general crafting, like the ones in Minecraft, with a progress bar. Furthermore, I suggest implementing preheating, fuel capacity and heating level/temperature. Preventing being too complex, I think fuel capacity and preheating should be enough, as well as time of "crafting". Also, the time should be different depending on the ingredients, since they would need different temperatures for heating and extents of matureness. By the way, actually the cooking ingredients should be more detailed, like inserting intermediate states between wheats and bread such as doughs, but in another topic of food system. In short, these should be the features would be applied to melting and cooking.

Anvil (Smithing)

Speaking of metals, I actually think to implement some features from the TerraFirmaCraft's smithing system (Minecraft Mod), though complex. Indeed, this kind of system could add a lot of gameplay experience, like alloying, but it depends on whether we would like to add this kind of features into the game when there is seemingly no precedence. Yes, there is currently no complex system in the game, including the circuit/power system (#694) I proposed previously. These could be a part of the technology (or mechanical) system in the game, which I have mentioned before. Even more electric components could be made in more advanced crafters after anvil. Maybe, alloying and melting could be combined in a single crafter, like how Tinker's big furnace (Minecraft Mod) does? Basically, at least not kept as the general crafting method as it is more related to metal shaping.

Enchantment & Brewing

Both should be described in more details and implemented separately since they are all big gameplay content systems apart from general crafting. In which, enchantment will be tracked in #569 while not yet for brewing. Yet, enchanter should not be used to "craft" potions, but other kinds of things, or just like the enchantment system in Minecraft as an existing example of what "enchantment" is in a magic system. More than that, the magic system will not consist of just enchantment and brewing, but more like spells and alter similar to the one in Thaumcraft (Minecraft Mod). Maybe this is a beginning crafter in the magic system eventually.

Textile & Dyeing

Mostly, this is highly related to the clothing system. Somehow, though dyeing and clothing is a big area in gameplay, looming would not be simple to just from strings to wools to clothing. In my opinions, there could be cottons and threads in addition to wools or textiles. At the moment, the dyeing system is actually a kind of unorganized.[^2] If the game content could be abundant, quality of life content like coloring and dyeing, even painting (?) can be implemented in more details, in other words, more complicated. It seems like this is a starting point of side features aiming quality of life, other than flowers and tall grass (biome-related).

Conclusion

To sum up, these are the features that could be expanded other than adding entirely new features. If thinking more deeply, the technology system may actually be the extension of the smithing (or mechanical) system. Even just these feature extensions, a significant amount of content could be added while may not be related to the overall game flow. Although I have mentioned a lot from Minecraft Mods, the reason is not to "Minecraftify" Minicraft+, but simple the fact that the community and features are quite abundant and mature in the Minecraft modding community. Notably, before implementing these features, because this can add a lot of content into the game, the engines and existing systems must have to be overhauled for a certain code quality and performance assurance. If just a small part of code or feature is not efficient, the game will not really be performant, and hence just simply become a CPU giant.

[^1]: On Discord 2023/07/10 (UTC), Makkkkus mentioned that melting is an incomplete feature and should be done. (in separate messages)

Add melting to furnaces It isn't flushed out [^2]: There is an on-hold pull request featuring advanced cloth dyeing by Cauldron, but due to the addition of Dye Vat, these features may have to be replanned in order to have this entire feature implemented properly.

JamesTDG commented 2 days ago

I would like to mention that if these systems are going to be put into place, we should consider methods to automate these crafts. At the moment I have no clue how this could be handled considering how crafting stations and storages are handled as moveable entities rather than tile entities...

BenCheung0422 commented 2 days ago

For crafting stations and storages on movable entities, I think there exist some Minecraft mods have them. But for automation, they are better to be tiles with tile entities, and there is even Crafter in Minecraft vanilla.