Improvable Skills 3

Improvable Skills 3

1M Downloads

Suggestion/Enhancement: add option to start game with skills unlocked (not needing book)

lynnpye opened this issue · 8 comments

commented

It would be nice to not need to craft the book to unlock the skills. I'm working on a modpack with lore that makes it a little hard to justify starting the player with the book of skills and also telling them they can just dispose of it now.

commented

Why not make a datapack that gives you the book when you first enter the world?

commented

Actually that's what I've done, but once you have the book you no longer need it as it's functionality is available through the inventory screen. In actual practice I tend to delete the book upon crafting it, using it only as an unlock tool.

In my case I've also set up a startup script to remove the book immediately upon receipt on first login, and so accomplishing what I want. I would just prefer not to jump through the hoop. :)

commented

Hm... What if I made a redeemable item that could have scroll-like behavior, so you use it once and it flies into the corner and forms a book or something?
That would be a good trade-off, so you can unlock it and consume it, I suppose :D

commented

Well, it would certainly alleviate having to remove the book from inventory, but then I'm back to having the player have something else in their inventory they need to interact with at the outset, which of course is my problem and not yours. Just trying to go for a particular aesthetic with my modpack and have very little they need to start interacting with from the get go. Unless I can set up a command in the player-start.mcfunction that causes them to use the interaction item initially without having to actually do it themselves.

As an alternative, maybe expose the functionality via a command? I was pleased to find you had added commands to add/alter skills and abilities since I wanted to start them off with the ranged attack skill to start with too and could avoid having to add that to the starting inventory. Maybe something like:

/improvableskills book unlock|lock

That could be in place of or alongside the consumable change.

commented

As an aside, I've found that the command:
/improvableskills skills give only 0
does not unlock a skill and make it learned. Instead I have to do this:
/improvableskills skills give only 1
/improvableskills skills give only 0
which unlocks it and sets it to level 1 then drops it back to 0.

The entirety of the .mcfunction I fire in response to a custom hidden advancement using the "minecraft:inventory_changed" trigger is:
clear @p improvableskills:skills_book
improvableskills skills give @p only improvableskills:atkdmg_ranged 1
improvableskills skills give @p only improvableskills:atkdmg_ranged 0
to remove the book now that it's opened up the skills and to unlock but not promote the ranged attack bonus skill at the outset.

Apropos of nothing, here's a little more background for my modpack to explain why I care. The gist is that the player is in a sort of isekai scenario, and given the ability to increase their power, both intrinsically (via your mod) as well as extrinsically (via gear and magic from other mods). They are given a book (Patchouli based and custom advancement gated, written by me) which will guide them through various activities and tying all of it back to the lore.

In this case, the "lore" in question is that some other entity was likewise trapped in the MC universe and failed to escape, creating this book to communicate with the next poor sod who showed up, and leading them, Tom Riddle like, to actually helping the BBEG to escape (a final boss fight the player will end up having). The initial starting equipment will be some wooden tools, leather armor, backpack, torches, bread, the book, and an akashic tome with other books in it (alex's mobs animal dictionary, biome pedia, stuff like that).

All of that gear is "generic" enough that it can fit with a fairly straightforward explanation in-character in the book. But then needing to explain that they were given this book which they can now just sort of ignore was immersion breaking. Then adding a skill scroll to that to give the ranged attack skill from the start, and not just throwing that away but actually using it, it just felt a little more offputting. So I wrote the .mcfunction above and configured it to run the first time the player logs in. All well and good.

But I could skip all of that if a) I could configure the mod to just have the skills unlocked for a player without needing to craft the book or interact with anything at all, even a consumable and b) if I could likewise configure which skills a player gets to start with from the outset instead of having to manually add (or remove) them at the start. Thus rolling the dialog into a general discussion of how they are unique and able to excel beyond the natives, yadda yadda yadda.

Anyhow, like I said, ultimately a me problem and not a you problem, but I figured if I asked for the change and you made it, I could eliminate the rigmarole I've set up that you see above. /long-winded-unnecessary-explanation

commented

I'll do an update with some more sub-commands. I do not think that giving/taking level 0 makes sense, so I will instead make it a separate sub-command. More info will be provided later today.

commented

Made a few sub-commands for 1.19.2 and 1.19.3 (releasing today):

/improvableskills book unlock <player(s)> [silent]
/improvableskills book lock <player(s)>
/improvableskills skills <lock/unlock> only <skill>
/improvableskills skills <lock/unlock> everything

The [silent] arguments prevents chat message (You have just made Book of Skills! Now you can boost certain skills.) from being sent to players.
Hope this is what you need!

commented

Looks good, thank you! And it greatly simplified the advancement sequence I was using. This works a mint for my purposes. :) 🥇

Edit to not be ungrateful. Thank you again for such quick response. :)