Minecraft-TPA

前言

起始很早我就有这个想法了,只是鸽了很长时间。
到做出来后,就想着去做教程。
因为当时还没有很多向我这个样子的玩家互传

现在教程做出来了,不过我估计大部分人还是看不懂吧(我对我自己很不自信啊)
希望能帮到你。

(我是用的计分板名称蛤标签名称可能会令部分人混淆或看不懂,还请见谅)
*并非最终优化版本
*这是我根据之前的重写的版本
*
*可能存在BUG

PID.mcfunction

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# 为每个在线玩家分配一个数字(1-20),直到该玩家退出游戏
#>Need
scoreboard PID
scoreboard PID.bak
armor_stand PID.givePID
armor_stand PID.playersAmount

#>Main<0>
# 清空PID
# scoreboard players reset * PID
scoreboard objectives remove PID
scoreboard objectives add PID dummy

# 从PID.bak中恢复数据
execute @a ~ ~ ~ scoreboard players operation @s PID = @s PID.bak

# 清空PID.bak
# scoreboard players reset * PID.bak
scoreboard objectives remove PID.bak
scoreboard objectives add PID.bak dummy

# 为新玩家分配PID
scoreboard players add @a PID 0
scoreboard players set @e[type=armor_stand,name="PID.givePID"] PID 1
execute @a[scores={PID=!0}] ~ ~ ~ scoreboard players add @e[type=armor_stand,name="PID.givePID"] PID 1
scoreboard players operation @p[scores={PID=0}] PID = @e[type=armor_stand,name="PID.givePID"] PID

#>更新PID(主要解决玩家退出)
scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 0

# 1
execute @a[scores={PID=1}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 1
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!1}] ~ ~ ~ scoreboard players remove @a[scores={PID=1..}] PID 1

# 2
execute @a[scores={PID=2}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 2
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!2}] ~ ~ ~ scoreboard players remove @a[scores={PID=2..}] PID 1

# 3
execute @a[scores={PID=3}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 3
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!3}] ~ ~ ~ scoreboard players remove @a[scores={PID=3..}] PID 1

# 4
execute @a[scores={PID=4}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 4
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!4}] ~ ~ ~ scoreboard players remove @a[scores={PID=4..}] PID 1

# 5
execute @a[scores={PID=5}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 5
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!5}] ~ ~ ~ scoreboard players remove @a[scores={PID=5..}] PID 1

# 6
execute @a[scores={PID=6}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 6
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!6}] ~ ~ ~ scoreboard players remove @a[scores={PID=6..}] PID 1

# 7
execute @a[scores={PID=7}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 7
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!7}] ~ ~ ~ scoreboard players remove @a[scores={PID=7..}] PID 1

# 8
execute @a[scores={PID=8}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 8
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!8}] ~ ~ ~ scoreboard players remove @a[scores={PID=8..}] PID 1

# 9
execute @a[scores={PID=9}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 9
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!9}] ~ ~ ~ scoreboard players remove @a[scores={PID=9..}] PID 1

# 10
execute @a[scores={PID=10}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 10
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!10}] ~ ~ ~ scoreboard players remove @a[scores={PID=10..}] PID 1

# 11
execute @a[scores={PID=11}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 11
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!11}] ~ ~ ~ scoreboard players remove @a[scores={PID=11..}] PID 1

# 12
execute @a[scores={PID=12}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 12
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!12}] ~ ~ ~ scoreboard players remove @a[scores={PID=12..}] PID 1

# 13
execute @a[scores={PID=13}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 13
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!13}] ~ ~ ~ scoreboard players remove @a[scores={PID=13..}] PID 1

# 14
execute @a[scores={PID=14}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 14
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!14}] ~ ~ ~ scoreboard players remove @a[scores={PID=14..}] PID 1

# 15
execute @a[scores={PID=15}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 15
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!15}] ~ ~ ~ scoreboard players remove @a[scores={PID=15..}] PID 1

# 16
execute @a[scores={PID=16}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 16
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!16}] ~ ~ ~ scoreboard players remove @a[scores={PID=16..}] PID 1

# 17
execute @a[scores={PID=17}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 17
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!17}] ~ ~ ~ scoreboard players remove @a[scores={PID=17..}] PID 1

# 18
execute @a[scores={PID=18}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 18
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!18}] ~ ~ ~ scoreboard players remove @a[scores={PID=18..}] PID 1

# 19
execute @a[scores={PID=19}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 19
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!19}] ~ ~ ~ scoreboard players remove @a[scores={PID=19..}] PID 1

# 20
execute @a[scores={PID=20}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID 20
execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!20}] ~ ~ ~ scoreboard players remove @a[scores={PID=20..}] PID 1

# %MaxPlayers
# execute @a[scores={PID=%MaxPlayers}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name="PID.playersAmount"] PID %MaxPlayers
# execute @e[type=armor_stand,name="PID.playersAmount",scores={PID=!%MaxPlayers}] ~ ~ ~ scoreboard players remove @a[scores={PID=%MaxPlayers..}] PID 1

