Jump to content

InvictusSlayer

Members
  • Posts

    19
  • Joined

  • Last visited

Recent Profile Visitors

51872 profile views

InvictusSlayer's Achievements

Tree Puncher

Tree Puncher (2/8)

2

Reputation

  1. The most straightforward approach would be to use a feature biomemodifier - the wiki explains how to use these in full
  2. Terrablender's functionality only works for the vanilla dimensions however it is possible to expand this using mixins. There's a mod called aeroblender which you may find useful: https://github.com/RazorDevs/AeroBlender
  3. If you want to customise the dimension somewhat I would recommend this site as it has a built-in viewer so you can see your changes. https://misode.github.io/worldgen/noise-settings/?version=1.20.3 Otherwise if you just want it to be a replica of the overworld you will need to change the noise_settings in your "dimension/example.json" file to the overworld. It should look something like this: "generator": { "type": "minecraft:noise", "settings": "minecraft:overworld", "biome_source": { "type": "minecraft:multi_noise", "biomes": [] } } Hope this helps!
  4. The problem seems to be with the `VanillaParameterOverlayBuilder` (so you are right there is a bug with TerraBlender). However there is an easy fix which also runs marginally faster which is to use the "Consumer.accept()" method to add your custom biomes. @Override public void addBiomes(Registry<Biome> registry, Consumer<Pair<Climate.ParameterPoint, ResourceKey<Biome>>> mapper) { biome(mapper, AlpineBiomes.ALPS, Temperature.FROZEN.parameter(), Humidity.HUMID.parameter(), Continentalness.FAR_INLAND.parameter(), Erosion.EROSION_0.parameter(), Weirdness.FULL_RANGE.parameter()); biome(mapper, AlpineBiomes.ALPS_VALLEY, Temperature.NEUTRAL.parameter(), Humidity.NEUTRAL.parameter(), Continentalness.FAR_INLAND.parameter(), Climate.Parameter.span(0.5F, 1F), Climate.Parameter.span(-0.35F, 0.35F)); } private void biome(Consumer<Pair<Climate.ParameterPoint, ResourceKey<Biome>>> mapper, ResourceKey<Biome> biome, Climate.Parameter temperature, Climate.Parameter humidity, Climate.Parameter continentalness, Climate.Parameter erosion, Climate.Parameter weirdness) { mapper.accept(Pair.of(Climate.parameters(temperature, humidity, continentalness, erosion, Depth.FLOOR.parameter(), weirdness, 0F), biome)); mapper.accept(Pair.of(Climate.parameters(temperature, humidity, continentalness, erosion, Depth.SURFACE.parameter(), weirdness, 0F), biome)); } Here's an example I made from your code which runs fine but feel free to manipulate this however you wish.
  5. I'm confident it's not terrablender as I am a frequent user and have never encountered an issue like this. I'll test out your code to see if I can find the root of the problem.
  6. Thanks so much! I managed to get it working for all vanilla registries with only reconstructing the DatapackBuiltinEntriesProvider. It doesn't work for forge registries like BiomeModifiers and StructureModifiers but they aren't too much hastle to write manually so I've just removed them from my builder temporarily.
  7. If you're adding mobs to your own biomes its better to add them in that biomes .json file rather than adding via the biome modifier (It probably doesn't work because of the order in which forge will load modded biomes vs biome modifiers but I'm not sure). The easiest solution should be to add the mob to the `MobSpawnSettings.Builder` when bootstrapping the biome here: https://github.com/robinroloff/alpinemod/blob/master/src/main/java/de/robin/alpine/worldgen/biome/AlpineBiomes.java Hope this helps!
  8. I am updating my mod from 1.20.2 to 1.20.4 and it utilises the `DatapackBuiltinEntriesProvider` class during data generation. For forge versions 49.0.X this class seems to have been removed without any alternative. My IDE (Intellij) does not recognise that the file exists and it does not appear in the external libraries hence my code will not even compile. If someone knows that this is an issue on my end please let me know but I am certain it is a bug.
  9. I'm currently updating my mod from 1.20.2 to 1.20.4 and the forge `DatapackBuiltinEntriesProvider` class is missing. I've looked through the forge source files for an alternative and I'm struggling to find one. I have also tried using different forge versions (49.0.0 to 49.0.14) and they are all missing it. As far as I am aware this is the only missing java class and there is no mention of it in the forge changelogs. If anyone has an idea how to fix this or any suggestions what to do next before making a bug report.
  10. In your biome modifier "alpinechicken.json" the "biomes" field has a # where there shouldn't be one as test_biome is not a tag.
  11. It is now done with datagen, you will need to add a `DatapackBuiltinEntriesProvider` to your data generator. The `RegistrySetBuilder` argument should look something like this: private static final RegistrySetBuilder BUILDER = new RegistrySetBuilder() .add(Registries.CONFIGURED_FEATURE, ModConfiguredFeatures::bootstrap) .add(Registries.PLACED_FEATURE, ModPlacedFeatures::bootstrap); with your `ModConfiguredFeatures` class based on this rough template: public static final ResourceKey<ConfiguredFeature<?, ?>> EXAMPLE = createKey("example"); // Add more keys here public static void bootstrap(BootstapContext<ConfiguredFeature<?, ?>> context) { HolderGetter<ConfiguredFeature<?, ?>> configured = context.lookup(Registries.CONFIGURED_FEATURE); HolderGetter<PlacedFeature> placed = context.lookup(Registries.PLACED_FEATURE); register(context, EXAMPLE, Feature.EXAMPLE_FEATURE, new ExampleConfiguration(args)); // Register more features here } private static ResourceKey<ConfiguredFeature<?, ?>> createKey(String name) { return ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation("modid", name)); } private static <FC extends FeatureConfiguration, F extends Feature<FC>> void register(BootstapContext<ConfiguredFeature<?, ?>> context, ResourceKey<ConfiguredFeature<?, ?>> key, F feature, FC config) { context.register(key, new ConfiguredFeature<>(feature, config)); } Hope this helps get you started
  12. If you're using Intellij, you can right-click on the field and there is an option saying "Get SRG Name". Alternatively, there should be a folder in your external libraries with a name something like "net.minecraft:mappings" where there will be some .csv files containing all the SRG names with their MCP translations. Searching for the MCP name with Ctrl+F should give you what you're looking for. After a quick look through the name you're looking for should be f_118468_
  13. Look into `ConfiguredFeatures` and `PlacedFeatures`. You should be able to find examples of these in the vanilla `OreFeatures` class for Andesite spawns and any other ore.
  14. So in your `ModOverworldRegion` class your "builder" should not be embedded within the addModifiedVanillaOverwordBiomes() method. That method is only used for overriding vanilla biomes. Besides that I think that you're good https://github.com/Glitchfiend/TerraBlender/blob/1.20.4/Example/Forge/src/main/java/terrablender/example/TestRegion1.java Here's the example from TerraBlender
  15. Ah that'll be to do with the block model .json file for your leaves. I haven't implemented the tinting leaves personally but I think you'll need to change the "parent" from: "parent": "minecraft:block/cube_all" to: "parent": "minecraft:block/leaves" I intend to try the tint system in the near future so I'll amend this at some point if I'm wrong. Otherwise I'd just recommend colouring the leaf textures manually. Good luck!!
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.