#AlmostUnified warning on multiple preffered tags

137 messages · Page 1 of 1 (latest)

open crater
#

[AlmostUnified/]: Item 'gtceu:invar_plate' has multiple preferred tags '[forge:plates/invar, forge:sheets/invar]' for recipe replacement. This needs to be manually fixed by the user.

What does manually fixed mean exactly? Do I need to play with any of those json config file in AU config folder? and where? I'm 🤏 🧠 on this lol

lone apexBOT
#

Once your ticket has been resolved, please close it with </ticket close:1054771505520717835> command!

fallen spire
#

why are you posting this in kjs discord xd

granite gazelleBOT
#

This is not the Discord server for any mod or modpack itself.
This server is for LatvianModder's mods. For mod/modpack questions, look for their Discord server, or ask in https://discord.gg/moddedmc
Only if they tell you it isn't their issue, come back here.

mortal bluff
#

I agree with the question above

#

Whatever

#

It means that there is an item that has two tags that are configured to be unify tags.

open crater
#

wtf LOL I just woke up

mortal bluff
#

AU doesn't know which tag to pick to unify the item

open crater
#

AU is not an KJS addon

mortal bluff
#

It is not, yea. It only exposes a utility binding for it.

#

You can fix this by removing the sheets tag from the unify json config. But in case there are items that have the sheets tag but not the plates tag, they won't be unified.
You can work around this tho by using the tag ownership feature.

open crater
#

interesting

mortal bluff
#

Usually used when mods can't decide on a conventional tag format.

charred cargo
mortal bluff
#

Next step would be to insult the mod author who decided to tag their items with a sheets tag.

open crater
#
"tagOwnerships": {
  "forge:plates/invar": [
    "forge:sheets/invar"
  ]
}

so would be like this?

mortal bluff
#

yes but you still have to remove the sheets tag from the unify tag list

#

or it won't work

open crater
mortal bluff
#

Did you create the sheets tag yourself?

mortal bluff
#

Sheets is just a different name for plates usually. Create also named their plates sheets but still added them to the plates tag.

open crater
open crater
#

prob someone added sheets to the list

#

on the config file let me see

#

i have never touched the AU config file

mortal bluff
#

The tag ownership feature is the perfect solution then. All sheets will be accepted by the plate tag then

open crater
#

yeah someone screw up?

mortal bluff
#

that is not default

open crater
#

yeah someone on out team added

#

our*

#

so, remove sheet from that and add on ownership, will test that

mortal bluff
#

yep

#

can also be reloaded

#

What the feature does is it adds all items from the sheet tag to the plate tag and then replaces every occurence of that tag in recipes.

open crater
#

👌

#

[TagOwnerships] Modified tag '#forge:plates/invar', added [gtceu:invar_plate]
pepepoggers

mortal bluff
#

GTCEU doesn't tag its plates with the sheet tag Hmmm

open crater
#

it is TerrafirmaCraft

#

yeah don't know why it says gtceu there

#

maybe the order?

mortal bluff
#

that may be a bug in AU then

#

yea I may be stupid

#

eww tfc really tags their stuff as sheets instead of plates

open crater
#

err, someone did this on our script

open crater
#

so it is a job for modpack dev if he want to unify or not

#

well, for the problem I had, removing the sheet from the tag solved the original issue, the ownership stuff was "already" made via scripts

mortal bluff
open crater
#

so it looks like it is not needed

mortal bluff
#

The ownership stuff is not done in scripts

#

The ownership system replaces the occurence of the tags in recipes with the owner tag.

open crater
#

someone added all sheet tags to the forge tag, via kubejs script

#

to forge plate*

mortal bluff
#

Yeah, I see that. It's not the same as the tag ownership feature tho

#

There is more to it

open crater
#

hmm

mortal bluff
#

But it doesn't matter because plate is the default tag on GTCEU

open crater
#

oh I think I can see now, with ownership it also would replace on the output and individual items, not only where it is tagged as such

mortal bluff
#

no

open crater
mortal bluff
#

