Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看 文明之万象王座 军团召唤 死亡永久加属性,阁下如何应对? 我成了游戏中的bug 砺刃! 海贼:是大将黄猿但有木遁轮回眼 学姐,我对你们真没非分之想! 清冷炮灰?小黑屋在向你招手 哈利波特之魔药教授 全民迷雾求生
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的游戏小说

第一百四十章 真正深入了解NBT-6

上一章 书 页 下一章 阅读记录

(真正深入了解Nbt-6)

(注意,本章中指出的中文minecraft iki错误现已修正)

在前五章,我们仔细地了解了一下Nbt的数据类型。现在,我们已经了解得差不多了,那么还剩下什么呢?

Nbt的版本

——第三节:Nbt的版本

Nbt最早在Indev版本就出现了,但是当时只有0到10这11个标签可用。

后来,到了minecraft beta1.3,Nbt正式有邻一个格式版本:

minecraft 1.2版本时,Notch引入了Anvil[.mca]文件格式来存储区块,在此之前存储区块的文件格式为Region[.mcr](minecraft beta1.3时为存储区块引入的)。而随着Anvil的引入,Nbt的版本正式由升级到了,虽然只是新加入了一个整形数组(Int Array:[I])。

神奇的是,1.12版本时加入Long长整型时并没有更新Nbt格式版本号。

Nbt的版本就是这样,但它对我们有啥影响呢?

目前,如果我们要编辑Nbt文件,我们除了使用Java版1.13及之后minecraft内置的SNbt和压缩后(GZIp压缩)的Nbt文件的转换器来编辑Nbt文件,还可以使用第三方软件编辑Nbt的文件。如果我们使用第三方软件Nbt编辑文件的话,Nbt的格式版本此时就有些影响了:

NbtEdit————indos

NbtExplorer————indos\/mac\/Liunx

NEINedit————mac

mineback Ultimate————indos

Nbt2YAmL————indos

ebNbt————浏览器

Nbt grammar for Synalyze It————mac

如上,每个软件所支持的Nbt格式是不同的。只不过,对我们的影响似乎也就这一点。

——第四节:SNbt

上面我有提到一个东西:SNbt,那么SNbt是个什么鬼东西呢?

其实它并不是一个鬼,而且它并不陌生,我们已经见过它很多很多次了。

它的全称就是:String Named binary tags(字符串化的二进制命名标签)

似乎这么来还有点陌生。那么就直白点吧,SNbt就是纯文本形式的Nbt,且通常用于指令!我们所见到的所有文本形式的Nbt都是SNbt!

——第五节:Nbt?SNbt

我们现在知道了Nbt文件它其实是二进制的,且不同于我们平常所见到的SNbt。那么,我们该怎样转化Nbt和SNbt呢?

其实很简单,上面提到mc社区里有许多第三方软件,随便下一个基本上就可以了。

但第三方软件毕竟不是mojang开发的。那么mojang这个官方有开发吗?

答案是肯定的。

Java版1.13之后,mc服务端就有自带的数据生成器。这个数据生成器有这么几个功能:

1实现Nbt(.nbt)?SNbt(.snbt)

2生成原版数据包的全部内容

3生成一个列出了所有方块状态、注册名和完整的原版命令树的JSoN文件

那么我们该如何启动它呢?

很不简单。首先,我们需要一个minecraft 1.13版本及以上的服务端,你可以在mcbbS或者是官方启动器上下载,只不过官方的下载.......你需要一个迅雷。

下载完后,你可以直接粗暴地双击server.jar(服务端),你也可以按照作品相关里的教程自己创建一个.bat文件方便打开:

@echo off

color 0

title A minecraft Server

java -xms2g -xmx2g -jar server.jar pause

如果你打开不了,那有3种可能:

1.你抄错了上面的指令(方法:细心检查)

2.你未安装JAVA(方法:安装一个JAVA 8)

3.你安了个32位的JAVA(方法:卸了,重新装一个64位的JAVA 8,或把-xms2g -xmx2g调成-xms1g -xmx1g)

(会不会有人打开不了,发现没安JAVA,于是下了个32位的JAVA 10,只不过不是脱机的,然后嫌下载慢随便在网上找了一个。结果JAVA安好了,捆绑软件也一大堆,浏览器主页还被改了。再次打开仍然打开不了,于是删了Java 10,去下了个64位的Java 10,这次聪明用脱机。结果发现系统是32位,不知道怎么弄,弄来弄去还差点把indos换成了mac。最后重新买了一台装了64位的indos系统电脑,花了998$。安了64bit JAVA 10,再次打开,发现还是打开不了。然后才了解到mc是JAVA8的,于是下了Java 8 64bit脱机,结果仍然打不开。最后终于发现原来打成了:

@echo off

color 0

title A minecraft Server

java -xms2g -xmx2g -jar server pause)

回到正题。

