Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Main Class (Survival.java): (Also it doesnt paste correct sometimes)
- package com.pickleface.survival;
- import net.minecraftforge.common.MinecraftForge;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
- import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
- import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
- import org.apache.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- @Mod("survival")
- public class Survival {
- private static final Logger LOGGER = LogManager.getLogger();
- public static final String MOD_ID = "survival";
- public Survival () {
- FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
- FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
- Registry.init();
- MinecraftForge.EVENT_BUS.register(this);
- }
- private void setup(final FMLCommonSetupEvent event) { }
- private void doClientStuff(final FMLClientSetupEvent event) { }
- }
- Registry.java:
- package com.pickleface.survival;
- import com.pickleface.survival.blocks.*;
- import com.pickleface.survival.items.*;
- import net.minecraft.block.Block;
- import net.minecraft.item.HorseArmorItem;
- import net.minecraft.item.Item;
- import net.minecraft.util.ResourceLocation;
- import net.minecraftforge.fml.RegistryObject;
- import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
- import net.minecraftforge.registries.DeferredRegister;
- import net.minecraftforge.registries.ForgeRegistries;
- import net.minecraft.item.ItemGroup;
- public class Registry {
- public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Survival.MOD_ID);
- public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, Survival.MOD_ID);
- public static void init() {
- ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus());
- BLOCKS.register(FMLJavaModLoadingContext.get().getModEventBus());
- }
- // Horse Armor
- public static final RegistryObject<HorseArmorItem> NETHERITE_HORSE_ARMOR = ITEMS.register("netherite_horse_armor", () ->
- new HorseArmorItem(16, new ResourceLocation(Survival.MOD_ID + ":textures/entity/horse/armor/horse_armor_netherite.png"), new Item.Properties().group(ItemGroup.MISC)));
- // Plants
- public static final RegistryObject<Block> BLUEBERRY_BUSH = BLOCKS.register("blueberry_bush", BlueberryBush::new);
- public static final RegistryObject<Item> BLUEBERRY = ITEMS.register("blueberry", Blueberry::new);
- // Blocks
- public static final RegistryObject<Block> MAP_FILLER = BLOCKS.register("map_filler", MapFiller::new);
- public static final RegistryObject<Item> MAP_FILLER_ITEM = ITEMS.register("map_filler", () -> new BlockItemBase(MAP_FILLER.get(), ItemGroup.MISC));
- }
- Blueberry Generation (probably the problem):
- package com.pickleface.survival.world.gen;
- import com.google.common.collect.ImmutableSet;
- import com.pickleface.survival.Registry;
- import com.pickleface.survival.Survival;
- import net.minecraft.block.BlockState;
- import net.minecraft.block.Blocks;
- import net.minecraft.block.SweetBerryBushBlock;
- import net.minecraft.world.biome.Biome;
- import net.minecraft.world.biome.Biomes;
- import net.minecraft.world.gen.GenerationStage;
- import net.minecraft.world.gen.blockplacer.SimpleBlockPlacer;
- import net.minecraft.world.gen.blockstateprovider.SimpleBlockStateProvider;
- import net.minecraft.world.gen.feature.BlockClusterFeatureConfig;
- import net.minecraft.world.gen.feature.Feature;
- import net.minecraft.world.gen.placement.FrequencyConfig;
- import net.minecraft.world.gen.placement.Placement;
- import net.minecraftforge.eventbus.api.SubscribeEvent;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent;
- import net.minecraftforge.registries.ForgeRegistries;
- @Mod.EventBusSubscriber(modid = Survival.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
- public class SurfaceGen {
- // Initialize Stuff
- private static final BlockState BLUEBERRY_BUSH;
- public static final BlockClusterFeatureConfig BLUEBERRY_BUSH_CONFIG;
- private static final BlockState GRASS_BLOCK;
- // Get Blocks for gen stuff
- static {
- // Blocks
- GRASS_BLOCK = Blocks.GRASS_BLOCK.getDefaultState();
- // Generated Blocks
- BLUEBERRY_BUSH = Registry.BLUEBERRY_BUSH.get().getDefaultState().with(SweetBerryBushBlock.AGE, 3);
- BLUEBERRY_BUSH_CONFIG = (new net.minecraft.world.gen.feature.BlockClusterFeatureConfig.Builder(new SimpleBlockStateProvider(BLUEBERRY_BUSH), SimpleBlockPlacer.field_236447_c_)).tries(64).whitelist(ImmutableSet.of(GRASS_BLOCK.getBlock())).func_227317_b_().build();
- }
- @SubscribeEvent
- public static void genSurfaceDecorations(FMLLoadCompleteEvent event) {
- for (Biome biome: ForgeRegistries.BIOMES) {
- biome.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.RANDOM_PATCH.withConfiguration(BLUEBERRY_BUSH_CONFIG).withPlacement(Placement.COUNT_HEIGHTMAP_DOUBLE.configure(new FrequencyConfig(1))));
- }
- }
- }
- Also I know the items and blocks aren't the problem because their currently just empty items that all they have is a .group()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement