Skip to content

Commit

Permalink
3.7.0+1.20.1 (#12)
Browse files Browse the repository at this point in the history
* Initialize 3.6.2 w/ dependency updates

* 3.7.0+1.20.1 staging

* Integrate new Ranged Weapon API
  • Loading branch information
bibi-reden authored May 11, 2024
1 parent 68b0fd6 commit ed35f6d
Show file tree
Hide file tree
Showing 13 changed files with 95 additions and 55 deletions.
11 changes: 6 additions & 5 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,25 +61,26 @@ jobs:
[email protected]+1.20.1(required){modrinth:P7dR8mSH}{curseforge:306612}#(ignore:github)
[email protected]+1.20.1(required){modrinth:KCGxOJsE}{curseforge:955929}#(ignore:github)
[email protected](required){modrinth:9s6osm5g}{curseforge:348521}#(ignore:github)
[email protected]+1.20.1-fabric(embedded){modrinth:AOyJhFvl}{curseforge:643780}#(ignore:github)
cardinal-components@5.4.0(embedded){modrinth:K01OU20C}{curseforge:318449}#(ignore:github)
[email protected]+1.20.1(embedded){modrinth:AqaIIO6D}{curseforge:962162}#(ignore:github)
cardinal-components@5.2.2(embedded){modrinth:K01OU20C}{curseforge:318449}#(ignore:github)
modrinth-id: 4UKlJSdk
modrinth-token: "${{ secrets.MODRINTH_TOKEN }}"
modrinth-dependencies: |
[email protected]+1.20.1(required){modrinth:P7dR8mSH}{curseforge:306612}#(ignore:github)
[email protected]+1.20.1(required){modrinth:KCGxOJsE}{curseforge:955929}#(ignore:github)
[email protected](required){modrinth:9s6osm5g}{curseforge:348521}#(ignore:github)
[email protected]+1.20.1-fabric(embedded){modrinth:AOyJhFvl}{curseforge:643780}#(ignore:github)
cardinal-components@5.4.0(embedded){modrinth:K01OU20C}{curseforge:318449}#(ignore:github)
[email protected]+1.20.1(embedded){modrinth:AqaIIO6D}{curseforge:962162}#(ignore:github)
cardinal-components@5.2.2(embedded){modrinth:K01OU20C}{curseforge:318449}#(ignore:github)
[email protected](embedded){modrinth:oLPaySSb}#(ignore:curseforge)#(ignore:github)
# Modrinth has issues accepting javadocs right now

github-tag: "${{ steps.mod_version.outputs.mod_version }}"
github-token: ${{ secrets.REPOSITORY_TOKEN }}
github-commitish: ${{ steps.minecraft_version.outputs.minecraft_version }}/main

version: "${{ steps.mod_version.outputs.mod_version }}"
version: "${{ steps.
.outputs.mod_version }}"
version-type: release
changelog-file: CHANGELOG.md

Expand Down
39 changes: 20 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,38 @@
### Changelog
# Changelog

#### Dependencies
## 3.6.2

-Requires Fabric API version `0.84.0+1.20.1` or greater.
### Dependencies
- Requires Fabric API version `0.84.0+1.20.1` or greater.

-Requires Data Attributes version `1.5.1+1.20.1` or greater.
- Requires Data Attributes Directors Cut version `1.6.0+1.20.1` or greater.