#>将数据备份到PID.bak #去掉玩家离线的分数
execute @a ~ ~ ~ scoreboard players operation @s PID.bak = @s PID

TPA.main.mcfunction

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
#>跳转至选择玩家菜单
execute @a[scores={SnowballMenu=17000}] ~ ~ ~ scoreboard players set @s SnowballMenu 122

#>选择功能并跳转到选择玩家列表+
# 传送模式 你->他(TPAPlayer = 1)
execute @a[scores={SnowballMenu=124000}] ~ ~ ~ scoreboard players set @s TPAPlayer 1
execute @a[scores={SnowballMenu=124000}] ~ ~ ~ playsound random.orb @s ~ ~ ~ 0.7 1 1
execute @a[scores={SnowballMenu=124000}] ~ ~ ~ scoreboard players set @s SnowballMenu 101

# 传送模式 他->你(TPAPlayer = 2)
execute @a[scores={SnowballMenu=125000}] ~ ~ ~ scoreboard players set @s TPAPlayer 2
execute @a[scores={SnowballMenu=125000}] ~ ~ ~ playsound random.orb @s ~ ~ ~ 0.7 1 1
execute @a[scores={SnowballMenu=125000}] ~ ~ ~ scoreboard players set @s SnowballMenu 101

#>玩家不足服务器最大人数时的玩家列表选择光标循环功能+
# 获取玩家人数
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ scoreboard players set playersAmount TPACalculate 0
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ execute @a ~ ~ ~ scoreboard players add playersAmount TPACalculate 1
# 调整数值(偏移+100)
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ scoreboard players add playersAmount TPACalculate 100
# 判断当前选择的第几位玩家是否超过总人数(TPACalculate >= 1为超过)
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ scoreboard players operation @s TPACalculate = @s SnowballMenu
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ scoreboard players operation @s TPACalculate -= playersAmount TPACalculate
execute @a[scores={SnowballMenu=101..120,TPACalculate=1..}] ~ ~ ~ scoreboard players set @s SnowballMenu 101
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ scoreboard players reset @s TPACalculate

#>发送 你->他 请求
#>处理向自己发送请求+
# 判断PID是否为自己(TPACalculate为被选中玩家的临时id)
# 获取选择的玩家的原PID(此数值存储在@s的TPACalculate中)
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players operation @s TPACalculate = @s SnowballMenu
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players operation @s TPACalculate /= "#1000" SnowballMenu
# -100
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players remove @s TPACalculate 100

# 判断是否为发送者(TPACalculate = 0)
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players operation @s TPACalculate -= @s PID
# 是的话就执行下面
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1,TPACalculate=0}] ~ ~ ~ title @s actionbar §c选择无效

# 初始化数据
tag @a[scores={SnowballMenu=101000..120000,TPAPlayer=1,TPACalculate=0}] add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @s SnowballMenu 0
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @s TPACalculate
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @s TPAPlayer
tag @a[tag=TPA.InitData] remove TPA.InitData

#>处理正常请求
# 获取所有玩家(PID)
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ execute @a ~ ~ ~ scoreboard players operation @s TPACalculate = @s PID

# 获取被选中玩家的PID(储存在@s TPACalculate)
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players operation @s TPACalculate = @s SnowballMenu
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players operation @s TPACalculate /= "#1000" SnowballMenu
# -100
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players remove @s TPACalculate 100

# 选出被选择玩家(TPACalculate = 0为被选择玩家) 有冲突所以用一个桥中转
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players operation bridge TPACalculate = @s TPACalculate
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ execute @a ~ ~ ~ scoreboard players operation @s TPACalculate -= bridge TPACalculate

# 排除自己
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players reset @s TPACalculate

# 把目标人分数设置为目标传送者(TPAPlayer = 2)
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ execute @a[scores={TPACalculate=0}] ~ ~ ~ scoreboard players set @s TPAPlayer 2

# 数据处理
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players reset @a TPACalculate

# 设置等待时间并向发起人发送成功信息
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name=TPATime] TPACalculate 45
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":"§e您的请求已发送,若45秒内对方未处理则默认对方拒绝该请求"}]}
# 向被请求者发送信息
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ tellraw @a[scores={TPAPlayer=2}] {"rawtext":[{"text":"§r=================<TPA>=================\n玩家 §6"},{"selector":"@s"},{"text":"§r 发起§b{他->你}§r的请求\n请使用§e雪球菜单-玩家互传§r功能选项\n➡§a同意请求§r/§c拒绝请求 §r处理该请求!\n======================================="}]}

# 固定请求者雪球菜单并清掉其他数据
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=1}] ~ ~ ~ scoreboard players set @s SnowballMenu 129000

