Minecraft(我的世界)中文论坛

 找回密码
 注册(register)
查看: 353|回复: 4

[命令] 适用于多人生存的多功能书,兼容1.14以上版本

[复制链接]
a15257750667 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
197
钻石
性别
保密
注册时间
2018-9-28
查看详细资料
 楼主| 发表于 2019-5-12 22:06:41 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 a15257750667 于 2019-5-12 22:09 编辑

原作者:橙子Mikan
作者版权.png
以上是作者版权授权截图.
以下是作者发布的原创作品,已经通过作者的同意并帮助他代发原创作品
前言:
以下是方便与1.14服务器或者是多人联机生存使用的多功能书,现在的1.14基础插件不太好用所以就想了一个点子写一本多功能书

主体书
[指令]
第一步:给予主体书本


/give @a minecraft:written_book
{pages:['{"text":"【传送列表】\\n\\n",color:red,bold:true,hoverEvent:{action:show_text,value:{text:"(点击下列地点即可传送)",color:blue}},extra:[
{"text":"Teleport to point 1\\n",color:dark_green,underlined:true,clickEvent:{action:run_command,value:"/trigger A set 1"},hoverEvent:{action:show_text,value:{text:"点击进行传送1",color:yellow}}}
,{text:"(添加描述)\\n",color:blue,bold:false,hoverEvent:{action:show_text,value:{text:"地点描述",color:white}}}
,{text:"Teleport to point 2\\n",color:dark_green,underlined:true,clickEvent:{action:run_command,value:"/trigger A set 2"},hoverEvent:{action:show_text,value:{text:"点击进行传送2",color:yellow}}}
,{text:"(添加描述)\\n",color:blue,bold:false,hoverEvent:{action:show_text,value:{text:"地点描述",color:white}}}
,{text:"Teleport to point 3\\n",color:dark_green,underlined:true,clickEvent:{action:run_command,value:"/trigger A set 3"},hoverEvent:{action:show_text,value:{text:"点击进行传送3",color:yellow}}}
,{text:"(添加描述)\\n",color:blue,bold:false,hoverEvent:{action:show_text,value:{text:"地点描述",color:white}}}
,{text:"Teleport to point 4\\n",color:dark_green,underlined:true,clickEvent:{action:run_command,value:"/trigger A set 4"},hoverEvent:{action:show_text,value:{text:"点击进行传送4",color:yellow}}}
,{text:"(添加描述)\\n",color:blue,bold:false,hoverEvent:{action:show_text,value:{text:"地点描述",color:white}}}
,{text:"\\n\\n\\n下一页-功能列表\\n",color:blue,underlined:true,hoverEvent:{action:show_text,value:{text:"(支持更多功能)",color:blue}}}
]}','
{"text":"【功能列表】\\n\\n",color:red,bold:true,hoverEvent:{action:show_text,value:{text:"(单击功能即可激活)",color:blue}},extra:[
{"text":"全体玩家发光\\n\\n",color:gold,underlined:true,clickEvent:{action:run_command,value:"/trigger B set 1"},hoverEvent:{action:show_text,value:{text:"获得一个无粒子的永久发光效果",color:yellow}}}
,{"text":"自我救赎\\n\\n",color:dark_red,underlined:true,clickEvent:{action:run_command,value:"/trigger B set 2"},hoverEvent:{action:show_text,value:{text:"谨慎使用!",color:red}}}
,{text:"\\n\\n\\n\\n\\n\\n\\n下一页-积分商城\\n",color:blue,underlined:true,hoverEvent:{action:show_text,value:{text:"(在这里消费积分)",color:blue}}}
]}','
{"text":"【积分商城】\\n\\n",color:blue,bold:true,hoverEvent:{action:show_text,value:{text:"(需要积分才可操作,若积分不足则无法生效)",color:yellow}},extra:[
{"text":"超级挖掘\\n\\n",color:green,underlined:true,clickEvent:{action:run_command,value:"/trigger B set 3"},hoverEvent:{action:show_text,value:{text:"快速挖掘90s需要200积分",color:yellow}}}
,{"text":"佛系传送\\n\\n",color:gold,underlined:true,clickEvent:{action:run_command,value:"/trigger B set 4"},hoverEvent:{action:show_text,value:{text:"传送至最远的一个玩家需要125积分",color:yellow}}}
,{"text":"感知之眼\\n\\n",color:red,underlined:true,clickEvent:{action:run_command,value:"/trigger B set 5"},hoverEvent:{action:show_text,value:{text:"感知所有生物2min需要250积分\\n(不包括新生成的生物)",color:yellow}}}
,{text:"\\n\\n\\n\\n\\n下一页-队伍更变\\n",color:blue,underlined:true,hoverEvent:{action:show_text,value:{text:"(在这里改变队伍)",color:blue}}}
]}','
{"text":"【队伍更变】\\n\\n",color:green,bold:true,hoverEvent:{action:show_text,value:{text:"(单击加入队伍)",color:blue}},extra:[
{"text":"玩家队伍\\n\\n",color:dark_green,underlined:true,clickEvent:{action:run_command,value:"/trigger C set 1"},hoverEvent:{action:show_text,value:{text:"队伍颜色为天蓝",color:aqua}}}
,{"text":"怪物队伍\\n\\n",color:dark_green,underlined:true,clickEvent:{action:run_command,value:"/trigger C set 2"},hoverEvent:{action:show_text,value:{text:"队伍颜色为红色",color:red}}}
,{"text":"生物队伍\\n\\n",color:dark_green,underlined:true,clickEvent:{action:run_command,value:"/trigger C set 3"},hoverEvent:{action:show_text,value:{text:"队伍颜色为绿色",color:green}}}
,{"text":"退出当前队伍\\n\\n",color:red,underlined:true,clickEvent:{action:run_command,value:"/trigger C set 4"},hoverEvent:{action:show_text,value:{text:"你将不属于任何队伍!",color:yellow}}}
,{text:"\\n\\n\\n下一页-特效选项\\n",color:blue,underlined:true,hoverEvent:{action:show_text,value:{text:"(加且只能加持一种特效)",color:blue}}}
]}','
{"text":"【特效选项】\\n\\n",color:gold,bold:true,extra:[
{"text":"火焰围绕 ",color:red,hoverEvent:{action:show_text,value:{text:"火焰粒子在你身上",color:yellow}}},{"text":"开启",color:green,underlined:true,clickEvent:{action:run_command,value:"/trigger D set 1"}},{"text":" "},{"text":"关闭\\n",color:red,underlined:true,clickEvent:{action:run_command,value:"/trigger D set 9"}}
,{"text":"云雾飘渺 ",color:red,hoverEvent:{action:show_text,value:{text:"头顶一片小云朵",color:yellow}}},{"text":"开启",color:green,underlined:true,clickEvent:{action:run_command,value:"/trigger D set 2"}},{"text":" "},{"text":"关闭\\n",color:red,underlined:true,clickEvent:{action:run_command,value:"/trigger D set 9"}}
,{"text":"悦动音符 ",color:red,hoverEvent:{action:show_text,value:{text:"响起多彩音符",color:yellow}}},{"text":"开启",color:green,underlined:true,clickEvent:{action:run_command,value:"/trigger D set 3"}},{"text":" "},{"text":"关闭\\n",color:red,underlined:true,clickEvent:{action:run_command,value:"/trigger D set 9"}}
,{"text":"**掠影 ",color:red,hoverEvent:{action:show_text,value:{text:"闪光多变",color:yellow}}},{"text":"开启",color:green,underlined:true,clickEvent:{action:run_command,value:"/trigger D set 4"}},{"text":" "},{"text":"关闭\\n",color:red,underlined:true,clickEvent:{action:run_command,value:"/trigger D set 9"}}
]}','
{"text":"【后言】\\n\\n",color:dark_purple,bold:true,extra:[
{"text":"其实一开始只是1.14多人生存时突发奇想搞一个众多服务器的钟表菜单,那时候1.14还没有插件和各种功能完整的服务器出现,于是我就想着用书来搞一个类似钟表菜单的操作\\n ",color:dark_gray,italic:true}
,{"text":"这几连串代码也是边写边想了三天,从最开始的传送列表到功能列表,再由队伍类的更新到特效加持",color:dark_gray,italic:true}
]}','
{"text":"\\n我觉得这本书用在多人联机生存是恰到好处,比如发光什么的可以更容易找自己机友了,快速挖掘也省了辛苦挖大半天的时间,虽然积分系统存在不足,还有组队功能等(懒得更新了),但多少能为多人生存增加一些乐趣。当然这些只在1.14forge和插件开发齐全之前\\n不管怎么说,最后感谢你的",color:dark_gray,italic:true,bold:true}
]}','
{"text":"使用,如在使用过程中有什么新的想法欢迎修改我的代码 (^_^)\\n\\n-橙子Mikan",color:dark_gray,italic:true,bold:true}
]}
'],
author:"Mikan",title:"MultiFunBook.v1",Unbreakable:true,
display:{Name:"{\"text\":\"多功能工具书ver.3\",\"color\":\"yellow\",\"bold\":true,\"italic\":false}",Lore:["20190508"]},
AttributeModifiers:[
{Slot:"offhand",AttributeName:"generic.luck",Name:"Luck",Amount:0.15,Operation:1,UUIDLeast:1,UUIDMost:1},
{Slot:"mainhand",AttributeName:"generic.movementSpeed",Name:"MoveSpeed",Amount:0.075,Operation:1,UUIDLeast:1,UUIDMost:1}
]}
=========
计分板对应:
A:传送列表
B:功能列表
C:队伍更变
D:特效操作
=========

