pufmat / skillsmod Goto Github PK
View Code? Open in Web Editor NEWA Minecraft mod that adds a fully configurable skill system to the game.
License: Other
A Minecraft mod that adds a fully configurable skill system to the game.
License: Other
我做了一个简体中文json 希望可以用于后续版本
I made a simplified Chinese json, and I hope it can be used in subsequent versions.
{
"text.puffish_skills.skills": "技能",
"text.puffish_skills.points_left": "剩余点: ",
"category.puffish_skills.skills": "技能",
"key.puffish_skills.open": "打开技能树",
"chat.puffish_skills.new_point": "你有一个新的技能点。按%s打开你的技能树."
}
BUILDING
~Additives
~Toggles
COMBAT
~additives
~Toggles
~Class Based
BODY
~additives
SURVIVAL
~additives
I have this mod installed in a custom mod pack I am playing with someone over LAN. When I launch a save I can access the skill tree. When I open to LAN I can access the skill tree. However, the second someone joins the game, I can no longer access the skill tree, but the person who joined can access their own skill tree.
Having a decent amount of mining skills paired with an efficiency pickaxe allow the player to break non pickaxe blocks a lot faster.
For instance:
maxxed out mining skill tree + efficiency IV diamond pickaxe allow almost insta mining of oak planks.
The same isnt true in reverse
maxxed out mining skill tree + efficiency IV diamond axe = mining stone at regular slow speed.
Using version: 0.3.0-1.19.2
Cost doesn't set the amount of points you'll need to spent on skill but a threshold under which u cant learn it (still cost 1 point).
Example: cost set to 2, if u have 1 point than u can't learn it, if u have 2 points than u can learn it and will left with 1 point (instead of 0).
Here is definition that I used.
"luck+0.25": {
"cost": 2,
"title": "+0.25 Luck",
"icon": {
"type": "effect",
"data": {
"effect": "luck"
}
},
"rewards": [
{
"type": "puffish_skills:attribute",
"data": {
"attribute": "generic.luck",
"value": 0.25,
"operation": "addition"
}
}
]
}
Hi,
I'm using MC 1.19.3 on fabric and when loading into the game, this message appears:
The file is created, but complete empty:
This is also shown in the log:
Hope i don't forgot something to report.
as in comment. recieve message
Expected a valid player attribute at `attribute` at `data` at index 0 at `rewards` at `evasion+10%` at `categories\combat\definitions.json`
Expected a valid player attribute at `attribute` at `data` at index 0 at `rewards` at `rangedcriticalchance+10%` at `categories\combat\definitions.json`
Expected a valid player attribute at `attribute` at `data` at index 0 at `rewards` at `rangedcriticaldamage+15%` at `categories\combat\definitions.json`
heres the code, the attribute names are correct
"rangedcriticalchance+10%":{
"title":"+10% Ranged Crit Chance",
"icon": {
"type": "item",
"data": {
"item": "spectral_arrow"
}
},
"rewards": [
{
"type": "puffish_skills:attribute",
"data": {
"attribute": "playerex:ranged_crit_chance",
"value": 0.1,
"operation": "multiply_total"
}
}
]
},
"rangedcriticaldamage+15%":{
"title":"+15% Ranged Crit Damage",
"icon": {
"type": "item",
"data": {
"item": "crossbow"
}
},
"rewards": [
{
"type": "puffish_skills:attribute",
"data": {
"attribute": "playerex:ranged_crit_damage",
"value": 0.15,
"operation": "multiply_total"
}
}
]
},
"evasion+10%":{
"title":"+10% Evasion",
"icon": {
"type": "item",
"data": {
"item": "crossbow"
}
},
"rewards": [
{
"type": "puffish_skills:attribute",
"data": {
"attribute": "playerex:evasion",
"value": 0.15,
"operation": "multiply_total"
}
}
]
}
whenever i have this mod and I try to play it with epic fight I cant attack, as in when I go to combat mode i cant attack. Is there a way to fix this?
I think it would be nice to have an option to allow skills and points to reset on death for a roguelike feel
Hello, it's quite difficult to say what exactly the error is, but it seems like the main reason is: [Server thread/ERROR] [net.minecraftforge.eventbus.EventBus/EVENTBUS]: Exception caught during firing event: Cannot invoke "net.minecraft.resources.ResourceLocation.toString()" because "p_130086_" is null
It's happened after I was reloading and changing some definitions for new attributes on a server, while changing I wasn't noticing anything but server froze... strangely you could continue to play while on server but
if it has ERRORS in config for definition and others, then nothing is happening and server working fine
Server Logs:
"Reloaded with ./reload while being on server" :
latest1.log
"After server restart after 1 Log and trying to join" :
latest2.log
Client Logs: Nothing happened? But still if it somehow helps
latest.log
ModPack on server: (Sorry if modpack is big)
Mods.txt
Thank you if you could somehow help with our problem
Heyo! Figured I'd put this here real quick.
I'm using the newly released 1.16.5 Forge version of the mod, marked as being in alpha. I expected issues, and I did find them, so I hope me sharing them here will be useful in some manner.
I'm using a decent-sized modpack, and when I use this mod with the other mods, it crashes upon loading a world. The loading progress reaches 100%, and then Minecraft boots me out entirely. When I remove this mod, however, it works fine. So either;
-This mod has an incompatibility with one or more of the mods I've used, or
-The newly released 1.16.5 version has some sort of bug.
I have attached my crash log from when this occurs in the hopes that it can help identify and, assuming it's not an incompatibility issue, fix the problem at hand.
crash-2023-06-17_22.41.51-server.txt
Hope this helps!
title self explanatory.
~ Forge 1.19.4
My friend and I looked at the API for our own project. This looks great and is much more configurable than Reskillable, but we have a few suggestions or use cases we see missing here:
There appears to be no way to specify any additional requirements before you take on a perk; no ability to set explicit prerequisites like prior skills or gamestages, only point costs.
The tree seems bidirectional, with no way to specify one-way relationships. While this is pretty neat, it can also lead to players traversing some trees in the wrong direction. I recommend adding an optional Json field to every skill pair, specifying if the two skills' relationship is first-to-second, second-to-first, or bidirectional.
In cases where a perk is connected to two prior perks, doesn't look like you can specify if ALL the perks leading up to it must be unlocked before unlocking it, or if only one is necessary. I recommend making this an integer function for any given perk that serves as the minimum number of perks you need to have unlocked beforehand before you can get that perk.
There seems to be no ability to specify exclusive perks in a branching point on the tree, save for the at roots themselves. This precludes situations where you can force a player to specialize at a certain point in their progression. However, if we were able to dynamically specify more requirements, we could implement this ourselves - for instance, via mutually exclusive gamestages.
Reskillable worked by allowing players to buy skill points in a Category using XP. There is no way to implement this as there is no button function to allow players to do this. My own use case requires this; while it's cool that we can specify the ways each Category levels, some, including me, would like to have a system where players get to choose what Category they level by playing the game the way they want, rather than playing it the way that Category demands.
This one would be a nice stretch goal, but the ability to turn a perk on and off once you've unlocked it. I realize the actual code for a perk being "on" and "off" would have to be implemented by a user, but a nice option to allow a toggle on UI side would be great. For example, you can allow the configurer to run separate command(s) when the perk is unlocked, when it is enabled, and when it is disabled.
This would be extremely useful in cases where experience is configured to be obtained in more uncommon ways, like mining very specific blocks or killing certain mobs. If players know when they obtain experience and how much they obtain when they get it, they will know to properly pursue these experience gain methods.
Additionally, seeing the amount of current experience you have in the skill menu as well as how much is necessary for your next skill point is great for letting players know how close they are to their next level-up.
Personally, I am using this mod to add experience to only very select boss-like enemies for a unique type of progression in the modpack I work on, and I also have a few select blocks that grant experience to the players (ex: mob spawners). However, I need to be able to let players know that these specific bosses are granting them experience as well as which bosses are more/less valuable for them as to reduce frustration (It's bad if they accidentally kill 3 of Boss A where they could've just killed 1 of Boss B).
Also, since I'm making it fairly difficult to reach the next level with high experience requirements (I do this to create a disparity between "grind" and the boss-killing aspect to make you level up quickly if you kill bosses but if you don't want to do that then there are safer, but much slower methods), I need to be able to let players know how close they are to the next level up so they aren't essentially swinging in the dark.
Thank you for your consideration.
When joining my server with only this mod installed I get the following error "Mismatched Mod Channel List".
All Versions are identical on Server and Client.
Minecraft Version:
1.20.2
Forge Version:
48.0.30
Mod Version:
0.9.0-1.20.2-forge
Only usable entry in Log I could find is:
[Netty Client IO #0/ERROR] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channels [puffish_skills:show_category, puffish_skills:points_update, puffish_skills:experience_update, puffish_skills:skill_unlock, puffish_skills:invalid_config, puffish_skills:hide_category] rejected their server side version number during listping
[Netty Client IO #2/ERROR] [ne.mi.ne.NetworkRegistry/NETREGISTRY]: Channels [puffish_skills:show_category,puffish_skills:points_update,puffish_skills:experience_update,puffish_skills:skill_unlock,puffish_skills:invalid_config,puffish_skills:hide_category] rejected their server side version number
I have reinstalled the mod multiple times on server and client without any change to the error message.
Hi there 👋
I've just updated Simply Skills to 1.20.1 and have noticed that there has been a dummy reward type added to the latest version of Puffish Skills.
Is this currently usable in the definitions file? If so, do you have an example of its usage you could provide?
Cheers,
for some reason making any new connnection right now breaks the whole editor. I know this didnt used to be the case since i made a skilltree then and im able to play with it fine. The problem comes about when i try and make changes now, which always break it for some reason. Did you make some change to it recently?
When Inventorio is installed, the default mining category no longer applies their bonuses. Mining isn't faster and fortune isn't applied. All other categories still work.
Fabric 1.20.1
A larger set of options for skills would be really nice to have. Or perhaps a write-up on how the current skills like mining_speed work and how additional effects might be added, so motivated devs can make PRs to add additional skills to this mod?
Or suggestions on built-in attributes in forge, fabric, or common mods?
Trying to figure out how to add new definitions for other skills.
Hello,
would be please possible to implement the modulo (%) operator? (most important one)
plus several questions that are a bit off-topic:
[19:40:54] [Server thread/WARN] [puffish_skills/]: [puffish_skills] Expression returned a value that is not finite at `expression` at `data` at `experience_per_level` at `categories\combat\experience.json`
my formula:
(experience per level)
"expression": "((level ^ 3) / (level * 1.05)) + 200"
(sources - experience)
"expression": "dropped_xp + max_health / 5"
would love to see the editor be allowed to create definitions since a lot of it in the json is the same just a few differences here and there
Could you backport the most recent version of 1.20/1.20.1 to 1.19.2? Or at least just backport the TakeDamage experience source option? It's such a helpful option that I'd love to integrate with my current modpack.
Minecraft Version: 1.16.5
Forge - 36.2.39
Mods + Mod Versions:
appleskin-forge-mc1.16.x-2.4.0
InsaneLib-1.4.2-mc1.16.5
puffish_skills-0.5.0-1.16.5-forge
IguanaTweaksReborn-2.8.5-mc1.16.5
Survival Reimagined (formerly known as IguanaTweaksReborn) fiddles with the exhaustion system and has config options to increase exhaustion based on a flat multiplier as well as block breaking. When Survival Reimagined is installed alongside Pufferfish's Skills, it nullifies any changes that the stamina attribute should do, and appleskin helps to display this bug the best. I have tried disabling the changes Survival Reimagined makes in its config, but it doesn't fix the conflict.
To replicate the issue, install the above four mods, load into a world, run around and observe the default speed at which exhaustion accumulates. Then, use the command "/attribute @p puffish_skills:player.stamina base set 12", run around again and watch as exhaustion levels simply tick down the same as before. The default behavior with Survival Reimagined not installed, with stamina set to 12, is that the saturation stops when the full hunger bar has the gray background for a prolonged period of time. The effect becomes more obvious the higher the stamina attribute is supposed to be.
Hi there 👋
With the removal of getUnlockedSkills from the API in the latest version, is there an alternate way I can access this information?
I am working on custom skill tree ( I am writing json by hand, because online editor is good, but doesn't work for me ( when I press E it does: absolutely nothing ) ). So, I am trying to make it actually to work, but it loads with error:
[08:15:50] [Server thread/ERROR] [puffish_skills/]: [puffish_skills] Configuration could not be loaded:
Expected `categories/magic/connections.json` to be an array.`
But my connections.json
, is done fully according to requirements:
{
"normal": {
"bidirectional": [
["start", "max-mana-t1-1"],
["max-mana-t1-1", "max-mana-t2-1"],
["max-mana-t2-1", "max-mana-t3-2"],
["max-mana-t3-2", "max-mana-t3-3"],
["max-mana-t3-3", "max-mana-ultimate"],
["max-mana-t1-1", "max-mana-t2-2"],
["max-mana-t1-1", "max-mana-t3-4"],
["max-mana-t1-1", "max-mana-t3-5"],
["max-mana-t1-1", "max-mana-t3-6"],
["start", "cd-red-t1-1"],
["cd-red-t1-1", "cd-red-t2-1"],
["cd-red-t2-1", "cd-red-t3-2"],
["cd-red-t3-2", "cd-red-t3-3"],
["cd-red-t3-3", "cd-red-ultimate"],
["cd-red-t1-1", "cd-red-t2-2"],
["cd-red-t1-1", "cd-red-t3-4"],
["cd-red-t1-1", "cd-red-t3-5"],
["cd-red-t1-1", "cd-red-t3-6"]
]
},
"exclusive": {
"bidirectional": [
["max-mana-ultimate", "cd-red-ultimate"]
]
}
}
So, even tho I am maybe dumb and simply can't see the error, it would be great if it showed kind of more info about the actual error...
When giving a player points in a specific tree via commands, the tree's level does not update.
Example:
I would expect the level to be 10 in this example.
This allows a player to take advantage of the low exp required to level up.
This isn't likely to be an issue during ordinary gameplay, but this causes issues with an item in Simply Skills that allows a user to store & load builds, by adding and removing points via the API.
[03:22:10] [Server thread/ERROR]: [puffish_skills] Configuration could not be loaded:
Could not read file experience.json
.
experience.json
{
"enabled": true,
"experience_per_level": {
"type": "values",
"data": {
"values": [
100,
125,
150,
175,
200,
225,
250,
275,
300,
325,
350,
375,
400,
425,
450,
475,
500,
525,
550,
575,
600,
625,
650,
675,
700,
725
]
}
},
"sources": [
{
"type": "puffish_skills:take_damage",
"data": {
"parameters": {
"damage": {
"type": "minecraft:damage",
}
},
"experience": [
{
"expression": "damage * 0.25"
}
]
}
}
]
}
I just copied code from page about take_damage, and it doesn't work. I can't figure out, where is mistake.
Expirience for skill tree can be gained by unique placing of decorative blocks (class of decorative blocks needs to be custom)
Skills in the tree:
So, I am working on a modpack for me and my friends an was looking for a way to implement your mod for a tank role. I would like to be able to gain experience for the skill tree only when the player is hit by another entity, so it would encourage a more tanky playstyle.
Maybe you could consider this. :)
Currently most of the attributes are set to Double.MAX_VALUE, which is a very large number. This causes an issue when Apotheosis' Apothic attributes is installed, as it shows the max value of the player's attributes in a list. The long number adds unnecessary clutter to the screen.
Generally 1024 is a good enough max for any attribute, if not that then 2048 at most.
With this modpack, the original install works fine, but when I update any mod, irrelavent which one, this breaks.
attached is my log:
Any help on this?
Hi, I made a new skills and connections file on your online editor but now when I try to join a world or create one I crash
Crash report : https://pastebin.com/YmBt1uVm
Log : https://pastebin.com/QxTk7Pm5
Waiting for a response, thank you!
Elytra flight does not work at all when both this mod and Caelus API are installed
Minecraft crashes with code -805306369 when using this mod in my modpack. Here is latest.log with this issue
latest.log
is there any way to disable the chat notifications so it doesn't pop up so frequently? I tried looking in the config but couldn't find anything, forge 44.1.23, version 1.19.3
title explains,
Minecraft Forge 1.19.3
Hey there,
I'm currently working on a mod that includes Puffish Skills as a dependency in order to grant the player some more complex passive abilities. I'm running into trouble understanding how to pack the datafiles into my mod.
In my testing, I've been keeping my definitions, skills, etc in the run>config of my dev environment. This has been working well, however, I would like to have these files included in the mod itself when it's shipped.
I've tried adding the datafiles to my resources>data, using the folder structure outlined here: https://github.com/pufmat/skillsmod/wiki/Configuration-Structure
This doesn't work, and the files are completely ignored. Is there something I'm missing, or is there currently no way to use these datafiles outside of Puffish Skill's config folder?
I'm using version 0.4.0 on 1.19.2 fabric along with the mod simply skills but the skills interface is not opening at all
You'd better add some checks for naturally generated resources or another check to prevent infinite farming of exp through placing and mining blocks
Hi,
Please consider adding a tab or a way to see what our total stats are, like max health, armor, mining speed, etc.
Using the mod (ver. 0.8.0) on forge 1.19.2 with the origins and origins plus plus mod gives the error connection lost: Invalid Player Data. I came to this conclusion as I remove the mod the pack I have works again
The webpage loads REALLY slow for me, so if it isn't too hard to do having it as an exe or something that I could load up instead would be something I'd be VERY grateful for.
Hi! I was hoping to use Pufferfish's Skills to create a recipe research system but the current available experience sources dont seem fitting for that. I think it'd be cool there was an experience source that was tied to your player level / xp instead.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.