游戏示例(非官方教程但看得懂) - Annijang/PlayerEx GitHub Wiki

image

通过使用压缩文件(推荐使用Banzidip)来打开模组本体,可在data文件夹获取到以下文件夹和文件内容,我目前打开的是1.19.2-fabric-3.5.2版本的模组。

📂data
 ┣📂minecraft
 ┃  ┗📂attributes
 ┃    ┗📂overrides
 ┃     ┗📄generic.armor.json
 ┃     ┗📄generic.armor_toughness.json
 ┃     ┗📄generic.knockback_resistance.json
 ┃     ┗📄generic.max_health.json
 ┃
 ┗📂playerex
    ┗📂attributes
       ┣📂overrides
       ┃  ┗📄breaking_speed.json
       ┃  ┗📄constitution.json
       ┃  ┗📄dexterity.json
       ┃  ┗📄evasion.json
       ┃  ┗📄fire_resistance.json
       ┃  ┗📄freeze_resistance.json
       ┃  ┗📄heal_amplification.json
       ┃  ┗📄health_regeneration.json
       ┃  ┗📄intelligence.json
       ┃  ┗📄level.json
       ┃  ┗📄lifesteal.json
       ┃  ┗📄lightning_resistance.json
       ┃  ┗📄luckiness.json
       ┃  ┗📄melee_crit_chance.json
       ┃  ┗📄melee_crit_damage.json
       ┃  ┗📄poison_resistance.json
       ┃  ┗📄ranged_crit_chance.json
       ┃  ┗📄ranged_crit_damage.json
       ┃  ┗📄ranged_damage.json
       ┃  ┗📄strength.json
       ┃  ┗📄wither_resistance.json
       ┗📄entity_types.json
       ┗📄functions.json
       ┗📄properties.json

entity_types.json

该文件是设置玩家的初始属性,例如:玩家的初始等级属性、初始体质属性等,如果想将玩家的初始等级设置为100级,只需要将“playerex:level”设置为100即可。

“playerex:level” -> 玩家的初始等级属性
“playerex:constitution” -> 体质
“playerex:strength” -> 力量
“playerex:dexterity” -> 灵巧
“playerex:intelligence” -> 智力
“playerex:luckiness” -> 幸运
“playerex:evasion” -> 闪避
“playerex:lifesteal” -> 吸血
“playerex:health_regeneration” -> 生命恢复
“playerex:heal_amplification” -> 治疗增益
“playerex:melee_crit_damage” -> 近战暴伤
“playerex:melee_crit_chance” -> 近战暴率
“playerex:ranged_crit_damage” -> 远程暴伤
“playerex:ranged_crit_chance” -> 远程暴率
“playerex:ranged_damage” -> 远程伤害
“playerex:fire_resistance” -> 抗火性
“playerex:freeze_resistance” -> 抗冻性
“playerex:lightning_resistance” -> 抗雷性
“playerex:poison_resistance” -> 抗毒性
“playerex:wither_resistance” -> 抗凋性
“playerex:breaking_speed” -> 挖掘速度

image

【点击查看文件内容】
{
    "values": {
        "minecraft:player": {
            "playerex:level": 0.0,
            "playerex:constitution": 0.0,
            "playerex:strength": 0.0,
            "playerex:dexterity": 0.0,
            "playerex:intelligence": 0.0,
            "playerex:luckiness": 0.0,
            "playerex:evasion": 0.0,
            "playerex:lifesteal": 0.0,
            "playerex:health_regeneration": 0.0,
            "playerex:heal_amplification": 0.0,
            "playerex:melee_crit_damage": 0.0,
            "playerex:melee_crit_chance": 0.0,
            "playerex:ranged_crit_damage": 0.0,
            "playerex:ranged_crit_chance": 0.0,
            "playerex:ranged_damage": 0.0,
            "playerex:fire_resistance": 0.0,
            "playerex:freeze_resistance": 0.0,
            "playerex:lightning_resistance": 0.0,
            "playerex:poison_resistance": 0.0,
            "playerex:wither_resistance": 0.0,
            "playerex:breaking_speed": 1.0
        }
    }
}

默认情况下,玩家默认的挖掘速度为1,如下图:

image

functions.json

设置玩家每次点技能点时可以获得的属性加成,默认情况下,玩家每次升一次体质,都可以获得1点的最大生命值、0.1点击退抗性、0.1点抗毒性。

image

