[Modpack] Adaptation Modpack [1.0.2] [adaptation_modpack]

Post Reply
SFENCE
Member
Posts: 274
Joined: Sun Sep 29, 2019 07:13
GitHub: SFENCE
In-game: SFENCE

[Modpack] Adaptation Modpack [1.0.2] [adaptation_modpack]

by SFENCE » Post

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
Last edited by SFENCE on Wed Dec 07, 2022 20:14, edited 3 times in total.
cdb_3P0AYqjEIn68

SFENCE
Member
Posts: 274
Joined: Sun Sep 29, 2019 07:13
GitHub: SFENCE
In-game: SFENCE

Re: [Modpack] Adaptation Modpack [1.0.1] [adaptation_modpack]

by SFENCE » Post

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

doxygen_spammer
Member
Posts: 70
Joined: Wed Dec 16, 2020 16:52
GitHub: doxygen-spammer

Re: [Modpack] Adaptation Modpack [1.0.1] [adaptation_modpack]

by doxygen_spammer » Post

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:

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.
I also have a feature request: make proper use of item groups.
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".

SFENCE
Member
Posts: 274
Joined: Sun Sep 29, 2019 07:13
GitHub: SFENCE
In-game: SFENCE

Re: [Modpack] Adaptation Modpack [1.0.2] [adaptation_modpack]

by SFENCE » Post

Adaptation mod pack has been updated to version 1.0.2.
  • Some bug fixes.
cdb_3P0AYqjEIn68

SFENCE
Member
Posts: 274
Joined: Sun Sep 29, 2019 07:13
GitHub: SFENCE
In-game: SFENCE

Re: [Modpack] Adaptation Modpack [1.0.1] [adaptation_modpack]

by SFENCE » Post

doxygen_spammer wrote:
Tue Nov 29, 2022 16:05
This seems truly useful! :)

.....
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

Post Reply

Who is online

Users browsing this forum: Google [Bot], Majestic-12 [Bot] and 11 guests