doughphunghus / 7D2D-EntityRandomizer

A 7 Days to Die modlet generator that makes copies of Entities and randomizes them.
2 stars 1 forks source link

2024-09-21: Deprecating project. No future updates.

7D2D-EntityRandomizer

A 7 Days to Die modlet generator that makes copies of Entities and randomizes them. The script currently can randomize Zombie and animal entities.

The randomizer script that generates the modlet is still very experimental BUT modlets generated from it are being put here for use/comments to help polish the script for release.

I highly recommend using one of the pre-generated modlets below before attempting to use the script! These pre-genrated modlets have been tested to prove they work in game.

WARNING: You can trash/break your computer if you are not familiar with properly installing perl (some OS's have a built in perl and you DO NOT want to modify or remove it)

Do not attempt to use the script unless you are familiar with installing perl, possibly installing build tools ( compiler, etc, maybe needed to install perl depending on your OS), intalling the script dependencies, virtualizing the perl environment (probably desired), and the 7D2D entity XML you will need to build a config file.

WARNING: The script is not well tested. Do not try to run it until you have read and understood the documentation.

WARNING: The script may not generate 7 Days to Die modlets that work properly with the game.

Documentation for how to install perl + dependencies on Mac, Windows, and Unix:\ See wiki

Documentation for how to setup the config file/run the script:\ See wiki

If you are using a pre-generated modlet below, load the modlets in the table below that's specific to your game version! Only load one "entity type" (e.g. don't load 2 zombie ones together, if more than 1 choice exists)

(Recommend loading an enemy health bar viewer modlet to see the names!)

Current Pre-generated Modlets Notes
Doughs-RandEnts_For_a20.5-b2_vanilla-enemy-animals-only-600-clones 600 clones of vanilla zombie animals, with localization
Doughs-RandEnts_For_a20.5-b2_vanilla-friendly-animals-only-400-clones 400 clones of vanilla zombie animals, with localization
Doughs-RandEnts_For_a20.5-b2_vanilla-zeds-only-3440-clones 3440 clones of vanilla zombie animals, with localization
Doughs-RandEnts_For_a20.5-b2_vanilla-enemy-animals-only-4300-clones 4300 clones of vanilla zombie animals, with localization
Doughs-RandEnts_For_a19.5-b50_vanilla-enemy-animals-only-600-clones 600 clones of vanilla zombie animals, with localization
Doughs-RandEnts_For_a19.5-b50_vanilla-friendly-animals-only-400-clones 400 clones of vanilla friendly/wild animals, with localization
Doughs-RandEnts_For_a19.5-b50_vanilla-zeds-only-4920-clones 4920 clones of vanilla zombies
Doughs-RandEnts_For_a19.4-b7_vanilla-enemy-animals-only-600-clones 600 clones of vanilla zombie animals, with localization
Doughs-RandEnts_For_a19.4-b7_vanilla-friendly-animals-only-400-clones 400 clones of vanilla friendly/wild animals, with localization
Doughs-RandEnts_For_a19.4-b7_vanilla-zeds-only-4920-clones 4920 clones of vanilla zombies
Doughs-RandEnts_For_a19.3-b6_vanilla-enemy-animals-only-600-clones 600 clones of vanilla zombie animals, with localization
Doughs-RandEnts_For_a19.3-b6_vanilla-friendly-animals-only-400-clones 400 clones of vanilla friendly/wild animals, with localization
Doughs-RandEnts_For_a19.3-b6_vanilla-zeds-only-4920-clones 4920 clones of vanilla zombies, with localization
Doughs-RandEnts_For_a19.2-b4_vanilla-enemy-animals-only-600-clones 600 clones of vanilla zombie animals, with localization
Doughs-RandEnts_For_a19.2-b4_vanilla-friendly-animals-only-400-clones 400 clones of vanilla friendly/wild animals, with localization
Doughs-RandEnts_For_a19.2-b4_vanilla-zeds-only-4920-clones 4920 clones of vanilla zombies, with localization (may not be server side safe! Possible a file is too large and will not transfer. Looks like TFP fixed it after this version.)
Doughs-RandEnts_For_a19.2-b4_vanilla-zeds-only-492-clones 492 clones of vanilla zombies
Archived Pre-generated Modlets Notes
See "Archived" Folder

Notes:

Config File Argument Documentation (VERY WIP, SUBJECT TO CHANGE)

Once perl and dependencies are installed, the script is run like so: Open a shell, cd to the project directory, and run (example) perl ./randomizer.pl --config-file ./config_example_TEST_all_entities.json

where:

See the example JSON config files included in the project root dir as examples. The config file keys/values are:

Values in {}, the "Top level" config values.

Values in "ConfigDefaults"

TBD! This is a complicated section and requires some thought to document

Values in "ConfigEntityEnemyAnimal","ConfigEntityFriendlyAnimal", and "ConfigEntityZombie"

All of these sections behave the same and can be configured using the same methods, so I will document only how to configure one of the sections. ConfigEntityZombie will be the example section used, so to do the others simply substitute the class/entity names of the appropriate entity/class instead of Zombies.

TBD! This is a complicated section and requires some thought to document