#>发送 他->你 请求
#>处理向自己发送请求+
# 判断PID是否为自己(TPACalculate为被选中玩家的临时id)
# 获取选择的玩家的原PID(此数值存储在@s的TPACalculate中)
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players operation @s TPACalculate = @s SnowballMenu
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players operation @s TPACalculate /= "#1000" SnowballMenu
# -100
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players remove @s TPACalculate 100

# 判断是否为发送者(TPACalculate = 0)
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players operation @s TPACalculate -= @s PID
# 是的话就执行下面
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2,TPACalculate=0}] ~ ~ ~ title @s actionbar §c选择无效

# 初始化数据
tag @a[scores={SnowballMenu=101000..120000,TPAPlayer=2,TPACalculate=0}] add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @s SnowballMenu 0
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @s TPACalculate
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @s TPAPlayer
tag @a[tag=TPA.InitData] remove TPA.InitData

#>处理正常请求
# 获取所有玩家(PID)
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ execute @a ~ ~ ~ scoreboard players operation @s TPACalculate = @s PID

# 获取被选中玩家的PID分数(储存在@s TPACalculate)
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players operation @s TPACalculate = @s SnowballMenu
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players operation @s TPACalculate /= "#1000" SnowballMenu
# -100
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players remove @s TPACalculate 100

# 选出被选择玩家(TPACalculate = 0为被选择玩家) 有冲突所以用一个桥中转
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players operation bridge TPACalculate = @s TPACalculate
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ execute @a ~ ~ ~ scoreboard players operation @s TPACalculate -= bridge TPACalculate

# 排除自己
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players reset @s TPACalculate

# 把目标人分数设置为目标传送者(TPAPlayer = 1)
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ execute @a[scores={TPACalculate=0}] ~ ~ ~ scoreboard players set @s TPAPlayer 1

# 清除数据
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players reset @a TPACalculate

# 设置等待时间并向发起人发送成功信息
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name=TPATime] TPACalculate 45
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":"§e您的请求已发送,若45秒内对方未处理则默认对方拒绝该请求"}]}

# 向被请求者发送信息
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ tellraw @a[scores={TPAPlayer=1}] {"rawtext":[{"text":"§r=================<TPA>=================\n玩家 §6"},{"selector":"@s"},{"text":"§r 发起§b{你->他}§r的请求\n请使用§e雪球菜单-玩家互传§r功能选项\n➡§a同意请求§r/§c拒绝请求 §r处理该请求!\n======================================="}]}

# 固定请求者雪球菜单并清掉其他数据
execute @a[scores={SnowballMenu=101000..120000,TPAPlayer=2}] ~ ~ ~ scoreboard players set @s SnowballMenu 130000

#>请求者主动取消
#>你to他
execute @a[scores={TPAPlayer=1,SnowballMenu=129000},rxm=85] ~ ~ ~ title @s actionbar §a您已取消该请求!!
execute @a[scores={TPAPlayer=1,SnowballMenu=129000},rxm=85] ~ ~ ~ playsound random.orb @s ~ ~ ~ 0.7 1 1
execute @a[scores={TPAPlayer=1,SnowballMenu=129000},rxm=85] ~ ~ ~ title @a[scores={TPAPlayer=2}] actionbar §d对方已取消请求!!

# 停止计时
execute @a[scores={TPAPlayer=1,SnowballMenu=129000},rxm=85] ~ ~ ~ scoreboard players set @e[type=armor_stand,name=TPATime] TPAPlayer -1

# 初始化数据
execute @a[scores={TPAPlayer=1,SnowballMenu=129000},rxm=85] ~ ~ ~ tag @s add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @s SnowballMenu 0
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPACalculate
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPAPlayer
tag @a[tag=TPA.InitData] remove TPA.InitData

#>他to你
execute @a[scores={TPAPlayer=2,SnowballMenu=130000},rxm=85] ~ ~ ~ title @s actionbar §a您已取消该请求!!
execute @a[scores={TPAPlayer=2,SnowballMenu=130000},rxm=85] ~ ~ ~ playsound random.orb @s ~ ~ ~ 0.7 1 1
execute @a[scores={TPAPlayer=2,SnowballMenu=130000},rxm=85] ~ ~ ~ title @a[scores={TPAPlayer=1}] actionbar §d对方已取消请求!!

# 停止计时
execute @a[scores={TPAPlayer=2,SnowballMenu=130000},rxm=85] ~ ~ ~ scoreboard players set @e[type=armor_stand,name=TPATime] TPAPlayer -1

# 初始化数据
execute @a[scores={TPAPlayer=2,SnowballMenu=130000},rxm=85] ~ ~ ~ tag @s add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @s SnowballMenu 0
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPACalculate
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPAPlayer
tag @a[tag=TPA.InitData] remove TPA.InitData

