Reskillable

Reskillable

20M Downloads

Changing progression requirement

jjc54 opened this issue ยท 9 comments

commented

I really like reskillable, but it occurred to me that a player could just level up all skill categories to max by grinding a mob farm. This made me wonder if there were a way to require certain actions to be completed before a skill level can be obtained. For instance - killing things leveled up combat, brewing leveled up magic. Then exp could be used as currency to unlock the passive traits. This would force players to progress through vanilla/a pack by performing specific tasks, similar to blood magics upgradeable armor if you are familiar with that.

commented

This is more or less already handled in CompatSkills with the level-locking. http://crafttweaker.readthedocs.io/en/latest/#Mods/CompatSkills/Supports/Reskillable/LevelLockHandler/
You can use any requirements in the list of requirements (CompatSkills adds a lot of new requirement types itself but you can also use item requirements, traits, or skill levels). One thing to note is I think the test example has a typo and it should be

mods.compatskills.SkillLocks.addLevelLock(<skill:reskillable:agility>, 11, "reskillable:gathering|3", "adv|minecraft:husbandry/plant_seed");

In addition, the next version of Reskillable will have the ability to use logic gates in requirements such as being able to require having requirement x or requirement y.

commented

Hmm this looks promising. I'll have to mess around with this and see if I can make it like I want. Thanks for the help!

commented

Ok so what I gather from reading/testing is that there is no way to give a player a special type of experience in order for them to level up a certain skill. For instance, I can't make a player mine 1000 blocks and then they gain one level of mining. However it does seem like I could create a custom advancement that unlocks when you have mined 1000 blocks, and then the unlocking of that advancement would allow the player to level up his mining (Since I will be level locking it). Then whatever traits/items I blocked behind that level of mining would unlock. Is this correct?

commented

That would work. At the moment the traits would just become purchasable until #100 is complete. I am currently working on some backed stuff to allow traits of zero cost to be unlocked automatically which then would allow that to happen. I also believe @Lanse505 is planning/creating some sort of addon that will more directly allow creating requirements based on mining blocks or killing mobs etc.

Though for now I do believe the workaround you listed should work.

commented

Awesome, I look forward to seeing the addon! Until then, I will begin testing my workaround and will let you know if I run into any bugs. Thanks for the help!

commented

I am having a lot of fun messing around with Reskillable! My current method of using the mod is to simply have the player follow my custom advancements in order to unlock certain items in the game. I did have a question regarding traits though. Since I disabled the use of skills in my pack (Since advancements are my key method of progression), does this mean traits are inaccessible? I was hoping to add advancement requirements to traits and then just explain in the advancement description what ability has been unlocked and what it does. Is this possible?

commented

There are two ways how you could do this.

In the next versions I think it technically will be possible when used with compatskills as Lanse requested I add a feature to hide skills. You then would be able to set the trait cost to zero and have it require an advancement.

The way you could do it now is in the config you can disable being able to level up skills manually. They would still show in the gui but they would not be able to level them up. Then you would do the same thing of setting the trait cost to zero and set it to require an advancement.

Any traits that have a "cost" of zero automatically unlock when the requirements are met.

commented

Oh true that makes sense. I may go that route and just have them require an advancement. Glad to hear you guys have thought of this before!

commented

Gonna close this issue for now, if you still want this issue open/something in this discussion hasn't been implemented yet, please open a new issue ticket with the missing things.