This mod pack is targeting mod developers. It should be used to make your mod game independent without solving different items and node names on your mod side.
This is done like modpack to prevent circle dependence from happening.
Example of usage:
Power_generators: adaptation.lua
clothicng_machines: adaptation.lua
The Adaptaion mod pack creates a database of items/nodes accessed via keys.
Merge requests etc. are welcomed.
Download: https://github.com/sfence/adaptation_mo ... /1.0.2.zip
Source code: https://github.com/sfence/adaptation_modpack
Optional Dependencies: many
License: MIT for source code, Media don't included
[Modpack] Adaptation Modpack [1.0.2] [adaptation_modpack]
[Modpack] Adaptation Modpack [1.0.2] [adaptation_modpack]
Last edited by SFENCE on Wed Dec 07, 2022 20:14, edited 3 times in total.
cdb_3P0AYqjEIn68
Re: [Modpack] Adaptation Modpack [1.0.1] [adaptation_modpack]
Adaptation mod pack has been updated to version 1.0.1.
- Some bug fixes.
- Extend some key lists (sapling)
- Add adaptation data for power generators and moretrees.
cdb_3P0AYqjEIn68
-
- Member
- Posts: 70
- Joined: Wed Dec 16, 2020 16:52
- GitHub: doxygen-spammer
Re: [Modpack] Adaptation Modpack [1.0.1] [adaptation_modpack]
This seems truly useful! :)
But it has an issue: From looking at ContentDB, README.md, or API.md, I have no idea what this is, or what it intends to do.
Only after looking at the code, and remembering a past problem where I was looking for crafting ingredients, I could figure out what this is.
There needs to be an introduction.
Like this:
Minetest fortunately has the concept of groups, but unfortunately almost no mod provides groups, so you can not use them.
Your modpack could override item definitions to add groups useful for crafting recipes.
Using the example above, your mod would override default:paper or mcl_core:paper to be in the item group plain_paper.
The function get_item("paper") would then just return "group:plain_paper".
But it has an issue: From looking at ContentDB, README.md, or API.md, I have no idea what this is, or what it intends to do.
Only after looking at the code, and remembering a past problem where I was looking for crafting ingredients, I could figure out what this is.
There needs to be an introduction.
Like this:
I also have a feature request: make proper use of item groups.adaptation_modpack
A database of available items grouped by generic descriptions.
This library mod helps you to find crafting ingredients for your own mod.
You no longer need to go through all games you want to support, and look which items are available there.
Instead, you specify a generic description of the needed items, and adaptation_lib figures out which available item meets the description.
Example:
Your mod adds a journal, which is a book that tracks the death points of the player.
This book shall be craftable from some gems and some paper.
You define a crafting recipe using default:paper and default:mese_crystal.
Fine, this mod is now compatible with Minetest Game.
But Minetest Game is not the only game of that kind.
Maybe you also want to support MineClone2.
You change the crafting recipe to mcl_core:paper and mcl_core:emerald.
Oops, your mod is no longer compatible with Minetest Game.
You need to write some code that analyzes which items are available, and chooses one of these items.
But you also need to look at dozens of different games, and figure out where they define items and how they are called.
adaptation_lib does this job for you!
Instead of chosing certain items, you query adaptation_lib.get_item() with a list of generic item descriptions.
Your crafting recipes changes to get_item("paper") and get_item({ "gem", "gold" }).
Perfect! With only very little effort your mod supports dozens of games.
You also specified to use gold as fallback, and now you support even games which do not offer gems at all.
Minetest fortunately has the concept of groups, but unfortunately almost no mod provides groups, so you can not use them.
Your modpack could override item definitions to add groups useful for crafting recipes.
Using the example above, your mod would override default:paper or mcl_core:paper to be in the item group plain_paper.
The function get_item("paper") would then just return "group:plain_paper".
Re: [Modpack] Adaptation Modpack [1.0.2] [adaptation_modpack]
Adaptation mod pack has been updated to version 1.0.2.
- Some bug fixes.
cdb_3P0AYqjEIn68
Re: [Modpack] Adaptation Modpack [1.0.1] [adaptation_modpack]
Thanks for feedback.
I will try to make README more informative.
I am not sure, I want to override items in this mod pack.
But some groups are added in database. Like here groups.lua
This can be accessed via adaptation_lib.get_group(key) function.
cdb_3P0AYqjEIn68
Who is online
Users browsing this forum: No registered users and 4 guests