#>有人用的时候锁定其他人用
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ execute @a[scores={SnowballMenu=124..125,TPAPlayer=!0..1}] ~ ~ ~ playsound random.anvil_land @s ~ ~ ~ 1 2.6 1
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ title @a[scores={SnowballMenu=124..125}] times 10 20 10
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ title @a[scores={SnowballMenu=124..125}] subtitle §c当前有人正在使用玩家互传,请稍后重试
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ title @a[scores={SnowballMenu=124..125}] title §r
execute @a[scores={SnowballMenu=101..120}] ~ ~ ~ scoreboard players set @a[scores={SnowballMenu=124..125}] SnowballMenu 122

execute @a[scores={SnowballMenu=129000..130000}] ~ ~ ~ execute @a[scores={SnowballMenu=124..125,TPAPlayer=!0..1}] ~ ~ ~ playsound random.anvil_land @s ~ ~ ~ 1 2.6 1
execute @a[scores={SnowballMenu=129000..130000}] ~ ~ ~ title @a[scores={SnowballMenu=124..125,TPAPlayer=!1..2}] times 10 20 10
execute @a[scores={SnowballMenu=129000..130000}] ~ ~ ~ title @a[scores={SnowballMenu=124..125,TPAPlayer=!1..2}] subtitle §c当前有人正在使用玩家互传,请稍后重试
execute @a[scores={SnowballMenu=129000..130000}] ~ ~ ~ title @a[scores={SnowballMenu=124..125,TPAPlayer=!1..2}] title §r
execute @a[scores={SnowballMenu=129000..130000}] ~ ~ ~ scoreboard players set @a[scores={SnowballMenu=124..125}] SnowballMenu 122

#>同意请求处理
#>处理自己传送到其他人请求(自己->别人)
#>无请求就同意的话
execute @a[scores={SnowballMenu=122000}] ~ ~ ~ scoreboard players operation @s SnowballMenu += @s TPAPlayer

execute @a[scores={SnowballMenu=122000}] ~ ~ ~ tag @s add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ title @s actionbar §d无效请求,没有人发送请求!!
execute @a[tag=TPA.InitData] ~ ~ ~ playsound random.anvil_land @s ~ ~ ~ 0.7 2 1
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @s SnowballMenu 0
tag @a[tag=TPA.InitData] remove TPA.InitData


#>处理正常请求(如果为被请求者则SnowballMenu = 122000+2)
execute @a[scores={TPAPlayer=2,SnowballMenu=122002}] ~ ~ ~ tellraw @a[scores={TPAPlayer=1,SnowballMenu=129000}] {"rawtext":[{"text":"§b<TPA> §a对方已同意该请求!"}]}
execute @a[scores={TPAPlayer=2,SnowballMenu=122002}] ~ ~ ~ tellraw @s {"rawtext":[{"text":"§b<TPA> §a您已同意该请求!"}]}
execute @a[scores={TPAPlayer=2,SnowballMenu=122002}] ~ ~ ~ playsound random.orb @a[scores={TPAPlayer=1,SnowballMenu=129000}] ~ ~ ~
execute @a[scores={TPAPlayer=2,SnowballMenu=122002}] ~ ~ ~ playsound random.orb @s ~ ~ ~
# 传送
execute @a[scores={TPAPlayer=2,SnowballMenu=122002}] ~ ~ ~ tp @a[scores={TPAPlayer=1,SnowballMenu=129000}] @s

# 停止计时
execute @a[scores={TPAPlayer=2,SnowballMenu=122002}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name=TPATime] TPAPlayer -1

# 恢复数据
execute @a[scores={TPAPlayer=2,SnowballMenu=122002}] ~ ~ ~ tag @s add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @a[scores={SnowballMenu=122000..130000}] SnowballMenu 0
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPACalculate
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPAPlayer
tag @a[tag=TPA.InitData] remove TPA.InitData


#>处理其他人传送到自己请求(别人->自己)
#>无请求就同意的话
execute @a[scores={SnowballMenu=122000}] ~ ~ ~ scoreboard players operation @s SnowballMenu += @s TPAPlayer

execute @a[scores={SnowballMenu=122000}] ~ ~ ~ tag @s add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ title @s actionbar §d无效请求,没有人发送请求!!
execute @a[tag=TPA.InitData] ~ ~ ~ playsound random.anvil_land @s ~ ~ ~ 0.7 2 1
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @s SnowballMenu 0
tag @a[tag=TPA.InitData] remove TPA.InitData

#>处理正常请求(如果为被请求者则SnowballMenu = 122000+1)(SnowballMenu=130000 -> TPAPlayer=2)
execute @a[scores={TPAPlayer=1,SnowballMenu=122001}] ~ ~ ~ tellraw @a[scores={TPAPlayer=1}] {"rawtext":[{"text":"§b<TPA> §a对方已同意该请求!"}]}
execute @a[scores={TPAPlayer=1,SnowballMenu=122001}] ~ ~ ~ tellraw @s {"rawtext":[{"text":"§b<TPA> §a您已同意该请求!"}]}
execute @a[scores={TPAPlayer=1,SnowballMenu=122001}] ~ ~ ~ playsound random.orb @a[scores={TPAPlayer=2,SnowballMenu=130000}] ~ ~ ~
execute @a[scores={TPAPlayer=1,SnowballMenu=122001}] ~ ~ ~ playsound random.orb @s ~ ~ ~
# 传送(0-1)
execute @a[scores={TPAPlayer=1,SnowballMenu=122001}] ~ ~ ~ tp @s @a[scores={TPAPlayer=2,SnowballMenu=130000}]

