_DIM_
本帖最后由 酷车手BB弹 于 2019-7-4 22:23 编辑
! G! v5 ~! O) H; X2 c# Z
↑点击查看功能详细讲解
Sponge 服务端基础整合
前言

    Sponge (海绵)服务端是一款划时代革新的服务端,与 Bukkit 截然不同。Sponge 插件是以 Forge 模组方式工作,使得插件能完美的兼容众多模组,避免了许多令腐竹头疼的 BUG。
' O9 Q3 Q: T! t8 A3 n8 Q4 b    Sponge 在设计上也是十分激进的,例如内置经济API,不论是使用什么插件都能够完美的兼容任意一款经济系统插件。例如统一的消息文本输出,只要是标准的海绵插件在输出内容时都能够使用统一的左右换页的界面。例如无 OP 功能,至今仍有不少腐竹认为无 OP 功能是反ren类的,实际上这样是十分不安全的,但在海绵你依然可以给予用户 * 权限达到所谓的 OP 功能。以及还有许许多多激进的设计这里不一一例举了。* q# \5 s* ?& |
    由于 Sponge 是一种新的平台 ,在插件多元化方面与 Bukkit 相比仍有一定的差距。但我花了几个月的时间来制作此端目的就是为了缩短在基础功能上的差距,尽可能的缩短腐竹们适应 Sponge 所耗费的时间。( N0 [) }2 b  P4 K
    如果你水平较高,你可以尝试阅读我的教程并自己整合。如果你有耐心,你可以尝试使用此 Sponge 基础端。如果你两者都不具备,那么不建议使用 Sponge ,使用 Bukkit 能够大大缩短你开服的时间。以及你在 Sponge 上实在找不到能够实现你想要功能的插件,那么也不建议使用 Sponge 。
2 w# I" h% I, U
7 u: G1 H' \$ j& @3 o  b- s- `
在下载本服务端之前,你需要注意以下几点:
  • 你可以任意的转载本端无需经我同意,但希望你能够注明出处。
  • 你可以在此端基础上任意添加其他插件或模组并发布在BBS,但需要注明基于此端进行的二次整合。
  • 你不可以在转载或发布二次整合的情况下留有任何后门。
  • 在二次整合发布前,请移除服务端内所有有关 “酷车手BB弹” 的信息,仅允许在贴内注明。
  • 如果你对本基础端有任何建议,可回复本帖写上建议,如果合理、能实现,我会采纳并表示感谢。
  • 此端不接受任何抱怨、埋怨、嫌弃,如果你想,请赶紧删掉避免本端导致您生气,生气对身体不好。
    ) H$ h  y0 `" }+ y

$ x, N- J1 W5 y1 W7 z+ Y( }" Q. C3 Z0 j  y( b/ W
沿用米二的话

" K1 G' i2 }* n* k* |8 V8 {
什么是 Sponge 服务端?
       海绵服务端是新一代的高版本服务端,是由原 Cauldron、Spigot、Bukkit 部分开发者组建的开发团队开发运维的新生代服务端,其内核 “SpongeForge” / “SpongeVanilla” 是基于 Forge 运行在服务器上的服务端插件前置,因此,其不同于传统的 Cauldron 服务端,Sponge 插件对模组的高兼容性是以 Bukkit 微内核的 Cauldron 无法企及的,而其搭载的 Mixin 技术更是为模组服的优化提供了强大的保证!而 Sponge 服务端作为一个开源项目,具有相当快的版本迭代周期,很多反馈问题都会在最快的时间内得到官方支持的解决。% V% Y7 B' D6 K9 {' \

% V( h. A7 Z5 M# r$ S
为什么选择 Sponge 服务端?
      海绵服务端的稳定性是 Cauldron 难以达到的,了解 Cauldron 运行原理的腐竹都知道,Cauldron 内核是 Bukkit 管理的,如果为Bukkit 打上 Forge ,那将会在触发任何事件的时候激活两次监听,一次 bukkit 的,一次 Forge 的,这样一来,在一些由 forge 注册的非原版事件是 Bukkit 无法识别的,这时候就会出现后台刷报错的问题,而 Sponge 服务端全部运行于 Forge 之下,用统一的触发机制接收事件的监听并统一调用,实现了插件和模组的统一(实际上,我们可以将 Sponge 插件看做是 Sponge 内核的附属 mod)。
      此外,Sponge 服务端有非常多的优势,简单梳理如下:
  • 兼容性强
  • 多线程优化(api7较为明显)
  • 插件跨版本兼容(针对部分)
  • 高度自定义的优化方案
  • 最新的模组支持
    8 _2 }+ r, X+ T3 K


# Y5 O( z% t, G7 d  T
[注意]所有遇到Can't keep up!刷屏警告的腐竹请看这里:
Can't keep up! Did the system time change, or is the server overloaded? Running 4391ms behind, skipping 87 tick(s)

7 N: m' \' v/ c& k7 H     请不要以此为借口恶意诋毁/污蔑本服务端整合包,楼主至今仍然认为这是一个可高度优化且十分稳定的服务端,您遇到的这类问题是由于您的服务器主频过低导致的,不是本整合端的问题,可能是由于您所装载的模组过多,其中一些科技mod非常吃服务器的计算性能!解决此问题你可以从以下三个方面入手:
   有钱的腐竹:换高频CPU(如4.2Ghz)
& t6 h  I" x0 F4 p1 {/ p   机智的腐竹:通过监测插件找出问题模组所在并修改相关卡服方块的 ticks,无法修改则禁用。
4 s' p# M* e3 {- b; q6 ]   无脑的黑粉:请不要使用本端,让楼主免受骚扰。
# W. V/ w5 L) c% i5 h
0 H; d2 b& D8 m6 D" J7 P% I简单理解:Forge只吃单核,所以就算你的服务器有 100 个核心,内存 100Gb ,主频 2.4GHz ,你仍然无法带动你装了大量模组的服务端,这和用 100杯 24℃ 的水无法煮熟一枚鸡蛋的道理是一样的(煮鸡蛋需要一杯 100℃ 的水就够了)。

6 `" z) |/ k+ t- G& r, a! l& Y1 t* R  q

' d) }+ q* `+ P9 [# U6 B  M& ~! U7 U! T8 x

0 x$ ^: @7 B  S1 E* u
内容截图

7 e- R& |4 T5 h# q) p1 W3 z% L
/ f  ~/ w3 @4 g
  [, V3 Q) X( m, d* ~

. f) U) {+ r, n. ]: o% {9 s4 Q! v& @+ W$ E1 w( e0 M
下载地址


    4 w7 p9 e. }( a& u8 ]
    7 M7 U: K# Q% L( {' [* J0 ?: ~1 r+ M2 ~4 x# i3 F8 T
    4 K  {) Z* O- E/ C- R
* s2 \) X2 U: w2 g
7 _& R1 C9 ]" W0 n8 c

感谢下列开发者对本端的支持
4 x( i% X' N% e9 p: l: N2 t) u' R
0 ]7 N  H/ ?2 O5 Z* ^

2021.12 数据,可能有更多内容↑点击查看功能详细讲解
Sponge 服务端基础整合
前言
    Sponge (海绵)服务端是一款划时代革新的服务端,与 Bukkit 截然不同。Sponge 插件是以 Forge 模组方式工作,使得插件能完美的兼容众多模组,避免了许多令腐竹头疼的 BUG。
- X8 D/ ]5 L) j8 A3 }# t5 M; m    Sponge 在设计上也是十分激进的,例如内置经济API,不论是使用什么插件都能够完美的兼容任意一款经济系统插件。例如统一的消息文本输出,只要是标准的海绵插件在输出内容时都能够使用统一的左右换页的界面。例如无 OP 功能,至今仍有不少腐竹认为无 OP 功能是反ren类的,实际上这样是十分不安全的,但在海绵你依然可以给予用户 * 权限达到所谓的 OP 功能。以及还有许许多多激进的设计这里不一一例举了。( h6 }4 \6 g7 O
    由于 Sponge 是一种新的平台 ,在插件多元化方面与 Bukkit 相比仍有一定的差距。但我花了几个月的时间来制作此端目的就是为了缩短在基础功能上的差距,尽可能的缩短腐竹们适应 Sponge 所耗费的时间。1 E" m: L1 U/ ^7 W7 D: E& ?7 f$ N
    如果你水平较高,你可以尝试阅读我的教程并自己整合。如果你有耐心,你可以尝试使用此 Sponge 基础端。如果你两者都不具备,那么不建议使用 Sponge ,使用 Bukkit 能够大大缩短你开服的时间。以及你在 Sponge 上实在找不到能够实现你想要功能的插件,那么也不建议使用 Sponge 。7 h9 l6 P2 F! {

/ s. K: {8 Z1 X4 n) Q7 F7 w+ I/ g3 S) B% J2 F( H8 ?# j! a
在下载本服务端之前,你需要注意以下几点:
  • 你可以任意的转载本端无需经我同意,但希望你能够注明出处。
  • 你可以在此端基础上任意添加其他插件或模组并发布在BBS,但需要注明基于此端进行的二次整合。
  • 你不可以在转载或发布二次整合的情况下留有任何后门。
  • 在二次整合发布前,请移除服务端内所有有关 “酷车手BB弹” 的信息,仅允许在贴内注明。
  • 如果你对本基础端有任何建议,可回复本帖写上建议,如果合理、能实现,我会采纳并表示感谢。
  • 此端不接受任何抱怨、埋怨、嫌弃,如果你想,请赶紧删掉避免本端导致您生气,生气对身体不好。. |2 m& }- S/ x! n5 H( z& j

5 t; t$ l& W1 `! q/ _F; }/ k- _: ]5 W' [5 g8 x2 C! SR$ T

# y5 V/ h. I0 g+ i7 T
沿用米二的话 (出处:卡洛兰科技服务端)

5 H( V4 y6 T7 I7 \2 M& r4 ~; S什么是 Sponge 服务端?    海绵服务端是新一代的高版本服务端,是由原 Cauldron、Spigot、Bukkit 部分开发者组建的开发团队开发运维的新生代服务端,其内核 “SpongeForge” / “SpongeVanilla” 是基于 Forge 运行在服务器上的服务端插件前置,因此,其不同于传统的 Cauldron 服务端,Sponge 插件对模组的高兼容性是以 Bukkit 微内核的 Cauldron 无法企及的,而其搭载的 Mixin 技术更是为模组服的优化提供了强大的保证!而 Sponge 服务端作为一个开源项目,具有相当快的版本迭代周期,很多反馈问题都会在最快的时间内得到官方支持的解决。
# c1 T: E3 r* g# _+ N- D
' M& i/ {; [! s" j6 x
为什么选择 Sponge 服务端?   海绵服务端的稳定性是 Cauldron 难以达到的,了解 Cauldron 运行原理的腐竹都知道,Cauldron 内核是 Bukkit 管理的,如果为Bukkit 打上 Forge ,那将会在触发任何事件的时候激活两次监听,一次 bukkit 的,一次 Forge 的,这样一来,在一些由 forge 注册的非原版事件是 Bukkit 无法识别的,这时候就会出现后台刷报错的问题,而 Sponge 服务端全部运行于 Forge 之下,用统一的触发机制接收事件的监听并统一调用,实现了插件和模组的统一(实际上,我们可以将 Sponge 插件看做是 Sponge 内核的附属 mod)。   此外,Sponge 服务端有非常多的优势,简单梳理如下:
  • 兼容性强
  • 多线程优化(api7较为明显)
  • 插件跨版本兼容(针对部分)
  • 高度自定义的优化方案
  • 最新的模组支持
    , S- K% T$ t3 s* m1 j" S5 d


9 ]& ?+ v8 c4 W) V0 g; w5 Z3 M; C6 S[注意]所有遇到Can't keep up!刷屏警告的腐竹请看这里:
Can't keep up! Did the system time change, or is the server overloaded? Running 4391ms behind, skipping 87 tick(s)

8 T+ D|! X$ j2 M% o  请不要以此为借口恶意诋毁/污蔑本服务端整合包,楼主至今仍然认为这是一个可高度优化且十分稳定的服务端,您遇到的这类问题是由于您的服务器主频过低导致的,不是本整合端的问题,可能是由于您所装载的模组过多,其中一些科技mod非常吃服务器的计算性能!解决此问题你可以从以下三个方面入手:   有钱的腐竹:换高频CPU(如4.2Ghz)
' w1 u( o5 l; h! u   机智的腐竹:通过监测插件找出问题模组所在并修改相关卡服方块的 ticks,无法修改则禁用。* l3 ]) _8 ?, A! [. l4 Z1 Ti6 K
   无脑的黑粉:请不要使用本端,让楼主免受骚扰。
/ Y* g6 I# g$ v% d7 h8 E
k4 v* N5 e( C8 p& [2 i+ f5 w
6 J% L# ^" O- n简单理解:Forge只吃单核,所以就算你的服务器有 100 个核心,内存 100Gb ,主频 2.4GHz ,你仍然无法带动你装了大量模组的服务端,这和用 100杯 24℃ 的水无法煮熟一枚鸡蛋的道理是一样的(煮鸡蛋需要一杯 100℃ 的水就够了)。
. E+ s. D# Ao$ O

) a: H3 M5 H6 ^% I2 N( J
9 `3 t$ t9 I8 K$ z! Q5 v! q* R! k0 A: @3 KH2 b
内容截图

* x3 b: ~4 O7 p' d! l

$ [% N+ o5 b7 Q+ I# w5 G
1 Q7 C; C! v* R) ]! D
, Z) LP4 `0 \3 k( B& b
# K% }! {: H/ r& X- G

. K+ O' H+ j# Pr3 G7 ?
& I0 I- U/ E4 w2 a; g; M9 X

4 G3 T' g! n" {
' B! n1 M$ E( zH

; S/ l% K& X. I/ x( X

7 \+ _) [1 A5 P! T. y
8 S, F4 ?: M- I- G

; o. \5 tn8 f2 U. ^
0 T% H' }' sU# o" \% ^' Q) G
3 a$ D! C# C$ c* g8 im+ Q

% d$ O. l" [1 ^4 d下载地址
下载前强烈建议先阅读本帖第二页的功能讲解及修改方法


* i6 m) T: x6 }" r0 K2 m服务端下载链接:网盘(需注册后下载,不限速!5 f3 n* \" }" A. \
客户端下载链接:网盘(需注册后下载,不限速!4 n# `! Z* xV) o
为了保证所有功能正常使用,建议你使用本帖所提供的客户端。此客户端的详细介绍
7 M' n2 Q0 W+ b# f6 bl如果你想使用自己的客户端,请移除服务端内的 theoneprobe 和 topaddons 模组

+ T& Z$ m' w! n, k3 u

    6 e2 Q. o! k! }; a+ k0 ~
    3 a7 w! Q! m# _. b2 |/ P
    ! F% r- S( W8 J) b- u" M
    使用过程中的注意事项:! V4 j( ^6 i2 s% A) S' ]
    • 插件位于 mods\plugins 文件夹内,你可以将不需要的插件自行删除。不了解插件功能的情况下不建议删除,以免影响其他配套插件的正常使用。(快捷商店插件较为特殊,在 mods 文件夹内)
    • 海绵插件可以自由放在 mods 或 mods\1.12.2 或 mods\plugins 文件夹内。但带有 Mixin 标签的插件只能放在 mods 文件夹。
    • 模组可放在 mods 或 mods\1.12.2 文件夹内,但属于 coremod 的模组只能放在 mods文件夹,如果你分不清就统一放在 mods 里。
    • 在不了解任何任何配置选项作用的情况下,请勿擅自修改配置文件。
    • 如果服务端在运行过程中被强制关闭(例如服务器停电、宕机),极其容易损坏插件的数据库,例如经济插件。因此建议腐竹定期备份服务端的 config 文件夹。
    • 本服务端会定时备份存档至根目录的 backups 文件夹,如何回档以及修改备份时间请看此贴第八章第六节。
    • 地皮插件对模组的兼容性或许不如领地插件,科技服若要使用地皮建议先测试一遍。地皮插件默认已安装并生成好,腐竹可自行移除。
    • 建议新手腐竹在安装模组过程中每放两个模组就启动一遍试试,因为经常有人漏装前置而把锅甩服务端头上。
    • 如果服务端发生崩溃而不会解决,请阅读此贴第七章。
    • 如果服务端 TPS 低下,尝试按 Insert 键打开检测面板检测卡服方块,以及阅读本帖第二页的 Spark 插件用法。
    • 本端 Forge 可自由升级更替,但切勿擅自更换 Sponge 核心。
    • 对本端有任何疑问或建议,可直接回复本帖,大概一天内会给予你答复。如果很急,可加群询问(群号在个人签名里)。
    • 请勿在本帖回复里提问与 catserver 有何区别,若果硬要弄明白,请看此处
      3 U4 d& b" s9 r" LC

    / f; V$ C# t& {' U9 ^0 C% |$ c; |- a- k0 f

    3 T2 D8 ]% t2 n, z8 x4 i
    , l7 D* |! y; s8 `" A

    8 ]. T! B6 R% n+ T$ e5 U3 m
    : u( T/ D# N/ O6 e7 `
# m6 d4 ?# d" B5 t

6 |% P' I' ]) h# X3 v4 S+ i
3 W$ t- r4 @/ IG0 j+ y
感谢下列开发者对本端的支持海螺土球GiNYAi魂蛋缇亚祢

7 B; q4 u& Y* @; t# R( R) x9 Q4 g8 _9 s, z+ B0 ec! J
# {0 i1 L9 b5 q( E! `A/ l2 y+ R

8 u, M3 g0 F, F6 j功能介绍&修改方法
9 c5 C3 X( m. R, i- h
服务器标语
3 l. g8 A; T0 V6 c% ?, Q) b
插件名:ServerListPlus配置文件位置:根目录\config\serverlistplus若要修改字样,请编辑 ServerListPlus.yml 文件若要修改图标,请准备好 64x64 的 png 文件,并在配置文件里修改读取图标的名字

