跳到主要内容

抽奖方块与抽奖实体

任何方块都能变成奖池的入口:箱子、末影箱、讲台、一块金块都可以。玩家点它就打开奖池预览。 用模型做的宝箱也可以:盔甲架、展示实体、物品展示框用 /sc setentity;ModelEngine、BetterModel、CraftEngine 家具这类封包模型用 /sc setmodel 按位置绑定。

设定与解除​

指令作用
/sc setblock <奖池>把你看着的方块(6 格内)设为这个奖池的入口。同一个方块再设一次会换成新的奖池
/sc removeblock解除你看着的方块

两个指令都需要 starcrate.admin.block 权限,只能由玩家执行。

  • 方块的位置存在 plugins/StarCrate/blocks.yml,只属于这一台服务器;跨服时每个子服各自放自己的方块。
  • 方块所在的世界还没载入时(例如多世界插件晚一点才载入),控制台会提示「世界 … 不存在,暂不启用」;世界载入后执行 /sc reload 即可。
  • /sc rename 改奖池 ID 时,绑定的方块会自动跟着改;/sc delete 删除奖池时,绑定它的方块会一起解除,方块上方的全息也会移除(之后把奖池文件搬回来复原时,需要重新 /sc setblock)。

玩家怎么用​

操作结果
右键打开奖池预览
左键打开奖池预览(config.yml 的 block.left-click-preview: false 时左键没有作用)
潜行 + 右键block.shift-right-quick-draw: true 时直接单抽(不打开预览);默认关闭,和右键一样打开预览

点抽奖方块不需要 starcrate.open 权限;但奖池设定了 开启权限 时,没有权限的玩家只能看、不能抽。 点击有连点保护(menu.click-cooldown-ms,默认 250 毫秒)。

抽奖方块本身的功能(例如箱子打开、讲台翻书)会被取消,玩家不会打开方块原本的界面。

保护​

情况结果
有人破坏方块block.protect: true(默认)时取消,提示「这是 … 的抽奖方块,请用 /sc removeblock 解除后再破坏」
爆炸(苦力怕、TNT、床、重生锚…)抽奖方块一律不会被炸掉(与 block.protect 无关)
管理员想破坏先 /sc removeblock;拥有 starcrate.admin.block 的人潜行左键不会打开预览,方便确认方块

全息标题与奖品展示​

奖池的「方块全息展示」(effects.hologram)开启时(默认开启),方块上方会浮着:

  • 标题:config.yml 的 block.hologram.title(默认粗体的奖池名称),下面接 messages.yml 的 hologram.lines(默认「右键打开 · N 种奖品」)。
  • 奖品展示(block.hologram.show-item: true):标题下方一个缓慢旋转的奖品,每隔 cycle-seconds 秒(默认 3)换成下一个奖品,轮流展示整个奖池。
config.yml
block:
hologram:
title: '<bold>{crate}</bold>' # {crate} = 奖池名称
height: 1.0 # 离方块顶部的高度
show-item: true
cycle-seconds: 3
messages.yml
hologram:
lines:
- '<gray>右键打开 · {prizes} 种奖品' # {crate} 奖池名称 {prizes} 奖品数量
  • 文字固定全亮、有阴影、透明背景,所有玩家都看得到。
  • 编辑奖池(改名称、加奖品)后标题立即更新;关闭「方块全息展示」时立即移除。
  • 全息是不会存进世界的展示实体,区块卸载后不会残留;只在区块载入时显示。
  • 改了 config.yml 的全息设定后 /sc reload。

抽奖实体(盔甲架 / 模型)​

模型插件做的宝箱、NPC 或任何实体都能当奖池入口,用法、全息与粒子都和抽奖方块一样。

指令作用
/sc setentity <奖池> [半径] [高度]把你看着的实体(6 格内)设为这个奖池的入口:盔甲架、展示实体、物品展示框、交互实体、生物都可以
/sc removeentity解除你看着的抽奖实体或模型区域;看不到时(例如模型被删除)解除你身边 4 格内的那一个

