幽之处
欢迎来到我的世界主城指令教学,    我将会帮助你创建主城的命令方块。
1.当你做好主城后,突然发现生存玩家却能破坏他,怎么办呢?
别怕学会着两条指令让主城获得保护。指令教程:首先一定要在世界重生点处下面,放两个循环命令方块,且都是无条件,在第一个 命令方块里输入/gamemode 2 @a[x=主城坐标1,y=主城坐标2,z=主城坐标3,m=0,r=主城的范围] 他的意思是将在你所设置的范围内 将生存模式的所有玩家设置为冒险模式,从而达到保护主城的目的。再在第二个命令方块里输入/gamemode 0 @a[x=主城坐标1,y= 主城坐标2,z=主城坐标3,m=2,rm=主城的范围+1(注意一定加1,不然会在主城模式切换处一直刷屏)]他的意思是将在你所设置的 范围外将冒险模式的所有玩家设置为生存模式。
2.做好主城的保护之后,我们要做回城指令了。
首先你必须要要创建一个变量类型为trigger的记分板,例:/scoreboard objectives add 回城 trigger
放置循环命令方块(无条件)输入/scoreboard players enable @a 回城 意思是让所有玩家都可以操控回城记分板上的分数。
添加了代码之后玩家就可通过下列指令改变分数了,比如:
/trigger 回城 set 1
/trigger 回城 add 1
意思都为把输入指令的玩家的计分板回城分数为1。
设置完之后再放个循环命令方块(无条件)在第一个命令方块后面,输入/tp @a[score_回城_min=1] 主城坐标1 主城坐标2 主城坐标3 意思为将玩家计分板回城分数在1以上传送到主城的位置
最后还要放置一个循环命令方块(无条件)输入/scoreboard players reset @a 回城 意思是清除所以在线玩家的回城分数(如果不加这个玩家将会被一直传送到主城坐标,无法走动)
3.做好主城的基本指令了之后,我们是时候添加每日签到系统了。
首先我们先创建2个计分板,先输入/scoreboard objectives add 签到 trigger,然后再创建一个计分板输入/scoreboard objectives add 签到判定 dummy。
然后我们找一个地方用来签到的地方,在要签到的下2格放一个循环命令方块(无条件),在里面输入/scoreboard players enable @a 签到,这里就不多解释了。
然后再到循环命令方块下面放置一个连锁命令方块(无条件),在里面输入/scoreboard players add @a[score_签到_min=1] 签到判定 0,意思是给计分板签到的玩家分数在1以上的玩家给签到判定加0分数。
再放一个连锁命令方块(无条件)在上个命令方块的下面,在里面输入/scoreboard players add @a[score_签到_min=1,score_签到判定=0] 游戏币 100,意思是给计分板签到分数为1和计分板签到判定为0的玩家游戏币100(注:游戏币自加,如果不想要这个也可以换成/give @a[score_签到_min=1,score_签到判定=0] minecraft:diamond 1 0,意思为给计分板签到分数为1和计分板签到判定为0的玩家一颗钻石)。
然后再放一个连锁命令方块(无条件),在里面输入/execute @a[score_签到_min=1,score_签到判定=0] ~ ~ ~ tellraw @s [{"selector":"@p","color":"gold"},{"text":" 您已签到成功!","color":"green"}],来通知玩家签到成功。如果有一个玩家他想要卡bug再签到怎么办呢?
没有关系,再放一个连锁命令方块(无条件),在里面输入/execute @a[score_签到_min=1,score_签到判定_min=1] ~ ~ ~ tellraw @s [{"selector":"@p","color":"gold"},{"text":" 不能重复签到!","color":"red"}],这样就可以防止玩家卡bug了。
这还没完,我们还要再放一个连锁命令方块(无条件)在里面输入/scoreboard players set @a[score_签到_min=1,score_签到判定=0] 签到判定 1,这里我就不多说了。
然后再放一个连锁命令方块(无条件),在里面输入/scoreboard players set @a[score_签到_min=1] 签到 0,用来重置玩家签到分数。
然后又要放置一个连锁命令方块(无条件),里面输入/gamemode,用来检测。
然后再放置一个连锁命令方块(无条件),在里面输入/testforblock ~ ~-1 ~ chain_command_block 1 {LastOutput:"{\"extra\":[{\"color\":\"red\",\"translate\":\"commands.generic.usage\",\"with\":[{\"translate\":\"commands.gamemode.usage\"}]}],\"text\":\"[23:59:59] \"}"},意思是在23:59:59时触发一次。让下一个连锁命令方块启动。
再放置签到系统的最后一个连锁命令方块(有条件),在里面输入/scoreboard players set * 签到判定 0,用来重置所有在线和不在线玩家的分数。
签到系统就完成啦。
但这还没有完,我们还要做一个签到NPC
首先输入/scoreboard objectives add 村民交谈 talkedToVillager,来记录玩家与村民对话次数。
先召唤一个村民来当NPC,在村民的下两格处,放置一个循环命令方块(无条件),输入/execute @p[x=村民坐标1,y=村民坐标2,z=村民坐标3,r=5,score_村民交谈=1,score_村民交谈_min=0] ~ ~ ~ /scoreboard players set @s 签到 1(注:困好村民,不要让他跑掉)。
再放置一个循环命令方块(无条件),输入/scoreboard players reset @a 村民交谈。
好了现在签到系统就已经做好了,玩家可以输入/trigger 签到 add 1和/trigger 签到 set 1 来签到,去找到村民NPC来签到。


来自:幽之处。
日常更新
最后给点评分吧