动态价格与防囤货
购买回收限额、价格波动、基础价值和数据保存。
liShop 从 1.1.1 开始支持普通商店动态价值系统。
目标
- 防止玩家低价大量囤货。
- 让商品价格随库存和成交热度浮动。
- 让没有单独配置回收价的物品也能通过基础价值表获得回收价值。
每日购买上限
配置位置:config.yml
purchase-limit:
enabled: true
timezone: Asia/Shanghai
default-limit: 640
groups:
vip:
permission: lishop.purchase.vip
daily-limit: 1280
svip:
permission: lishop.purchase.svip
daily-limit: 2560
mvp:
permission: lishop.purchase.mvp
daily-limit: -1
规则:
- 普通玩家每天最多购买
default-limit个商品单位。 - 玩家拥有多个购买权限时,取最高上限。
daily-limit: -1表示无限购买。- 每天按
timezone自动重置。
每日回收上限
配置位置:config.yml
recycle-limit:
enabled: true
default-limit: 640
右键出售/回收会计入每日回收数量。
动态价格
配置位置:config.yml
dynamic-pricing:
enabled: true
value-fallback-enabled: true
min-multiplier: 0.5
max-multiplier: 2.5
stock-influence: 0.75
trade-influence: 0.5
trade-normalizer: 512
价格倍率由两部分组成:
- 库存影响:库存越少,价格越高;库存越多,价格越低。
- 成交影响:购买量大于回收量时涨价,回收量大于购买量时降价。
最终倍率会限制在 min-multiplier 和 max-multiplier 之间。
物品基础价值
配置位置:item-values.yml
default-value: 1.0
values:
STONE: 0.5
OAK_LOG: 2.0
DIAMOND: 125.0
当商品没有配置 sell-price,并且 dynamic-pricing.value-fallback-enabled: true 时,插件会使用 item-values.yml 里的材料价值作为回收基础价。
数据保存
动态价格统计数据保存在:
plugins/liShop/datas/runtime.yml
每日会重置当日成交热度。