Farmer's Delight

Farmer's Delight

77M Downloads

Cooking Pot - Workstation for making container-dependent foods

vectorwing opened this issue ยท 1 comments

commented

The Cooking Pot is a new workstation that cooks ingredients into meals when heated from below.

When placed above a heat source, the Cooking Pot will take up to six ingredients and cook them into a meal. To obtain the meal, players must either use Wooden Bowls in the pot block, or insert them in the GUI slot. Meals can also be inserted back, if it's the same as the currently held meal.

Proof of concept mockup:
Cooking Pot (mockup)

This block will store all prepared meals when mined, allowing players to carry and store a full stack (64 servings) of otherwise non-stackable foods, making them a viable food source again. Ideally, Farmer's Delight would increase the stack size of existing wooden bowl meals to 16, but I still gotta check how easy that is.

  • Implement GUI opening
  • Implement correct slots
  • Render arrow and heat indicator
  • Make the pot sense some basic heat source and show the heat icon
  • Replicate furnace processes
  • Test smelting logic with a dummy recipe
  • Make progress arrow render properly
  • Make it spit out leftover containers opposite to the spoon side
  • Make it drop inputs when broken
  • Make it hold prepared meals as an item when broken
  • Implement the "cooking" recipe type
  • Make the Cooking Pot read loaded recipes and output the results
  • Make serving slots retrieve the output if given a valid container. If no container exists, require Bowls

There are a few design issues pending for a solution:

  • Should this block use a GUI? It would be easier to code, but it could also potentially be doable as in-world crafting.
  • If the ingredients have container items (Honey Bottle, Tomato Sauce etc.), where do these go? Should the pot drop them off, destroy them, or handle them with extra slots?
    • SOLVED: Leftover containers are popped off the top, and fall precisely on the same spot to be caught,
  • Should the pot allow item automation? Hoppers inserting foods and dispensers using wooden bowls on it would be two examples. Some issues arise from that, one of them being the one listed above.
  • Should cooking recipes demand an output that has a container? If not, we could always just move the results to the output automatically...
commented

Idea: instead of making the Cooking Pot recipes be strict on ingredients, I could allow players to use tags instead, as long as there's a main ingredient to define it.

For example: a Pumpkin Soup is defined by Pumpkin, a milk container (bucket or bottle), and two vegetables chosen by the player.