两个指令都需要 starcrate.admin.block 权限,只能由玩家执行。

  • 玩家右键实体打开预览,左键也打开预览(block.left-click-preview),潜行 + 右键在 block.shift-right-quick-draw: true 时直接单抽,和抽奖方块共用同一组设定。
  • 保护:抽奖实体不会被打坏、不会被爆炸炸掉(block.protect),也拿不走盔甲架身上的装备(头上的模型不会被玩家摘下来)。
  • 没有碰撞箱的实体——展示实体(item_display / block_display,例如用放大的剑、自订物品做的模型)、标记盔甲架(Marker:1b)——模型往往比实体本身大很多:绑定时看着模型就能选中,玩家点击时按实体周围半径 1.5 格、高 2 格判定(视线穿过这个范围就算点到)。模型更大或更小时,用 /sc setentity <奖池> <半径> [高度] 自己指定范围,例如 /sc setentity 星辉宝箱 2.5 3。
  • 空手对着空气右键时原版不会发送任何点击;模型下面通常是地面,视线穿过模型点到地面就会打开,左键也可以。
  • 物品展示框里的模型:点展示框打开,展示框不会被打掉、里面的物品拿不走。
  • 实体按 UUID 记在 plugins/StarCrate/blocks.yml 的 entities 段(同样只属于这一台服务器),重启后依然有效;实体移动后全息与粒子会跟着过去。
  • 如果模型插件每次重启都会重新生成实体(UUID 会变),重启后需要重新 /sc setentity,或改用下面的 /sc setmodel 按位置绑定。

封包模型(按位置绑定)​

ModelEngine、BetterModel、CraftEngine 家具、CloudModel 这类插件的模型与碰撞箱只存在于玩家的客户端,服务器上没有对应的实体,/sc setentity 找不到它们。这时按位置绑定:

指令作用
/sc setmodel <奖池> [半径] [高度]以你看着的方块(模型脚下,8 格内)为底,设一个直立的圆柱范围(默认半径 1.2 格、高 2 格);玩家视线穿过这个范围点击就打开奖池
  • /sc setentity 看着封包模型找不到实体时,会自动改用这个方式,并提示可以用 /sc setmodel 调整大小。
  • 点到模型的封包碰撞箱(服务器不认识的实体)、视线穿过模型点到地面、左键挥手,都算点到;右键 / 左键 / 潜行右键的规则与抽奖方块相同。
  • 范围内的其他实体(例如模型插件自己的底座实体)被右键时也会打开这个奖池。
  • 全息标题与粒子显示在范围上方 / 中间;位置记在 blocks.yml 的 models 段,重启后依然有效,和模型插件怎么生成模型无关。
  • 解除:看着模型执行 /sc removeentity。
  • 已经有屏障方块(barrier)当碰撞的模型,也可以直接对屏障方块 /sc setblock。

待机粒子​

奖池的「方块粒子」(effects.particle)在方块四周持续播放,附近 32 格内有玩家时才会产生。

值名称样子
none无不播放(默认)
halo光环方块上方一圈旋转的末地烛光点
spiral双色螺旋蓝、紫两色的光点绕着方块螺旋上升
orbit附魔环绕附魔台文字绕着方块旋转
fountain烟花喷泉方块上方喷出烟花火花
stars星光方块周围随机闪烁的末地烛光点
flame火焰之环两团火焰绕着方块底部旋转
magic魔法灵气女巫的紫色魔法粒子

在编辑器「奖池设置」里左右键切换,或在奖池文件写 effects.particle: spiral。

/sc cleanup​

/sc cleanup

清除所有已载入世界里残留的星月造物展示实体(方块全息、奖品展示),然后重新生成方块全息。 正常情况下不需要用;如果曾经强制关服后看到重叠或不会消失的全息,执行一次即可。需要 starcrate.admin.block 权限。