我们本次尝试在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.建筑生成相关推荐

  1. Minecraft 1.19.2 Forge模组开发 06.建筑生成

    1.12.2自定义建筑生成 1.16.5自定义建筑生成 1.18.2自定义建筑生成 我们本次尝试在主世界生成一个自定义的建筑. 效 果 展 示 效果展示 效果展示 由于版本更新缘故,1.19的建筑生成 ...

  2. Minecraft 1.19.2 Forge模组开发 05.矿石生成

    我们本次尝试在主世界生成模组中自定义的矿石 1.由于1.19的版本出现了深板岩层的矿石,我们要在BlockInit类中声明一个矿石的两种岩层形态: BlockInit.java package com ...

  3. 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的版本中实现具有动画效果 ...

  4. Minecraft 1.19.2 Forge模组开发 08.生物生成

    Minecraft 1.18.2 生物生成 我们今天尝试在1.19中生成模组中的生物 效果演示效果演示效果演示 1.在你的项目主类中的commonSetup方法中添加模组中生物的生成规则(可参考文末M ...

  5. Minecraft 1.19.2 Fabric模组开发 13.自定义村民

    我们本次在模组中实现一个自定义村民并与其进行交易 效果演示 效果演示 效果演示 1.1.19版本村民职业获取需要一个所谓的职业方块,所以我们要先准备一个方块给村民进行职业获取: 在BlockInit中 ...

  6. Minecraft 1.19.2 Fabric模组开发 03.动画生物实体

    我们本次尝试在1.19.2 Fabric中添加一个能够具有各种动画效果动作的生物实体. 效果展示 效果展示 效果展示 1.首先,为了实现这些动画效果,我们需要首先使用到一个模组:geckolib(下载 ...

  7. Minecraft 1.19.2 Fabric模组开发 02.物品栏+物品

    我们本次在Fabric下创建自己模组中的物品栏和物品. 1.在Java包中新建一个init包,在init包中新建一个物品注册类ItemInit用于注册所有物品: ItemInit.java packa ...

  8. Minecraft 1.19.2 Fabric模组开发 07.自定义NBT标签

    我们本次使用NBT标签来实现一个生物传送工具: 演示效果 演示效果 演示效果 Q:什么是NBT标签? A:NBT标签代表着物体的许多特性.玩家可以利用NBT标签存储生物(品种.是否无敌).物品(伤害加 ...

  9. Minecraft 1.19.2 Forge模组开发 04.动画效果物品

    我们本次实现一个具有动画效果的物品,本次演示的模型代码均在文末给出 效果演示效果演示效果演示 首先,请确保你的开发包中引入了geckolib依赖,相关教程请参考:Minecraft 1.19.2 Fo ...

最新文章

  1. springboot 学习笔记(三)
  2. 2020上的NLP有哪些研究风向?
  3. spacy库的安装与使用_Python 安装、使用第三方库的一些经验
  4. 错误处理笔记 导入 torch.utils.tensorboard时 找不到tensorboard
  5. Jquery中使用table2excel插件实现将Html的table导出为Excel(附示例代码和资源下载)
  6. [转]个人开发者做一款Android App需要知道的事情
  7. Spring的依赖注入陷阱
  8. vue 动态显示三级路由
  9. Kafka Producer源码简述
  10. 闲鱼直播三周内实现点击率翻倍,我们是这么做到的...
  11. mysql partition 性能_通过分区(Partition)提升MySQL性能
  12. 转向与重定向的联系与区别
  13. 拼手速!兄弟连高洛峰细说php全套教学视频教程云盘下载
  14. Optisystem中器件的学习(3-WDM Multiplexers Library/Optical Fibers Library/Amplifiers Library/Fiters Librar)
  15. ROS2的launch文件如何编写?快来学习一下使用Python编写launch文件~
  16. wifi共享代码实践java_笔记本实现共享wifi上网
  17. CRM和SCRM,到底有什么区别?
  18. 【练习】获取新浪搜索中的热搜榜的标题
  19. 利用python和递归实现赶鸭子问题
  20. 2019北航计科保研夏令营(非优营)

热门文章

  1. 若依权限管理系统(用户管理)
  2. Pycharm中对sqlite数据库的可视化操作——详细步骤一目了然
  3. Graphics2D 图片上添加图片或绘制二维码
  4. git pull 的时候报错:error: insufficient permission for adding an object to repository database .git/objec
  5. 我希望 明天的自己 像一道彩虹 还是刚淋过雨
  6. 手写一个简单rpc框架(一)
  7. 中国电子级氨水市场调研与投资预测报告(2023版)
  8. 建筑学和计算机那个辛苦,通信工程和建筑学比哪个工作辛苦
  9. 一图带你看懂什么是智慧城市
  10. inux yum 安装mysql