欢迎光临散文网 会员登陆 & 注册

如何手搓Java数据包

2022-08-26 10:12 作者:メガ路卡利欧  | 我要投稿

这次咱们用到的是数据包中的functions,用这个Functions做一点特殊的物品,那么下文开始制作。 

#首先 

先创建一个任意名称的文件夹,然后在文件夹里面创建一个data的新文件夹和一个pack.mcmeta文件,然后咱们先在data文件夹里面再创建两个新文件夹,一个是MC原版的命名空间另一个是我们自定义的新命名空间,那么我们先在data文件夹里面创建一个minecraft的文件夹,然后再创建一个Tutorial_pack的文件夹,接下来我们在/data/minecraft/路径下的Minecraft文件夹里创建一个tags文件夹,并再到这个tags文件夹里再创建一个functions文件夹。 

#接下来 

咱们先到/data/minecraft/tags/functions路径下的functions文件夹里创建一个load.json和一个tick.json的文件。

提示:load.json文件中的代码意思是当玩家在地图里面输入/reload并回车时就会运行的命令,

tick.json文件中的代码意思是重复执行某条命令,接下来开始写这两个文件里的代码: 

load.json:

{"replace":false,"values":["Tutorial_pack:load"]}; 

tick.json:

{"replace":false,"values":["Tutorial_pack:tick"]} 

#第2部分(Tutorial_pack内部文件) 

首先在/data/Tutorial_pack/路径下的文件夹内再创建一个functions文件夹,咱们在这个functions文件夹里面创建三个新文件: 

load.mcfunction 

pos.load.mcfunction 

tick.mcfunction 

开始继续写代码时间,三个文件里面不同的指令。 

load.mcfunction中含有的指令: 

#创建记分板  

scoreboard objectives add pos_store dummy 

scoreboard objectives add hp health 

scoreboard objectives add login dummy 

scoreboard objectives add signin dummy   

#创建boss栏并显示在上方的位置  

bossbar add pos [{"text":"所属坐标值>>","color":"blue","bold":true},{"text":" ","color":"red"},{"text":" X:","color":"red","bold":true},{"score":{"name":"x","objective":"pos_store"},"color":"red"},{"text":" ","color":"yellow"},{"text":"Y:","color":"yellow","bold":true},{"score":{"name":"y","objective":"pos_store"},"color":"yellow"},{"text":" ","color":"green"},{"text":"Z:","color":"green","bold":true},{"score":{"name":"z","objective":"pos_store"},"color":"green"},{"text":"您的血量:"},{"score":{"name":"@p","objective":"hp"}},{"text":" "},{"text":"<<","color":"blue","bold":true}]  

#预设置 

bossbar set pos players @p   

bossbar set pos color green   

bossbar set pos style notched_10  

bossbar set pos max 20 

#加载成功之后输出 

tellraw @a [{"text":"[","color":"blue","bold":true,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false},{"text":"GoldPack","color":"yellow","bold":true,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false},{"text":"]","color":"blue","bold":true,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false},{"text":"内置数据包加载完毕","color":"green","bold":true,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false}] 

pos.mcfunction文件中含有的指令: 

#获取坐标  

execute store result score x pos_store run data get entity @p Pos[0] 1000 

execute store result score y pos_store run data get entity @p Pos[1] 1000  

execute store result score z pos_store run data get entity @p Pos[2] 1000 

#显示在快捷物品栏 

title @a actionbar [{"text":"所属坐标值>>","color":"blue","bold":true},{"text":" ","color":"red"},{"text":" X:","color":"red","bold":true},{"score":{"name":"x","objective":"pos_store"},"color":"red"},{"text":" ","color":"yellow"},{"text":"Y:","color":"yellow","bold":true},{"score":{"name":"y","objective":"pos_store"},"color":"yellow"},{"text":" ","color":"green"},{"text":"Z:","color":"green","bold":true},{"score":{"name":"z","objective":"pos_store"},"color":"green"},{"text":" "},{"text":"您的血量:","color":"green","bold":true},{"score":{"name":"@p","objective":"hp"}},{"text":" "},{"text":"<<","color":"blue","bold":true}]   

#使记分板的数值与boss栏的数值保持同步(这么做是为了方便下一步的制作) 

execute store result bossbar pos value run data get entity @a[limit=1] Health   

execute store result score @p hp run data get entity @a[limit=1] Health 

tick.mcfunction文件中含有的指令: 

#运行主文件 

function gold_pack:pos   

#使boss栏的坐标实时显示 

bossbar set pos name [{"text":"所属坐标值>>","color":"blue","bold":true},{"text":" ","color":"red"},{"text":" X:","color":"red","bold":true},{"score":{"name":"x","objective":"pos_store"}},{"text":" ","color":"yellow"},{"text":"Y:","color":"yellow","bold":true},{"score":{"name":"y","objective":"pos_store"}},{"text":" ","color":"green"},{"text":"Z:","color":"green","bold":true},{"score":{"name":"z","objective":"pos_store"}},{"text":" "},{"text":"<<","color":"blue","bold":true}] 

#达到或超过限定数值(20)时变色 

execute if score @p hp matches ..20 run bossbar set pos color green 

execute if score @p hp matches 20.. run bossbar set pos color red 

 

这次数据包玩法就这样,可以自己制作,当然这个只是用来快速锁定坐标的。 

如何手搓Java数据包的评论 (共 条)

分享到微博请遵守国家法律