【点击查看文件内容】
{
    "values": {
        "playerex:constitution": {
            "minecraft:generic.max_health": {
            	"behaviour": "ADDITION",
            	"value": 1.0
            },
            "minecraft:generic.knockback_resistance": {
            	"behaviour": "ADDITION",
            	"value": 0.01
            },
            "playerex:poison_resistance": {
            	"behaviour": "ADDITION",
            	"value": 0.01
            }
        },
        "playerex:strength": {
        	"minecraft:generic.attack_damage": {
            	"behaviour": "ADDITION",
            	"value": 0.25
            },
            "minecraft:generic.armor": {
            	"behaviour": "ADDITION",
            	"value": 0.5
            },
            "playerex:health_regeneration": {
            	"behaviour": "ADDITION",
            	"value": 0.01
            }
        },
        "playerex:dexterity": {
        	"minecraft:generic.attack_speed": {
            	"behaviour": "MULTIPLY",
            	"value": 0.02
            },
            "playerex:ranged_damage": {
            	"behaviour": "ADDITION",
            	"value": 0.25
            },
            "playerex:melee_crit_damage": {
            	"behaviour": "ADDITION",
            	"value": 0.005
            },
            "playerex:lightning_resistance": {
            	"behaviour": "ADDITION",
            	"value": 0.01
            }
        },
        "playerex:intelligence": {
        	"playerex:heal_amplification": {
            	"behaviour": "ADDITION",
            	"value": 0.002
            },
            "playerex:ranged_crit_damage": {
            	"behaviour": "ADDITION",
            	"value": 0.005
            },
            "playerex:wither_resistance": {
            	"behaviour": "ADDITION",
            	"value": 0.01
            }
        },
        "playerex:luckiness": {
        	"minecraft:generic.luck": {
            	"behaviour": "ADDITION",
            	"value": 0.1
            },
            "playerex:evasion": {
            	"behaviour": "ADDITION",
            	"value": 0.02
            },
            "playerex:melee_crit_chance": {
            	"behaviour": "ADDITION",
            	"value": 0.02
            },
            "playerex:ranged_crit_chance": {
            	"behaviour": "ADDITION",
            	"value": 0.02
            }
        }
    }
}

文件内容讲解:

“playerex:constitution” -> 体质
“minecraft:generic.max_health” -> 最大生命值(原版属性)
“minecraft:generic.knockback_resistance” -> 击退抗性(原版属性)
“playerex:poison_resistance” -> 抗毒性

“playerex:strength” -> 力量
“minecraft:generic.attack_damage” -> 近战伤害(原版属性)
“minecraft:generic.armor” -> 护甲值(原版属性)
“playerex:health_regeneration” -> 生命恢复

“playerex:dexterity” -> 灵巧
“minecraft:generic.attack_speed” -> 攻击速度(原版属性)
“playerex:ranged_damage” -> 远程伤害
“playerex:melee_crit_damage” -> 近战暴伤
“playerex:lightning_resistance” -> 抗雷性

“playerex:intelligence” -> 智力
“playerex:heal_amplification” -> 治疗增益
“playerex:ranged_crit_damage” -> 远程暴伤
“playerex:wither_resistance” -> 抗凋性

“playerex:luckiness” -> 幸运
“minecraft:generic.luck” -> 幸运值(原版属性)
“playerex:evasion” -> 闪避
“playerex:melee_crit_chance” -> 近战暴率
“playerex:ranged_crit_chance” -> 远程暴率

因本文件的大多数内容都一样,那么只选一种来讲解。

"behaviour": "ADDITION", -> 设置玩家的属性增长方式,默认情况下都是ADDITION,也就是加法,目前可选的值有乘法(MULTIPLY)。

"value": 1.0 -> 设置该属性的数值,如果增长方式是加法(ADDITION),那么每次升级时的属性加成都是加1点;如果增长方式是乘法(MULTIPLY),那么每次升级时的属性加成是100%,如果将数值设置为0.001,则每次增长1%。

示例(修改已存在的属性)

将体质(playerex:constitution)内的最大生命值属性(minecraft:generic.max_health)从原来的每升一级获得1点的生命值更改为每升级一级,属性乘以基础值800%,以下是文件内容和游戏实况:

image image

示例(添加自定义属性)

假如觉得本模组自带的属性有点变态或者想添加其他模组或者其他原版属性,那么可以根据实际情况来增加代码,如果是原版属性的话,可以在我的世界属性wiki中查看。

