Lothrazar / RootsClassic

Port of Roots 1 originally by Elucent (based on latest public MIT version, with permission from EpicSquid)
MIT License
3 stars 13 forks source link

Cannot add Spell Powders to Crystal Staff #98

Open EntropyParadigm opened 1 year ago

EntropyParadigm commented 1 year ago

Minecraft version & Mod Version: Inclusive Reborn (Inclusive Reborn-v0.0.13 - 1.20.1 - Forge 47.1.3)

Single player or Server: Server - inc.playcdu.co

Describe problem (what you were doing / what happened): Attempting to put any spell powders on the crystal staff does not appear to work. Tried adding spell powders with 0 potency, or +3 potency, just keep getting a message saying: "Ritual found, but brazier ingredients are missing or not lit". Trying to use Spell Powder with the following types:

Oddly enough, if you add no spell powders and just the crystal staff and the verdant sprig, the ritual will start and give you an empty staff, but no combination of the following powders above even one at a time appears to work. Triple ensured braziers were all lit and even tried to add them and light real quick while the empty ritual was started to no avail.

Updated to include new modpack version and provide additional details: Unlit Brazier: {ForgeCaps:{},InventoryHandler:{Items:[{Count:1b,Slot:0,id:"rootsclassic:spell_powder",tag:{"rootsclassic:effect":"rootsclassic:radiant_daisy","rootsclassic:efficiency":0,"rootsclassic:potency":3,"rootsclassic:size":0}}],Size:1},burning:0b,id:"rootsclassic:brazier",progress:0,x:6,y:1,z:6}

Lit Brazier: {ForgeCaps:{},InventoryHandler:{Items:[{Count:1b,Slot:0,id:"rootsclassic:spell_powder",tag:{"rootsclassic:effect":"rootsclassic:radiant_daisy","rootsclassic:efficiency":0,"rootsclassic:potency":3,"rootsclassic:size":0}}],Size:1},burning:1b,id:"rootsclassic:brazier",progress:2329,x:6,y:1,z:6}

Empty Brazier: {ForgeCaps:{},InventoryHandler:{Items:[],Size:1},burning:0b,id:"rootsclassic:brazier",progress:0,x:6,y:1,z:6}

Casting Altar: {ForgeCaps:{},InventoryHandler:{Items:[{Count:1b,Slot:0,id:"rootsclassic:crystal_staff",tag:{"rootsclassic:effect1":"","rootsclassic:effect2":"","rootsclassic:effect3":"","rootsclassic:effect4":"","rootsclassic:efficiency1":0,"rootsclassic:efficiency2":0,"rootsclassic:efficiency3":0,"rootsclassic:efficiency4":0,"rootsclassic:potency1":0,"rootsclassic:potency2":0,"rootsclassic:potency3":0,"rootsclassic:potency4":0,"rootsclassic:selected":1,"rootsclassic:size1":0,"rootsclassic:size2":0,"rootsclassic:size3":0,"rootsclassic:size4":0}},{Count:1b,Slot:1,id:"rootsclassic:verdant_sprig"}],Size:3},id:"rootsclassic:altar",progress:0,x:6,y:1,z:4}

Casting Altar (empty crystal staff): {ForgeCaps:{},InventoryHandler:{Items:[{Count:1b,Slot:0,id:"rootsclassic:crystal_staff"},{Count:1b,Slot:1,id:"rootsclassic:verdant_sprig"}],Size:3},id:"rootsclassic:altar",progress:0,x:6,y:1,z:4}

Might be related to a missing tag - looking for incense but it's not there? https://github.com/Lothrazar/RootsClassic/blob/b3b92b154daf2b8e148e157304bfaf355fd0e331/src/main/java/elucent/rootsclassic/block/altar/AltarBlockEntity.java#L69C3-L69C3

Crash log (if any): N/A

fkempf78 commented 11 months ago

Same Problem on ATM9 0.1.17, empty Staff ritual is working, but no luck with adding accelerate +3 potency

Kulpinsky commented 11 months ago

Same problem on my world ATM9 version 0.1.7. No luck with trying different brazier litted etc.

Xula1 commented 11 months ago

same issue, fix please

bobjegers commented 10 months ago

Also ran into this issue with the crystal staff on AllTheMods 9, version 0.2.6, on a server.

Seems to me the Imbuer ritual is broken when evaluating if the brazier ingredients match the recipe, in particular I think the size checking in RootUtils.matchesIngredients is the offending line:

public static boolean matchesIngredients(List<ItemStack> inv, List<Ingredient> ingredients) {
    if (inv.size() != ingredients.size()) return false;

Removing that different-size check (or changing the comparison from != to <=) would "fix" this logic for RitualImbuer, but I think requires some consideration of the handling of items unrelated to a particular ritual/recipe (I believe the current behavior is they're voided / all the nearby braziers are set to Empty, per AltarBlockEntity.java) - eg, if you mis-clicked a pickaxe into a brazier for an Imbue ritual, lit it, triggered the ritual, what should be done. IMO, an item that's an invalid incense for the ritual is an invalid ritual recipe, so the ritual should be prevented in that scenario, which requires some work to make happen, as AFAICT the existing code assumes no optional components of a ritual.

mmmthepotatogod commented 9 months ago

got that issue as well, on atm9. cant add no spells