> config.yml
```
pxp:
#www.pxpmc.com的用户名/邮箱/手机号
user: ''
#www.pxpmc.com内该插件的令牌码,在下载旁边的其他操作获得
key: ''
#储存引擎
storage:
#储存引擎
#支持 mysql
type: "mysql"
#mysql的设置
mysql:
#连接地址
url: "127.0.0.1"
#库名
table: "px"
#表前缀
table-prefix: "px_"
#连接参数,默认为空"",不懂留空即可
params: ""
#用户名
user: "root"
#用户密码
password: "root"
#连接池的连接数,默认1,一般给稳定玩家数量/2即可
max-line: 2
#ui类型
ui: 'germ'
#维护设置
maintenance-setting:
# 需要设定一个主端为维护端
# 推荐使用人数少的端做为维护端
# 如果只开单端,填 true 即可
# 该值默认值为: false
is-main: true
#维护费用
#int maintenanceMoney(Store store);
maintenance-money: |-
//每个货柜增加5000和默认3000的维护费用
return store.getAmount() * 5000 + 3000;
#基础设置
setting:
#每个玩家可创建的商铺数量
#支持脚本,可以做权限判定
#int maxStore(Player player);
max-store: 2
#每个商铺最多具有几个柜台(不支持脚本)
max-page: 10
#每个柜台有多少个商品格子(不支持脚本)
max-slot: 25
#扩张柜台的价格
#amount = 当前柜台数量
#int buyShopPrice(int amount,Store store);
buy-shop-price: 50000
#税收
#double tax(Store store);
tax: 0.05
#货币接口
#这种写法可以动态接入任何经济插件
money:
#查询玩家货币
#double get(Player player);
get: |-
//MoneyAPI是PxTools内的一个库类,兼容的是Vault插件的经济(需要有一款给予Vault写的经济插件)
//如果没在PxTools安装这个类库,可以在 https://www.kancloud.cn/qq245271830/pxpmc/content/PxTools/%E4%B8%80%E4%BA%9B%E9%80%9A%E7%94%A8%E7%9A%84%E5%B7%A5%E5%85%B7%E7%B1%BB/Vault.md 下载并安装
return MoneyAPI.get(player);
#拿走玩家货币
#boolean make(Player player,double amount);
make: |-
return MoneyAPI.add(player,(0.0-amount));
#给予玩家货币
#boolean give(Player player,double amount);
give: |-
return MoneyAPI.add(player,amount);
#货币名字
name: |-
return "游戏币";
#名字验证器,返回false时,将不通过设定
#默认返回true
#boolean nameValidator(Player player,String text);
name-validator: |-
if(text.contains("MD") || text.contains("操") || text.contains("草") || text.contains("艹") || text.contains("GM") || text.contains("管理")){
player.sendMessage("&c名字中不能含有敏感字符!!!");
return false;
} else return true;
#介绍验证器,返回false时,将不通过设定
#默认返回true
#boolean introductionValidator(Player player,String text);
introduction-validator: |-
if(text.contains("MD") || text.contains("操") || text.contains("草") || text.contains("艹") || text.contains("GM") || text.contains("管理")){
player.sendMessage("&c介绍中不能含有敏感字符!!!");
return false;
} else return true;
#物品验证器,返回false时,将不可上架到商铺内
#默认返回true
#boolean itemValidator(Player player,ItemStack itemStack);
item-validator: |-
//下面注释的内容为直接获取pxrpg的物品是否为"已绑定"
//删除 /* */ 即可使用
/*
import com.pxpmc.tools.nbt.api.NBTAPI;
import com.pxpmc.tools.nbt.api.NBTCompound;
NBTCompound nbt = NBTAPI.getItemNBT(itemStack);
if(nbt.hasKey("PxRpg")){
NBTCompound pxrpg = nbt.getCompound("PxRpg");
NBTCompound data = pxrpg.getCompound("data");
if("已绑定".equals(data.getString("bind"))) {
player.sendMessage("&c已绑定的物品无法上架");
return false;
}
}else
*/
if(itemStack.hasItemMeta()){
ItemMeta im = itemStack.getItemMeta();
if(im.hasLore()){
List lore = im.getLore();
for(String line : lore){
if(line.contains("已绑定")){ //当lore中含有 "已绑定" 就无法上架
player.sendMessage("&c已绑定的物品无法上架");
return false;
}else if(line.contains("无法交易")){ //当lore中含有 "无法交易" 就无法上架
player.sendMessage("&c无法交易的物品无法上架");
return false;
}
}
}
}
return true;
#获取物品的唯一标识,用于记录近期成交价
#如果返回null或者"" 则不记录
#String itemUniqueId(ItemStack itemStack);
item-unique-id: |-
//下列为一个简单的例子,获取pxrpg item/gem/equip的唯一ID
/*
import com.pxpmc.tools.nbt.api.NBTAPI;
import com.pxpmc.tools.nbt.api.NBTCompound;
NBTCompound nbt = NBTAPI.getItemNBT(itemStack);
if(nbt.hasKey("PxRpg")){
NBTCompound pxRpg = nbt.getCompound("PxRpg");
NBTCompound data = pxRpg.getCompound("data");
String type = pxRpg.getString("type");
if("equip".equals(type))
//是装备
return pxRpg.getString("type") +"_"+pxRpg.getString("id");
else if("item".equals(type)){
//是道具
//这里是用 PxItemExtend 写的一个道具,可以删除
NBTCompound extend = data.getCompound("extend");
if(extend.hasKey("要诀")){
NBTCompound sub = extend.getCompound("要诀");
if(sub.hasKey("技能"))
return pxRpg.getString("type") +"_"+pxRpg.getString("id")+"_"+sub.getString("技能");
}
//道具的通用模式
return pxRpg.getString("type") +"_"+pxRpg.getString("id")+ "_"+data.getInt("level");
//是宝石
}else return pxRpg.getString("type") +"_"+pxRpg.getString("id")+ "_"+data.getInt("level");
}
*/
return null;
#事件
events:
#修改名字
change-name:
#修改之前鉴权,返回false将不继续执行,没特殊要求可直接返回true
#在这之前会先调用名字验证器判定是否合格
#boolean before(Player player,Store store,String text);
before: |-
if(store.hasMoney(200000)) return true;
player.sendMessage("商铺资金不足200000");
return false;
#修改成功之后,没特殊要求可直接返回
#一般用作于条件达成之后减少相应的内容,比如减少商铺资金20W
#void before(Player player,Store store,String text);
after: |-
store.addMoney(-200000);
#修改介绍
change-introduction:
#修改之前鉴权,返回false将不继续执行,没特殊要求可直接返回true
#在这之前会先调用介绍验证器判定是否合格
#boolean before(Player player,Store store,String text);
before: |-
if(store.hasMoney(200000)) return true;
player.sendMessage("商铺资金不足200000");
return false;
#修改成功之后,没特殊要求可直接返回
#void before(Player player,Store store,String text);
after: |-
store.addMoney(-200000);
#开始营业
start-trade:
#玩家自主开始营业之前鉴权,返回false将无法开始营业,没特殊要求可直接返回true
#boolean before(Player player,Store store);
before: true
#开启营业之后
after: return;
#开始营业
stop-trade:
#玩家自主停止营业之前鉴权,返回false将无法开始营业,没特殊要求可直接返回true
#boolean before(Player player,Store store);
before: true
#停止营业之后
after: return;
```
- 通用配置(使用px之前先看这里)
- 1分钟搭建数据库
- 1分钟搭建Redis环境教程
- 常见问题与报错
- [技能驱动]PxSkilldrive
- 介绍
- config配置
- 所有指令
- 单个技能完整配置
- MythisMobs技能配置
- 自带的技能系统[1.1.4+]
- 打开技能组
- PlaceHolderAPI变量
- 更新日志
- [商会]PxMerchant
- 介绍
- 配置文件
- 更新日志
- [帮派]PxGangs
- 介绍
- 用前必看
- 指令一览
- 职位/权限
- 帮派数据/建筑
- PlaceHolderAPI变量
- 兼容插件
- 更新日志
- [商店]PxShop
- 介绍
- 完整商店配置
- 货币/商品
- 更新日志
- [在线/成就奖励]PxLoginRewards
- 介绍
- 安装使用
- 完整配置
- 要求/奖励
- 更新日志
- [属性]PxRpg
- 介绍
- 安装使用
- 模块文件夹
- 指令
- 属性
- 属性是什么
- 如何创建属性
- 属性组
- 如何利用属性打出伤害(已过时)
- 词条
- 介绍
- 随机词条组列表[4.4.2+]
- 职业
- config[已过时]
- 创建一个职业[已过时]
- 职业[4.3.0+]
- config[4.3.0+]
- 怪物
- 天生属性[4.5.4+]
- 装备
- 装备配置文件
- 让装备获得属性
- 装备变量[已过时]
- 装备类型
- 手持武器[4.5.3+]
- 切换装备[4.5.3+]
- 物品显示模板(lore内容)
- 装备模板的使用
- 物品
- 普通物品
- 消耗品
- 回血道具[旧版]
- 代码回血/回蓝(4.3.0+)
- code代码执行(4.3.0+)
- 介绍
- 例子
- Buff相关
- 传送相关
- 执行3种指令
- 洗炼道具
- 强化类
- 强化道具
- 强化保护券
- 强化券
- 强化转移道具
- 解绑道具
- 宝石相关
- 打孔道具
- 摘除宝石
- 绑定系统
- 绑定类型
- 战斗系统
- 战斗公式变量(已弃用)
- 配置战斗公式[4.3.0+]
- 攻击类型列表
- 自定义伤害类型
- 伤害机制
- 伤害显示
- 掉落
- 掉落类型(已弃用)
- 配置怪物掉落包
- 掉落包[4.3.0+]
- Buff
- 介绍
- buff支持的词条
- 给予buff的方法
- 显示相关
- 萌芽显示
- 龙核相关
- 套装
- 介绍
- 技能[4.5.1+]
- 介绍
- 配置技能
- 技能词条介绍
- 钩子模块[4.5.1+]
- 介绍
- 监听器API
- [自身]Monitor.yml
- [装备容器]Equip Container.yml
- [鉴定]Appraisal.yml
- [绑定]Bind.yml
- [怪物]Mob.yml
- [Buff]Buff.yml
- [分解]Decompose.yml
- [战斗]Fight.yml
- [职业]Occupation.yml
- [玩家]Player Data.yml
- Mythicmobs
- 兼容mm技能(不推荐)
- 如何让MM打出伤害
- MM技能Buff(4.1.1新增)
- MM技能触发Pr伤害(4.2.1+)
- SkillAPI(4.3.0)
- 同步SkillAPI职业
- 战斗公式变量(已弃用)
- 个人变量(已弃用)
- 覆盖技能伤害
- Buff(4.1.1新增)
- 给Mob添加Buff(4.1.1新增)
- 治疗/回蓝组件(4.3.0+)
- PlaceholderAPI变量
- 统计(4.1.0更新)
- [附属]装备经验和升级
- 使用教程
- [附属]物品拓展功能
- 介绍
- [ExtendGui]窗口环境的所有方法
- [ExtendData]拓展数据所有方法
- 类方法
- [工具类]QuickTools
- [拓展数据]ExtendData
- [拓展属性]Attr
- [拓展技能]SkillLv
- 物品生成时添加
- 属性拓展
- 技能拓展[1.0.1+]
- 大量例子
- [福利]提交活动
- 作者发布
- 简单强化
- 界面锁定
- 延迟强化
- 菜单例子
- 吞噬物品永久保存
- 安笙
- 作者介绍
- 词条强化[暂无法使用 等待更新]
- 酒桶
- 作者介绍
- 更新日志
- [附属]萌芽装备容器
- 介绍
- 例子
- 常用工具类
- [数据容器]UMap
- [属性对象]Att
- [对象BUFF]BuffContainer
- [技能对象]USKill
- 接入PxRpg插件(开发者)
- 注册模块入口
- 接入属性
- 模块配置读取
- 接入物品
- 道具生成
- 道具数据获取
- 设置数据并渲染
- 自定义道具组件
- 具有生成参数的组件
- 集成模块介绍
- 更新日志
- 视频预览
- 4.3.0+新版公式教程
- 简介(内含旧版公式转换器)
- 教程(战斗公式篇)(必先学)
- 传递参数和类型的常用方法(重要)
- 单例属性教程(含战斗力变量教程)
- 道具消耗品(含属性加成)
- 装备/宝石/怪物的属性词条
- Buff新版词条(内含属性加成)
- Drop掉落物配置(内含属性掉落加成)
- [副本]PxInstance-Pro
- 介绍
- 世界规则
- 指令详解
- 副本规则(rule)
- 触发器(trigger)
- 触发器参数详解
- 条件(condition)
- 事件(event)
- 副本流程详解
- 根据难度初始化怪物
- 判定通关条件,发放通关奖励
- 副本倒计时/超时处理
- 动态创建倒计时
- 结算奖励
- 副本自带变量
- PlaceholderAPI变量
- 更新日志
- [副本]PxInstace(不再更新)
- 介绍
- 安装使用
- 配置教程
- PlaceholderAPI变量
- 流程配置
- [队伍]PxTeam-Pro
- 介绍
- HUD设置教程
- 变量大全
- 配置文件
- config.yml
- 开发者
- 调用API
- 更新日志
- [任务]BookQuest
- 介绍
- 完整任务配置
- 4种状态显示[4.2.1+]
- 要求/奖励
- 更新日志
- [对话]PxDialogue
- 介绍
- 完整的对话配置
- 一个住酒店的例子
- 更新日志
- [采集]PxCollect
- 介绍
- 作物配置
- 区域生成
- 种植配置
- 条件/事件
- 更新日志
- [技能快捷键]PxQuickSkill
- 介绍
- [仓库]PxWarehouse
- 介绍
- 更新日志
- [拍卖行]PxAuction
- 介绍
- [队伍]PxTeam(不再更新)
- 介绍
- [锻造]PxForging
- 介绍
- 材料/产物
- 完整的锻造配置
- 更新日志
- [邮箱]PxEmail
- 介绍
- PlaceHolderAPI变量
- 编辑邮件模板
- 编辑玩家群
- 编辑系统类型
- 编辑定时邮件
- 权限
- 更新日志
- [MM管理]PxMMSpawner
- 介绍
- 更新日志
- [前置]PxTools(通用部分)
- 介绍
- 掉落物显示[1.12.2+]
- 函数[弃用]
- abs
- ceil
- decimals
- floor
- format
- gradual
- if
- max
- min
- pow
- prd
- random
- randomint
- randomweight
- repeat
- round
- sum
- time
- 要求/奖励(1.9.0+)
- 时间要求(1.9.1+)
- 条件/事件
- 指令
- 事件组
- PlaceholderAPI变量
- 更新日志
- 一些通用的工具类
- 介绍[必看]
- [经济]Vault
- [点券]PlayerPoints
- PxTools相关
- [玩家变量]VarAPI
- [玩家标签]TagAPI
- [玩家计数器]CountAPI
- [时间相关]Date
- [数学函数]Math
- [变量API]PlaceholderAPI
- [自定义冷却]CooldownUtil
- [数字千分化]NumFormat
- [萌芽API]GermAPI
- 消息转发[1.12.3+]