按照作品相关里的教程,我们配置好服务器后(实际上不用配置也可以),这样子做:

首先,打开命令提示符(indos)或终端(mac)

打开方法这里就不多叙述了。

然后复制这一串代码:

java -cp server.jar net.minecraft.data.main

复制粘贴进去不要立刻执行,因为这毛用都没有,还会显示:

(indos)

错误:找不到或无法加载主类 net.minecraft.data.main

(mac)

错误:找不到或无法加载主类 net.minecraft.data.main

原因: java.lang.classNotFoundException: net.minecraft.data.main

那么该怎么办呢?

其实很简单,你直接输入进去这系统压根就找不到server.jar这个文件,所以,这里你就要这样子:

打开你的server.jar所在的文件位置,然后直接把整个server.jar文件拖进去,你就会发现系统自动给你输入了server.jar的路径。

现在好了,你只需要用这段路径替换原来的server.jar,比如你的server.jar路径是:

d:\\minecraft\\minecraft Server\\1.13.2\\我的世界1.13.2官方服务端.jar(indos)

\/Users\/block\/desktop\/桌面文件\/Server\/server.jar(mac)

那么你替换之后,就会变成这个样子:

java -cp d:\\minecraft\\minecraft Server\\1.13.2\\我的世界1.13.2官方服务端.jar net.minecraft.data.main(indos)

java -cp \/Users\/block\/desktop\/桌面文件\/Server\/server.jar net.minecraft.data.main(mac)

现在,执行,你就成功——走出邻一步。系统找到了这个server.jar,并执行了指令,只要你这个server.jar是1.13版本及以上的,那么就会跳出:

option description

-----------------

--all Include all generators

--client Include client generators

--dev Include development tools

--help Sho the help menu

--inputString Input folder

--outputString output folder (default: generated)

--reports Include data reports

--server Include server generators

这是啥意思呢?我们把这一大串放到生草机里去搅拌一下,就会得到:

选项明

-----------------

--全部

包括所有发电机

--客户

包括客户端生成器

--开发

包括开发工具

--救命

显示帮助播

--输入

输入文件夹

--输出

输出文件夹(默认:生成)

--报告

包括数据报告

--服务器

包括服务器生成器

差不多可以看出一些端倪,只不过这仍然太生草了。所以我们需要上一下minecraft iki,得出这些东西的具体用途是:

--all 生成原版数据包

--client 生成assets\/minecraft文件夹,包含blockstates和models文件夹

--dev 用于Nbt文件和SNbt文件的相互转换[需要验证]

--help 显示选项和描述列表

--input 输入含有nbt或snbt文件的文件夹

--output 规定输出的目标文件夹,若目标文件夹不存在则自动新建该文件夹(默认为generated)

--reports 生成reports文件夹,包含biomes文件夹和blocks、mands、registries三个JSoN文件

--server 生成data\/minecraft文件夹,包含advancements、loot_tables、recipes、tags四个文件夹

--validate [需要更多信息]

现在我们可以尝试生成一个原版的数据包,这就需要在控制台上输入:

java -cp d:\\minecraft\\minecraft Server\\1.13.2\\我的世界1.13.2官方服务端.jar net.minecraft.data.main --all(没错,只需要在原本的后面加上你要执行的指令就可以了),回车运校

然后你就会发现出现了一大串的信息。

接着,到目录去查看......

反正作者这边什么东西也没有生成。minecraft iki上还写着:

原版数据包(pack.mcmeta文件除外)将生成在当前文件夹的generated目录郑

难不成是打开方式不对?

来试试其他的功能吧,比如这个--help,看一下会有什么帮助:

java -cp d:\\minecraft\\minecraft Server\\1.13.2\\我的世界1.13.2官方服务端.jar net.minecraft.data.main --help

结果......还是这个界面:

option description

-----------------

--all Include all generators

--client Include client generators

--dev Include development tools

--help Sho the help menu

--input Input folder

--output output folder (default: generated)

--reports Include data reports

--server Include server generators

就很离谱。

对了,我们最开始不是要转换文件的吗?咋弄成这个了?

好,那现在我们就开始尝试一下--dev:

java -cp d:\\minecraft\\minecraft Server\\1.13.2\\我的世界1.13.2官方服务端.jar net.minecraft.data.main --dev --input“d:\\minecraft\\minecraft Server\\1.13.2\\orld“

然后......

实际上这是一个错误的做法。正确的做法应该这样子:

在服务端这个目录创建一个新的文件夹(实际上也不用创建,创建只是为了更好的把要转换的文件集中起来),并将其取名为:input

然后,找到实际上是以Nbt存储的.dat的文件(比如orld下的level.dat),将它们丢进去。

接下来,改这些文件的后缀.dat为.nbt。

最后,最重要的一点,执行:

