Jump to content

Budschie

Members
  • Posts

    172
  • Joined

  • Last visited

Posts posted by Budschie

  1. Hello,

    whilst experimenting with copying attribute maps from a chicken to a player, I stumbled across one peculiar little detail. When copying the movement speed attribute to the player, they become extremely fast. After looking at the code, I could indeed verify that the movement speed of the chicken is (in theory) indeed higher than the speed of the player - the chicken has a movement speed of 0.25D while the player only has a movement speed of 0.1F. I looked deeper in the code and could verify that the chicken's WaterAvoidingRandomStrollGoal has a speed modifier of 1.0D, which means that the movement of the chicken (0.25D) should in theory not be altered. This interesting behavior is not unique to the chicken though - it applies to pretty much every living entity as well.

    So, this begs the question: Why? Why is the chicken in practice slower than the player?

    For me, there are two possibilities: Either the player moves too fast for their speed value, or the chicken moves too slow. As of now, I could not verify either of those possibilities.

    By the way, the reason why I even sought the solution of this issue is that I am currently in the process of creating a new version for my morph mod, and I would like to set the player's speed to the speed of the entity in which you're currently morphed into.

    I'd be very grateful if someone could help me with this topic, as my expertise and trivia in regards to the code of Minecraft (as well as the hour that I spent trying to solve this issue) is evidently not enough to solve this mystery.

    With kind regards,

    - Budschie

  2. Hello there.

    I am currently stuck in the process of developing a custom dimension with its own chunk generator, as I want to implement features now.

    But I can't seem to get them working. They just don't appear (at least partially). Something that could cause this issue is the confusing system

    of having Features and ConfiguredFeatures, simultaneouly, in two very similarly named classes, with the same id.

     

    My question is: How can I take advantage of the data driven system (using configured_feature json files) and what do I have to do for this (e. g. do I have to

    register a ConfiguredFeature, a Feature, or maybe even both?)

     

    I'd be happy if you could help me with this problem.

    Here is my github repo: https://github.com/Budschie/Deepnether-Mod/tree/1.16.5

    -Budschie

  3. Hello there!

    I have an configured as a json for one of my biomes, but the feature just won't spawn.

    I've already checked if my chunk generator is the cause of this problem, but I doubt it, as I couldn't find any evidence this could be the case

    by setting breakpoints. Maybe my JSON files are malformed, but wouldn't minecraft then refuse to load the world?

    Anyway, here are the important files:

    Biome JSON:

    https://github.com/Budschie/Deepnether-Mod/blob/1.16.3/src/main/resources/data/deepnether/worldgen/biome/soul_desert_biome.json

     

    Configured Feature JSON:

    https://github.com/Budschie/Deepnether-Mod/blob/1.16.3/src/main/resources/data/deepnether/worldgen/configured_feature/withered_tree_config_feature.json

     

    DeepnetherChunkGenerator.java:

    https://github.com/Budschie/Deepnether-Mod/blob/1.16.3/src/main/java/de/budschie/deepnether/dimension/DeepnetherChunkGenerator.java

     

    So, I hope you can help me with this.

    Thanks for any help,

    -Budschie.

  4. @Draco18s You probably mean these lines:

    BiomeDataHandler.addBiomeData(new ResourceLocation(References.MODID, "green_forest_biome"), new GreenForestBiomeData());
    BiomeDataHandler.addBiomeData(new ResourceLocation(References.MODID, "deepnether"), new DeepnetherBiomeData());

    But those aren't biome initalizations or anything like that, those are adding a key and data to a list.

    This list is then being accessed by my chunk generator to read additional information about the biome. There is no need to register a biome named "deepnether:deepnether",

    as this simply means that the netry in the second line is never used.

  5. So, here is my code:

     

    Calling Biome#getRegistryName

    Biome biome = worldGenRegion.getBiome(new BlockPos(posXStart + x, 0, posZStart + z));
    BiomeGeneratorBase biomeGenerator = BiomeDataHandler.getBiomeData(biome.getRegistryName()).getBiomeGenerator();

     

    Setup of the BiomeDataHandler:

    BiomeDataHandler.addBiomeData(new ResourceLocation(References.MODID, "green_forest_biome"), new GreenForestBiomeData());
    BiomeDataHandler.addBiomeData(new ResourceLocation(References.MODID, "deepnether"), new DeepnetherBiomeData());

     

    Here is my GitHub-Repo: https://github.com/Budschie/Deepnether-Mod/tree/1.16.3

  6. So, I've recently been trying to create a new chunk generator for my mod.

    Because I want individual chunk generators per biome, and because the biome class itself can't be extended anymore,

    I decided to create a hash map with a resource location as an input and a custom class(with the chunk gen) as an output.

     

    The thing is, everytime I want to access this hash map with the resource location of the biome, it returns null.

    After a quick debugging sessions it turns out that the method Biome#getRegistryName always returns null, even on vanilla and hardcoded biomes.

     

    How can I solve/avoid this problem?

     

    Help would be appreciated.

    -Budschie

  7. @ChampionAsh5357 Thanks again for the reply. So, I'm now slowly getting used to this stuff.

    But as my old code used quite a few methods in a mod-own biome base class (it contained stuff like biome-specific chunk generation),

    which inherited from biome (sadly, this behaviour isn't possible anymore, as the biome constructor is private),

    I started to wonder whether it would be considered good practise to use access transformers to allow me to inherit from the biome class again.

     

    So, I'd appreciate answers to this question.

    -Budschie

  8. Hello there!

    Today I decided to get into minecraft modding once more, as game development bored me a bit.

    So, as the title already suggests, I want to somehow integrate own code into the json-data-driven system that minecraft

    currently uses for its biome and terrain generation.

     

    I'm totally clueless at the moment, as I have no idea how I can achieve something like this.

     

    For the biome generator, I need to know how a codec works.

     

    And for the terrain generator, I don't even know from what classes to extend from.

     

    So, I'd really appreciate help.

     

    -Budschie

  9. @ChampionAsh5357

    Thanks for responding so quickly.

    So, I have several questions:

    1. How is the json format of biomes and dimensions designed, and are there any examples in the assets of minecraft?
    2. What classes should I extend to add an own chunk generator?

     

    Additionally, I searched a bit, but I could still not find the blit method, which

    indicates that I have old mappings(which is a bit strange because I downloaded the latest version of minecraft forge).

    So, how exactly can I update my mappings to the latest version?

     

    Thanks in regards,

    -Budschie

  10. So, as the title suggests, I'm currently trying to port my mod, which relies heavily on biome, dimension and chunk generation code,

    to the minecraft version 1.16.3. The problem is, that about everything has changed.

     

    Dimension and biome code: Obsolete.

    GUI code: Useless.

     

    Additionally, the mappings doesn't seem to be complete yet, as I can still not find the one called blit() method in the code, just

    some unmapped names(which is pretty annoying, because the blit method had lots and lots of overloaded methods).

     

    I've heard that the biome and dimension code was changed to a json-system system (which seems to be a trend that mojang is trying to push).

     

    So, to sum it all up, the issues I discovered whilest trying to port my mod are:

    • The change from code-driven dimension and biome code to json files
    • The still incomplete mappings of the latest Forge MDK version

     

    I'd really appreciate if you could help me out with this big issue.

    I at first thought that it was hard to rewrite my code for 1.15.2, but I had never thought that it could be such an issue to port my

    code from 1.15.2 to 1.16.

×
×
  • Create New...

Important Information

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