代码:

  1. Default:
    ( Y2 Y5 u; K- `' lC: Uj! T
  2. Description:
    . g; w( l" i( b, g
  3. - |-
    $ Q( i) j$ C7 M% R# i: cY
  4.     &bMinecraft Sponge 高端服务端( w* Y2 l) O' l8 C* f& O" \% ~k1 @
  5.     &d本服务端由BB弹整合,此处可自定义!; f7 Uh9 U# v" f% X' T8 X9 o
  6. - |-7 Y( u& U2 R1 K8 Q- b, c, m, I
  7.     &bMinecraft Sponge 高端服务端& {4 Q! Pq& T! G; Z3 |3 v4 p# S
  8.     &e本服务端由BB弹整合,此处可自定义!: w! o0 @4 a+ ?; w
  9. Players:9 C- Z6 r% g% C6 l$ s
  10.     Hover:
    7 U( g; Q5 u; a) L, g: z
  11.     - |-
    p# q% x, g5 B2 j* ~1 I. }3 t; e
  12.    &a欢迎来到Minecraft服务器
    ) a8 d4 z- O! k7 @9 H* R
  13.    &a当前在线人数:&e%online% &a人
    ' u; j8 {: D3 G& \3 }X3 E9 F
  14.    &a&lPower &b&lby &6&lSponge
    - Z1 f, a4 q" X
  15. Favicon:9 h$ Z6 s2 ?$ j# o) T" i5 _' t1 g# j7 P
  16.     Files:
    ' p) ]; ?; n, \4 H! K
  17.     - icon.png
    - A& m& U; g1 b: `3 X
  18.     - icon2.png
    2 m! X( J% l( Lh+ b" `3 C
  19. Personalized:
    - Z7 m: z7 L% }) ~
  20. Description:( H; Q1 q4 r5 y( z& }, t5 D7 t
  21. - |-2 r6 l1 |! \! y1 R% }7 w
  22.     &a你好!&e%player% &d这里是1.12.2服务器!5 C# l3 a; ?8 o' e, d0 Y9 r+ k% a
  23.     &e本服务端由BB弹整合此处可自定义!: e" ~6 T7 s" c
  24. - |-
    8 ~. k6 v' D5 B+ MZ2 @# L
  25.     &a你好!&e%player% &6这里是1.12.2服务器!( _" C5 y8 K- b3 K. Z; P
  26.     &3本服务端由BB弹整合此处可自定义!
    0 k6 Y4 g: J. D$ b2 R
  27. Players:( F2 v?) Z$ f$ t
  28.     Hover:% v4 N# i8 G4 S" b5 y( K( K" T
  29.     - |-
    8 T5 E1 b- D; K- P% h, X/ E* _
  30.    &a欢迎回来,&l%player%&a!\1 k* \/ }% V- R" y; g
  31.    &a当前在线人数:&e%online% &a人, H: u; _6 j! }7 W+ [4 A
  32.    &7主城:%online@ZC%
    ; ]2 g- C- Y/ w$ F( w8 ?$ ~
  33.    &7生存:%online@world%/ Y9 z" K8 R9 At5 G) M
  34.    &7资源:%online@ziyuan%Y/ M& Y3 h_6 e+ B5 {+ l
  35.    &7地皮:%online@plotworld%. t4 m# D5 F9 E+ H3 eyT
  36.    &7地狱:%online@DIM-1%: M* Y) g0 k. A2 ?; ~
  37.    &7末地:%online@DIM1%
    7 i' M, ~* r! t- E* M# E. Z- gd
  38.    &a&lPower &b&lby &6&lSponge; J3 d: S* ^5 b% c. R
  39. Favicon:
    . F: O* }3 @* E3 g+ v' }
  40.     Files:
    S' q! P/ I# |1 f3 v, P! n" Y! R5 Z
  41.     - icon.png+ \" a# B7 g5 ^3 [1 @* z+ p
  42.     - icon2.png
