
# 概述
这款 Mod 可以让你在 MC 中玩 PUBG 的大逃杀!
前置模组:Configuration、MixinBooter
模组的大逃杀模式跟模组JourneyMap有联动
模组不包含游戏地图生成,大逃杀玩法需自备游戏地图
模组1.10.5起有大量改善游戏体验的更新,并且修复了老版本中众多Bug及特性。
## 主要特性
- PUBG早期版本中你熟悉的各种枪械和配件,如 AKM、Kar98K 和 8 倍镜;
- 空投、物资刷新、毒圈机制;
- 回血药品、能量系统;
- 游戏中玩家死亡后的战利品盒子;
- 防弹衣、头盔、吉利服;
- 降落伞、载具、投掷物;
- 大多数物品有合成系统;
- 可碎可还原的窗户、其他装饰性方块。
## 默认按键
- 左键 = 开火;
- 右键 = 机瞄/瞄准镜;
- B = 切换射击模式(单发/点射/全自动);
- V = 卧倒;
- N = 夜视(需装备夜视镜);
- R = 换弹;
- P = 打开武器配件界面;
- I = 打开特殊装备栏(背包/吉利服/夜视镜)。
特殊按键(不可更改):
按住 Alt + 鼠标滚轮:调整瞄准镜缩放倍率。
- O = (开发者模式)attachment placer
- N = (开发者模式)hand placer
- M = (开发者模式)animator
# 核心机制
## 物资刷新
物资刷新配置文件位于 .minecraft\pubgmc\loot\ 下所有文件
物资刷新方块有:物资刷新器(3个等级)、补给箱(空投)、特殊补给箱(超级空投)、子弹货箱、枪支货箱
- 物资刷新方块内的物资不会在摆放时刷新。需要使用 /generator generate 指令;
- 除了在大逃杀游戏进行时,执行一次指令只会让周围已加载区块内的物资刷新方块刷新物资。
### 物资刷新器
物资刷新器有3个等级(t1:红、t2:黄、t3:绿),创造模式下对其按“蹲+右键”切换。切换时上方有对应颜色的红石粒子效果作为提示。
- 不同等级的物资刷新器容量均为9格。
- 模组初始物资配置为红、黄、绿依次提高物资的稀有度和数量。
摆放时默认为t1等级(红),配置文件位于 .minecraft\pubgmc\loot\loot_spawner_t1.json
t2,t3等级的配置分别为同目录下的“loot_spawner_t2.json”,“loot_spawner_t3.json”
### 空投
空投有普通空投/特殊空投,容量分别为9/18。
- 用指令召唤普通空投:/airdrop
- 用指令召唤特殊空投:/airdrop true
特殊空投也可用信号枪朝天开枪,信号弹在距离射击处上方≥100格处停留20秒后即可召唤。
(如上方遇到阻挡会导致生成失败)
pubgmc1.10.5:创造模式下信号枪的冷却时间大幅减少,连续在同一位置召唤会导致特殊空投相互弹开导致落点偏离。
### 子弹货箱、枪支货箱
容量均为9。
初始配置下只刷新子弹/枪械。
可以修改其配置文件以刷新其他物品。
## 能量条
(pubgmc1.10.5重做了能量条系统)
能量条上限为300,每秒扣除1。
能量条达到不同比例时有不同效果,假设血量上限为20则有:
- 1-19%:每8秒恢复1%血量。
- 20-59%:每8秒恢复2%血量。
- 60-89%:每8秒恢复3%血量,持续提供速度Ⅰ效果。
- 90-100%:每8秒恢复4%血量,持续提供速度Ⅱ、水下呼吸效果。
## 安全区(毒圈)
(仅在大逃杀模式下触发)
在大逃杀游戏区域内有不断缩小的“矩形边界”,默认为蓝色。
- 在边界外面的大逃杀游戏玩家会持续扣除血量。
- 如果安装了JourneyMap模组,地图中会显示毒圈和安全区的状态。
## 关门
只对MC原版的门生效。
大逃杀游戏进行时会自动将开启的门关上,包括活板门(模组作者说的)。
这个功能不一定不生效。
## 可碎窗户
游戏内有1x1,1x2,2x1,2x2四种尺寸的窗户。
- 在实体触碰或者受到子弹射击时破碎;
- 在新一局大逃杀游戏开始时重置。
# 大逃杀模式
游戏开始时全体玩家一无所有,想尽一切办法,使你的队伍存活到最后,取得胜利。
游戏流程:
- 若干玩家乘坐飞机,飞行途中选择你想去的地点,跳下飞机并打开降落伞。
- 搜集物资(如果游戏地图内有的话),提升自身存活的希望;击败其他玩家,获取战利品;躲避其他玩家的追击。
- 安全区将不断缩小,建议移动至安全区内,否则将持续受到伤害。
- 帮助你的队友,不断击败敌人,争取存活至最后。
## 开始游戏前的配置
开始游戏前必须要执行过以下指令:
- 创建游戏大厅(在此范围内的实体无敌不受伤害):/game lobby x坐标 y坐标 z坐标 半径
- 选择游戏模式(大逃杀模式):/game select pubgmc:battle_royale
- 创建游戏地图(正方形区域):/game map create 地图名 center x坐标 z坐标 正方形一半边长
也可以使用(矩形区域):/game map create 地图名 corners x1坐标 z1坐标 x2坐标 z2坐标
还有以下指令可选:
- 重新加载大逃杀游戏配置:/game reloadConfigs
执行过上述指令后,下次游戏无需重复执行(除非更换地图或者大厅)。
## 准备游戏&组队
- 准备游戏(将大厅外的玩家传送至大厅):/game init
如果大逃杀游戏配置autoJoin设置为false,则需要手动加入游戏:/game join
### 组队
在准备游戏后,大逃杀游戏配置里队伍人数>1即可组队,指令如下:
- 邀请玩家:/team invite 玩家名
(邀请玩家后,需要在聊天栏手动点击“Accept同意”或“Decline拒绝”文字)
- 将玩家踢出队伍:/team kick 玩家名
- 自己离开当前队伍:/team leave
每次准备游戏,不保留上一局游戏的组队。
服务器游玩可能需要op权限或安装权限插件。
### 组队界面GUI
该功能尚未完成,在历史版本中因增加了该功能的按键导致游戏崩溃,最新版已移除该功能的按键绑定。
## 开始游戏
- 开始游戏:/game start 地图名
(如果只有一个地图也可以省略地图名)
开始游戏后,保存当前世界的部分gamerule,并切换为冒险模式。
开始游戏后,中途退出游戏并返回大厅需输入指令:/game leave confirm
或者输入指令“/game leave”后,在聊天栏点击“/game leave confirm”
### 游戏信息
pubgmc1.10.5更新,默认位于屏幕右侧,显示以下信息:
- 当前安全区状态
- 当前大逃杀剩余存活的玩家+人机总数。
安全区状态颜色:
- 绿:当前在下一个安全区内;
- 黄:当前不在下一个安全区内;
- 红:安全区正在缩小;
- 灰:首个安全区生成的剩余时间(pubgmc1.10.5新增)
安全区下方还显示缩圈进度条(pubgmc1.10.5新增)
### 死亡信息
pubgmc1.10.5更新,默认位于屏幕右上角,显示以下信息:
- 玩家 [击杀武器] 被击杀玩家
其中不同情况对应不同颜色:
- 自己击杀其他玩家:0x00AAFF(淡蓝色)
- 自己被击杀:0xFF0000(红色)
- 队友击杀其他玩家:0x00AAAA(青色)
- 队友被击杀:0xAA0000(深红色)
- 其他:0xFFFFFF(白色)
其中击杀武器为被击杀玩家阵亡时,攻击者手持的物品,不一定对应真正造成伤害的来源。(模组作者说不值得重做MC的伤害来源处理逻辑)
### 队伍信息
pubgmc1.10.5更新,默认位于左下角,显示以下信息:
- 队伍成员的血量
- 队伍成员的能量条(pubgmc1.10.5新增)
当队友不在本地加载的区块内时不显示其信息(直至1.10.5尚未修复)。
自己所处的队伍人数上限为1时不显示队伍信息。
### 击杀提示
在其他玩家/人机因自己造成的伤害死亡后,屏幕中间下方短暂显示:
- 击杀数+击杀距离
其中击杀距离为被击杀玩家阵亡时,攻击者与玩家的直线距离。
## 游戏开始后
- 停止当前游戏,将所有玩家转送回大厅:/game stop
如遇游戏一直进行无法终止,模组作者提供指令:/game diagnosticsDump
创建文件 .minecraft\pubgmc\diagnostics\debug.log,可将其发送给模组作者(早期版本bug多经常热更新,直至1.10.5版本仍保留这个指令)
当场上无玩家存活时,直接游戏结束(不允许人机vs人机)。
如果经过所有刷圈阶段,场上仍有玩家存活,则游戏结束,无胜利的队伍。
胜利的队伍中,存活的玩家屏幕将显示“大吉大利!今晚吃鸡!”
# 其他模式
待补充。
直至1.10.5,Domination,FFA模式尚无官方说明。
直至1.10.5,Tournament模式尚未完成。
# 枪械
枪械主要功能有:远程造成伤害、切换射击模式、安装配件、子弹伤害衰减、破坏玻璃
- 生存模式可在枪械工作台上制作武器。
- 枪械相关的数值修改在主配置文件调整,多人游戏时仅主机/服务端修改生效。
## 枪械机制
对枪械物品按住 Shift 可查看枪械详细信息。
- 部分属性不可见;
- 部分属性不可通过配置文件更改。
### 弹匣容量
一次装弹最多支持的射击数。
### 开火模式
不同枪械有不同可选的模式:
- 单发:点一次鼠标左键射击一次;
- 点射:点一次鼠标左键射击多次;
- 全自动:按住鼠标左键持续射击。
默认按 B 键切换。
### 每发伤害量
一发子弹最多造成的伤害量。
除霰弹枪外,均是1发子弹对应造成1次伤害。
(pubgmc1.10.5更新:霰弹枪单发弹丸数8 → 9)
### 枪口初速
子弹射出后水平运动的速度。
对着枪械物品按住 Shift 即可查看,单位m/s。
直至1.10.5版本,子弹射出后水平运动速度保持不变。
具体表现为:
- 若枪口初速为500m/s,则在子弹射出后1秒时可以击中水平距离500米处的目标。
- 如果远处的目标在移动,则需要往其运动方向瞄准
### 子弹类型
子弹装弹需要对应的子弹类型。
不同子弹有不同的稀有度、(pubgmc1.10.5更新)最大堆叠数。
### 射速
每发子弹射出后需要经过一定时间才能射出下一发。
当射击模式为全自动时,此数值为1秒能射出的子弹数。
当没有全自动射击模式时,此数值反映了射击间隔的大小/狙击步枪拉栓的快慢。
### 伤害衰减
(pubgmc1.10.5新增)
子弹射出后子弹伤害随时间衰减。
可配置开始衰减的时间延迟、衰减幅度、最小伤害值。
具体表现为:打远距离目标伤害低。
(pubgmc1.10.5以前只有霰弹枪有伤害衰减,且不可配置)
### 子弹重力
子弹射出后的朝向逐渐向下偏移。
模组具体实际是每tick在子弹y方向下调固定角度,并非“平抛运动”。
可配置开始下降的时间延迟、下降幅度。
具体表现为:打远距离目标需要往其上方瞄准。
### 后座力
枪械不安装任何配件时,站在地面上射击导致的镜头垂直/水平转动的基础角度。
可通过 F3 查看射击前后镜头转动的角度。
模组可配置里的后座力比例是以此为基础。
切换成蹲/卧倒时会降低后座力。
### 地形破坏
可配置是否允许子弹破坏玻璃材质方块。
### 最大飞行时间
(pubgmc1.10.5更新)
可配置子弹最大飞行时间(单位:tick)
1.10.5之前的处理逻辑不同。
### 声音
最远能听到枪声的距离,并且可听范围内距离越远声音越小。
- 在子弹飞行超过一定距离后,子弹周围小范围会有子弹飞过的音效,(pubgmc1.10.5更新)子弹伤害越大声音范围越大。
- 子弹遇到障碍物停下时,根据方块的类型确定音高,(pubgmc1.10.5更新)碰撞产生的粒子数等于实际伤害量(取整)。
### 稀有度
在模组初始配置下是否只在空投内刷新,游戏内无法查看。
## 配件
默认按 P 打开武器配件栏。
一共有5种可能的配件:枪口、握把、弹匣、瞄准镜、枪托。
在你要安装的配件上按一下左键即可安装到枪械上。
需要注意的是:
- 不同枪械类型需要安装对应的配件(如弹匣分为步枪弹匣、冲锋枪弹匣、狙击枪弹匣)。
- 不是所有枪械都能装5种配件。
### 枪口
- 消音器:更改武器开火声音,并减小最大可听范围。
- 补偿器:降低武器后座力,可在配置文件修改幅度。
### 握把
- 垂直握把:降低垂直后坐力
- 直角握把:降低水平后坐力
### 弹匣
- 快速弹匣:提高60%换弹速度。
- 扩容弹匣:提高弹匣容量。
- 加长快速弹匣:提高15%换弹速度,提高弹匣容量。
直至1.10.5版本,扩容弹匣和加长快速弹匣提升的弹匣容量相同。
### 瞄准镜
右键进入瞄准状态,放大视野。
- 除了红点瞄准镜、全息瞄准镜,其他瞄准镜均有放大效果(实际上是调整角视场)
- 游戏内或配置文件可更改红点瞄准镜和全息瞄准镜的准心样式,无快捷键调整方式。
- 瞄准镜贴图不兼容部分光影(可能会变黑/白,或者缩放错位),进行游戏前需要开镜检测是否兼容。
部分枪械只能安装红点瞄准镜而不能装全息瞄准镜。
安装8倍镜、15倍镜后可按住 Alt 并 前/后 滑动鼠标滚轮来 放大/缩小。
在没开镜的时候也能调整,此时鼠标灵敏度也会跟着调整,重新进入并退出瞄准状态后可复原。
### 枪托
子弹袋:提升60%换弹速度。
托腮板:减少20%瞄准时间(进入瞄准镜放大视角的时间)。
(1.10.5以前的托腮板的实际效果为增加瞄准时间)
# 物品
## 特殊装备
默认按 I 打开特殊装备栏
在生存/冒险模式下,还可以在背包界面点击玩家右上角的加号"+"进入特殊装备栏。
### 背包
背包分为3个等级,每个等级分别有3种颜色(森林、沙漠、雪地)
在模组设置开启"Common-Player-Force Inventory Restrictions"之后,MC原版背包内3行(一共27格)将被锁住。
- 1级包:解锁第一行空间(9格)。
- 2级包:解锁第一、二行空间(18格)。
- 3级包:解锁全部空间。
### 吉利服
穿上后全身颜色统一,并隐藏背包。
吉利服支持256*256*256种颜色,模组默认配置的颜色:
- 默认:0x52D900(红:82,绿:217,蓝:0)
- 雪地:0xE8F2F2
- 沙漠:0xE2D6AA
- 其他:计算公式在模组Github仓库内GhillieColorProcessor.java源码
### 夜视镜
装上后头部有建模,使用时眼镜会合上。
- 夜间使用时,屏幕中间获得夜视效果;
- 白天使用时会阻挡视野。
## 战斗物品
### 防弹衣&头盔
装备在原版的头盔、盔甲部位,仅对PUBGMC模组的枪械有减伤效果。
防弹衣跟头盔有3个等级:
- 1级头/甲:减少30%子弹伤害
- 2级头/甲:减少40%子弹伤害
- 3级头/甲:减少55%子弹伤害
在pubgmc1.10.5以前,3级头甲的减伤效果为45%
模组1.10.6最新开发进度:
- 调整了耐久度的计算(原先头甲分别只有11,16耐久);
- 3级头甲增加了盔甲韧性;
- 防弹衣耐久保留至0而不破损,仍能减少20%子弹伤害,但受到非子弹伤害时仍会破损。
### 近战武器
所有武器攻击速度均为1.6
平底锅:伤害19
大砍刀:伤害15
镰刀:伤害14
撬棍:伤害13
### 枪械武器&子弹
除信号枪外,均可造成伤害。
拾取枪械时默认没有子弹。
当丢弃手中的枪械物品时,枪内的子弹会自动返回背包。
### 投掷物
- 左键立即投出,投掷距离较近
- 右键点燃引信,期间再右键可远距离投掷,一定时间后将自动释放。
(pubgmc1.10.5更新)疾跑、跳跃均可增加投掷距离。
(pubgmc1.10.5更新)切换手持物品可取消释放。
- 手雷:5.5秒引信,范围爆炸效果;
- 烟雾弹:5.5秒引信,范围粒子效果,遮挡视线;
- 燃烧瓶:立即投出,范围燃烧效果,不可当打火石用;
- 震爆弹:3秒引信,根据距离和是否直视造成不同程度白屏和干扰听觉效果。
烟雾弹和燃烧瓶遇到水会失效。
手雷对自己无伤害;
手雷可破坏地形(pubgmc1.10.5新增配置)。
## 状态物品
### 治疗物品
(pubgmc1.10.5更新)
- 绷带:恢复2点血量,恢复上限为75%血量;
- 急救包:恢复75%血量;
- 医疗箱:恢复100%血量;
pubgmc1.10.5以前急救包固定恢复至15血,并且血量为14.1-14.9时无法使用绷带和急救包
pubgmc1.10.5添加新血条显示,血量低于75%时显示75%血位置,并不受金苹果提供的额外血量影响。
### 能量物品
(pubgmc1.10.5重做了能量系统)
- 能量饮料:恢复40%能量
- 止痛药:恢复60%能量
- 肾上腺素注射剂:恢复100%能量
## 其他道具
### 降落伞
(pubgmc1.10.5更新)
- 下落3格后即可使用;
- 开伞过程中有略微缓冲效果,期间不断减少衰落伤害;
- 完全开伞后不断重置下落距离(无衰落伤害);
- 按方向键控制转向/下落速度。
### 汽油桶
在停稳的载具内使用,补充30%燃料。
# 载具
## 飞机
仅在大逃杀游戏开始时生成,并在非当前游戏进行时被自动清除。
一共32个座位,以固定速度沿固定方向飞行。
pubgmc1.10.5更新:当玩家数量超过32时,仍坐在同一飞机内的重叠位置。
pubgmc1.10.5以前:模组作者说会生成多架飞机多个航线。
## 可驾驶载具
载具可爬升高度为1.25格(为了支持从草径移动到其他方块上)。
载具血量低于一定值后冒烟,极低血量时有火焰粒子效果。
(pubgmc1.10.6将调整此效果触发的血量比例)
载具血量为0时会爆炸。
可在游戏内或配置文件调整:载具血量、加速度、最大速度、转向加速速度、最大转向角度。
载具生成时随机血量。
(pubgmc1.10.6更改此数值)
载具往后行驶的最大速度为正向的0.3倍。
模组作者于 2024 年 9 月 2 日开始重做载具,最后更新于 2024 年 9 月 23 日,仍未完成。
### 乌阿斯吉普车
pubgmc1.10.5更新为黑色外观。
### 达西亚轿车
一共4种颜色,生成时随机刷新。
pubgmc1.10.5更新颜色。
# 游戏玩家
## 通用属性
### 蹲
与MC原版按键相同。
安装此模组后,蹲下的碰撞箱高度改为1.51格高。
蹲下时降低枪械后座力,比例可调。
### 卧倒
默认按 V 键。
卧倒后碰撞箱尺寸长宽高为1.2×1.2×0.5。
卧倒时降低枪械后座力,比例可调。
由于模组代码实现困难,卧倒时被子弹命中无法触发爆头伤害加成。
### 瞄准状态
手持枪械物品时默认按 右键 进入瞄准状态。
进入瞄准状态后激活瞄准镜的角视场放大效果。
瞄准状态下处在地面上射击可完全消除子弹偏移。
### 射击不精确度
该数值计算在模组Github仓库EntityBullet.java中calculateBulletHeading
- 玩家:类型为boolean
当不在瞄准状态或不为霰弹枪时:
计算3次“随机[0,1)小数-0.5”,分别加到子弹x,y,z运动方向上
- 人机:类型为float
计算3次“(随机[0,1)小数 - 随机[0,1)小数) * 不精确度”,分别加到子弹x,y,z运动方向上
## 人机专属
### 有效射击范围
当距离小于此数值时,连续射击;当距离超过此数值的10倍时,不进行射击:
- 轻机枪:40;
- 手枪:20;
- 霰弹枪:10;
- 冲锋枪:20;
- 步枪:40;
- 精确射手步枪:60;
- 狙击步枪:60。
### 行为
- 跟随队长(玩家);
- 距离≤16格时可移动至队长载具,16格外则加速往载具移动;
- 使用治疗物品;
- 搜集物资;
- 能被震爆弹致盲(不一定生效);
- 召集人机队友帮忙(不一定生效);
- 往安全区内移动;
- 寻找最近的光亮处的玩家(亮度大于等于11判定为可见);
### 射击(攻击)
- 若手持非PUBGMC枪械物品,则不攻击;
- 发现目标0.5秒后射击;
- 只在能看到玩家头部时(能相互看到)射击;
- 随游戏难度降低,射击弹道增加偏移;
射击不精确度计算公式为“2.5-难度*0.5”(和平为0,困难为3)。
- 霰弹枪射击时,y方向上调“射击距离 / 150”;
pubgmc1.10.5霰弹枪单发弹丸数仍为8
- 射击间隔公式为“枪械射击间隔+随机0-4tick”,狙击步枪额外加0.5秒;
- 连续射击时,连续射击3次后冷却15tick;
- 射击数达到弹匣上限后,射击冷却为装弹时间;
### 搜集物资
- 瞬间舔包;
- 能捡空投;
可能会遇到人机捡了3级头盔但死亡不掉落的情况。
### 治疗
- 人机背包内无治疗物品时不治疗;
- 使用治疗物品后,堆叠数量也清除;
- 肾上腺素效果改为恢复6点血量;
- 止痛药效果改为恢复4点血量;
- 能量饮料效果改为恢复2点血量;
# 模组配置
包含1.10.6将更新的配置选项
注意:手动更改配置文件并进入游戏前务必先备份配置文件,一旦格式有误将被直接覆盖,不可还原!
## 模组主配置
位于 .minecraft/config/pubgmc-config.json
模组主配置均可在游戏内调整。
### Developer mode:开发者模式
打开后,强制使O、N、M增加对应功能,不可改键
(从pubgmc1.10.5起,“第一人称手持枪械物品时隐藏准心”从此设置中分离)
### Client:客户端相关
- Custom Main Menu:更改我的世界开始界面菜单样式以及背景
#### Content settings:内容推送
更改内容推送的设置,目前暂无实质性功能。
#### Scopes:瞄准镜
- Glowing reticles:代码里没用过,冗余选项
- 8X scope sensitivity:打开8倍镜后的鼠标灵敏度
...(同上)
- Holographic color:更改全息瞄准镜准心颜色
...(同上)
- Red dot variant:切换红点瞄准镜准心样式
...(同上)
#### Overlays:显示在游戏界面上的组件
- Render food and experience bar:是否显示饱食度和经验条
- Render boost:是否显示能量条状态
- Render new health bar:是否使用新血条(开启后也会隐藏盔甲条)
- Render Crosshairs in first person view:第一人称隐藏准心(枪械瞄准时始终隐藏)
- Render Armor Icons:是否显示头/甲/包的图标(显示在屏幕右下角)
- New health bar length ratio:新血条长度比例,默认1.0倍
- Maximum health in new health bar in a line:一行血条应该是多少血(默认20血)
- Shrinking Playzone Color:JourneyMap显示的毒圈颜色
- Border Playzone Color:JourneyMap显示的安全区颜色
- Map Border Color:JourneyMap显示的游戏区域边界颜色(可能不显示)
- Boost Overlay:能量条样式,默认“IMAGE”为PUBG同款能量条,“TEXT”为数值显示
- Equipment Inventory Button:生存/冒险模式下背包内“+”的位置
- Boost Text Overlay Coords:“TEXT“能量条的位置
- Boost Image Overlay Coords:“IMAGE”能量条的位置
- Gun info position:武器信息在屏幕上的位置比例(1.0倍为屏幕一半长/宽)
- New Health Bar Coords:新血条的位置
##### Domination Overlays:
待补充,该模式暂无官方说明
##### Battle Royale Overlays:(大逃杀模式)
- Show team information:显示队友血条、能量条
- Playzone color:游戏内毒圈的颜色,毒圈缩圈时的进度条颜色
- Game info panel position:安全区、存活人数、刷圈进度条的位置比例(1.0倍为屏幕一半长/宽)
- Death messages panel:击杀信息栏的位置比例(1.0倍为屏幕一半长/宽)
- Team panel position:队友血条、能量条的位置比例(1.0倍为屏幕一半长/宽)
##### FFA Overlays:
待补充,该模式暂无官方说明
- Vehicle info position:载具时速、血条、燃料的位置比例(1.0倍为屏幕一半长/宽)
#### Others:其他
- Backup Perspective before aiming:是否在解除瞄准状态后恢复先前的视角(与Shoulder Surfing Reloaded不兼容)
- Use attack button to reload:子弹为空时,再按左键是否自动装弹
- Log-In Messages:刚进入存档时是否显示圣诞节/版本/PUBGMC模组生日等内容提示
- Loot render distance:物资刷新方块的渲染半径,调大数值将影响性能(单位:格)
- Headshot character:击杀信息栏里用于表示“爆头”的字符
### Common:通用配置
#### Player:玩家相关
- Allow knockback:是否使用MC的击退效果(关闭后受到任何伤害都无“击退”)
- Force Inventory Restrictions:是否启用背包空间限制
- Prone Cooldown:卧倒的冷却(单位:tick)
#### Game:游戏模式相关
- Allow full chunk block scans:完整扫描区块(应该是用于关门、物资刷新、矿物)
- Background thread pool size:后台用多少线程处理“扫描区块”
#### Weapons:武器配置
- Global Horizontal Recoil:全局水平后座力比例
- Crouched Recoil Scale:蹲下的后座力比例
- Global Vertical Recoil:全局垂直后座力比例
- Prone Recoil Scale:卧倒的后座力比例
##### 其他枪械
- Gravity effect delay:重力效果经过多少tick后启用
- Damagedrop effect delay:子弹伤害衰减效果经过多少tick后启用
- Min damage:子弹衰减降低至的最小伤害
- Gravity modifier:每tick子弹y方向往下移动的距离
- Damagedrop modifier:每tick减少的子弹伤害
- Vertical recoil multiplier:该枪械的垂直后座力倍率
- Damage:枪械每发伤害量(霰弹枪为单颗弹丸伤害)
- Velocity:每tick移动的距离(方块)
- Horizontal recoil multiplier:该枪械的水平后座力倍率
##### WeaponDamage
- lmgHeadshotMultiplier:轻机枪的爆头伤害倍率
- smgHeadshotMultiplier:冲锋枪的爆头伤害倍率
- arHeadshotMultiplier:步枪的爆头伤害倍率
- pistolHeadshotMultiplier:手枪的爆头伤害倍率
- shotgunHeadshotMultiplier:霰弹枪的爆头伤害倍率
- srHeadshotMultiplier:狙击步枪的爆头伤害倍率
- dmrHeadshotMultiplier:精确射手步枪的爆头伤害倍率
##### Attachments
- Compensator Horizontal Recoil:装备枪口补偿时的水平后座比例
- Vertical Grip Recoil:装备垂直握把时的垂直后座比例
- Compensator Vertical Recoil:装备枪口补偿时的垂直后座比例
- Angled Grip Recoil:装备直角握把时的垂直后座比例
#### World:世界选项
- Weapon griefing:枪械是否能破坏玻璃材质的方块
- Zone notifications:代码里没用过,冗余选项
- Grenade griefing:手雷是否能破坏地形
- Plane Y position:代码里已弃用
- AI Pathfinding Range:AI寻路的范围,调大数值非常影响性能
- Plane start delay:大逃杀模式下飞机起飞的延迟
- Bullet time:子弹最大飞行时间
#### Vehicles:载具
##### Dacia&UAZ:轿车&吉普
- Speed:每tick最大移动距离
- Turn speed:每tick使方向盘转动的角度
- Max turning angle:方向盘最大转向角度
- Health:载具最大血量
- Acceleration:载具每tick的加速度
## 模组其他配置
位于 .minecraft\pubgmc\下
- 修改较复杂,自由度高。
- 格式请参考该类别的初始配置。
### 载具刷新配置
位于 .minecraft\pubgmc\entity_generator\vehicle.json
载具刷新配置的用法与物资刷新方块配置无关(用的不同代码)
直至1.10.5,载具的可配置项仅有下列给出的部分。
#### 最外层嵌套
```json
{
此处添加内层嵌套
}
```
#### 最内层嵌套
直至1.10.5版本,载具暂无processors相关代码,故为空列表。
##### 随机实体
- 随机刷吉普/轿车(仅有这2个可选项)
```json
"type": "pubgmc:random_entity",
"providers": [
{
"type": "pubgmc:entity",
"entityClass": "dev.toma.pubgmc.common.entity.vehicles.EntityVehicleUAZ",
"processors": []
},
{
"type": "pubgmc:entity",
"entityClass": "dev.toma.pubgmc.common.entity.vehicles.EntityVehicleDacia",
"processors": []
}
]
```
##### 刷新实体
- 刷新吉普
```json
"type": "pubgmc:entity",
"entityClass": "dev.toma.pubgmc.common.entity.vehicles.EntityVehicleUAZ",
"processors": []
```
#### 中层嵌套
##### 随机概率
- 25%概率刷新配置
```json
"type": "pubgmc:random_chance",
"chance": 0.25,
"provider": {
此处添加内层嵌套
}
```
### 游戏配置
更改游戏配置后,游戏内执行指令即可生效:/game reloadConfigs
#### 大逃杀游戏配置
位于 .minecraft\pubgmc\game_configs\pubgmc_battle_royale.json
##### 基础配置
- autoJoin:准备游戏时,是否默认所有玩家参与游戏
- teamSize:队伍最大人数
(人机队伍的人数总是达到允许刷新的上限)
- playzoneGenerationDelay:第一个刷圈阶段的延迟(单位:tick)
- planeSpeed:飞机水平移动的距离(tick/格)
(1.10.5更新,模组老版本的计算逻辑不同)
- adjustPlaneSpeed:无论航线是否垂直,都调整飞机速度以固定总飞行时间
- flightPathRatio:介于4/16-8/16之间,数值越大,航线越长,靠近中心的概率越大
(1.10.5更新,计算方式见后文)
- planeFlightDelay:飞机起飞延迟(单位:tick)
- planeFlightHeight:飞机飞行高度
- entityCount:玩家+人机总数
- allowAI:游戏内是否包含人机
- allowAiCompanions:队伍人数不够时,是否允许人机补位
- aiSpawnInterval:人机刷新的时间间隔(单位:tick)
(当队伍最大人数>1时,不会导致人机刷新加快)
- initialAiSpawnDelay:第一个人机开始刷新的延迟(单位:tick)
- displayChatDeathMessages:聊天栏是否显示与玩家相关的击杀信息
##### zonePhases(刷圈阶段)
用{}包含的作为1个缩圈阶段,请参照初始配置的格式,写在上面的先触发。
```json
{
"scale": 0.441,
"damage": 0.08,
"damageInterval": 20,
"shrinkTime": 5400,
"shrinkDelay": 4800,
"airdropTrigger": "ON_SHRINK_START"
},
{
其他刷圈阶段格式同上
},
{
写在下面的刷圈阶段后触发
}
```
- scale:缩圈结束后最小边长相对于之前的比例
- damage:毒圈外1次伤害的值
- damageInterval:毒圈外扣血的频率(单位:tick)
(pubgmc1.10.5以前此配置名称为interval)
- shrinkTime:毒圈缩小至下一个安全区的时间(单位:tick)
- shrinkDelay:毒圈开始缩小的延迟(单位:tick)
- airdropTrigger:是否在毒圈开始缩小时、结束缩圈时刷新普通空投)
(NONE:不刷新,ANY:均刷新,ON_SHRINK_START:开始缩圈时,ON_SHRINK_END:缩圈结束时)
##### worldConfig天气设置
- daylightCycle:时间是否流动(同/gamerule doDaylightCycle)
- weatherCycle:天气是否变化(同/gamerule doWeatherCycle)
- daytime:游戏开始时的时间(同/time set)
- weatherTime:初始天气持续的时间
- weather:初始天气
#### 其他游戏配置
.minecraft\pubgmc\game_configs\pubgmc_domination.json
.minecraft\pubgmc\game_configs\pubgmc_ffa.json
待补充。
### 各游戏模式初始装备
#### 大逃杀模式
位于 .minecraft\pubgmc\loadout\battleroyale\下
##### 人机装备&玩家装备
- early_game_loot.json:前期人机装备
- initial_loot.json:人机落地装备
- late_game_loot.json:后期人机装备
- mid_game_loot.json:中期人机装备ij
- - player_start_gear.json:玩家上飞机时的装备
可选类别(最外层):
- "weaponLoot":手持武器;
- "armorLoot":头/甲;
- "specialEquipmentLoot":特殊装备栏(包/吉利服/夜视镜)
- "generalLoot":人机背包栏的物品
内层嵌套格式为物资刷新通用格式。
#### 其他模式
待补充。
### 物资刷新方块
- 空投:.mincraft\pubgmc\loot\airdrop.json
- 特殊空投:.mincraft\pubgmc\loot\airdrop_large.json
- 子弹货箱:.mincraft\pubgmc\loot\crate_ammo.json
- 枪支货箱:.mincraft\pubgmc\loot\crate_weapon.json
- t1物资刷新器(红):.mincraft\pubgmc\loot\loot_spawner_t1.json
- t2物资刷新其(黄):.mincraft\pubgmc\loot\loot_spawner_t2.json
- t3物资刷新其(绿):.mincraft\pubgmc\loot\loot_spawner_t3.json
#### 最外层嵌套
```json
{
"itemGroupDeclarations": {},
"pool": {
此处添加内层嵌套
}
}
```
以下举例说明用法,并非只能用示例中给定的数值。
以下内容不适用于载具刷新配置。
#### 最内层嵌套
##### 无(不刷新物资)
```json
"type": "pubgmc:none"
```
##### 物品
可刷新其他模组以及MC原版物品,只需修改"item"
###### 一般物品
- 平底锅
```json
"type": "pubgmc:item",
"output": {
"item": "pubgmc:pan"
}
```
###### 一般物品 + PUBGMC处理器
- 刷新枪械物品,并额外刷新子弹物品(不是在枪内添加子弹)
```json
"type": "pubgmc:item",
"output": {
"item": "pubgmc:awm"
},
"processors": [
{
"type": "pubgmc:ammo_processor",
"count": 10,
"minPacks": 1,
"maxPacks": 2
}
]
```
- 在刷新的枪械上加配件(首先需要枪械有该配件栏位置)
```json
"type": "pubgmc:item",
"output": {
"item": "pubgmc:sks"
},
"processors": [
{
"type": "pubgmc:attachment_processor",
"attachments": [
{
"attachmentType": "Muzzle",
"attachmentProvider": {
此处可继续添加内层嵌套,但物品必须为枪口配件
}
},
{
"attachmentType": "Grip",
"attachmentProvider": {
此处可继续添加内层嵌套,但物品必须为握把配件
}
},
{
"attachmentType": "Magazine",
"attachmentProvider": {
此处可继续添加内层嵌套,但物品必须为弹匣配件
}
},
{
"attachmentType": "Scope",
"attachmentProvider": {
此处可继续添加内层嵌套,但物品必须为瞄准镜配件
}
},
{
"attachmentType": "Stock",
"attachmentProvider": {
此处可继续添加内层嵌套,但物品必须为枪托配件
}
}
]
}
]
```
- 吉利服颜色(也可用NBT标签的方式代替)
根据刷新时所处群系确定颜色:
```json
"type": "pubgmc:item",
"output": {
"item": "pubgmc:ghillie_suit"
},
"processors": [
{
"type": "pubgmc:ghillie_color_processor",
"colorProviderType": "BIOME"
}
]
```
- 吉利服随机颜色(不用NBT标签)
(吉利服颜色为int整数,此处用16进制表示)
如需加权随机请使用NBT标签并搭配中层嵌套。
```json
"type": "pubgmc:item",
"output": {
"item": "pubgmc:ghillie_suit"
},
"processors": [
{
"type": "pubgmc:ghillie_color_processor",
"colorProviderType": "COLOR_LIST",
"colors": [
0xE2D6AA,
0xE8F2F2
]
}
]
```
###### 一般物品 + NBT标签,Meta
- 吉利服颜色(NBT标签,自定义任意颜色)
(吉利服颜色为int整数,此处未用16进制表示)
注意:如果为无效NBT标签,不会导致配置文件重置!
```json
"type": "pubgmc:item",
"output": {
"item": "pubgmc:ghillie_suit",
"nbt": "{ghillieColor:4611141}"
}
```
- 命名后的物品(NBT标签暂不支持中文,会乱码)
注意:如果为无效NBT标签,不会导致配置文件重置!
```json
"type": "pubgmc:item",
"output": {
"item": "minecraft:cooked_chicken",
"nbt": "{display:{Name:\"Chicken Dinner\"}}"
}
```
- 附魔金苹果(Meta属性)
```json
"type": "pubgmc:item",
"output": {
"item": "minecraft:golden_apple",
"meta": 1
}
```
#### 中层嵌套
中层嵌套内部可继续使用中层嵌套调整配置,或使用最内层嵌套刷新物资。
##### 随机概率
- 以1%概率刷新
```json
"type": "pubgmc:random_chance",
"chance": 0.01,
"output": {
此处添加内层嵌套
}
```
##### 随机数量
- 随机刷新1或2份
```json
"type": "pubgmc:count",
"min": 1,
"max": 2,
"entry": {
此处添加内层嵌套
}
```
##### 多个物品
- 刷新3个配置
```json
"type": "pubgmc:multi",
"items": [
{
此处添加内层嵌套
},
{
此处添加内层嵌套
},
{
此处添加内层嵌套
}
]
```
##### 随机物品
- 随机从3个配置中刷新一个
```json
"type": "pubgmc:random_item",
"items": [
{
此处添加内层嵌套
},
{
此处添加内层嵌套
},
{
此处添加内层嵌套
}
]
```
##### 加权物品
- 按10%,20%,70%比例刷新,最终只执行其中一个配置
```json
"type": "pubgmc:weighted_item",
"items": [
{
"weight": 1,
"entry": {
此处添加内层嵌套
}
},
{
"weight": 2,
"entry": {
此处添加内层嵌套
}
},
{
"weight": 7,
"entry": {
此处添加内层嵌套
}
}
]
```
# 补充
### 航线的计算方式
(pubgmc1.10.5更新)
假设游戏区域为正方形,边长分为4个段,周长一共分为16段。
正方形边上两点,将周长分为两个部分,得到短段 / 长段的比例。游戏配置的flightPathRatio决定了这个比例的最小值。此数值为4/16时可能会贴边飞行,故模组允许的最小数值为4/16=0.25。
先在正方形边上随机确定起飞点。
短段 / 长段的最小值是确定了起点在正方形顶点时,航线的最小长度。当起始点不在中心时,此比例会非线性地调整,但仍保证最小航线长度。
动态计算此比例之后,飞行终点也确定。
(pubgmc1.10.5以前:起点、地图中心点确定一直线,也就是始终经过中心。。。)