MineColonies

MineColonies

53M Downloads

Sifter recipes seem lacking

SivartMcDorf opened this issue · 9 comments

commented

Prerequisites

  • [x ] I am running the latest alpha version of MineColonies and Structurize for my Minecraft version.
  • [ x] I checked the MineColonies/Structurize wiki and made sure my issue is not covered there.
  • [ x] I made sure that this issue is not a duplicate of any existing issue.

Context

  • Minecraft Version: 1.18.1
  • MineColonies Version:
  • Structurize Version:

Problem description

Sifter recipes only include normal sand, dirt and soul sand.

Notes or related things

should be expanded to everything with the sand tag this would allow modded sands from mods with rainbow sands to work as well.
Soul sand should also allow soul dirt
Dirt should include all types of dirt, and should return grass/tall grass for aiding in building along with any saplings, seeds, or vegetables from mods.
gravel should also have a chance to return copper at some level

Viewers

  • Add a thumbs-up to the issue to vote for it. This helps the request become more visible to the team and doesn't clutter the comments.
  • Add a comment if you have any insights or background information that isn't already part of the conversation.
commented

This is not currently possible; custom recipes don't support tags (and that is intentional, because that would cause them to steal unintended items from your warehouses, since you don't get the opportunity to teach them which specific items they're allowed to use in the recipes).

Please discuss things on Discord first and use the feature request tracker for things that aren't bugs.

commented
commented

Actually they should direct you here: https://github.com/ldtteam/minecolonies-features/issues

commented

When you click issue on this repo, and you click feature request, it should also lead you there.

commented
commented

While it is true that we cannot use tags for recipes input in-game the auto
populated ones that are preset for each building can easily use tags.

No, it can't, and I already explained why. Additionally, the underlying request system can only handle requests for specific items and not speculatively for multiple items via tag. While it's not too hard if the resources are already in the warehouse, it quickly gets unwieldy once you consider that a request for sand could cause a request for another worker to craft sand (and even worse for other resources with more crafting options).

And you typically don't want to have a request for sticks to end up crafting one of the other items tagged together with sticks, for example. Or a request for glass to make bottles to make one of the expensive fancy types of glass just because it happened to know how to craft both.

The sifter for output of sand calls out for the output of 4 saplings,
seeds, and nothing. The items are weighted and reference a loot table.
There is no reason that Minecraft:sand item cannot be replaced with
forge:sand tag. Minecraft:wheat_seeds with forge:seeds the saplings with
forge:saplings.

While yes, it is indeed very easy to change the loot table to drop items randomly from a tag instead of specific items, it's not really a good idea to actually do this. Allowing the recipe output to produce tags randomly would also completely destroy balance. Sand vs. red sand is not too much of an issue (though that's a crusher output, not sifter), although if it starts producing both randomly then it takes up more inventory space than if it produced one alone (and this only gets worse as other mods add more sand types). Seeds and saplings are an even worse idea, because many mods will add their items to the tags so they can be used as generic inputs, but have special conditions to actually craft in the first place that having random drops would completely unbalance.

If someone lives in a
badlands with red sand then they have no option to use it and would have to
create sand.

The glassblower can make use of red sand, since that's a teachable recipe. The crusher can produce regular sand for the sifter.

Personally before I realized how these recipes worked I tried to delete
them many times for taking up space for the recipes I needed.

And supporting more variants would take up more slots, making that problem worse too. Again, it's a balancing act.

commented

I believe the sifter doesn't sift on request. The only way to make a sifter sift is if you set a minimum stock for a specific item in the gui (or give those items yourself)
I don't think that could cause issues with a forge:sand tag or forge:dirt tag or something like that, as the sifter won't ever ask for red sand in your warehouse unless you added the red sand yourself with the minimum stock.

Having the tags in the output is a bad idea indeed

commented

Btw, yes, I am thinking about a way players can actually disable default recipes. But it's "not so easy"

commented

Yeah, I'm not saying that this can't be done -- but it can't be easily done, and requires some reworking of some big fundamentals to avoid some of the above pitfalls. Which is why it's a feature request, not a bug.