输入 /slp help 可查看插件命令帮助8 k6 l4 s6 VM! C6 r+ i3 a' l! k
1 m. A2 P: y* ^' ^7 a. n
登录插件
插件名:FlexibleLogin配置文件位置:根目录\config\flexiblelogin在配置文件里可以修改插件的各种功能例如密码长度限制、超时时间、自动登录、IP限制等等…5 P0 O( [, u+ C- p8 W% f$ d

代码:

  1. # Should unregistered player be able to join the server?
    3 Z+ V+ ?2 yb- k
  2. allowUnregistered=true8 a9 Z! I& u! A" K6 p! S
  3. # Do you allow your users to skip authentication with the bypass permission! x+ g0 D& y9 g) D% z6 f0 P( j- H& A. O% }
  4. bypassPermission=false
    $ }& z/ dq3 N
  5. # Should the player name always be case sensitive equal to the time the player registered?
    $ `9 H% {- U% T3 h/ }
  6. caseSensitiveNameCheck=true2 K% R1 o8 V) R/ V
  7. # Should only the specified commands be protected from unauthorized access' _0 q! W+ t+ h: `& d6 ]
  8. commandOnlyProtection=false9 V' \) r# x4 m8 I
  9. # Email configuration for password recovery2 I. J7 T0 [# {+ ~8 H`- f0 M; q
  10. emailConfiguration {& H, O4 y* L+ @8 L- XO4 C% S) Z. [
  11.     # Username for the account you want to the email from
    9 [, |$ n8 q7 E5 T6 r9 v/ I
  12.     account=""* PA# d- E8 H9 v3 ?w
  13.     # Email contents. You can use HTML here4 F) u& V- S! S/ F+ K
  14.     contentTemplate {$ f3 ^' W5 P5 `0 {. E
  15.   arguments {! l0 mc1 K# Y: {9 T/ t# }9 qG3 n
  16.    password {2 J' C" @+ G7 Z! B& ?* L/ J
  17.     optional=true6 l- \" a/ r# \$ }- l
  18.    }: R- C; K2 Y1 t4 c+ s4 {5 q8 v# w/ w
  19.    player {6 w" m& F6 b4 O% r
  20.     optional=true
    , [7 i( q( V% d8 n
  21.    }
    ! U/ W( k# b) J$ K9 b& {
  22.    server {
    + I; O6 UB' j! v, F: Y, h
  23.     optional=true
    , s' Q# u7 `/ v, n0 G4 X0 J( S: X
  24.    }, X7 Q6 |# y7 t9 J9 m) b" R
  25.   }
    + o0 @: `# R2 H* y5 P
  26.   closeArg="}"
    , y4 [- h0 g7 `0 C; S! E; z
  27.   content {
    7 D6 h8 J( Z" b
  28.    extra=[
    5 X' E# K3 ^+ f! g3 ^
  29.     {3 `" C, z( [0 [# U
  30.   text="{player}"
    . g# |! T4 q2 {8 @6 M( L/ V9 ?
  31.     },7 G1 A1 i5 {& n$ f: y
  32.     {
    7 E. `; B0 e" I6 ?" @
  33.   text=" on Minecraft server "
    : S/ I: [% f; D4 Q& a. l- W) d/ i- u
  34.     },
    ( R/ c1 w2 D2 X6 N7 [" j
  35.     {7 k9 P3 W; E9 h' l; c! b# X; t
  36.   text="{server}": J4 Y) T& [/ s# |2 U. x' |! N
  37.     },; b: K0 r; h) C6 B/ j3 J' G
  38.     {, J, D* h/ ]$ g' F, D4 N) A
  39.   text=": "
    + V; ~7 W% T. d7 E; L! S
  40.     },qo! w7 i8 Z- ~& l& l
  41.     {
    ( W# f! a9 \- L# R6 b1 y5 b
  42.   text="{password}"
    . m3 D3 X! a& H3 C! w4 D7 L# P
  43.     }
    ( f; Ar4 ]% L4 O
  44.    ]
    / y( b% e9 X8 K. d; H
  45.    text="New password for "
    9 x9 ~f8 y; X, a, m
  46.   }( ?# t4 ?' {) g6 ?' ~' Y- c
  47.   openArg="{"
    ! q/ @6 w1 f2 c* ]
  48.   options {" b+ P' I( U0 ^- x: Y" k! r
  49.    closeArg="}"
    1 m/ f# T1 L* q7 z- ^, f0 [% U
  50.    openArg="{"
    % x+ {9 w+ Nw0 _. G7 Z, p
  51.   }
    8 V3 B# b8 s0 K7 i7 X
  52.     }
    % j" X1 G3 W. b. F" T
  53.     # Is password recovery using an email allowed
    / I1 g( [, r" Y7 S. ^; ^7 w1 q
  54.     enabled=false
    4 \+ F7 v8 _) b8 t7 n0 H
  55.     # Mail serverQ* w! N6 R/ Q* ka6 f, M
  56.     host="smtp.host.com"& h, m2 i, y$ Z
  57.     # Password for the account you want to the email from
    _% y; j% h- t( Wbn
  58.     password=""5 q' Q0 O" W' e5 H% v
  59.     # SMTP Port for outgoing messagesq; M+ _8 V4 n
  60.     port=465
    % s, n& Q! e" p# S2 L. a
  61.     # Displays as sender in the email client
    $ z$ w$ R5 d# d2 K$ r
  62.     senderName="Your Minecraft server name", x% [4 m1 ~+ A9 t% _) O
  63.     # Email subject/title3 r4 G3 W1 I& K( @) `9 ~
  64.     subjectTemplate {
    * x/ U, v4 j* M& W% ^
  65.   arguments {1 g& O. p5 N: Z7 |' s' d# @
  66.    player {
    ' b! Y. I( m) @- L" T
  67.     optional=true
    [: U5 m5 Y9 v9 k
  68.    }
    / N6 ]$ Q- C) Q
  69.    server {
    : w; X5 {! z9 @/ D1 O' E
  70.     optional=true0 i" o; ]( h# A- Y5 {8 H8 o" h6 \
  71.    }
    6 ^) C0 h0 c8 M* Q
  72.   }
    5 W0 v# z" Y9 O+ M1 }
  73.   closeArg="}"
    3 z4 K/ V9 P( W2 z9 ]( o# q/ e
  74.   content {
    ( _' n% W6 Z; S]
  75.    extra=[- H7 T: k' t: g5 s8 P+ t5 Q+ A7 I
  76.     {
    ) Q& `- h# L% G- t3 l
  77.   text="{server}"
    % C3 _7 Z8 a5 N/ \1 }
  78.     },
    # ~# w9 I, t, g: Y* k5 |
  79.     {
    ( K- WP: B. |8 H2 S
  80.   text=" for "
    7 p% B$ Q6 `& Z+ A
  81.     },
    0 V7 u; o. B! u! L9 \0 i
  82.     {
    . L* l5 K- @2 {6 J. r5 p1 \4 m
  83.   text="{player}"
    * k" `0 t% J- z
  84.     }5 V' h$ U* K5 m$ f4 |9 e
  85.    ]0 V; k8 t5 }& l2 C. S( ^5 T+ u
  86.    text="Your new Password on ") t2 i+ ~. ]7 Z9 D7 b
  87.   }$ N/ @6 \* L* N9 ?
  88.   openArg="{"& \0 _: g" k% C% M: {/ V
  89.   options {6 `/ R, y0 Q$ P& Q, ~* _+ u
  90.    closeArg="}"" G& [" t1 ]% k' b) j( Z
  91.    openArg="{"
    - Q( h! v3 w! U4 b( [1 ]
  92.   }4 |) y' Q' h# K1 t% w! x: Z
  93.     }
    ! s0 S( G5 I* W0 C% o- r) o
  94. }
    " x. U. `. Y# F! z! D/ O/ F& \. h
  95. # Algorithms for hashing user passwords. You can also choose totp
    # ]7 [- Z! \! `! J5 o$ t" J- C8 ~
  96. hashAlgo=BCrypt
    1 N) S5 e~" y9 D9 c7 G# s
  97. # Should the plugin login users automatically if it's the same account from the same IP
    # E5 \P2 G7 e
  98. ipAutoLogin=true
    C" h: M5 `6 Z9 k% _: n: ^4 N
  99. # Custom command that should run after the user tried to make too many attempts2 h9 f8 c" k7 o' @) z
  100. lockCommand=""
    2 o& I; X8 k' ^: j$ Q* ?
  101. # How many login attempts are allowed until everything is blocked
    & r4 KJ9 T: t+ U@
  102. maxAttempts=3! T2 U* g\" O% f4 y, C
  103. # How many accounts are allowed per ip-address. Use 0 to disable it) o$ r9 f- }1 ^
  104. maxIpReg=0
    % \9 o5 n0 z; L* F% I% |
  105. # Interval where the please login will be printed to the user" J/ HZ; U4 y5 J
  106. messageInterval=2
    " |1 U' o1 W1 X+ q
  107. # The user should use a strong password/ X0 R5 U* j- Bq
  108. minPasswordLength=4
    ; o# X5 f8 f* {. U: M4 w% t$ M
  109. # Should this plugin check for player permissions
    - v" {]- i& c: h. k
  110. playerPermissions=false
    7 l5 G: U( ]6 ~+ D, r' V# E
  111. # Experimental feature to protect permissions for players who aren't logged in yet( {) Q/ }8 F4 C8 d4 }
  112. protectPermissions=false* F% H5 i+ K6 `4 N- B1 ?8 o
  113. # If command only protection is enabled, these commands are protected. If the list is empty all commands are protected
    . x( r. c* t* i
  114. protectedCommands=[! [7 l4 L8 g0 J
  115.     op,
    ( @+ k4 P5 X5 O2 U" ?$ R3 \/ a3 ^
  116.     pex
    # \6 k3 y- U* Ey, [6 M
  117. ]$ k3 E, C6 p3 n+ c7 L
  118. # Teleport the player to a safe location based on the last login coordinates; E- TK- Q( _. D4 Z) m- F& h
  119. safeLocation=false
    8 F. R9 g3 S& ]0 L! j; O6 p
  120. # FlexibleDatabase configuration1 T# Oz$ H: m" X& |- K
  121. sqlConfiguration {
    . X: D: Z9 z0 z& ]
  122.     # Compatibility with the Bukkit plugin AuthMeReloaded. Here you can specify the table name. If this option is empty, compatibility will be disabled and FlexibleLogin's schema will be used.
    + g9 y$ c2 z( h4 T( `! Y
  123.     authMeTable=""
    ( \. O) M. ^/ \7 {* M2 S; C: U
  124.     # Database name
    ; y3 V4 O$ U/ F5 L: a& A1 @5 R8 c
  125.     database=flexiblelogin- Y* F/ |9 |9 O/ K0 ]
  126.     # Password in order to login$ `, t9 T+ |: p) s0 N0 I
  127.     password=""
    6 x7 V, S, Z+ ~- s6 e' F/ z
  128.     # Path where the database is located. This can be a file path (H2/SQLite) or an IP/Domain (MySQL/MariaDB)% E$ P; ~, ~7 B, a! `
  129.     path="%DIR%"
    $ U% p3 K! \& H' u
  130.     # Port for MySQL/MariaDB connections8 E+ F" l0 |( l" h
  131.     port=3306
    * j. }: v: I% }; t1 b
  132.     # SQL server type. You can choose between H2, SQLite and MySQL/MariaDB. If you use MySQL/MariaDB. Just write MySQL.0 u+ t; {- cJ! ~' r: m* P
  133.     type=H20 D' m* t/ d/ }2 VE6 r( {* u7 Z
  134.     # It's strongly recommended to enable SSL and setup a SSL certificate if the MySQL/MariaDB server isn't running on the same machine! UQ% d. C% ~9 w& \1 w4 k
  135.     useSSL=false
    - t- w! @- E# u$ R; z: K# ]/ M% Z4 L
  136.     # Username to login the database system# [# r) O1 x) v, p. V. \
  137.     username=""2 Z; N9 z; H8 E3 JU
  138. }
    4 c+ v/ l4 n& @5 N
  139. # Should the plugin don't register alias /l (used by some chat plugins) for /login command
    ( E' R4 ^+ q' Y8 T; Q
  140. supportSomeChatPlugins=false
    ; x, x# S/ ^$ ]
  141. # Teleport players who are not logged in
    ! i& X! N8 Q6 \: {( v
  142. teleportConfig {0 ?! ~3 A- C% M9 C$ B) z
  143.     coordX=0?9 N# `$ A( H. h
  144.     coordY=0
    ! I: ~0 P" Y, a+ z9 X
  145.     coordZ=0) j1 ~( b! v. N8 H% @- F
  146.     # Should the plugin use the default spawn from the world you specify below
    , W' w0 z$ N) P8 n) V" u2 q
  147.     defaultSpawn=false) f8 {& r' e- ^# x
  148.     enabled=false2 t# ?- H. V' `6 B8 \- V. U1 E. k
  149.     # Spawn world or leave it empty to use the default world specified in the server properties
    # s3 ^/ Iy- Z1 c6 @) Y
  150.     worldName=null
    * O, D+ o$ F& h; Y$ |( n
  151. }
    - N( i: Q{( D4 `9 ]# p- C
  152. # Number of seconds a player has time to login or will be kicked.-1 deactivates this features- c% ^3 |: \5 r1 P2 Q# K( Y# ?
  153. timeoutLogin=60
    7 W5 T/ P( D2 r1 B
  154. # Should the plugin save the login status to the database. g* v- q( B( G- s) q7 M- r: Z2 q
  155. updateLoginStatus=false
    ( Z5 W5 ?: E4 F/ j: d
  156. # Regular expression for verifying validate player names. Default is a-zA-Z with 2-16 length
    5 p1 l% Y+ w6 I, t( A/ p
  157. validNames="^\\w{2,16}[  DISCUZ_CODE_109  ]quot;$ YE- O0 s4 E4 w" q" V. D1 j
  158. # How seconds the user should wait after the user tried to make too many attempts. A; q* W# a0 \8 h- w
  159. waitTime=300
    7 a$ F7 ]6 f7 i
详细命令请点击插件名进入搬运贴查看
4 h+ G( k) f$ O" R- E! t9 C

+ y5 i, ^+ X* ~/ V* c0 J; s
权限插件

, X" y# k6 c# bm! p插件名:LuckPerms文档地址(中文):https://github.com/PluginsCDTribe/LuckPerms配置文件位置:根目录\config\luckperms数据文件位置:根目录\luckpermsLuckPerms (简称LP) 是一款先进的跨平台权限管理插件,拥有众多强大的功能。其中你可以在配置文件里任意修改指定数据的存储类型,例如本服务端的权限组和日志方面使用的 YAML 格式,其余均使用 h2 数据库以提高性能。你可以前往 根目录\luckperms\yaml-storage\groups 对权限组进行数据编辑,如果你对 YAML 格式不熟悉,那么不建议你这么做。
% b/ S6 z9 ?' Q. g! h7 N1 d
如何设置 “OP” ?前言里已经提过,/op ID 在 Sponge 里是没有用的,因此你需要用给予权限的方式给用户管理权。本服务端带有一个管理组(admin),里面包含了 * 权限,你只需要将玩家移入该用户组即可。移入管理组方法:/lp user ID group set admin
实际上这里并不建议使用 * 的方式设置 OP ,但为了让大多数人适应同时也为了方便大家使用,此服务端还是以给予 * 的方式整合的管理权。晚些时候我会再整一份含有大多数插件管理权的权限组文件发出来,可以自行选择替换,替换后如果腐竹自己每新增一个插件,需要自行给管理组设置新插件的管理权。

, d5 j4 V9 o0 o, ?1 \; J# l0 z如何查看插件指令帮助?使用命令:/lp help
$ C- O7 i% |, I& ~/ B如何给玩家添加权限?使用命令:/lp user ID permission set xxx.xxx
" y! q( M5 e+ ma& W/ ~" ^+ I. j如何撤销玩家的权限?使用命令:/lp user ID permission unset xxx.xxx
, E4 M1 c" d2 `( x如何给玩家禁止权限?使用命令:/lp user ID permission set xxx.xxx false
8 Y( t; Z, F9 q, i+ ~: ^3 h如何给玩家设置前后缀?使用命令:/lp user ID meta addprefix 100 "前缀"使用命令:/lp user ID meta addsuffix 100 "后缀"100 是权重值,可自定义,下面会讲到6 e3 }* q) H- t4 O8 U
更深入的了解权限功能?这里打个比方,现在需要创建一个叫做 VIP 的权限组,方便让玩家氪金后给他相应的权限。8 A, V" f# z, g8 `' h
首先使用命令 /lp creategroup VIP 创建一个新的权限组,名字叫 VIP2 F' h/ CO3 M
接着使用命令 /lp group VIP permission set xxx.xxx trueVIP 组添加权限。* J5 Y5 P7 L0 _& q0 Q
如果有需要你也可以将权限设置为 false比如 ore 上就有一款封禁插件就是靠权限系统运作的,有权限的就禁止他使用指定物品,没有权限的就不会禁止。这时候如果默认组是有这个权限的话就相当于不能用这个物品了,而让 VIP 能用的话就需要给 VIP 组添加这个权限并设为 false ,反过来即可。
% W1 M' qX/ G8 w" s6 c9 Z1 J当你把 VIP 组的 权限(permission) 和 元标签(meta) 都设定好后,就需要设置一个 权重值 。* F) i5 W4 Y, S" }4 X3 _* V
8 k1 [* @3 y7 |8 r
& S- P/ l/ A5 H- G( m( s, ]
什么是权重值?5 m. E8 }aI. Y2 U
比如当默认组的其中一个 meta 值设置的是 100 ,而 VIP 组同一个 meta 值设置的是 150 的时候,这个拥有 VIP 组的玩家究竟是会拥有 100 的值还是 150 的值?这时候就需要用到权重了,权重大的权限组则优先判断。2 h8 Q" t7 ^* M+ C: o& o
例如默认组默认为 0 ,把 VIP 权重设为 10 ,则玩家会拥有 150 的值而不是 100 的值。+ y4 L! ]) k6 x4 l, p1 P
使用命令 /lp group VIP setweight 10 即可将 VIP 组权重设为 10/ I+ f- y$ w$ A; `" h1 F9 C
同理,你可以将什么 VIP2、3、4、5 SVIP SSVIP SSSVIP SSSSVIP SSSSSVIP 啥的都分配好权重值。
( `0 y|& ^! q8 }?
. q4 w8 W. M7 C7 a. s* r
) ^+ Y/ X+ S" J" y分配好权重值基本上就完成了,接下来你需要了解一下两种设置 VIP 的方式。7 ]% b/ H* R* ^. L( X
第一种是将玩家的权限组成 VIP 组,第二种是在玩家现有权限组的基础上再增加一个权限组. D9 x& X8 a1 O
也就是一个 set 一个 add3 s1 g- c1 F2 |- A- j0 ?0 o1 r& e7 \
理解不来?看下图9 }# P3 \3 ~9 Y

" M4 x$ X& D+ U/ G
+ a; ?3 P' \. _" U# u1 Y

5 T/ _: i* [3 m1 h! u- u5 I7 m- Hf: E1 o. j# [
如果你是想用 set 方式的话,则需要对 VIP 组设置一个继承组。! i& p2 {4 T& n7 e/ u! K
使用命令 /lp group VIP parent set default 即可让 VIP 组继承默认组的权限。. j0 p' k% UA+ `( N
如果是用 add 方式的话则不用设置。个人推荐是使用 add 方式,这样会更便于管理玩家拥有的权限。
4 n& J4 X# h1 K+ E" H
$ W4 E/ U/ z+ N: b! d0 I5 k
: CU2 X5 a8 E+ ~: |8 _q* p/ a现在有许多服务器都会弄很多30天、90天之类的氪金方式。. O; G/ \0 b0 c# t
也就是说如果你是将玩家设置或添加了 VIP 组的话,如果到了 30 天你就需要自己把他们的组换掉或删掉。# ]3 B; t2 F" j! s6 V, W! e
更换权限组则同样是用 set 命令。而删除则是使用 remove ,主要针对使用 add 方式添加的权限的腐竹。
' k' N! G' K7 D( I& ^/ D! p. {. g$ Y; ^

5 i2 Z/ M0 D3 t2 H3 ]: g. K* N+ E这样一来会变得十分不方便,此时你就需要用到一个叫做 “临时添加” 的功能。( L* g% m$ i9 m, ~+ t' G
临时添加实际上是在使用 add 方式的基础上拓展的功能,只要将 add 改为 addtemp ,并在最后面添加时间即可。
0 ]# T' O9 J2 ]; v( l4 p& L
A( M5 xS1 ?% p% F6 v- T& X( W! }C; u
例如我想将一个叫 YYS 的玩家临时放入 VIP30 天,则使用命令:
! C8 J3 g/ Q4 o/ w~: B/lp user YYS group addtemp VIP 30d
! v9 i$ J9 I& @1 b% _5 c' S此时当 30 天过后,权限插件会自动撤销他的 VIP 权限组。
2 _+ o4 \! |) V: h/ v如果你突然看他不爽了,想立刻撤销,使用命令:8 P6 ?3 v7 g6 Q1 f" }6 [9 k
/lp user YYS group removetemp VIP * d4 b9 f1 o& B3 R6 \# T
即可完成撤销。9 R' o3 y1 Y4 G& R

* i' \- B- W0 [8 S
6 l! |! r5 d: z. r2 C9 x, [: R想查看一位玩家的权限组状态?例如还有多少天到期,使用 info 功能即可看到。% Q7 p7 ^& S) z
例如下图中 DIM 玩家的 VIP 组距离撤销还剩2天23小时59分56秒。' JF) G7 Y@: ?0 {0 k
) W% l6 B' t: a

: {& U; ~( M' f! I0 J7 B$ x5 E1 ?" }" o. i3 uH$ H4 I* To

本服务端已默认为你设置好了一个 VIP 组,如果想让玩家添加进这个组请使用 add 方式添加。此 VIP 组为示例组,建议腐竹根据实际情况做出修改,目前已设定的权限如下:

+ _/ q/ z! E1 \meta 值里的项是关于领地的设置,以及最下面关于家的设置。关于领地的设置请看下方 领地插件 的讲解,家的设置请看下方 基础插件 的讲解。# o4 BD: C3 r$ Z) S" }% q
2 U! V2 a$ `0 W9 r: XT* ]$ [
基础插件
: H4 d1 J6 l) u7 r
One simple essentials plugin. Many amazing possibilities.
插件名:Nucleus文档地址(中文):http://www.mcbbs.net/thread-732446-1-1.html配置文件位置:根目录\config\nucleus数据文件位置:根目录\nucleusNucleus 是目前 Sponge 里最强大的基础插件,他所提供的功能可以满足大部分腐竹所需,比如传送、家、监狱、多世界、礼包、聊天等等等等……
4 a2 X+ `- x( i! r# Y4 X5 P3 C6 M如何修改聊天格式?此基础插件修改聊天格式很简单,并且可以自定义名字颜色、聊天颜色、不同权限组不同格式首先使用编辑器打开 根目录\config\nucleus\main.conf 文件,找到 Chat 模块的配置部分,接着找到 templates 部分即可进行修改

- C/ ^6 I# n( Q当前所使用的格式:
, kk- l* r- u% Z6 |

- ?$ E% M2 l7 i* r
& i* N5 Y% \5 G) P+ m
配置文件:

代码:

  1.     templates {
    % m1 |) I; E! m, i& j9 N
  2.   # 如果设置为true,Nucleus将会为正在发送消息的玩家选择最合适的聊天文字格式化模板。如果玩家没有"nucleus.chat.group"权限,将检查此玩家拥有的所有权限组。如果设置为false,Nucleus将只检测"nucleus.chat.group"的权限,并匹配现有的权限组聊天模板,如果没有匹配,Nucleus将应用默认模板,而不检查实际的权限组。 2 i; {6 n7 [7 W% a& K" p. d: {
  3.   #
    % h6 c! z# q0 y* {5 p9 r# i
  4.   # 如果您服务器的聊天导致卡顿并且您开启了权限组聊天模板,尝试将此项设置为false,然后将"nucleus.chat.group"权限给予对应的权限组。
    . X: j- J2 H( j, t. d
  5.   check-permission-groups=true% i# n$ g) ~2 F
  6.   # 聊天格式化的默认模板(在某个组别模板没有被定义的时候)
    ( X1 v/ j4 x: g3 {
  7.   default {
    2 B7 r3 j* T) ~$ c$ C6 d8 D
  8.    # 默认的玩家聊天颜色,如果此玩家/组别没有被定义"chatcolour"权限。如果设置默认的样式,请确保"namecolour"权限被设置为"" (不改变颜色).请不要包含“&”格式化字符。
    9 x( E" W) H; h1 }1 z- S6 E1 b
  9.    default-chatcolour="", W8 u+ a( {G0 N1 G
  10.    # 默认的玩家聊天字体,如果此玩家/组别没有被定义"chatstyle"权限。如果设置默认的样式,请确保"chatstyle"权限被设置为"" (不改变字体).请不要包含“&”格式化字符。多个字体样式请用","分割开。' z6 I* A6 @# D1 R
  11.    default-chatstyle=""
    1 ^$ W0 QB# L9 M! `
  12.    # 玩家聊天的默认颜色,如果此玩家/组别没有被定义"chatcolour"权限。如果设置默认的样式,请确保"namecolour"权限被设置为""(不改变颜色)。请不要包含“&”格式化字符。5 ], U: k# [* d( g6 W2 o: m
  13.    default-namecolour=""& a/ u3 E& c' m7 {
  14.    # 玩家名字的默认字体,如果此玩家/组别没有被定义"namestyle"权限。如果设置默认的样式,请确保"namestyle"被设置为""(不改变格式)。请不要包含“&”格式化字符。多个字体样式请用","分割开。0 f2 t' f! P% k4 u# t
  15.    default-namestyle="", B; {; y2 I( [. w% a' v/ j. B9 y
  16.    # 设置聊天信息的前缀。{{prefix}} - 前缀(权限插件的可选元素),{{suffix}} - 后缀(权限插件的可选元素),{{name}} - 真实ID,{{displayname}} - 显示ID+ ]' Z9 O3 g8 h% N9 u
  17.    prefix="&f[{{nh_world}}&f]&r{{nh_honor}}&r{{nh_prefix}}&a{{nh_name}}&r{{nh_suffix}}&c{{pl:unity:marry}} &f? "& d: r. T/ ?! [4 C2 D
  18.    # 设置聊天信息的后缀。{{prefix}} - 前缀(权限插件的可选元素),{{suffix}} - 后缀(权限插件的可选元素),{{name}} - 真实ID,{{displayname}} - 显示ID
    5 ~) v: N. z0 d^, ~
  19.    suffix=""
    ' r3 R& n4 G$ k+ }2 V+ F. B
  20.   }4 q2 `4 Y( d% ]% |% ~& s
  21.   # 组模板基于发送消息玩家所属的用户组,覆盖默认的模板格式。注意:组名区别大小写。1 u0 v; |1 @& B4 H5 z6 Q, K. r, r
  22.   # 受权重值所影响,玩家将会使用与其匹配的最高权重值的模板,包括继承而来的权限组。如果两个权重值最高且相等的模板都可用,那么继承数量最多的组模板将会被使用。
    1 a3 c% X* e" e3 F4 S
  23.   group-templates {1 q4 K. w0 i1 A9 @) [- U
  24.    admin {* Y+ b( O, w$ h2 u8 j7 Y5 c/ P
  25.     # 默认的玩家聊天颜色,如果此玩家/组别没有被定义"chatcolour"权限。如果设置默认的样式,请确保"namecolour"权限被设置为"" (不改变颜色).请不要包含“&”格式化字符。
    ( L4 S) r+ j0 d* Y
  26.     default-chatcolour=""
    : w8 A, Z# I) w0 D. D, z. H
  27.     # 默认的玩家聊天字体,如果此玩家/组别没有被定义"chatstyle"权限。如果设置默认的样式,请确保"chatstyle"权限被设置为"" (不改变字体).请不要包含“&”格式化字符。多个字体样式请用","分割开。4 p& d( \m( G! ~/ |& a5 S2 [
  28.     default-chatstyle=""- \: n2 x1 G3 w# }. U& U6 q: L1 A/ e
  29.     # 玩家聊天的默认颜色,如果此玩家/组别没有被定义"chatcolour"权限。如果设置默认的样式,请确保"namecolour"权限被设置为""(不改变颜色)。请不要包含“&”格式化字符。
    7 W: f6 s& v6 |j9 i: X9 y/ K
  30.     default-namecolour=""
    0 M* S( L1 H2 tt1 d1 S. F
  31.     # 玩家名字的默认字体,如果此玩家/组别没有被定义"namestyle"权限。如果设置默认的样式,请确保"namestyle"被设置为""(不改变格式)。请不要包含“&”格式化字符。多个字体样式请用","分割开。8 w, w- W5 g- Q0 y
  32.     default-namestyle=""& S% T5 Y) T. Q" u- ]
  33.     # 设置聊天信息的前缀。{{prefix}} - 前缀(权限插件的可选元素),{{suffix}} - 后缀(权限插件的可选元素),{{name}} - 真实ID,{{displayname}} - 显示ID
    ! e4 {) s5 u3 V0 d- ^8 g7 W
  34.     prefix="&f[{{nh_world}}&f]&r{{nh_honor}}&r{{nh_prefix}}&c{{nh_name}}&r{{nh_suffix}}&c{{pl:unity:marry}} &f? "
    & y% s" C& Z$ {
  35.     # 设置聊天信息的后缀。{{prefix}} - 前缀(权限插件的可选元素),{{suffix}} - 后缀(权限插件的可选元素),{{name}} - 真实ID,{{displayname}} - 显示ID
    4 u2 ?) j' u2 w3 O5 [6 l
  36.     suffix=""+ N# O2 v& f/ u$ E
  37.     # 此模板的权重值,当多个模板都符合作用条件的时候,高数值的模板将会最终作用在聊天信息。
    " Ih& p1 U' K# H. g4 ~|
  38.     weight=10j1 V/ T! P" y|1 P
  39.    }+ m/ v9 h/ ]2 z& o9 Q) z0 b
  40.   }6 I5 r- n/ n: |* _c# `- X
  41.   # 如果设置为true,Nucleus将会在玩家发送消息的时候选择最合适的模板。如果设置为假
    8 [( {. R; f, S2 D
  42.   # 将会永远使用默认的聊天模板,但是将有一个性能增益,因为不需要从权限插件中检索玩家的权限组。% s9 c/ v3 x( v+ X: q% W; M
  43.   # 如果服务器有严重的性能问题时,请关闭此项。(这通常是由于权限插件功能不够完善)
    ) Q/ s7 i& F5 z) M
  44.   use-group-templates=true
    / P: |7 P8 \" h4 F
  45.     }
从配置文件中可以看到我目前设置了两种聊天格式' L' n/ t$ `& x, j4 M& O
一个是默认的:

代码:

  1. &f[{{nh_world}}&f]&r{{nh_honor}}&r{{nh_prefix}}&a{{nh_name}}&r{{nh_suffix}}&c{{pl:unity:marry}} &f?
还有一个是管理组使用的:(名字前面的颜色符号不同)

代码:

  1. &f[{{nh_world}}&f]&r{{nh_honor}}&r{{nh_prefix}}&c{{nh_name}}&r{{nh_suffix}}&c{{pl:unity:marry}} &f?

( pe& l3 p9 _5 a4 x6 z这些都可以自由更改,但我所使用的变量并非是基础插件自带的变量,而是使用的附属插件的变量。关于附属插件的变量是为了让玩家指上去时可以显示出玩家的信息,就跟上图一样。
0 Z6 ~% ]& u& i' K. o如何修改这些信息或者自己定义变量?打开 \config\nucleushover 文件夹,编辑里面的配置文件
6 qQ! ks" {r$ T% A
你就会看到这里有许多的已定义好的变量。比如圈圈中的 name ,对应的就是聊天格式里所使用的 {{nh_name}} 变量如果你定义了其他的,就可以在聊天格式中使用{{nh_xxxxx}} 变量
" @, `; [# i% s/ K9 Y如何创建多世界?该基础插件自带世界管理器,因此无需再额外添加多世界插件!指令为 /world

+ p/ [. u; w/ T; |$ e简单的说下这些英文代表的意思:setdifficulty —— 设置世界难度setkeepspawnloaded —— 设置是否保持出生点加载teleport —— 传送玩家到指定世界sethardcore —— 设置世界是否为极限模式modifiers —— 查看可用的世界编辑器delete —— 彻底删除指定世界load —— 加载指定世界enable —— 启用指定世界unload —— 卸载指定世界create —— 创建世界info —— 世界信息border —— 设定边界setloadonstartup —— 设置世界是否在开服时加载setgamemode —— 设置世界的游戏模式setpvpenabled —— 设置世界PVP是否开启list —— 查看世界列表setspawn —— 设置世界出生点presets —— 查看可用的世界预设spawn —— 前往世界出生点gamerule —— 查看世界规则rename —— 更改世界名字disable —— 关闭指定世界clone —— 复制世界generators —— 查看可用的世界生成器/ b# Z( c3 FA
正确的创建世界方法:/world create 名字【创建一个普通的世界】/world create 名字 -i 【导入一个已有的世界】/world create 名字 -g minecraft:flat【创建一个超平坦世界】/world create 名字 -p sponge:the_void【创建一个虚空世界】创建新世界的名字不能与现有世界名字重复,例如不能用 “world” “DIM1” “DIM-1” 这三个默认存在的名字, }3 E6 I1 N# T8 r: H5 k# `
注意:世界存档都在根目录的 world 文件夹内,并非在根目录。关于导入存档请看下面。! {& z/ U& M; D- i" [8 k
如何导入存档以及设置出生点?由于 Sponge 的特殊性,导致有不少腐竹第一次接触 Sponge 时会遇到导入存档后重启服务器就消失的情况。这里需要注意以下几点:
  • 存档名字最好是跟文件夹名字一致
  • 存档名字 ≠ 文件夹名字
  • 模组服的多世界存档位置均在根目录的 world 文件夹内
  • Nucleus 有区分 第一次进服出生点 以及 世界出生点
    4 Ju" }3 J" O$ FO" y

7 S$ @& d5 @2 {- b( d4 N6 O9 E首先教一下如何修改存档名字这里用玄霄阁存档为例,如有冒犯请联系我下载好后先将它解压到客户端saves 文件夹内

' T3 H5 _0 J' g& Y: v' T7 SA不知道 saves 文件夹在哪?一般情况下在 .minecraft 文件夹内就可以看到二般情况下就是在 .minecraft\versions\版本名\ 里可以看到
4 c" z4 @R@解压好后先将文件夹改名,例如 “zc” 如下图所示(本服务端已有 “zc” 世界,即主城,若想更换主城请先删除 world\zc 文件夹)
2 w$ `; b3 i7 Y
改名后启动客户端,点击 单人游戏 就可以看到刚才的存档文件夹,请看下图中红框位置所示
上面的是存档名字,下面的是文件夹名字,现在现在需要将两个名字改成一致,选中后点击 编辑5 [: K. `$ ~9 X1 gS
将它改成 zc 后点击 保存世界

# w6 q& z, k6 C1 u% a! S4 m此时显示都是一致时即修改完成
, ^, u5 ]$ N. b5 d
接下来回到 saves 文件夹中,将 zc 文件夹复制到服务端根目录 world 文件夹内
, a. a" h; e9 \8 _7 p/ ^U* F3 m
接下来在控制台输入 /world create zc -i -m sponge:void 即可(-m sponge:void 是虚空的意思,可去掉)(可能有人以为我打错字了多了 / ,实际上 Sponge 并不会在意控制台是否有斜杠)

" x- o+ @+ E( L) i- S9 X8 w这里解释一下这条指令的含义:/world create zc -i -m sponge:void首先斜杠就不解释了。然后是 world create zc 部分,意思就是创建一个名为 zc 的世界接着是 -i 部分,意思就是导入现有存档最后是 -m sponge:void 部分,意思是使用虚空修改器,就是指接下来这个世界新生成的区块都会是虚空, }, Q% t6 m4 ^
当生成好之后,在游戏中输入 /world tp zc 即可传送到 zc 世界
& D: V# j) \: B5 E+ [4 q
假设要将 zc 设置为主城先站在要设置为玩家出生点的位置。输入 /world setspawn 设置世界出生点输入 /world setfirstspawn 设置第一次进服出生点
& t2 O$ U, W; r6 k0 p, e设置好上面两项后打开配置文件,找到下图中的位置并修改即可

; p0 h" r) s% Q2 b修改后记得要输入 /nucleus reload 重载配置文件! ?0 R& R$ h0 Bw/ }' K# i- ^6 p
如何设定玩家拥有家的数量?以及使用命令设定玩家拥有家的最大数量是通过权限插件实现的,本服务端给默认组设置的是可拥有 3 个家。修改方法很简单,使用命令 /lp group default meta set home-count 数字 即可设置完毕。同理如果想设置 VIP 组的话 /lp group vip meta set home-count 数字 即可设置完毕。2 Q6 C$ C! l7 S4 E
玩家命令:设置默认家(名为home):/sethome前往默认家(名为home):/home删除默认家:/delhome home设置其他家:/sethome [名字]前往其他家:/home [名字]删除其他家:/delhome [名字]查看家的列表:/home list显示你设置家的最大数量:/home limit4 d* |0 wl4 IE
下列指令需要管理员权限:查看其他人的家:/home list [ID]前往其他人的家:/home other [ID] [名字]删除其他人的家:/home deleteother [ID] [名字]显示其他人设置家的最大数量:/home limit [ID]
1 c; [% X! c* {; ~1 F9 Z' H

3 N' w5 Z- |* d
经济插件

. E2 d' l# n" ]插件名:EconomyLite配置文件位置:根目录\config\economylite数据文件位置:根目录\config\economylite此插件提供了经济功能,拥有打钱、查余额、排行榜、银行、贷款系统,同时支持 mysql。不过为了避免复杂性,我关闭了银行以及贷款功能。% g5 s4 ?9 z6 H5 g" A^
如何设置玩家的钱?使用命令:/eco set 玩家名 金额" n0 P$ ]- Tg; ~" w. t
如何增加玩家的钱?使用命令:/eco add 玩家名 金额
# ]+ R) c' F: IW% i/ u( _如何减少玩家的钱?使用命令:/eco remove 玩家名 金额d0 u9 N* IM/ x
如何修改货币名称和符号?本服务端将货币名称更改了 “金币” ,以及符号是 “¥” 如果你想修改,可以用编辑器打开配置文件夹里的 currencies.conf 文件,直接修改名字即可

代码:

  1. coin {6 z' A& s8 z- _/ ~9 m) `7 E
  2.     plural=金币
    ) l5 r9 I0 V6 T1 ?8 j3 u! R4 v* E) E
  3.     singular=金币
    + D( ?& Q$ [" C' F! B
  4.     symbol="?"& M+ y; O$ H( I
  5. }9 U, k$ S$ B$ y4 \
  6. current=coin) S* K7 Q8 N* g6 x/ ?
注意:请在正式开服前修改好,否则修改后原先玩家的货币将无法被插件所认。0 `+ r" X1 Q^# z) g8 R( a
如何修改玩家初始金额?本服务端初始金额为 100 ,当然你也可以自己修改。用编辑器打开配置文件夹里的 config.conf 找到 player=100 ,将其修改即可。; l4 x# r& qj' j1 @% a, Tc
其余命令请点击插件名进入搬运贴查看。
: ?0 x6 H* w. S3 e/ t+ o7 _
变量前置插件
PlaceholderAPI插件名:PlaceholderAPI配置文件位置:根目录\config\PlaceholderAPI此插件为大多数插件所需要的前置插件,提供了变量系统以及内置有大量基本变量% V% Z7 X; g% Q
使用 /papi list 可以列出你服务器当前所有变量,其余详细指令请点击插件名前往搬运贴查看。
. w: |9 E9 l& \0 I2 Q
领地插件
插件名:GriefPrevention文档地址(中文):https://pluginscdtribe.github.io/wiki/griefprevention/配置文件位置:根目录\config\griefprevention\worlds这款插件是目前对模组兼容性最好的领地插件,使用此插件圈的领地能够防御绝大多数模组物品的爆炸与破坏。同时也是我花了最多时间去研究的插件,也因此解决了没有 GUI 导致的国内玩家不习惯等问题。
, Q( u" bu7 F6 V; K使用方法:    本服务端将圈地工具设置为了木棍(插件默认是金铲子),主要是为了让大家能够更快的使用此插件,同时用木棍也降低了玩家的制造成本。
! F1 ]0 q- M/ G! f8 D" o* y& V    除了圈地工具以外,还有用于查询领地和快速编辑领地的骨头,这也是我经过三思后所设定的工具。当然这些使用工具均可自行在配置文件里修改。
/ y2 e" t' o' u8 o3 D
- ?( j. K0 y' M: r% ~

+ E9 i# O% _. A+ `( p% s" A; \
2 c' V' b- e' b! k5 g, Z& C/ j! r. D
关于指令用法:
4 `z) D`7 V- v; B/ i) A% p# O/ `3 r    实际上用法在上面给出的文档地址里都写的十分清楚了。但是由于指令不好记,没有 help 功能,没有箱子 GUI 功能导致的国人难以用惯此插件。
' e, V1 e" c6 [1 E    在本端都已经将这些问题解决了,你只需要输入 /gp 或者 /gp help 即可查看到带有中文注解的命令帮助页面。
7 Z! N' ~P' j1 e* ?' \
+ v1 ]- D; [. p
3 B' O; s) j% |, s
玩家如何圈地?如何修改领地设置(Flag)?: D' T. k. Q: G. @+ R2 O" x
7 e0 x7 j9 U% m- c8 z8 I
注意:8 e6 i3 K9 [$ C
此插件默认是使用的平面圈地模式,也就是不计算高度。就是说只要点了两个角,那么他的领地范围就是那两个角形成的矩形,从 y0 ~ y255 都是他的领地。9 b. [0 E# V9 w/ [: l( m4 b3 D
这看起来似乎不太合理,但实际上在模组服更适合用平面模式而不是立体模式,可以避免许多的模组问题。# y% |# N2 ]9 K* U* K6 n# ~- G0 C
当然我过段时间也会提供更改为立体圈地模式的方法,难免会有些腐竹不太喜欢平面模式。
! w$ L3 l_; |) x
首先拿出圈地工具木棍,他会提示这个
4 _z6 @8 |( m( L: ^) t, j

; u. a% c" `# H' W+ w, R' B
/ EXF0 h7 C* M$ q: }
8 C* t+ F, F; F+ Qb接着找自己喜欢的两个对角点,例如我放的两个钻石块(圈地不需要输入任何指令)1 \0 O$ d2 h5 ]

- r" ]: d& I' {! f+ {因为是平面模式,所以不需要管高度,直接点就行了。圈地面积最小是 10 x 10。
_/ l7 q# s2 A! p- ]6 f
) i9 F! Y) s/ e) d6 h- x3 @2 W/ U( v
首先用木棍点一下其中一个点(左右键随意,都可以)$ l1 s- m8 j$ B8 E* X8 y* }

2 ^4 L& q# K+ z6 H他就会变成萤石块表示已成功选中(萤石块是假的,并非把真的钻石块吞了)
% |# AK3 n( S
( W: Q" w( A; @6 {i6 a+ H- y3 F" ~% Y
接着再前往第二个对角点用木棍点击,中途不能切换物品,否则自动取消第一个点(左右键随意)
此时领地的四个角都会变成萤石和金块代表已圈地的范围(放心,金块都是假的,别想着刷)3 ~2 v$ a/ h' A" h: h1 U
过一会萤石金块都会消失,或者你直接用手右键也会消失恢复原样。

4 K' U5 G: h2 K' m; y: g假设你有一天忘了这个领地的范围怎么办?请拿出你的骨头,对着领地右键一下
立刻又显示出了领地范围。现在你知道领地范围了,想取消掉这个范围显示。用骨头左键点一下就好了。+ [- M, E, N2 G. A1 H' C# [+ t4 ~
如果你对着空气点左键,则会弹出领地管理面板。可以在这里管理领地。

( ?2 {" r. \1 V6 L6 r+ N/ y2 B
: Y0 e: k1 u+ d2 m, B; @6 _( n
这里解释一下一些常用 Flag 的用途:
  • 如果禁用了玩家进入领地的话,就连管理使用 /tphere 都无法把目标玩家拉过来。
  • 如果禁用了破坏方块和爆炸的话,不论外界的玩家用什么方式炸你领地,比如核弹、导弹、轰炸机、坦克等等…都无法炸毁你的领地。
  • 如果禁用了对方块左键的话,不论你是用什么万能镐、大铁锤、开山镐等等……都无法破坏你领地的任何方块。
  • 如果禁用了对方块右键的话,不论你是用什么扳手、偷机器、偷电、偷物品、偷偷偷……都无法取走你领地任何物品。
  • 如果禁用了对实体左键的话,不论是谁都无法用任何东西击打领地内的实体,也无法左键取下展示框的东西。
  • 如果禁用了对实体右键的话,不论是谁都无法用任何东西对实体右键使出什么技能,也无法碰盔甲架。
  • 如果禁用了物品左键的话,阻碍就会更强,只要你手里有东西都无法左键。
  • 如果禁用了物品右键的话,阻碍就非常强,你使用不了手里的任何东西,比如什么激光枪、什超强莱福克斯螺旋飞天diao炸天崩地裂究极杀人法杖都用不了,就连吃东西都不允许。
    # v5 a' ]' Xm6 o

- q* X; M& [0 e
领地块是怎么计算的?    在平面模式下,一个领地块就等同于地面上的一个方块,但是这个方块的最下面到最上面(0~255)都是属于你的。因此,如果你想圈 10*10 的地,你只需要 100 个领地块即可圈完 10*10*255 的地。    在立体模式下,一个领地块就等同于一个方块,如果你想圈 10*10*20 的地,就需要 2000 个领地块。
1 l6 G& T0 k; l! N# T1 Z, Y如何给领地设置名字?以及如何传送?由于圈地不需要指令,因此圈地后默认都是没有名字的。所以你需要给自己的领地设置一个名字,站在领地内输入 /gp rename 名字 即可设置领地名
/ ]/ \; F' b/ d% g0 H例如下图:
1 d% X# [: {# Q# A4 Abu
你可以看到我将领地名设置为:我是领地名你没看错,可以中文,并且允许领地重名。
" T" D4 G; R2 I) O; e$ y
那如果我要传送到某个领地,该怎么办?输入 /gp list 即可查看领地列表- n( X5 V! H4 q% a0 h1 u

) e3 Y% w, l, |- z然后点击左侧的 [TP] 即可传送过去
" `$ n! `6 G, p; V9 K- m5 m8 k4 e+ E2 Z: v

/ }m4 v" @, I* [可以点击上方栏目切换列表类型# x9 @1 s/ J# R, f% m& u
/ s" c5 ]% H8 m& F2 x' T3 H

% r- Z) B3 G7 |2 o/ i% A$ t/ P- K5 v
你也可以使用命令 /gp tp 领地名 直接传送4 w" c0 ~0 o9 Z1 n
' I& f, u. C+ k0 `
一键好友共享功能:输入命令 /gp tr 即可查看共享功能(信任系统)
. m9 U! N: c% t2 s' x, o
如何获取圈地所需的领地块?在领地管理界面里就可以购买,就是左键骨头出来的那个界面
- k2 s6 s( k8 C
- P1 _5 T3 c+ h$ ^V
(因为是管理所以下面的获得数量是负数的)1 c4 I, w/ g4 }! @% f( R- l' E

领地块的购买和出售的价格?本服务端设定的价格是:购买 1个/10金币  出售 1个/8金币
( b' S8 e3 M; s+ @当然你也可以自己修改价格,修改方法:编辑 \config\griefprevention\worlds\global.conf 文件找到如下选项

代码:

  1.     economy {
    0 x8 t5 E) mP: T1 [
  2.   # Cost to purchase a claim block. set to zero to disable purchase.
    7 O& o3 `$ R& X^! \, f
  3.   claim-block-cost=10.0
    9 A1 W6 B" r) n8 C
  4.   # Return on a sold claim block. set to zero to disable sale.
    " I3 E, g! a, v
  5.   claim-block-sell=8.0
    " N4 m' r" I* w7 BP! h
  6.     }
0 V% s* n* \) k1 h3 S
10.0 即为购买价格,8.0 即为出售价格。修改好保存后输入命令 /gpreload 即可。7 r/ J2 ]2 r5 R' L1 ^0 z

另一种方式获得领地块?是的,此领地插件的领地块还有另一种非常人性化的获取方式那就是根据在线时间获得,输入命令可查询到默认组的每小时获取量 /lp group default meta info
从图中可以得知,我给本服务端设定的是默认组在线每小时可获得 1 个领地块。修改方式也很简单,输入 /lp group default meta set griefprevention.blocks-accrued-per-hour 数字即可修改。同理,其他设置项也可以通过此方法修改,其他项的具体作用请看这里# k9 v* Xn( S) Z& E' l
管理员如何圈地?
2 k2 H; E; }( l5 x* ?T) q在管理员模式下圈地可不需要消耗领地块,同时圈的地也会算作是服务器的领地。
/ G0 A+ e+ e% s0 h方法与上面普通玩家的圈地方式类似,仅仅是多一个指令而已。$ [5 M/ P+ q% k' g& p4 @6 K7 o0 M% l
$ B$ J/ ?+ Z7 h

6 \/ G( {: H: c( `9 r首先拿着木棍,然后输入 /gpa sw aclaim 或者 /adminclaims 切换模式+ H+ v; I3 l' n+ A7 |/ v, R
接着就与玩家的方式相同,点两个对角点即可。
. L3 ^9 |1 u! T. B

% |8 O+ u- H7 {* F5 S0 B(中途不能切换手中物品,否则自动取消管理员模式。需要重新输入)2 V( x5 H+ |8 [x% Z6 ?
如何设置世界全局属性,让主城不被破坏?4 L/ d1 i$ o+ A8 L8 I
与上面讲到的设置领地的方法相同,只不过不是站在领地内设置,而是在领地外设置。
, `2 x/ V2 h% F+ @7 c" B' S- h]' ?+ }你可以输入 /cf 打开聊天面板设置,或者用骨头打开菜单面板设置。
5 V$ k( a; `5 d6 F# i# p

/ O1 w9 m* G# I! t+ U) U3 s如果使用的是聊天面板的话,点击橙色的那个就可以切换设置。
# r% ur6 t4 N紫色的是修改默认设定,修改后在这个世界圈地的默认设置都会变* m9 v- `% g& B5 F8 P. j) l7 w

: r# b! `) |' G* Q8 k+ D0 W3 l6 l0 K
菜单面板↓
+ c8 A% c% b/ W) h5 v5 H( J& g

* [* j* ?9 {3 \: v0 J7 u8 ~! e' X
8 ~1 X% Z; ?+ G. n; t: B& H7 ~
3 P$ GA! v2 P/ J5 ~如何设置领地对于单独某位玩家的Flags?
" F3 |, u. T' S1 P# i6 d0 ?~+ R在游戏中使用 /gp pset 即可看到命令帮助。这里建议使用 /cfp ,因为这样可以用 tab 功能补全。% t& V" C* U* P& x
举例:
/ K5 e+ x* O( e; W- QS+ i# g使用 /cfp dim block-place any true
4 o# ]9 l- J3 P% g1 _! ~- y7 `此时一位名为 dim 的玩家就可以在你领地放置任何方块# T- u. E0 ~& p. X

1 c9 z" r6 U0 ~8 ae: ?$ y* _. C' s9 w5 L6 y

' e$ ^! a# d% B' I; `* P5 e0 p; t其中 block-place 是要设置的 flags ,可以在这里查看详细信息。
5 I- R7 @5 o" N% }7 \any 则表示任何。也就是允许这位玩家放置任何方块。
) |' V' O4 m5 u" H$ c如果你只想让他在你领地放置泥土,那么将 any 换成 minecraft:dirt 即可。& X! O) b5 L! {& j3 J
其他 flags 的用法也基本一致,大同小异。) f7 t; ~& d$ z: L: t' u- x
5 X& l0 Y) D3 W: A/ P/ ]
关于辅助插件:. Z% \& _& m' F
估计各位也能发现,如果使用带有 /gp 开头的命令实际上都无法使用 tab 补全功能。
$ Sh4 f9 a4 C7 _那是因为这些命令都是我整合的时候为了让玩家们使用方便而自己定义的命令。所使用的别名插件, E; ^% }G9 ~. _* ~I9 ]3 ~
原版的命令实际上是这些
1 d; X% c2 No( l% h- C# v以及原版也不带有管理面板和 flags 菜单面板。此功能也是我用 baigppapivc 菜单组合实现的。: q7 e0 n4 i7 |5 I( i( ~
甚至是帮助页面,也是我自己亲自一点点写上去的,使用的是 CustomMessage 插件。$ {* _: `1 x5 c4 R# k* u4 f
' t- \& D! a0 t/ ^

3 [" c6 b8 z5 X* P在这里展示一下我自己写的帮助页面:(腐竹们不用研究这些,有问题找我就好了)
4 E3 `* {3 Z: Y& k0 P& B* [! O

代码:

  1. gphelp:
    / C& N* M. r0 L( c' p
  2. Title: "§bGP领地指令帮助"+ L+ }5 s. `. {) Yj& _. R
  3. Padding: "-"5 T. O4 ?0 L+ d; J& c
  4. Page: 159 K- l$ K; M. \( y
  5. Contents: 2 a4 o4 I; f3 j3 U; A- w0 @+ m
  6. - "§b/gp del§6- 查看领地删除相关指令"% X+ i( P$ X" a8 F0 T
  7. - "§b/gp sw§6- 查看模式切换相关指令"5 `5 {2 b# D( t' ^; j
  8. - "§b/gp msg§6- 查看设定消息相关指令"
    $ r, ?7 [5 h+ c. C) |% I
  9. - "§b/gp buy§6- 查看可购买的领地"( W4 nE- o4 O! d7 h
  10. - "§b/gp sell§6- 出售当前领地"0 e& P, R1 I1 D& \6 B8 T2 \
  11. - "§b/gp buyb§6- 购买领地块": h( x~3 v( j/ T9 f
  12. - "§b/gp sellb§6- 出售领地块"5 z( p8 h3 |2 t
  13. - "§b/gp tran§6- 转让当前领地"
    4 [0 y5 V5 z$ Q" `( e) I
  14. - "§b/gp pet§6- 转让当前领地驯养动物": i1 W7 u7 Y* g; z, D4 z# ?a; e
  15. - "§b/gp name§6- 修改当前领地名字"
    + v3 G6 @k# P3 o1 O& v8 V2 a6 V
  16. - "§b/gp tr§6- 查看信任系统帮助"- f! Bh3 G% A5 {; F% f% _
  17. - "§b/gp flags§6- 打开领地Flag属性聊天GUI"$ Y* h5 ]|, N2 n
  18. - "§b/gp set§6- 查看修改Flag帮助"9 J' Y' d- _/ b$ {: Z' b5 t* L
  19. - "§b/gp pset§6- 查看修改玩家Flag帮助"
    6 g! z' v: gj- q) k
  20. - "§b/gp gset§6- 查看修改权限组Flag帮助"8 }* g, d& z7 K' N9 {
  21. - "§b/gp reset§6- 重置领地Flag属性为默认值"
    - u- R0 ~4 y* l5 sg- c: Q' a
  22. - "§b/gp playerinfo§6- 查看自己信息"# u; o9 u" E+ X" ~* b$ G, {0 k$ r8 {, W
  23. - "§b/gp playerinfo <玩家> [世界]§6- 查看指定玩家信息"
    0 G* ]4 O% Z2 c/ y3 R' g
  24. - "§b/gp tp §6- 查看传送功能帮助", ]: U$ `; sg$ s* B1 h( Q( u
  25. - "§b/gp list§6- 查看领地列表"
    $ n' B! |6 ?4 `- I' {
  26. - "§b/gp list <玩家> [世界]§6- 查看指定领地列表"
    6 e/ E! \: g- L7 F' e1 r6 S% P
  27. - "§b/gp info§6- 查看所在领地信息"
    $ X) o3 O( @1 V- D( Y+ v3 O7 z
  28. - "§b/gp info <领地名>§6- 查看指定领地信息"
    ( C- R! @0 T/ Q5 k( w0 n0 L
  29. - "§b/gp ignore§6- 查看聊天屏蔽帮助"
    T+ T5 ~7 K4 T; P) V
  30. - "§c/gpa§6- 查看管理员指令列表"" s) y* @4 ^7 B! }
  31. gpadmin:
    # {7 b& O) t0 O8 c; D
  32. Title: "§bGP管理员指令帮助"- n) ?5 p" W( G) S" L, v
  33. Padding: "-"4 F% i$ _" X" f+ z, \$ ?
  34. Page: 15) z1 ~5 ~1 y0 Q
  35. Contents:
    4 ]6 q7 y: d/ i
  36. - "§7<必填>[选填]"
    1 Y! H$ a' P( x8 P+ K* ]9 t
  37. - "§e/gpa acb <玩家名> <数值> [世界] §f- 增加/减去指定玩家的领地块认领上限"! [( S$ H) D0 L; j* M
  38. - "§e/gpa scb <玩家名> <数值> [世界] §f- 设置指定玩家的领地块认领上限"4 f( \+ g5 H& {0 p
  39. - "§e/gpa sw debugflags §f- 切换到领地debugflags模式"% @- I' Z) |+ M* I
  40. - "§e/gpa sw aclaim §f- 切换到管理员圈地模式(可直接使用 /ac)"
    6 ]# f* N7 z( b) F5 l
  41. - "§e/gpa sw iclaim §f- 切换到无视领地模式(可直接使用 /ic)"
    " T1 FI& s" }2 C7 \' R
  42. - "§e/gpa sw rn §f- 切换到复原领地模式(可直接使用 /rn)"
    ; |' `- H: g# ^0 |% [' Q! g
  43. - "§e/gpa sw rna §f- 切换到激进复原领地模式(可直接使用 /rna)"
    % Y0 `, }& x5 T1 g+ G5 g6 p
  44. - "§e/gpa sw rnf [半径] §f- 切换到填补领地模式(可直接使用 /rnf)"4 P2 M0 M! P2 Z3 T8 A2 _! `- G
  45. - "§e/gpa del claim §f- 强制删除你所在的领地"
    ' Z3 S3 S?8 \9 q
  46. - "§e/gpa del allclaims <玩家名> §f- 强制删除指定玩家的所有领地"
    ( v! F( f7 X* W! S
  47. - "§e/gpa del adminclaim §f- 强制删除所有管理员领地"& ^0 ?# S6 l' Q
  48. - "§e/gpa kill <实体ID> [领地] [世界] §f- 删除领地内指定的实体"% @5 C: l! p' _) j$ j# x' |
  49. - "§e/gpa drops §f- 允许玩家拾起你死亡掉落的物品"8 C" j2 J$ q! u' M8 i# Q
  50. - "§e/gpa ig sep <玩家1> <玩家2> §f- 强制让两位玩家相互屏蔽"
    % r' D+ p8 u3 n8 C9 x3 A$ }
  51. - "§e/gpa ig unsep <玩家1> <玩家2> §f- 取消两位玩家相互屏蔽"0 p, J( F: k! Z% z" a) @! @( i9 C
  52. - "§e/gpa ig smute <玩家名> §f- 切换指定玩家软禁言(软禁言只能同软禁言玩家聊天)"% A# d4 a7 U9 I& U2 V+ x
  53. - "§e/gpa reload §f- 重载GP领地插件": i- J3 w4 j2 g$ o
  54. gpignore:
    , D. R) O- \9 M( [. m) A
  55. Title: "§bGP屏蔽功能帮助"
    + q- z, D: e7 P+ z8 W( f9 ]2 t
  56. Padding: "-"
    4 C! ^0 k, }8 E+ V0 D1 O
  57. Page: 15
    - ^$ K: q+ o; h6 d" _3 W- l
  58. Contents: 5 a+ a: \$ J' y" X- N% q
  59. - "§7/gp ignore ?"
    $ d' k6 j2 p7 k8 S; ^X& a8 a8 j: s
  60. - "§6请在后面指定一个参数: §c
      [do] [undo]"
      w) ], `; p* Q/ d: l; N1 H/ _
    • - "§a/gp ignore list §e- 查看屏蔽聊天玩家列表"
      7 S$ x; F! S% O. M4 c; }0 W
    • - "§a/gp ignore do <玩家名> §e- 屏蔽指定玩家的聊天消息"
      + o5 J; b1 q+ @
    • - "§a/gp ignore undo <玩家名> §e- 取消屏蔽指定玩家的聊天消息"' p- b2 k" a- U/ j
    • - "§c/gpa ignore sep <玩家1> <玩家2> §e- 强制让两位玩家相互屏蔽"1 p( {6 _% D7 B! v: C$ j* \3 R
    • - "§c/gpa ignore unsep <玩家1> <玩家2> §e- 取消两位玩家相互屏蔽"8 G4 ~0 O& k* ~* M$ I; i5 A
    • - "§c/gpa ignore smute <玩家名> §e- 切换指定玩家软禁言(软禁言只能同软禁言玩家聊天)"
      # k- D% h7 W6 }* o( ^
    • - "-"4 ?0 q. C2 v7 R/ Y
    • - "§7§lTips:"
      - r2 [( ?7 Y+ S6 P
    • - "§7你也可以将 ignore 简写为 ig": R# W# }! [& i7 c
    • gpdelete:
      9 M; u1 b# I- \1 g0 z
    • Title: "§bGP删除功能帮助"! ^6 y: I" }% {
    • Padding: "-"
      5 \6 D% d+ N7 |) m# j( `+ g* o+ M
    • Page: 15, {8 X; S/ I2 |8 h, @$ n
    • Contents: 0 p+ nF1 ?, B4 ~
    • - "§7/gp delete ?"+ A, i; v- T9 P6 L
    • - "§6请在后面指定一个参数: §c[claim] [allclaims] [topclaim]"2 n* g2 p! a' E0 F8 p. H
    • - "§a/gp delete claim §e- 删除您所在的领地"
      0 r7 U2 m7 ?$ J% }, \
    • - "§a/gp delete allclaims §e- 删除您的所有领地"8 D! m9 z& w1 e$ {4 w
    • - "§a/gp delete topclaim §e- 删除您所在的领地以及子领地"! R, p, g* G# N2 P5 u! H2 k; ?
    • - "§c/gpa delete claim §e- 强制删除你所在的领地"- ~- v2 |. q+ }. t; u7 k6 t
    • - "§c/gpa delete allclaims <玩家名> §e- 强制删除指定玩家的所有领地"
      9 W/ Z, W; D& N5 V2 m1 x
    • - "§c/gpa delete adminclaim §e- 强制删除所有管理员领地"
      1 F& F5 p* w$ w/ A7 b
    • - "-"6 m. ]5 t4 ^0 C, Q6 I% q* `P; a
    • - "§7§lTips:"7 J3 G4 r9 J6 v* A5 Z
    • - "§7你也可以将 delete 简写为 del") m8 z7 w9 j3 a5 P1 n0 b
    • - "§7你也可以将 delete 改写为 remove". W6 W5 w/ c2 t6 n
    • gpswitch:4 A0 c2 f' ?; D' R1 x$ d
    • Title: "§bGP切换功能帮助": \3 n2 r~* k% e4 U+ r/ B
    • Padding: "-"8 gS4 \& i( ?- o
    • Page: 151 J! I6 H6 M7 W: h
    • Contents: ! Z! j6 q; e6 L* X+ w2 o1 ?8 Z4 Y
    • - "§7/gp switch ?"
      ( ~p2 M. G) v& ]% ^k( z
    • - "§6请在后面指定一个参数: §c[basic] [sub] [inherit]"
      & X$ A% \) @9 Z3 e
    • - "§a/gp switch basic §e- 切换到基础圈地模式(basic 可简写为 bc)"
      % W; P) z; H& i% @" |
    • - "§a/gp switch sub §e- 切换到圈子领地模式"
      0 _$ q- l6 h2 w' I0 B1 H/ }
    • - "§a/gp switch inherit §e- 切换到子领地继承模式"
      " |3 \9 a3 R- L
    • - "§c/gpa switch debugflags §e- 切换到领地debugflags模式"
      0 B( u& G" G- w+ W$ d; y, T
    • - "§c/gpa switch aclaim §e- 切换到管理员圈地模式(aclaim 可简写为 ac)"
      ) ^4 n! Q9 L, a
    • - "§c/gpa switch iclaim §e- 切换到无视领地模式(iclaim 可简写为 ic)"
      " t3 J$ @) O! B2 {2 G$ ^
    • - "-"
      - u! m" l* D7 I1 r: y
    • - "§7§lTips:"% o3 B+ c" m; I) T# M, \
    • - "§7你也可以将 switch 简写为 sw"/ S7 e0 H" [3 W7 g* |
    • - "§7你也可以将 switch 改写为 toggle"
      ) H& u4 I* H+ w
    • - "§7你也可以直接使用 /bc /ac /ic") ^# y& n4 Z9 O/ W! [5 H
    • gpmsgset:$ M2 L% _& v2 L- z1 ^. ]( `8 `
    • Title: "§bGP消息功能帮助"8 Y" j, R% f, o) J
    • Padding: "-"
      8 T+ b6 k7 ^9 ]& M6 a8 t+ k/ F$ {
    • Page: 15- a* h& K4 m! t1 C+ o
    • Contents:
      * Y8 |6 A8 N9 `( w- L1 A( [: c
    • - "§7/gp msg ?"
      & T: n: x, }0 q1 [4 q- Q
    • - "§6请在后面指定一个参数: §c[in] [out]"
      " i! T9 IA; g5 @, g
    • - "§a/gp msg in <消息> §e- 玩家进入您领地时显示的消息"
      " ^$ C% Qu( K" u
    • - "§a/gp msg out <消息> §e- 玩家离开您领地时显示的消息"
      ; D0 n5 `( S3 d# c1 e( t0 n
    • - "-"
      0 ]3 z6 F0 `5 r) B- Q
    • - "§7§lTips:". `; ?+ p0 kh0 t4 s1 s4 ]3 {, B
    • - "§7如果不填写 <消息> 则代表删除提示语"
      ' [5 `% o. E8 Q6 y7 m: i, [
    • gpteleport:, Q7 j) d- Q2 g
    • Title: "§bGP传送功能帮助"0 Xk( u1 k9 |3 ~
    • Padding: "-"
      . Z5 p$ P# ]/ I
    • Page: 15
      - w9 P7 l; F: w( f+ i
    • Contents:
      9 M+ P5 k. y! j9 C
    • - "§7/gp tp ?"
      ( \4 Q; V% v/ X! l$ j( X' \3 h
    • - "§6请在后面添加参数: §c<玩家名> <领地名>"$ k: B: \9 p* M3 b
    • - "§a/gp tp <玩家名> <领地名> §e- 传送到其他玩家的领地"* a& U( z: q8 m4 Y2 O
    • - "-"
      + E0 j9 E9 O3 S% Z0 z7 k# V
    • - "§7§lTips:": t9 ^% v& O" ?( L8 t, y6 q
    • - "§7如果不填写 <玩家名> 则代表传送到自己的领地", J- e) ?9 c, h
    • - "§7由于GP允许领地同名,因此需要填写玩家名"/ b. x' n) r+ Z# Ap
    • - "§7可以使用 /gp list 查看自己的领地列表"
      4 |* w/ u: L) G$ L% l! n
    • gpsellclaim:
      r5 ]8 m# v; ?3 Z; E
    • Title: "§bGP销售功能帮助"1 w+ ^( J* p; BT5 j( O3 E
    • Padding: "-"6 e& o- L1 IT9 L; _
    • Page: 15
      3 Q: o1 @, d5 F5 z, [( l
    • Contents: * F& q8 w+ ?3 C9 OH: P' r
    • - "§7/gp sell ?"
      8 t2 Y+ S6 ~0 |. H& y2 S
    • - "§6请在后面添加参数: §c<价格>"
      - B5 ?' {" T5 O8 e: Uc
    • - "§a/gp sell <价格> §e- 以指定的价格出售你所在的领地"
      a0 N% _( R3 j" ~* @
    • - "-"0 r3 W4 c& _7 f
    • - "§7§lTips:"
      $ W2 P: [1 o) R6 ~/ e( q
    • - "§7如果 <价格> 为 -1 则代表取消出售领地"
      * b# g' w4 Q+ n2 g' X
    • gpbuysellblock:
      4 z- q* D4 d2 A+ j
    • Title: "§bGP领地块功能帮助"
      7 L5 Y9 M# W& d
    • Padding: "-"; j$ H3 W4 L/ KXW
    • Page: 15& E- e/ c! S, ]
    • Contents:
      , I$ O1 L' X8 ~f/ P) Q) _2 X
    • - "§7/gp sellblock ?"7 F3 V1 D6 B! r
    • - "§6请在后面添加参数: §c<数量>"
      8 B. f9 X$ z$ m# y) y
    • - "§a/gp sellblock <数量> §e- 以指定的数量售出你拥有的领地块给服务器"
      6 E& @# \3 A$ y4 i( x9 |: N
    • - "§a/gp buyblock <数量> §e- 以指定的数量向服务器购买领地块"
      % M/ F+ k4 `5 P) D- e}
    • - "§c/gpa acb <玩家名> <数值> [世界] §6- 增加/减去指定玩家的领地块认领上限"
      - v: B; Q% F' ~, I
    • - "§c/gpa scb <玩家名> <数值> [世界] §6- 设置指定玩家的领地块认领上限"
      j( tl& B, V6 T/ P' X" B6 \
    • - "-"
      2 [/ i% t. C/ C+ K/ c, w
    • - "§7§lTips:"
      6 H/ `0 J* C/ m; |3 G; b8 p
    • - "§7你也可以将 sellblock 简写为 sellb"
      4 S2 ]. E4 e* Y3 k; n0 r
    • - "§7你也可以将 buyblock 简写为 buyb"
      9 e4 I! |9 }( Z& x# q. p* P% W3 g
    • gptransfer:3 \1 Y& i( a- FB. {7 L) l
    • Title: "§bGP转让功能帮助"
      , J( P! [5 |$ T6 T+ R1 A5 i: Z
    • Padding: "-"1 q* I; S' q% O! t% h5 G
    • Page: 15
      0 \0 h: Z4 Z' ~& T% d9 g^- S, ~
    • Contents: ' ^, h* l, p$ M
    • - "§7/gp transfer ?"3 ]1 [3 ?# g5 C; D
    • - "§6请在后面添加参数: §c<玩家名>"
      - G% f; v: }& O$ |
    • - "§a/gp transfer <玩家名> §e- 将你所在的领地转让给指定玩家"1 c$ r* O' l2 e5 `
    • - "-"8 H( n# k7 n' j
    • - "§7§lTips:") v5 k; [; s7 `4 N3 y; Y# t' T
    • - "§7你也可以将 transfer 简写为 tran"
      0 _& s( }' h; l/ f" V4 u* U) \
    • - "§7此操作不可逆,请谨慎"
      . E7 W8 q# x+ _, r. z
    • gppet:! {) ^; B# I$ G
    • Title: "§bGP转让功能帮助"$ {H- ]5 f5 `3 [
    • Padding: "-"
      ! k# L+ i. v4 p8 do$ |
    • Page: 15; `" M& }" K4 ~# ]# E' [( Y, _
    • Contents: " _1 I$ K+ ~& v
    • - "§7/gp pet ?"
      , oW. k+ \5 D8 O9 o5 G+ ^
    • - "§6请在后面指定一个参数: §c<玩家名> [cancel]") B3 q- N; G4 Z+ T' b
    • - "§a/gp pet <玩家名> §e- 将你驯养的宠物转让给指定玩家"9 i+ A& a6 C! c6 l
    • - "§a/gp pet cancel §e- 将你驯养的宠物放生"j1 ?" l7 q! i& ^, X
    • - "-"' w) ?: Q" z8 ?
    • - "§7§lTips:"
      , Z$ x$ w! l8 y! Y; U" f
    • - "§7此操作不可逆,请谨慎"" \, A$ j/ U, {* z( V: [o7 ?
    • gpname:
      9 M* s; e& i% d8 ^, v% r
    • Title: "§bGP更名功能帮助"
      . ?/ }$ E; u* B- T
    • Padding: "-"
      W5 n+ c; P1 j
    • Page: 15
      3 p1 N7 Z& e6 q$ O6 ]( \
    • Contents: + t" u6 h0 k9 N5 t) S% _
    • - "§7/gp rename ?"
      ; Q# \. H( {9 I3 {* J
    • - "§6请在后面添加参数: §c<名字>"
      0 l. L- s, M0 y' }
    • - "§a/gp rename <名字> §e- 更改你所在领地的名字"9 E$ K6 h' z4 b) |
    • - "-"7 s4 l4 A. A1 ~9 |" L, G
    • - "§7§lTips:"
      - g+ L' k: a/ a1 z% C! s" S; a
    • - "§7你也可以将 rename 简写为 name"% b* t% G! A/ e' m4 d}s8 c
    • gpplayerinfo:' S! V9 t" s( ^0 |' ]" B4 [
    • Title: "§bGP信息功能帮助"
      , o2 g" T]# z/ d
    • Padding: "-"( ^2 h; q: J2 p" K8 m1 o# ^) T2 t5 U1 [
    • Page: 15' ^' l0 H2 X+ j4 E% _
    • Contents: & |4 E0 n* u7 X3 P
    • - "§7/gp playerinfo ?"6 _# Z* ]T/ ?3 y: V# WF. b
    • - "§6请在后面按顺序添加参数: §c<玩家名> §c<世界>"0 e- E) r. p8 C2 m
    • - "§a/gp playerinfo <玩家名> §e- 查看指定玩家信息"
      " k+ f% b5 b- x
    • - "§a/gp playerinfo <玩家名> <世界> §e- 查看指定玩家指定世界信息"
      % [a+ y1 u! B, x, J' g( X2 M
    • - "§7§lTips:"
      # z7 A1 j& ]$ y. j! L
    • - "§7你也可以将 playerinfo 简写为 pinfo"% l: M! u/ T% d' Bl6 M
    • gpcf:]+ i2 l4 P7 JX4 q$ G
    • Title: "§bGP领地Flags帮助"
      4 H+ z2 e4 i# [& m
    • Padding: "-"& y: Aq' e1 |, p* e5 ?8 y' G- @. J
    • Page: 20: ]. c$ ^: s& H1 M0 s
    • Contents: % m& V* Y0 R' e& l0 B" b
    • - "§7/gp set ? §7/cf ? §7/gp cf ?"6 h. n( K9 pX
    • - "§6请在后面按顺序添加参数: §c<Flags> §7<触发者> §c<目标> §c<布尔> §7[override]|§7[default] §7<原因>"
      " P5 s* H8 p) x+ {
    • - "§c<Flags> §a相关值的信息请查看下一页"% u. [7 `5 e) i& B3 m. N
    • - "§7<触发者> §a指的是事件或者动作的触发者,例如§f minecraft:player §a。这一项为选填。"7 m8 S! w& ?: M0 X7 L8 D2 v
    • - "§c<目标> §a被影响的目标,例如 §fminecraft:dirt §a。使用 §fany §a或者 §fModid:any §a,指游戏所有东西或某个模组的所有东西。"
      : e6 m! J$ d- V( `' p, I
    • - "§c<布尔> §a在这里填 §ftrue §a或者 §ffalse §a,指允许或禁止这条 Flag §a,如果填 §f0 §a则移除这条 Flag 。"
      & V' x% Z7 u: J, i- t' c
    • - "§7[override] §a意思是会把此flag生效于所有同类的领地上,§7[default] §a意思是会把此 Flag 生效于所有新的同类领地上。这一项为选填。"
      " g. F0 e+ g2 N- v
    • - "§7<原因> §a将会把禁止原因发送给触发相应事件的玩家。这一项为选填。"* ?9 V; c1 Y7 ]. g9 k
    • - "-"0 I- }8 U) Z* c4 {& I
    • - "§7§lTips:"
      . t6 u. u9 @- a4 b. a
    • - "§7你也可以将 gp set 改写为 cf。"
      2 H5 a8 ^* U6 [# B. G
    • - "§7建议直接使用原生的 /cf ,这样可以在输入 Flags 时使用 tab 检索功能。"3 u3 K" d0 ^& U
    • - "§7参数里灰色部分是选填,而红色部分是必填。"# j0 m: x5 X, d# h/ o2 l7 g
    • - "§7管理员可在非领地的地方使用此功能,可直接设置所在世界的 Flag 值,如果填了 [override] 则是设置整个服务器的 Flag 值。"
      0 `9 Q; v% e7 n& v
    • - "§e§l例如:"
      . B" v% q+ L7 y2 h/ s! w* w
    • - "§3你不想让任何人§l右键§3(不是破坏)你领地的方块,比如工业扳手,则输入:"
      / o- J4 ^8 D! B' `5 `' B# f: q# j1 W9 I
    • - "§f/cf §ainteract-block-secondary §cany §dfalse §f不要碰我的方块"
      - b; }& M" z, v" ?2 j
    • - "§3你不想让任何人在你的领地放置泥土方块则输入:". X* Z8 I1 W3 G& J/ }w
    • - "§f/cf §ablock-place §cminecraft:dirt §dfalse", w& j6 ]: s; q) b
    • - "-"
      ( G/ v/ x# K: ^- }
    • - "§b下列为所有 Flag 值 §7(下方括号里的是例子)"
      : d" {3 e# q/ X& y& @% C\
    • - "§a block-break §e- 用来管理破坏方块(允许破坏泥土方块)"8 y1 m% [p& ~* b, s2 t' C
    • - "§a block-place §e- 用了管理放置方块 (允许放置泥土方块)"
      ( F9 \6 e- k# P2 T. j/ c
    • - "§a command-execute §e- 用来管理执行指令 (Doing /msg inside claim)"
      # Q& j7 @% C1 k; H% ^4 Z# _
    • - "§a command-execute-pvp §e- 用来管理战斗状态下执行指令 (是否可以在PVP状态下使用 /tp )"" lP, Z, X: O2 s! Y+ `
    • - "§a enter-claim §e- 用来管理进入领地(不允许一个任意的玩家进入领地)"
      9 L9 [; h; G8 e) |
    • - "§a collide-block §e- 用来管理同方块的碰触 (同砖块的碰触)"- ]& h$ P8 Y# B* `6 _
    • - "§a collide-entity §e- 用来管理同生物的碰触 (同一个野生米二碰触)"
      * F5 X/ O, B- C
    • - "§a entity-damage §e- 用来管理来自生物的伤害判定 (僵尸攻击任意玩家)"5 H4 x4 |& _# l1 T
    • - "§a entity-riding §e- 用来管理生物的骑乘 (骑马、坐船、坐矿车等等)"' k4 Y. l! L! |" ^: C
    • - "§a entity-spawn §e-用来控制生物的生成 (这包含任意的生成方式,包含区块的自然生成怪物)"
      8 T9 v! l' T: O1 X
    • - "§a entity-teleport-from §e- 用来管理生物传送出领地 (一个末影人从领地传送出去)"
      + Y/ {. T* X# u& ^+ H2 N/ F
    • - "§a entity-teleport-to §e- 用来管理生物传送到领地 (一个末影人传送到领地内)"1 m2 ?5 S. W4 l8 W* `
    • - "§a exit-claim §e- 用来管理退出领地 (不允许任何的玩家走出领地)"
      8 |9 U( f6 F, U; j
    • - "§a explosion §e- 用来管理爆炸 (TNT在任何位置爆炸。因暂时有BUG,无法防御地表上的爆炸)"
      9 WN; |* m( e& R# c* j6 r# Q9 L
    • - "§a explosion-surface §e- 用来管理在地表或者上空的爆炸 (TNT在地面或者空中爆炸)"+ a+ s; R6 z: L2 r4 F6 U: L
    • - "§a fire-spread §e- 用来管理火焰蔓延 (火在木头上的蔓延)". M& G8 A/ }" q6 p* R* V. q' E
    • - "§a interact-block-primary §e- 用来管理同方块左键交互 (左键龙蛋)"! v) hd( N- ]+ W, `* m/ L
    • - "§a interact-block-secondary §e- 用来管理同方块右键交互 (打开Pixelmon的个人电脑、ic2扳手拆方块)". h% {( e- j* p# j
    • - "§a interact-entity-primary §e- 用来管理同生物左键交互 (杀鸡)"
      0 Z% A( _6 t0 J/ F( X: n& j! a
    • - "§a interact-entity-secondary §e- 用来管理同生物右键交互(喂鸡)"% u& L. X1 x3 u
    • - "§a interact-inventory §e- 用来管理打开物品栏 (允许打开箱子)"( G5 N( A2 f% Z. ~- ~2 s3 g
    • - "§a interact-inventory-click §e- 用来管理同物品栏的物品交互. (禁止合成)"# i/ j! m+ T( E
    • - "§a interact-item-primary §e- 用来管理同物品进行左键交互 ()"& W8 J4 u; C' D
    • - "§a interact-item-secondary §e- 用来管理同物品进行右键交互 (吃东西、使用模组工具、使用模组法杖)"
      8 e. x; S7 ?- S0 N6 A5 s6 W! t" o
    • - "§a item-drop §e- 用来管理玩家丢弃物品 (玩家不能丢弃泥土方块)"
      2 c1 L0 V: }+ i
    • - "§a item-pickup §e- 用来管理拾取被丢弃的物品 (玩家不能拾取被丢弃出来的泥土块)"7 ^" L1 s6 K+ W; ?& r9 r. x! x* M8 E
    • - "§a item-spawn §e- 用来管理从方块或物品中生成物品 (例如Pixelmon的礼盒)"
      & i. o3 o2 M; h0 A
    • - "§a item-use §e- 用来管理使用物品 (玩家使用药水|末影珍珠|经验瓶)"
      $ F- p% q2 p& i% _0 `" j! s
    • - "§a leaf_decay §e- 用来管理岩浆是否衰退(控制岩浆是否会消失)"
      8 A, h, w% `; A- L1 _2 D
    • - "§a liquid-flow §e- 用来管理液体流动 (控制水或者岩浆的流动)"1 O" |2 I% }, Z) ~
    • - "§a portal-use §e- 用来管理使用传送门 (控制使用地狱传送门)"
      . }" r3 y: V; [5 x$ G; E, b' f9 {
    • - "§a projectile-impact-block §e- 用来管理弹射物射击方块 (禁止用弓箭射击泥土块)"
      i. M% @( r2 L2 \
    • - "§a projectile-impact-entity §e- 用来管理弹射物伤害生物 (禁止用弓箭伤害动物)"+ j9 J$ L7 H, b' ]$ B+ d; L
    • - "-"& n% A; x; e" |
    • - "§acf/set 编辑所在领地 Flag ,§ecfp/pset 编辑所在领地指定玩家 Flag ,§3cfg/gset 编辑所在领地指定用户组 Flag ,§ccfr 重置所在领地的 Flag 值"
      & O& S: }3 r& N1 c( ~
    • gpcfp:9 WB& a9 e+ O6 b
    • Title: "§bGP领地Flags帮助"4 P0 |; |`6 [/ Q' W( d# l: L
    • Padding: "-"_/ @( a$ W/ _$ p# l
    • Page: 20
      2 cb/ L# e2 T% ?# T
    • Contents:
      * S. K7 |! W+ h
    • - "§7/gp pset ? §7/cfp ? §7/gp cfp ?"
      5 Q0 C/ q( [" N1 u
    • - "§6请在后面按顺序添加参数: §c<玩家名> §c<Flags> §7<触发者> §c<目标> §c<布尔> §7[override]|§7[default] §7<原因>"
      ' pg% U& J5 `# M6 f, |7 p* M
    • - "§c<玩家名> §e- 指定玩家ID"
      + R$ I/ O3 D8 B' B% y
    • - "§c<Flags> §a相关值的信息请查看下一页"9 x7 @) u" G6 r* Z- T" u
    • - "§7<触发者> §a指的是事件或者动作的触发者,例如§f minecraft:player §a。这一项为选填。"
      3 \' A0 Z7 r2 x0 J& G3 \
    • - "§c<目标> §a被影响的目标,例如 §fminecraft:dirt §a。使用 §fany §a或者 §fModid:any §a,指游戏所有东西或某个模组的所有东西。", [; }: c) Z: y4 Q+ c) G
    • - "§c<布尔> §a在这里填 §ftrue §a或者 §ffalse §a,指允许或禁止这条 Flag §a,如果填 §f0 §a则移除这条 Flag 。"
      1 P" X6 G* T8 x: c
    • - "§7[override] §a意思是会把此flag生效于所有同类的领地上,§7[default] §a意思是会把此 Flag 生效于所有新的同类领地上。这一项为选填。"' i: @/ A% F& c, e9 U" |
    • - "§7<原因> §a将会把禁止原因发送给触发相应事件的玩家。这一项为选填。"
      1 F; k4 z7 X|6 t) o5 @: L& |, s7 P
    • - "-"
      * a. n3 D0 b. W5 D0 s$ ^4 ?
    • - "§7§lTips:"
      ( c% J! y8 V" f3 `' m9 Q
    • - "§7单独使用 /gp pset <玩家名> 可以打开聊天界面直接编辑他现有此领地的 Flags 值"& N* s" p7 h: k! `6 u1 i7 y
    • - "§7你也可以将 gp pset 改写为 cfp。"0 A9 ~, t& v/ i! fk
    • - "§7建议直接使用原生的 /cfp ,这样可以在输入 Flags 时使用 tab 检索功能。"
      - @6 G: U* H8 e
    • - "§7参数里灰色部分是选填,而红色部分是必填。") n/ W' T/ B. x* Y) p( e! O
    • - "§7管理员可在非领地的地方使用此功能,可直接设置所在世界的 Flag 值,如果填了 [override] 则是设置整个服务器的 Flag 值。"- w* e' v& T: \. R( gI
    • - "-"/ N" C& X. r! _3 ?( q6 c! g2 r# H
    • - "§b下列为所有 Flag 值 §7(下方括号里的是例子)"
      2 D9 g2 K+ k1 `0 x% X" ]1 J
    • - "§a block-break §e- 用来管理破坏方块(允许破坏泥土方块)"* L2 ^1 |/ `/ c2 a' V
    • - "§a block-place §e- 用了管理放置方块 (允许放置泥土方块)"! }% N- ?& c* G: V2 ?
    • - "§a command-execute §e- 用来管理执行指令 (Doing /msg inside claim)"
      2 w! j& M; g" @
    • - "§a command-execute-pvp §e- 用来管理战斗状态下执行指令 (是否可以在PVP状态下使用 /tp )"
      , h' w7 L& a1 g2 M5 R
    • - "§a enter-claim §e- 用来管理进入领地(不允许一个任意的玩家进入领地)"7 X% _2 Y. K7 |1 x
    • - "§a collide-block §e- 用来管理同方块的碰触 (同砖块的碰触)"0 e6 s2 F; o* r$ ?. z6 R3 w
    • - "§a collide-entity §e- 用来管理同生物的碰触 (同一个野生米二碰触)"* P) l+ b& |3 ?' O3 b; ^/ W- L
    • - "§a entity-damage §e- 用来管理来自生物的伤害判定 (僵尸攻击任意玩家)"" r- f9 x4 m# n: j# o' SP
    • - "§a entity-riding §e- 用来管理生物的骑乘 (骑马、坐船、坐矿车等等)"6 Z( t, \+ Q) r4 T5 \i
    • - "§a entity-spawn §e-用来控制生物的生成 (这包含任意的生成方式,包含区块的自然生成怪物)"
      + J& I2 Y[9 J! z- f3 V, X$ o
    • - "§a entity-teleport-from §e- 用来管理生物传送出领地 (一个末影人从领地传送出去)"
      7 a7 ^& m' D4 t- G
    • - "§a entity-teleport-to §e- 用来管理生物传送到领地 (一个末影人传送到领地内)"8 Q$ f* z5 k1 ?& ?7 h0 O. ~: o
    • - "§a exit-claim §e- 用来管理退出领地 (不允许任何的玩家走出领地)"
      2 C+ j$ n4 ~' V
    • - "§a explosion §e- 用来管理爆炸 (TNT在任何位置爆炸。因暂时有BUG,无法防御地表上的爆炸)"9 c! j+ F/ X% F; R( u4 q" l
    • - "§a explosion-surface §e- 用来管理在地表或者上空的爆炸 (TNT在地面或者空中爆炸)"' l. ?[1 [" Z2 K: j
    • - "§a fire-spread §e- 用来管理火焰蔓延 (火在木头上的蔓延)"# u" b6 M( Y* }g7 p1 Z" p2 L. `
    • - "§a interact-block-primary §e- 用来管理同方块左键交互 (左键龙蛋)"
      7 f3 c4 t% C* M' B
    • - "§a interact-block-secondary §e- 用来管理同方块右键交互 (打开Pixelmon的个人电脑、ic2扳手拆方块)": }0 S7 u# k4 }- L) E$ o
    • - "§a interact-entity-primary §e- 用来管理同生物左键交互 (杀鸡)"
      $ R6 {( F$ U, [8 K
    • - "§a interact-entity-secondary §e- 用来管理同生物右键交互(喂鸡)"
      % s: r: {0 B+ E/ C' |3 f6 T" H
    • - "§a interact-inventory §e- 用来管理打开物品栏 (允许打开箱子)", z/ Q( V; U5 ~( w' {2 u
    • - "§a interact-inventory-click §e- 用来管理同物品栏的物品交互. (禁止合成)"9 f+ }2 E4 v5 F& }9 E1 c
    • - "§a interact-item-primary §e- 用来管理同物品进行左键交互 ()"
      ; {9 j0 l, c' a" V% A$ o2 d
    • - "§a interact-item-secondary §e- 用来管理同物品进行右键交互 (吃东西、使用模组工具、使用模组法杖)": ^/ k3 u2 t! T( D/ \' b& e
    • - "§a item-drop §e- 用来管理玩家丢弃物品 (玩家不能丢弃泥土方块)": a0 k3 g4 u/ l% G
    • - "§a item-pickup §e- 用来管理拾取被丢弃的物品 (玩家不能拾取被丢弃出来的泥土块)"
      1 ^; `0 g' ri4 g! ]% H$ H5 C+ @8 _7 I
    • - "§a item-spawn §e- 用来管理从方块或物品中生成物品 (例如Pixelmon的礼盒)"7 q' zmD* N7 @- ]
    • - "§a item-use §e- 用来管理使用物品 (玩家使用药水|末影珍珠|经验瓶)"
      8 r( T, D% Q{+ v* Y/ C( J( u. X
    • - "§a leaf_decay §e- 用来管理岩浆是否衰退(控制岩浆是否会消失)"4 ?, a( F3 Z- X$ D
    • - "§a liquid-flow §e- 用来管理液体流动 (控制水或者岩浆的流动)"
      . M1 I9 `1 O% z1 M; M* f5 M
    • - "§a portal-use §e- 用来管理使用传送门 (控制使用地狱传送门)"
      7 M: I: l$ FV' ^# j% f2 C2 {4 w% H
    • - "§a projectile-impact-block §e- 用来管理弹射物射击方块 (禁止用弓箭射击泥土块)"& G2 a0 ~Q* c3 @5 I9 {/ v
    • - "§a projectile-impact-entity §e- 用来管理弹射物伤害生物 (禁止用弓箭伤害动物)"
      0 z2 q% w* C. ]/ X1 M
    • - "-"
      : @- @# J2 V7 }5 d
    • - "§acf/set 编辑所在领地 Flag ,§ecfp/pset 编辑所在领地指定玩家 Flag ,§3cfg/gset 编辑所在领地指定用户组 Flag ,§ccfr 重置所在领地的 Flag 值"
      1 s5 A/ ?. @/ K# D& r+ o1 q
    • gpcfg:
      : {. t) r0 l& Y6 @) I( |
    • Title: "§bGP领地Flags帮助"$ W) D7 s?1 b. ]4 y) b0 E
    • Padding: "-"
      ) d+ @1 M8 [; C6 E( F
    • Page: 20
      5 [; c. |* U/ \8 D
    • Contents: 4 G9 h6 oC3 Z% ^! U
    • - "§7/gp gset ? §7/cfg ? §7/gp cfg ?"
      - t. T8 U7 F! I5 E8 f# a+ ?
    • - "§6请在后面按顺序添加参数: §c<组名> §c<Flags> §7<触发者> §c<目标> §c<布尔> §7[override]|§7[default] §7<原因>"
      " @# P' @& T6 s8 L' ^: ]; f2 Y
    • - "§c<组名> §e- 指定某个权限组的名字"
      + gd. x& A. g
    • - "§c<Flags> §a相关值的信息请查看下一页"
      ; r1 q/ m5 j) q
    • - "§7<触发者> §a指的是事件或者动作的触发者,例如§f minecraft:player §a。这一项为选填。"% S2 f3 e3 X5 h6 [
    • - "§c<目标> §a被影响的目标,例如 §fminecraft:dirt §a。使用 §fany §a或者 §fModid:any §a,指游戏所有东西或某个模组的所有东西。"9 @* u2 v' X2 u6 l
    • - "§c<布尔> §a在这里填 §ftrue §a或者 §ffalse §a,指允许或禁止这条 Flag §a,如果填 §f0 §a则移除这条 Flag 。") g+ Z! [1 }3 p7 D
    • - "§7[override] §a意思是会把此flag生效于所有同类的领地上,§7[default] §a意思是会把此 Flag 生效于所有新的同类领地上。这一项为选填。"; P0 h- Y1 o- P% g& |* ^
    • - "§7<原因> §a将会把禁止原因发送给触发相应事件的玩家。这一项为选填。"
      , M5 @$ ^# [& f. Og% \- ^8 r* ~
    • - "-"% a1 f3 H' i$ k. t& ^1 b/ ]
    • - "§7§lTips:", T1 a2 J1 i- c* s4 ~
    • - "§7你也可以将 gp gset 改写为 cfg。"
      1 I9 S* F# r9 y& F# _+ i% B
    • - "§7建议直接使用原生的 /cfg ,这样可以在输入 Flags 时使用 tab 检索功能。"/ l1 n" u7 n# y& J( s
    • - "§7参数里灰色部分是选填,而红色部分是必填。"
      ! p" x& h9 `$ sK6 k5 O4 [" w7 [
    • - "§7管理员可在非领地的地方使用此功能,可直接设置所在世界的 Flag 值,如果填了 [override] 则是设置整个服务器的 Flag 值。"
      ) ?6 K, t" e" [/ T2 i) J6 T1 X1 ]
    • - "-"7 a! q6 W: q. {6 Z2 a
    • - "§b下列为所有 Flag 值 §7(下方括号里的是例子)"
      2 a* B" _' L4 _% u' A4 V9 j8 K
    • - "§a block-break §e- 用来管理破坏方块(允许破坏泥土方块)". u3 Y8 U" {8 {, N, ?
    • - "§a block-place §e- 用了管理放置方块 (允许放置泥土方块)"$ k/ P/ K3 N* ]4 U9 v^; f
    • - "§a command-execute §e- 用来管理执行指令 (Doing /msg inside claim)"$ Q* q$ Q) |Y
    • - "§a command-execute-pvp §e- 用来管理战斗状态下执行指令 (是否可以在PVP状态下使用 /tp )"9 b5 h8 J6 S1 ^X0 J
    • - "§a enter-claim §e- 用来管理进入领地(不允许一个任意的玩家进入领地)"
      3 S! `) U% v- I9 s
    • - "§a collide-block §e- 用来管理同方块的碰触 (同砖块的碰触)"6 N9 [3 L( p. a2 ^1 \! w& i0 `
    • - "§a collide-entity §e- 用来管理同生物的碰触 (同一个野生米二碰触)"
      5 h3 O7 J" [e0 m
    • - "§a entity-damage §e- 用来管理来自生物的伤害判定 (僵尸攻击任意玩家)"
      + H' l: y$ D7 p- H/ o
    • - "§a entity-riding §e- 用来管理生物的骑乘 (骑马、坐船、坐矿车等等)"
      5 z; L5 h- @/ h
    • - "§a entity-spawn §e-用来控制生物的生成 (这包含任意的生成方式,包含区块的自然生成怪物)"& x% F- Z7 N" a1 H' d
    • - "§a entity-teleport-from §e- 用来管理生物传送出领地 (一个末影人从领地传送出去)"
      3 i) T2 R0 s4 H9 g1 r8 S& V
    • - "§a entity-teleport-to §e- 用来管理生物传送到领地 (一个末影人传送到领地内)"
      + O5 w- M+ X8 ^5 p% J
    • - "§a exit-claim §e- 用来管理退出领地 (不允许任何的玩家走出领地)"; D9 [0 yh6 W. k
    • - "§a explosion §e- 用来管理爆炸 (TNT在任何位置爆炸。因暂时有BUG,无法防御地表上的爆炸)"1 m. K) Z3 tk8 }
    • - "§a explosion-surface §e- 用来管理在地表或者上空的爆炸 (TNT在地面或者空中爆炸)"- K$ m4 z) Nc+ j
    • - "§a fire-spread §e- 用来管理火焰蔓延 (火在木头上的蔓延)"
      1 x8 z, l: b# c+ j
    • - "§a interact-block-primary §e- 用来管理同方块左键交互 (左键龙蛋)"* `$ m, Z9 _9 h' d6 f
    • - "§a interact-block-secondary §e- 用来管理同方块右键交互 (打开Pixelmon的个人电脑、ic2扳手拆方块)"
      4 D( \/ dh0 a% O# L# n6 ]5 M
    • - "§a interact-entity-primary §e- 用来管理同生物左键交互 (杀鸡)"
      # o4 K4 Q; R5 [# i! V, {
    • - "§a interact-entity-secondary §e- 用来管理同生物右键交互(喂鸡)"
      ' ?! t7 p' a5 ]+ ^0 w$ I
    • - "§a interact-inventory §e- 用来管理打开物品栏 (允许打开箱子)"8 E; i. j& R2 g$ W2 d
    • - "§a interact-inventory-click §e- 用来管理同物品栏的物品交互. (禁止合成)"$ m; }* }+ R0 D: P3 D
    • - "§a interact-item-primary §e- 用来管理同物品进行左键交互 ()"' ir+ u4 z/ w9 u! A; x' b5 H% _
    • - "§a interact-item-secondary §e- 用来管理同物品进行右键交互 (吃东西、使用模组工具、使用模组法杖)"
      0 ~; c! d, P* m
    • - "§a item-drop §e- 用来管理玩家丢弃物品 (玩家不能丢弃泥土方块)"
      + P8 s% C5 y3 C0 w
    • - "§a item-pickup §e- 用来管理拾取被丢弃的物品 (玩家不能拾取被丢弃出来的泥土块)"
      & a8 }f, FW1 `# g$ M! w% b
    • - "§a item-spawn §e- 用来管理从方块或物品中生成物品 (例如Pixelmon的礼盒)"
      ; j5 m+ w( L3 @
    • - "§a item-use §e- 用来管理使用物品 (玩家使用药水|末影珍珠|经验瓶)"
      " M* Y$ p7 J; tc
    • - "§a leaf_decay §e- 用来管理岩浆是否衰退(控制岩浆是否会消失)"( Q" y0 s5 |3 T( A$ L
    • - "§a liquid-flow §e- 用来管理液体流动 (控制水或者岩浆的流动)"1 Y6 z: S- p7 O% hm4 g7 ^' g- }( z
    • - "§a portal-use §e- 用来管理使用传送门 (控制使用地狱传送门)") O7 x9 F7 N$ a6 T3 ]) _+ V/ m9 ?; r
    • - "§a projectile-impact-block §e- 用来管理弹射物射击方块 (禁止用弓箭射击泥土块)": j# B$ A- U2 m6 f2 ~1 k
    • - "§a projectile-impact-entity §e- 用来管理弹射物伤害生物 (禁止用弓箭伤害动物)"
      3 i# m& Z/ b7 i0 ]# o$ z5 i
    • - "-"
      . \4 R* F* M2 M
    • - "§acf/set 编辑所在领地 Flag ,§ecfp/pset 编辑所在领地指定玩家 Flag ,§3cfg/gset 编辑所在领地指定用户组 Flag ,§ccfr 重置所在领地的 Flag 值"& x) C, l) Y* b, ?* |6 t2 K3 Y
    • gptrust:
      , ?8 I" ?& G]5 y' q
    • Title: "§bGP领地信任系统帮助"
      # g! H& l7 K' [* u/ H5 K
    • Padding: "-"
      8 {5 ]7 \6 Y6 W, e* O0 b
    • Page: 159 C- X9 Z3 }" N( ?
    • Contents: : Z6 y+ y7 ?. Z9 @
    • - "§7/gp ?"; n# a+ A8 B6 y. J( D" F
    • - "§a /gp at <玩家名>§e- 授予玩家进入你的领地和与床进行交互的权限"
      $ h5 c4 D8 K1 r& J( y' v/ \
    • - "§a /gp ct <玩家名>§e- 授予玩家进入你的领地和与容器、庄稼、动物、床、按钮和杠杆进行交互的权限"
      4 l; [7 ]* w& S. _: M
    • - "§a /gp pt <玩家名>§e- 授予玩家授予他人权限的权限"/ ?; o- V3 e9 Z
    • - "§a /gp t <玩家名>§e- 授予玩家当前领地的最高使用权限"
      / Y+ ~* f% @1 R
    • - "§a /gp ut <玩家名>§e- 将指定玩家从你领地的trust列表中移除"
      * F' y8 `0 v4 j# }0 _& E" t
    • - "§a /gp ta <玩家名>§e- 授予玩家你所有领地的最高使用权限"
      # c9 d' v8 w* Q) \( }7 x0 O
    • - "§a /gp uta <玩家名>§e- 将指定玩家从你所有领地的trust列表中移除"2 w, C) w. {3 ~f1 C( P/ R1 @
    • - "§a /gp tlist§e- 列出当前领地的trust授权玩家"' U* I* q& V6 F: b# C% H0 I) q: k
    • - "§7§lTips:"/ z: F0 en0 [9 Z3 a; V% _1 ~
    • - "§7你也可以将上列每条命令开头的 gp 去除掉"
      1 x4 n& ^1 o/ |
    • - "§7<玩家名> 处输入 §npublic§7 即信任所有人", |1 K! C7 f! p! a3 Y
    • a2:
      - R5 L% n6 d0 }# c' \& Y9 U. V
    • Title: "标题"# m! a' L0 l) _5 ?5 C+ e2 K
    • Padding: "-": s! u3 [. [4 L8 X; ], D
    • Page: 1" c; S! j/ C& n1 [; b" T
    • Contents:
      5 o- [% L; P* f
    • - "测试"
      & |; l# R3 x% `% k" n. |7 C
    • - "测试2"

M/ b- h3 [! u) v以及自定义的命令:1 L- o/ T; y$ j/ N' a
https://paste.ubuntu.com/p/wCgvyNmk5P/ (太长了,所以用 paste 给出)( k% R5 n9 ~1 q
7 c- D# h0 H& A( V+ ~% M3 f9 `
关于菜单的页面的配置文件会在下面给出
4 s& @) J" X& F2 w3 S+ U5 v" k+ n4 x1 u$ z

3 ?) J( K$ b% O; z3 U7 @+ p, e2 p9 B4 @关于配置文件里的选项,以及开放给玩家使用的 Flags 值、默认值等设定,建议前往文档查看。
a- J^, a2 |" M. {, \a0 l0 _

- t& E- v& h& _6 T
菜单插件
插件名:VirtualChest文档地址(中文):http://www.mcbbs.net/thread-779618-1-1.html配置文件位置:根目录\config\virtualchest\menu这款菜单插件功能十分强大,你甚至可以用它来做一些更高级的东西,例如服务器商店、领地辅助管理面板等等……本服务端为广大腐竹们配备了一系列的示例菜单以及辅助系统。样式请见下图:

6 G0 H+ P9 L$ g8 j

* m8 ]5 ~; d% c. w
6 Q* l) Y3 F2 D

+ t* o3 X# u. |( v) W& d
9 |) _; I+ h" K4 t; b0 N

1 i4 Z3 b% p( Z2 L) X& e并且这些菜单在打开时都会有独特的音效,以及每个按键在按下去时都会发出声音,这些都可以自定义的。3 T; j8 |( B# ^! e* Z
本服务端自带所有菜单的原文件下载:(无需另外下载,仅供给未下载本服务端的用户学习)
, D9 _; E' f% Y9 g$ p如何禁止玩家打开指定菜单?使用命令:/lp user 玩家名字 permission set virtualchest.open.self.菜单名 false
! `( I1 W5 h+ D+ @! g" k1 o- B添加新菜单文件或修改完菜单后如何让他重新读取?使用命令:/vc reload

' i# j% a' G( n
物品禁用插件
* d% m3 P$ Y: e1 j@' g
插件名:EpicBanItem8 P# H# h[5 I" e! c' E" {
文档地址(中文):https://euonmyoji.github.io/EpicBanItem---Sponge/#/zh/' G; E& Z& H7 A! q) q
配置文件位置:根目录\config\epicbanitem5 Q1 K7 ~3 H3 U
这是一款十分强大的物品封禁插件,他所提供的功能可以满足大部分腐竹所需。
& U. AA$ Y# b/ _- V: H; \# c: m: Q4 r2 e8 ~( U
! }& o% Y0 v' D
基本用法:手里拿着要封禁的物品,输入 /ebi create 名字名字随便取,但是只能数字或英文, E0 n, f( y; D) ~. I' B
当出现下图样式时,你已经对手上的物品完成封禁了。
7 \4 G7 c. Z7 C

% k& [* W# m; f7 S6 v4 L" s" ^# X' y, A

! p3 ^9 u8 a$ N8 L默认情况下是只要玩家对已封禁的物品进行交互。就会立刻消失。3 v, f: L. i1 t1 N

, Q) D2 V7 U1 U. [# W& E- w% G, x$ J
如果不想然被封禁的东西消失怎么办?
( D2 A% ~2 L+ J" ~. H3 W& u! \3 o8 H- N点击上图所示的 “留空” 按钮,然后点击红色的 “保存” 即可
2 \5 m* V$ E* B/ T! jy$ t如果按上述所操作没反应怎么办?
0 R4 {& a8 B) @那可能是你退出了编辑模式,只用名 /ebi edit 名字 重新进入编辑模式即可。其余更复杂的功能操作请点击插件名进入原贴查看(里头有视频讲解)

4 l7 ^( _5 p: d' }
防压测插件
插件名:AntiAttackRL配置文件位置:根目录\config\AntiAttack本服务端配备了准确性较高的防压测插件 AATRL 。可以有效的防御各种压测软件攻击服务器。同时用户可以自由开关防御模块以及修改防御阈值。详细的修改方式请点击名字进入搬运贴查看。配置文件:

代码:

  1. Versioning: 310! Ny+ B) ~: d" ~. O
  2. HandShakeLimitor:
    / r4 w* B3 b9 B+ I
  3. enable: true
    0 wL* O/ x7 E8 B
  4. PerIPSecondLimit: 3, p& l! {$ X' _+ R
  5. PacketCheck:
    - B6 M" ]$ y. J% E" A/ r- {% j' o6 W
  6. AntiFastPacketAttack:' V5 Z0 |_/ P
  7.     KickMessage: §c你是有可能是压测机器人!请重新登录!§b[PCAFPA]
    / D5 B" c4 C4 V2 X" m& m$ N$ o
  8.     enable: true- z- h( d. j5 _7 ~
  9.     PerTypeSecondLimit: 75
    - N( g0 A3 S3 a2 p9 Q" u" w
  10.     PerTypeSecondKick: 150" D3 p8 }9 L" R& u/ b4 [" I1 D9 |
  11. AntiAttack:2 T0 ]$ ?$ g- [5 E4 d5 }
  12. PluginPrefix: §a[防压测系统]
    $ O1 F( s+ G* ?9 p! z
  13. Boardcast: false
    $ W0 y3 T' e& e+ p- ]5 E6 F
  14. AutoUpdate: true
    0 `8 {" R7 _; e8 bh& u/ n6 @
  15. AntiKickAttack:
    - Q1 U9 `7 Y& u- W( g
  16. DenyMessage: §c有一个同名玩家已经在线了!§b[AKA]" B; i4 C3 T: |; E+ W) j$ [_' W0 ~
  17. enable: true
    / j, e0 C% Q- l0 M5 R% q
  18. CountryCheck:P8 F+ e3 a6 [6 GJ1 g- x
  19. AllowCountrys:
    8 b8 x+ R+ ~' LE8 N" c
  20. - CN' Y. x0 ?. {, |
  21. - UNKNOWN
    % }4 z6 K5 b0 N0 r; G
  22. CountLimit: 15 M6 y/ q" t, ?# y
  23. enable: true9 y# x8 \/ j5 m0 T4 c
  24. DenyMessage: |-
    3 [7 ~% K/ j0 H+ K' n0 H' G
  25.     §c请不要使用VPN或者代理IP登录游戏!§b[CC]
    3 p6 q0 {: W. ~6 ~1 ?/ c
  26.     §b服务器禁止非国内IP登入服务器!- K! r* g; X1 O7 M, T4 q
  27. CountPeriod: 10
    ( C* `6 s6 G' N" `
  28. AntiPingAttack:4 g) q0 m/ I, `$ M8 @: {
  29. PerIPInterval: 500
    0 M' y# N3 C: Z0 l
  30. TotalInterval: 50+ P1 R7 [$ G8 \" p' d9 M( i' n0 N
  31. enable: true1 ^t- q, b! ~$ A9 ?' X4 v2 L
  32. AntiFastJoin:
    5 I+ M) I3 k5 d- W+ o+ P
  33. Interval: 4000
    - N5 \4 k! I6 v; D, n4 C
  34. DenyMessage: §c你加入过于频繁了!请稍等几秒!§b[AFJ]
    + I6 i# ?4 h* M4 C
  35. enable: true1 h; K4 u( T$ s% [) T: _
  36. RestrictMode:
    * Z5 ]2 b" E, n3 K8 S! U4 {* {
  37. DenyMessage: §c服务器遭到集群压测,请稍等再登录!§b[RM]" \. R8 n& d+ L6 y
  38. CountPeriod: 5
    ( J$ O7 f9 W" y2 f( k
  39. enable: true* j* v5 {+ D: r! C! yG
  40. CountLimit: 16 C& ]' Y( D9 j% _7 O1 L% K
  41. AntiTabCompleteAttack:
    6 \, J! n5 E* D* u: g, v4 M
  42. PerIPInterval: 1000
    4 G% o" i, E$ ?6 F! v2 u7 V
  43. enable: true1 g6 S# X) @$ v# X0 m& \# \
  44. TotalInterval: 100
    % v* R1 F. B2 ?' D$ b% t, Q: r
  45. AntiMOTDAttack:
    " ?* @! E. v2 b) ]. N, ~2 me$ z5 c
  46. enable: true
    7 Id9 @0 C# h$ X1 T9 n$ ^
  47. PerIP5sLimit: 10. S1 @# Z, C7 WV
  48. Total5sLimit: 100

{9 U8 r- i" @2 B/ b% |) c
监测系统

$ y$ T* T" D4 F8 A: t! G1 {% r 插件名:Spark文档地址(英文):https://github.com/lucko/spark/wiki/此插件的作用是用于监测腐竹们心爱的服务器的健康状态。当你服务器发生卡顿而找不到原因时,你可以使用此插件检测服务器并找出问题所在。使用方法:报告出服务器的整体健康状态:+ I+ ?9 k6 m4 f8 x0 J# P
使用命令:/spark healthreport
. u$ b: ~/ N0 ~* o

& ~4 e* U+ C& y6 |2 f2 i
5 v( R) b( M2 p& C' j
+ o# V1 W" Op( a9 K开启监测器:
1 o, n0 y" E! T8 K8 W* A使用命令:/spark sampler, T4 n4 i- h9 l" U( u
`$ \$ V. r; B2 b( [
4 E2 L* g6 N" b+ C& d1 M
+ b/ P! V1 x" Ng& a2 G2 z2 y
停止监测器并给出报告:
" b0 J' X) R9 D% G8 D, K3 }& r请在开启监测后等待大约10分钟再停止生成报告使用命令:/spark sampler --stop3 T& k& c6 f; ]' O
3 X0 {+ i& w8 ~8 Z; l4 V

0 d, _8 f1 v1 _3 ]: C) j; L: m+ _, _+ Rk9 V7 f) e+ T
用鼠标点击他给出的地址。
7 h$ S) Y# Z% _j

# P$ ]1 Yf) L. u: su+ ~4 a, L* t. `0 }) @3 k2 Z
& p7 Y0 V4 ]8 @2 v
从下图中可以看出,目前服务器非常健康,几乎不可能卡顿(sleep 值越大代表空闲时间越多)# f# E. `4 ~, \2 R

! q& o* q5 q$ t( Dl" h
$ R, D4 U4 q9 m( w2 t" O( c% T- b! K3 l5 v* P( C! @3 [# P+ k
若你的 sleep 值接近 0% 了则需要点开上面的详细报告进行检查。
) Y0 l9 M, C! b0 m如果你看不懂报告,可以把报告链接以回帖的方式发过来,我可以尝试帮你找到问题所在。
; I6 o" _( A{# t4 F. {8 k当然这些报告仅在服务器配置没问题但 TPS 依然低下的情况下才准确有效。
( p! ~$ x$ G' ^9 G
0 [0 x, h; B1 R* h+ ~: ~9 Y2 r
?" X4 I$ I: c; N查看历史报告:
: b2 zI, G- P9 @! ?9 Q- ~' n使用命令:/spark activity
- E- T2 ^6 m2 o$ X! F5 q* f" n

" n$ H3 P; _' T0 s. Q$ R" D, D
称号插件
. T+ \' g. Z9 a$ n2 [/ _) p
插件名:NewHonor配置文件位置:根目录\config\newhonor这是 Sponge 目前来讲最好用的头衔插件,他可以让腐竹们自定义头衔并配合其他插件自动给予指定玩家或指定权限组头衔。如果你深入了解会发现甚至可以给指定头衔加上特定的BUFF以及粒子效果。基本用法:第一步,使用命令 /honor admin add suiyi &amp;b[头衔内容]第二部,使用命令 /honor admin give 玩家名 suiyi
! Y8 E. {* u9 w; b& G如果你不想用命令,你还可以通过修改配置文件来给予头衔。

代码:

  1. admin {
    ; p( f4 N* [$ g5 P7 D+ V& q9 O
  2.     value="&c[管理]"$ E8 ]k5 q! N/ L?
  3. }6 i: o, ]0 g, G4 r) p3 i
  4. default {
    , e( s7 b# O; ]: r$ Y
  5.     value="&a[玩家]"5 b% QP9 t) L2 A
  6. }
    , Q5 c8 V( {1 P+ ^- l7 ?
记得改完之后需要输入 /honor reload
. T8 y9 S7 T/ }6 G$ e, P( I如果你不了解 hocon 格式的配置文件,还是建议你通过命令来修改头衔。如果你想要更高端的操作,请点击插件名进入原贴查看详细教程。
. S! ^( a1 M; X* _% ]
计分板插件
插件名:YYSScoreboard配置文件位置:根目录\config\yysscoreboard使用此插件可以修改右侧记分板以及 TAB 的样式。如果想自己重新修改字样,编辑 scoreboard.conf 文件即可。

代码:

  1. scoreboards {) I+ t7 }8 N( `2 o& j' [7 Z
  2.     main {
    / D3 [3 \+ v; [! I- q( a; w
  3.   example {! {/ N* d$ X- k5 T2 O8 F
  4.    delay=40
    & E! J( h- R: \+ q. c: ^0 c+ u
  5.    lines=[0 {% a6 I6 h3 N" b
  6.     "&b昵称: %player_displayname%",; N1 `9 ND* u& R. S$ `+ ~: ~
  7.     "&3世界: {worldalias}",+ {, j3 I: H8 r. B8 k3 ]! _
  8.     "&6金币: %economy_balance%",
    0 f8 ?" K2 d- h' g3 J. v
  9.     "&e延迟: %player_ping%",; X1 \# K# {, l' T! j' r
  10.     "&a在线: %server_online%/%server_max_players%",
    5 ?4 w( X) t2 e4 f) O0 i
  11.     "&d内存: %server_ram_used%/%server_ram_max%",5 n6 G. B' aO; {
  12.     "&7[T]主菜单"6 D0 P. X1 h# g% K: e) \$ A
  13.    ]' o% c0 J; I2 `
  14.    title="&b--&e&l信息面板&b--"
    , a( U3 g1 I( ?7 X; G- B
  15.   }
    `6 E4 M+ ~9 v- T* d! z
  16.   example2 {
    ! A7 j% Z0 ?" l9 e/ G5 `7 m
  17.    delay=40
    / |" `& W& Z; X6 s. q
  18.    lines=[
    : K5 @* N$ p. w2 {8 N
  19.     "&b昵称: %player_displayname%",1 Y7 d# m( R3 L5 a) |
  20.     "&3世界: {worldalias}",
    8 D$ C% t! b8 j4 |9 a7 R
  21.     "&6金币: %economy_balance%",: c+ Y; @& A8 T8 a. A
  22.     "&e延迟: %player_ping%",
    " x/ X/ \& ^: V" v
  23.     "&a在线: %server_online%/%server_max_players%",( v0 ~* S& |1 `; X8 y/ z9 J
  24.     "&d内存: %server_ram_used%/%server_ram_max%",3 q1 p7 p2 c4 py) F, ef
  25.     "&7[V]计分板"5 }( B# {" e1 \) @
  26.    ]0 G- r" w, F% g
  27.    title="&a--&e&l信息面板&a--": R8 Q& u( J8 J3 {
  28.   }8 `& Y, J5 ]1 ~1 D& k; E
  29.     }
    . E6 E6 z2 V5 S1 s* ]0 Q' ~
  30. }# m6 t3 ?j. ^0 F( v
  31. tabs {" V" @* F4 @9 z/ y' }6 B
  32.     main {$ g) W" Q1 M" w' f/ X+ q! `
  33.   "1" {
    - n1 b3 \# f4 k8 i
  34.    delay=20
    ( e$ V; D5 q, r/ c, Z* X, U+ u' [- s
  35.    footer="&7&m-------------------------\n&r&a○&l&2延迟: &e%player_ping% &r&l| &6&lTPS: &a%server_tps% \n&b—— &a当前在线: &9%server_online% &b——"
    ! oP# k" n- {c# S
  36.    header="&e★&f☆ &b&l欢迎来到 &a&lMinecraft服 &f☆&e★\n&l&c>&l&4>&l&d%player_name%&l&4<&l&c<\n&a&l称号: &b%newhonor%\n &6当前时间: &f%time%\n&7&m+-----------------------+"
    ' A9 X) k6 e4 U3 I4 H/ ~) {
  37.    prefix="%newhonor%"9 y1 H, {$ f/ ^
  38.    suffix=""
    ; w0 tq; _0 s& l% q
  39.   }. n4 O" b! U& ^- S5 c
  40.   "2" {8 X: Z2 B5 \: t. F5 ?
  41.    delay=20' i' g6 x' |# i/ K6 u$ Y; E8 I
  42.    footer="&7&m-------------------------\n&r&a●&l&2延迟: &e%player_ping% &r&l| &6&lTPS: &a%server_tps% \n&3—— &a当前在线: &9%server_online% &3——"" s/ U9 n, }9 B, p% T' _7 _
  43.    header="&f☆&e★ &b&l欢迎来到 &a&lMinecraft服 &e★&f☆\n&l&4>&l&c>&l&d%player_name%&l&c<&l&4<\n&a&l称号: &b%newhonor%\n &6当前时间: &f&n%time%\n&7&m+-----------------------+"
    5 d+ n5 h) t( u
  44.    prefix="%newhonor%"
    s$ ?+ B( A" tN+ G6 w
  45.    suffix=""
    & {" Q0 `+ ?1 p
  46.   }7 Z) ~) _2 n. L# D. zp9 |
  47.     }' j/ ]9 H+ ^; n$ K1 W) T8 c
  48. }
    % _& c2 Y% a4 a0 I$ K' K+ p! F) R- n
  49. version=1
    * f+ Y; Z# U. N+ I% G, _

; u/ N9 A2 j0 W
扫地插件

) c4 W, ]; q1 ]1 W1 p 插件名:SoulClear配置文件位置:根目录\config\soulclear此插件是海绵端用的一款地面垃圾清理插件,可自定义清理间隔、消息、黑名单等等……

代码:

  1. #清理地上掉落物
    ; Z6 ^2 {) T# s9 P. m2 |$ u/ n1 g
  2. clearItem:
    % x9 _, j/ B- D6 q7 F! B9 x$ _3 L. D
  3. #清理间隔单位:分/ s5 K# E8 l$ Y' z8 a8 d% f
  4. interval: 10
    $ B* S3 I( E- E, g0 D5 t
  5. #清理警告间隔单位:秒
    0 g9 e) H0 N8 j. K. f) s( |2 N
  6. warning:. a" }7 W# K& R: b- h. `
  7.     - 60" \: @( v( A5 H( p+ c) A: N7 R
  8.     - 30
    / t: A- F9 v5 j+ ~1 ~$ K' e
  9.     - 10
    4 e6 U. C, e' H. B
  10. #运行的世界; H1 G! W4 z& z6 W$ G$ F/ P" ~
  11. #all 代表所有世界/ L5 H8 B' ^" W3 J, f/ |
  12. worlds:9 Y+ [+ m8 P, E) d7 O, \: f) H
  13.     - "all"# f+ j2 P* t) l" wd4 s& W3 T
  14. #是否清理带有显示名或者标签的物品
    ; E+ v1 X, i) s; o
  15. isClearSpecialItems: false
    4 ^7 kF! p+ D1 Q3 `: B% n
  16. #清理黑名单7 B4 q- u+ R! B! o& B
  17. #前缀
    1 g- u0 S( s# A* K" ]7 l4 Y$ @2 F
  18. #[all]代表ID全称
    / X8 |0 ?/ L) c2 F. o8 E1 Z& t& a
  19. #[contains]代表所有包含的ID/ S) ~$ [2 U. j; N. S
  20. blacklist:7 ~' u. {; x. Y$ rU
  21.     - "[all]minecraft:quartz_block"
    2 L7 S) f& F( T1 ?7 @8 G( W
  22.     - "minecraft:emerald"' H1 s' \2 XS" d
  23.     - "[contains]iron"
    % h% s# y@4 ?" M* w
  24.     - "[contains]diamond"& R. o0 C; P$ j4 C. D' o
  25.     - "[contains]golden"- }; ]7 Y& N2 J/ D, g% W3 z5 h

  26. 7 N4 p/ q2 Y; A/ L

  27. - X6 vm: K, p, \
  28. #清理敌对生物
    9 W7 m8 s7 m7 o1 M1 ~
  29. clearHostile:- lG* c3 V1 c0 R3 `
  30. #检测间隔单位:分
    3 A+ h* {) s) |. z; v; P
  31. interval: 0
    . Y5 h. l8 j; X6 A
  32. #需要超过这个数量才进行清除
    - g- r0 |( }3 J6 \
  33. maxLimit: 1000; q0 W1 `" jF# `
  34. #运行的世界
    ) ]$ I6 S2 |4 O# O. j, X" j
  35. #all 代表所有世界( ?7 Z( ]4 O2 j. C. ]6 w
  36. worlds:
    * M* EV' j) w- n: m2 p
  37.     - "all"
    4 }7 C" ]& P# H( x8 Q
  38. #清理黑名单6 v' _! \Z/ jg, o7 E
  39. #[all]代表ID全称
    ; a9 K2 d$ C( p" i, z2 g
  40. #[contains]代表所有包含的ID) G, x1 Q' K% T( {# e2 Z$ q* m- z) r+ x
  41. blacklist:
    - F) L2 e2 j) m4 @n/ HZ# u0 J
  42.     - "[all]minecraft:witch"
    ! o7 S1 z5 }1 S0 N7 J5 y
  43.     - "[all]minecraft:skeleton". C, F/ ^+ Y; n6 tV
  44.     - "[contains]creeper"
    6 Z9 B; e+ |+ i. O

  45. 3 u# g; X& D' `7 l7 W& j6 y: h
  46. #清理高频红石(暂未做好)
    , o8 p5 F8 C: F5 j8 V& b
  47. clearRedstone:( z" e?5 f/ B$ x5 f, J
  48. #检测间隔单位:秒0 B8 p5 yK% z1 k6 j. Q3 I4 U
  49. interval: 20
    % y' P' s- r( r( H
  50. #每次间隔内同红石刷新次数" ?9 g2 F3 n, x4 ~( W
  51. maxChange: 12- f* V& yd3 R' P$ y
  52. ; `! i$ |% ]6 w0 u. W
  53. #回购垃圾(需要前置)* t* S4 {* t- a5 r$ {- Q
  54. repo:. J0 _1 e$ C" f3 L! i6 G& w
  55. #每项物品所需价格
    * a' S; {9 e\! l
  56. price: 100: |7 y0 T* m( MS% k
  57. #回购界面名称
    9 P3 J/ \& r" t' {: e) N0 w) U
  58. title: "&2&l回购垃圾", ^5 l7 I# z' ]/ T. g4 O8 L) X
  59. #回购物品Lore最下方的信息   \n表示换行
    / v- U9 R6 W, `7 c- u( S! I
  60. tailLore:
    $ p6 \6 v$ X! ]$ C4 M/ z* j
  61.     - ""0 A- g# I* c0 R+ B`- S3 n" L) z
  62.     - ""
    ' m* S" T; x$ v" U
  63.     - "&b回购价格:&e%price%"

* ~! v# @5 m- Fm4 u. W8 l8 ]这里提一下,清理掉落物的黑名单是指不清理的项目,可以指定某个模组的所有物品
$ Z; Y$ @. @5 z) L例如我想禁止他清理拔刀剑模组的所有物品,先找到拔刀剑的物品ID- I, T. v7 }- i( {

1 E+ r1 i" G5 }' Du
+ H" c% O/ b& @8 k) l: j0 ~: f+ b5 N4 [8 T, N
接着可以在配置文件里这样写,即可放置拔刀剑模组的掉落物被插件清理走4 i! O( C0 L1 E
/ t$ A7 D- l" z4 a$ G5 {`
2 O4 j# W4 C/ B' P% K7 }

$ _9 R7 }! g# y; p保存配置后输入 /soulclear reload 重载插件即可
7 f' J2 P8 u7 d% h$ k7 `$ D接着可以输入 /soulclear clearItem 立即清理地面物品来测试一下# o, v, ^! K6 S+ L5 x: e" S8 [4 i

3 W% S* ^1 a+ L" i; D& E
全息插件
插件名:Holograms无配置文件全息插件大家都应该很清楚,用来给指定位置创建一段浮空的文字。原理是用盔甲架实现的。
3 ?2 Z2 X1 ^9 |7 S+ NK5 d+ I$ M7 T) x) B
3 \3 T) GB# @8 t
如何创建全息文本?; ^1 k6 x" m1 T& N3 H+ O
使用命令:/holograms create &amp;a这里是海绵端
' n( Z9 O@% S4 R$ x. ?3 Z7 f$ E: D4 `) K6 g

# }" @* c# m& T- D* Y^如何创建多行全息文本?
, L; ~( Q( T: [7 y% A使用命令:/holograms cml 0.3 &amp;a这里是第一行%&amp;b这里是第二行%&amp;c这里是第三行0 a1 g- m1 j% `8 m4 }% B) |0 ^

% z0 [: ~9 r. ^8 ]1 ^- j( D: B; r: S
如何删除全息文本?
2 T# h, B% ^8 g; Y4 @使用命令:/holograms 打开管理面板,点 DEL 即可删除。
( Z5 d4 ]8 @1 i: y
' `' ff' ?1 C3 C) D& l( p
6 nA4 u" O9 A8 ?! z* k0 g关于其他功能的用法请点击插件名进入搬运贴查看详细教程。

. w6 ^" ^% {. E8 g; E( R由于帖子是赶工完成的,所以……
1 b0 r+ c& n) Y6 O" o( n3 Y未完,待续……' K/ o- I& O' k- V
& V5 p; J+ q* e" J; y
' N0 l" y5 e2 I6 e. ^+ S$ \