# 停止计时
execute @a[scores={TPAPlayer=1,SnowballMenu=122001}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name=TPATime] TPAPlayer -1

# 恢复数据
execute @a[scores={TPAPlayer=1,SnowballMenu=122001}] ~ ~ ~ tag @s add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @a[scores={SnowballMenu=122000..130000}] SnowballMenu 0
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPACalculate
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPAPlayer
tag @a[tag=TPA.InitData] remove TPA.InitData

#>拒绝请求处理I
#>处理自己传送到其他人请求(自己->别人)
#>无请求就拒绝的话
execute @a[scores={SnowballMenu=123000}] ~ ~ ~ scoreboard players operation @s SnowballMenu += @s TPAPlayer

execute @a[scores={SnowballMenu=123000}] ~ ~ ~ tag @s add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ title @s actionbar §d无效请求,没有人发送请求!!
execute @a[tag=TPA.InitData] ~ ~ ~ playsound random.anvil_land @s ~ ~ ~ 0.7 2 1
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @s SnowballMenu 0
tag @a[tag=TPA.InitData] remove TPA.InitData

#>处理正常请求(如果为被请求者则SnowballMenu = 122000+2)
execute @a[scores={TPAPlayer=2,SnowballMenu=123002}] ~ ~ ~ tellraw @a[scores={TPAPlayer=1,SnowballMenu=129000}] {"rawtext":[{"text":"§b<TPA> §d对方已拒绝该请求!"}]}
execute @a[scores={TPAPlayer=2,SnowballMenu=123002}] ~ ~ ~ tellraw @s {"rawtext":[{"text":"§b<TPA> §a您已拒绝该请求!"}]}
execute @a[scores={TPAPlayer=2,SnowballMenu=123002}] ~ ~ ~ playsound random.anvil_land @a[scores={TPAPlayer=1,SnowballMenu=129000}] ~ ~ ~
execute @a[scores={TPAPlayer=2,SnowballMenu=123002}] ~ ~ ~ playsound random.orb @s ~ ~ ~

# 停止计时
execute @a[scores={TPAPlayer=2,SnowballMenu=123002}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name=TPATime] TPAPlayer -1

# 恢复数据
execute @a[scores={TPAPlayer=2,SnowballMenu=123002}] ~ ~ ~ tag @s add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @a[scores={SnowballMenu=122000..130000}] SnowballMenu 0
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPACalculate
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPAPlayer
tag @a[tag=TPA.InitData] remove TPA.InitData


#>处理其他人传送到自己请求(别人->自己)
#>无请求就拒绝的话
execute @a[scores={SnowballMenu=123000}] ~ ~ ~ scoreboard players operation @s SnowballMenu += @s TPAPlayer
execute @a[scores={SnowballMenu=123000}] ~ ~ ~ tag @s add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ title @s actionbar §d无效请求,没有人发送请求!!
execute @a[tag=TPA.InitData] ~ ~ ~ playsound random.anvil_land @s ~ ~ ~ 0.7 2 1
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @s SnowballMenu 0
tag @a[tag=TPA.InitData] remove TPA.InitData

#>处理正常请求(如果为被请求者则SnowballMenu = 122000+1)
execute @a[scores={TPAPlayer=1,SnowballMenu=123001}] ~ ~ ~ tellraw @a[scores={TPAPlayer=2,SnowballMenu=130000}] {"rawtext":[{"text":"§b<TPA> §d对方已拒绝该请求!"}]}
execute @a[scores={TPAPlayer=1,SnowballMenu=123001}] ~ ~ ~ tellraw @s {"rawtext":[{"text":"§b<TPA> §a您已拒绝该请求!"}]}
execute @a[scores={TPAPlayer=1,SnowballMenu=123001}] ~ ~ ~ playsound random.anvil_land @a[scores={TPAPlayer=2,SnowballMenu=130000}] ~ ~ ~
execute @a[scores={TPAPlayer=1,SnowballMenu=123001}] ~ ~ ~ playsound random.orb @s ~ ~ ~

# 停止计时
execute @a[scores={TPAPlayer=1,SnowballMenu=123001}] ~ ~ ~ scoreboard players set @e[type=armor_stand,name=TPATime] TPAPlayer -1

# 恢复数据
execute @a[scores={TPAPlayer=1,SnowballMenu=123001}] ~ ~ ~ tag @s add TPA.InitData
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players set @a[scores={SnowballMenu=122000..130000}] SnowballMenu 0
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPACalculate
execute @a[tag=TPA.InitData] ~ ~ ~ scoreboard players reset @a TPAPlayer
tag @a[tag=TPA.InitData] remove TPA.InitData