-Now comes embedded (jar-in-jar) with [Projectile Damage](https://github.com/ZsoltMolnarrr/ProjectileDamage) `3.2.2+1.20.1-fabric`.
- Comes embedded (jar-in-jar) with [Ranged Weapon API](https://github.com/FabricExtras/RangedWeaponAPI) `1.1.0+1.20.1-fabric`.

#### Game Play
### Gameplay

+Added client side config option to disable inventory tabs but still allow hotkey access. This is superseded by the server side config option to disable the attributes screen.
+ Added client side config option to disable inventory tabs but still allow hotkey access. This is superseded by the server side config option to disable the attributes screen.

-Removed Ranged Damage attribute.
- Removed Ranged Damage attribute.

+Added support for [Projectile Damage](https://github.com/ZsoltMolnarrr/ProjectileDamage).
+ Added support for [Ranged Weapon API](https://github.com/FabricExtras/RangedWeaponAPI).

*Attribute screen text is now a bit smaller by default.
* Attribute screen text is now a bit smaller by default.

+Added localisation for skill/level sounds.
+ Added localisation for skill/level sounds.

+Updated chinese translation (thanks [Annijang](https://github.com/Annijang)).
+ Updated chinese translation (thanks [Annijang](https://github.com/Annijang)).

*Reworked reset on death config option: is now a percentage slider (0 - 100); 0 means all attributes/skill points/refund points/levels are reset to their defaults on death; 100 means all attributes/skill points/refund points/levels are kept on death; and any percentage in between is equivalent to the percentage of attributes/skill points/refund points/levels that are kept on death. For example, 30% means you will only keep 30% of the aforementioned on death.
* Reworked reset on death config option: is now a percentage slider (0 - 100); 0 means all attributes/skill points/refund points/levels are reset to their defaults on death; 100 means all attributes/skill points/refund points/levels are kept on death; and any percentage in between is equivalent to the percentage of attributes/skill points/refund points/levels that are kept on death. For example, 30% means you will only keep 30% of the aforementioned on death.

*Command `/playerex reset <player>` now adheres to the current reset on death config option.
* Command `/playerex reset <player>` now adheres to the current reset on death config option.

+Added command `/playerex reset_all`: this applies the command `/playerex reset <player>` to all currently online players. Note that to reset offline players *whilst they are offline* you will still need to manually edit their NBT data.
+ Added command `/playerex reset_all`: this applies the command `/playerex reset <player>` to all currently online players. Note that to reset offline players *whilst they are offline* you will still need to manually edit their NBT data.

*Modified command `/playerex resetChunk` to be `/playerex reset_chunk`.
* Modified command `/playerex resetChunk` to be `/playerex reset_chunk`.

*Modified command `/playerex refundAttribute` to be `/playerex refund_attribute`.
* Modified command `/playerex refundAttribute` to be `/playerex refund_attribute`.

*Modified command `/playerex skillAttribute` to be `/playerex skill_attribute`
* Modified command `/playerex skillAttribute` to be `/playerex skill_attribute`

*Lots of minor performance tweaks.
* Lots of minor performance tweaks.
34 changes: 21 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,32 @@
![Betterlogo](https://cdn.discordapp.com/attachments/1085950866063892481/1192708739212529724/pexdc.png?ex=65aa0f92&is=65979a92&hm=79710b2bb6737a1db5ee6362c79757ccf5bfd970c00a9203af8205abce72d42b&)
![logo](https://cdn.modrinth.com/data/cached_images/f8dd730cf295dc3a449337df81cc47e010eddf3e.png)
[![GitHub license](https://img.shields.io/badge/MIT-MIT?style=for-the-badge&label=LICENCE&labelColor=582b11&color=a48350&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fblob%2F1.20.1%2Fmain%2FLICENSE)](https://github.com/PlayerEXDirectorsCut/playerex/blob/1.20.1/main/LICENSE)
[![GitHub stars](https://img.shields.io/github/stars/MerryweatherLost/playerex?style=for-the-badge&logo=github&color=ffb046&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fstargazers
[![GitHub stars](https://img.shields.io/github/stars/PlayerEXDirectorsCut/playerex?style=for-the-badge&logo=github&color=ffb046&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fstargazers
)](https://github.com/PlayerEXDirectorsCut/playerex/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/MerryweatherLost/playerex?style=for-the-badge&logo=github&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fforks
[![GitHub forks](https://img.shields.io/github/forks/PlayerEXDirectorsCut/playerex?style=for-the-badge&logo=github&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fforks
)](https://github.com/PlayerEXDirectorsCut/playerex/forks)
[![GitHub issues](https://img.shields.io/github/issues/MerryweatherLost/playerex?style=for-the-badge&logo=github&label=ISSUES&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fissues
)](https://github.com/PlayerEXDirectorsCut/playerex/issues)
[![GitHub issues](https://img.shields.io/github/issues/PlayerEXDirectorsCut/playerex?style=for-the-badge&logo=github&label=ISSUES&link=https%3A%2F%2Fgithub.com%2FPlayerEXDirectorsCut%2Fplayerex%2Fissues
)](https://github.com/PlayerEXDirectorsCut/playerex/issues)

PlayerEX: Directors Cut is port of [PlayerEx](https://www.curseforge.com/minecraft/mc-mods/playerex), a mod built using Fabric that adds RPG themed attributes to the game and the player. It is available to download from [Curseforge](https://curseforge.com/minecraft/mc-mods/playerex-directors-cut) and [Modrinth](https://modrinth.com/mod/playerex-directors-cut).
[![docs](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/documentation/generic_vector.svg)](https://playerexdirectorscut.github.io/Bare-Minimum-Docs/)
![mkdocs](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/built-with/mkdocs_vector.svg)
![java17](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/built-with/java17_vector.svg)
[![curseforge](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/curseforge_vector.svg)](https://www.curseforge.com/minecraft/mc-mods/playerex-directors-cut)
[![modrinth](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/modrinth_vector.svg)](https://modrinth.com/mod/playerex-directors-cut)

### Preamble

PlayerEX: Directors Cut is port of **[PlayerEx](https://www.curseforge.com/minecraft/mc-mods/playerex)**, a mod built using Fabric that adds RPG themed attributes to the game and the player. It is available to download from [Curseforge](https://curseforge.com/minecraft/mc-mods/playerex-directors-cut) and [Modrinth](https://modrinth.com/mod/playerex-directors-cut).

Find the original mod [here!](https://modrinth.com/mod/playerex)

### Content
### Content

In addition to attributes powered by [Data Attributes: Directors Cut](https://www.curseforge.com/minecraft/mc-mods/data-attributes-directors-cut), PlayerEX: Directors Cut adds a levelling system and skill points to spend, enabled through a nonintrusive vanilla-styled gui accessible from the inventory or by hotkey. For further documentation, as well as how to use the PlayerEX:Directors Cut API in your own project, please see the [wiki](https://github.com/CleverNucleus/PlayerEx/wiki).

### Contributors
- [gyular](https://github.com/gyular) - Korean translation.
- [Hertz](https://github.com/elhertz) - Spanish translation.
- [MrTYZzik](https://github.com/MrTYZzik) - Russian translation.
- [Orygeunik](https://github.com/Orygeunik) - Russian translation improvements.
- [NianGuu](https://github.com/NianGuu) - Simplified Chinese
- [sky_bai](https://github.com/a1640727878) - Simplified Chinese (legacy release)
- [gyular](https://github.com/gyular) - Korean translation.
- [Hertz](https://github.com/elhertz) - Spanish translation.
- [MrTYZzik](https://github.com/MrTYZzik) - Russian translation.
- [Orygeunik](https://github.com/Orygeunik) - Russian translation improvements.
- [NianGuu](https://github.com/NianGuu) - Simplified Chinese
- [sky_bai](https://github.com/a1640727878) - Simplified Chinese (legacy release)
5 changes: 3 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//https://maven.ladysnake.org/releases
plugins {
id 'fabric-loom' version '1.1-SNAPSHOT'
id 'fabric-loom' version '1.5-SNAPSHOT'
id 'maven-publish'
}

Expand Down Expand Up @@ -69,8 +69,9 @@ dependencies {
exclude(group: "net.fabricmc.fabric-api")
}

modImplementation "maven.modrinth:projectile-damage-attribute:${project.projectile_damage_attribute_version}-fabric"
modImplementation include("eu.pb4:placeholder-api:${project.placeholder_api}")

modImplementation "maven.modrinth:ranged-weapon-api:${project.ranged_weapon_api_version}"

implementation 'net.objecthunter:exp4j:0.4.8'
include 'net.objecthunter:exp4j:0.4.8'
Expand Down
17 changes: 9 additions & 8 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
org.gradle.jvmargs=-Xmx1G
org.gradle.parallel=true

minecraft_version = 1.20.1
yarn_mappings = 1.20.1+build.10
loader_version = 0.15.3
minecraft_version=1.20.1
yarn_mappings=1.20.1+build.10
loader_version=0.15.11

#Fabric api
fabric_version = 0.91.0+1.20.1
fabric_version=0.92.1+1.20.1

mod_version = 3.6.1+1.20.1
mod_version = 3.7.0+1.20.1
maven_group = com.github.clevernucleus
archives_base_name = playerex

dataattributes_version=1.6.0+1.20.1
opc_dc_version=0.6.5+1.20.1
cardinal_components_version=5.2.2
placeholder_api=2.1.1+1.20
cloth_config_version=11.0.99
modmenu_version=7.1.0
projectile_damage_attribute_version=3.2.2+1.20.1
cloth_config_version=11.1.118
modmenu_version=7.2.2
ranged_weapon_api_version=1.1.0+1.20.1
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ public final class ExAPI {
public static final EntityAttributeSupplier WITHER_RESISTANCE = define("wither_resistance");
/** Implemented for the player only. */
public static final EntityAttributeSupplier BREAKING_SPEED = define("breaking_speed");

/**
* If JamieWhiteShirt reach-entity-attributes exist then this accesses the reach
* distance attribute.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import java.util.function.Supplier;

import com.github.clevernucleus.dataattributes_dc.api.DataAttributesAPI;
import com.github.clevernucleus.playerex.api.EntityAttributeSupplier;
import com.github.clevernucleus.playerex.api.ExAPI;
import com.github.clevernucleus.playerex.api.client.ClientUtil;
import com.github.clevernucleus.playerex.api.client.PageLayer;
Expand All @@ -13,6 +14,7 @@

import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.util.math.MatrixStack;
Expand All @@ -21,7 +23,8 @@
import net.minecraft.screen.ScreenHandler;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import net.projectile_damage.api.EntityAttributes_ProjectileDamage;

import net.fabric_extras.ranged_weapon.api.EntityAttributes_RangedWeapon;

@Environment(EnvType.CLIENT)
public class CombatPageLayer extends PageLayer {
Expand Down Expand Up @@ -183,8 +186,9 @@ public void drawBackground(DrawContext context, float delta, int mouseX, int mou

return tooltip;
}, 9, 136));
COMPONENTS.add(RenderComponent.of(() -> EntityAttributes_ProjectileDamage.GENERIC_PROJECTILE_DAMAGE, value -> {
double disp = ClientUtil.displayValue(() -> EntityAttributes_ProjectileDamage.GENERIC_PROJECTILE_DAMAGE,

COMPONENTS.add(RenderComponent.of(() -> EntityAttributes_RangedWeapon.DAMAGE.attribute, value -> {
double disp = ClientUtil.displayValue(() -> EntityAttributes_RangedWeapon.DAMAGE.attribute,
value);
return Text
.translatable("playerex.gui.page.combat.text.ranged_damage", ClientUtil.FORMATTING_2.format(disp))
Expand All @@ -199,6 +203,7 @@ public void drawBackground(DrawContext context, float delta, int mouseX, int mou

return tooltip;
}, 93, 37));

COMPONENTS.add(RenderComponent.of(ExAPI.RANGED_CRIT_DAMAGE, value -> {
double disp = 100.0D + ClientUtil.displayValue(ExAPI.RANGED_CRIT_DAMAGE, value);
return Text.translatable("playerex.gui.page.combat.text.ranged_crit_damage",
Expand Down Expand Up @@ -227,6 +232,20 @@ public void drawBackground(DrawContext context, float delta, int mouseX, int mou

return tooltip;
}, 93, 59));
COMPONENTS.add(RenderComponent.of(() -> EntityAttributes_RangedWeapon.HASTE.attribute, value -> {
double disp = ClientUtil.displayValue(() -> EntityAttributes_RangedWeapon.HASTE.attribute, value);
return Text.translatable("playerex.gui.page.combat.text.ranged_haste",
ClientUtil.FORMATTING_2.format(disp - EntityAttributes_RangedWeapon.HASTE.attribute.getDefaultValue())).formatted(Formatting.DARK_GRAY);
}, value -> {
List<Text> tooltip = new ArrayList<Text>();

tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.ranged_haste[0]"))
.formatted(Formatting.GRAY));
tooltip.add((Text.translatable("playerex.gui.page.combat.tooltip.ranged_haste[1]"))
.formatted(Formatting.GRAY));

return tooltip;
}, 93, 70));
COMPONENTS.add(RenderComponent.of(ExAPI.ATTACK_RANGE, value -> {
return Text.translatable("playerex.gui.page.combat.text.attack_range",
ClientUtil.FORMATTING_2.format(3.0F + value)).formatted(Formatting.DARK_GRAY);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,6 @@ private float playerex_onEntityHit(float i) {
}
}

// Print the modified damage for debugging purposes
System.out.println("DAMAGE: " + damage);
return damage;
}
}
3 changes: 3 additions & 0 deletions src/main/resources/assets/playerex/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@
"playerex.gui.page.combat.text.knockback_resistance": "Knockback Res.: %s",
"playerex.gui.page.combat.text.evasion": "Evasion: %s%%",
"playerex.gui.page.combat.text.ranged_damage": "Ranged Damage: %s",
"playerex.gui.page.combat.text.ranged_haste": "Ranged Haste: %s%%",
"playerex.gui.page.combat.text.ranged_crit_damage": "Crit. Damage: %s%%",
"playerex.gui.page.combat.text.ranged_crit_chance": "Crit. Chance: %s%%",
"playerex.gui.page.combat.text.attack_range": "Attack Range: %s",
Expand Down Expand Up @@ -138,6 +139,8 @@
"playerex.gui.page.combat.tooltip.ranged_crit_damage[1]": "ranged damage on a critical hit.",
"playerex.gui.page.combat.tooltip.ranged_crit_chance[0]": "The chance that your ranged ",
"playerex.gui.page.combat.tooltip.ranged_crit_chance[1]": "attack is a critical hit.",
"playerex.gui.page.combat.tooltip.ranged_haste[0]": "The amount of draw speed ",
"playerex.gui.page.combat.tooltip.ranged_haste[1]": "your ranged weapon has.",
"playerex.gui.page.combat.tooltip.attack_range": "Melee Attack Range: %s blocks.",
"playerex.gui.page.combat.tooltip.lifesteal[0]": "A percentage of attack ",
"playerex.gui.page.combat.tooltip.lifesteal[1]": "damage dealt is healed.",
Expand Down
6 changes: 5 additions & 1 deletion src/main/resources/data/playerex/attributes/functions.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,14 @@
"behaviour": "MULTIPLY",
"value": 0.02
},
"projectile_damage:generic": {
"ranged_weapon:damage": {
"behaviour": "ADDITION",
"value": 0.25
},
"ranged_weapon:haste": {
"behaviour": "ADDITION",
"value": 0.2
},
"playerex:melee_crit_damage": {
"behaviour": "ADDITION",
"value": 0.005
Expand Down
3 changes: 3 additions & 0 deletions src/main/resources/data/playerex/attributes/properties.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@
},
"playerex:ranged_crit_chance": {
"percentage": "100.0"
},
"ranged_weapon:haste": {
"percentage": "1.0"
}
}
}
2 changes: 1 addition & 1 deletion src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
"fabric-api": ">=0.83.0",
"minecraft": "1.20.1",
"dataattributes_dc": ">=1.5.2",
"projectile_damage": ">=1.20",
"ranged_weapon_api": ">=1.1.0",
"cloth-config": ">=8.0.0",
"java": ">=17"
}
Expand Down

0 comments on commit ed35f6d

Please sign in to comment.