Scavenge is a mod that allows you to apply custom RightClick/LeftClick behaviors to any Block.
On top of that you can add LootPools to these behaviors that are dropped when the conditions are met.
These things are loaded from JsonFiles and act closely to a Scripting language.
On top of that you can add certain unque features/conditions when rightclicking these blocks.
For example:
- Player has to sneak,
- Player has to have a Diamond in his hands
- The block is unbreakable
- The block disapears after 5 uses
- etc.
Tutorial:
If you want a good example tutorial on how to write Scavenge Scripts,
Xaikii made one, which can be found Here
Documentation
Documentation is now part of the mod.
Which can be generated by setting the "printExamples" in the config section and start the game.
Addons should be supporting this too.
Said generated docs will be in the game folder and in the "scavenge_doc" folder.
The documentation is sorted by Plugin -> TypeOfProperty -> PropertyName.
This is done to simplify the process of finding the documentation and keep it preserved.
Dumping Scripts
Scavenge supports dumping ingame loaded scripts.
Which can be done by setting the "dumpScripts" to true.
This was done to make debugging easier, due to now being able to see what got loaded and what got discarded due to errors in the source script.
Script dumping happens directly after scavenge scripts get reloaded.
(So no game restart required)
Datapacks
How to add a Scavenge Script:
Scavenge now works with Datapacks. It will automatically load all files that are in the "datapacks/DATAPACK_NAME/data/DOMAIN/scavenge_scripts" folder. And will automatically reload them on resource packs reload. They will be automatically synced over to the client so no more "server->client" manual Syncing. Its done automatically.
Since the tool has a JEI plugin i had to install a JEI hack that reloads JEI 1 tick after scripts got reloaded because JEI does not support any mod that has recipe/data autosyncing. (This can get fast into the 2-3 digit reload range if jei does not fix this problem)
What has Changed outside of ResourcePacks now:
- Effects are now only executed on server, while conditions are tested both on server & client. So there can be desyncs if you store data unsynchronized.
- Math Operations/Conditions are now a lot more enforced then before because more flexibility even if the code is bigger.
- Error Messages can now be directly added into Conditions so no longer the separate section with messages. And for effects there is a Message Effect.
- Conditions can by default now be inverted. (Addons can not be guaranteed to support that)
- Scavenge now uses Vanilla LootPools and you can just link them to the lootpool. It will try to show them in JEI but accuracy for more random/complex loot may not look as good.
- Math Operations/Conditions have now bit support.
- Examples for everything are generated. (Again Addons can not guaranteed to support that)
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+