我的世界因为可以联机而增加了许多趣味性,搭建我的世界服务器虽看似复杂但掌握了一定经验后也并不是什么难事,下面07073单机就为大家分享一下我的世界纯净无MOD开服教程,本次讲的是命令书和传送书。
命令书,传送书
书本的原理,就是通过点击字体发动命令,但如果直接写命令的话,服务器里普通玩家是没有权限使用的,那么我们就要通过一个方法使普通玩家也能使用命令。
首先,创建一个计分板
/scoreboard objectives add 名字 trigger 名字
名字自己改。
比如创建一个叫名字叫tp#的计分板。/scoreboard objectives add tp# trigger tp#
创建这个计分板的目的,这个计分板特殊,trigger类型,普通玩家也能修改分数。
然后把书刷出来。需要用命令方块,放置命令方块输入命令,先做个列子
give @p minecraft:written_book 1 0 n{title:"传送书",author:fuzhu,pages:["{text:"点击红色字体传送",color:blue,extra:[{text:"n目前很多设施正在完善中",color:black},{text:"n转换模式生存",color:red,clickEvent:{action:run_command,value:"/trigger ntp# set n1"}},{text:"n传送主城(商店)",color:red,clickEvent:{action:run_command,value:"/trigger ntp# set 2"}},{text:" nPVP",color:red,clickEvent:{action:run_command,value:"/trigger tp# set n3"}},{text:"n随机传送",color:red,clickEvent:{action:run_command,value:"/trigger ntp# set 4"}},{text:" n地皮居住区",color:red,clickEvent:{action:run_command,value:"/trigger tp# set n5"}},{text:"n闯关小游戏跑酷等",color:red,clickEvent:{action:run_command,value:"/trigger ntp# set n6"}},{text:"n活动比赛区",color:red,clickEvent:{action:run_command,value:"/trigger ntp# set n7"}},{text:"n规则:禁高频红石,禁高空流水,禁密集生物群,如遇到熊孩子加Q群反馈,会看情况处理,******也欢迎大家进群交流聊天,不收OP",color:blue}]}"]}
然后通过踏板或按钮激活得到书,如图
注意,屏幕下的道具栏必须有一个空格,不然刷书刷在背包里无效,书本重叠也无效。
我稍微解释下这个命令,汉字部分都可以改
give @p minecraft:written_book 1 0 给一本书
title:"传送书",author:fuzhu 书的名字和作者,作者必须英文。
text:"点击红色字体传送",color:blue 这是第一页的首位内容,后面是颜色,blue蓝色
extra: 这个补充的意思,就是第一页首位内容之后下面的内容。
text:"n目前很多设施正在完善中",color:black 汉字部分是书本里面显示的内容,color:black n这是黑色的字体,其中内容前面加了个 n ,这是换行的作用(没有空格)
{text:"n转换模式生存",color:red,clickEvent:{action:run_command,value:"/trigger ntp# set 1"}}
red是红色,clickEvent是点击字体事件,action:run_command这个好像是命令类型,不用管,复制就是。
value:"/trigger tp# set 1 中间是命令,/trigger tp# set 1 n可以改成任何命令(而普通玩家只能改我这个类型的分数的命令)
只要知道这个是改之前创建的计分板分数的,把计分板tp#的分数改成1。
这之后就是重复设置了,你如果不需要这么多,可以少写一点,也可以增加,按照这个格式。
但注意的是书刷出来显示的字体超出书本显示的范围,将不给显示,无效。
这时候你们可能需要第二页。
再看之前写的命令末尾有一堆反括号符号}]}"]},在}]}这里添加,加个逗号,然后内容。
比如 n{title:"传送书",author:fuzhu,pages:["{{{第一页内容}}}","{{{第二页内容}}}",依次推类,"{{{第N页内容}}}"]}
这里简写,看不懂从头再看一遍。我弄的那个书没有第二页,只有一页,这只是给需要的说明一下。
再次声明:所有符号特殊符号都需要用英文写。
得到这本书,理论上就可以使玩家改变计分板tp# 的分数,但是还有个条件,开启对这个玩家使用这个计分板的权限。
/scoreboard players enable @a tp# 开启所有玩家对计分板tp# 的使用。
这个可以放在之前说的新玩家登录出生点设置系统的最后面,
命令方块后面第5个,然后命令方块开启:连锁,条件限制,保持开启。
这样就能使新玩家得到修改这个计分板的使用权限(但只能使用一次,后面有说明怎么无限使用)。
而得到这个分数有什么用呢,我告诉你,接下来只要设置好,服主能做的事,普通玩家不给OP权限也可以做到。
先第一个,tp# 分数1,放置3个命令方块,如图
最上面那个输入,循环,保持开启 /gamemode 0 @a[score_tp#=1,score_tp#_min=1]
把tp# 分数等于1 的玩家改成生存模式。
然后第二个命令,连锁,条件制约,保持开启 /scoreboard players set n@a[score_tp#=1,score_tp#_min=1] tp# 0
把tp# 分数1 的玩家 的tp# 分数改为0,。
继续,连锁,条件制约,保持开启 /scoreboard players enable @a tp#
开启对玩家的tp# 使用权限。
整个书的命令系统大概就是这样,一个循环:点击字体》改变分数》命令方块发动》重置分数》重新开启修改分数权限
这里补充一下,关于书本对应分数的命令方块,都必须放在服主最初出生的那块区域。
因为有一个特性,服主最初出生点那块区域是永久加载的。比如说红石,命令方块,在这个区域没有玩家也可以运作。
你用/setworldspawn 改变出生点也没有用。只能是最初的出生点那块区域是永久加载的。
所以这些需要玩家离开也能运作的命令方块,就必须放在这块区域里。
tp# 分数2的命令
也是放置3个命令方块,设置和上面一样。
/tp @a[score_tp#=2,score_tp#_min=2] 250 72 40
传送分数2 的玩家在这个坐标
/scoreboard players set @a[score_tp#=8,score_tp#_min=1] tp# 0
分数1-8的玩家分数改成0
/scoreboard players enable @a tp#
开启权限
分数3也是传送,设置一样,自己改地点
分数4是随机传送,这个只能做到命令方块为中心的范围随机
也是3个命令方块挨着放置,设置一样。第一个循环,保持开启,之后的是连锁,条件制约,保持开启
/spreadplayers ~ ~ 30 300 false @a[score_tp#=4,score_tp#_min=4]
分数4的玩家以这个命令方块为中心,随机传送,最小范围30,最大范围300,数据可以自己改。
/scoreboard players set @a[score_tp#=8,score_tp#_min=1] tp# 0
分数1-8的玩家分数改成0
/scoreboard players enable @a tp#
开启权限
然后分数5,6,7,8 分数都是传送,按上面的改下坐标就是。
学会怎么用的话,不光传送,基本上所有的命令,都能这样设置让普通玩家使用。
这样,这本书就完成了。
然后可以弄一个领取书本的地方
这个命令方块是初始的,用红石激活,输入命令,上面放个踏板,
你也可以用按钮,玩家使用一下就能得到一本书(必须屏幕下道具栏空出一格,不然刷到背包里书本无效。)
也可以加在之前新玩家登录出生点那个设置的命令方块里面,放在第二个位置,
而刷书的命令前面要改一下give @p 这个改成 give @a[team=,] n设置成连锁,条件制约,保持开启。这样就能使新玩家得到一本这个命令书。
但防止别人丢失书,这个手动得到书本的方式最好也保留一个。