Minecraft 1.16.5模组开发(二十八) 自定义生态群系(biome)

今天我们尝试在MC中制作一个属于自己的生态群系

1.进入网站,选择Worldgen->Biome Generator进行空间维度的设定与制作:

Minecraft 1.15,1.16,1.17自定义生态群系制作网站

2.在Biome Generator页面进行相关设置

cr5.png

在设置中会出现一系列的 s t e p i step_{i} stepi(i=0,1,…,9)

cr6.png

分别对应于以下的各种类型:

cr1.png

设置好后在开发包data文件夹下面新建worldgen包 -> 在worldgen包中新建biome包 -> 在biome包中新建一个自定义的.json类型文件(以re8_biome.json进行演示) -> 将页面中左下角自动生成的代码复制粘贴到re8_biome.json中:

cr2.png

3.在init包下新建BiomeInit.java

在BiomeInit.java中编写代码:
package com.joy187.re8joymod.common.init;

import com.joy187.re8joymod.Utils;
import net.minecraft.util.RegistryKey;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.biome.BiomeMaker;
import net.minecraftforge.common.BiomeManager;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraft.world.biome.Biome;

import java.util.function.Supplier;

public class BiomeInit {
    public static final DeferredRegister<Biome> BIOMES = DeferredRegister.create(ForgeRegistries.BIOMES, Utils.MOD_ID);

    // 所有的自定义生物群系
    static {
        createBiome("re8_biome", BiomeMaker::theVoidBiome);
        //你可以继续往下写 createBiome("re8_biome2", BiomeMaker::theVoidBiome);
    }

    // 可以创造多个自定义的生物群系
    public static RegistryKey<Biome> RE8_BIOME = registerBiome("re8_biome");
    //    public static RegistryKey<Biome> RE8_BIOME2 = registerBiome("re8_biome2");

    public static RegistryKey<Biome> registerBiome(String biomeName) {
        return RegistryKey.create(Registry.BIOME_REGISTRY, new ResourceLocation(Utils.MOD_ID, biomeName));
    }

    public static RegistryObject<Biome> createBiome(String biomeName, Supplier<Biome> biome) {
        return BIOMES.register(biomeName, biome);
    }

    public static void registerBiomes() {
        //将所有的生物群系进行register                                          参数:生物群系名称, 生成概率(0~100)
        BiomeManager.addBiome(BiomeManager.BiomeType.COOL, new BiomeManager.BiomeEntry(RE8_BIOME, 10));
        //        BiomeManager.addBiome(BiomeManager.BiomeType.COOL, new BiomeManager.BiomeEntry(RE8_BIOME2, 10));

        
    }
}

4.在Main.java中添加Biome的注册机制:

在Main()函数中添加语句:
        BiomeInit.BIOMES.register(bus);
        BiomeInit.registerBiomes();

cr7.png

5.将你所有自定义的生态群系的名称在en_us.lang(语言包,中文包是zh_cn.lang)中进行标记:

  "biome.re8joymod.re8_biome": "Resident Evil8 Wasteland Biome",

cr3.png

6.运行游戏进行调试:

创建一个新的世界,出现以下的字段:

cr10.jpg

选择“Proceed”,进入主世界
输入如下命令对我们的自定义群系进行查找:
/locatebiome re8joymod:re8_biome
找到后游戏会传给我们一个群系的坐标 -> 输入一下指令进行传送
/tp @s 坐标(游戏中具体值)

cr4.png

传送之后就抵达了属于我们自己的生物群系!

cr8.png

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jay_fearless

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值