Code Monkey home page Code Monkey logo

skillsmod's People

Contributors

pufmat avatar cape-city avatar potat369 avatar ryotagami avatar thelegendofsaram avatar xxzenk0 avatar nageih avatar smoong951 avatar

Stargazers

NiceKun avatar SagXD avatar Miles avatar André Albanese Junior avatar Kobuz avatar  avatar  avatar IOxyz avatar Matthias avatar Alptekin Eğe avatar Halu avatar  avatar koutsie avatar "Non" avatar  avatar Yldales avatar  avatar Benjamin Ryan avatar Molasses avatar Gian_Pereira(Jason Todd) avatar jack avatar Logan Speck avatar  avatar Alex Fowler avatar wimpy avatar  avatar Caetano Siemann avatar  avatar Briggs Tucker avatar bdani avatar mazzie avatar  avatar  avatar ItsMeNotJames avatar Rizky Pramudya avatar  avatar

Watchers

Rizky Pramudya avatar NatIrisa avatar  avatar

skillsmod's Issues

I made a simplified Chinese json, and I hope it can be used in subsequent versions.

我做了一个简体中文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打开你的技能树."

}

(Suggestion) SKILL IDEAS

BUILDING

~Additives

  • Extra Block Reach
  • Placement Speed
  • Mining Speed
  • Digging Speed
  • Wood Cutting Speed
  • Resourceful Chance (Dupllicates from Logs)
  • Fortune Chance (Duplicates from Ores)
  • Treasure Chance (Drops from Dirt)

~Toggles

  • Vein Miner (TOGGLE PASSIVE)
  • Extra Vein Miner Range
  • Tree Chop (TOGGLE PASSIVE)
  • Extra Tree Chop Range

COMBAT

~additives

  • Knockback
  • Armor
  • Blast Protection
  • Fire Protection

~Toggles

  • Trick Shot (TOGGLE PASSIVE, Homing Arrows)
  • Trick Shot Accuracy

~Class Based

  • Heavy Hitter (Bonus DMG, Slower Bow Charge, Less AtkSpeed)
  • Swift Edge (Bonus AtkSpeed, Quicker Bow Charge, Less DMG)
  • Sharp Reflex (Bonus MoveSpeed, Less Resistance)
  • Sturdy (Less MoveSpeed, More Resistance)
  • Barbaric Stuborness (DMG UP with non-enchanted weapons and +1DMG to non-weapons)
  • Barbaric Resolve (Bonus DMG the less Armor you have)
  • Sniper (Bonus DMG on healthy mobs, Reduced DMG on damaged mobs)
  • Eagle Eye (Straighter Shot Angle. Bonus DMG on ranged weapons, Less Damage on Melee)
  • Dilution (Chance to not consume thrown Splash Potions. Duplicate Potions from Brewing Stand. Slight Resistance and MoveSpeed Down)
  • Alchemian Madness (Magic DMG UP, Slight Melee and Range DMG down)

BODY

~additives

  • Sprint Speed
  • Jump Height
  • Swim Speed
  • Fall Damage Resistance
  • Charge Jump Height (Jump While Sneaking)
  • Long Jump Lenght (Jump While Sprinting)

SURVIVAL

~additives

  • Extra Health
  • Extra Hunger
  • Extra Air
  • Extra Saturation from Foods
  • Faster Health Regeneration
  • FeastFest Chance (Duplicates from Food Crafts)
  • HarvestFest Chance (Duplicates from Crops)
  • SmeltFest Chance (Duplicates from furnance)
  • BrewFest Chance (Brewing Stand spits out Ingredient Duplicates)
  • Anvil Steel Chance (Less odds of breaking)

Can not open the skill tree in LAN

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.

Mining skill allows to mine non pickaxe blocks faster than normal

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 work as intended

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"
			}
		}
	]
}

Failure to apply modded attributes from playerEX

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"
				}
			}
		]
	}

Sometimes Invalid Player Data, but mostly Cannot invoke "net.minecraft.resources.ResourceLocation.toString()" because "p_130086_"

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

  1. Pufferfish's Skills doesn't open and doesn't give errors, I think?
  2. I got kicked after some time or server restarted after some time for no reason?
  3. now I cannot join the server because of another error ([de.teamlapen.lib.network.ClientboundUpdateEntityPacket/]: There is nothing to update for entity ServerPlayer['Dimas13'/39, l='ServerLevel[world]', x=39.50, y=65.00, z=-35.50, removed=UNLOADED_WITH_PLAYER](Dimas13 at 39.5,65.0,-35.5))

if it has ERRORS in config for definition and others, then nothing is happening and server working fine

Server Logs:

  1. "Reloaded with ./reload while being on server" :
    latest1.log

  2. "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

Crashing on 1.16.5 Forge

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!

Design Concerns/Feature Requests

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.

Suggestion: A config option for showing when exp is gained and how much is gained (plus requirements for skill points)

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.

Mismatched Mod Channel List

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.

'Dummy' reward type usage

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,

Editor Breaks Connection Files

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?

Issue with Inventorio

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

Add more attributes like digging, swimming, chopping...etc speed?

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.

More expression options

Hello,

would be please possible to implement the modulo (%) operator? (most important one)


plus several questions that are a bit off-topic:

  1. Is it possible to somehow make a skill tree that unlocks after completing one?
  2. Is there a discord or community where others can ask for help?
  3. I have a warning that I'm not sure why I'm getting:
[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"

skills mod online editor suggestion

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

[Feature Request]

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.

Exclusive root option does not seem to be working

On the latest version, and also the previous version, the exclusive roots option in the category.json does not seem to work.
You are able to loop around to a locked root and unlock it. I assume this is not intended.

Screenshot of the issue using the default 'combat' tree:
2023-06-19 17_43_05-Window

Survival Reimagined Overrides Stamina Attribute

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.

getUnlockedSkills replacement

Hi there 👋

With the removal of getUnlockedSkills from the API in the latest version, is there an alternate way I can access this information?

Better Error Messages

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...

Levels do not update with points given via command

When giving a player points in a specific tree via commands, the tree's level does not update.
Example:

  1. Start a fresh game - skill tree is level 0
  2. Add 10 points to the tree via command
  3. The points are added, but the tree's level is still 0

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.

issue with take dmg

[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.

[Suggestion] Add a Builder skill tree

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:

  1. Decrease placing blocks cooldown by 5%
  2. Increase reach for block placement by 0.1 blocks
  3. Increase jump height by 5%
  4. Final level ffor each end of tree: adding and increasing chance to not spend block when placed (works only 1 time for each block and if block spended it cannot be rerolled again for duping)

Suggestion: gain experience when player is hit

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. :)

Change max attribute levels to a lower value

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.

See this image

Generally 1024 is a good enough max for any attribute, if not that then 2048 at most.

Chat notifications

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

Data structure question

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?

Invalid Player Data

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

Suggestion: Allow Experience to pull from Player XP instead.

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.