[{"data":1,"prerenderedAt":2719},["ShallowReactive",2],{"navigation_docs":3,"-snowygems-skills":103,"-snowygems-skills-surround":2714},[4,15,54,63],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"开始",false,"\u002Fmain","1.main",[10],{"title":11,"path":12,"stem":13,"icon":14},"介绍","\u002Fmain\u002Fintro","1.main\u002F2.intro","i-lucide-house",{"title":16,"path":17,"stem":18,"children":19,"page":6},"公开文档","\u002Ftask","2.task",[20,25,30,34,38,42,46,50],{"title":21,"path":22,"stem":23,"icon":24},"见习冒险家","\u002Ftask\u002Ffirst","2.task\u002F1.first","i-lucide-scroll-text",{"title":26,"path":27,"stem":28,"icon":29},"eco 生态替代 MMOCore 方案","\u002Ftask\u002Fmmotoeco","2.task\u002F114.MmoToEco","i-lucide-swords",{"title":31,"path":32,"stem":33},"纯 MMO 系插件完整方案","\u002Ftask\u002Fmmofullsuite","2.task\u002F115.MmoFullSuite",{"title":35,"path":36,"stem":37},"第一章 · 第二节：宠物羁绊","\u002Ftask\u002Fsecond","2.task\u002F2.second",{"title":39,"path":40,"stem":41},"第一章 · 第三节：职业抉择","\u002Ftask\u002Fthird","2.task\u002F3.third",{"title":43,"path":44,"stem":45},"第一章 · 第四节：技能修行","\u002Ftask\u002Ffourth","2.task\u002F4.fourth",{"title":47,"path":48,"stem":49},"第一章 · 第五节：地牢历练","\u002Ftask\u002Ffifth","2.task\u002F5.fifth",{"title":51,"path":52,"stem":53},"第一章 · 第六节：锻炉之约","\u002Ftask\u002Fsixth","2.task\u002F6.sixth",{"title":55,"path":56,"stem":57,"children":58,"page":6},"Newworld","\u002Fnewworld","3.newworld",[59],{"title":60,"path":61,"stem":62},"进入服务器游玩","\u002Fnewworld\u002Ffirst","3.newworld\u002F1.first",{"title":64,"path":65,"stem":66,"children":67,"page":6},"Snowygems","\u002Fsnowygems","4.snowygems",[68,73,78,83,88,93,98],{"title":69,"path":70,"stem":71,"icon":72},"安装与快速上手","\u002Fsnowygems\u002Fgetting-started","4.snowygems\u002F1.getting-started","i-lucide-rocket",{"title":74,"path":75,"stem":76,"icon":77},"宝石配置","\u002Fsnowygems\u002Fgems","4.snowygems\u002F2.gems","i-lucide-gem",{"title":79,"path":80,"stem":81,"icon":82},"技能与 BUFF","\u002Fsnowygems\u002Fskills","4.snowygems\u002F3.skills","i-lucide-sparkles",{"title":84,"path":85,"stem":86,"icon":87},"菜单配置","\u002Fsnowygems\u002Fmenus","4.snowygems\u002F4.menus","i-lucide-layout-grid",{"title":89,"path":90,"stem":91,"icon":92},"多版本兼容","\u002Fsnowygems\u002Fcompat","4.snowygems\u002F5.compat","i-lucide-git-compare",{"title":94,"path":95,"stem":96,"icon":97},"排错与调试","\u002Fsnowygems\u002Ftroubleshooting","4.snowygems\u002F6.troubleshooting","i-lucide-wrench",{"title":99,"path":100,"stem":101,"icon":102},"汉化与文案自定义","\u002Fsnowygems\u002Flanguage","4.snowygems\u002F7.language","i-lucide-languages",{"id":104,"title":79,"body":105,"description":2705,"extension":2706,"links":2707,"meta":2708,"navigation":2709,"path":80,"seo":2710,"stem":81,"__hash__":2713},"docs\u002F4.snowygems\u002F3.skills.md",{"type":106,"value":107,"toc":2675},"minimark",[108,112,126,129,209,212,215,219,279,298,305,307,310,318,321,385,388,431,433,436,580,613,624,626,629,639,643,712,717,720,816,819,924,927,930,1012,1029,1035,1038,1115,1120,1181,1184,1187,1339,1350,1355,1451,1472,1478,1507,1522,1534,1536,1540,1545,1593,1598,1664,1666,1669,1673,1746,1750,1802,1806,1860,1864,1917,1921,2009,2011,2015,2018,2024,2060,2067,2074,2076,2080,2087,2240,2249,2262,2274,2288,2290,2294,2304,2342,2345,2349,2359,2397,2407,2411,2416,2551,2565,2569,2572,2593,2599,2601,2604,2637,2639,2642,2649,2668,2671],[109,110,79],"h1",{"id":111},"技能与-buff",[113,114,115,116,120,121,125],"p",{},"技能定义放在 ",[117,118,119],"code",{},"plugins\u002FSnowyGems\u002Fskills\u002F"," 下，文件名任意。技能不是绑在宝石上的，而是",[122,123,124],"strong",{},"绑在装备的 lore 文本上","：装备 lore 里出现某段文字，就获得对应技能。",[113,127,128],{},"一个最小可用的技能：",[130,131,136],"pre",{"className":132,"code":133,"language":134,"meta":135,"style":135},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","向前闪现:                        # 技能 ID\n  Lore: \"右键即可闪现\"            # 装备 lore 含这段文字就绑定此技能\n  Cooldown: 10.0                 # 冷却 10 秒\n  Skills:\n    - Blink{distance=32} ~onUse @Forward\n","yaml","",[117,137,138,155,176,191,200],{"__ignoreMap":135},[139,140,143,147,151],"span",{"class":141,"line":142},"line",1,[139,144,146],{"class":145},"swJcz","向前闪现",[139,148,150],{"class":149},"sMK4o",":",[139,152,154],{"class":153},"sHwdD","                        # 技能 ID\n",[139,156,158,161,163,166,170,173],{"class":141,"line":157},2,[139,159,160],{"class":145},"  Lore",[139,162,150],{"class":149},[139,164,165],{"class":149}," \"",[139,167,169],{"class":168},"sfazB","右键即可闪现",[139,171,172],{"class":149},"\"",[139,174,175],{"class":153},"            # 装备 lore 含这段文字就绑定此技能\n",[139,177,179,182,184,188],{"class":141,"line":178},3,[139,180,181],{"class":145},"  Cooldown",[139,183,150],{"class":149},[139,185,187],{"class":186},"sbssI"," 10.0",[139,189,190],{"class":153},"                 # 冷却 10 秒\n",[139,192,194,197],{"class":141,"line":193},4,[139,195,196],{"class":145},"  Skills",[139,198,199],{"class":149},":\n",[139,201,203,206],{"class":141,"line":202},5,[139,204,205],{"class":149},"    -",[139,207,208],{"class":168}," Blink{distance=32} ~onUse @Forward\n",[113,210,211],{},"玩家拿着一件 lore 里有「右键即可闪现」的装备，右键就会向前闪现 32 格。",[213,214],"hr",{},[216,217,218],"h2",{"id":218},"技能定义的字段",[220,221,222,235],"table",{},[223,224,225],"thead",{},[226,227,228,232],"tr",{},[229,230,231],"th",{},"字段",[229,233,234],{},"说明",[236,237,238,249,259,269],"tbody",{},[226,239,240,246],{},[241,242,243],"td",{},[117,244,245],{},"Lore",[241,247,248],{},"绑定标记。装备 lore 含这段文字即生效（去色比较，可含颜色码）",[226,250,251,256],{},[241,252,253],{},[117,254,255],{},"Cooldown",[241,257,258],{},"冷却秒数，不写或 0 表示无冷却",[226,260,261,266],{},[241,262,263],{},[117,264,265],{},"CooldownTip",[241,267,268],{},"冷却中的提示，本身也是一个函数表达式",[226,270,271,276],{},[241,272,273],{},[117,274,275],{},"Skills",[241,277,278],{},"技能行列表",[280,281,283,285,286,289,290,293,294,297],"alert",{"icon":282},"i-lucide-info",[117,284,245],{}," 留空的技能定义",[122,287,288],{},"不会被任何装备触发","——它只能作为形态切换的目标（见下文 ",[117,291,292],{},"Switch","），或者被 ",[117,295,296],{},"Reward{...}"," 嵌套调用。",[113,299,300,301,304],{},"冷却是",[122,302,303],{},"按技能定义","计算的，不是按技能行。同一个定义里多行技能共享一个冷却。",[213,306],{},[216,308,309],{"id":309},"技能行结构",[130,311,316],{"className":312,"code":314,"language":315},[313],"language-text","函数名{参数1=值;参数2=值} ~触发标记 @作用目标\n","text",[117,317,314],{"__ignoreMap":135},[113,319,320],{},"三部分：",[220,322,323,335],{},[223,324,325],{},[226,326,327,330,333],{},[229,328,329],{},"部分",[229,331,332],{},"必填",[229,334,234],{},[236,336,337,354,369],{},[226,338,339,344,347],{},[241,340,341],{},[117,342,343],{},"函数名{参数}",[241,345,346],{},"是",[241,348,349,350,353],{},"做什么。参数用 ",[117,351,352],{},";"," 分隔",[226,355,356,361,363],{},[241,357,358],{},[117,359,360],{},"~触发标记",[241,362,346],{},[241,364,365,366],{},"什么时候触发。不写则",[122,367,368],{},"永远不会触发",[226,370,371,376,379],{},[241,372,373],{},[117,374,375],{},"@作用目标",[241,377,378],{},"否",[241,380,381,382],{},"作用于谁，默认 ",[117,383,384],{},"@Self",[113,386,387],{},"作用目标：",[220,389,390,400],{},[223,391,392],{},[226,393,394,397],{},[229,395,396],{},"写法",[229,398,399],{},"含义",[236,401,402,411,421],{},[226,403,404,408],{},[241,405,406],{},[117,407,384],{},[241,409,410],{},"作用于自己（默认）",[226,412,413,418],{},[241,414,415],{},[117,416,417],{},"@Entity",[241,419,420],{},"作用于被攻击\u002F被命中的实体",[226,422,423,428],{},[241,424,425],{},[117,426,427],{},"@Location",[241,429,430],{},"作用于命中坐标（闪现、粒子、闪电常用）",[213,432],{},[216,434,435],{"id":435},"触发标记",[220,437,438,448],{},[223,439,440],{},[226,441,442,445],{},[229,443,444],{},"标记",[229,446,447],{},"触发时机",[236,449,450,460,470,480,490,500,510,520,530,540,550,560,570],{},[226,451,452,457],{},[241,453,454],{},[117,455,456],{},"~onUse",[241,458,459],{},"右键使用",[226,461,462,467],{},[241,463,464],{},[117,465,466],{},"~onShiftUse",[241,468,469],{},"潜行 + 右键",[226,471,472,477],{},[241,473,474],{},[117,475,476],{},"~onSwing",[241,478,479],{},"左键挥臂",[226,481,482,487],{},[241,483,484],{},[117,485,486],{},"~onShiftSwing",[241,488,489],{},"潜行 + 左键（三叉戟\u002F矛也可用）",[226,491,492,497],{},[241,493,494],{},[117,495,496],{},"~onAttack",[241,498,499],{},"近战攻击命中实体",[226,501,502,507],{},[241,503,504],{},[117,505,506],{},"~onKill",[241,508,509],{},"击杀实体",[226,511,512,517],{},[241,513,514],{},[117,515,516],{},"~onHit",[241,518,519],{},"发射物命中（任意类型）",[226,521,522,527],{},[241,523,524],{},[117,525,526],{},"~onHit:类型",[241,528,529],{},"发射物命中指定类型",[226,531,532,537],{},[241,533,534],{},[117,535,536],{},"~onLaunch",[241,538,539],{},"发射物射出（任意类型）",[226,541,542,547],{},[241,543,544],{},[117,545,546],{},"~onLaunch:类型",[241,548,549],{},"发射物射出指定类型",[226,551,552,557],{},[241,553,554],{},[117,555,556],{},"~onBreak",[241,558,559],{},"挖掉方块",[226,561,562,567],{},[241,563,564],{},[117,565,566],{},"~onDamaged",[241,568,569],{},"物品即将损失耐久",[226,571,572,577],{},[241,573,574],{},[117,575,576],{},"~onTimer",[241,578,579],{},"每秒轮询（常驻 BUFF 用）",[113,581,582,584,585,588,589,592,593,592,596,592,599,592,602,592,605,608,609,612],{},[117,583,526],{}," 的类型直接取实体类型名，",[122,586,587],{},"不是固定清单","：",[117,590,591],{},"ARROW","、",[117,594,595],{},"TRIDENT",[117,597,598],{},"SPEAR",[117,600,601],{},"EGG",[117,603,604],{},"SNOWBALL",[117,606,607],{},"FIREBALL","… 服务端有什么实体就能写什么。所以 1.21.11 的矛投出去后写 ",[117,610,611],{},"~onHit:SPEAR"," 直接可用。",[113,614,615,616,619,620,623],{},"游戏内用 ",[117,617,618],{},"\u002Fsgem triggers"," 查看清单（内容来自 ",[117,621,622],{},"lang.yml","，可自行增删措辞）。",[213,625],{},[216,627,628],{"id":628},"函数清单",[113,630,615,631,634,635,638],{},[117,632,633],{},"\u002Fsgem skills [关键字]"," 查看，会标出每个函数在",[122,636,637],{},"当前版本","是否可用。",[640,641,642],"h3",{"id":642},"位移",[220,644,645,658],{},[223,646,647],{},[226,648,649,652,655],{},[229,650,651],{},"函数",[229,653,654],{},"别名",[229,656,657],{},"用法",[236,659,660,685],{},[226,661,662,667,676],{},[241,663,664],{},[117,665,666],{},"Blink",[241,668,669,672,673],{},[117,670,671],{},"Teleport"," ",[117,674,675],{},"闪现",[241,677,678,681,682,684],{},[117,679,680],{},"{distance=10}"," 沿视线瞬移；配合 ",[117,683,427],{}," 传送到命中处",[226,686,687,692,703],{},[241,688,689],{},[117,690,691],{},"Velocity",[241,693,694,672,697,672,700],{},[117,695,696],{},"Push",[117,698,699],{},"击退",[117,701,702],{},"冲刺",[241,704,705,708,709],{},[117,706,707],{},"{forward=1.5;up=0.5}"," 或 ",[117,710,711],{},"{x=0;y=1;z=0}",[113,713,714,716],{},[117,715,666],{}," 会沿视线逐格前进，撞到非空气就停在前一格，不会把玩家塞进墙里。",[640,718,719],{"id":719},"战斗",[220,721,722,732],{},[223,723,724],{},[226,725,726,728,730],{},[229,727,651],{},[229,729,654],{},[229,731,657],{},[236,733,734,751,770,791],{},[226,735,736,741,746],{},[241,737,738],{},[117,739,740],{},"Damage",[241,742,743],{},[117,744,745],{},"伤害",[241,747,748],{},[117,749,750],{},"{amount=5}",[226,752,753,758,766],{},[241,754,755],{},[117,756,757],{},"Heal",[241,759,760,672,763],{},[117,761,762],{},"治疗",[117,764,765],{},"恢复",[241,767,768],{},[117,769,750],{},[226,771,772,777,785],{},[241,773,774],{},[117,775,776],{},"Fire",[241,778,779,672,782],{},[117,780,781],{},"点燃",[117,783,784],{},"燃烧",[241,786,787,790],{},[117,788,789],{},"{ticks=100}","（20 tick = 1 秒）",[226,792,793,798,806],{},[241,794,795],{},[117,796,797],{},"Lightning",[241,799,800,672,803],{},[117,801,802],{},"闪电",[117,804,805],{},"雷击",[241,807,808,811,812,815],{},[117,809,810],{},"{damage=true}","，",[117,813,814],{},"false"," 则只有视觉效果",[640,817,818],{"id":818},"反馈",[220,820,821,831],{},[223,822,823],{},[226,824,825,827,829],{},[229,826,651],{},[229,828,654],{},[229,830,657],{},[236,832,833,856,873,890,907],{},[226,834,835,840,851],{},[241,836,837],{},[117,838,839],{},"Chat",[241,841,842,672,845,672,848],{},[117,843,844],{},"Message",[117,846,847],{},"Msg",[117,849,850],{},"消息",[241,852,853],{},[117,854,855],{},"{m=&a技能发动!}",[226,857,858,863,868],{},[241,859,860],{},[117,861,862],{},"ActionBar",[241,864,865],{},[117,866,867],{},"动作栏",[241,869,870],{},[117,871,872],{},"{m=&b蓄力完成}",[226,874,875,880,885],{},[241,876,877],{},[117,878,879],{},"Title",[241,881,882],{},[117,883,884],{},"标题",[241,886,887],{},[117,888,889],{},"{m=主标题;s=副标题;fadeIn=10;stay=40;fadeOut=10}",[226,891,892,897,902],{},[241,893,894],{},[117,895,896],{},"Sound",[241,898,899],{},[117,900,901],{},"音效",[241,903,904],{},[117,905,906],{},"{name=ENTITY_PLAYER_LEVELUP;volume=1;pitch=1}",[226,908,909,914,919],{},[241,910,911],{},[117,912,913],{},"Particle",[241,915,916],{},[117,917,918],{},"粒子",[241,920,921],{},[117,922,923],{},"{name=FLAME;count=20;ox=0.5;oy=0.5;oz=0.5;speed=0}",[113,925,926],{},"音效名和粒子名随版本增删，写错或版本不支持会跳过并在日志说明，不会报错崩溃。",[640,928,929],{"id":929},"药水效果",[220,931,932,942],{},[223,933,934],{},[226,935,936,938,940],{},[229,937,651],{},[229,939,654],{},[229,941,657],{},[236,943,944,971,991],{},[226,945,946,951,962],{},[241,947,948],{},[117,949,950],{},"Potion",[241,952,953,672,956,672,959],{},[117,954,955],{},"PotionBuff",[117,957,958],{},"Buff",[117,960,961],{},"药水",[241,963,964,967,968],{},[117,965,966],{},"{type=SPEED;level=2;duration=10}","，duration 单位为",[122,969,970],{},"秒",[226,972,973,978,983],{},[241,974,975],{},[117,976,977],{},"Debuff",[241,979,980],{},[117,981,982],{},"负面",[241,984,985,708,988],{},[117,986,987],{},"{type=move;duration=5}",[117,989,990],{},"{type=BLINDNESS;level=1;duration=5}",[226,992,993,998,1006],{},[241,994,995],{},[117,996,997],{},"ClearPotion",[241,999,1000,672,1003],{},[117,1001,1002],{},"RemovePotion",[117,1004,1005],{},"清除效果",[241,1007,1008,1011],{},[117,1009,1010],{},"{type=POISON}","，不带参数则清除全部",[113,1013,1014,1016,1017,1020,1021,1024,1025,1028],{},[117,1015,977],{}," 有两个语义化的特殊值：",[117,1018,1019],{},"type=move"," 是强力缓慢（定身），",[117,1022,1023],{},"type=fly"," 是禁飞。其余一律按效果名解析，所以 ",[117,1026,1027],{},"Debuff{type=weaving}"," 这种新版本效果也能写。",[113,1030,1031,1034],{},[117,1032,1033],{},"level"," 是「第几级」（从 1 起），不是 amplifier。",[640,1036,1037],{"id":1037},"物品操作",[220,1039,1040,1050],{},[223,1041,1042],{},[226,1043,1044,1046,1048],{},[229,1045,651],{},[229,1047,654],{},[229,1049,657],{},[236,1051,1052,1072,1091],{},[226,1053,1054,1059,1064],{},[241,1055,1056],{},[117,1057,1058],{},"Enchant",[241,1060,1061],{},[117,1062,1063],{},"附魔",[241,1065,1066,708,1069],{},[117,1067,1068],{},"{name=sharpness;level=5}",[117,1070,1071],{},"{name=fortune;limit=3}",[226,1073,1074,1078,1086],{},[241,1075,1076],{},[117,1077,292],{},[241,1079,1080,672,1083],{},[117,1081,1082],{},"形态切换",[117,1084,1085],{},"切换",[241,1087,1088],{},[117,1089,1090],{},"{s=精准;时运}",[226,1092,1093,1098,1106],{},[241,1094,1095],{},[117,1096,1097],{},"Repair",[241,1099,1100,672,1103],{},[117,1101,1102],{},"修复",[117,1104,1105],{},"耐久",[241,1107,1108,811,1111,1114],{},[117,1109,1110],{},"{amount=100}",[117,1112,1113],{},"amount=full"," 则完全修复",[113,1116,1117,1119],{},[117,1118,1058],{}," 的四种语义：",[220,1121,1122,1131],{},[223,1123,1124],{},[226,1125,1126,1128],{},[229,1127,396],{},[229,1129,1130],{},"效果",[236,1132,1133,1143,1157,1167],{},[226,1134,1135,1140],{},[241,1136,1137],{},[117,1138,1139],{},"level=5",[241,1141,1142],{},"设为 5 级",[226,1144,1145,1150],{},[241,1146,1147],{},[117,1148,1149],{},"level=0",[241,1151,1152,1153,1156],{},"移除，并",[122,1154,1155],{},"记住原等级","（供 restore 用）",[226,1158,1159,1164],{},[241,1160,1161],{},[117,1162,1163],{},"level=restore",[241,1165,1166],{},"恢复之前记住的等级",[226,1168,1169,1174],{},[241,1170,1171,1172],{},"不写 ",[117,1173,1033],{},[241,1175,1176,1177,1180],{},"当前等级 +1，受 ",[117,1178,1179],{},"limit"," 限制",[640,1182,1183],{"id":1183},"控制流",[113,1185,1186],{},"这一层是「技能引擎足够聪明」的关键：有了条件和组合，你可以自己拼出复杂逻辑，不需要等插件加新函数。",[220,1188,1189,1199],{},[223,1190,1191],{},[226,1192,1193,1195,1197],{},[229,1194,651],{},[229,1196,654],{},[229,1198,657],{},[236,1200,1201,1222,1243,1263,1281,1298,1319],{},[226,1202,1203,1208,1216],{},[241,1204,1205],{},[117,1206,1207],{},"All",[241,1209,1210,672,1213],{},[117,1211,1212],{},"Group",[117,1214,1215],{},"组合",[241,1217,1218,1221],{},[117,1219,1220],{},"{Damage{amount=5};Fire{ticks=60}}"," 依次执行多个",[226,1223,1224,1229,1237],{},[241,1225,1226],{},[117,1227,1228],{},"Chance",[241,1230,1231,672,1234],{},[117,1232,1233],{},"Random",[117,1235,1236],{},"概率",[241,1238,1239,1242],{},[117,1240,1241],{},"{p=0.3;Damage{amount=10}}","，p 为 0~1",[226,1244,1245,1250,1258],{},[241,1246,1247],{},[117,1248,1249],{},"If",[241,1251,1252,672,1255],{},[117,1253,1254],{},"Condition",[117,1256,1257],{},"条件",[241,1259,1260],{},[117,1261,1262],{},"{c=health\u003C0.3;Heal{amount=10}}",[226,1264,1265,1270,1275],{},[241,1266,1267],{},[117,1268,1269],{},"Delay",[241,1271,1272],{},[117,1273,1274],{},"延迟",[241,1276,1277,1280],{},[117,1278,1279],{},"{t=20;Damage{amount=5}}"," 延迟 20 tick",[226,1282,1283,1288,1293],{},[241,1284,1285],{},[117,1286,1287],{},"Repeat",[241,1289,1290],{},[117,1291,1292],{},"循环",[241,1294,1295],{},[117,1296,1297],{},"{times=3;interval=6;Damage{amount=2}}",[226,1299,1300,1305,1313],{},[241,1301,1302],{},[117,1303,1304],{},"Reward",[241,1306,1307,672,1310],{},[117,1308,1309],{},"Do",[117,1311,1312],{},"执行",[241,1314,1315,1318],{},[117,1316,1317],{},"{Chat{m=&a触发!}}"," 包一层（兼容老配置）",[226,1320,1321,1326,1334],{},[241,1322,1323],{},[117,1324,1325],{},"Command",[241,1327,1328,672,1331],{},[117,1329,1330],{},"Cmd",[117,1332,1333],{},"命令",[241,1335,1336],{},[117,1337,1338],{},"{c=give %player% diamond 1;as=console}",[113,1340,1341,1342,1345,1346,1349],{},"嵌套里可以",[122,1343,1344],{},"再套控制流","，例如 ",[117,1347,1348],{},"If{c=health\u003C0.3;All{Heal{amount=20};Potion{type=RESISTANCE;level=3}}}","。",[113,1351,1352,1354],{},[117,1353,1249],{}," 支持的条件变量：",[220,1356,1357,1366],{},[223,1358,1359],{},[226,1360,1361,1364],{},[229,1362,1363],{},"变量",[229,1365,399],{},[236,1367,1368,1382,1392,1402,1412,1421,1431,1441],{},[226,1369,1370,1375],{},[241,1371,1372],{},[117,1373,1374],{},"health",[241,1376,1377,1378,1381],{},"自己的生命",[122,1379,1380],{},"比例","（0~1）",[226,1383,1384,1389],{},[241,1385,1386],{},[117,1387,1388],{},"raw_health",[241,1390,1391],{},"自己的生命绝对值",[226,1393,1394,1399],{},[241,1395,1396],{},[117,1397,1398],{},"max_health",[241,1400,1401],{},"自己的生命上限",[226,1403,1404,1409],{},[241,1405,1406],{},[117,1407,1408],{},"food",[241,1410,1411],{},"饱食度（0~20）",[226,1413,1414,1418],{},[241,1415,1416],{},[117,1417,1033],{},[241,1419,1420],{},"经验等级",[226,1422,1423,1428],{},[241,1424,1425],{},[117,1426,1427],{},"y",[241,1429,1430],{},"所在高度",[226,1432,1433,1438],{},[241,1434,1435],{},[117,1436,1437],{},"target_health",[241,1439,1440],{},"目标的生命比例（0~1）",[226,1442,1443,1448],{},[241,1444,1445],{},[117,1446,1447],{},"target_raw_health",[241,1449,1450],{},"目标的生命绝对值",[113,1452,1453,1454,672,1457,672,1460,672,1463,672,1466,672,1469],{},"运算符：",[117,1455,1456],{},">",[117,1458,1459],{},">=",[117,1461,1462],{},"\u003C",[117,1464,1465],{},"\u003C=",[117,1467,1468],{},"==",[117,1470,1471],{},"!=",[280,1473,1474,1477],{"icon":282},[117,1475,1476],{},"target_*"," 在这次触发没有目标实体时取不到值，条件直接判为不成立（不是报错）。",[113,1479,1480,1482,1483,1486,1487,1490,1491,1494,1495,1498,1499,1502,1503,1506],{},[117,1481,1325],{}," 的 ",[117,1484,1485],{},"as"," 参数：",[117,1488,1489],{},"player","（默认）、",[117,1492,1493],{},"op","（临时提权后还原）、",[117,1496,1497],{},"console","。命令里可用 ",[117,1500,1501],{},"%player%"," 和 ",[117,1504,1505],{},"%uuid%"," 占位符。",[280,1508,1511,1514,1515,1518,1519,1349],{"icon":1509,"type":1510},"i-lucide-shield-alert","warning",[117,1512,1513],{},"Command{as=op}"," 会临时给玩家 OP 权限执行命令。虽然执行完立即还原，但如果命令内容里含玩家可控的文本（比如从 lore 读来的值），存在被利用的风险。能用 ",[117,1516,1517],{},"as=console"," 就别用 ",[117,1520,1521],{},"as=op",[113,1523,1524,1482,1526,1529,1530,1533],{},[117,1525,1287],{},[117,1527,1528],{},"times"," 上限是 100，防止手滑写 ",[117,1531,1532],{},"times=99999"," 卡死主线程。",[213,1535],{},[216,1537,1539],{"id":1538},"cooldowntip冷却提示","CooldownTip：冷却提示",[113,1541,1542,1544],{},[117,1543,265],{}," 本身也是一个函数表达式，支持三种：",[1546,1547,1548,1563,1578],"code-group",{},[130,1549,1552],{"className":132,"code":1550,"filename":1551,"language":134,"meta":135,"style":135},"CooldownTip: ActionBar{p=&c冷却时间;s=&a%.2fs;empty=&f|;full=&a|;length=75}\n","进度条",[117,1553,1554],{"__ignoreMap":135},[139,1555,1556,1558,1560],{"class":141,"line":142},[139,1557,265],{"class":145},[139,1559,150],{"class":149},[139,1561,1562],{"class":168}," ActionBar{p=&c冷却时间;s=&a%.2fs;empty=&f|;full=&a|;length=75}\n",[130,1564,1567],{"className":132,"code":1565,"filename":1566,"language":134,"meta":135,"style":135},"CooldownTip: Chat{m=&c技能还在冷却中}\n","聊天栏",[117,1568,1569],{"__ignoreMap":135},[139,1570,1571,1573,1575],{"class":141,"line":142},[139,1572,265],{"class":145},[139,1574,150],{"class":149},[139,1576,1577],{"class":168}," Chat{m=&c技能还在冷却中}\n",[130,1579,1582],{"className":132,"code":1580,"filename":1581,"language":134,"meta":135,"style":135},"CooldownTip: Title{m=&c冷却中}\n","大标题",[117,1583,1584],{"__ignoreMap":135},[139,1585,1586,1588,1590],{"class":141,"line":142},[139,1587,265],{"class":145},[139,1589,150],{"class":149},[139,1591,1592],{"class":168}," Title{m=&c冷却中}\n",[113,1594,1595,1597],{},[117,1596,862],{}," 模式的参数：",[220,1599,1600,1609],{},[223,1601,1602],{},[226,1603,1604,1607],{},[229,1605,1606],{},"参数",[229,1608,234],{},[236,1610,1611,1620,1634,1644,1654],{},[226,1612,1613,1617],{},[241,1614,1615],{},[117,1616,113],{},[241,1618,1619],{},"前缀文字",[226,1621,1622,1627],{},[241,1623,1624],{},[117,1625,1626],{},"s",[241,1628,1629,1630,1633],{},"后缀模板，",[117,1631,1632],{},"%.2f"," 会被替换成剩余秒数",[226,1635,1636,1641],{},[241,1637,1638],{},[117,1639,1640],{},"empty",[241,1642,1643],{},"进度条未填充部分的字符",[226,1645,1646,1651],{},[241,1647,1648],{},[117,1649,1650],{},"full",[241,1652,1653],{},"已填充部分的字符",[226,1655,1656,1661],{},[241,1657,1658],{},[117,1659,1660],{},"length",[241,1662,1663],{},"进度条长度",[213,1665],{},[216,1667,1668],{"id":1668},"完整示例",[640,1670,1672],{"id":1671},"条件技能濒死保命","条件技能：濒死保命",[130,1674,1676],{"className":132,"code":1675,"language":134,"meta":135,"style":135},"濒死守护:\n  Lore: \"&c濒死守护\"\n  Cooldown: 30.0\n  CooldownTip: ActionBar{p=&c守护冷却;s=&c%.2fs;empty=&8|;full=&c|;length=40}\n  Skills:\n    # 被打到 30% 以下时，回血 + 抗性 + 音效\n    - If{c=health\u003C0.3;All{Heal{amount=20};Potion{type=RESISTANCE;level=3;duration=6};Sound{name=ITEM_TOTEM_USE}}} ~onDamaged\n    - If{c=health\u003C0.3;Title{m=&c&l守护发动;s=&7生命已恢复}} ~onDamaged\n",[117,1677,1678,1685,1699,1708,1718,1724,1730,1738],{"__ignoreMap":135},[139,1679,1680,1683],{"class":141,"line":142},[139,1681,1682],{"class":145},"濒死守护",[139,1684,199],{"class":149},[139,1686,1687,1689,1691,1693,1696],{"class":141,"line":157},[139,1688,160],{"class":145},[139,1690,150],{"class":149},[139,1692,165],{"class":149},[139,1694,1695],{"class":168},"&c濒死守护",[139,1697,1698],{"class":149},"\"\n",[139,1700,1701,1703,1705],{"class":141,"line":178},[139,1702,181],{"class":145},[139,1704,150],{"class":149},[139,1706,1707],{"class":186}," 30.0\n",[139,1709,1710,1713,1715],{"class":141,"line":193},[139,1711,1712],{"class":145},"  CooldownTip",[139,1714,150],{"class":149},[139,1716,1717],{"class":168}," ActionBar{p=&c守护冷却;s=&c%.2fs;empty=&8|;full=&c|;length=40}\n",[139,1719,1720,1722],{"class":141,"line":202},[139,1721,196],{"class":145},[139,1723,199],{"class":149},[139,1725,1727],{"class":141,"line":1726},6,[139,1728,1729],{"class":153},"    # 被打到 30% 以下时，回血 + 抗性 + 音效\n",[139,1731,1733,1735],{"class":141,"line":1732},7,[139,1734,205],{"class":149},[139,1736,1737],{"class":168}," If{c=health\u003C0.3;All{Heal{amount=20};Potion{type=RESISTANCE;level=3;duration=6};Sound{name=ITEM_TOTEM_USE}}} ~onDamaged\n",[139,1739,1741,1743],{"class":141,"line":1740},8,[139,1742,205],{"class":149},[139,1744,1745],{"class":168}," If{c=health\u003C0.3;Title{m=&c&l守护发动;s=&7生命已恢复}} ~onDamaged\n",[640,1747,1749],{"id":1748},"概率技能攻击时随机触发","概率技能：攻击时随机触发",[130,1751,1753],{"className":132,"code":1752,"language":134,"meta":135,"style":135},"雷霆之刃:\n  Lore: \"&b雷霆之刃\"\n  Skills:\n    - Chance{p=0.2;Lightning{damage=true}} ~onAttack @Entity\n    - Chance{p=0.3;Fire{ticks=80}} ~onAttack @Entity\n    - Chance{p=0.2;ActionBar{m=&e&l雷霆!}} ~onAttack\n",[117,1754,1755,1762,1775,1781,1788,1795],{"__ignoreMap":135},[139,1756,1757,1760],{"class":141,"line":142},[139,1758,1759],{"class":145},"雷霆之刃",[139,1761,199],{"class":149},[139,1763,1764,1766,1768,1770,1773],{"class":141,"line":157},[139,1765,160],{"class":145},[139,1767,150],{"class":149},[139,1769,165],{"class":149},[139,1771,1772],{"class":168},"&b雷霆之刃",[139,1774,1698],{"class":149},[139,1776,1777,1779],{"class":141,"line":178},[139,1778,196],{"class":145},[139,1780,199],{"class":149},[139,1782,1783,1785],{"class":141,"line":193},[139,1784,205],{"class":149},[139,1786,1787],{"class":168}," Chance{p=0.2;Lightning{damage=true}} ~onAttack @Entity\n",[139,1789,1790,1792],{"class":141,"line":202},[139,1791,205],{"class":149},[139,1793,1794],{"class":168}," Chance{p=0.3;Fire{ticks=80}} ~onAttack @Entity\n",[139,1796,1797,1799],{"class":141,"line":1726},[139,1798,205],{"class":149},[139,1800,1801],{"class":168}," Chance{p=0.2;ActionBar{m=&e&l雷霆!}} ~onAttack\n",[640,1803,1805],{"id":1804},"连招延迟与重复","连招：延迟与重复",[130,1807,1809],{"className":132,"code":1808,"language":134,"meta":135,"style":135},"三段斩:\n  Lore: \"&6三段斩\"\n  Cooldown: 8.0\n  Skills:\n    - Repeat{times=3;interval=6;All{Damage{amount=4};Particle{name=SWEEP_ATTACK;count=8}}} ~onAttack @Entity\n    - Sound{name=ENTITY_PLAYER_ATTACK_SWEEP} ~onAttack\n",[117,1810,1811,1818,1831,1840,1846,1853],{"__ignoreMap":135},[139,1812,1813,1816],{"class":141,"line":142},[139,1814,1815],{"class":145},"三段斩",[139,1817,199],{"class":149},[139,1819,1820,1822,1824,1826,1829],{"class":141,"line":157},[139,1821,160],{"class":145},[139,1823,150],{"class":149},[139,1825,165],{"class":149},[139,1827,1828],{"class":168},"&6三段斩",[139,1830,1698],{"class":149},[139,1832,1833,1835,1837],{"class":141,"line":178},[139,1834,181],{"class":145},[139,1836,150],{"class":149},[139,1838,1839],{"class":186}," 8.0\n",[139,1841,1842,1844],{"class":141,"line":193},[139,1843,196],{"class":145},[139,1845,199],{"class":149},[139,1847,1848,1850],{"class":141,"line":202},[139,1849,205],{"class":149},[139,1851,1852],{"class":168}," Repeat{times=3;interval=6;All{Damage{amount=4};Particle{name=SWEEP_ATTACK;count=8}}} ~onAttack @Entity\n",[139,1854,1855,1857],{"class":141,"line":1726},[139,1856,205],{"class":149},[139,1858,1859],{"class":168}," Sound{name=ENTITY_PLAYER_ATTACK_SWEEP} ~onAttack\n",[640,1861,1863],{"id":1862},"发射物技能飞雷神","发射物技能：飞雷神",[130,1865,1867],{"className":132,"code":1866,"language":134,"meta":135,"style":135},"飞雷神三叉戟:\n  Lore: \"飞雷神三叉戟\"\n  Cooldown: 15.0\n  Skills:\n    - Blink{distance=120} ~onHit:TRIDENT @Location\n    - Reward{Title{m=&e飞雷神之术}} ~onHit:TRIDENT\n",[117,1868,1869,1876,1888,1897,1903,1910],{"__ignoreMap":135},[139,1870,1871,1874],{"class":141,"line":142},[139,1872,1873],{"class":145},"飞雷神三叉戟",[139,1875,199],{"class":149},[139,1877,1878,1880,1882,1884,1886],{"class":141,"line":157},[139,1879,160],{"class":145},[139,1881,150],{"class":149},[139,1883,165],{"class":149},[139,1885,1873],{"class":168},[139,1887,1698],{"class":149},[139,1889,1890,1892,1894],{"class":141,"line":178},[139,1891,181],{"class":145},[139,1893,150],{"class":149},[139,1895,1896],{"class":186}," 15.0\n",[139,1898,1899,1901],{"class":141,"line":193},[139,1900,196],{"class":145},[139,1902,199],{"class":149},[139,1904,1905,1907],{"class":141,"line":202},[139,1906,205],{"class":149},[139,1908,1909],{"class":168}," Blink{distance=120} ~onHit:TRIDENT @Location\n",[139,1911,1912,1914],{"class":141,"line":1726},[139,1913,205],{"class":149},[139,1915,1916],{"class":168}," Reward{Title{m=&e飞雷神之术}} ~onHit:TRIDENT\n",[640,1918,1920],{"id":1919},"矛技能12111","矛技能（1.21.11+）",[130,1922,1924],{"className":132,"code":1923,"language":134,"meta":135,"style":135},"穿云长矛:\n  Lore: \"&f穿云长矛\"\n  Cooldown: 6.0\n  Skills:\n    # 投出瞬间\n    - Sound{name=ITEM_TRIDENT_THROW} ~onLaunch:SPEAR\n    - ActionBar{m=&f长矛已投出} ~onLaunch:SPEAR\n    # 命中处\n    - Particle{name=EXPLOSION;count=1} ~onHit:SPEAR @Location\n    - Damage{amount=6} ~onHit:SPEAR @Entity\n    - Blink{distance=120} ~onHit:SPEAR @Location\n",[117,1925,1926,1933,1946,1955,1961,1966,1973,1980,1985,1993,2001],{"__ignoreMap":135},[139,1927,1928,1931],{"class":141,"line":142},[139,1929,1930],{"class":145},"穿云长矛",[139,1932,199],{"class":149},[139,1934,1935,1937,1939,1941,1944],{"class":141,"line":157},[139,1936,160],{"class":145},[139,1938,150],{"class":149},[139,1940,165],{"class":149},[139,1942,1943],{"class":168},"&f穿云长矛",[139,1945,1698],{"class":149},[139,1947,1948,1950,1952],{"class":141,"line":178},[139,1949,181],{"class":145},[139,1951,150],{"class":149},[139,1953,1954],{"class":186}," 6.0\n",[139,1956,1957,1959],{"class":141,"line":193},[139,1958,196],{"class":145},[139,1960,199],{"class":149},[139,1962,1963],{"class":141,"line":202},[139,1964,1965],{"class":153},"    # 投出瞬间\n",[139,1967,1968,1970],{"class":141,"line":1726},[139,1969,205],{"class":149},[139,1971,1972],{"class":168}," Sound{name=ITEM_TRIDENT_THROW} ~onLaunch:SPEAR\n",[139,1974,1975,1977],{"class":141,"line":1732},[139,1976,205],{"class":149},[139,1978,1979],{"class":168}," ActionBar{m=&f长矛已投出} ~onLaunch:SPEAR\n",[139,1981,1982],{"class":141,"line":1740},[139,1983,1984],{"class":153},"    # 命中处\n",[139,1986,1988,1990],{"class":141,"line":1987},9,[139,1989,205],{"class":149},[139,1991,1992],{"class":168}," Particle{name=EXPLOSION;count=1} ~onHit:SPEAR @Location\n",[139,1994,1996,1998],{"class":141,"line":1995},10,[139,1997,205],{"class":149},[139,1999,2000],{"class":168}," Damage{amount=6} ~onHit:SPEAR @Entity\n",[139,2002,2004,2006],{"class":141,"line":2003},11,[139,2005,205],{"class":149},[139,2007,2008],{"class":168}," Blink{distance=120} ~onHit:SPEAR @Location\n",[213,2010],{},[216,2012,2014],{"id":2013},"从-lore-读数值lore","从 lore 读数值：$LORE:$",[113,2016,2017],{},"技能参数可以从装备 lore 里动态读数值：",[130,2019,2022],{"className":2020,"code":2021,"language":315},[313],"$LORE:标签?默认值$\n",[117,2023,2021],{"__ignoreMap":135},[130,2025,2027],{"className":132,"code":2026,"language":134,"meta":135,"style":135},"向前闪现:\n  Lore: \"右键即可闪现\"\n  Skills:\n    - Blink{distance=$LORE:闪现距离?32$} ~onUse @Forward\n",[117,2028,2029,2035,2047,2053],{"__ignoreMap":135},[139,2030,2031,2033],{"class":141,"line":142},[139,2032,146],{"class":145},[139,2034,199],{"class":149},[139,2036,2037,2039,2041,2043,2045],{"class":141,"line":157},[139,2038,160],{"class":145},[139,2040,150],{"class":149},[139,2042,165],{"class":149},[139,2044,169],{"class":168},[139,2046,1698],{"class":149},[139,2048,2049,2051],{"class":141,"line":178},[139,2050,196],{"class":145},[139,2052,199],{"class":149},[139,2054,2055,2057],{"class":141,"line":193},[139,2056,205],{"class":149},[139,2058,2059],{"class":168}," Blink{distance=$LORE:闪现距离?32$} ~onUse @Forward\n",[113,2061,2062,2063,2066],{},"装备 lore 里写「闪现距离 64」就用 64，没写就用 32。标签要写",[122,2064,2065],{},"去掉颜色码","的形式——插件会先把 lore 去色再比较，所以颜色码穿插在中间也能匹配。",[113,2068,2069,2070,2073],{},"这套机制让「同一个技能定义，不同装备不同数值」成为可能，配合宝石的 ",[117,2071,2072],{},"LoreVar"," 就能做出可升级的技能。",[213,2075],{},[216,2077,2079],{"id":2078},"形态切换switch","形态切换：Switch",[113,2081,2082,2083,2086],{},"「精准 ↔ 时运」这类切换：两个形态各自是一个技能定义，用 ",[117,2084,2085],{},"RewardSwitch"," 声明进入该形态要做什么。",[130,2088,2090],{"className":132,"code":2089,"language":134,"meta":135,"style":135},"精准时运切换:\n  Lore: \"§2Shift+右键切换模式(精准\u002F时运)\"\n  Cooldown: 4.0\n  CooldownTip: ActionBar{p=&c切换冷却;s=&a%.2fs;empty=&f|;full=&c|;length=75}\n  Skills:\n    - Switch{s=精准;时运} ~onShiftUse\n\n# 精准模式：收起时运，恢复精准\n精准:\n  Skills:\n    - RewardSwitch{Enchant{name=fortune;level=0}}\n    - RewardSwitch{Enchant{name=silk_touch;level=restore}}\n    - RewardSwitch{ActionBar{m=&b&l切换为精准模式}}\n\n# 时运模式：收起精准，恢复时运\n时运:\n  Skills:\n    - RewardSwitch{Enchant{name=silk_touch;level=0}}\n    - RewardSwitch{Enchant{name=fortune;level=restore}}\n    - RewardSwitch{ActionBar{m=&a&l切换为时运模式}}\n",[117,2091,2092,2099,2112,2121,2130,2136,2143,2149,2154,2161,2167,2174,2182,2190,2195,2201,2209,2216,2224,2232],{"__ignoreMap":135},[139,2093,2094,2097],{"class":141,"line":142},[139,2095,2096],{"class":145},"精准时运切换",[139,2098,199],{"class":149},[139,2100,2101,2103,2105,2107,2110],{"class":141,"line":157},[139,2102,160],{"class":145},[139,2104,150],{"class":149},[139,2106,165],{"class":149},[139,2108,2109],{"class":168},"§2Shift+右键切换模式(精准\u002F时运)",[139,2111,1698],{"class":149},[139,2113,2114,2116,2118],{"class":141,"line":178},[139,2115,181],{"class":145},[139,2117,150],{"class":149},[139,2119,2120],{"class":186}," 4.0\n",[139,2122,2123,2125,2127],{"class":141,"line":193},[139,2124,1712],{"class":145},[139,2126,150],{"class":149},[139,2128,2129],{"class":168}," ActionBar{p=&c切换冷却;s=&a%.2fs;empty=&f|;full=&c|;length=75}\n",[139,2131,2132,2134],{"class":141,"line":202},[139,2133,196],{"class":145},[139,2135,199],{"class":149},[139,2137,2138,2140],{"class":141,"line":1726},[139,2139,205],{"class":149},[139,2141,2142],{"class":168}," Switch{s=精准;时运} ~onShiftUse\n",[139,2144,2145],{"class":141,"line":1732},[139,2146,2148],{"emptyLinePlaceholder":2147},true,"\n",[139,2150,2151],{"class":141,"line":1740},[139,2152,2153],{"class":153},"# 精准模式：收起时运，恢复精准\n",[139,2155,2156,2159],{"class":141,"line":1987},[139,2157,2158],{"class":145},"精准",[139,2160,199],{"class":149},[139,2162,2163,2165],{"class":141,"line":1995},[139,2164,196],{"class":145},[139,2166,199],{"class":149},[139,2168,2169,2171],{"class":141,"line":2003},[139,2170,205],{"class":149},[139,2172,2173],{"class":168}," RewardSwitch{Enchant{name=fortune;level=0}}\n",[139,2175,2177,2179],{"class":141,"line":2176},12,[139,2178,205],{"class":149},[139,2180,2181],{"class":168}," RewardSwitch{Enchant{name=silk_touch;level=restore}}\n",[139,2183,2185,2187],{"class":141,"line":2184},13,[139,2186,205],{"class":149},[139,2188,2189],{"class":168}," RewardSwitch{ActionBar{m=&b&l切换为精准模式}}\n",[139,2191,2193],{"class":141,"line":2192},14,[139,2194,2148],{"emptyLinePlaceholder":2147},[139,2196,2198],{"class":141,"line":2197},15,[139,2199,2200],{"class":153},"# 时运模式：收起精准，恢复时运\n",[139,2202,2204,2207],{"class":141,"line":2203},16,[139,2205,2206],{"class":145},"时运",[139,2208,199],{"class":149},[139,2210,2212,2214],{"class":141,"line":2211},17,[139,2213,196],{"class":145},[139,2215,199],{"class":149},[139,2217,2219,2221],{"class":141,"line":2218},18,[139,2220,205],{"class":149},[139,2222,2223],{"class":168}," RewardSwitch{Enchant{name=silk_touch;level=0}}\n",[139,2225,2227,2229],{"class":141,"line":2226},19,[139,2228,205],{"class":149},[139,2230,2231],{"class":168}," RewardSwitch{Enchant{name=fortune;level=restore}}\n",[139,2233,2235,2237],{"class":141,"line":2234},20,[139,2236,205],{"class":149},[139,2238,2239],{"class":168}," RewardSwitch{ActionBar{m=&a&l切换为时运模式}}\n",[113,2241,2242,2243,2245,2246,2248],{},"工作原理：",[117,2244,1149],{}," 移除附魔并记住原等级，",[117,2247,1163],{}," 恢复记住的等级。切换状态存在物品的 PDC 里。",[280,2250,2252,2255,2256,708,2258,2261],{"icon":2251},"i-lucide-lightbulb",[122,2253,2254],{},"你新写任意一组切换都不需要改插件。"," 引擎会读取两个形态各自声明的「特征附魔」（",[117,2257,1163],{},[117,2259,2260],{},"level>0"," 的那些），看物品上实际带着谁的附魔，据此反推当前形态。所以「忠诚 ↔ 激流」「经验修补 ↔ 无限」「火焰附加 ↔ 击退」都能照抄上面的结构直接用。",[113,2263,2264,2265,2270,2271,2273],{},"两个形态定义",[122,2266,2267,2268],{},"不需要写 ",[117,2269,245],{},"——它们不由装备直接触发，而是被 ",[117,2272,292],{}," 调用。",[113,2275,2276,2277,2279,2280,2279,2282,2284,2285,2287],{},"如果目标形态自己配了 ",[117,2278,839],{},"\u002F",[117,2281,862],{},[117,2283,879],{},"，就以配置为准；没配的话插件会发一条来自 ",[117,2286,622],{}," 的兜底提示，避免按下去毫无反应像是插件坏了。",[213,2289],{},[216,2291,2293],{"id":2292},"常驻-buff","常驻 BUFF",[113,2295,2296,2297,2300,2301,2303],{},"BUFF 引擎每秒扫描每个在线玩家的",[122,2298,2299],{},"主手、副手、四件盔甲","，命中 lore 标记就执行该定义里带 ",[117,2302,576],{}," 的技能行。",[130,2305,2307],{"className":132,"code":2306,"language":134,"meta":135,"style":135},"发光:\n  Lore: \"&6&l[&c&lBUFF&6&l] &b&l发光\"\n  Skills:\n    - Potion{type=GLOWING} ~onTimer\n",[117,2308,2309,2316,2329,2335],{"__ignoreMap":135},[139,2310,2311,2314],{"class":141,"line":142},[139,2312,2313],{"class":145},"发光",[139,2315,199],{"class":149},[139,2317,2318,2320,2322,2324,2327],{"class":141,"line":157},[139,2319,160],{"class":145},[139,2321,150],{"class":149},[139,2323,165],{"class":149},[139,2325,2326],{"class":168},"&6&l[&c&lBUFF&6&l] &b&l发光",[139,2328,1698],{"class":149},[139,2330,2331,2333],{"class":141,"line":178},[139,2332,196],{"class":145},[139,2334,199],{"class":149},[139,2336,2337,2339],{"class":141,"line":193},[139,2338,205],{"class":149},[139,2340,2341],{"class":168}," Potion{type=GLOWING} ~onTimer\n",[113,2343,2344],{},"因为是每秒重新施加，效果时长只要 ≥2 秒就不会闪断（插件内部会把时长夹到至少 40 tick）。",[640,2346,2348],{"id":2347},"可叠加等级的-buff","可叠加等级的 BUFF",[113,2350,2351,2352,2354,2355,2358],{},"配合宝石的 ",[117,2353,2072],{}," 写数字，这里用 ",[117,2356,2357],{},"$LORE:$"," 读回来：",[130,2360,2362],{"className":132,"code":2361,"language":134,"meta":135,"style":135},"抗性提升:\n  Lore: \"&6&l[&c&lBUFF&6&l] &b&l抗性提升 \"\n  Skills:\n    - Potion{type=DAMAGE_RESISTANCE;level=$LORE:[BUFF] 抗性提升?1$} ~onTimer\n",[117,2363,2364,2371,2384,2390],{"__ignoreMap":135},[139,2365,2366,2369],{"class":141,"line":142},[139,2367,2368],{"class":145},"抗性提升",[139,2370,199],{"class":149},[139,2372,2373,2375,2377,2379,2382],{"class":141,"line":157},[139,2374,160],{"class":145},[139,2376,150],{"class":149},[139,2378,165],{"class":149},[139,2380,2381],{"class":168},"&6&l[&c&lBUFF&6&l] &b&l抗性提升 ",[139,2383,1698],{"class":149},[139,2385,2386,2388],{"class":141,"line":178},[139,2387,196],{"class":145},[139,2389,199],{"class":149},[139,2391,2392,2394],{"class":141,"line":193},[139,2393,205],{"class":149},[139,2395,2396],{"class":168}," Potion{type=DAMAGE_RESISTANCE;level=$LORE:[BUFF] 抗性提升?1$} ~onTimer\n",[280,2398,2400,2403,2404,2406],{"icon":2399,"type":1510},"i-lucide-triangle-alert",[117,2401,2402],{},"$LORE:"," 引用的标记必须和自己的 ",[117,2405,245],{}," 一致（去色后比较），否则等级永远读默认值 1——不报错，只是等级不涨。",[640,2408,2410],{"id":2409},"智能-buff","智能 BUFF",[113,2412,2413,2415],{},[117,2414,576],{}," 上同样能用控制流，于是可以写「满足条件才生效」的 BUFF：",[1546,2417,2418,2456,2499],{},[130,2419,2422],{"className":132,"code":2420,"filename":2421,"language":134,"meta":135,"style":135},"濒死爆发:\n  Lore: \"&6&l[&c&lBUFF&6&l] &c&l濒死爆发\"\n  Skills:\n    - If{c=health\u003C0.3;All{Potion{type=resistance;level=2};Potion{type=regeneration;level=2}}} ~onTimer\n","濒死爆发",[117,2423,2424,2430,2443,2449],{"__ignoreMap":135},[139,2425,2426,2428],{"class":141,"line":142},[139,2427,2421],{"class":145},[139,2429,199],{"class":149},[139,2431,2432,2434,2436,2438,2441],{"class":141,"line":157},[139,2433,160],{"class":145},[139,2435,150],{"class":149},[139,2437,165],{"class":149},[139,2439,2440],{"class":168},"&6&l[&c&lBUFF&6&l] &c&l濒死爆发",[139,2442,1698],{"class":149},[139,2444,2445,2447],{"class":141,"line":178},[139,2446,196],{"class":145},[139,2448,199],{"class":149},[139,2450,2451,2453],{"class":141,"line":193},[139,2452,205],{"class":149},[139,2454,2455],{"class":168}," If{c=health\u003C0.3;All{Potion{type=resistance;level=2};Potion{type=regeneration;level=2}}} ~onTimer\n",[130,2457,2460],{"className":132,"code":2458,"filename":2459,"language":134,"meta":135,"style":135},"矿工直觉:\n  Lore: \"&6&l[&c&lBUFF&6&l] &e&l矿工直觉\"\n  Skills:\n    # y\u003C0 = 深板岩层\u002F深暗之域\n    - If{c=y\u003C0;All{Potion{type=night_vision;duration=15};Potion{type=haste;level=2}}} ~onTimer\n","矿工直觉",[117,2461,2462,2468,2481,2487,2492],{"__ignoreMap":135},[139,2463,2464,2466],{"class":141,"line":142},[139,2465,2459],{"class":145},[139,2467,199],{"class":149},[139,2469,2470,2472,2474,2476,2479],{"class":141,"line":157},[139,2471,160],{"class":145},[139,2473,150],{"class":149},[139,2475,165],{"class":149},[139,2477,2478],{"class":168},"&6&l[&c&lBUFF&6&l] &e&l矿工直觉",[139,2480,1698],{"class":149},[139,2482,2483,2485],{"class":141,"line":178},[139,2484,196],{"class":145},[139,2486,199],{"class":149},[139,2488,2489],{"class":141,"line":193},[139,2490,2491],{"class":153},"    # y\u003C0 = 深板岩层\u002F深暗之域\n",[139,2493,2494,2496],{"class":141,"line":202},[139,2495,205],{"class":149},[139,2497,2498],{"class":168}," If{c=y\u003C0;All{Potion{type=night_vision;duration=15};Potion{type=haste;level=2}}} ~onTimer\n",[130,2500,2503],{"className":132,"code":2501,"filename":2502,"language":134,"meta":135,"style":135},"不稳定祝福:\n  Lore: \"&6&l[&c&lBUFF&6&l] &d&l不稳定祝福\"\n  Skills:\n    - Chance{p=0.1;Potion{type=speed;level=2;duration=5}} ~onTimer\n    - Chance{p=0.1;Potion{type=strength;duration=5}} ~onTimer\n    - Chance{p=0.02;Potion{type=wind_charged;duration=5}} ~onTimer\n","不稳定祝福",[117,2504,2505,2511,2524,2530,2537,2544],{"__ignoreMap":135},[139,2506,2507,2509],{"class":141,"line":142},[139,2508,2502],{"class":145},[139,2510,199],{"class":149},[139,2512,2513,2515,2517,2519,2522],{"class":141,"line":157},[139,2514,160],{"class":145},[139,2516,150],{"class":149},[139,2518,165],{"class":149},[139,2520,2521],{"class":168},"&6&l[&c&lBUFF&6&l] &d&l不稳定祝福",[139,2523,1698],{"class":149},[139,2525,2526,2528],{"class":141,"line":178},[139,2527,196],{"class":145},[139,2529,199],{"class":149},[139,2531,2532,2534],{"class":141,"line":193},[139,2533,205],{"class":149},[139,2535,2536],{"class":168}," Chance{p=0.1;Potion{type=speed;level=2;duration=5}} ~onTimer\n",[139,2538,2539,2541],{"class":141,"line":202},[139,2540,205],{"class":149},[139,2542,2543],{"class":168}," Chance{p=0.1;Potion{type=strength;duration=5}} ~onTimer\n",[139,2545,2546,2548],{"class":141,"line":1726},[139,2547,205],{"class":149},[139,2549,2550],{"class":168}," Chance{p=0.02;Potion{type=wind_charged;duration=5}} ~onTimer\n",[280,2552,2553,2554,672,2557,2560,2561,2564],{"icon":282},"引擎",[122,2555,2556],{},"没有",[117,2558,2559],{},"in_water"," 这类环境变量。想判断「在水下」只能用 ",[117,2562,2563],{},"y\u003C你服的海平面高度"," 近似。",[640,2566,2568],{"id":2567},"buff-与宝石配对","BUFF 与宝石配对",[113,2570,2571],{},"BUFF 定义只是「准备好一个标记」。要让玩家能获得它，二选一：",[2573,2574,2575,2590],"ol",{},[2576,2577,2578,2579,2582,2583,2586,2587],"li",{},"在 ",[117,2580,2581],{},"gems\u002F"," 里写一颗宝石，",[117,2584,2585],{},"Rewards"," 用 ",[117,2588,2589],{},"LoreAdd{lore=这里的 Lore 文本}",[2576,2591,2592],{},"直接把这行 lore 加到装备上（用其他插件或命令）",[113,2594,2595,2598],{},[117,2596,2597],{},"skills\u002FModernBuffs.yml"," 里有 7 个已标注为「模板」的定义就属于第一种情况——标记准备好了但没配套宝石，需要你自己加。",[213,2600],{},[216,2602,2603],{"id":2603},"性能提醒",[280,2605,2607,2613],{"icon":2606,"type":1510},"i-lucide-gauge",[113,2608,2609,2610,2612],{},"BUFF 引擎每秒对每个在线玩家扫 6 个物品槽 × 所有带 ",[117,2611,245],{}," 的技能定义。定义数量大（几百个）且在线人数多（上百）时会有可观开销。建议：",[2614,2615,2616,2619,2628],"ul",{},[2576,2617,2618],{},"不需要的 BUFF 定义直接删掉，别留着",[2576,2620,2621,2622,2624,2625,2627],{},"常驻 BUFF 用 ",[117,2623,576],{},"，一次性效果用 ",[117,2626,456],{}," 等事件触发标记",[2576,2629,2630,2632,2633,2636],{},[117,2631,1287],{}," + 短 ",[117,2634,2635],{},"interval"," 会在短时间内塞入大量调度任务，谨慎用于高频触发的技能",[213,2638],{},[216,2640,2641],{"id":2641},"验证",[113,2643,2644,2645,2648],{},"改完技能配置后 ",[117,2646,2647],{},"\u002Fsgem reload","，然后：",[2614,2650,2651,2657,2662],{},[2576,2652,2653,2656],{},[117,2654,2655],{},"\u002Fsgem skills"," 确认函数名没写错",[2576,2658,2659,2661],{},[117,2660,618],{}," 确认触发标记没写错",[2576,2663,2664,2667],{},[117,2665,2666],{},"\u002Fsgem compat all"," 查看配置自检结果",[113,2669,2670],{},"配置自检会明确报出「不是已注册的技能函数」（含拼写建议）和「这一行没有写触发标记，永远不会被触发」这两类最常见的笔误。",[2672,2673,2674],"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 .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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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":135,"searchDepth":157,"depth":157,"links":2676},[2677,2678,2679,2680,2688,2689,2696,2697,2698,2703,2704],{"id":218,"depth":157,"text":218},{"id":309,"depth":157,"text":309},{"id":435,"depth":157,"text":435},{"id":628,"depth":157,"text":628,"children":2681},[2682,2683,2684,2685,2686,2687],{"id":642,"depth":178,"text":642},{"id":719,"depth":178,"text":719},{"id":818,"depth":178,"text":818},{"id":929,"depth":178,"text":929},{"id":1037,"depth":178,"text":1037},{"id":1183,"depth":178,"text":1183},{"id":1538,"depth":157,"text":1539},{"id":1668,"depth":157,"text":1668,"children":2690},[2691,2692,2693,2694,2695],{"id":1671,"depth":178,"text":1672},{"id":1748,"depth":178,"text":1749},{"id":1804,"depth":178,"text":1805},{"id":1862,"depth":178,"text":1863},{"id":1919,"depth":178,"text":1920},{"id":2013,"depth":157,"text":2014},{"id":2078,"depth":157,"text":2079},{"id":2292,"depth":157,"text":2293,"children":2699},[2700,2701,2702],{"id":2347,"depth":178,"text":2348},{"id":2409,"depth":178,"text":2410},{"id":2567,"depth":178,"text":2568},{"id":2603,"depth":157,"text":2603},{"id":2641,"depth":157,"text":2641},"技能行语法、24 个内置函数、触发标记、条件与概率、形态切换、常驻 BUFF 的完整配置参考。","md",null,{},{"icon":82},{"title":2711,"description":2712},"SnowyGems 技能与 BUFF 配置手册","服主视角的技能引擎参考：技能行结构、全部函数清单、触发标记、控制流写法与形态切换。","i5Btf2yphQ0Ie2CTEroLyJtggq7xGelgRBrp83Mznw8",[2715,2717],{"title":74,"path":75,"stem":76,"description":2716,"icon":77,"children":-1},"gems\u002F 目录下宝石的全部字段、Rewards 奖励函数、Require 适用范围写法与完整示例。",{"title":84,"path":85,"stem":86,"description":2718,"icon":87,"children":-1},"gui\u002F 目录下工作台菜单的字符网格布局、五种槽位类型、宝石分类限制与实战示例。",1785487662422]