Isle of Berk Variant Loader

Isle of Berk Variant Loader

Mod

Support for data-driven dragon variants for Isle of Berk mod

Client and server DecorationLibrary Mobs

10.8k downloads
8 followers
Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

Very Important

Mod requires Forge 40.2.10 or above! Forge may not tell you about this and throw an exception with different error.

Description

Adds ability to add new variants with condition support or configure existing ones for Isle of Berk dragons via resource and data packs and change textures, animations or models via nametags. Also adds ability to add glowing layer to the texture. Note: using this mod to add own variants already considers that user is familiar with making resource and data packs (no matter the complexity).

Changes to original mod

This addon changes how some stuff in original mod works gameplay wise:

  • Variant inheritance works for all dragons (can be configured or turned off completely by setting assign_egg_variant_on_breeding and assign_egg_variant_on_placed to false in config)
  • All eggs now can hold variant as NBT that will determine variant of the dragon that will be hatched

Example Packs

Adding custom variant spawns/editing existing via datapack

If you wish to override default variants spawns, you'll need to edit main file in isleofberk namespace and ship it with your data pack. Else just declare spawns under different namespace. You can look up example of variant declaration in example data pack. Full path to the file would look something like this: "data/*your_namespace*/dragon_variants/*dragon_id*.json", where dragon_id is dragon's in game id. I.e. for Night Fury it'd be night_fury.

Variant declaration supports some conditions:

  • weight - declares a chance of certain variant appearing naturally (not via breeding). Higher the weight, higher the chances (formula for a chance looks like something like this: variantWeight / totalWeightOfAllVariantsThatCanApppearOnThisSpot)
  • breeding_weight - declares a chanse of a variant being applied via breeding. Higher the weight, higher the chances (formula for a chance looks like something like this: variantWeight / totalWeightOfAllVariantsThatCanBeObtainedViaBreeding). If not specified, value defaults to one declared in weight field (optional)
  • banned_biomes - declares biomes in which variant cannot appear under any circumstances. Basically a biome blacklist. Supports declaration via tags (optional) and biome IDs (optional)
  • allowed_biomes - declares biomes where certain variant only can appear. Works like a whitelist. If not presented, variant will spawn in any biome it can. Supports declaration via tags (optional) and biome IDs (optional)
  • altitude - defines on which range of world height variant can spawn. If not stated, variant will spawn on any world height. Supports declaration of minimum (optional) and maximum (optional) height

Mandatory fields for each variant:

  • name - name of the variant. Texture file name must correspond to the variant name in order to work correctly
  • weight - weight must be defined in order to variant to spawn

Model redirects and glowing layer

Model redirects is a tool that allows you to replace models, animations and saddle textures per variant for dragons and models with textures for eggs. Example declaration can be found in example resource pack. Full explanation on how to use those can be found here

Config

Mod has client and server config with options that can affect your gameplay experience

Client

  • disable_glowing - Disables glowing layer on textures. Off by default
  • disable_named_variants - Disables variant display via nametag completely, ignoring nametag_accessible field. Off by default
  • generate_translations - Automatically generates translations for all variants for english language based on presented model redirects for dragons. All generated lines will be printed to log file. Use this only if you're pack developer for making your life easier
  • ignored_by_generator - Prints for variants that have same name as any value in this list will be skipped when translation key generator is used

Common

  • inheritance_chance - Defines the chance of dragon inheriting variant of their parents. 1 means variant will always be the same as their parents one
  • assign_egg_variant_on_breeding - Enables variant assignment on breeding. If false, all eggs always will have no variant assigned during breeding
  • assign_egg_variant_on_placed - Enables variant assignment when egg is placed and has empty or invalid variant tag. If false, all eggs always will have no variant assigned when placed

FAQ

  • Q: Is there any video guide on how to use Variant Loader?

  • A: Yes - https://youtu.be/Ettk4RiZnx0

  • Q: Do I need to add default textures to resource pack?

  • A: No! This is only adding to the size of the pack and also may cause conflicts with other packs that rely on texture replacement. Such practice has no benefit

  • Q: Does adding variant spawn also makes dragon spawn in specific biome(s)?

  • A: No, mod does not automatically add dragon spawns in specific biomes. Restricting variant to specific biome only makes variant obtainable in this biome. If dragon can't naturally spawn in specified biome, only way to obtain it would be via hatching/breeding in this biome.

  • Q: Why my added variants of Speed Stingers are not spawning?

  • A: Speed Stinger spawns are tied to structures purely. Either you add them to same biomes where those structures can spawn, add your own structures where they can spawn or try to obtain them via breeding

  • Q: How do I make variant nametag only?

  • A: Just don't add variant spawn via data pack

  • Q: Can I make variant impossible to be applied via nametag?

  • A: Set nametag_accessible in model redirect file to false for your variant

  • Q: Can I make variant obtainable via only hatching(breeding)/only natural spawn?

  • A: If you want variant to only appear via natural spawn, set breeding_weight to 0. If you want it to be obtainable only via breeding, set weight to 0

  • Q: How can I summon specific variant with Variant Loader?

  • A: Use /summon ~ ~ ~ isleofberk:dragon_id {VariantName:name} where name is the name of the variant

  • Q: Can I add new animations with Variant Loader?

  • A: No. Animation names and conditions for them are hardcoded for each dragon individually

  • Q: My pack is not working/breaks stuff. What went wrong?

  • A: Most common mistakes are using upper case letters in file names or paths to the files in packs (Minecraft is very sensitive to this) and malforming .json files. To validate syntax in .json files, you can use online services.

  • Q: How do I make resource/data pack?

  • A: Search engines and YouTube are your best friends. I'm not going to explain this myself, this is out my scope

Troubleshooting

Still have questions? You can either ask on GitHub or hop on New Berk's Dawn Discord Server and ask questions in the mod thread in the extras channel


Project members

Nord_Act

Owner

Details

Licensed MIT
Published a year ago
Updated 4 months ago