java -cp d:\\minecraft\\minecraft Server\\1.13.2\\我的世界1.13.2官方服务端.jar net.minecraft.data.main --dev --input “d:\\minecraft\\minecraft Server\\1.13.2\\input“

(注意,空格一定要空,作者最开始时就是少了一个空格,然后就是一堆问题!特别是--input和后面的文件夹路径中间一定要空!这是个坑!)

然后,当出现:

[xx:xx:xx][main\/INFo]: Starting provider: Nbt to SNbt

[xx:xx:xx][main\/INFo]: converted level from Nbt to SNbt

[xx:xx:xx][main\/INFo]: Nbt to SNbt finished after xxx ms

恭喜你!你成功了!

但转换后的文件去哪了呢?

答案很简单:

c:\\Users\\xxxxx\\generated(indos)

\/Users\/xxxxxx\/generated(mac)

找到这个目录,你就会发现了自己期待已久的:

.snbt!

这个文件你现在可以用记事本来打开并修改了。

但现在问题又来了,我们现在可以使用dev来进行.nbt→.snbt,那该怎么.nbt←.snbt呢?

很简单。我们把刚才弄出来的.snbt文件再放进input文件夹,顺便删掉那个.nbt。再度执行:

java -cp d:\\minecraft\\minecraft Server\\1.13.2\\我的世界1.13.2官方服务端.jar net.minecraft.data.main --dev --input “d:\\minecraft\\minecraft Server\\1.13.2\\input“

然后你就会发现这不校

为啥呢?minecraft iki上:

用于Nbt文件和SNbt文件的相互转换[需要验证]

很明显这里错了,--dev只能是.nbt→.snbt,并不能.nbt←.snbt。

那该怎么办呢?

使用--client:

java -cp d:\\minecraft\\minecraft Server\\1.13.2\\我的世界1.13.2官方服务端.jar net.minecraft.data.main --client --input “d:\\minecraft\\minecraft Server\\1.13.2\\input“

然后:

[xx:xx:xx][main\/INFo]: Starting provider: SNbt - Nbt

[xx:xx:xx][main\/INFo]: SNbt - Nbt finished after xxx ms

minecraft iki上这样介绍--client:

生成assets\/minecraft文件夹,包含blockstates和models文件夹

很明显这句话完全错误(来自2021-8-5的注:实际上并不是完全错误,确实有这功能,只不过还附带了.nbt←.snbt的功能)。实际上,--client的作用就是.nbt←.snbt。现在你打开generated,你就会发现.snbt重新被转换成了.nbt。

现在我们知道了--dev是.nbt→.snbt,--client是.nbt←.snbt,也发现了minecraft iki中的错误。剩下的内容,我们就以后再研究了,毕竟剩下的不是本章的重点。

oK那么Nbt就讲到这了。我们下一章再见。

喜欢Minecraft指令手册请大家收藏:(m.aizhuixs.com)Minecraft指令手册爱追小说网更新速度最快。

上一章 目 录 下一章 存书签
站内强推 嫁给凶神后,貌美小夫郎被宠上天 近战狂兵 妖孽村医 四合院:醉后,我套路老婆生三胎 团宠农门小作精:首辅追妻火葬场 代号:清道夫 女主一直在遭罪[星际] 权力之巅 红楼从庶子开始 风铃曳 让你管封地,没让你治下人均暴富 真千金只想拿钱 少爷请用餐 下海大时代从1991开始 无敌升级王内 我在修真界苟道长生 重生之九尾凶猫 没有异能的我却能靠卡片变身 七零霸道小甜妻 桃树林里桃花开
经典收藏 我的舢舨能升级 所画之物皆成真?我绘出诸神黄昏 镇魂街:群英唐王 穿越从山贼开始 史上最强狂帝 足坛少侠 半面妆 我将统一泰拉之明日方舟 良人归 真相收集簿 枭雄帝少撩妻有瘾 小娘 生存游戏禁止恋爱 一觉醒来喜当妻 绝顶枪王 徒谋不轨 金牌杀手妃:国师忙追妻 英雄联盟之猎场 综漫:我野原新之助,天生剑豪! 全民远征:副职也能带赢全人类
最近更新 列车求生,我的极尽升华 斗罗:退婚后,深陷强者修罗场 全球游戏:开局百亿灵能币 重生之誓要攻略年长者 梦幻西游之重返2005 全民巨鱼求生:我能听到巨鱼心声 超神抽奖师,全民都是我的打工仔 三角洲:可男可女的我是BOSS 火影:开局三战,别怪我开点小挂 重生三国:吕布,一戟破万法 这个落选秀打脸整个NBA 锦凰深宫谋 开局怼懵乔丹,我成NBA公敌 让你转职,你转成皇帝什么鬼? 忘羡同人观影未来 孤剑残雪录 领主求生之天赋合成 杀怪百分百爆率,你跟我比幸运? 梦幻西游之全职五开 文明领主:我建神话天庭为运朝
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的游戏小说