#Cross-loader common tags convention
1 messages · Page 2 of 1
What’s wrong if people add their own beds to that tag? Isn’t that what it is for?
That's what I'm trying to say 😅
Though with certain things it may be a problem where it affects behaviour too much
The goal is to rename the tags not revisit how they are used
But to this point, tags with behaviors is why fabric has copies of the vanilla biome tags
Yeah, I'm aware - I'm just saying that for some use cases adding to a vanilla tag can be a bad thing, but in general it should be fine even without these common tags
Mhm - and I feel that for common tags, we'd want to primarily describe what things are, rather than how they behave
I didn’t include the vanilla biome tag copies in the Neo pr as idk what neo’s stance will be for copies of vanilla tags and I didn’t want to bog down the pr with that whole discussion
I’ll probably make that a separate pr after mine
Would be nice to reach consensus on that too before merging the PRs as it's important to Fabric users
(don't want c:plains -> common:plains -> common:is_plains for example)
Fabric has vanilla tag biome copies so they shouldn’t see any changes when switching to common. It’s so biome mods can tag their biomes as plains without getting the vanilla structures added
Since the vanilla structures pulls from the vanilla biome tags
With no easy way for the biome mods to be tagged properly and avoid those structures
Hence why fabric has vanilla biome tag copies under c (and now to common in the fabric pr)
Yeah, my personal thought is that common tags shouldn't imply any specific behaviours or side effects to be checked against directly - mods should have something like mymod:cannot_be_relocated/custom_piston which imports the common tag
(I forget if the common tag is cannot be relocated or can be relocated)
That’ll be on the modder as we can’t stop people from polling the common tag directly
It’s cannot because there’s far fewer stuff that can’t be relocated than allowed to be relocated
That's true, but we can at least push for that at a future point
(which is where a repo documenting the tags would be helpful)
Fabric wiki had a section about tags and that didn’t save the c namespace lol
Fair 😅
Well you are wrong 😛
Common behavior tags should be... well... common
I don't want that Lex-induced dogma anymore
Common tags are for common needs, period
But what if I (as a modpack maker) want a block to be movable by pistons, but not by frames or create?
The idea was the common tag has the original collection. Then individual mods have their own tags that pulls from the common tag and they use their own tag for the behavior. Thus allowing modpack makers to adjust the behavior of one mod rather than all mods reading the common namespace. But if they want to adjust all mod, the pack maker can edit the common tag
Issue is, there’s no way to enforce this kind of standard so that’s left up to the modder
Yeah, that was my idea too
oops, ping 😅
Ah in that sense yeah that's fine
I admit entirely that there's no way to force modders to do it that way, but we can at least push them to do the right thing by documenting them in a single, easy to browse location
And linking to it wherever possible (e.g. in the NeoForged MDK)
I guess when the NeoForge site is setup more, a page could be made for documentation. Unless it’s going to be on gemwire instead. Then you can make the pr to wherever the mdk repo is to link it lol
Not sure where in the mdk the link would even go
people read that?
I'm sure some people do 😅
ok I have a problem. Wall banners are blocks. But there's no wall banner item. Now I need to figure out how to make the item tag pull from the block tag but exclude wall banners cleanly. As the alternative is defining alll of the colored blocks manually.... Or maybe I just do the same loop as block but without the wall banner instead of copying from block tag
got a solution
hey can we pin this? i'm checking in every so often (since i keep forgetting to subscribe to the prs) and it'd be super helpful if i could find them easily 😅
raw_ore_blocks
are raw ore blocks even that much different than the rest of the storage blocks?
technically not
hmm why is quartz even here actually. Quartz blocks cant be crafted back to quartz
so quartz block is not a storage block for the resource
amethyst too
thanks vanilla
give me ideas folks pls. Or is storage block really not about blocks that can be crafted to and from resources?
quartz shouldn't be a storage block IMO, it's more like crafting bricks
storage blocks are basically material blocks, but they didn't want to use the word material for two different unrelated things
sounds like that should be renamed then?
ask mojang not me
no I mean the folder
forge named the folder that when storage blocks was always seen as resource storage
Like if I go to the mc wiki, it says this which will confuse someone as to why it is in storage blocks in forge
so if we cant use material, what's a better alternative name?
or since material seems to be phasing out now from code, maybe we can use material now
No but imagine I had a sort of metal called "raw iron", that came in actual ingots and whatnot. Now, is storage_blocks/raw_iron my blocks of raw iron ore, or blocks of raw iron? It's the same issue you run into with the fabric convention tags, basically
I would expect you to switch to vanillas raw iron block/items lol
Like many mods did for copper
No, I phrased that badly. I could have a completely different material that is a type of metal called "raw iron". That's a bad example - imagine that, in my (nonexistend) steel processing mod, to make steel you turn iron into "raw steel", which you later turn into "steel". Raw steel comes in ingots, like steel and iron do, not "raw ore" chunks like raw iron, but a storage block of "raw steel" would be indistinguishable from a storage block of some other mod that didn't get what steel was and decided to add "steel ore" or something
reminds me of the 1.7 nether ores mod that added a nether ore for every metal in the oredict

I’m gonna need a flowchart for your example lol
i'm having flowchart PTSD
don't you mean diagram PTSD

smh. if it represents flow, and it's a chart, it's a flowchart!
makes a bar chart representing the average flow of water through a dam daily
flowchart! /jk
A line graph of flow throughout the year
I don't think I've ever made a proper "flowchart" before
I tend to just make block diagrams where one axis is time
i tend to make block diagrams where arrows represent control flow
Yeah, that too
I tend to have one axis representing time just as a covenience so I can roughly plan out timing for things
Like obviously prior steps have to be completed first, but going with one axis as time I can stop myself from going on random tangents
To me it makes sense how it's now. Storage blocks contain any block that is called just like an item + _block and it can be crafted/undrafted with 9 of them. Maybe it could be that those which also have "raw" in their name get their own raw mineral block tag or something
If that's what a storage block means then it should be storage_blocks/iron_ingots and whatnot
Not storage_blocks/iron
So the resource item is the tag name
Thus allowing storage_blocks/iron_nuggets to exist for if someone makes a block that’s 9 iron nuggets?
that would be weird because by default that would be the ingot
But that breaks convention with ingots/iron
And is hard to parse mechanically
I'd say storage_block/ingots/iron. Specify what you're storing
Not just what it's made of
yeah storage_blocks/original/path makes sense
I’m not sure I can get everyone on board nested folders
Nested folders aren’t in forge nor fabric nor vanilla
So it would be a shock for all
yea the fabric people will be strongly against multiple levels of folders
Seems like a stupid thing to have strong opinions about
Better that that confusion when someone has "something something crystals" and "the same something something shards" and different storage blocks for each
Or imagine someone makes an iron dust storage block
Where's that go?
I would like a list of all mods that actually use the storage blocks mod so I can see what they use it really for
storage_blocks/iron_dust or storage_blocks/iron_dusts I guess
Basically
iron_ingot/iron_block
raw_iron_ingot/raw_iron_block
is translated to
storage_blocks/iron
storage_blocks/raw_iron
Seems like the common parts of the name for the resource and block is the path that is chosen
So iron_dust/iron_dust_block would be
storage_blocks/iron_dust
as that’s the text that is shared
That's inconsistent though as now ingots get no suffix but everything else does?
I think the best bet, given that the goal is to build a system that will last long term, is to make the cleaner decision now and go for nested folders
It's new, yes, but it's also the logical endpoint of existing conventions
And then you can target storage_blocks/ingots too, which is useful
I’m doubting the usefulness of these tags now. If someone knows a block is a storage block by tag, they still have to reverse lookup the recipe to know how much the storage is (2x2 or 3x3 or more) I’m gonna need a list of mods actually using the storage block tags or if none are actually using it and are doing recipe lookup instead
If not actually used, I rather just rename storage_blocks to materials and merge the raw_ tags into the non-raw tags so people can do materials/iron to know if a block is iron based and can make electricity conduct through it or whatever
Just to keep you all in the loop. The Fabric PR may be dead now as Fabric leader rejected all the mountain of reasoning, evidence, and points for the change and stated it was all not well reasoned. So tag unification may die due to the last comment on the Fabric PR. There is nothing I can do now as there's nothing left for me to say on the PR. You all can give a shot at trying to convince them to change their mind (do not brigade, raid, or do anything malicious). There's nothing that I can say anymore now.
tinkers construct i think uses the storage block tags to get, like, "block of tin" or whatever [it assumes all metals* have 3x3 blocks]
* of the dozen or so metals that it provides its own molten versions of but not an ingot/block, it doesn't do the "magic name-based tag inference" thing
ah well, you tried at least, that's all that matters
this doesn't stop us from doing it tho, and maybe 3rd party libraries will adopt the common tags on fabric or community backlash in the long run will cause fapi to adopt the tags
their argument sounds very much like "it's too much like forge therefore it's bad" just ask them for a counter suggestion that is not 1:1 the fabric system because it is also by far not flawless and a namespace that is to their liking and not c because that is already used for the old one
I'm not entirely sure if Player has final say over fabric-api stuff, so I don't think it's a definite rejection. modmuss50's comment was slightly more positive, though also pretty non-committal :/.
Dude. He just waived off all my reasoning without elaborating and stated his reasons is basically status quo. It sounded like to me that he already made up his mind about the PR long before he even opened it up
I’ll be surprised if one can make him change his mind but it won’t be me sadly since he ignored everything I said.
I think modmuss does more merges but if one fabric leader says no, I dunno if that can be overruled. Or at the very least, the pr’s chances just tanked hard
I can only see what has been said on the github PR and judging only from the one message that he left it didn't seem like that to me ... if you had a conversation about it somewhere else and he disregarded your argument I think the only one who can reason with him is modmuss
Tomorrow, I think I'll change the namespace to c as getting fabric on board is important for this to succeed but I'll push for folder convention as that I wont back down from as the alternative is awful. c isn't used on forge/neo so it should be pretty much a clean slate. It'll just be fabric with the polluted c namespace that they have to cleanup on their own.
i considered saying something positive in response to this, but my mind literally supplied first "go on, king"
which is a good indicator that I should take a nap (but I can't)
anyway, on their heads be it
My opinion was originally that only common can clean up the c pollution, but in hindsight maybe crossloader can be the driving force we need.
I'm on board.
well, imo, better to have fabric deal with tag pollution than have fabric not on board at all 
they want it that way so ¯_(ツ)_/¯
it seems they're (Player, casting a veto) not on board with folders either. Only one way to find out.

happy because of shared tag but sadge because of c 😔
good point tho the tag pollution will only affect fabric, unless their old tags would start leaking into cross loader mods
well if player continues to veto it'll just be dead, all we could do is adopt it and see what fabric mods do
is there a way to make "enforce, after tag loading, that two tags each contain all of each other's contents" [i.e. so any mod adding an item to either tag effectively adds to both, rather than one tag being a parent of the other but the other way around being out of luck]
like is that something we could add as a datapack loading stage that runs after tags, call it 'tag synonyms'?
or maybe before tag loading instead
that's tag alias basically and it suuuuucks for users as the two tags are linked together invisibly unless you modify the tag json with special fields and it basically grandfathers in the old conventions to the point that people using the old convention has no reason to switch
Instead, having new tags use old tag as optional entry means as people switch to new tags, the remaining people reading from old tag has more incentive to switch as they get better compat with new tags
but that provides no incentive for people putting their items in tags to switch
like it's a chicken in egg thing, having the relationship one way means the other way has no incentive to switch
we could crash in dev if someone compares something to an old convention tag
See the PR, I log into dev environment if legacy tags is detect and tell modder where to find new tags and to switch
That’s the initial push
Then as people switch, word of mouth or other modders checking out people will see the new tags and they make the switch afterwards
Also the lack of vanilla items in the old tags will push people to switch
does anyone here have objection to singularly named folders and plural named tag files? Multiple people brought up that something like java convention for folder names is to not plural the folder
The folders should still be plural, because they're often nouns while tag files are often adjectives in this system
I still think we should follow what vanilla mostly does of plural nouns, singular adjectives
Otherwise you'd have c:ore/iron and c:ores which seems... inconsistent
hmm good point. I'll raise that to singular folder people
And make sure you follow tag conventions for new tags! The convention is 'c' with generally plural named folders and tag files. (Adjective folder names tend to be singular)
That good?
Yeah; though adjective single files are singular too - see iron. Basically, nouns plural, adjectives singular seems like a good rule overall
on fabric:
@spring crane just to verify your intent with VILLAGER_JOB_SITES, job sites are the workstations right? Or is it possible people are considering crafting table a work station/bench?
Stripped tags. : thonk :
not a bad idea but better done as pr afterwards maybe
Mushroooooooooooooooooooooooooms
yes I am going a little insane working on these prs
still relatively sane, compared to mushroooms
Poor person not realising they have a typo 
Question, why does the forge stones tag contain polished andesite and stuff
I assumed this was natural stone until i saw the polished entries. Stone Bricks and Chiseled stuff aren't in here
forge:string... This should be strings right
probably
string is sometimes uncountable so Maybe™️ because English
it's a set of kinds of string though, so surely it should be plural
I dunno, would a fish tag be fish or fishes? Native speakers would probably be split...
I think personally a tag is necessarily a group of items already, so singular probably works just fine
that and items/blocks have an is-a relationship with tags, like a minecraft:cobblestone is a common:stone_block
(I don't actually know what the tag is, but that's how I rationalise my tag names personally)
You want to switch to singular everywhere? I suppose that is an option. I'm less sold on it due to vanilla using... mostly plural, and given that the tag directories themselves (blocks, items) are plural
My point here was about uncountable nouns #1134480199937957969 message
Because "plural" is a bit funky with those
Honestly, I don't know what the best option is 😅
I just mentioned what I do in my own mod, where I don't have to care about compatibility with other people
plural of fish is fish in english
a lot of fish, different kinds of fishes
"you'll be sleeping with the fish" doesn't sound quite as catchy, after all 
ah yes an american giving english lessons
what could go wrong /s
not foods
"fishes" is technically plural, but it's kind of archaic
Yeah, that's partly why I went with singular everywhere because that way there's not some which are singular-ish
I am just listing the ambiguous examples from vanilla
I think string should be strings tbh to reduce confusion
going full singular wont be able to be accepted as that's a massive change
if I'm being super honest minecraft:string (the item) should be renamed something like minecraft:spider_silk 🤣
but yeah, that's fair reasoning

spider cat, spider cat 🎵
Nope! It depends and in practice it's highly inconsistent: https://dictionary.cambridge.org/dictionary/english/fishes
forge:stone or forge:stones when collecting all kinds of natural stones
Sometimes™️. I know people who consistently always use "fishes" or always use "fish"...
I'd go with stones, and also strings and, if relevant, fishes
"fishes" is also a singular verb
Sorta "plural if in doubt" because it's different types of stuff
then cobblestone shall become cobblestones
Fixing up forge's mess
yeah, that's fine by me
Yes, it is. Gotta love English...
common:cobbled_stones? 
common:stones/cobbled /j
cobbled deepslate? 😛
common:stones/cobbled/deep
cobblestone is just a common name for a cobble-sized stone
https://en.wikipedia.org/wiki/Cobble_(geology) if you're curious
A cobble (sometimes a cobblestone) is a clast of rock defined on the Udden–Wentworth scale as having a particle size of 64–256 millimeters (2.5–10.1 in), larger than a pebble and smaller than a boulder. Other scales define a cobble's size differently. A rock made predominantly of cobbles is termed a conglomerate. Cobblestone is a building materi...
Generally when I hear "cobblestone" in real life I think "stones you'd use to pave streets"
yeah, each individual stone is called a cobble
but the building material is generally known as cobblestone
but we are talking about a cubic meter of cobblestone texture slapped onto a block as a unit of measurement
I have 5 Cobblestone
or would it be
I have 5 Cobblestones
we gotta talk like a player
One of you better watch 100 hours of videos of mc players to see if they say cobblestone with an s or not lol
time to write an algorithm
It's cobblestone if it's more than one block of the same material, but cobblestones if you're talking different types of cobblestone, which a tag is
Same as the "correct" (albeit inconsistently used) rule for fish/fishes
That's generally the rule for uncountable/"vaguely countable" nouns in general
minecraft:cobblestone the item/block is cobblestone (i have 5 cobblestone)
common:cobblestones the tag is cobblestones
For instance: this mod provides cobblestones made of granite and andesite - that would use plural. But, I built the building out of cobblestone, even if it's lots of it
tbh, i'd almost consider stones/cobbled/deepslate reasonable, but we need a name for the 'stone type' of regular stone for this convention to properly make sense
also something to go in the middle for 'plain' (not smooth/polished, not cobbled) stone blocks
Yeah
I spent ALL DAY doing these PRs. I pushed my newest round of changes up to both PRs. c namespace now
Actually, why do we even have the stone tag?
vanilla has a stone tag already for natural stone
maybe c:stones should be yeeted and people encouraged to use that tag instead
thoughts? And maybe the neoforge:worldgen_stones should pull entries from that tag too since it patches the vanilla feature isStone check to check that neoforge tag
If Vanilla already has a tag that fits people's needs and we're trying to unify tag usage across loaders, preferring the Vanilla tag makes the most sense to me
here's the fun part, forge has the stone as an item tag as well but vanilla does not
yknow
sometimes I wish we had automatic tag linking
so there would be automatic item tags for that stuff
so yeet c:stones block tag and rename the item c:stones to c:base_stone_overworld?
It seems I have forgotten recipes where c:stones makes more sense
I don't believe I've said anything in here yet so I'm gonna drop in to give some positivity and put my full support by telepathic's work on this effort, they've put in serious work with not only the bureaucracy but also diligent research on improvements and modded use cases
if not being able to be uncrafted is what keeps quartz/amethyst out of "storage blocks", should mods or datapacks that add recipes add them to it? should packs that remove the vanilla recipes remove them from the other blocks?
like i feel like this "can you uncraft" talk opens up a can of worms. the authority on whether you can craft something is the recipe manager, not the tag manager
I would say honestly, yes - but it makes me think we need a different tag that isn't storage blocks for those sorts of blocks
My idea is material tag for general materials like quartz and amethyst so people can still detect those blocks. Then if a mod adds a recipe to uncraft amethyst and quartz, the mod can make the storage_blocks entry for the blocks now. Unless we yeet storage_blocks in favor of an api way to determine compressibility and what resources a block is for
The post I made about this: https://github.com/neoforged/NeoForge/pull/135#issuecomment-1732413596
while i am here, we should add a tag for, informationally, blocks that give alternate loot [typically dropping themselves] when mined with shears
fabric already does this, and forge currently uses IForgeShearable for this purpose which I believe is inappropriate since it cannot be changed by datapacks
er, in fact, fabric has a tag [fabric:mineable/shears] which is used by jade to display shears as a tool but i have not verified whether that represents loot or speed.
it's part of fabric-mining-level-api not fabric-convention-tags
: thonk :
and they don't appear to have datagen for including vanilla blocks to the tag? i'm confused now
anyway it seems it's meant to represent mining speed
That might be better separate from my pr since their mining tag then is a different module
but i still think the loot thing should be a tag, we clearly see some value in making it accessible without parsing through the loot table
forget fabric precedent, this is to replace the use of IForgeShearable on block classes
Yeah different pr on Neo too since that would be yeeting an entire interface. It’s a larger discussion. Make an issue report on Neo so we don’t forget. It can be a separate pr that could get merged into 1.20.2 maybe before my pr. Or maybe delayed to 1.21 alongside my pr
i'll probably write up something on reworking shearing API generally some time soon
The mineable tag might go under neoforge namespace if it is functional (assuming the interface there comes with functionality)
[the current situation is a mess - the interface has completely different semantics on blocks vs entities, it's really not necessary on entities since it could be replaced with a tool action check in the vanilla code, but, vanilla has an interface [which arguably needs to be made itemstack sensitive] for dispensers to use shears on an entity [and dispensers have hardcoded block interactions]
i think there's a bug report out there for shears mineable tag and it runs into the issue that vanilla blocks that get a speed boost from shears don't all get the same speed boost
i guess i was overly eager to post in here since it's tangentially tag related
It’s good to bring up as I didn’t know about the mineable tag module in fabric lol. I’ll have to check to make sure I didn’t mess anything up in there
I would expect the fabric tag to be under fabric namespace for that
given the lack of datagen or resources data it's unclear if it's functional
ah no
they do have a shears item mixin that makes blocks with the tag mine at the same speed as wool
i see, they didn't tag vanilla blocks because they already implement the speed boost differently, this tag exists exclusively for adding modded blocks to, and not for informational purpose to identify vanilla blocks
they have a sword one that works the same way - doesn't add bamboo/cobweb, just lets you add modded blocks to. worth looking into at least
and, yes, all in the fabric namespace
Yeah, I feel like this PR maybe shouldn't cover functional tags in terms of modifying vanilla behavior
Though I'd definitely be in favor of some work to standardize that later
...though I guess maybe it could, now that I think of it. Hmm
@hexed matrix Just curious, is there a reason why Create's potion fluid is using a different standard than tinkers and thermal?
https://github.com/neoforged/NeoForge/pull/135#discussion_r1335177601
@lapis wren Random question, do you think you can get what these 6 mods are that are using this block entity type tag? I am curious now if their use cases can be handled with the block tag without issues. If not able to find those mods with the script adjusted, that's alright
Not at my computer now but remind me in 6 hours and Probably™️ I still have the raw data sitting around
Yeah no rush. Probably not gonna make a move on the block entity type tags till next weekend
Successfully scheduled reminder on <t:1695584087:F> (<t:1695584087:R>)!
@dawn nova wasn't this supposed to be ephemeral 
ah
you can use a message link to make the reminder reply
neat
I also use 250 mb per bottle convention but was sure create (forge) did the same too. At least it did in 1.16. I was told that fabric one does not
Thonk. Hay and dried kelp are storage blocks but aren’t in storage block tag iirc
@late atlas
poke luke, see tags thread
hey @lapis wren 
@lapis wren reminder has poked lol
@lapis wren i want to jump on the bandwagon
@lapis wren why not zoidberg?
@lapis wren wake up
@lapis wren
@cobalt moon here's the raw data - if you take the project ID here and go to it on modrinth you should find the mod with the tags in question.
First is fabric/quilt, second is forge
Thank you!
Also @cobalt moon code if you want to grab this stuff yourself:
let's read some julia
how do you write ∈, is that just some key combination in whatever IDE you're using?
\in, press tab
You should’ve written the script in brainfuck just to mess with me lol
yeah ok, so LaTeX 
The Julia extension for VSCode, which everyone uses, is what adds this. It's... mostly from LaTeX but not quite
Oh god no. I wanted this script for my own use. It's actually a frankenstein script of a bunch of others I had for pulling stuff off the modirnth API
oh hey I have to start learning Julia for my master's thesis
Had to track down which fabric mod in a modpack had packaged a wrong pack.mcmeta file, which was causing hard to diagnose errors... that's where this originally came from
You're in for a treat. Julia is awesome, and I use it almost exclusively for all my "real life" work that involves programming
Just don't be afraid to embrace its occasional quirk. A lot of the stuff that seems weird makes perfect sense when you realize it's used
(Also feel free to ping me with questions on it)
ok, cool! thanks ^^
honey blocks are a 2x2 storage block but the reversing requires 5 slots
I love vanilla throwing wrenches everywhere
Wait why does... oh heck, bottles, right?
yes
Because you can't give the recipe a stack of 4 bottles 
Do magma blocks count? Always found the recipe weird tbh should use netherrack too
not a storage block since you can't uncraft it iirc
@cobalt moon just had a thought: is there a tag for items which shouldn't be 'storable' in other storage items?
for example, it could contain (vanilla) shulker boxes, (modded) backpacks, etc., so one can't store a backpack in a shulker box, and store that in a backpack, ad infinitum
(or the same with three items: A goes in B, B goes in C, C goes in (another instance of) A, etc.)
that should not be an item tag
empty AE2 cells should be storable in everything whereas non-empty AE2 cells should not be nested
fair point, but the point behind the tag still stands
how is recursion in storage items avoided at present?
or hmmm
there is already Item#canFitInsideContainerItems() for that purpose... I think we could add IForgeItem#canFitInsideContainerItems(ItemStack stack)
it is currently not avoided 😛
don't we have a packet splitter so super-nested nbt isn't an issue anymore?
that's not an acceptable "fix"
A ItemStack sensitive version would be nice. Atm I also check for a ItemHandler capability on the item and loop through its whole inventory to check if it's empty 💀
This. Use the method to define your item as not nestable. Other storage mods needs to check it.
Forge already patches shulker boxes to check that method iirc
It’s not about just the nbt. It’s about infinite storage. A single slot with two kinds of storage items able to nest each other can go down infinitely and grant infinite storage
it's also bad practice to have large nbt in general
(it can make transfer extremely slow, for example)
Infinitely nesting items also makes dupe bugs way more broken, since to my knowledge most dupe bugs require player input which puts an upper limit to the nu,ber of items that can be duplicated at once
but if you could dupe an AE2 cell full of AE2 cells full of AE2 cells... you get the idea
I mean, duping AE2 cells is already broken even without nesting, so that doesn't really count ^^
The limiting factor is supposed to be the number of slots you have
In reality it is not
The limiting factor in MC is time
The time you have to collect resources
That is the real limiting factor
As such it is technically infinite
Let’s say you have 36 slots normally. 1 storage item gets say 16 extra slots. You should only have 36x16 slots maximum. With nesting you can go beyond that to endless number of slots on yourself and can take anywhere
Thus eliminating any slot management as if you need more slots, just nest again
Y’all are too focused on “infinite” and missing the forest for the trees
Mc has maximum number of slots you hold on yourself. Storage items increases that but still have limit. Nesting removed the limit
There’s no absolute limit to nesting minus time or resources or nbt size. Thus eliminating any storage problems one would’ve been forced to have to need to do storage management
yeah but it's not fun to manage nesting
anyway the point is, we don't need that tag 😛
we all agree on that
Exactly cause the code is there and people should be using that code
People that don’t check it is a bug in that mod
Fair, it was just the first example that came to mind; the same applies to any nestable storage item though
I have been alerted we have 3 hoes tags 
simultaneously minecraft:hoes, forge:tools/hoes, and forge:hoes
what does vanilla use the tag for
why does forge:hoes exist
I don’t see forge:hoes
Modifications to the Minecraft base files to assist in compatibility between mods. New Discord: https://discord.minecraftforge.net/ - MinecraftForge/MinecraftForge
Unless in my pr by mistake. The tools folder one should stay for categorization without attaching vanilla behavior
it might be a mod shipping it by accident or something, its present in a modpack
Hopefully they will fix it when they get the log warning about legacy tags in 1.21
i wonder how helpful my /forge tags has been 
looks to be coming from silent gear
you are lucky to only find 3 hoes tags
I've seen minecraft:axes, forge:axes, forge:tools/axes forge:tools/axe, c:axes, c:axe, c:tools/axes, and fabric:axes
you have an axe to grind or something? :3
I deal with tags a lot, translation and ui and all that, and I have learned that they are somehow in an even worse state than you could imagine
who is using forge:tools/axes on fabric
Anyone with a multiloader mod, probably
In mine at least I provide stuff in both forge and c tags on both platforms because of how the system I have to provide them works
...heck, I provide them in forge, c, and c-with-subfolders format on both platforms
I only use the platform specific tag for stuff luckily
at least EMI has heuristics to pick the more applicable platform specific duplicate...
that's be a nice bit simpler once this is a reality
oredict:toolAxe, oredict:listAllaxe 😛
your hoes are in another area code
i thought about making an area code joke when i saw the original post
Since I am removing amethyst and quartz from storage blocks, is this an ideal replacement for them?
tag(MATERIALS_AMETHYST).add(Blocks.AMETHYST_BLOCK);
tag(MATERIALS_QUARTZ).add(Blocks.QUARTZ_BLOCK, Blocks.QUARTZ_BRICKS, Blocks.QUARTZ_PILLAR, Blocks.QUARTZ_SLAB, Blocks.QUARTZ_STAIRS, Blocks.SMOOTH_QUARTZ, Blocks.SMOOTH_QUARTZ_SLAB, Blocks.SMOOTH_QUARTZ_STAIRS, Blocks.CHISELED_QUARTZ_BLOCK);
mojang removed materials class from code (replaced with MapColor) so the name is now free for use without any confusion with code
I'm not sure they should be removed from storage blocks
They cant be used to store amethyst and quartz resources because they cannot be crafted back to the resource
They are at significant odds compared to all the other storage block entries. (they are also the only 2x2 crafts while rest are 3x3 crafts)
I think I added inverse recipes for these in MI but I am not sure 
That's the problem I have with keeping them in. It breaks the consistency with the tags
for me a storage block would be the "canonical" block of the material
yeah if you make an inverse recipe for them, you can totally ship a c:storage_blocks/amethyst tag as you made them now a storage block. I think that would be fine
wouldn't that be better described as materials/
I suppose that also works
are you adding everything else to materials too? (iron, copper, etc)
cause that might get out of hand at some point
Yeah just the main ones. I won't do wood and all that. just copy whats in storage blocks into materials (while leavin rest of storage blocks tag as is). If people want stuff beyond the metal/ore materials, they can ask for it in a new pr and justify it but as a base start, should be good.
I think you could leave it out entirely
Just keep amethyst and quartz in meterial and keep out the rest for now?
I mean no material at all
So delete the amethyst and quartz from storage blocks with no replacement?
yeah
hmmm. would be easier to justify that than new materials. I'll do that then.
Anyone strong for or against spears or trident_like? Just want to hear a few more opinions on this name before i go with one
I'm for throwable
it's not meant for that tho
Is that tag specifically for throwable spear like weapons or just spear like in general?
spears in general because we got tools/axes, tools/swords, tools/shears, tools/fishing_rods. So there should be one for tridents but spears are basically mc's tridents so i want to make sure people label their spears as tridents
you could name it polearms, which would include stuff like halberds as well
or close enough. Spears and tridents under one tag like how all swords like daggers would be under swords
But those are not thrown it is for throwable polearms
tele just said in general
stabby sticks probably should be its own tag made by the mod
For reference, fabric choose spears for their tag name
Neoforge currently has tridents
https://github.com/neoforged/NeoForge/blob/1.20.x/src/generated/resources/data/forge/tags/items/tools/tridents.json
I'd guess that's the best option
Although imo, throwing should just be a tool action and let the tag include non-throwing polearms as well, but ¯_(ツ)_/¯
I don't think fabric has Tool action equivalent iirc
I think this would be unique to fabric right? thus wouldn't these tags be better under fabric namespace?
or would neo also be interested?
but on neo, this could blur the lines of what people should be using since neo pushes for ToolActions in code
Why do we have tool tags again?
vanilla has tool tags but not for all tools. it also helps datapacker and modpack makers be able to grab all kinds of one tool for recipes or loot table spawning.
Basically in neo, tool tags are for classifying stuff based on what it is. Not on its action.
In Fabric, I don't think they have a ToolActions equivalent so people there might be relying on the item to extend certain classes? But having the tags for classification would still help for non-action based stuff.
That being said, yeah I don't see need for mining tools, weapon tools tags that much but will need people to say they dont want that on the PR as I can't be the only one pushing back lol
Just looked up who of the top Forge mods on modrinth are using block_entity_type/relocation_not_supported or block_entity_type/immovable and they are Mekanism, Immersive Engineering, and Lightman's Currency.
Mekanism:
https://github.com/mekanism/Mekanism/blob/1.20.x/src/datagen/generated/mekanism/data/forge/tags/block_entity_type/relocation_not_supported.json
https://github.com/mekanism/Mekanism/blob/1.20.x/src/datagen/generated/mekanism/data/forge/tags/block_entity_type/immovable.json
Mekanism Generators:
https://github.com/mekanism/Mekanism/blob/1.20.x/src/datagen/generated/mekanismgenerators/data/forge/tags/block_entity_type/relocation_not_supported.json
https://github.com/mekanism/Mekanism/blob/1.20.x/src/datagen/generated/mekanismgenerators/data/forge/tags/block_entity_type/immovable.json
Immersive Engineering:
https://github.com/BluSunrize/ImmersiveEngineering/blob/1.19.2/src/generated/resources/data/forge/tags/block_entity_type/relocation_not_supported.json
https://github.com/BluSunrize/ImmersiveEngineering/blob/1.19.2/src/generated/resources/data/forge/tags/block_entity_type/immovable.json
Just to bring the conversations to here,
@swift hamlet @dusty sentinel no rush on this info yet but is there anything of value that would be lost if we encourage people to use the block tag c:relocation_not_supported instead of the block entity type tags? Is there any blocks where they truly cannot be supported properly with just the block tag alone? (Looking into seeing if this can be simplified for mods checking the tags as otherwise, they have to check both block and block entity tag every time)
@gritty furnace I think you had a stake you wanted in on this too.
(I'll track down and contact lightman as they don't seem to be here)
For IEs uses block tags should work just fine
CM 5.1 and below currently has the bound and unbound machine blocks using the same block entity and block ID, but that's in 1.19.2. If this change goes in v5.2+ is already splitting that out properly, so I'd be fine with just having the block tags
Yeah the soonest this would even be a thing is 1.21 so lots of time until then
uhh
no idea looking at my uses there aren't actually any so I can't remember
#104299991589199872 message feel free to look through this telepathic to see if you can see why. Giga links some of the discussions and I link some of them (for some of the earliest discussions about the tag). Maybe one of us mentions why somewhere in that discussion. It is also possible that the reason there was both and I have memory of them being added at different times is that maybe we had the block entity type one first and then added the block one later.
Most likely doesn't have much of use in it but if it does feel free to summarize any of the things I mentioned in it (giga probably would be fine with you summarizing parts of his talking points as well, though as always with FC probably should ask first, but might be unnecessary as there may not even be a reason to summarize)
Sounds like Mek should be alright with block tag then.
I don't see any mentions of the block entity type tag in the discussions linked and well, just mainly one person saying how it shouldn't be a tag because users should not be able to edit it which is a dumb stance. Sorry but I strongly disagree lol. Pack Makers should absolutely have access to the tag so they can add more blocks that shouldn't be movable if there's issues happening. Or remove blocks from the tag if it was only added for balance reasons and the pack maker is changing balance. It's up to the pack maker to test afterwards and make sure it is all good but giving them more power is good.
Sorry went on a tangent
also there are lots of tags in vanilla that will cause serious problems if users edit them the wrong way
if you have a block without the requisite block state properties in the vanilla stairs tag you'll get crashes in a structure processor (i found that out when i messed up the tag file so the tag had air in it)
Ah BlockAgeProcessor
Should I keep the BlockEntityTypes class and ForgeBlockEntityTypeTagsProvider if there's no more tags in those classes? Or just yeet the whole thing?
Edit: Nvm. I'll just remove the class. Can be added back if someone adds a new block entity type tag
ok I think things are in a good state right now with tag PRs. Just need people to verify that the names of the new storage block tags are good. Then I'll port the storage block tags over to the fabric PR to sync it (will be done in a future weekend)
Hmm the Gemwire wiki should mention the custom ingredient types that forge exposes and how to datagen them. The more modders that knows about these ingredient types, the ebtter modders can utilize tags in recipes
https://forge.gemwire.uk/wiki/Recipes
With the update to Minecraft 1.12, Mojang introduced a new data-driven recipe system based on JSON files. Since then, it has been adopted by Forge as well and was expanded in Minecraft 1.13 into datapacks.
Dang
what's the best way to let people know of a class to check out for examples if link to that class is inaccessible?
Hmm (ignore I had javadoc on wrong tag)
just a note if it wasn't mentioned before, the modrinth ftb replacement mods use EMI's tag translation spec
so it's not just EMI and AE2, it's Heracles too at least
Last call for any feedback with the 4 new storage block tag names I added (bone, dried kelp, hay, and slime) before I attempt to add it to the Fabric PR's side to sync up both sides. Are those names good for the 4 tags or nah? (Went more with the name of the block than item for stuff like hay bale and bone block)
bone is kind of wrong since bone blocks are actually bonemeal blocks
the block itself is Bone Block. The resource is Bonemeal. I assumed the tag were based on block name. not item name
if item name based, then I'll change bone to bonemeal and hay to wheat
The issue is that if someone adds an actual bone storage block, that causes issues
Id say probably using bonemeal and wheat is better
Hay stores wheat after all. It doesn't store hay
yeah, I agree it should be storage blocks of the resource
Done. If no other issues, I'll sync storage blocks to Fabric side tomorrow
Late response but shouldn’t it be storage_blocks/bone_meal
The id is bone_meal not bonemeal
fixed
It's the weekend which means tag work if there's any. Anyone got any lasting concerns with the tag pr?
Note to self, might need to bonk everyone doing tools/wrench instead of tools/wrenches
Maybe I’ll just add it to Neo so they see proper tag in Tags
That's a good migration warning to have!
why were the opt in prod options removed for the warnings?
it's still in neo pr
fabric prod was removed as fabric wanted to move it out of configs and into vm args for them so i removed prod option for them since it seems they are more dev focused for their warnings
@cobalt moon the target for this on neo is now right?
1.21
Tag migration is 1.21
Not 1.20.2
Not 1.20.3
Even fabric needs time as well
hmm then we have indeed a problem in #project-talk
If Neo merges now, that forces fabric to have to merge now which is bad and will piss the f out of fabric ecosystem
Keep forge namespace tags for now. Hard cutover in 1.21
@west juniper tags need to be done by both loaders together at same time. Things can still change and suggestions can come in. Merge now without consensus and leader approval from other loader is a jerk move
Is c:tools/brushes item tag and c:heads block/item tag something y'all are interested in?
I can think of uses for both
I don't have a use case myself
heads would be useful for any mods that want to, say, have mob heads nearby affect the power of some magic ritual or something
Brushes could be useful for the same reasons as any other tool tag - mod A adds a new brush type, mod B adds behavior that should do something with a brush, like a machine that auto-brushes or something, I don't know
I think c:skulls might be a better name, since I was a little confused as to what it meant at first
well, most "heads" are heads not skulls 
As for brushes, I don't think vanilla has any by default so I don't think it should be added, but it should definitely be something we encourage people to use if they have their own
Fair, but there are a lot of things that could be heads that aren't skulls of entities though 😅
Like, the head of a pressure vessel, or the head of a plant
ah 
vanilla has brushes
it's for their suspicious sand and gravel
well, 1 brush
ah, i forgot about that
(spent too much time modding rather than playing the game... 😅)
but mods will make their own cause the logic is in the item and the vanilla one is slow as heck
I'm not sure skull makes sense as only 2 of these are visually skulls
the rest are heads and their tooltip says so
Heads are just skulls with some skin
Like, literally
That's what they are in the code :p
user facing, the word head outnumbers the word skull in 5 to 2 ratio. Therefore democracy wins!
are we gonna need to poll this
do we need a tag to just reference all heads minus player heads? Or are difference ingredients good enough for that
idk there are various cases in mods where I have seen recipes that explicitly want a mob head
such as for an automated spawner recipe or something
I forget the exact examples
there is the custom holderset that might be able to handle that use case
well also just a difference ingredient
yeah. The tag acts as default collection and modder/packmakers tailors it for their use case.
hopefully javadoc in tags now (for the dyable stuff) leads to more people finding out about custom ingredients
Head tag?
Summary I am posting back to Fabric to see what they prefer. Here's the suggestions:
c:headsorc:skullsorc:mob_heads(exclude player head)
Heads pro:
- Tooltip and registry name of 5 out of 7 of these blocks mentions "Head" instead of "Skull" for user-facing text.
- Head might be more intuitive to be heads of entities.
Skulls pro:
- Code mentions skulls as inheritance for the blocks
- Heads are just skin covered skulls (was partially a joke someone said)
Mob Head pro:
- Excludes player head in case people's use case doesn't want it. User that do want it can add a check/recipe specific to player head
WHAT NAME DO YOU PREFER
I honestly don't care which 😛 I'll update Heads to use whatever
Currently I have them under forge:heads but skulls is fine too
what is 1, what is 2, because the tag and pros are swapped
can I suggest a third option? if player heads should be excluded: c:mob_heads
👍
the order they're in in the message
well, it was edited 
I fixed the order, hope you're happy
added
👌
so c:heads which includes c:mob_heads and player heads?
that would work, I suppose
as I said earlier, I don't personally have a use case for this
If it's a common enough requirement for the two tags then I'd go for that
tbh, I only see usecases for mainly 1 tag
i.e. if it's a niche requirement then I'd just go with the heads tag
i dont think people need it anything more specific. It is possible people may want more specific but aren't making the tag because it needs to be made and used first before people use the more specific tags
multiple ways to view this
I don't see the point of having the player head in its own tag, so I feel that having non-player mob heads is general enough and anyone who needs both can very easily combine mob heads + the player head
(I'm assuming here no one is adding more items for player heads, cos I have no idea why anyone would be doing that)
Looks like vote for c:heads won on both loaders. I'll add that to PR now.
I'll give you all heads. Wait...
coward /j 
head registry for what entity type's head it is
How about a raw_meats item tag for food?
does not seem super highly used (typo. meant to say not very used)
most of these are likely just like 1 or 2 mods trying different names
what specifically is your use case
Will there be a repo created for this to keep track of these and request new ones to be merged into the modloaders?
for now, my pr encourages modloaders to simplay ask "did you make pr to other loader and what is the link to it" for future tags after my PR
shared repo stuff doesnt exist now and would have to be created separately. Perhaps a post-mvp.
there's a lot more that goes into a share repo than you would think
You've got to get both groups on board with accepting the shared repo as authoritative, and that's not easy
I mainly use it to figure out which meaty food is not cooked.
(in Biomancy raw meat is used as a "crafting" material whereas cooked meat is a invalid material.)
only ones I could see use is
c:raw_fish
c:raw_meat
c:cooked_fish
c:cooked_meat
and this has to be ran by fabric as well. And rotten flesh has to be known that it doesnt go into raw meats
someone might argue for
c:meat/raw and c:meat/cooked
some mods also add 'jerky' items (including of rotten flesh)
and i can see it both ways on rotten flesh and also on e.g. pufferfish, tropical fish [the latter isn't even food], and of course food being meat is a method on the food info object
[i'm restarting my environment so i can't check if rotten flesh or spider eyes are meat]
ah, rotten flesh is meat, spider eye is not, and no kind of fish is meat [and i'm wrong about tropical fish not being food]
You can eat pufferfish too. But not cook it iirc
I mean I could also argue for a food/raw_fish, etc too
Given how many subcategories there are
food folder implies c:foods which likely won't be accepted as checking if an item is food should be done through code
So seeing what people think about these tags or if none at all. There is a bit of variation of these tags in existence here. Poll seems better to determine tags. Posted in fabricord too
wouldn't it make sense to have it c:food/(raw_)meat/c:food/(raw_)fish?
Note that it should probably be fishes - as it's not many fish of the same sort, it's many different fishes
Oh wait just noticed that option
I missed that - ignore me
I might be misunderstanding you - tags are plural. "fish" is weird in that which plural is correct, in common usage, depends on stuff
"fishes" is generally accepted as the correct plural when you're talking about many types of fish
...I say that, but it's english, so...
yeet any hope for consistency or even generally accepted usage
look, unfortunately for you, americans have no right to talk about which plural version is correct /hj
Google says:
Fish and fishes are both acceptable plural forms of fish. Fish is the more commonly used plural, and can be used regardless of how many species are present. Fishes tends to be used as a plural when there are more than one species, especially in scientific settings.
so since with tags we are talking species its fishes
(at least it would for an entity tag)
For the entity tag, and I'd go for the item tag too because we're talking about, like, cod and salmon fish items, which are different fishes
English sucks
This is item tags. Entity type tag would be separate for fish if people do want fish tag
Yes, it would be meats, not meat
Generally when you have a folder name, there is a tag with just that name. So c:foods. Which then would need to include every food. And if people start using that to determine if something is edible, we got a major problem as that tag doesn’t determine edibility
IMO, plural if it's countable, singular if it's not. "marble" (the material) is uncountable so singular, but "shovels" is countable so plural
meat and fish as the food matter, isn't countable, but fish as the animal is
In the context of MC it is countable, though, because you're not counting amount of fish, you're talking different types of fish - so it's countable
salmon, cod, pufferfish, tropical fish - I can count them off
yes that's why I made the distinction
That's true of item tags too
They're types of fish items
raw pork, raw beef, raw mutton... I can count off types of meat too
that's not what I mean
you don't have stones and marbles and obsidians
so "things that qualify as meat" is equally uncountable
(sorry was getting on the bus)
but the same isn't true for fish. while you can see fish as an amorphous subcategory of "edible flesh", fish is equally easy (if not easier) to see as discrete units. you have fish for dinner, but you also have one fish
You would have stones and marbles and obsidians, I'd think
tho for example. If I had a recipe that accepts c:cookies (as an example) and I've 2 kinds of cookies there. How would I handle that then?
just that?
That's how english works - if you're talking about different types of stone, it's stones
If you're talking about different types of marble, it's marbles
Edibility is one part. Recipes are another
It's a valid opinion, but I would disagree with you on that :p
stones, obsidians, etc sounds strange
What do people do if they have two kinds of beds?
that would be bad
c:beds/long c:beds/wide
cursed
If you want to go more specific, that’s more unique to your mod and you’ll just need to talk to other modders to come up with what tag to standardize for the cookies
yea, mb
I was thinking a bit outside the box. But you're right TG
c:beds/2x1, c:beds/1x1, c:beds/2x2, ..., c:beds/16x16
c:cobblestones is in the pr because plural there means different kinds of stones. That’s how the English works
Many of one kind of cobblestone would be cobblestone
what if it has height
But many different types is cobblestones
The thing is that for tags it's not an uncontable. The very fact that it's in a tag means that it's never uncountable, by definition
c:beds/1x1x1, ..., c:beds/16x16x16
it would be a few thousand tags for beds, but it could work
4 dimensional beds could be a issue
It would make sense to do fishes and meats in same style of cobblestones but it’s also important to pick names people will remember to use easily so fish and meat seems to be winning as a result
yep, and singular's are usually a letter less than plurals, which is easier to write
Except the fact Mojang does plural and tag convention is generally plural
You only write the tag once
So letter count is not an argument
what if we infiltrate mojang and make them change it to singular?
You can try and if succeed. Then tag pr will switch to singular
Didn't know the raw meat suggestion would cause so much talk. lol
Thinking this other it might be better to have food specific tags be part of a "common community tags" repository independent from modloaders and would serve as a reference for devs 🤔
But convention right now is folder and plural
exept when you're searching by tag a lot, than you may write a tag hundreds or even thousands of times
Only meat and fish doesn’t make sense to do folder as they only come in raw and cooked. No other kinds
🤷♂️ singular still sounds better to me, so my opinion stands.
but it is just my opinion, so if vanilla does plural and the community wants consistency, or just prefers plural, then plural it is
Even then, a few extra key press would take up in total like 3 seconds out of hundreds of tags. And generally people datagen their tags if going to hundreds or thousands
Also ctrl+c ctrl+v
with search by tag i meant a player using a search function(e.g. their recipe viewers search funftion) to search by tag
That makes the argument weaker
You’re searching just press two extra keys?
That’s what? A fraction of a second?
Anyway, the main argument is more about how the tags sound and feel for fishes vs fish
fish definitely sounds better
also google says that fish is a plural of fish
so for fish it doesn't matter if singular or plural is chosen, it can be written the same in both cases
fish and fishes are both fine in this context imo, i'm more struggling with meat and meats 
and are those the only 2 food related tags that will be implemented in the c tags?
Likely unless there’s desire and usage for more
hmmmm I see
clearly it should be cobbles_stone
stones/cobbled
Yeah with this in mind I'd definitely do meats and fishes
are fishes a subset of meats
c:energy/quarks/atoms/objects/stones/cobbled
depends on the definition
And context
in modded minecraft you may have a magic fish made from crystals, it wouldn't be meat, but it would be a fish
this reminds me: a long time ago, long before mojang added tags, I had this idea of a hierarchical classification system.
every object would be somewhere in the hierarchy, potentially in more than one place.
example:
sugar would be items/organic/edible or some such, but also items/powdered
the idea was that some recipes could be made dynamic by allowing substitutions of the wrong category.
example: a cake is Milk, Sugar, Egg, Wheat.
Now suppose instead of sugar, you choose to substitute for another powder... like say, gunpowder. instead of egg, you use another "round" item... a fire charge, and instead of wheat, you use another "grain" item, like sand....
now that recipe would be allowed to still give a result, and craft a fragmentation grenade.
(it was inspired by the crafting system in Atelier Iris)
In the context of Mc, no and it is more useful to people to keep them separate as well
Shooting for usability here
what are we defining as the difference between fish meat and the other meats
Fish is fish
fish generally do not have the .meat() property set on their food properties, and therefore cannot be fed to dogs
ahh, didnt know that
could be worse, most of the animal food behavior [including cats, which is exclusively raw cod and salmon, not all fish] is still hardcoded lists
why should food checking be only done throug hcode?
is it unforeseeable that a recipe might accept any food item?
Or that literally any other data-driven content might accept any food item?
that is a valid point - we have tool tags [though i think so does vanilla now] instead of making people check tool actions for recipes
The point of actions is that they are dynamic
So for example if you have a "Tool" with dynamic upgrades
That means that one stack of that item could be a pickaxe
One stack a shovel
And one stack both
c:raw_fish styled tags won last poll but poll did not have a foods folder tag option. For completeness and fairness, the winner of last poll is now pitted against food folder options. Lmk which you prefer by voting. On weekend, winner will be put into tag PR.
does the existence of the c:food[s] tags also imply c:foods/bread, stew, vegetables, fruits?
maybe a 'starch' consisting of bread and potato
I don’t want to go overboard with food categories. Maybe just a few like fruits, vegetables, and berries and then wait for people to ask for new categories that they will actually use rather than trying to guess what people would use. Since foods can have a shitton of categories
fruit and berries are not mutually exclusive for example
but having meat and fish be provided by default sounds reasonable
There can be an argument made for separating fruits and berries so people could have recipes for any berries being different from recipes that accept any fruits like peaches and pears. And if they want either. They can use both tags.
I do have a use case myself for needing berry food tag but not fruits like apples and stuff
I'm confused as to why we aren't doing what neoforge originally said was going to happen, and pinging people who are potentially relevant to the topic
like vectorwing for farmer's delight should have a potentially useful opinion on this, no?
are there any other specific people that we want the opinion of?
@copper aurora we have a few food tag related questions for you
yup
for FD, at first, I borrowed most of my definitions from Harvestcraft and Simple Farming, as they were the two largest food mods at the time
haven't bothered to reunite other modders for potential revisions, as users were mostly making their own integrations when needed
for the basics, i have (off the top of my head):
- crops/<type>
- raw_<meat>
- cooked_<meat>
main reason i even added such tags was due to meat portions. but some, like fishes, allow for more generic groupings
i'd say the crops/ ones are the most important at first, if there's interest. other common ones are eggs and mushrooms, which I didn't add, but often see modded variants
here you can see everything i make use of, with some of those being born in HC2:
https://github.com/vectorwing/FarmersDelight/tree/1.19/src/generated/resources/data/forge/tags/items
not all of this is worth canonizing in a mod loader, IMO. i'd put focus primarily on broad concepts which many mods are likely to introduce
salad_ingredients, for example, is extraordinarily vague and hard to use
ok, i'm skeptical of "crops" as a tag, particularly for items rather than blocks. It also seems to imply that they are directly plantable [like carrots or potatoes] rather than having seeds.
AIUI in farmer's delight the crops do have seeds but are also directly plantable, but there's also things like the cut cabbage leafs that can be used interchangeably with the cabbage item in most recipes
I don’t know every modder and what they do and I figured lots of people who wanted tags are watching these channels now and can always give feedback on PRs too if I add the food stuff as the PRs are well known. I’m not omniscient you know
Just ping people here if you know who would be interested like vector and all
not sure if things in crops should be considered a plantable. for the sake of this, a plantable tag would work alright; TCon makes use of that i believe
since seeds doesn't incorporate things which are self-planted
AIUI the farmer's delight salad_ingredients tag is intended for leafy vegetables specifically [i.e. cabbage from FD itself, and maybe things like spinach or lettuce from other mods] rather than just "anything you would put in a salad", maybe it'd be clearer if we called the tag leafy_vegetables
i use crops specifically as items in crafting
I don’t like crops as that’s better for blocks. Item wise, people may want more division down to berries only, fruits only, vegetable only, etc. and also, do you consider an apple a crop? Glow berry? Sweet Berry?
HC2 and other mods include non-leafies on it, hence why the name is vague
i believe you can make a FD hamburger with broccoli in it >_>
Heck, wheat seeds can be obtained from grass and that’s not a crop
I'm generally unimpressed with HC's tag usage.
me too. i wish we revisited it across mods, but i didn't want to organize that conversation x)
But right now, main focus was on meat and fish food. The other foods will take time to nail down after meat and fish is added and it doesn’t have to be following subpar tags that mods are using now if we can define more useful categories
My understanding is that the use of 'salad' to refer to vegetables that you might put on a sandwich is primarily British, whereas to an American, 'salad' refers to something in a bowl
regardless, vanilla doesn't have any green vegetables
so it's not like neoforge can lead by example here
does a tag require at least an item to exist in registry?
No but having example in it helps people know what to put into it
I don't think it's useful for neoforge to ship empty tags in a datapack. it might be worthwhile to have a community tag convention document online
FD has the following use cases:
- specific raw meats, for the full piece and its meat portions (FD-specific use case);
- broad tags for fishes
- broad tags for meat overall (dog food, barbecue on a stick)
Only empty tags added are for the relocation not supported block tag and cannot be captured entity tag as those cases are widely used a ton and needed to be standardized
arguably specific tags for other foods are useful for the same reason
Did you see the poll yet?
no
farmer's delight itself doesn't do sliced versions of most vanilla veggies, but there's a sandwich addon that does
That’s what I am trying to add this weekend. Weekend after I’ll try for other food stuff
yeah. that's because farming has a much more dramatic ratio than meat items
i wanted to have some slices for things, but there's zero reason when you get such huge harvests of carrots/potatoes
meat portioning was primarily aimed at discouraging massive entity cramming. as well as extracting bone from some meats
Also remember, modloaders should add both useful but also general tags. Hyperspecific tags may be better left to mods to work out between them
speaking of sliced meat
what's the fishing mod that has a bunch of fish that can't be eaten directly but all slice into various quantities of the same generic fish fillet item
aquaculture?
yeah
Fillet tag would be better shipped by aquaculture themselves for example
I'm more thinking how does their not-directly-edible fish fit into the tag system
their fish fillets and farmer's delight's both fit reasonably well into the raw_fish and cooked_fish tags
should their unprepared fish be included in raw_fish
It wouldn’t be in food then. aquaculture:inedible_fish
i guess ultimately it's up to them
they can choose whether their full fishes belong in it. i personally add full vanilla fish in those for cooking
as majorly, meat portioning is optional: you can choose to 2x your meat, to double the amount of meals you can make
Vanilla fish are edible and would go in c:food/raw_fish
anyway, tags for specific types of food are useful in the sense that, even if no-one's going to be adding their own carrots or potatoes, it provides an example for the fact that they should use tags for non-vanilla food items
for the same reason we have an iron ingot tag
hmmm... man, i'm not sure how i feel in regards to foods or no foods. good question
in a way, i find it to be a somewhat irrelevant parent for what the definition means
in another, it's a reasonable category
i suppose having a foods parent would let a mod target it for categorizing all kinds of foods
like MineColonies chefs do atm, using the creative tab
Query all tags under food and dynamically create recipes from what tags exist
What the tag is for obviously isn't whether you can eat it, since that's determined based on the food properties in code - it's whether you can use it as an ingredient in recipes for more complex foods
however, while both "ingredient" and "recipe" are food-coded in real life, they are not in a minecraft context
so we can't use c:ingredients 😛
foodstuffs
speaking of ingredients
Can query this to make mobs be fed cooked meat only
cookies and cakes require wheat. a number of mods add a 'flour' ingredient [some mods also add other grains, like barley]
as it is, if mods want their flour to be usable to make vanilla cake/cookies, they have to add their own recipes [and some mods want to add their own chocolate, or their own eggs, or their own milk]
but i do have a distinct dough one i share with Create
there's also
i know i have criticized HC's tag usage, but one that I do see some legitimacy in is some concept of "ingredients that can be substituted for eggs in baking" - and it needs to be separate from a general 'eggs' tag because most of these cannot be used to e.g. make a bacon and egg sandwich
idk, maybe that's beyond the scope of anything we should do, but it does illustrate just how deep the food tag rabbit hole goes
that kinda falls into mod-specific, i feel
i can't think of many cases for an egg-like-substitute for FD, for example
when i use eggs, i largely expect eggs
i do, however, distinguish raw and cooked eggs, as i add a Fried Egg, and some mods add their own too
yes, it's a rabbit hole. I strongly suggest sticking to the most generic and bottom layer of definitions here
c:cooking_ingredients/baking/egg_like_binders c:cooking_ingredients/cooking/egg_like_fat_sources
ez
the biggest utility of canonizing a standard here is to let mods unite their various similar base ingredients: fruits, vegetables, grains, roots, mushrooms, meats, eggs etc
foods/<produce_name> could be a simple-to-follow definition for basic crops, like wheat or cabbage. i like it
and i agree it should be clear the purpose of these is to define ingredients, and not any other mechanic (like planting)
I’ll post a message next week on Neo and fabric discord about ideas for broad food category tags to add and ask people to reach out to bring in food modders and stuff to see my message. And then feed back can be given in GitHub if someone later comes in.
Hard part will be to rope in suggestions from being too niche or specific or deep
Not everyone’s use case will get covered but that’s what mod specific tags are for and communication between modders
Question, isn’t harvestcraft dev inactive now? Edit: guess not. Still active. Updated in September and last active 5 days ago on cf
How much time do we have till 1.21?
Chances are it will be for june? At least that's what I was thinking
at least 5 months
Yes, this is correct. It's been super confusing for me in the UK
should there be a c:peaceful tag for biomes that have no monsters like mushroom biomes? People are currently excluding mushroom biomes manually but wont see modded peaceful biomes. or c:monsterless
what would be the usecase? 
not adding monsters to those biomes
could be interesting
c:peaceful sounds wrong as the deep dark also doesn't have monsters spawning in them
c:monsterless would be a better fitting name imo
c:no_monsters_here 
c:monsterless also has this problem, as monsters can be there, just not spawn them in the regular way. maybe c:no_monster_spawns?
Example of someone who is likely spawning monsters in mushroom and deep dark biomes by mistake. The biomes line would be a custom holderset to exclude the tag for monster injections.
https://github.com/Nitespring/MonsterPlus/blob/main/src/main/resources/data/monsterplus/forge/biome_modifier/abyssologer.json
seems the most fitting then in that context
I'd be fine with no_monster_spawns, but it'd need to be communicated that it's an indication of intent, and that mods can easily disobey or ignore it
(The first thing that came to mind was "what would happen if a mod made a zombie specifically for mushroom island biomes?")
I like this. It's accurate, and it describes both the intent and the result
Alright food tag and the meat/fish tags added now to PR
Now to begin the harder discussion. What are other food categories that would be useful to have?
Note, we do want to keep it as general as possible and not make it hyper specific. Just broad categories that will be most likely to be used by modders and datapackers in recipes. If you know of a modder or datapacker that are heavily involved in food and would be good to bring into the discussion, ping them here or link this post to them or so.
With fish and meat taken care of, here are the remaining foods not in categories. Note, again broad categories. Some foods may not end up in a category and that's ok.
"minecraft:apple",
"minecraft:golden_apple",
"minecraft:enchanted_golden_apple",
"minecraft:carrot",
"minecraft:golden_carrot",
"minecraft:potato",
"minecraft:poisonous_potato",
"minecraft:baked_potato",
"minecraft:melon_slice",
"minecraft:pumpkin_pie",
"minecraft:sweet_berries",
"minecraft:glow_berries",
"minecraft:dried_kelp",
"minecraft:bread",
"minecraft:cookie",
"minecraft:beetroot",
"minecraft:beetroot_soup",
"minecraft:rabbit_stew",
"minecraft:mushroom_stew",
"minecraft:suspicious_stew",
"minecraft:honey_bottle",
"minecraft:spider_eye",
"minecraft:rotten_flesh",
Currently my thoughts are
c:foods/fruits
c:foods/berries
c:foods/vegetables (Tomatoes would go here as they are used usually as vegetables in cookie and recipes are often for cooking)
c:foods/soups (holds soups, stews, and other liquid bowl foods)
c:foods/breads
c:foods/cookies
c:foods/candies (empty by default)
c:foods/edible_when_placed (for items like cake that can only be eaten when placed)
Change meat and fish food tags to meats and fishes
cc: @copper aurora
If you wanna be broad, i like the term "meals". But it's what FD uses to designate major foods
Those that FD stacks to 16
meals? I dont really know what that even includes. Really any food can be argued as a meal which can be problematic and you'll get wrong entries added to that tag from modders.
meal might be too broad lol
why did we end up with meat/fish when it is for multiple types?
everything in a stack is plural meat/fish, different types use plural with s (meats/fishes)
and tags are about types of things
Meat and fish are both plural nouns
“These are all fish”
“This is all meat”
“I picked up a bundle of meat while I was out”
Compared to a noun that isnt a defective noun
“I collected a bunch of stick”
“I collected a bunch of fish”
yes but you commonly use the s plural for multiple types and the non s plural for many of the same
"you'll be sleeping with the fish" doesn't give the same punch 
also for consistency with fruits it should also be meats and fishes because the non s plural fruit referring to different types is just wrong
Its referring to a general collective
Fruit would be more corrext
But I agree that they should be matching either way
no it is speciffically a grouping of types so it should have the s plural
from the britannica dictionary:
how tf did we end up needing to cite the dictionary for tag naming
"the restaurant serves a variety of meats" sounds horrible to me heh
just as horrible as using "meats" for the tag
and really, it's inconsistent with the vanilla tags
glass, stone, string, sand, gravel -- all of the tags for uncountable nouns are written singular
no wait that's the forge folder 
vanilla is super inconsistent, it has dirt, sand, but also coals and fishes
which uh.... why do the common tags need a fish tag when vanilla already has one
Polls were ran. People preferred plural nouns for meat and fish and food instead of meats and fishes and foods. This is a democracy
If you want change, you’ll have to convince everyone who voted on the poll and then run another poll or something
Raw fish and cooked fish under food tag for consistency and clearly marked as for food.
But thank you for pointing out fishes tag. The vanilla tag could be given non-edible fishes so having fish tag under food is good for showing those fish as edible/food based
But the fact that vanilla has fishes tag, now I see vanilla has precedence for using s/es for types. Maybe next weekend I’ll switch it all to match vanilla. Sorry @spring crane, looks like it’ll have to be fishes/meats/foods later to match vanilla
Mojank. Are we thinking of maybe always plural s/es for types for now on?
Standardize it now and hope Mojang follows suit?
That's what I'd go for
I honestly don't care about the exact format 😛
As long as it's consistent in the common tags in my mind. So, "fishes", "meats", and "stones", or "fish", "meat", and "stone". I'd go for the former as it makes more sense to me English-wise, given that it's a diversified group, not a general collective, but frankly the consistency is the biggest thing
I would prefer singular but I'd rather have a standard I don't love than having to hear people complain endlessly XD
IMO, tags that represent a substance (even if it's different types of that substance), should be singular: meat, fish (as the flesh, not the whole animal), stone, marble, ...
and tags that represent an object should be plural: rocks, pickaxes, berries
There's basically two options. Either that, or make it always use "s/es". I prefer the second because it's consistent with how those words are used in English, to talk about different types of a thing - and tags don't talk about different things, they talk about different types of a thing - flyweights, not instances, basically
But yeah, as giga said - consistency is key here and if the preference is for the other that's fine too, as long as it's consistent
If doing vegetables tag, should poisonous potato be in it? Baked potato? Golden carrot/glistering melon?
Hard no for glistering melons, they aren't edible and thus they don't qualify as food in my opinion
I feel like vegetable isn't a great name for a tag
Like, imagine the confusion that would arise if mods add tomatoes, with one mod saying "it's a vegetable" and another say "no"; maybe something more like "crop product"? I don't know though, it's a rough one in general
it's like in real life, fruit and vegetable aren't defined the same everywhere
should a tomato be in vegtables? /j
I feel like tags should be based not on categories, but on usages
So the question is more "what name could be given to a useful grouping of vanilla/modded stuff here"
Ah that’s right. No food properties on them
Culinary it would be vegetable for tomatoes and same here as recipes are generally cooking
I can add a javadoc saying to go off of culinary categories for foods
Yeah that's how I'd do it too. The fact that it's in the "food" category should clear that up more too
I feel like food tags can also be added later when people have specific requests if it turns out some get missed
Like, if down the road someone has a use for a "root vegetable" tag that can be added, but it's niche enough I'd not worry for now
Also, are mushrooms in food/mushrooms or mushrooms? Given that they don't have food properties, like glistening melon, but that you'd also probably want a tag to use for cooking that excludes non-edible mushrooms
Cool. That is, to clarify, not meant to be relied on for "somewhat edible" nature
But rather wait till people asks for specific tag like that as one could think vanilla red mushrooms aren’t edible (then again, mushroom stew exists)
Thank you again for all the work you've put into this
@copper aurora do you need foods/mushrooms tag? Or do you use the forge/mushrooms tag currently?
then go with bowl_foods, i guess 🤷♂️
People pointed out that stews are considered a type of soup so soups it is lol
that excludes plated foods of other kinds, though
What I got so far (in car rn so no screenshot. Won’t push until next weekend)
FD doesn't only add soups and stews
that is, assuming the tag's main purpose is to group those foods which are contained in a bowl
And that’s fine as vanilla only has soup and stews so this tag was to collect those together. Plated foods sounds more mod specific and be better for food mods to talk to each other on what is considered plated
but then... should FD not add some of its foods to this tag?
it's a bit vague. should it be only soups/stews?
i'll still argue that such a specific tag doesn't sound terribly useful to me, but sure
i'm using the existing forge/mushrooms. would not mind it being classified under the foods umbrella
since this parent is being added to distinguish items as ingredients in crafting
Could be for a mob that is only tameable with soup lol
Hmm. Just thought of a problem. Mushroom aren’t eatable by themselves. So a foods/mushrooms would be in foods tag too
Think I’ll skip mushroom for now as can’t think of a good solution for it as it isn’t food itself but ingredient for making food.
I guess the three main usage for these food tags are
-
usage in recipes
-
what can be fed to mobs for taming/healing
-
nutrition mods that try to force people to eat a variety of foods
Soups tag isn’t very useful in recipes but can be useful for the other two use cases I would think
Yeah, that was my point
Also, if some mod adds, say, death caps... they should be mushrooms for many purposes but not for cooking
So better to leave it as not explicitly food related for now
Cooking denatures the poison! solved now
I'm not sure the soups tag is super useful in the other counts either. Nutrition mods generally want to assign that sort of nutrition differently for different stews I'd guess, and for feeding to a animal I'd expect stews/soups to be a very niche case, likely handled by the mod's own tag
How would you categorize the vanilla soups and stews together then?
I wouldn't
Slurp-able /jk
They're distinct enough things any categorization is going to be inherently pretty niche
I can’t stand a bunch of very similar foods not being together in a tag 
You could have a "in a bowl" tag, but then I'd also want an "in a bottle" and "in a bucket" tag and it's not really food related, and I think crafting remainders already cover that
doesn't vanilla have a way to differentiate between drinkable and solid food?
The most similar aspect of those foods in vanilla, in my mind, is the bowl-ness
And that's not really related to their food-ness, necessarily
Oh I do have a use case for soup items. My bee Queen trades for them. I need to add rabbit and suspicious stew to this
Tag for this would help expand my trade
No
Do you specifically trade for stews/soups, or for foods in bowls, or for particularly nutritious foods in bowls, or what, exactly? That's a good place to start I'd say
Liquid food in a bowl. Soups for that trade. I’m not too picky on what the liquid is
Even rabbit stew?
Yeah. I missed that
But, to confirm, not a salad in a bowl?
Is salad a liquid? A soup?
No, but neither is applesauce. If a mod added that, should it count for that trade?
If not, I'd call the tag soups and call it a day
Applesauce is no as I just want soups for my bee queen
Applesauce would probably go in my tier 1 trade instead
Then yeah, I'd say a soups tag makes sense, with a Javadoc specifying it's meant for liquid foods
How about calling it soups_and_stews ?
Lol tele you upset automod
@late atlas certified bruh moment
Join our dev team, be free of the limits
Pinging more food devs. Do any of you have strong stances about these c food tags for 1.21? #1134480199937957969 message
Raw meats, cooked meats, raw fishes, and cooked fishes are already in so they are covered.
@narrow mantle @pine vessel ^
@steady crown @glossy harness ^
I pinged Pam in MMD but no response
@limpid void ^
u can set a ping limit?
I don't really deal with food items/tags directly in my mod, but the tags seem reasonable to me
Not particularly, all seem fine to me I have a fruits/vegetables tag in croptopia actually. I see your using 'c' too, noice I'll be able to get rid of my gradle conversion someday
If you want to see the full pr, it’s in the top pin in this channel
That looks good to me. If it hasn't been suggested already, would a c:foods/bread tag be useful? There's only one item in vanilla, but there's some in modded and it's in recipes for sandwiches and such.
i was going to suggest the same
What kind of breads are mods adding?
also i vote food/cookies. I have a huge tag with those already
i have corn bread
for cookies i dont have any but i tagged other mods one and it has just shy of 100 entries 💀
also idk if you already went over this but a chains tag would also be useful. ropes too but idk if that qualifies as in vanilla it would be empty. both are common additions by mods
also what about a candy/ sweets tag? would still be empty but its yet another things that mods added many of. Also cakes/ pies
Just fyi, bread and cookie will be c:foods/breads and c:foods/cookies. Nouns of types will use s/es
To match vanilla’s minecraft:fishes
Maybe better to wait for modders who actually require those tags to ask for them and what their use case is
I would benefit from cakes to identify non-edible but placeable-then-edible items
I don’t actually see anyone adding chain or rope tags. https://docs.google.com/spreadsheets/d/1cBSLCHqR1vrqxRZqofeSlHQxgqAjVn9WfT9z-1DGq90/htmlview#gid=0
(Except for 1 ropes block tag and 1 ropes item tag and 1 rope item tag. Very very usage. Probably two mods total there found actually adding to the tag)
c:foods/edible_when_placed item tag that the entries don’t actually go into c:foods tag?
either works for me, right now I use an item's food properties to identify food which doesn't work for cakes so I have to special-case those individually
Or maybe it does go into food tag and people can use ingredient diff on foods and foods/edible_when_placed if they don’t want placeable edible
something else that would immensely help in compat is if there was something like c:foods/ingredients for non-edibles that are usually crafted into edibles, like sugar/salt/oil/..., but maybe that's too generic
food_ingredients/ I would prefer to explore as a post-mvp after main tag conventions are merged as I fear that would be more contested
yeah, I might just start out with a cookingforblockheads scoped tag for those, don't know why I never considered to use tags instead of custom compat files before https://github.com/TwelveIterationMods/CookingForBlockheads/tree/1.20.x/forge/src/main/resources/data/cookingforblockheads/cookingforblockheads/compat
I've seen variants like pumpkin bread, banana bread, corn bread, toasted variants, and bread that's made from other kinds of modded wheat or crafting mechanics.
i'm increasing the limit to 5, that should be a reasonable balance
🖐️ that would be me. candy i use for trick or treating villagers for example
well for example i've been using those but under my own namespace
and i've seen many mods add chains. maybe not tags but if there was such a tag it couldhave uses
Item tag for chains? What are you using it for?
for items that can go in pulley
bet they could be used for some recipes too aswell
Ropes and chains for pulleys sounds niche to your use case tbh. Unless there’s other mods that also need the tag too that I am missing
I can try adding empty candy tag
i guess. I'm just listing all the big tags i have that ive been maintaining with many blocks from other mods. havin more things there already would mean less manual maintenance
what about cakes and pies? having one for placeable food that can be eaten when placed also is a good idea
