JAVA我的世界困难生存系列:前言-奇异世界
作者前世今生–前言
其实这个系列最开始的起因是因为看到了一个指令教程,想着这个指令教程的示例其实可以直接做成一个游戏模式的。
而这个指令教程就是百度贴吧里的 迷你迫击炮 发布的。而且这件事也是有几年的历史了。
其实最开始的前身叫《超超级自定义魔改生存》,后面才给的一个正式名称:超困难生存
当然也不叫奇异世界,是后续改名过来的,没有之前的 超困难生存 这个名字那么土了。但同时也没有原名字那么直观了。
这里给了个链接,写这篇文章的时候才发现当时我竟然只发了前一段,可能是因为剪得太烂了,而且后续视频我在这个电脑盘里面没找到。可能没了,也可能在‘虚无的硬盘里面吧’
特别是打末影龙的那段,特别好玩,特别精彩,网易我的世界上遇到的几个伙伴同心协力共克难关。可惜现在已经没了,只有一段剪得很平平无奇的前面的一段…[反复强调 ]【MC】超超级自定义魔改生存第一期[BYD我自己都看不下去… ]
与那时候有很长的时间间隔了,为什么现在才发呢?
因为在这段时间里我悟出了个道理,人类的意义是信息的交流。我是一个很自私的人。自己辛苦写出来的代码就这样放出来让别人轻易获取,心里很不是滋味 。但其实自己私藏在那是没意义的,让它在那蒙灰诞生不出任何价值,所以现在有了机会的我便拿出来写了这么个系列,也请如果拿了什么东西,或因我而获得了什么灵感,可以给我吱一声么?谢谢了。
最后的最后,希望不会因为我的懒惰或者其他原因而再次停止吧…
我的世界工具
要想做事有效率,必先利其器
我的世界的中文百科Wiki,以前我用来查我的世界上面的JSON数据,数据结构,游戏信息就是用的它,唯一的缺点就是,有时候网站抽风需要科学上网。
中文Minecraft Wiki - 最详细的官方我的世界百科
MC百科,平常于现有的MOD和数据包,材质包等都可以在这里轻松获取
MC百科|最大的Minecraft中文MOD百科
VS CODE 代码编辑器,由微软推出的独立的免费的IDE。上面拥有关于我的世界数据包制作的插件,能很好的辅助我们制作数据包。
Visual Studio Code
快捷键ctrl+shift+x
打开vs cdoe 扩展插件搜索页面
VS CODE 插件:
搜索 Chinese (Simplified) (简体中文)安装后Vs Code将切换成中文语言
搜索 Data-pack Helper Plus 插件,此插件将会自动下载依赖language-mcfunction。::此时Vs Code已经具备自动补全我的世界里面的指令和数据包文件结构的功能。
搜索NBT Viewer 插件(可选)安装:此插件可以让你查看nbt结构文件里的方块结构
我的世界重要的文件结构和快捷键
快捷键:
除去基础的按键-全部基础按键-
F3+I :用于获取当前游戏指针对准的实体或者方块的所有JSON标签数据,这是本系列最重要的一个快捷键
F2 :截图,没截图过主的游戏目录(游戏版本本体)下是不会有screenshots文件夹的,screenshots是游戏用来储存截图的文件夹
文件结构:
正版我的世界创建-游戏
点击上方标签栏中的配置文件即可跳转到下图所示
再次点击图片中红圈框住的文件夹图片即可打开现在你此版本游戏本体所在地。
右边的三个点可以打开当前游戏本体的设置,同时可以更改上面的游戏目录而迁移到其他地方。(但事实上游戏的libray库,游戏的本体核心任然在原地方: C:\Users\用户名\AppData\Roaming\.minecraft)
游戏的libray库文件列表
而你更改游戏地址后就可以在你更改的地址找到这样的文件
这是没有打forge的文件列表
这是打了forge的文件列表
这是非官方启动器的没有分离地址的文件列表
通过以上几种游戏文件结构得知,我们需要的大部分文件位置结构是相同的。
以正版有forge且重新设置过游戏文件位置举例
在开始目录下有
hrbar.nbt :此NBT文件代表的是你处于创造模式下的快捷栏背包物品
mods代表你打过forge等补丁下的mod文件存放位置
config代表的你打过forge等补丁下的mod配置文件的存放位置
crash-reports代表的是你当前游戏崩溃后的崩溃文件报告
logs代表你的游戏日志(程序启动日志)
saves文件代表你当前游戏本体的存档位置
而saves文件下面的文件(单个世界的存档目录下):
datapacks便是本系列的主要目标,数据包存放的地方,没错,数据包是单独安装于某一个存档的。
generated便是结构方块储存nbt的地方,没有用结构方块保存过结构是不会有这个文件夹存在的,如果没有也可以直接新建一个generated文件夹。
因为结构方块不是本系列主题,使用方法请自行前往wiki查询。同时可能有关本系列的文件夹和快捷键介绍完毕。
基于IPV6公网的远程联机(未验证)
这是我自己突然之前想到的一个可以用来联机的方法。
同时经过我对网络上资料的统合,是有很大的概率可以实现的,如果有成功的小伙伴一定要来给我吱一声哇,呜呜呜┭┮﹏┭┮
没朋友有那么多的空闲时间来陪我测试我的世界…
ipv6,一个几年前可能就听过的东西,但其实现在也根本没有普及,甚至很少见。虽然很少见,但其实已经遍布你们的身边,那就是手机的蜂窝移动网络。
现在的手机移动网络全都已经支持进行ipv6的连接,而且分配给手机的ip基本都是公网,甚至于大部分手机网络的ipv4都是公网的。但因为时代发展,现在很多移动ipv4网络也出现了非公网ip,特别是某些大地区统一成了一个大内网,堪比墙中墙 。
ipv6的地址十分的多,足够用来分配公网。可以打开移动蜂窝网络关闭wifi等其他网络来源进入IPV6网络测试网站测试
现在无论是安卓手机还是苹果手机均可以通过数据线来连接电脑上网,此时是可以共享手机的ipv6网络的。 (作为大学生,手机里有几十个g的流量应该很常见吧) 以我自己的手机iPhone 11和 Redmi K40来说明。(注意,通过wifi和蓝牙连接上网按理说可以的,但是我不知道方法,而且可以肯定的是难度会上升,用线连接不仅简单还稳定,可以防止ipv4和ipv6串线,也不需要局域网的穿透。)
开启手机ipv6共享网络方法:
iphone:
关闭wifi,打开蜂窝网络的情况下点击个人热点。
此时点击允许其他人加入会弹出以下弹窗
点击红圈按钮,再通过usb与电脑相连即可。
android:
点击个人热点后进入,在通过usb连接上电脑上打开红圈内开关
电脑设置
以win10举例
以右键 电脑右下角的网络连接 选择 打开“网络和Internet‘
翻到最下方的 高级网络设置 选择更改适配器选项
找到你刚刚通过手机USB建立起的网络连接,右键点击状态
如图所示显示internet则表示已经成功。如果不成功可以点击上图的属性,找到 internet ipv6协议版本 那一栏,勾选并进入属性后将里面的两个选项都更改为 自动获取。
防火墙设置
进入 控制面板 — 选择 系统和安全 — 选择 windows defender防火墙 — 选择左边的 高级设置 — 点击入站规则 在 右边找到新建规则
持续下一步到 ‘此规则应用于哪些IP地址。将上下两个都选者为 下列IP。并添加上你想联机的对象ipv6地址
ipv6地址获取,win+r 打开 允许 输入 cmd 再次输入 ipconfig 找到IPv6地址,告知你想联机的对象。
防火墙此步设置可以通过直接完全关闭电脑防火墙来跳过,但不推荐如此做,虽然省事。
游戏内设置
打开你想联机的存档,开启对局域网开放,记住生成的端口后。将你自己的ipv6地址附上:端口号 发送给对方。
对方打开游戏,选择添加服务器 在地址栏添加上你自己的 ipv6地址:端口号
联机失败可能原因:需要正版验证。此时需要开服方,打上forge 下载一个能关闭正版验证的mod。
注意
除去–游戏内设置–是开服方需要注意的,其他的双方都需要弄。
数据包相关问题
奇异世界经历了很多个版本,在测试阶段用的便是不可更换存档的一个一个命令方块在游戏存档里建造。在转移方面尝试用过OOC(OOC工具)后面到正式用于联机的时候采用了结构方块的方式。为了搬运方便,使用了hrbar.nbt储存OOC命令方块引用存档内的nbt结构文件通过结构方块再现出装置。后续数据包普及便完全解决了这一问题。
数据包使用过程
将你想使用的数据包复制到你存档下的datapacks,记下文件名,最好是已经解压到一个文件夹内的类型。有的时候,压缩包我的世界它不认。
进入存档,如果此时没有指令使用权限,选择对局域网开放,然后选择允许作弊
需要先输入/datapack list
此时会返回一串名字。找到与你之前移动到datapacks名字有关系的返回名
输入/datapack enable 数据包名字
指令,此时的数据包名字就是返回名/文件夹名字,此时就启用成功了。
指令/datapack disable
数据包名字便是禁用此数据包
结尾
如果发现有错误或有好的意见请告知我修改和添加。
后续的内容就只是介绍我对我的世界的指令理解和分享我写的数据包和指令。