TPA.timer(20).mcfunction

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#>计时和超时处理<20>
# 计时
execute @e[type=armor_stand,name=TPATime,scores={TPACalculate=0..}] ~ ~ ~ scoreboard players remove @s TPACalculate 1

# 超时处理
execute @e[type=armor_stand,name=TPATime,scores={TPACalculate=0}] ~ ~ ~ tellraw @a[scores={TPAPlayer=1..2}] {"rawtext":[{"text":"§b<TPA> §e请求超时,已自动处理!!"}]}
execute @e[type=armor_stand,name=TPATime,scores={TPACalculate=0}] ~ ~ ~ execute @a[scores={TPAPlayer=1..2}] ~ ~ ~ playsound random.anvil_land @s ~ ~ ~ 0.7 2.6 1

# 恢复数据
execute @e[type=armor_stand,name=TPATime,scores={TPACalculate=0}] ~ ~ ~ scoreboard players set @a[scores={SnowballMenu=129000..130000}] SnowballMenu 0
execute @e[type=armor_stand,name=TPATime,scores={TPACalculate=0}] ~ ~ ~ scoreboard players reset @a TPAPlayer

# 反馈剩余时间信息
# 你->他
execute @a[scores={TPAPlayer=1,SnowballMenu=129000}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":"§a请等待对方处理,低头可以取消,剩余时间: §e"},{"score":{"name":"@e[type=armor_stand,name=TPATime]","objective":"TPACalculate"}}]}
execute @a[scores={TPAPlayer=1,SnowballMenu=129000}] ~ ~ ~ titleraw @a[scores={TPAPlayer=2,SnowballMenu=0..10}] actionbar {"rawtext":[{"text":"§a请处理传送请求,剩余时间: §e"},{"score":{"name":"@e[type=armor_stand,name=TPATime]","objective":"TPACalculate"}}]}
# 他->你
execute @a[scores={TPAPlayer=2,SnowballMenu=130000}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":"§a请等待对方处理,低头可以取消,剩余时间: §e"},{"score":{"name":"@e[type=armor_stand,name=TPATime]","objective":"TPACalculate"}}]}
execute @a[scores={TPAPlayer=2,SnowballMenu=130000}] ~ ~ ~ titleraw @a[scores={TPAPlayer=1,SnowballMenu=0..10}] actionbar {"rawtext":[{"text":"§a请处理传送请求,剩余时间: §e"},{"score":{"name":"@e[type=armor_stand,name=TPATime]","objective":"TPACalculate"}}]}

SnowballMenu3.0(5).mcfunction

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# 新版雪球菜单
# 功能:返回主城 一键重生 每日签到 玩家举报 回溯传送 查看活动 玩家互传 成就系统
# 功能:创建摊位 购买物品 回收摊位 调整价格 返回主城
#
#>Need
scoreboard SnowballMenu
score "#1000" :1000

scoreboard TPAPlayer
scoreboard TPACalculate
score "%from" :1 "%to" :2

armor_stand TPATime

# #>雪球处理部分 #>为了玩家抛出雪球后就能即使得到反馈,所以这个要单独拎出来放在0延迟的rcb中
# #>判断场地,普通场地为10,自贸区为20,tpa为101-125
# execute @e[type=snowball] ~ ~ ~ scoreboard players add @a[scores={SnowballMenu=0}] SnowballMenu 10

# # 在自贸区时执行
# execute @e[type=snowball] ~ ~ ~ scoreboard players add @a[x=-92,y=71,z=-315,dx=110,dy=9,dz=21,scores={SnowballMenu=10}] SnowballMenu 10

# #正常给分数
# execute @e[type=snowball] ~ ~ ~ scoreboard players add @p[scores={SnowballMenu=0..999},r=2] SnowballMenu 1
# execute @e[type=snowball] ~ ~ ~ give @p[r=2,m=!1] snowball 1
# execute @e[type=snowball] ~ ~ ~ kill @s

#>选择处理 抬头rx=-85 低头rxm=85<5>
# 抬头(确定)
execute @a[scores={SnowballMenu=11..999},rx=-85] ~ ~ ~ playsound random.orb @s ~ ~ ~ 0.7 1 1
execute @a[scores={SnowballMenu=11..999},rx=-85] ~ ~ ~ scoreboard players operation @s SnowballMenu *= "#1000" SnowballMenu
execute @a[scores={SnowballMenu=11000..999000},rx=-85] ~ ~ ~ tp @s ~ ~ ~ ~ 0

# 低头(取消)
execute @a[scores={SnowballMenu=11..999},rxm=85] ~ ~ ~ playsound random.anvil_land @s ~ ~ ~ 0.7 2 1
execute @a[scores={SnowballMenu=11..999},rxm=85] ~ ~ ~ title @s actionbar §d已取消
execute @a[scores={SnowballMenu=11..999},rxm=85] ~ ~ ~ scoreboard players set @s SnowballMenu 0

#>显示部分<5>
#>一级菜单显示
execute @a[scores={SnowballMenu=11}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※雪球菜单※\n§c▼==========▼\n§b§l 『返回主城』\n§r §6●§r 一键重生\n§r §6●§r 每日签到\n§r §6●§r 玩家举报\n§r §6●§r 回溯传送\n§r §6●§r 查看活动\n§r §6●§r 玩家互传\n§r §6●§r 成就系统§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n\n\n\n" } ] }
execute @a[scores={SnowballMenu=12}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※雪球菜单※\n§c▼==========▼\n§r §6●§r 返回主城\n§b§l 『一键重生』\n§r §6●§r 每日签到\n§r §6●§r 玩家举报\n§r §6●§r 回溯传送\n§r §6●§r 查看活动\n§r §6●§r 玩家互传\n§r §6●§r 成就系统§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n\n\n\n" } ] }
execute @a[scores={SnowballMenu=13}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※雪球菜单※\n§c▼==========▼\n§r §6●§r 返回主城\n§r §6●§r 一键重生\n§b§l 『每日签到』\n§r §6●§r 玩家举报\n§r §6●§r 回溯传送\n§r §6●§r 查看活动\n§r §6●§r 玩家互传\n§r §6●§r 成就系统§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n\n\n\n" } ] }
execute @a[scores={SnowballMenu=14}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※雪球菜单※\n§c▼==========▼\n§r §6●§r 返回主城\n§r §6●§r 一键重生\n§r §6●§r 每日签到\n§b§l 『玩家举报』\n§r §6●§r 回溯传送\n§r §6●§r 查看活动\n§r §6●§r 玩家互传\n§r §6●§r 成就系统§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n\n\n\n" } ] }
execute @a[scores={SnowballMenu=15}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※雪球菜单※\n§c▼==========▼\n§r §6●§r 返回主城\n§r §6●§r 一键重生\n§r §6●§r 每日签到\n§r §6●§r 玩家举报\n§b§l 『回溯传送』\n§r §6●§r 查看活动\n§r §6●§r 玩家互传\n§r §6●§r 成就系统§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n\n\n\n" } ] }
execute @a[scores={SnowballMenu=16}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※雪球菜单※\n§c▼==========▼\n§r §6●§r 返回主城\n§r §6●§r 一键重生\n§r §6●§r 每日签到\n§r §6●§r 玩家举报\n§r §6●§r 回溯传送\n§b§l 『查看活动』\n§r §6●§r 玩家互传\n§r §6●§r 成就系统§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n\n\n\n" } ] }
execute @a[scores={SnowballMenu=17}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※雪球菜单※\n§c▼==========▼\n§r §6●§r 返回主城\n§r §6●§r 一键重生\n§r §6●§r 每日签到\n§r §6●§r 玩家举报\n§r §6●§r 回溯传送\n§r §6●§r 查看活动\n§b§l 『玩家互传』\n§r §6●§r 成就系统§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n\n\n\n" } ] }
execute @a[scores={SnowballMenu=18}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※雪球菜单※\n§c▼==========▼\n§r §6●§r 返回主城\n§r §6●§r 一键重生\n§r §6●§r 每日签到\n§r §6●§r 玩家举报\n§r §6●§r 回溯传送\n§r §6●§r 查看活动\n§r §6●§r 玩家互传\n§b§l 『成就系统』§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n\n\n\n" } ] }
# execute @a[scores={SnowballMenu=19}] ~ ~ ~ scoreboard players set @s SnowballMenu 11
#>自贸区显示
execute @a[scores={SnowballMenu=21}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※自贸区菜单※\n§c▼==========▼\n§b§l 『创建摊位』\n§r §6●§r 购买物品\n§r §6●§r 回收摊位\n§r §6●§r 调整价格\n§r §6●§r 返回主城§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n" } ] }
execute @a[scores={SnowballMenu=22}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※自贸区菜单※\n§c▼==========▼\n§r §6●§r 创建摊位\n§b§l 『购买物品』\n§r §6●§r 回收摊位\n§r §6●§r 调整价格\n§r §6●§r 返回主城§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n" } ] }
execute @a[scores={SnowballMenu=23}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※自贸区菜单※\n§c▼==========▼\n§r §6●§r 创建摊位\n§r §6●§r 购买物品\n§b§l 『回收摊位』\n§r §6●§r 调整价格\n§r §6●§r 返回主城§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n" } ] }
execute @a[scores={SnowballMenu=24}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※自贸区菜单※\n§c▼==========▼\n§r §6●§r 创建摊位\n§r §6●§r 购买物品\n§r §6●§r 回收摊位\n§b§l 『调整价格』\n§r §6●§r 返回主城§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n" } ] }
execute @a[scores={SnowballMenu=25}] ~ ~ ~ titleraw @s actionbar { "rawtext": [ { "text": " §e※自贸区菜单※\n§c▼==========▼\n§r §6●§r 创建摊位\n§r §6●§r 购买物品\n§r §6●§r 回收摊位\n§r §6●§r 调整价格\n§b§l 『返回主城』§r\n§c▲==========▲\n§r抬头§a✔§r低头§c✘§r\n" } ] }
# execute @a[scores={SnowballMenu=26}] ~ ~ ~ scoreboard players set @s SnowballMenu 21
# 29
#>互传玩家列表和选择功能列表显示
# 1-10
execute @a[scores={SnobwallMenu=101}] ~ ~ ~ titleraw @a actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=1}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=2}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=3}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=4}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=5}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=6}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=7}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=8}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=9}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=10}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=102}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=1}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=2}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=3}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=4}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=5}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=6}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=7}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=8}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=9}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=10}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=103}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=1}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=2}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=3}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=4}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=5}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=6}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=7}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=8}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=9}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=10}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=104}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=1}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=2}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=3}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=4}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=5}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=6}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=7}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=8}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=9}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=10}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=105}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=1}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=2}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=3}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=4}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=5}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=6}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=7}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=8}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=9}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=10}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=106}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=1}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=2}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=3}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=4}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=5}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=6}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=7}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=8}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=9}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=10}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=107}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=1}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=2}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=3}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=4}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=5}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=6}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=7}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=8}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=9}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=10}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=108}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=1}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=2}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=3}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=4}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=5}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=6}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=7}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=8}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=9}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=10}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=109}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=1}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=2}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=3}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=4}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=5}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=6}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=7}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=8}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=9}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=10}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=110}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=1}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=2}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=3}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=4}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=5}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=6}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=7}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=8}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=9}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=10}]"},{"text":"§r\n\n\n\n\n"}]}
# 11-20
execute @a[scores={SnobwallMenu=111}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=11}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=12}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=13}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=14}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=15}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=16}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=17}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=18}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=19}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=20}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=112}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=11}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=12}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=13}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=14}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=15}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=16}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=17}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=18}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=19}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=20}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=113}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=11}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=12}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=13}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=14}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=15}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=16}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=17}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=18}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=19}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=20}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=114}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=11}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=12}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=13}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=14}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=15}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=16}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=17}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=18}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=19}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=20}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=115}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=11}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=12}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=13}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=14}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=15}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=16}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=17}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=18}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=19}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=20}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=116}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=11}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=12}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=13}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=14}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=15}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=16}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=17}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=18}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=19}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=20}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=117}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=11}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=12}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=13}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=14}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=15}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=16}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=17}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=18}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=19}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=20}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=118}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=11}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=12}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=13}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=14}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=15}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=16}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=17}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=18}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=19}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=20}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=119}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=11}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=12}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=13}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=14}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=15}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=16}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=17}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=18}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=19}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=20}]"},{"text":"§r\n\n\n\n\n"}]}
execute @a[scores={SnobwallMenu=120}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":" §e※TPA玩家选择※\n§c ▼===========▼\n"},{"text":"§r "},{"selector":"@a[scores={PID=11}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=12}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=13}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=14}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=15}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=16}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=17}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=18}]"},{"text":"§r\n"},{"text":"§r "},{"selector":"@a[scores={PID=19}]"},{"text":"§r\n"},{"text":"§a §l-§r§a "},{"selector":"@a[scores={PID=20}]"},{"text":"§r\n\n\n\n\n"}]}