在下图中,我在体质(playerex:constitution)里新增了一个影响飞行速度的属性(generic.flying_speed),并且属性的加成方式是乘法(MULTIPLY),每升一级都可以增加60%的飞行速度,如下图所示。

image image

overrides

在overrides文件夹下有21种可设置的属性文件,例如:将玩家的RPG等级上限设置为20级。

“breaking_speed.json” -> 挖掘速度
“constitution.json” -> 体质
“dexterity.json” -> 灵巧
“evasion.json” -> 闪避
“fire_resistance.json” -> 抗火性
“freeze_resistance.json” -> 抗冻性
“heal_amplification.json” -> 治疗增益
“health_regeneration.json” -> 生命恢复
“intelligence.json” -> 智力
“level.json” -> 等级
“lifesteal.json” -> 吸血
“lightning_resistance.json” -> 抗雷性
“luckiness.json” -> 幸运
“melee_crit_chance.json” -> 近战暴率
“melee_crit_damage.json” -> 近战暴伤
“poison_resistance.json” -> 抗毒性
“ranged_crit_chance.json” -> 远程暴率
“ranged_crit_damage.json” -> 远程暴伤
“ranged_damage.json” -> 远程伤害
“strength.json” -> 力量
“wither_resistance.json” -> 抗凋性

文件内容:(level.json)

{
    "fallbackValue": 0.0,
    "minValue": 0.0,
    "maxValue": 2147483647.0,
    "incrementValue": 0.0,
    "translationKey": "playerex.attribute.name.level",
    "stackingBehaviour": "FLAT"
}

“maxValue” -> 设置属性上限,如果想将等级属性固定为5级,只需要将“2147483647.0”更改为“5.0”即可。 “translationKey” -> 在语言文件中的对应key。

下图指的是将等级属性上限设置为5级,体质属性上限设置为6级。 image image

配置文件

配置文件路径:“.minecraft” -> “config” -> “playerex.json”

{
  "resetOnDeath": false,
  "disableAttributesGui": false,
  "showLevelNameplates": true,
  "skillPointsPerLevelUp": 1,
  "levelFormula": "stairs(x,0.2,2.4,17,10,25)",
  "restorativeForceTicks": 600,
  "restorativeForceMultiplier": 110,
  "expNegationFactor": 95,
  "levelUpVolume": 100,
  "skillUpVolume": 100,
  "textScaleX": 50,
  "textScaleY": 50,
  "levelNameplateHeight": 0.3,
  "tooltip": "PLAYEREX"
}

“resetOnDeath” -> 死亡重置:当玩家死亡时,所有属性都重置为默认值。

“disableAttributesGui” -> 禁用属性GUI:隐藏位于物品栏的标签并禁用属性GUI。

“showLevelNameplates” -> 显示等级铭牌:如果实体拥有等级,则会在该实体的头顶渲染一个等级铭牌显示该实体的等级。

“skillPointsPerLevelUp” -> 升级技能点:设置每当玩家升级时可获得的技能点数量。

“levelFormula” -> 升级公式:设置玩家升级所需要的经验值。变量“x”指的是玩家当前的等级,且该值是必填项。如果不想设置成等级逐步增长的话,那么请将“stairs(x,0.2,2.4,17,10,25)”全部删除后设置为自己想要的等级,例如:88级。

image image

“restorativeForceTicks” -> 每Tick力量恢复:该值会影响当前区块的经验掉落。

“restorativeForceMultiplier” -> 力量恢复:该值会影响当前区块的经验掉落。

“expNegationFactor” -> 区块经验系数:设置经验值在特定区块里的掉落系数,设置为100则与原版一致,该值会影响当前区块的经验掉落。

“levelUpVolume” -> 升级音量:设置当玩家升级时播放声音的音量,设置为0可静音。

“skillUpVolume” -> 技能音量:设置在获得技能点时的声音音量。

“textScaleX” -> 文本水平比例:设置文本的X轴比例。

“textScaleY” -> 文本垂直比例:设置文本的Y轴比例。

“levelNameplateHeight” -> 等级铭牌高度:设置渲染等级铭牌的高度位置。

“tooltip” -> 工具提示属性:DEFAULT:保留默认不做修改(兼容其他Mod);VANILLA:修复攻击伤害和攻击速度显示错误问题。;PLAYEREX:攻击伤害和攻击速度为默认的属性修饰词。

image image

⚠️ **GitHub.com Fallback** ⚠️