Created
May 14, 2020 20:09
-
-
Save HexBugOrion/b533ad1aae2370ebb0454a2dfd2c1fb4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.oriondev.baryon_biomes; | |
import com.oriondev.baryon_biomes.lists.BiomeInit; | |
import com.oriondev.baryon_biomes.lists.BlockInit; | |
import net.minecraft.block.Blocks; | |
import net.minecraft.item.BlockItem; | |
import net.minecraft.item.Item; | |
import net.minecraft.item.ItemGroup; | |
import net.minecraft.item.ItemStack; | |
import net.minecraft.world.biome.Biome; | |
import net.minecraftforge.common.MinecraftForge; | |
import net.minecraftforge.event.RegistryEvent; | |
import net.minecraftforge.eventbus.api.IEventBus; | |
import net.minecraftforge.eventbus.api.SubscribeEvent; | |
import net.minecraftforge.fml.RegistryObject; | |
import net.minecraftforge.fml.common.Mod; | |
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; | |
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; | |
import net.minecraftforge.fml.event.server.FMLServerStartingEvent; | |
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; | |
import net.minecraftforge.registries.IForgeRegistry; | |
import org.apache.logging.log4j.LogManager; | |
import org.apache.logging.log4j.Logger; | |
@Mod("baryon_biomes") | |
@Mod.EventBusSubscriber(modid = BaryonBiomes.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) | |
public class BaryonBiomes | |
{ | |
public static BaryonBiomes instance; | |
public static final String MOD_ID = "baryon_biomes"; | |
public static final Logger LOGGER = LogManager.getLogger(); | |
public BaryonBiomes() | |
{ | |
instance = this; | |
final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); | |
modEventBus.addListener(this::Setup); | |
modEventBus.addListener(this::ClientSetup); | |
BlockInit.BLOCKS.register(modEventBus); | |
BiomeInit.BIOMES.register(modEventBus); | |
MinecraftForge.EVENT_BUS.register(this); | |
} | |
@SubscribeEvent | |
public static void onRegisterItems(final RegistryEvent.Register<Item> event) | |
{ | |
final IForgeRegistry<Item> registry = event.getRegistry(); | |
BlockInit.BLOCKS.getEntries().stream().map(RegistryObject::get).forEach(block -> { | |
final Item.Properties properties = new Item.Properties().group(BaryonBiomesGroup.instance); | |
final BlockItem blockItem = new BlockItem(block, properties); | |
blockItem.setRegistryName(block.getRegistryName()); | |
registry.register(blockItem); | |
}); | |
} | |
@SubscribeEvent | |
public static void onRegisterBiomes(final RegistryEvent.Register<Biome> event) | |
{ | |
BiomeInit.registerBiomes(); | |
} | |
private void Setup ( final FMLCommonSetupEvent event) | |
{ | |
} | |
private void ClientSetup ( final FMLClientSetupEvent event) | |
{ | |
} | |
public void onServerStarting (FMLServerStartingEvent event) | |
{ | |
} | |
public static class BaryonBiomesGroup extends ItemGroup{ | |
public static final BaryonBiomesGroup instance = new BaryonBiomesGroup(ItemGroup.GROUPS.length, "baryon_biomes_group"); | |
private BaryonBiomesGroup(int index, String label) | |
{ | |
super(index, label); | |
} | |
@Override | |
public ItemStack createIcon() { | |
return new ItemStack(Blocks.SPRUCE_SAPLING); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.oriondev.baryon_biomes.lists; | |
import com.oriondev.baryon_biomes.BaryonBiomes; | |
import com.oriondev.baryon_biomes.world.biomes.PineForest; | |
import net.minecraft.block.Blocks; | |
import net.minecraft.world.biome.Biome; | |
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; | |
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilderConfig; | |
import net.minecraftforge.common.BiomeDictionary; | |
import net.minecraftforge.common.BiomeManager; | |
import net.minecraftforge.fml.RegistryObject; | |
import net.minecraftforge.registries.DeferredRegister; | |
import net.minecraftforge.registries.ForgeRegistries; | |
public class BiomeInit { | |
public static final DeferredRegister<Biome> BIOMES = new DeferredRegister<>(ForgeRegistries.BIOMES, BaryonBiomes.MOD_ID); | |
public static final RegistryObject<Biome> PINE_FOREST = BIOMES.register("pine_forest", ()-> new PineForest(new Biome.Builder().precipitation(Biome.RainType.RAIN).temperature(0.25f).waterColor(16724639).waterFogColor(16724639).surfaceBuilder(SurfaceBuilder.DEFAULT, new SurfaceBuilderConfig(Blocks.GRASS_BLOCK.getDefaultState(), Blocks.DIRT.getDefaultState(), Blocks.DIRT.getDefaultState())).category(Biome.Category.TAIGA).downfall(0.1f).depth(0.6f).parent(null))); | |
public static void registerBiomes() | |
{ | |
registerBiome(PINE_FOREST.get(), BiomeDictionary.Type.CONIFEROUS, BiomeDictionary.Type.FOREST, BiomeDictionary.Type.COLD); | |
} | |
private static void registerBiome(Biome biome, BiomeDictionary.Type... types) | |
{ | |
BiomeDictionary.addTypes(biome,types); | |
BiomeManager.addSpawnBiome(biome); | |
} | |
} | |
package com.oriondev.baryon_biomes.lists; | |
import com.oriondev.baryon_biomes.BaryonBiomes; | |
import com.oriondev.baryon_biomes.world.biomes.PineForest; | |
import net.minecraft.block.Blocks; | |
import net.minecraft.world.biome.Biome; | |
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; | |
import net.minecraft.world.gen.surfacebuilders.SurfaceBuilderConfig; | |
import net.minecraftforge.common.BiomeDictionary; | |
import net.minecraftforge.common.BiomeManager; | |
import net.minecraftforge.fml.RegistryObject; | |
import net.minecraftforge.registries.DeferredRegister; | |
import net.minecraftforge.registries.ForgeRegistries; | |
public class BiomeInit { | |
public static final DeferredRegister<Biome> BIOMES = new DeferredRegister<>(ForgeRegistries.BIOMES, BaryonBiomes.MOD_ID); | |
public static final RegistryObject<Biome> PINE_FOREST = BIOMES.register("pine_forest", ()-> new PineForest(new Biome.Builder().precipitation(Biome.RainType.RAIN).temperature(0.25f).waterColor(16724639).waterFogColor(16724639).surfaceBuilder(SurfaceBuilder.DEFAULT, new SurfaceBuilderConfig(Blocks.GRASS_BLOCK.getDefaultState(), Blocks.DIRT.getDefaultState(), Blocks.DIRT.getDefaultState())).category(Biome.Category.TAIGA).downfall(0.1f).depth(0.6f).parent(null))); | |
public static void registerBiomes() | |
{ | |
registerBiome(PINE_FOREST.get(), BiomeDictionary.Type.CONIFEROUS, BiomeDictionary.Type.FOREST, BiomeDictionary.Type.COLD); | |
} | |
private static void registerBiome(Biome biome, BiomeDictionary.Type... types) | |
{ | |
BiomeDictionary.addTypes(biome,types); | |
BiomeManager.addSpawnBiome(biome); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.oriondev.baryon_biomes.world.biomes; | |
import com.oriondev.baryon_biomes.world.feature.PineTree; | |
import net.minecraft.entity.EntityClassification; | |
import net.minecraft.entity.EntityType; | |
import net.minecraft.world.biome.Biome; | |
import net.minecraft.world.biome.DefaultBiomeFeatures; | |
import net.minecraft.world.gen.GenerationStage; | |
import net.minecraft.world.gen.carver.WorldCarver; | |
import net.minecraft.world.gen.feature.Feature; | |
import net.minecraft.world.gen.feature.ProbabilityConfig; | |
import net.minecraft.world.gen.placement.AtSurfaceWithExtraConfig; | |
import net.minecraft.world.gen.placement.Placement; | |
public class PineForest extends Biome { | |
public PineForest(Builder biomeBuilder) | |
{ | |
super(biomeBuilder); | |
this.addSpawn(EntityClassification.CREATURE, new SpawnListEntry(EntityType.SHEEP, 10, 4, 5)); | |
this.addSpawn(EntityClassification.CREATURE, new SpawnListEntry(EntityType.WOLF, 5, 4, 5)); | |
this.addSpawn(EntityClassification.CREATURE, new SpawnListEntry(EntityType.FOX, 5, 4, 5)); | |
this.addCarver(GenerationStage.Carving.AIR, Biome.createCarver(WorldCarver.CAVE, new ProbabilityConfig(0.14285715f))); | |
DefaultBiomeFeatures.addBerryBushes(this); | |
DefaultBiomeFeatures.addDefaultFlowers(this); | |
DefaultBiomeFeatures.addGrass(this); | |
DefaultBiomeFeatures.addTaigaLargeFerns(this); | |
this.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.NORMAL_TREE.withConfiguration(PineTree.PINE_TREE_CONFIG).withPlacement(Placement.COUNT_EXTRA_HEIGHTMAP.configure(new AtSurfaceWithExtraConfig(7, 0.1f, 1)))); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment