Zen Summoning

Zen Summoning

7M Downloads

Altar is Full Until Removed and Replaced

RobertHDPotatoes opened this issue ยท 6 comments

commented

The Altar's inventory size is limited by the largest amount of reagents you have in any singular script, so if you have an old altar already placed in a world with a maximum inventory size of 4, and you make a new script with lets say 6 reagents, when you go to use the old altar it will say "Altar is full." at 4 items in the altar.

Not sure if this is fixable/worth fixing, it is a minor bug but it really confused me for a while when I was working on my pack.

commented

The altar inventory is serialized to world, and I guess that includes the size of the inventory at the time. Breaking and placing a new altar should fix, can also maybe add a check to resize the inventory if it is not correct after loading from world

commented

I'm gonna close this because it's a really minor issue that only affects devs and the solution is as you said. Hopefully if anyone else encounters this issue they find this solution.

commented

Sorry for the delay, sometimes I forget that it's not a pain in the ass to update recent mods like it is for 1.12 and 1.7.10 ones
Should be fixed in newest build but I didn't test...
https://www.curseforge.com/minecraft/mc-mods/zen-summoning/files/3604826

commented

No problem, thanks for the update! Also is it possible to revisit issue #15 ? I'd love to see the option for custom sounds

commented

Done :)
Will update the zen documentation page soon

My test script

import mods.zensummoning.SummoningDirector;
import mods.zensummoning.SummoningAttempt;
import mods.zensummoning.SummoningInfo;
import mods.zensummoning.MobInfo;

SummoningDirector.addSummonInfo(
    SummoningInfo.create()
        .setCatalyst(<item:minecraft:stick>)
        .setReagents([<item:minecraft:stone>, <item:minecraft:egg>*12])
        .setSound("block.chest.open")
        .addMob(MobInfo.create()
            .setMob(<entityType:minecraft:cow>)
            .setCount(4)
            .setOffset(0,4,0)
            .setSpread(3,3,3)
            .setData({"Health": 200, "Attributes":[{"Name":"generic.maxHealth","Base":200}]})
        )
        .setMutator((attempt as SummoningAttempt) => {
            if (attempt.world.raining) {
                attempt.success = false;
                attempt.message = "Can't summon this in the rain!";
            } else {
                attempt.message = "Woohoo!";
            }
        })
);
commented

You're a legend, thanks so much! This is awesome! :D