forked from VoxeLibre/VoxeLibre
2.6 KiB
2.6 KiB
Subgame integration help
This mod has been designed to make subgame integration rather easy. Ideally, it should be possible to include this mod verbatim in your subgame, with modifications only done by an external mod.
To integrate this mod in a subgame, you have to do 2 things: Adding the mod, and adding another mod which tells mobs_mc
which items to use. The idea is that mobs_mc
should work with any items. Specifically, these are the steps you need to follow:
- Add the
mobs_mc
mod and its dependencies - Add a mod with name “
mobs_mc_gameconfig
” - In this mod, do this:
- Do not depend on
mobs_mc
- Create the table
mobs_mc
- Create the table
mobs_mc.override
- In
mobs_mc.override
, create subtables (items
,spawn
, etc.) like in0_gameconfig.lua
, defining the na - Read
0_gameconfig.lua
to see which items you can override (and more explanations)
- Do not depend on
- In
on_construct
of a pumpkin or jack'o lantern node, call:mobs_mc.tools.check_iron_golem_summon(pos)
mobs_mc.tools.check_snow_golem_summon(pos)
- For more information, see
snowman.lua
andiron_golem.lua
Some things to note:
- Every override is optional, but explicitly setting all the item overrides is strongly recommended
mobs_mc
ships many (but not all) items on its own. If not item name override is set, themobs_mc
item is used- You decide whether your subgame defines its own items, outside of
mobs_mc
or if you letmobs_mc
do the work.
- You decide whether your subgame defines its own items, outside of
- Make sure to avoid duplicate items!
- After finishing this, throughly test this
- Without
mobs_mc_gameconfig
, the mod assumes Minetest Game items mobs_mc
optionally depends onmobs_mc_gameconfig
Example init.lua
in mobs_mc_gameconfig
mobs_mc = {}
mobs_mc.override = {}
-- Set the item names here
mobs_mc.override.items = {
blaze_rod = "mcl_mobitems:blaze_rod",
blaze_powder = "mcl_mobitems:blaze_powder",
chicken_raw = "mcl_mobitems:chicken",
-- And so on ...
}
-- Set the “follow” field of mobs (used for attracting mob, feeding and breeding)
mobs_mc.override.follow = {
chicken = { "mcl_farming:wheat_seeds", "mcl_farming:melon_seeds", "mcl_farming:pumpkin_seeds", "mcl_farming:beetroot_seeds", },
horse = { "mcl_core:apple", mobs_mc.override.items.wheat }, -- TODO
pig = { "mcl_farming:potato", mobs_mc.override.items.carrot, mobs_mc.override.items.carrot_on_a_stick},
-- And so on ...
}
-- Custom spawn nodes
mobs_mc.override.spawn = {
snow = { "example:snow", "example:snow2" },
-- And so on ...
}
-- Take a look at the other possible tables, see 0_gameconfig.lua