主体书必须打以下指令:
第二步
/scoreboard objectives add A trigger "Teleport"
/scoreboard objectives add Kill totalKillCount {"text":"[积分]","color":"green","bold":"true"}
/scoreboard objectives setdisplay sidebar Kill

/scoreboard objectives add B trigger "Skill"
/scoreboard players enable @a B

/scoreboard objectives add C trigger "Team"
/scoreboard players enable @a C

/scoreboard objectives add D trigger "Particle"
/scoreboard players enable @a D

/team add 1 "Player"
/team modify 1 color aqua

/team add 2 "Monster"
/team modify 2 color red

/team add 3 "Friendly"
/team modify 3 color green

打完以上代码后

第三步:

/tp @a[scores={A=1~4}] x y z  对应4个传送地点
xyz游戏坐标

比如
tp @a[scores={A=1}] x y z
tp @a[scores={A=2] x y z
tp @a[scores={A=3}] x y z

以上是关联着传送功能

=================================================
以下三条是一块的,你只需要改A=1~4的范围,看你要几个就打几次
/execute at @a[scores={A=1}] run playsound minecraft:entity.enderman.teleport ambient @a[scores={A=1~4}] ~ ~ ~ 1
/scoreboard players set @a A 0     

/scoreboard players enable @a A

比如我要需求三条那就是:

/execute at @a[scores={A=1}] run playsound minecraft:entity.enderman.teleport ambient @a[scores={A=1}] ~ ~ ~ 1
/scoreboard players set @a A 0     

/scoreboard players enable @a A


/execute at @a[scores={A=1}] run playsound minecraft:entity.enderman.teleport ambient @a[scores={A=2}] ~ ~ ~ 1
/scoreboard players set @a A 0     

/scoreboard players enable @a A


/execute at @a[scores={A=1}] run playsound minecraft:entity.enderman.teleport ambient @a[scores={A=3}] ~ ~ ~ 1
/scoreboard players set @a A 0     

/scoreboard players enable @a A








以下是都要打的每一条对应每一个功能,自行研究看哦不做解释了



Bs:
(1)
/tellraw @a [{"selector":"@a[scores={B=1}]"},{"text":"使用了","color":"white"},{"text":"[全体玩家发光]","color":"gold"}]
/effect give @a minecraft:glowing 32767 0 true
/scoreboard players set @a B 0
/scoreboard players enable @a B

(2)
/kill @a[scores={B=2}]
/scoreboard players set @a B 0
/scoreboard players enable @a B

(3)
/tellraw @a[scores={B=3,Kill=200..}] {"text":"激活成功!"}
/effect give @a[scores={B=3}] minecraft:haste 90 4
/tellraw @a [{"selector":"@a[scores={B=3}]"},{"text":"消耗了200积分,使用","color":"white"},{"text":"[超级挖掘]","color":"green"}]
/scoreboard players remove @a[scores={B=3}] Kill 200
/scoreboard players set @a B 0
/scoreboard players enable @a B

(3-1)
/tellraw @a[scores={B=3,Kill=..200}] {"text":"激活失败,积分不足"}
/scoreboard players set @a B 0
/scoreboard players enable @a B

(4)
/tellraw @a[scores={B=4,Kill=125..}] {"text":"激活成功!"}
/tp @a[scores={B=4}] @p[sort=furthest]
/tellraw @a [{"selector":"@a[scores={B=4}]"},{"text":" 消耗125积分,传送至最远的一个玩家","color":"white"}]
/scoreboard players remove @a[scores={B=4}] Kill 125
/execute at @a[scores={B=4}] run playsound minecraft:ui.toast.out ambient @a[scores={B=4}] ~ ~ ~ 1
/scoreboard players set @a B 0
/scoreboard players enable @a B

(4-1)
/tellraw @a[scores={B=4,Kill=..125}] {"text":"激活失败,积分不足"}
/scoreboard players set @a B 0
/scoreboard players enable @a B

(5):
/tellraw @a[scores={B=5,Kill=250..}] {"text":"激活成功!"}
/scoreboard players remove @a[scores={B=5}] Kill 250
/tellraw @a [{"selector":"@a[scores={B=5}]"},{"text":"消耗了250积分,使用","color":"white"},{"text":"[感知之眼]","color":"red"}]
/effect give @e[type=!player] minecraft:glowing 120 0 true
/scoreboard players set @a B 0
/scoreboard players enable @a B

(5-1)
/tellraw @a[scores={B=5,Kill=..250}] {"text":"激活失败,积分不足"}
/scoreboard players set @a B 0
/scoreboard players enable @a B

Cs:
(1)
/team join 1 @a[scores={C=1}]
/tellraw @a [{"selector":"@a[scores={C=1}]"},{"text":"加入了","color":"white"},{"text":"[玩家队伍]","color":"aqua"}]
/scoreboard players set @a C 0
/scoreboard players enable @a C

(2)
/team join 2 @a[scores={C=2}]
/tellraw @a [{"selector":"@a[scores={C=2}]"},{"text":"加入了","color":"white"},{"text":"[怪物队伍]","color":"red"}]
/scoreboard players set @a C 0
/scoreboard players enable @a C

(3)
/team join 3 @a[scores={C=3}]
/tellraw @a [{"selector":"@a[scores={C=3}]"},{"text":"加入了","color":"white"},{"text":"[生物队伍]","color":"green"}]
/scoreboard players set @a C 0
/scoreboard players enable @a C

(4)
/team leave @a[scores={C=4}]
/tellraw @a [{"selector":"@a[scores={C=4}]"},{"text":"不属于任何队伍","color":"white"}]
/scoreboard players set @a C 0
/scoreboard players enable @a C

Ds:
(1)
/execute at @a[scores={D=1}] run particle minecraft:flame ~ ~ ~ 0.2 0.2 0.2 0.05 2 force
/scoreboard players enable @a[scores={D=1}] D
/execute at @a[scores={D=1}] run playsound minecraft:entity.ghast.shoot ambient @a[scores={D=1}] ~ ~ ~ 1

(2)
/execute at @a[scores={D=2}] run particle minecraft:cloud ~ ~3 ~ 0.5 0.1 0.5 0.001 2 normal
/scoreboard players enable @a[scores={D=2}] D
/playsound minecraft:entity.ender_dragon.flap ambient @a[scores={D=2}] ~ ~ ~ 1

(3)
/execute at @a[scores={D=3}] run particle minecraft:note ~ ~ ~ 0.5 0.8 0.5 10 1 normal
/scoreboard players enable @a[scores={D=3}] D
/playsound minecraft:block.note_block.bell ambient @a[scores={D=3}] ~ ~ ~ 1

(4)
/execute at @a[scores={D=4}] run particle minecraft:end_rod ~ ~ ~ 0.1 0.5 0.1 0.1 1 normal
/scoreboard players enable @a[scores={D=4}] D
/playsound minecraft:block.note_block.bit ambient @a[scores={D=4}] ~ ~ ~ 1

(D-1)
/execute at @a[scores={D=9}] run playsound minecraft:entity.arrow.hit_player player @a[scores={D=9}] ~ ~ ~ 1
/tellraw @a[scores={D=9}] {"text":"已关闭所有粒子特效"}
/scoreboard players set @a D 0
/scoreboard players enable @a D


==========================
已知问题:
1.若玩家/trigger任意[组]的变量调到其他指令方块没有侦测的数值,该玩家就无法再继续其他操作了,除非对该玩家enable该[组]
所以才用书本代替手输指令,避免出错。
   1-建议:除了设置如上指令方块阵列之外,还应该再设置一组玩家可激活的debug组:(scoreboard players set @a A~D 0   x4)

2.书上积分列表的[佛系传送]的传送对象会始终时自己,也就是自己tp自己,选择器判定什么的我懒得更了(至少现在不会继续更)
   2-建议:佛系,顾名思义,不如改成tp的玩家对象为random,提示语言也可以调“XX随机传送至一名玩家”
               关于传送至最远的这一代码写法,如果你能想出来也可以自己写个更好的XDDD

3.更多可能存在的问题未发现
以上都是手动打的,好评一下哦~~~幸苦原创党
==========================






1099473819 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
99
钻石
性别
保密
注册时间
2019-5-12
查看详细资料
发表于 2019-5-12 22:18:55 | 显示全部楼层
帮助很大   感谢楼主
回复

使用道具 举报

Vinogradov 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
1476
钻石
性别
保密
注册时间
2017-3-6
查看详细资料
发表于 2019-5-12 22:19:40 | 显示全部楼层
两个建议:
1. 把这套东西改写成数据包
2. 写一写它有什么功能,言简意赅地讲解一下项目的结构和实现
回复

使用道具 举报

cf6513272991 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
403
钻石
性别
保密
注册时间
2014-1-20
查看详细资料
发表于 2019-5-26 09:11:12 | 显示全部楼层
感谢楼主,辛苦了
回复

使用道具 举报

zxcv21202 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
91
钻石
性别
保密
注册时间
2015-5-2
查看详细资料
发表于 2019-5-26 12:48:34 | 显示全部楼层
秀啊233感觉还是比较实用的

评分

参与人数 1人气 -1 金粒 -10 收起 理由
ruhuasiyu -1 -10 请勿水贴

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | | 手机版

GMT+8, 2019-6-27 08:48 , Processed in 0.034023 second(s), Total 13, Slave 11 queries , Gzip On, MemCached On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

© 2010-2019 我的世界中文论坛 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载

快速回复 返回顶部 返回列表