Astral Sorcery

Astral Sorcery

63M Downloads

Astral Sorcery conflict with forestry fabricator slot

temp1011 opened this issue ยท 9 comments

commented

Original issue: ForestryMC/ForestryMC#2304

There seems to be a conflict between forestry and astral sorcery/baubles that breaks the wax cast slot of the forestry fabricator. With:

forge 14.23.5.2487
astralsorcery-1.12.2-1.10.20
Baubles-1.12-1.5.2
forestry_1.12.2-5.8.2.394

The forestry fabricator will no longer accept the wax cast in it's slot.

I've attached a test instance. If you try clicking the wax cast into the top right corner of the fabricator it doesn't work.

I'm not sure where the issue is here, I'm just trying to get this resolved.

MMC test instance: https://www.dropbox.com/s/mmcw1mdxu9lp4cf/Testing%20fabricator.zip?dl=0

commented

If wax casts have a stack size of 1, probably the capability used by the Resplendent Prism. What is the NBT on the cast? More details under #762

commented

The wax cast does indeed have a stack size of 1. There shouldn't be any NBT on the cast although it is damageable, and from what I remember the fabricator matches against a wildcard on the cast for the recipe.

From looking at the isItemBlacklisted method, it definitely looks like it would return false for the wax cast.

commented

From looking at the related issues, is Astral Sorcery trying to create an itemstack with wildcard meta?

commented

No, it isn't.

Pull the NBT tags on the cast, don't just go "it shouldn't have any", actually physically check it in game

commented
/ct hand:
Item <forestry:wax_cast>
No OreDict Entries

drop item on ground:

/entitydata @e[type=Item,r=3] {}
The data tag did not change: {Motion:[-1.0343407769940767E-18d,-0.0d,6.299016579935383E-19d],UUIDLeast:-8460459499076374720L,Health:5s,Invulnerable:0b,Air:300s,OnGround:1b,Dimension:0,PortalCooldown:0,Rotation:[19.066525f,0.0f],Thrower:"[redacted]",UpdateBlocked:0b,FallDistance:0.0f,Item:{ForgeCaps:{"astralsorcery:cap_item_amulet_holder":{AS_Amulet_HolderLeast:-7304945099227029047L,AS_Amulet_HolderMost:3665234475706827783L}},id:"forestry:wax_cast",Count:1b,Damage:0s},UUIDMost:-8347694025825041317L,Pos:[10.681348948922642d,4.0d,17.582446410313572d],PickupDelay:0s,Fire:-1s,Lifespan:6000,Age:80s}

Inventory from world save:

Inventory: [
        {
            Slot: 0B
            ForgeCaps: {
                "astralsorcery:cap_item_amulet_holder": {
                    AS_Amulet_HolderLeast: -7304945099227029047L
                    AS_Amulet_HolderMost: 3665234475706827783L
                }
            }
            id: "forestry:wax_cast"
            Count: 1B
            Damage: 0S
        },
    ]

So the cap is there. It just doesn't show with F3+T as a tag.

commented

That's the info that needs to be taken back to forestry, so they can adjust their machine matching. They should not be explicitly matching all tags, only their own compound tag if they need tag info that's relevant

commented

That's the entire point of compound tags and the capabilities system, to prevent conflicts by checking for your compound tag, so...no. That's unfortunately incorrect.

commented

That's the info that needs to be taken back to forestry, so they can adjust their machine matching. They should not be explicitly matching all tags, only their own compound tag if they need tag info that's relevant

There's no way to know which tags are 'relevant'. The API for adding recipes is public and others may be relying on any tag matching. So it would be difficult.

commented

I see now that by my tag you just mean the itemstack tag, while some ItemStack methods check for capability equality as well. Thanks for the help!