Let's say you want to unify tag:a and tag:b manually because they cover similar items but are a different tag because some modders couldn't decide on a tag convention.
What most people would do is to add all items of tag:b to tag:a so every recipe that accepts tag:a as an input would also accept all items from tag:b.

The problem with that is that there are still recipes with tag:b that wouldn't accept items from tag:a. To solve this, you could also add all items from tag:a to tag:b so they essentially become the same.

Tag ownerships from AU on the other hand merge the two tags into one. So all items from tag:b are also copied to tag:a. But at the same time it replaces all occurences of tag:b in recipes to tag:a. Meaning that all recipes with any of those tags will now only accept tag:a but still allow all items because the tag got merged.
At the same time it doesn't unintentionally break any tag-dependent behavior. There are some gameplay mechanics that depend on tags. Since all items keep their original tag, they will still work.

open crater
#

👏

#

that is clear now

#

it is a lot safer

mortal bluff
#

Hm, it may have some disadvantages tho. If there is a recipe type that is not covered by AU, we can't replace the occurence of the tag. But that would be a general problem since these recipes are not being unified at all and would need to be reported.

open crater
#

"recipe not covered by AU" it is like those not covered by replaceInput/Output that happens in kube?

#

or AU have some more recipe schemas-like stuff that identifies more inputs/outputs

#

from other mods

mortal bluff
#

Not really. AU is based on JSON transformation. We have a generic unifier that is applied on all recipe types but some recipe types use really specific keys that we don't cover by default so we have a few unifiers that are applied to specific recipe types.

#

Or if their JSON structure is really odd.

#

Most mods use something like "input" or result" but some mods use "input_x" or "result_A"

open crater
#

so for TFC, if we have the recipe schemas on kube side, it will work?

mortal bluff
#

No, Almost Unified has nothing to do with KubeJS

open crater
#

pepethink thought you would use kubejs to expand compat

mortal bluff
#

I guess AU could hook schemas if there are any present but I'd like to prevent to depend on KubeJS again. Too many frequent breaking changes, dependency issues, remapping problems.

#

Also it's far simpler to write a unifier than a schema because we don't need that many information

open crater
#

cuz you basically needs input and output key from said serializer, and don't care about other fields

#

?

mortal bluff
#

yep

#

and the structure of the inputs and outputs, if they are nested, support tags etc

open crater
mortal bluff
#

ItemStack ingredients are covered

#

ItemStackProviders are not

#

wtf is this

open crater
#

some very custom output

#

🙂

mortal bluff
#

using stack as the key BRUH

#

yea, I need to add support for it then
I'll do that tomorrow

open crater
#

stack is arbitrary name they chose lol

#

is it used somewhere?

#

the key stack

#

also

#

how does it work when there is other mods that share that too, for example there are TFC addons that use same recipes

#

like Firmalife

#

they use same structure

#

you would have to add another compat for that?

mortal bluff
#

We can apply the same unifier to multiple mods. We did that for Ars Nouveau and its countless addons as well

#

If you can give me a list of all necessary addons so I don't forget them, it would be appreciated

#

Interesting that there have already been two ATM packs that use TFC and they never reported the unsupported recipe types.

open crater
#

and yes I'm from ATM now, and digging how it should really work

slate rain
#

I wil have fun to cherry pick all this

open crater
#

priority is (mod id)

tfc
firmalife
tfcchannelcasting
woodencog

#

I will play a bit on the dev env and see IF i can make anything helpful

mortal bluff
#

that's a lot of addons

mortal bluff
#

I think the more annoying part would be to write tests for all of them heh

open crater
#

I started doing something, not sure if will help 😢

#

hmmm ngl I have no idea what i'm doing :p

mortal bluff
#

lol

open crater
mortal bluff
#

Enigma also PRed some of the ars compat, it always helps. But don't be angry if I change stuff in the PR kek

open crater
#

lol for sure i wont

open crater
#

sad build failed wtf

#

is it just CI being hehderp ?

mortal bluff
#

I commented why it fails

#

It's a Java bug in the current distribution used by the workflow (other distributions have the same issue tho). I am currently trying to figure out a way to work around this, otherwise I'd have to publish builds manually and I ain't gonna do that.