Advertisement
TurtyWurty

OreGeneration.java

Nov 3rd, 2021
1,172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.03 KB | None | 0 0
  1. public class OreGeneration {
  2.  
  3.     @Mod.EventBusSubscriber(modid = TestMod.MODID, bus = Bus.FORGE)
  4.     public static class ForgeBusSubscriber {
  5.         @SubscribeEvent
  6.         public static void biomeLoading(BiomeLoadingEvent event) {
  7.             switch (event.getCategory()) {
  8.             case NETHER -> OreGeneration.NETHER_ORES
  9.                     .forEach(ore -> event.getGeneration().addFeature(Decoration.UNDERGROUND_ORES, ore));
  10.             case THEEND -> OreGeneration.END_ORES
  11.                     .forEach(ore -> event.getGeneration().addFeature(Decoration.UNDERGROUND_ORES, ore));
  12.             default -> OreGeneration.OVERWORLD_ORES
  13.                     .forEach(ore -> event.getGeneration().addFeature(Decoration.UNDERGROUND_ORES, ore));
  14.             }
  15.         }
  16.     }
  17.  
  18.     @Mod.EventBusSubscriber(modid = TestMod.MODID, bus = Bus.MOD)
  19.     public static class ModBusSubscriber {
  20.         @SubscribeEvent
  21.         public static void commonSetup(FMLCommonSetupEvent event) {
  22.             event.enqueueWork(OreGeneration::registerOres);
  23.         }
  24.     }
  25.  
  26.     public static final List<ConfiguredFeature<OreConfiguration, OreFeature>> OVERWORLD_ORES = List.of();
  27.     public static final List<ConfiguredFeature<OreConfiguration, OreFeature>> END_ORES = List.of();
  28.     public static final List<ConfiguredFeature<OreConfiguration, OreFeature>> NETHER_ORES = List.of();
  29.  
  30.     private static <Config extends FeatureConfiguration> ConfiguredFeature<Config, ?> register(String name,
  31.             ConfiguredFeature<Config, ?> configuredFeature) {
  32.         return Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new ResourceLocation(TestMod.MODID, name),
  33.                 configuredFeature);
  34.     }
  35.  
  36.     @SuppressWarnings("unchecked")
  37.     public static void registerOres() {
  38.         ConfiguredFeature<?, ?> acacia = Feature.ORE
  39.                 .configured(new OreConfiguration(
  40.                         ImmutableList.of(OreConfiguration.target(OreConfiguration.Predicates.STONE_ORE_REPLACEABLES,
  41.                                 Blocks.ACACIA_WOOD.defaultBlockState())),
  42.                         11))
  43.                 .rangeUniform(VerticalAnchor.bottom(), VerticalAnchor.absolute(50)).squared().count(10).rarity(5);
  44.         register("acacia_ore", acacia);
  45.         OVERWORLD_ORES.add((ConfiguredFeature<OreConfiguration, OreFeature>) acacia);
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement