Advertisement
Guest User

Code

a guest
Aug 5th, 2020
504
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.29 KB | None | 0 0
  1. Main Class (Survival.java): (Also it doesnt paste correct sometimes)
  2. package com.pickleface.survival;
  3.  
  4. import net.minecraftforge.common.MinecraftForge;
  5. import net.minecraftforge.fml.common.Mod;
  6. import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
  7. import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
  8. import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
  9. import org.apache.logging.log4j.LogManager;
  10. import org.apache.logging.log4j.Logger;
  11.  
  12. @Mod("survival")
  13. public class Survival {
  14. private static final Logger LOGGER = LogManager.getLogger();
  15. public static final String MOD_ID = "survival";
  16.  
  17. public Survival () {
  18. FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
  19. FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
  20.  
  21. Registry.init();
  22.  
  23. MinecraftForge.EVENT_BUS.register(this);
  24. }
  25.  
  26. private void setup(final FMLCommonSetupEvent event) { }
  27.  
  28. private void doClientStuff(final FMLClientSetupEvent event) { }
  29. }
  30.  
  31. Registry.java:
  32. package com.pickleface.survival;
  33.  
  34. import com.pickleface.survival.blocks.*;
  35. import com.pickleface.survival.items.*;
  36. import net.minecraft.block.Block;
  37. import net.minecraft.item.HorseArmorItem;
  38. import net.minecraft.item.Item;
  39. import net.minecraft.util.ResourceLocation;
  40. import net.minecraftforge.fml.RegistryObject;
  41. import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
  42. import net.minecraftforge.registries.DeferredRegister;
  43. import net.minecraftforge.registries.ForgeRegistries;
  44.  
  45. import net.minecraft.item.ItemGroup;
  46.  
  47. public class Registry {
  48.  
  49. public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Survival.MOD_ID);
  50. public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, Survival.MOD_ID);
  51.  
  52. public static void init() {
  53. ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus());
  54. BLOCKS.register(FMLJavaModLoadingContext.get().getModEventBus());
  55. }
  56.  
  57. // Horse Armor
  58. public static final RegistryObject<HorseArmorItem> NETHERITE_HORSE_ARMOR = ITEMS.register("netherite_horse_armor", () ->
  59. new HorseArmorItem(16, new ResourceLocation(Survival.MOD_ID + ":textures/entity/horse/armor/horse_armor_netherite.png"), new Item.Properties().group(ItemGroup.MISC)));
  60.  
  61. // Plants
  62. public static final RegistryObject<Block> BLUEBERRY_BUSH = BLOCKS.register("blueberry_bush", BlueberryBush::new);
  63. public static final RegistryObject<Item> BLUEBERRY = ITEMS.register("blueberry", Blueberry::new);
  64.  
  65. // Blocks
  66. public static final RegistryObject<Block> MAP_FILLER = BLOCKS.register("map_filler", MapFiller::new);
  67. public static final RegistryObject<Item> MAP_FILLER_ITEM = ITEMS.register("map_filler", () -> new BlockItemBase(MAP_FILLER.get(), ItemGroup.MISC));
  68. }
  69.  
  70. Blueberry Generation (probably the problem):
  71. package com.pickleface.survival.world.gen;
  72.  
  73. import com.google.common.collect.ImmutableSet;
  74. import com.pickleface.survival.Registry;
  75. import com.pickleface.survival.Survival;
  76. import net.minecraft.block.BlockState;
  77. import net.minecraft.block.Blocks;
  78. import net.minecraft.block.SweetBerryBushBlock;
  79. import net.minecraft.world.biome.Biome;
  80. import net.minecraft.world.biome.Biomes;
  81. import net.minecraft.world.gen.GenerationStage;
  82. import net.minecraft.world.gen.blockplacer.SimpleBlockPlacer;
  83. import net.minecraft.world.gen.blockstateprovider.SimpleBlockStateProvider;
  84. import net.minecraft.world.gen.feature.BlockClusterFeatureConfig;
  85. import net.minecraft.world.gen.feature.Feature;
  86. import net.minecraft.world.gen.placement.FrequencyConfig;
  87. import net.minecraft.world.gen.placement.Placement;
  88. import net.minecraftforge.eventbus.api.SubscribeEvent;
  89. import net.minecraftforge.fml.common.Mod;
  90. import net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent;
  91. import net.minecraftforge.registries.ForgeRegistries;
  92. @Mod.EventBusSubscriber(modid = Survival.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
  93. public class SurfaceGen {
  94. // Initialize Stuff
  95. private static final BlockState BLUEBERRY_BUSH;
  96. public static final BlockClusterFeatureConfig BLUEBERRY_BUSH_CONFIG;
  97. private static final BlockState GRASS_BLOCK;
  98.  
  99. // Get Blocks for gen stuff
  100. static {
  101. // Blocks
  102. GRASS_BLOCK = Blocks.GRASS_BLOCK.getDefaultState();
  103.  
  104. // Generated Blocks
  105. BLUEBERRY_BUSH = Registry.BLUEBERRY_BUSH.get().getDefaultState().with(SweetBerryBushBlock.AGE, 3);
  106. 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();
  107. }
  108.  
  109. @SubscribeEvent
  110. public static void genSurfaceDecorations(FMLLoadCompleteEvent event) {
  111. for (Biome biome: ForgeRegistries.BIOMES) {
  112. biome.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Feature.RANDOM_PATCH.withConfiguration(BLUEBERRY_BUSH_CONFIG).withPlacement(Placement.COUNT_HEIGHTMAP_DOUBLE.configure(new FrequencyConfig(1))));
  113. }
  114. }
  115. }
  116.  
  117. 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