Иконка ресурса

Создание своего биома.

Версия(и) Minecraft
1.12+
Нечасто, но все же возникают вопросы о том, как создать свой биом в игре в принципе и в 1.12+ в частности, так как там создание биома немножечко отличается даже от 1.11.2. Давайте сегодня раз и навсегда отрубим это дело одним тутором.
Для начала создадим класс BiomeInit - в нем мы создадим переменную типа Biome, зарегистрируем его, и добавим различных параметров.
Java:
public class BiomeInit {
    
    public static final Biome DEADFOREST = new BiomeDeadForest();
    
    /*
    Зарегистрируем биом, присвоим ему имя и зададим его типы.
    Пусть он будет теплый - это обязательно!.Дальше немного из другого класса, но аналогичного,
    добавим еще параметров(или один параметр) Пусть это будут теплые сухие лесные горы :D
    Итак с этим конструктором, вроде все ясно.
    */
    public static void registerBiomes() {
        initBiome(DEADFOREST,"deadforest", BiomeType.WARM, Type.HILLS, Type.FOREST, Type.DRY);
    }
    /*
    Что бы не писать по сто раз одно и тоже, добавим сразу в конструктор нашего биома базовые типы.
    
    */
    public static Biome initBiome(Biome biome, String name, BiomeType biometype, Type... types) {
        //Регистрируем биом в классе Biome
        biome.setRegistryName(name);
        //Регистрируем биом в фордже
        ForgeRegistries.BIOMES.register(biome);
        //Добавляем биом в биомдикшионари - для того взаимодействия с другими модами
        BiomeDictionary.addTypes(biome, types);
        //Добавляем биом, спавн биома и тип нашего биома в BiomeManager
                    //Тут создаем новые начальные параметры - высота биома и тип биома
        BiomeManager.addBiome(biometype, new BiomeEntry(biome, 10));
        BiomeManager.addSpawnBiome(biome);
        BiomeManager.isTypeListModded(biometype);
        
        return biome;   
    }
}
Итак, теперь нам этот класс с инициализацией нужно подключить к моду. Я не понял куда лучше его вставлять, в ClientProxy или в Server, поэтому решил зарегистрировать в методе preInit главного класса.
Собственно, почти все готово, осталось только создать собственно сам биом.
Java:
public class BiomeDeadForest extends Biome {

    public BiomeDeadForest() {
        //Переопределяем суперметод с установкой различных параметров биома -
        /*
        setBaseHeight - обычная высота биома
        setHeightVariation - +- к обычной высоте
        setTemperature - температура
        setWaterColor- цвет воды в биоме
        */
        super(new BiomeProperties("DEADFOREST").setBaseHeight(0.2F).setHeightVariation(0.05F).setTemperature(0.6F).setWaterColor(658944));
        //Устанавливаем поверхностный и подповерхностный блоки - сверху будет земля, снизу будет бедрок
        topBlock = Blocks.DIRT.getDefaultState();
        fillerBlock = Blocks.BEDROCK.getDefaultState();
        //здесь я очищаю лист биома от спавна существ всяких видов - это необязательно
        //также вы можете написать this. и нажать Ctrl+Space и выбрать всякую разную всяччину
        this.spawnableCaveCreatureList.clear();
        this.spawnableCreatureList.clear();
        this.spawnableMonsterList.clear();
        this.spawnableWaterCreatureList.clear();
    }
    //Тут мы устанавливаем цвет неба в биоме.
    @Override
    @SideOnly (Side.CLIENT)
    public int getSkyColorByTemp (float temp) {
    return 658944 ;
    }

}
Ну вот собственно и все, биом готов. Теперь с помощью различных ворлд-генераторов и биомдекораторов можно наш биом разнообразить, но это уже другая история)
  • Like
Реакции: hohserg
Автор
Maxik
Просмотры
6,787
Первый выпуск
Обновление
Оценка
3.00 звёзд 1 оценок

Другие ресурсы пользователя Maxik

Последние рецензии

Информации много, но не вся она по делу.
Сверху