# 功能菜单
execute @a[scores={SnowballMenu=122}] ~ ~ ~ titleraw @a actionbar {"rawtext":[{"text":"§e※TPA功能菜单※\n§c▼===========▼§r\n §a同意请求§r\n §r拒绝请求§r\n §r你->他§r\n §r他->你§r\n"}]}
execute @a[scores={SnowballMenu=123}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":"§e※TPA功能菜单※\n§c▼===========▼§r\n §r同意请求§r\n §a拒绝请求§r\n §r你->他§r\n §r他->你§r\n"}]}
execute @a[scores={SnowballMenu=124}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":"§e※TPA功能菜单※\n§c▼===========▼§r\n §r同意请求§r\n §r拒绝请求§r\n §a你->他§r\n §r他->你§r\n"}]}
execute @a[scores={SnowballMenu=125}] ~ ~ ~ titleraw @s actionbar {"rawtext":[{"text":"§e※TPA功能菜单※\n§c▼===========▼§r\n §r同意请求§r\n §r拒绝请求§r\n §r你->他§r\n §a他->你§r\n"}]}

# 重置
# execute @a[scores={SnowballMenu=121}] ~ ~ ~ scoreboard players set @s SnowballMenu 101
# execute @a[scores={SnowballMenu=126}] ~ ~ ~ scoreboard players set @s SnowballMenu 122


#>玩家互传 17000
0%