Minecraft 1.19.2 Fabric模组开发 10.建筑生成
我们本次尝试在Fabric 1.19.2中生成一个自定义的建筑。
效果展示 效果展示 效果展示
由于版本更新缘故,1.19的建筑生成将不涉及任何Java包的代码编写,只需要在数据包中对建筑生成进行自定义。
1.首先我们要使用游戏中的结构方块制作一个建筑,结构方块使用教程参考1.16.5自定义建筑生成的第一步:
我们将建筑保存为nbt文件
之后在开发包run\saves\建筑所在的存档\generated\你的modid\structures
的路径下找到该nbt文件:
2.来到数据包中,路径一般为src\main\resources\data\你的modid
:
新建structures包,将第一步中的nbt文件放入其中:
新建tags包 -> tags包中新建worldgen包 -> worldgen包中新建biome包 -> biome包中新建 -> has_structure包 -> 包中新建一个ggd.json
文件(名称和你的nbt建筑名称保持一致),用于指明我们的建筑会在什么地形生成:
ggd.json
{"replace": false,"_comment": "指明我们的建筑会在什么生物群系中生成,比如草原、沙漠、雪原等","values": ["minecraft:plains","minecraft:snowy_plains","minecraft:sunflower_plains","minecraft:savanna"]
}
新建 worldgen包 -> 包中分别新建三个文件夹structure
,structure_set
,template_pool
,可以参考上图:
之后在template_pool包中新建一个ggd包 -> ggd包中新建start_pool
,用于指定该建筑起始生成信息:
start_pool.json
{"name": "re8joymod:ggd/start_pool","fallback": "minecraft:empty","elements": [{"weight": 1,"element": {//该建筑起始生成的nbt文件,也就是我们第一步中的那个文件名称"location": "re8joymod:ggd","processors": "minecraft:empty","projection": "rigid","element_type": "minecraft:single_pool_element"}}]
}
之后在structure包中新建我们的建筑文件ggd.json
ggd.json
{"type": "minecraft:jigsaw",//建筑起始生成池"start_pool": "re8joymod:ggd/start_pool","size": 2,"max_distance_from_center": 80,//在什么群系中生成"biomes": "#re8joymod:has_structure/ggd","step": "surface_structures","start_height": {"absolute": 0},"project_start_to_heightmap": "WORLD_SURFACE_WG","use_expansion_hack": false,//建筑中可以生成什么生物"spawn_overrides": {"creature": {"bounding_box": "piece","spawns": [{"type": "minecraft:parrot","weight": 1,"minCount": 1,"maxCount": 4}]}}
}
最后在structure_set包中新建文件ggd.json
,将该建筑集合放入其中:
ggd.json
{"structures": [{//上面structure包中的建筑放进来,生成权重为1 "structure": "re8joymod:ggd","weight": 1}],"placement": {//修改这个建筑id,注意两个不同的建筑的salt值不要一样"salt": 1642136453,//两个相同建筑的间隔多大"spacing": 20,//这个值不要比spacing大"separation": 6,//随意向周围扩展生成这种建筑"type": "minecraft:random_spread"}
}
3.保存文件,运行游戏:
通过指令快速找到群系位置
/locate biome minecraft:群系名称
通过点击坐标可以传送到指定地形:
如果你可以在群系中找到对应的建筑,就大功告成了!
Minecraft 1.19.2 Fabric模组开发 10.建筑生成相关推荐
- Minecraft 1.19.2 Forge模组开发 06.建筑生成
1.12.2自定义建筑生成 1.16.5自定义建筑生成 1.18.2自定义建筑生成 我们本次尝试在主世界生成一个自定义的建筑. 效 果 展 示 效果展示 效果展示 由于版本更新缘故,1.19的建筑生成 ...
- Minecraft 1.19.2 Forge模组开发 05.矿石生成
我们本次尝试在主世界生成模组中自定义的矿石 1.由于1.19的版本出现了深板岩层的矿石,我们要在BlockInit类中声明一个矿石的两种岩层形态: BlockInit.java package com ...
- Minecraft 1.19.2 Forge模组开发 10.3D动画盔甲
Minecraft 1.16.5模组开发3D盔甲 Minecraft 1.12.2模组开发3D盔甲 Minecraft 1.18.2模组开发3D动画盔甲 我们本次在1.19.2的版本中实现具有动画效果 ...
- Minecraft 1.19.2 Forge模组开发 08.生物生成
Minecraft 1.18.2 生物生成 我们今天尝试在1.19中生成模组中的生物 效果演示效果演示效果演示 1.在你的项目主类中的commonSetup方法中添加模组中生物的生成规则(可参考文末M ...
- Minecraft 1.19.2 Fabric模组开发 13.自定义村民
我们本次在模组中实现一个自定义村民并与其进行交易 效果演示 效果演示 效果演示 1.1.19版本村民职业获取需要一个所谓的职业方块,所以我们要先准备一个方块给村民进行职业获取: 在BlockInit中 ...
- Minecraft 1.19.2 Fabric模组开发 03.动画生物实体
我们本次尝试在1.19.2 Fabric中添加一个能够具有各种动画效果动作的生物实体. 效果展示 效果展示 效果展示 1.首先,为了实现这些动画效果,我们需要首先使用到一个模组:geckolib(下载 ...
- Minecraft 1.19.2 Fabric模组开发 02.物品栏+物品
我们本次在Fabric下创建自己模组中的物品栏和物品. 1.在Java包中新建一个init包,在init包中新建一个物品注册类ItemInit用于注册所有物品: ItemInit.java packa ...
- Minecraft 1.19.2 Fabric模组开发 07.自定义NBT标签
我们本次使用NBT标签来实现一个生物传送工具: 演示效果 演示效果 演示效果 Q:什么是NBT标签? A:NBT标签代表着物体的许多特性.玩家可以利用NBT标签存储生物(品种.是否无敌).物品(伤害加 ...
- Minecraft 1.19.2 Forge模组开发 04.动画效果物品
我们本次实现一个具有动画效果的物品,本次演示的模型代码均在文末给出 效果演示效果演示效果演示 首先,请确保你的开发包中引入了geckolib依赖,相关教程请参考:Minecraft 1.19.2 Fo ...
最新文章
- springboot 学习笔记(三)
- 2020上的NLP有哪些研究风向?
- spacy库的安装与使用_Python 安装、使用第三方库的一些经验
- 错误处理笔记 导入 torch.utils.tensorboard时 找不到tensorboard
- Jquery中使用table2excel插件实现将Html的table导出为Excel(附示例代码和资源下载)
- [转]个人开发者做一款Android App需要知道的事情
- Spring的依赖注入陷阱
- vue 动态显示三级路由
- Kafka Producer源码简述
- 闲鱼直播三周内实现点击率翻倍,我们是这么做到的...
- mysql partition 性能_通过分区(Partition)提升MySQL性能
- 转向与重定向的联系与区别
- 拼手速!兄弟连高洛峰细说php全套教学视频教程云盘下载
- Optisystem中器件的学习(3-WDM Multiplexers Library/Optical Fibers Library/Amplifiers Library/Fiters Librar)
- ROS2的launch文件如何编写?快来学习一下使用Python编写launch文件~
- wifi共享代码实践java_笔记本实现共享wifi上网
- CRM和SCRM,到底有什么区别?
- 【练习】获取新浪搜索中的热搜榜的标题
- 利用python和递归实现赶鸭子问题
- 2019北航计科保研夏令营(非优营)
热门文章
- 若依权限管理系统(用户管理)
- Pycharm中对sqlite数据库的可视化操作——详细步骤一目了然
- Graphics2D 图片上添加图片或绘制二维码
- git pull 的时候报错:error: insufficient permission for adding an object to repository database .git/objec
- 我希望 明天的自己 像一道彩虹 还是刚淋过雨
- 手写一个简单rpc框架(一)
- 中国电子级氨水市场调研与投资预测报告(2023版)
- 建筑学和计算机那个辛苦,通信工程和建筑学比哪个工作辛苦
- 一图带你看懂什么是智慧城市
- inux yum 安装mysql