• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
资源图标

付费 闭源 娱乐 【CSHOP】CustomShop 但是UI版|高性能|自定义模板|客户端UI显示商店

版权类型
原创
插件中文名称
自定义商店
插件英文名称
Cshop
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
语言支持
中文(简体)
前置组件
PlaceholderAPI
适配版本(Java)
  1. 1.20
大家应该用过CustomShop吧,但是做TACZ RPG服务器的腐竹可能会遇到大大小小一些问题或者对原版箱子GUI的CustomShop有枪无法显示啊或是一个商店对物品数量的限制造成了困扰
【注意,目前仅支持Arclight或Mohist等Forge加载器的端,本插件需要配合mod使用,mod基于Forge开发】

支持原有 CustomShop的物品公式,如图↓

1786164058349.webp

购买公式(为商品添加购买条件)

所有条件均满足时视为购买成功。



必要物品公式 注意 所有公式均可以写多行
购买公式

为你的商品添加购买条件 当所有条件满足则进行扣除并视为购买成功
以下公式的数额/名称仅供展示和教学,你可以自由修改

b~eco~200 - 增加此商品购买条件为200游戏币
b~point~150 - 增加此商品购买条件为150点券
b~perm~vip.vip1~&9成为VIP1 - 增加此商品的购买条件为拥有 vip.vip1 权限, 在商店中显示条件为"&9成为VIP1"
b~none - 增加此商品的条件为什么都不需要给
b~item~&6黄金硬币~30 - 增加此商品的购买条件为背包中拥有30个以上的物品名为"&6黄金硬币"的物品
b~id~264~&b钻石~10 - 增加此商品的购买条件为背包中拥有10个以上的物品id为264的物品, 在商店中显示条件为"&b钻石"
b~cost~kr~350 - 增加此商品的购买条件为拥有指定货币id kr 的货币350个以上
b~show - 让该物品处于展示状态 无法被购买成功

b~lore~&6任务道具~4 - 增加此商品的购买条件为背包中拥有4个以上的拥有至少一行Lore包含“&6任务道具”的物品
注意是包含 例如“&c此物品为&6任务道具” 也视为包含!

描述公式
m~&a这件商品是真滴贵 - 当物品上有该标签时 在商店中会增加描述标签"&a这件商品是真滴贵"

设定公式
s~close - 设定商品为购买成功后关闭界面
s~open~&a第二页商店 - 设定商品为购买成功后跳转至商店名为"&a第二页商店"的商店
s~limit~4 - 设定商品为总购买次数4 每次购买减一 为0时则无法继续购买商品(全局次数)
s~cmd~c~give <player> 264 1 - 设定商品为购买成功后让后台执行命令 /give 玩家名 264 1
s~cmd~p~spawn - 设定商品为购买成功让玩家执行命令 /spawn
s~take - 设定商品为购买成功后不给予玩家他购买的商品[可用于做单纯的界面按钮,配合购买公式的b~none]
s~daytime~14.30~17.50 - 设定商品只在当日的 14.30分至17.50分出现在商店内
s~daylimit~3 - 设定商品为购买次数3 每次购买减一 为0时无法购买
s~randomtime~3.20 - 设定商品只在当日随机的一个时间点开放3个小时20分钟
注意: s~daylimit 和 s~randomtime 会在<刷新>时进行改动
s~daylimit~3 <刷新> 时 会补充购买次数
s~randomtime~3.20 <刷新> 时 会重新设定随机出现的时间段

而 <刷新> 是怎样执行的呢? 以下方法可以进行对商店的 <刷新>
- 每日第一次打开商店 自动进行刷新
- 手动输入命令 /cshop refresh 商店名 进行手动刷新
[这两个需要刷新的设定公式如果你做好物品放入当日已经刷新过的商店里 是不会出现的 所以要手动刷新商店哦]​




以下是指令【指令没原版的多】
1786164172232.webp

和原版其实差不多,只是上架物品变成了指令上架和下架

接下来看看效果图
1786164343418.webp

支持自定义模板
1786164385376.webp

YAML:
# 模板ID,用于商店引用
template_id: "default"
version: 1

# ========== 画布设置 ==========
# 定义整个商店界面的画布大小(像素),建议宽高与客户端屏幕适配
# 实际显示时,画布会根据屏幕尺寸自动缩放,但坐标计算基于此尺寸
canvas:
  width: 400      # 画布宽度,建议 400~500
  height: 500     # 画布高度,建议 400~600
  background_color: "0x88000000"   # 背景颜色(ARGB格式,0xAA RR GG BB)

