[{"data":1,"prerenderedAt":1655},["ShallowReactive",2],{"navigation_docs":3,"-snow-welcome-getting-started":102,"-snow-welcome-getting-started-surround":1650},[4,65,78,90],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":64},"SnowyGems","i-lucide-gem","\u002Fsnowygems","1.snowygems",[10,15,20,25,29,34,39,44,49,54,59],{"title":11,"path":12,"stem":13,"icon":14},"安装与快速上手","\u002Fsnowygems\u002Fgetting-started","1.snowygems\u002F1.getting-started","i-lucide-rocket",{"title":16,"path":17,"stem":18,"icon":19},"版本更新与公告","\u002Fsnowygems\u002Fupdate","1.snowygems\u002F10.update","i-lucide-bell-ring",{"title":21,"path":22,"stem":23,"icon":24},"更新日志","\u002Fsnowygems\u002Fchangelog","1.snowygems\u002F11.changelog","i-lucide-history",{"title":26,"path":27,"stem":28,"icon":6},"宝石配置","\u002Fsnowygems\u002Fgems","1.snowygems\u002F2.gems",{"title":30,"path":31,"stem":32,"icon":33},"技能与 BUFF","\u002Fsnowygems\u002Fskills","1.snowygems\u002F3.skills","i-lucide-sparkles",{"title":35,"path":36,"stem":37,"icon":38},"菜单配置","\u002Fsnowygems\u002Fmenus","1.snowygems\u002F4.menus","i-lucide-layout-grid",{"title":40,"path":41,"stem":42,"icon":43},"多版本兼容","\u002Fsnowygems\u002Fcompat","1.snowygems\u002F5.compat","i-lucide-git-compare",{"title":45,"path":46,"stem":47,"icon":48},"排错与调试","\u002Fsnowygems\u002Ftroubleshooting","1.snowygems\u002F6.troubleshooting","i-lucide-wrench",{"title":50,"path":51,"stem":52,"icon":53},"汉化与文案自定义","\u002Fsnowygems\u002Flanguage","1.snowygems\u002F7.language","i-lucide-languages",{"title":55,"path":56,"stem":57,"icon":58},"查看与拆卸宝石","\u002Fsnowygems\u002Fdismantle","1.snowygems\u002F8.dismantle","i-lucide-unplug",{"title":60,"path":61,"stem":62,"icon":63},"权限节点","\u002Fsnowygems\u002Fpermissions","1.snowygems\u002F9.permissions","i-lucide-shield-check",false,{"title":66,"path":67,"stem":68,"children":69,"page":64},"Snow Welcome","\u002Fsnow-welcome","2.snow-welcome",[70,75],{"title":71,"path":72,"stem":73,"icon":74},"安装与配置","\u002Fsnow-welcome\u002Fgetting-started","2.snow-welcome\u002F1.getting-started","i-lucide-hand-heart",{"title":21,"path":76,"stem":77,"icon":24},"\u002Fsnow-welcome\u002Fchangelog","2.snow-welcome\u002F2.changelog",{"title":79,"path":80,"stem":81,"children":82,"page":64},"Snow Enchantsp","\u002Fsnow-enchantsp","3.snow-enchantsp",[83,87],{"title":71,"path":84,"stem":85,"icon":86},"\u002Fsnow-enchantsp\u002Fgetting-started","3.snow-enchantsp\u002F1.getting-started","i-lucide-scissors",{"title":21,"path":88,"stem":89,"icon":24},"\u002Fsnow-enchantsp\u002Fchangelog","3.snow-enchantsp\u002F2.changelog",{"title":91,"path":92,"stem":93,"children":94,"page":64},"Kbbstoper","\u002Fkbbstoper","4.kbbstoper",[95,99],{"title":71,"path":96,"stem":97,"icon":98},"\u002Fkbbstoper\u002Fgetting-started","4.kbbstoper\u002F1.getting-started","i-lucide-megaphone",{"title":21,"path":100,"stem":101,"icon":24},"\u002Fkbbstoper\u002Fchangelog","4.kbbstoper\u002F2.changelog",{"id":103,"title":71,"body":104,"description":1641,"extension":1642,"links":1643,"meta":1644,"navigation":1645,"path":72,"seo":1646,"stem":73,"__hash__":1649},"docs\u002F2.snow-welcome\u002F1.getting-started.md",{"type":105,"value":106,"toc":1621},"minimark",[107,112,121,131,134,138,209,233,235,238,261,264,274,276,279,335,337,341,680,809,838,840,843,846,855,872,875,884,886,889,896,900,961,976,1013,1031,1051,1101,1105,1172,1179,1211,1236,1239,1241,1244,1275,1286,1293,1295,1299,1352,1403,1406,1418,1437,1439,1442,1506,1508,1511,1516,1538,1543,1552,1557,1563,1568,1571,1604,1609,1617],[108,109,111],"h1",{"id":110},"snow-welcome","Snow-Welcome",[113,114,115,116,120],"p",{},"新玩家第一次进服时全服广播一条带点击按钮的欢迎消息，其他玩家点击（或输入 ",[117,118,119],"code",{},"\u002Fwelcome \u003C玩家名>","）来欢迎他，欢迎者获得奖励。",[122,123,125,126,130],"alert",{"icon":124},"i-lucide-info","本手册基于插件当前源码整理，配置字段均以代码实际读取的为准。当前版本 ",[127,128,129],"strong",{},"1.0.0","。",[132,133],"hr",{},[135,136,137],"h2",{"id":137},"环境要求",[139,140,141,154],"table",{},[142,143,144],"thead",{},[145,146,147,151],"tr",{},[148,149,150],"th",{},"项目",[148,152,153],{},"要求",[155,156,157,166,178,193],"tbody",{},[145,158,159,163],{},[160,161,162],"td",{},"服务端",[160,164,165],{},"Paper 及其衍生（Leaves、Purpur 等）",[145,167,168,171],{},[160,169,170],{},"版本",[160,172,173,174,177],{},"1.21+（",[117,175,176],{},"api-version: 1.13","，实际用到 Adventure API）",[145,179,180,183],{},[160,181,182],{},"硬依赖",[160,184,185,188,189,192],{},[127,186,187],{},"Vault","（写在 ",[117,190,191],{},"depend"," 里，不装插件不会启动）",[145,194,195,198],{},[160,196,197],{},"奖励依赖",[160,199,200,201,204,205,208],{},"按你配的奖励命令而定，如 Essentials（",[117,202,203],{},"money","）、PlayerPoints（",[117,206,207],{},"points","）",[122,210,213,214,216,217,220,221,224,225,228,229,232],{"icon":211,"type":212},"i-lucide-triangle-alert","warning","Vault 是",[127,215,182],{},"：",[117,218,219],{},"plugin.yml"," 里写了 ",[117,222,223],{},"depend: [Vault]","，服务器上没有 Vault 插件时 Snow-Welcome 根本不会加载。但插件代码本身",[127,226,227],{},"没有调用 Vault API","——发钱是靠 ",[117,230,231],{},"Bukkit.dispatchCommand"," 执行你配置的命令。也就是说 Vault 只是个必须存在的门槛，实际发钱依赖的是你配的那条命令对应的插件。",[132,234],{},[135,236,237],{"id":237},"安装",[239,240,241,248,254],"ol",{},[242,243,244,245],"li",{},"把 jar 放进 ",[117,246,247],{},"plugins\u002F",[242,249,250,251],{},"启动服务器，插件会释放 ",[117,252,253],{},"plugins\u002FWelcome\u002Fconfig.yml",[242,255,256,257,260],{},"控制台出现 ",[117,258,259],{},"Welcome enabled! Author: SnowyMC"," 即成功",[113,262,263],{},"插件目录下会生成两个文件：",[265,266,271],"pre",{"className":267,"code":269,"language":270},[268],"language-text","plugins\u002FWelcome\u002F\n├── config.yml    # 全部配置\n└── data.yml      # 新玩家记录与「谁欢迎过谁」\n","text",[117,272,269],{"__ignoreMap":273},"",[132,275],{},[135,277,278],{"id":278},"工作流程",[280,281,282,286,297,301,308,311,321,325],"steps",{},[283,284,285],"h3",{"id":285},"新玩家首次加入",[113,287,288,289,292,293,296],{},"插件检查 ",[117,290,291],{},"data.yml"," 里有没有这个 UUID。没有就登记（记下名字与加入时间戳），然后按 ",[117,294,295],{},"welcome-message"," 全服广播。",[283,298,300],{"id":299},"其他玩家点击点我欢迎新玩家","其他玩家点击「点我欢迎新玩家」",[113,302,303,304,307],{},"按钮实际执行的是 ",[117,305,306],{},"\u002Fwelcome \u003C新玩家名>","，等同于手动输入。",[283,309,310],{"id":310},"校验四件事",[113,312,313,314,316,317,320],{},"依次检查：目标玩家在线、不是欢迎自己、目标在 ",[117,315,291],{}," 里登记过、距离登记时间没超过 ",[117,318,319],{},"welcome-limit-seconds","、自己没欢迎过这个人。",[283,322,324],{"id":323},"发奖-代替欢迎者发言","发奖 + 代替欢迎者发言",[113,326,327,328,331,332,130],{},"任一校验失败就发对应提示并中止。全部通过则先发奖励，再从 ",[117,329,330],{},"sender-messages"," 随机抽一条",[127,333,334],{},"以欢迎者身份发到聊天",[132,336],{},[135,338,340],{"id":339},"configyml-全部字段","config.yml 全部字段",[265,342,346],{"className":343,"code":344,"language":345,"meta":273,"style":273},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","welcome-message: |\n  \u003Cwhite>————————————————\n  \u003Cwhite>⻬:offset_-1:⻭\n  \u003Cwhite>\n  \u003Cgreen>欢迎新玩家 \u003Cplayer> 加入服务器！\u003C\u002Fgreen>\n  \u003Cred>\u003Cclick:run_command:\u002Fwelcome \u003Cplayer>>     [点我欢迎新玩家]\u003C\u002Fclick>\u003C\u002Fred>\n  \u003Cwhite>————————————————\n\nsender-messages:\n  - \"厥新人！厥新人！厥新人！！\"\n  # - \"\u003Cplayer> 来啦，欢迎欢迎！\"\n  # - \"新人 \u003Cplayer>，多多关照！\"\n\nwelcome-limit-seconds: 90\nwelcome-limit-seconds-message: \"§c时间过了！\"\nwelcomed: \"§c你已经欢迎过该玩家了！\"\nnot-new: \"§c不是新玩家或过期了\"\n\nrewards:\n  money:\n    enable: true\n    min: 100\n    max: 800\n    command: \"money give %player% %amount%\"\n\n  playerpoints:\n    enable: true\n    min: 1\n    max: 2\n    command: \"points give %player% %amount%\"\n\n  command:\n    enable: true\n    commands:\n      - \"titlemsg %sender% -in:10 -out:10 -keep:20 \\n⻪:offset_-1:⻫\"\n","yaml",[117,347,348,364,371,377,383,389,395,400,407,415,430,437,443,448,459,474,489,504,509,517,525,537,548,559,574,579,587,596,606,616,630,635,643,652,660],{"__ignoreMap":273},[349,350,353,356,360],"span",{"class":351,"line":352},"line",1,[349,354,295],{"class":355},"swJcz",[349,357,359],{"class":358},"sMK4o",":",[349,361,363],{"class":362},"s7zQu"," |\n",[349,365,367],{"class":351,"line":366},2,[349,368,370],{"class":369},"sfazB","  \u003Cwhite>————————————————\n",[349,372,374],{"class":351,"line":373},3,[349,375,376],{"class":369},"  \u003Cwhite>⻬:offset_-1:⻭\n",[349,378,380],{"class":351,"line":379},4,[349,381,382],{"class":369},"  \u003Cwhite>\n",[349,384,386],{"class":351,"line":385},5,[349,387,388],{"class":369},"  \u003Cgreen>欢迎新玩家 \u003Cplayer> 加入服务器！\u003C\u002Fgreen>\n",[349,390,392],{"class":351,"line":391},6,[349,393,394],{"class":369},"  \u003Cred>\u003Cclick:run_command:\u002Fwelcome \u003Cplayer>>     [点我欢迎新玩家]\u003C\u002Fclick>\u003C\u002Fred>\n",[349,396,398],{"class":351,"line":397},7,[349,399,370],{"class":369},[349,401,403],{"class":351,"line":402},8,[349,404,406],{"emptyLinePlaceholder":405},true,"\n",[349,408,410,412],{"class":351,"line":409},9,[349,411,330],{"class":355},[349,413,414],{"class":358},":\n",[349,416,418,421,424,427],{"class":351,"line":417},10,[349,419,420],{"class":358},"  -",[349,422,423],{"class":358}," \"",[349,425,426],{"class":369},"厥新人！厥新人！厥新人！！",[349,428,429],{"class":358},"\"\n",[349,431,433],{"class":351,"line":432},11,[349,434,436],{"class":435},"sHwdD","  # - \"\u003Cplayer> 来啦，欢迎欢迎！\"\n",[349,438,440],{"class":351,"line":439},12,[349,441,442],{"class":435},"  # - \"新人 \u003Cplayer>，多多关照！\"\n",[349,444,446],{"class":351,"line":445},13,[349,447,406],{"emptyLinePlaceholder":405},[349,449,451,453,455],{"class":351,"line":450},14,[349,452,319],{"class":355},[349,454,359],{"class":358},[349,456,458],{"class":457},"sbssI"," 90\n",[349,460,462,465,467,469,472],{"class":351,"line":461},15,[349,463,464],{"class":355},"welcome-limit-seconds-message",[349,466,359],{"class":358},[349,468,423],{"class":358},[349,470,471],{"class":369},"§c时间过了！",[349,473,429],{"class":358},[349,475,477,480,482,484,487],{"class":351,"line":476},16,[349,478,479],{"class":355},"welcomed",[349,481,359],{"class":358},[349,483,423],{"class":358},[349,485,486],{"class":369},"§c你已经欢迎过该玩家了！",[349,488,429],{"class":358},[349,490,492,495,497,499,502],{"class":351,"line":491},17,[349,493,494],{"class":355},"not-new",[349,496,359],{"class":358},[349,498,423],{"class":358},[349,500,501],{"class":369},"§c不是新玩家或过期了",[349,503,429],{"class":358},[349,505,507],{"class":351,"line":506},18,[349,508,406],{"emptyLinePlaceholder":405},[349,510,512,515],{"class":351,"line":511},19,[349,513,514],{"class":355},"rewards",[349,516,414],{"class":358},[349,518,520,523],{"class":351,"line":519},20,[349,521,522],{"class":355},"  money",[349,524,414],{"class":358},[349,526,528,531,533],{"class":351,"line":527},21,[349,529,530],{"class":355},"    enable",[349,532,359],{"class":358},[349,534,536],{"class":535},"sfNiH"," true\n",[349,538,540,543,545],{"class":351,"line":539},22,[349,541,542],{"class":355},"    min",[349,544,359],{"class":358},[349,546,547],{"class":457}," 100\n",[349,549,551,554,556],{"class":351,"line":550},23,[349,552,553],{"class":355},"    max",[349,555,359],{"class":358},[349,557,558],{"class":457}," 800\n",[349,560,562,565,567,569,572],{"class":351,"line":561},24,[349,563,564],{"class":355},"    command",[349,566,359],{"class":358},[349,568,423],{"class":358},[349,570,571],{"class":369},"money give %player% %amount%",[349,573,429],{"class":358},[349,575,577],{"class":351,"line":576},25,[349,578,406],{"emptyLinePlaceholder":405},[349,580,582,585],{"class":351,"line":581},26,[349,583,584],{"class":355},"  playerpoints",[349,586,414],{"class":358},[349,588,590,592,594],{"class":351,"line":589},27,[349,591,530],{"class":355},[349,593,359],{"class":358},[349,595,536],{"class":535},[349,597,599,601,603],{"class":351,"line":598},28,[349,600,542],{"class":355},[349,602,359],{"class":358},[349,604,605],{"class":457}," 1\n",[349,607,609,611,613],{"class":351,"line":608},29,[349,610,553],{"class":355},[349,612,359],{"class":358},[349,614,615],{"class":457}," 2\n",[349,617,619,621,623,625,628],{"class":351,"line":618},30,[349,620,564],{"class":355},[349,622,359],{"class":358},[349,624,423],{"class":358},[349,626,627],{"class":369},"points give %player% %amount%",[349,629,429],{"class":358},[349,631,633],{"class":351,"line":632},31,[349,634,406],{"emptyLinePlaceholder":405},[349,636,638,641],{"class":351,"line":637},32,[349,639,640],{"class":355},"  command",[349,642,414],{"class":358},[349,644,646,648,650],{"class":351,"line":645},33,[349,647,530],{"class":355},[349,649,359],{"class":358},[349,651,536],{"class":535},[349,653,655,658],{"class":351,"line":654},34,[349,656,657],{"class":355},"    commands",[349,659,414],{"class":358},[349,661,663,666,668,671,675,678],{"class":351,"line":662},35,[349,664,665],{"class":358},"      -",[349,667,423],{"class":358},[349,669,670],{"class":369},"titlemsg %sender% -in:10 -out:10 -keep:20 ",[349,672,674],{"class":673},"sTEyZ","\\n",[349,676,677],{"class":369},"⻪:offset_-1:⻫",[349,679,429],{"class":358},[139,681,682,695],{},[142,683,684],{},[145,685,686,689,692],{},[148,687,688],{},"字段",[148,690,691],{},"类型",[148,693,694],{},"说明",[155,696,697,712,724,736,752,763,774,787,798],{},[145,698,699,703,706],{},[160,700,701],{},[117,702,295],{},[160,704,705],{},"文本（多行）",[160,707,708,709],{},"新人加入时的全服广播，",[127,710,711],{},"MiniMessage 格式",[145,713,714,718,721],{},[160,715,716],{},[117,717,330],{},[160,719,720],{},"列表",[160,722,723],{},"欢迎成功后，随机抽一条以欢迎者身份发到聊天",[145,725,726,730,733],{},[160,727,728],{},[117,729,319],{},[160,731,732],{},"整数",[160,734,735],{},"新人加入后多少秒内可以被欢迎，默认 90",[145,737,738,742,745],{},[160,739,740],{},[117,741,464],{},[160,743,744],{},"文本",[160,746,747,748,751],{},"超时提示，",[117,749,750],{},"§"," 颜色码",[145,753,754,758,760],{},[160,755,756],{},[117,757,479],{},[160,759,744],{},[160,761,762],{},"重复欢迎同一人的提示",[145,764,765,769,771],{},[160,766,767],{},[117,768,494],{},[160,770,744],{},[160,772,773],{},"目标不在新人记录里的提示",[145,775,776,781,784],{},[160,777,778],{},[117,779,780],{},"rewards.money.*",[160,782,783],{},"—",[160,785,786],{},"见下文",[145,788,789,794,796],{},[160,790,791],{},[117,792,793],{},"rewards.playerpoints.*",[160,795,783],{},[160,797,786],{},[145,799,800,805,807],{},[160,801,802],{},[117,803,804],{},"rewards.command.*",[160,806,783],{},[160,808,786],{},[122,810,811,813,814,817,818,821,822,825,826,821,828,830,831,834,835,837],{"icon":124},[117,812,295],{}," 走 ",[127,815,816],{},"MiniMessage","（",[117,819,820],{},"\u003Cgreen>","、",[117,823,824],{},"\u003Cclick:run_command:...>"," 这类标签）；而四条提示消息（",[117,827,479],{},[117,829,494],{}," 等）是",[127,832,833],{},"直接原样发送","的，只能用 ",[117,836,750],{}," 传统颜色码。两套语法不通用，别弄混。",[132,839],{},[135,841,842],{"id":842},"欢迎消息里的可点击按钮",[113,844,845],{},"默认配置里那行是关键：",[265,847,849],{"className":343,"code":848,"language":345,"meta":273,"style":273},"\u003Cred>\u003Cclick:run_command:\u002Fwelcome \u003Cplayer>>     [点我欢迎新玩家]\u003C\u002Fclick>\u003C\u002Fred>\n",[117,850,851],{"__ignoreMap":273},[349,852,853],{"class":351,"line":352},[349,854,848],{"class":369},[113,856,857,860,861,864,865,868,869,871],{},[117,858,859],{},"\u003Cplayer>"," 会被替换成新玩家的名字，所以点击就等于执行 ",[117,862,863],{},"\u002Fwelcome 那个新人","。想改按钮文字只改 ",[117,866,867],{},"[点我欢迎新玩家]"," 部分，",[117,870,824],{}," 结构别动。",[113,873,874],{},"想加悬浮提示：",[265,876,878],{"className":343,"code":877,"language":345,"meta":273,"style":273},"\u003Cred>\u003Chover:show_text:'\u003Cgray>点一下就有奖励哦'>\u003Cclick:run_command:\u002Fwelcome \u003Cplayer>>     [点我欢迎新玩家]\u003C\u002Fclick>\u003C\u002Fhover>\u003C\u002Fred>\n",[117,879,880],{"__ignoreMap":273},[349,881,882],{"class":351,"line":352},[349,883,877],{"class":369},[132,885],{},[135,887,888],{"id":888},"奖励配置",[113,890,891,892,895],{},"三类奖励",[127,893,894],{},"互相独立","，可以只开其中一部分，也可以全开（会一起发）。",[283,897,899],{"id":898},"金币与点券随机数额","金币与点券：随机数额",[265,901,903],{"className":343,"code":902,"language":345,"meta":273,"style":273},"rewards:\n  money:\n    enable: true\n    min: 100          # 最小值\n    max: 800          # 最大值（含）\n    command: \"money give %player% %amount%\"\n",[117,904,905,911,917,925,937,949],{"__ignoreMap":273},[349,906,907,909],{"class":351,"line":352},[349,908,514],{"class":355},[349,910,414],{"class":358},[349,912,913,915],{"class":351,"line":366},[349,914,522],{"class":355},[349,916,414],{"class":358},[349,918,919,921,923],{"class":351,"line":373},[349,920,530],{"class":355},[349,922,359],{"class":358},[349,924,536],{"class":535},[349,926,927,929,931,934],{"class":351,"line":379},[349,928,542],{"class":355},[349,930,359],{"class":358},[349,932,933],{"class":457}," 100",[349,935,936],{"class":435},"          # 最小值\n",[349,938,939,941,943,946],{"class":351,"line":385},[349,940,553],{"class":355},[349,942,359],{"class":358},[349,944,945],{"class":457}," 800",[349,947,948],{"class":435},"          # 最大值（含）\n",[349,950,951,953,955,957,959],{"class":351,"line":391},[349,952,564],{"class":355},[349,954,359],{"class":358},[349,956,423],{"class":358},[349,958,571],{"class":369},[349,960,429],{"class":358},[113,962,963,964,967,968,971,972,975],{},"插件在 ",[117,965,966],{},"min"," ~ ",[117,969,970],{},"max"," 之间抽一个整数，替换进命令后",[127,973,974],{},"以控制台身份","执行。",[139,977,978,988],{},[142,979,980],{},[145,981,982,985],{},[148,983,984],{},"占位符",[148,986,987],{},"替换为",[155,989,990,1003],{},[145,991,992,997],{},[160,993,994],{},[117,995,996],{},"%player%",[160,998,999,1002],{},[127,1000,1001],{},"欢迎者","的名字（不是新玩家）",[145,1004,1005,1010],{},[160,1006,1007],{},[117,1008,1009],{},"%amount%",[160,1011,1012],{},"本次随机出的数额",[122,1014,1015,1017,1018,1020,1021,1023,1024,1027,1028,130],{"icon":211,"type":212},[117,1016,970],{}," 小于 ",[117,1019,966],{}," 时不会报错，而是直接取 ",[117,1022,966],{},"。两个都填 0 就是固定发 0，等于白跑一条命令——不想发就把 ",[117,1025,1026],{},"enable"," 设成 ",[117,1029,1030],{},"false",[113,1032,1033,1035,1036,1039,1040,1043,1044,1047,1048,1050],{},[117,1034,203],{}," 与 ",[117,1037,1038],{},"playerpoints"," 这两个键名只是",[127,1041,1042],{},"分类标签","，实际发什么完全由 ",[117,1045,1046],{},"command"," 决定。你可以把 ",[117,1049,1038],{}," 那条改成任何命令，比如发经验：",[265,1052,1054],{"className":343,"code":1053,"language":345,"meta":273,"style":273},"  playerpoints:\n    enable: true\n    min: 50\n    max: 200\n    command: \"experience add %player% %amount%\"\n",[117,1055,1056,1062,1070,1079,1088],{"__ignoreMap":273},[349,1057,1058,1060],{"class":351,"line":352},[349,1059,584],{"class":355},[349,1061,414],{"class":358},[349,1063,1064,1066,1068],{"class":351,"line":366},[349,1065,530],{"class":355},[349,1067,359],{"class":358},[349,1069,536],{"class":535},[349,1071,1072,1074,1076],{"class":351,"line":373},[349,1073,542],{"class":355},[349,1075,359],{"class":358},[349,1077,1078],{"class":457}," 50\n",[349,1080,1081,1083,1085],{"class":351,"line":379},[349,1082,553],{"class":355},[349,1084,359],{"class":358},[349,1086,1087],{"class":457}," 200\n",[349,1089,1090,1092,1094,1096,1099],{"class":351,"line":385},[349,1091,564],{"class":355},[349,1093,359],{"class":358},[349,1095,423],{"class":358},[349,1097,1098],{"class":369},"experience add %player% %amount%",[349,1100,429],{"class":358},[283,1102,1104],{"id":1103},"自定义命令固定内容","自定义命令：固定内容",[265,1106,1108],{"className":343,"code":1107,"language":345,"meta":273,"style":273},"rewards:\n  command:\n    enable: true\n    commands:\n      - \"titlemsg %sender% -in:10 -out:10 -keep:20 \\n⻪:offset_-1:⻫\"\n      - \"give %sender% diamond 1\"\n      - \"broadcast &e%sender% &f欢迎了新人 &b%newplayer%\"\n",[117,1109,1110,1116,1122,1130,1136,1150,1161],{"__ignoreMap":273},[349,1111,1112,1114],{"class":351,"line":352},[349,1113,514],{"class":355},[349,1115,414],{"class":358},[349,1117,1118,1120],{"class":351,"line":366},[349,1119,640],{"class":355},[349,1121,414],{"class":358},[349,1123,1124,1126,1128],{"class":351,"line":373},[349,1125,530],{"class":355},[349,1127,359],{"class":358},[349,1129,536],{"class":535},[349,1131,1132,1134],{"class":351,"line":379},[349,1133,657],{"class":355},[349,1135,414],{"class":358},[349,1137,1138,1140,1142,1144,1146,1148],{"class":351,"line":385},[349,1139,665],{"class":358},[349,1141,423],{"class":358},[349,1143,670],{"class":369},[349,1145,674],{"class":673},[349,1147,677],{"class":369},[349,1149,429],{"class":358},[349,1151,1152,1154,1156,1159],{"class":351,"line":391},[349,1153,665],{"class":358},[349,1155,423],{"class":358},[349,1157,1158],{"class":369},"give %sender% diamond 1",[349,1160,429],{"class":358},[349,1162,1163,1165,1167,1170],{"class":351,"line":397},[349,1164,665],{"class":358},[349,1166,423],{"class":358},[349,1168,1169],{"class":369},"broadcast &e%sender% &f欢迎了新人 &b%newplayer%",[349,1171,429],{"class":358},[113,1173,1174,1175,1178],{},"这一组按顺序全部执行，",[127,1176,1177],{},"没有随机数额","，占位符也不同：",[139,1180,1181,1189],{},[142,1182,1183],{},[145,1184,1185,1187],{},[148,1186,984],{},[148,1188,987],{},[155,1190,1191,1201],{},[145,1192,1193,1198],{},[160,1194,1195],{},[117,1196,1197],{},"%sender%",[160,1199,1200],{},"欢迎者的名字",[145,1202,1203,1208],{},[160,1204,1205],{},[117,1206,1207],{},"%newplayer%",[160,1209,1210],{},"被欢迎的新玩家名字",[122,1212,1213,1214,1216,1217,1220,1221,1223,1224,1226,1227,1229,1230,1232,1233,1235],{"icon":211,"type":212},"注意 ",[117,1215,996],{}," 在这一组里",[127,1218,1219],{},"不生效","——它只用于 ",[117,1222,203],{}," 和 ",[117,1225,1038],{},"。自定义命令组用的是 ",[117,1228,1197],{},"。这是最容易配错的地方：写了 ",[117,1231,996],{}," 不会报错，命令会带着字面的 ",[117,1234,996],{}," 执行然后失败。",[113,1237,1238],{},"全部命令都以控制台身份执行，所以不受玩家权限限制。",[132,1240],{},[135,1242,1243],{"id":1243},"命令与权限",[139,1245,1246,1259],{},[142,1247,1248],{},[145,1249,1250,1253,1256],{},[148,1251,1252],{},"命令",[148,1254,1255],{},"用法",[148,1257,1258],{},"权限",[155,1260,1261],{},[145,1262,1263,1267,1270],{},[160,1264,1265],{},[117,1266,119],{},[160,1268,1269],{},"欢迎一个新玩家",[160,1271,1272],{},[127,1273,1274],{},"无权限节点",[113,1276,1277,1278,1281,1282,1285],{},"插件",[127,1279,1280],{},"没有定义任何权限节点","，",[117,1283,1284],{},"\u002Fwelcome"," 所有人都能用。这符合设计——它本来就是给全服玩家点的按钮。",[122,1287,1288,1289,1292],{"icon":124},"没有 reload 命令。改完 ",[117,1290,1291],{},"config.yml"," 需要重启服务器，或用第三方插件（如 PlugManX）重载 Welcome。",[132,1294],{},[135,1296,1298],{"id":1297},"datayml-数据结构","data.yml 数据结构",[265,1300,1302],{"className":343,"code":1301,"language":345,"meta":273,"style":273},"new-players:\n  069a79f4-44e9-4726-a5be-fca90e38aaf5:\n    name: Notch\n    join-time: 1754000000000\n    welcomed-by:\n      - 853c80ef-3c37-49fd-aa49-938b674adae6\n",[117,1303,1304,1311,1318,1328,1338,1345],{"__ignoreMap":273},[349,1305,1306,1309],{"class":351,"line":352},[349,1307,1308],{"class":355},"new-players",[349,1310,414],{"class":358},[349,1312,1313,1316],{"class":351,"line":366},[349,1314,1315],{"class":355},"  069a79f4-44e9-4726-a5be-fca90e38aaf5",[349,1317,414],{"class":358},[349,1319,1320,1323,1325],{"class":351,"line":373},[349,1321,1322],{"class":355},"    name",[349,1324,359],{"class":358},[349,1326,1327],{"class":369}," Notch\n",[349,1329,1330,1333,1335],{"class":351,"line":379},[349,1331,1332],{"class":355},"    join-time",[349,1334,359],{"class":358},[349,1336,1337],{"class":457}," 1754000000000\n",[349,1339,1340,1343],{"class":351,"line":385},[349,1341,1342],{"class":355},"    welcomed-by",[349,1344,414],{"class":358},[349,1346,1347,1349],{"class":351,"line":391},[349,1348,665],{"class":358},[349,1350,1351],{"class":369}," 853c80ef-3c37-49fd-aa49-938b674adae6\n",[139,1353,1354,1363],{},[142,1355,1356],{},[145,1357,1358,1360],{},[148,1359,688],{},[148,1361,1362],{},"含义",[155,1364,1365,1373,1383,1393],{},[145,1366,1367,1370],{},[160,1368,1369],{},"顶层键",[160,1371,1372],{},"新玩家的 UUID",[145,1374,1375,1380],{},[160,1376,1377],{},[117,1378,1379],{},"name",[160,1381,1382],{},"当时的玩家名（仅供人看，逻辑不用它）",[145,1384,1385,1390],{},[160,1386,1387],{},[117,1388,1389],{},"join-time",[160,1391,1392],{},"首次加入的毫秒时间戳，超时判定基于它",[145,1394,1395,1400],{},[160,1396,1397],{},[117,1398,1399],{},"welcomed-by",[160,1401,1402],{},"欢迎过他的玩家 UUID 列表，用于防重复",[113,1404,1405],{},"数据在插件关闭时保存，每次登记与欢迎也会立即写盘。",[122,1407,1408,1411,1412,1414,1415,1417],{"icon":211,"type":212},[127,1409,1410],{},"这个文件只增不减。"," 插件没有清理逻辑，每个进过服的新玩家都会永久留一条记录。长期运营的服务器 ",[117,1413,291],{}," 会持续变大。它只用于「是否新人」与「超时判定」，超过 ",[117,1416,319],{}," 的记录实际已无用——需要瘦身可以在停服时手动删掉旧条目。",[122,1419,1420,1429,1430,1432,1433,1436],{"icon":211,"type":212},[127,1421,1422,1423,1425,1426,130],{},"「是否新玩家」判据是 ",[117,1424,291],{},"，不是服务器的 ",[117,1427,1428],{},"hasPlayedBefore"," 所以删掉 ",[117,1431,291],{}," 后，",[127,1434,1435],{},"所有老玩家下次进服都会被当成新人","广播一遍。迁移服务器或清理数据时注意这一点。",[132,1438],{},[135,1440,1441],{"id":1441},"已知限制",[139,1443,1444,1453],{},[142,1445,1446],{},[145,1447,1448,1451],{},[148,1449,1450],{},"现象",[148,1452,694],{},[155,1454,1455,1469,1480,1490,1498],{},[145,1456,1457,1466],{},[160,1458,1459,1460,1462,1463],{},"默认 ",[117,1461,291],{}," 里有 ",[117,1464,1465],{},"players: []",[160,1467,1468],{},"插件释放的模板残留，代码从不读它。可以忽略，也可以删掉",[145,1470,1471,1477],{},[160,1472,1473,1474],{},"没有 ",[117,1475,1476],{},"\u002Fwelcome reload",[160,1478,1479],{},"改配置要重启，或用 PlugManX 之类重载",[145,1481,1482,1485],{},[160,1483,1484],{},"没有权限节点",[160,1486,1487,1489],{},[117,1488,1284],{}," 对所有人开放",[145,1491,1492,1495],{},[160,1493,1494],{},"奖励发给欢迎者",[160,1496,1497],{},"新玩家本人不会获得任何奖励，插件没有这个功能",[145,1499,1500,1503],{},[160,1501,1502],{},"Vault 装了但没被调用",[160,1504,1505],{},"硬依赖，必须装；实际发钱靠你配的命令",[132,1507],{},[135,1509,1510],{"id":1510},"排错",[113,1512,1513],{},[127,1514,1515],{},"新人进服没有广播",[1517,1518,1519,1528],"ul",{},[242,1520,1521,1522,1524,1525,1527],{},"确认这个 UUID 不在 ",[117,1523,291],{}," 的 ",[117,1526,1308],{}," 下（他可能之前进过服）",[242,1529,1530,1531,1533,1534,1537],{},"确认 ",[117,1532,295],{}," 不是空的——留空会",[127,1535,1536],{},"直接跳过广播","，不报错",[113,1539,1540],{},[127,1541,1542],{},"点击按钮提示「不是新玩家或过期了」",[113,1544,1545,1546,1548,1549,1551],{},"目标 UUID 不在 ",[117,1547,291],{}," 里。常见于服务器重启后 ",[117,1550,291],{}," 未正确保存，或点的是老玩家。",[113,1553,1554],{},[127,1555,1556],{},"点击按钮提示「时间过了」",[113,1558,1559,1560,1562],{},"超过 ",[117,1561,319],{},"（默认 90 秒）。想放宽就调大这个值。",[113,1564,1565],{},[127,1566,1567],{},"奖励没发出来",[113,1569,1570],{},"奖励是以控制台身份执行命令，所以要先确认：",[239,1572,1573,1579,1588],{},[242,1574,1575,1576,208],{},"那条命令在控制台手动敲能不能成功（比如 ",[117,1577,1578],{},"money give Notch 100",[242,1580,1581,1582,1584,1585,1587],{},"对应插件是否安装（",[117,1583,203],{}," 需要经济插件，",[117,1586,207],{}," 需要 PlayerPoints）",[242,1589,1590,1591,1593,1594,1596,1597,1281,1599,1601,1602],{},"占位符是否用对：",[117,1592,203],{},"\u002F",[117,1595,1038],{}," 用 ",[117,1598,996],{},[117,1600,1046],{}," 组用 ",[117,1603,1197],{},[113,1605,1606],{},[127,1607,1608],{},"欢迎者的发言没出现在聊天里",[113,1610,1611,1613,1614,1616],{},[117,1612,330],{}," 是通过让玩家「说话」实现的，会被聊天插件、静音、聊天频道等机制影响。若消息渲染后开头是 ",[117,1615,1593],{},"，插件会自动加一个零宽字符防止被当成命令执行。",[1618,1619,1620],"style",{},"html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":273,"searchDepth":366,"depth":366,"links":1622},[1623,1624,1625,1631,1632,1633,1637,1638,1639,1640],{"id":137,"depth":366,"text":137},{"id":237,"depth":366,"text":237},{"id":278,"depth":366,"text":278,"children":1626},[1627,1628,1629,1630],{"id":285,"depth":373,"text":285},{"id":299,"depth":373,"text":300},{"id":310,"depth":373,"text":310},{"id":323,"depth":373,"text":324},{"id":339,"depth":366,"text":340},{"id":842,"depth":366,"text":842},{"id":888,"depth":366,"text":888,"children":1634},[1635,1636],{"id":898,"depth":373,"text":899},{"id":1103,"depth":373,"text":1104},{"id":1243,"depth":366,"text":1243},{"id":1297,"depth":366,"text":1298},{"id":1441,"depth":366,"text":1441},{"id":1510,"depth":366,"text":1510},"Snow-Welcome 的安装、config.yml 全部字段、欢迎奖励配置与已知限制。","md",null,{},{"icon":74},{"title":1647,"description":1648},"Snow-Welcome 安装与配置手册","服主视角的 Snow-Welcome 参考：新人加入广播、\u002Fwelcome 领奖机制、奖励命令配置与数据存储说明。","LZFTHsf9l5mMl-u6Tn_wdBKlcr2KndYygn-b93hX5bE",[1651,1653],{"title":60,"path":61,"stem":62,"description":1652,"icon":63,"children":-1},"SnowyGems 全部权限节点、user\u002Fadmin 两个伞节点的用法，以及权限组配置示例。",{"title":21,"path":76,"stem":77,"description":1654,"icon":24,"children":-1},"Snow-Welcome 各版本的变更记录。",1785563827504]