🗿 图腾

图腾模式

北 (-z)

(-x) 西 ←┼→ 东 (+x)

南 (+z)

pattern:
  core: 4,2,2 # 层:4 行:2 索引:2 -> DAYLIGHT_DETECTOR
  layer:
    1:
      - 'AIR        GOLD_BLOCK        AIR'
      - 'GOLD_BLOCK GOLD_BLOCK GOLD_BLOCK'
      - 'AIR        GOLD_BLOCK        AIR'
    2:
      - 'AIR    AIR     AIR'
      - 'AIR GOLD_BLOCK AIR'
      - 'AIR    AIR     AIR'
    3:
      - 'AIR      AIR      AIR'
      - 'AIR LIGHTNING_ROD AIR'
      - 'AIR      AIR      AIR'
    4:
      - 'AIR        AIR        AIR'
      - 'AIR DAYLIGHT_DETECTOR AIR'
      - 'AIR        AIR        AIR'
pattern:
  core: 3,1,2
  layer:
    4:
      - '*_STAIRS{face=east} OBSERVER{face=south} *_STAIRS{face=west}' 
    3:
      - 'AIR CRYING_OBSIDIAN AIR'
    2:
      - 'AIR *_LOG{axis=y}||*_PILLAR{axis=y} AIR'
    1:
      - 'AIR ANVIL AIR'

核心

指定图腾模式中的核心块。数字依次对应层、行、索引。在这种情况下,核心块位于第3层、第1行、第2个索引位置。在下面的层部分引用时,此核心指向 CRYING_OBSIDIAN 块。

描述结构的逐层构建。

方块类型

*_XXX: 任何以 XXX 结尾的方块 ID XXX_*: 任何以 XXX 开头的方块 ID XXX: 原版方块 ID(大写字母) xxx: 自定义方块 ID (ItemsAdder/Oraxen)

注意:如果使用 ItemsAdder,请去除命名空间 namespace:block_id(X) block_id(√)

方块数据

可用的数据类型: axis: x/y/z face: west/east/north/south/up/down half: bottom/up

要一起使用更多的块数据,只需按照示例操作: XXX{data_1=value_1;data_2=value_2;data_3=value_3}

||

代表 OR 的意思

图腾属性

totem_key:
  duration: 300  <- 单位:秒
  radius: 10     <- 有效范围
  particles:
    ...
  pattern:
    ...
  effects:
    ...
  requirements:
    ...
  events:
    activate:
      ...

默认图腾

金星图腾
双倍战利品图腾

粒子

  • type:REDSTONE:表示要使用的粒子类型。在这种情况下,选择了 REDSTONE 粒子类型。 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html

  • polar-coordinates-formula: 此部分决定了粒子在极坐标系中的位置或移动方式。

    • horizontal: '{radius}':在水平方向上距图腾核心的径向距离。

    • vertical: '-1.5':粒子的垂直位置,相对于图腾核心。

  • theta: Theta 在极坐标中通常用于表示旋转角度。

    • draw-interval: 0.2:指定角度变化的频率,或粒子旋转的精细程度。较小的值可以导致更平滑的过渡。

    • range: 指定 theta 的范围。

      • 0~360:粒子将在从 0 到 360 度的完整圆周内绘制。

  • task: 描述与粒子渲染相关的任务或动作。

    • period: 4:指示粒子效果应该更新或重新渲染的频率。

    • delay: 0:粒子效果开始之前的延迟。在这里,它立即开始,没有延迟。

  • options:

# REDSTONE
options:
    color: 186,85,211
    scale: 0.8  (0.1~4)
# DUST_COLOR_TRANSITION
options:
    from: 255,255,255
    to: 0,0,0
    scale: 0.8

示例:

particles:
  particle_0:
    type: REDSTONE
    options:
      color: 178,34,34
      scale: 1
    polar-coordinates-formula:
      horizontal: '{radius}'
      vertical: '-1.5'
    theta:
      draw-interval: 0.2
      range:
        - 0~360
    task:
      period: 4
      delay: 0
  particle_1:
    type: REDSTONE
    options:
      color: 178,34,34
      scale: 1
    polar-coordinates-formula:
      horizontal: '{radius}/(2*cos({theta}))'
      vertical: '-1.5'
    theta:
      draw-interval: 0.2
      range:
        - 0~60
        - 120~180
    task:
      period: 4
      delay: 0
  particle_2:
    type: REDSTONE
    options:
      color: 178,34,34
      scale: 1
    polar-coordinates-formula:
      horizontal: '-{radius}/(2*cos({theta}))'
      vertical: '-1.5'
    theta:
      draw-interval: 0.2
      range:
        - 0~60
        - 120~180
    task:
      period: 4
      delay: 0
  particle_3:
    type: REDSTONE
    options:
      color: 178,34,34
      scale: 1
    polar-coordinates-formula:
      horizontal: '({radius})/(cos({theta}) + sqrt(3) * sin({theta}))'
      vertical: '-1.5'
    theta:
      draw-interval: 0.2
      range:
        - 0~120
    task:
      period: 4
      delay: 0
  particle_4:
    type: REDSTONE
    options:
      color: 178,34,34
      scale: 1
    polar-coordinates-formula:
      horizontal: '-({radius})/(cos({theta}) + sqrt(3) * sin({theta}))'
      vertical: '-1.5'
    theta:
      draw-interval: 0.2
      range:
        - 0~120
    task:
      period: 4
      delay: 0
  particle_5:
    type: REDSTONE
    options:
      color: 178,34,34
      scale: 1
    polar-coordinates-formula:
      horizontal: '-({radius})/(cos({theta}) - sqrt(3) * sin({theta}))'
      vertical: '-1.5'
    theta:
      draw-interval: 0.2
      range:
        - 60~180
    task:
      period: 4
      delay: 0
  particle_6:
    type: REDSTONE
    options:
      color: 178,34,34
      scale: 1
    polar-coordinates-formula:
      horizontal: '({radius})/(cos({theta}) - sqrt(3) * sin({theta}))'
      vertical: '-1.5'
    theta:
      draw-interval: 0.2
      range:
        - 60~180
    task:
      period: 4
      delay: 0

这有帮助吗?