# ========== 标题设置 ==========
title:
  text: "&6&l%shop_name%"    # 标题文本,%shop_name% 会被替换为商店名
  x: 15                     # 标题左上角相对画布的 X 坐标
  y: 10                     # 标题左上角相对画布的 Y 坐标
  width: 370                # 标题框宽度
  height: 30                # 标题框高度
  background_color: "0xFF1a1a2e"   # 标题背景色
  border_color: "0xFFe94560"       # 标题边框色
  border_width: 2           # 边框宽度
  font_scale: 1.5           # 字体缩放倍数
  alignment: "center"       # 文字对齐方式:left/center/right
  shadow: true              # 是否显示文字阴影

# ========== 物品槽位网格 ==========
slots:
  rows: 3                  # 行数
  cols: 4                  # 列数
  start_x: 20              # 网格左上角相对画布的 X 偏移
  start_y: 50              # 网格左上角相对画布的 Y 偏移(通常位于标题下方)
  gap_x: 10                # 列间距
  gap_y: 10                # 行间距
  slot_width: 80           # 每个物品槽的宽度
  slot_height: 80          # 每个物品槽的高度

  # 物品显示样式
  item_component:
    icon_scale: 2.0      # 物品图标缩放
    show_amount: true      # 是否显示物品数量
    amount_x_offset: 55    # 数量文字相对槽位左上角的 X 偏移
    amount_y_offset: 55    # 数量文字相对槽位左上角的 Y 偏移
    amount_color: "0xFFFFFFFF"  # 数量文字颜色

  # 物品槽边框样式
  border:
    color: "0xFF555555"          # 默认边框颜色
    width: 2                     # 边框宽度
    hover_color: "0xFFe94560"    # 鼠标悬停时边框颜色
    unavailable_color: "0xFF333333" # 不可购买时边框颜色

  # 物品名称标签(显示在槽位下方)
  name_label:
    y_offset: 85          # 标签相对槽位左上角的 Y 偏移(通常稍大于槽高)
    max_width: 80         # 标签最大宽度
    background_color: "0xCC000000"   # 标签背景色
    text_color: "0xFFFFFFFF"         # 标签文字颜色
    font_scale: 0.7                 # 字体缩放
    alignment: "center"             # 对齐方式
    max_lines: 2                    # 最大行数

  # 物品悬停提示(Tooltip)
  tooltip:
    enabled: true                    # 是否启用
    background_color: "0xF0101010"   # 提示框背景色
    border_color: "0xFF555555"       # 提示框边框色
    text_color: "0xFFFFFFFF"         # 提示文字颜色
    max_width: 200                   # 提示框最大宽度

# ========== 翻页按钮 ==========
pagination:
  # 按钮位置:确保按钮在画布底部区域内,且不覆盖物品槽
  # 建议 prev_button_y 和 next_button_y 在 (画布高度 - 按钮高度 - 安全边距) 范围内
  # 此处画布高度 500,按钮高度 20,安全边距 30,因此 y <= 500-20-30 = 450
  prev_button_x: 150       # 上一页按钮 X 坐标(相对画布)
  prev_button_y: 450       # 上一页按钮 Y 坐标(相对画布),置于底部附近
  next_button_x: 230       # 下一页按钮 X 坐标(相对画布)
  next_button_y: 450       # 下一页按钮 Y 坐标(相对画布)
  button_width: 40         # 按钮宽度
  button_height: 20        # 按钮高度
  background_color: "0xFF1a1a2e"   # 按钮背景色
  hover_color: "0xFFe94560"       # 鼠标悬停时颜色
  text_color: "0xFFFFFFFF"         # 按钮文字颜色

# ========== 底部信息栏 ==========
footer:
  y: 460                # 相对画布的 Y 坐标(通常靠近底部)
  height: 20            # 高度
  x: 10                 # X 坐标
  width: 380            # 宽度
  text: "&7余额: &e%vault_eco_balance% &7| 点券: &b%cshop_cost_point_bal%"  # 支持占位符
  alignment: "left"     # 对齐方式
主配置
1786164535492.webp

|-- PAPI变量 --|
%cshop_cost_<货币id>_name% - 指定货币id的名字
%cshop_cost_<货币id>_bal% - 你指定货币id的剩余数量
该插件已测试和自己服务器实装使用,购买联系QQ: 753127661
同时出售ItemLoreStats,Minebbs已发布该插件,自带 套装 称号 被动技能 Buff 触发技能组等属性插件常有功能,一次购买直接使用
以及加密TACZ枪包的mod,欢迎咨询购买
后退
顶部 底部