Compare commits

..

2 Commits

Author SHA1 Message Date
46cf68008b fix mod path, fix detection of doomed mod, fix missing lava mobs
* modpath current mod name getting only works well with minetest 5.X
  so hardcoded into code to property work in older engines
* missing loading of mese monsters
* detection of mobs_doomed must be at same time of dmobs, cos
  boths provides same mobs
* update information on readme
2024-03-31 16:53:09 -04:00
011bcf1f64 register mod uses jam mod name event original mod name
* provides aliasing cos spawn and eggs and entities
  was not working due the naming conventions, this
  backported commit b719fa7af13a713b022ff4b848be4650b48b7e7c
  from b719fa7af1
2024-03-31 16:18:52 -04:00
19 changed files with 191 additions and 100 deletions

View File

@ -4,7 +4,7 @@ local S = mobs.intllib_animal
-- Bee by KrupnoPavel (.b3d model by sirrobzeroone) -- Bee by KrupnoPavel (.b3d model by sirrobzeroone)
mobs:register_mob(":mobs_animal:bee", { mobs:register_mob("mobs_jam:bee", {
type = "animal", type = "animal",
passive = true, passive = true,
hp_min = 1, hp_min = 1,
@ -41,7 +41,7 @@ mobs:register_mob(":mobs_animal:bee", {
}, },
on_rightclick = function(self, clicker) on_rightclick = function(self, clicker)
mobs:capture_mob(self, clicker, 50, 90, 0, true, "mobs_animal:bee") mobs:capture_mob(self, clicker, 50, 90, 0, true, "mobs_jam:bee")
end, end,
-- after_activate = function(self, staticdata, def, dtime) -- after_activate = function(self, staticdata, def, dtime)
@ -52,7 +52,7 @@ mobs:register_mob(":mobs_animal:bee", {
if not mobs.custom_spawn_animal then if not mobs.custom_spawn_animal then
mobs:spawn({ mobs:spawn({
name = ":mobs_animal:bee", name = "mobs_jam:bee",
nodes = {"group:flower"}, nodes = {"group:flower"},
min_light = 14, min_light = 14,
interval = 60, interval = 60,
@ -65,11 +65,13 @@ end
-- spawn egg -- spawn egg
mobs:register_egg(":mobs_animal:bee", S("Bee"), "mobs_bee_inv.png") mobs:register_egg("mobs_jam:bee", S("Bee"), "mobs_bee_inv.png")
-- compatibility (only required if moving from old mobs to mobs_redo) -- compatibility (only required if moving from old mobs to mobs_redo)
mobs:alias_mob("mobs:bee", "mobs_animal:bee") mobs:alias_mob("mobs:bee", "mobs_jam:bee")
-- compatibility if removed and changed to mobs_animal
mobs:alias_mob("mobs_animal:bee", "mobs_jam:bee")
-- honey -- honey
@ -116,7 +118,7 @@ minetest.register_node(":mobs:beehive", {
minetest.set_node(pos, {name = "mobs:beehive", param2 = 1}) minetest.set_node(pos, {name = "mobs:beehive", param2 = 1})
if math.random(4) == 1 then if math.random(4) == 1 then
minetest.add_entity(pos, "mobs_animal:bee") minetest.add_entity(pos, "mobs_jam:bee")
end end
end end
end, end,

View File

@ -4,7 +4,7 @@ local S = mobs.intllib_animal
-- Bunny by ExeterDad -- Bunny by ExeterDad
mobs:register_mob(":mobs_animal:bunny", { mobs:register_mob("mobs_jam:bunny", {
type = "animal", type = "animal",
passive = true, passive = true,
reach = 1, reach = 1,
@ -136,7 +136,7 @@ end
if not mobs.custom_spawn_animal then if not mobs.custom_spawn_animal then
mobs:spawn({ mobs:spawn({
name = ":mobs_animal:bunny", name = "mobs_jam:bunny",
nodes = {spawn_on}, nodes = {spawn_on},
neighbors = {"group:grass"}, neighbors = {"group:grass"},
min_light = 14, min_light = 14,
@ -149,10 +149,11 @@ if not mobs.custom_spawn_animal then
end end
mobs:register_egg(":mobs_animal:bunny", S("Bunny"), "mobs_bunny_inv.png", 0) mobs:register_egg("mobs_jam:bunny", S("Bunny"), "mobs_bunny_inv.png", 0)
mobs:alias_mob("mobs:bunny", "mobs_animal:bunny") -- compatibility mobs:alias_mob("mobs:bunny", "mobs_jam:bunny") -- compatibility
mobs:alias_mob("mobs_animal:bunny", "mobs_jam:bunny") -- compatibility
-- raw rabbit -- raw rabbit

View File

@ -4,7 +4,7 @@ local S = mobs.intllib_animal
-- Chicken by JK Murray and Sirrobzeroone -- Chicken by JK Murray and Sirrobzeroone
mobs:register_mob(":mobs_animal:chicken", { mobs:register_mob(":mobs_jam:chicken", {
stepheight = 0.6, stepheight = 0.6,
type = "animal", type = "animal",
passive = true, passive = true,
@ -29,7 +29,7 @@ mobs:register_mob(":mobs_animal:chicken", {
walk_velocity = 1, walk_velocity = 1,
run_velocity = 3, run_velocity = 3,
runaway = true, runaway = true,
runaway_from = {"player", "mobs_animal:pumba"}, runaway_from = {"player", "mobs_jam:pumba"},
drops = { drops = {
{name = "mobs:chicken_raw", chance = 1, min = 1, max = 1}, {name = "mobs:chicken_raw", chance = 1, min = 1, max = 1},
{name = "mobs:chicken_feather", chance = 1, min = 0, max = 2} {name = "mobs:chicken_feather", chance = 1, min = 0, max = 2}
@ -116,14 +116,14 @@ mobs:register_mob(":mobs_animal:chicken", {
local spawn_on = {"default:dirt_with_grass"} local spawn_on = {"default:dirt_with_grass"}
if minetest.get_modpath("ethereal") then if minetest.get_modpath("ethereal") then
spawn_on = {"ethereal:bamboo_dirt", "ethereal:prairie_dirt", "default:dirt_with_grass"} spawn_on = {"ethereal:bamboo_dirt", "ethereal:prairie_dirt"}
end end
if not mobs.custom_spawn_animal then if not mobs.custom_spawn_animal then
mobs:spawn({ mobs:spawn({
name = ":mobs_animal:chicken", name = ":mobs_jam:chicken",
nodes = spawn_on, nodes = spawn_on,
neighbors = {"group:grass"}, neighbors = {"group:grass"},
min_light = 14, min_light = 14,
@ -136,10 +136,11 @@ if not mobs.custom_spawn_animal then
end end
mobs:register_egg(":mobs_animal:chicken", S("Chicken"), "mobs_chicken_inv.png", 0) mobs:register_egg(":mobs_jam:chicken", S("Chicken"), "mobs_chicken_inv.png", 0)
mobs:alias_mob("mobs:chicken", "mobs_animal:chicken") -- compatibility mobs:alias_mob("mobs:chicken", "mobs_jam:chicken") -- compatibility
mobs:alias_mob("mobs_animal:chicken", "mobs_jam:chicken") -- compatibility
-- egg entity -- egg entity
@ -181,7 +182,7 @@ mobs:register_arrow(":mobs_animal:egg_entity", {
end end
mobs:add_mob(pos, { mobs:add_mob(pos, {
name = "mobs_animal:chicken", name = "mobs_jam:chicken",
child = true, child = true,
owner = self.playername, owner = self.playername,
-- nametag = "Chicky", -- nametag = "Chicky",

View File

@ -4,7 +4,7 @@ local S = mobs.intllib_animal
-- Cow by sirrobzeroone -- Cow by sirrobzeroone
mobs:register_mob(":mobs_animal:cow", { mobs:register_mob("mobs_jam:cow", {
type = "animal", type = "animal",
passive = false, passive = false,
attack_type = "dogfight", attack_type = "dogfight",
@ -153,7 +153,7 @@ mobs:register_mob(":mobs_animal:cow", {
if not mobs.custom_spawn_animal then if not mobs.custom_spawn_animal then
mobs:spawn({ mobs:spawn({
name = ":mobs_animal:cow", name = "mobs_jam:cow",
nodes = {"default:dirt_with_grass", "ethereal:green_dirt"}, nodes = {"default:dirt_with_grass", "ethereal:green_dirt"},
neighbors = {"group:grass"}, neighbors = {"group:grass"},
min_light = 14, min_light = 14,
@ -166,10 +166,11 @@ if not mobs.custom_spawn_animal then
end end
mobs:register_egg(":mobs_animal:cow", S("Cow"), "mobs_cow_inv.png") mobs:register_egg("mobs_jam:cow", S("Cow"), "mobs_cow_inv.png")
mobs:alias_mob("mobs:cow", "mobs_animal:cow") -- compatibility mobs:alias_mob("mobs:cow", "mobs_jam:cow") -- compatibility
mobs:alias_mob("mobs_animal:cow", "mobs_jam:cow") -- compatibility
-- bucket of milk -- bucket of milk

View File

@ -13,7 +13,7 @@ end
-- Fire Spirit -- Fire Spirit
mobs:register_mob(":mobs_monster:fire_spirit", { mobs:register_mob("mobs_jam:fire_spirit", {
type = "monster", type = "monster",
passive = false, passive = false,
attack_type = "dogfight", attack_type = "dogfight",
@ -90,7 +90,7 @@ end
if not mobs.custom_spawn_monster then if not mobs.custom_spawn_monster then
mobs:spawn({ mobs:spawn({
name = ":mobs_monster:fire_spirit", name = "mobs_jam:fire_spirit",
nodes = spawnon, nodes = spawnon,
neighbors = {"group:fire"}, neighbors = {"group:fire"},
min_light = 5, min_light = 5,
@ -102,4 +102,7 @@ if not mobs.custom_spawn_monster then
end end
mobs:register_egg(":mobs_monster:fire_spirit", S("Fire Spirit"), "fire_basic_flame.png", 1) mobs:register_egg("mobs_jam:fire_spirit", S("Fire Spirit"), "fire_basic_flame.png", 1)
mobs:alias_mob("mobs_monster:fire_spirit", "mobs_jam:fire_spirit")

View File

@ -7,7 +7,7 @@ table.insert(followf, "mobs:meat_raw")
--end --end
-- Fox -- Fox
mobs:register_mob(":mobs_doomed:fox", { mobs:register_mob("mobs_jam:fox", {
type = "monster", type = "monster",
attacks_monsters = true, attacks_monsters = true,
reach = 1, reach = 1,
@ -72,7 +72,14 @@ mobs:register_mob(":mobs_doomed:fox", {
}) })
mobs:register_egg(":mobs_doomed:fox", "Fox", "wool_orange.png", 1) mobs:register_egg("mobs_jam:fox", "Fox", "wool_orange.png", 1)
mobs:spawn({name = ":mobs_doomed:owl", nodes = {"group:tree"}, neighbor = {}, mobs:spawn({name = "mobs_jam:fox", nodes = {"group:tree"}, neighbor = {},
min_light = 0, max_light = 7, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 0, max_light = 7, interval = 300, chance = 16000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:alias_mob("mobs_doomed:fox", "mobs_jam:fox") -- compatibility
mobs:alias_mob("dmobs:fox", "mobs_jam:fox") -- compatibility
mobs:alias_mob("mobs_animal:fox", "mobs_jam:fox") -- compatibility

View File

@ -1,4 +1,4 @@
local path = minetest.get_modpath(minetest.get_current_modname()) .. "/" local path = minetest.get_modpath("mobs_jam") .. "/"
-- Check for translation method -- Check for translation method
local S local S
@ -62,13 +62,14 @@ ddoo("penguin") -- D00Med
ddoo("panda") -- AspireMint ddoo("panda") -- AspireMint
end end
if not minetest.get_modpath("mobs_doomed") or not minetest.get_modpath("dmobs") then if not minetest.get_modpath("mobs_doomed") and not minetest.get_modpath("dmobs") then
dofile(path .. "fox.lua") -- D00Med dofile(path .. "fox.lua") -- D00Med
dofile(path .. "owl.lua") -- D00Med dofile(path .. "owl.lua") -- D00Med
dofile(path .. "tortoise.lua") -- D00Med dofile(path .. "tortoise.lua") -- D00Med
end end
if not minetest.get_modpath("mobs_monster") then if not minetest.get_modpath("mobs_monster") then
dofile(path .. "mese_monster.lua") -- PilzAdam (WTFPL)
dofile(path .. "fire_spirit.lua") -- tenplus1 dofile(path .. "fire_spirit.lua") -- tenplus1
dofile(path .. "oerkki.lua") -- Pavel_S and PilzAdam (WTFPL) dofile(path .. "oerkki.lua") -- Pavel_S and PilzAdam (WTFPL)
dofile(path .. "lava_flan.lua") -- Lava Flan by Zeg9 (additional textures by JurajVajda) dofile(path .. "lava_flan.lua") -- Lava Flan by Zeg9 (additional textures by JurajVajda)

View File

@ -11,10 +11,10 @@ local kitten_types = {
-- Kitten by Jordach / BFD -- Kitten by Jordach / BFD
mobs:register_mob(":mobs_animal:kitten", { mobs:register_mob("mobs_jam:kitten", {
stepheight = 0.6, stepheight = 0.6,
type = "animal", type = "animal",
specific_attack = {"mobs_animal:rat"}, specific_attack = {"mobs_jam:rat"},
damage = 1, damage = 1,
attack_type = "dogfight", attack_type = "dogfight",
attack_animals = true, -- so it can attack rat attack_animals = true, -- so it can attack rat
@ -60,7 +60,7 @@ mobs:register_mob(":mobs_animal:kitten", {
stoodup_end = 0, stoodup_end = 0,
}, },
follow = { follow = {
"mobs_animal:rat", "group:food_fish_raw", "mobs_jam:rat", "group:food_fish_raw",
"mobs_fish:tropical", "mobs_fish:clownfish", "xocean:fish_edible" "mobs_fish:tropical", "mobs_fish:clownfish", "xocean:fish_edible"
}, },
view_range = 8, view_range = 8,
@ -145,7 +145,7 @@ end
if not mobs.custom_spawn_animal then if not mobs.custom_spawn_animal then
mobs:spawn({ mobs:spawn({
name = ":mobs_animal:kitten", name = "mobs_jam:kitten",
nodes = {spawn_on}, nodes = {spawn_on},
neighbors = {"group:grass"}, neighbors = {"group:grass"},
min_light = 14, min_light = 14,
@ -158,15 +158,16 @@ if not mobs.custom_spawn_animal then
end end
mobs:register_egg(":mobs_animal:kitten", S("Kitten"), "mobs_kitten_inv.png", 0) mobs:register_egg("mobs_jam:kitten", S("Kitten"), "mobs_kitten_inv.png", 0)
mobs:alias_mob("mobs:kitten", "mobs_animal:kitten") -- compatibility mobs:alias_mob("mobs:kitten", "mobs_jam:kitten") -- compatibility
mobs:alias_mob("mobs_animal:kitten", "mobs_jam:kitten") -- compatibility only if moved from/to mobs_animal
local hairball_items = { local hairball_items = {
"default:stick", "default:coal_lump", "default:dry_shrub", "flowers:rose", "default:stick", "default:coal_lump", "default:dry_shrub", "flowers:rose",
"mobs_animal:rat", "default:grass_1", "farming:seed_wheat", "dye:green", "", "mobs_jam:rat", "default:grass_1", "farming:seed_wheat", "dye:green", "",
"farming:seed_cotton", "default:flint", "default:sapling", "dye:white", "", "farming:seed_cotton", "default:flint", "default:sapling", "dye:white", "",
"default:clay_lump", "default:paper", "default:dry_grass_1", "dye:red", "", "default:clay_lump", "default:paper", "default:dry_grass_1", "dye:red", "",
"farming:string", "mobs:chicken_feather", "default:acacia_bush_sapling", "", "farming:string", "mobs:chicken_feather", "default:acacia_bush_sapling", "",

View File

@ -3,7 +3,7 @@ local S = mobs.intllib_animal
-- Lava Flan by Zeg9 (additional textures by JurajVajda) -- Lava Flan by Zeg9 (additional textures by JurajVajda)
mobs:register_mob(":mobs_monster:lava_flan", { mobs:register_mob("mobs_jam:lava_flan", {
type = "monster", type = "monster",
passive = false, passive = false,
attack_type = "dogfight", attack_type = "dogfight",
@ -73,7 +73,7 @@ mobs:register_mob(":mobs_monster:lava_flan", {
self.object:remove() self.object:remove()
if math.random(4) == 1 then if math.random(4) == 1 then
mobs:add_mob(pos, {name = "mobs_monster:obsidian_flan"}) mobs:add_mob(pos, {name = "mobs_jam:obsidian_flan"})
end end
else else
mobs:effect(pos, 40, "fire_basic_flame.png", 2, 3, 2, 5, 10, nil) mobs:effect(pos, 40, "fire_basic_flame.png", 2, 3, 2, 5, 10, nil)
@ -99,7 +99,7 @@ mobs:register_mob(":mobs_monster:lava_flan", {
if not mobs.custom_spawn_monster then if not mobs.custom_spawn_monster then
mobs:spawn({ mobs:spawn({
name = ":mobs_monster:lava_flan", name = "mobs_jam:lava_flan",
nodes = {"default:lava_source"}, nodes = {"default:lava_source"},
chance = 1500, chance = 1500,
active_object_count = 1, active_object_count = 1,
@ -109,11 +109,13 @@ end
-- add spawn egg -- add spawn egg
mobs:register_egg(":mobs_monster:lava_flan", S("Lava Flan"), "default_lava.png", 1) mobs:register_egg("mobs_jam:lava_flan", S("Lava Flan"), "default_lava.png", 1)
-- compatibility alias, only needed for servers who used the old mobs mod -- compatibility alias, only needed for servers who used the old mobs mod
mobs:alias_mob("mobs:lava_flan", "mobs_monster:lava_flan") mobs:alias_mob("mobs:lava_flan", "mobs_jam:lava_flan")
-- compatibility if removed and changed to mobs_monster
mobs:alias_mob("mobs_monster:lava_flan", "mobs_jam:lava_flan")
-- lava orb -- lava orb
@ -222,7 +224,7 @@ end
-- obsidian flan -- obsidian flan
mobs:register_mob(":mobs_monster:obsidian_flan", { mobs:register_mob("mobs_jam:obsidian_flan", {
type = "monster", type = "monster",
passive = false, passive = false,
attack_type = "shoot", attack_type = "shoot",
@ -275,8 +277,10 @@ mobs:register_mob(":mobs_monster:obsidian_flan", {
-- add spawn egg -- add spawn egg
mobs:register_egg(":mobs_monster:obsidian_flan", S("Obsidian Flan"), "default_obsidian.png", 1) mobs:register_egg("mobs_jam:obsidian_flan", S("Obsidian Flan"), "default_obsidian.png", 1)
-- compatibility if removed and changed to mobs_monster
mobs:alias_mob("mobs_monster:obsidian_flan", "mobs_jam:obsidian_flan")
local mobs_griefing = minetest.settings:get_bool("mobs_griefing") ~= false local mobs_griefing = minetest.settings:get_bool("mobs_griefing") ~= false

View File

@ -134,7 +134,7 @@ local mese_monster_types = {
-- Mese Monster by SirrobZeroone -- Mese Monster by SirrobZeroone
mobs:register_mob(":mobs_monster:mese_monster", { mobs:register_mob("mobs_jam:mese_monster", {
type = "monster", type = "monster",
visual_size = {x = 10, y = 10}, -- Got scale wrong in blender by factor of 10 - S01 visual_size = {x = 10, y = 10}, -- Got scale wrong in blender by factor of 10 - S01
passive = false, passive = false,
@ -260,7 +260,7 @@ mobs:register_mob(":mobs_monster:mese_monster", {
for i, obj in ipairs(objects) do for i, obj in ipairs(objects) do
if minetest.is_player(obj) if minetest.is_player(obj)
and obj:get_wielded_item():get_name() == "mobs_monster:mese_monster" then and obj:get_wielded_item():get_name() == "mobs_jam:mese_monster" then
local degree = (360 + math.deg(obj:get_look_horizontal())) % 360 local degree = (360 + math.deg(obj:get_look_horizontal())) % 360
local compass_sel local compass_sel
@ -288,7 +288,7 @@ mobs:register_mob(":mobs_monster:mese_monster", {
-- mese arrow (weapon) -- mese arrow (weapon)
minetest.register_craftitem("mobs_monster:mese_crystal_fragment_arrow", { minetest.register_craftitem(":mobs_monster:mese_crystal_fragment_arrow", {
description = S("Mese Monster Arrow"), description = S("Mese Monster Arrow"),
inventory_image = "mobs_mese_arrow.png", inventory_image = "mobs_mese_arrow.png",
groups = {not_in_creative_inventory = 1} groups = {not_in_creative_inventory = 1}
@ -325,7 +325,7 @@ mobs:register_arrow(":mobs_monster:mese_arrow", {
if not mobs.custom_spawn_monster then if not mobs.custom_spawn_monster then
mobs:spawn({ mobs:spawn({
name = ":mobs_monster:mese_monster", name = "mobs_jam:mese_monster",
nodes = {"default:stone"}, nodes = {"default:stone"},
max_light = 7, max_light = 7,
chance = 4500, chance = 4500,
@ -335,10 +335,11 @@ if not mobs.custom_spawn_monster then
end end
mobs:register_egg(":mobs_monster:mese_monster", S("Mese Monster"), "default_mese_block.png", 1) mobs:register_egg("mobs_jam:mese_monster", S("Mese Monster"), "default_mese_block.png", 1)
mobs:alias_mob("mobs:mese_monster", "mobs_monster:mese_monster") -- compatiblity mobs:alias_mob("mobs:mese_monster", "mobs_jam:mese_monster") -- compatiblity
mobs:alias_mob("mobs_monster:mese_monster", "mobs_jam:mese_monster") -- compatiblity
-- 9x mese crystal fragments = 1x mese crystal -- 9x mese crystal fragments = 1x mese crystal

View File

@ -3,7 +3,7 @@ local S = mobs.intllib_animal
-- Oerkki by PilzAdam -- Oerkki by PilzAdam
mobs:register_mob(":mobs_monster:oerkki", { mobs:register_mob("mobs_jam:oerkki", {
type = "monster", type = "monster",
passive = false, passive = false,
attack_type = "dogfight", attack_type = "dogfight",
@ -63,7 +63,7 @@ mobs:register_mob(":mobs_monster:oerkki", {
if not mobs.custom_spawn_monster then if not mobs.custom_spawn_monster then
mobs:spawn({ mobs:spawn({
name = ":mobs_monster:oerkki", name = "mobs_jam:oerkki",
nodes = {"default:stone"}, nodes = {"default:stone"},
max_light = 7, max_light = 7,
chance = 5000, chance = 5000,
@ -72,7 +72,9 @@ if not mobs.custom_spawn_monster then
end end
mobs:register_egg(":mobs_monster:oerkki", S("Oerkki"), "default_obsidian.png", 1) mobs:register_egg("mobs_jam:oerkki", S("Oerkki"), "default_obsidian.png", 1)
mobs:alias_mob("mobs:oerkki", "mobs_monster:oerkki") -- compatiblity mobs:alias_mob("mobs:oerkki", "mobs_jam:oerkki") -- compatiblity
mobs:alias_mob("mobs_monster:oerkki", "mobs_jam:oerkki") -- compatiblity only if changes/moved to/from mobs_monster

View File

@ -13,7 +13,7 @@ end
if minetest.get_modpath("fireflies") then if minetest.get_modpath("fireflies") then
table.insert(follow, "fireflies:firefly") table.insert(follow, "fireflies:firefly")
end end
if minetest.get_modpath("mobs_animal") then if minetest.get_modpath("mobs_animal") or minetest.get_modpath("mobs_jam") then
table.insert(follow, "mobs_animal:rat") table.insert(follow, "mobs_animal:rat")
table.insert(follow, "mobs_animal:bee") table.insert(follow, "mobs_animal:bee")
table.insert(follow, "mobs_animal:bunny") table.insert(follow, "mobs_animal:bunny")
@ -41,7 +41,7 @@ if minetest.get_modpath("mobs_birds") then
table.insert(follow, "mobs_birds:bird_sm") table.insert(follow, "mobs_birds:bird_sm")
end end
mobs:register_mob(":mobs_doomed:owl", { mobs:register_mob("mobs_jam:owl", {
type = "animal", type = "animal",
passive = true, passive = true,
hp_min = 12, hp_min = 12,
@ -95,7 +95,14 @@ mobs:register_mob(":mobs_doomed:owl", {
}) })
mobs:register_egg(":mobs_doomed:owl", "Owl", "default_tree.png", 1) mobs:register_egg("mobs_jam:owl", "Owl", "default_tree.png", 1)
mobs:spawn({name = ":mobs_doomed:owl", nodes = {"group:tree"}, neighbor = {}, mobs:spawn({name = "mobs_jam:owl", nodes = {"group:tree"}, neighbor = {},
min_light = 0, max_light = 7, interval = 300, chance = 9000, active_object_count = 2, min_height = 0, max_height = 2000}) min_light = 0, max_light = 7, interval = 300, chance = 9000, active_object_count = 2, min_height = 0, max_height = 2000})
mobs:alias_mob("mobs:owl", "mobs_jam:owl")
-- compatibility if removed/changed to dmobs
mobs:alias_mob("dmobs:owl", "mobs_jam:owl")
-- compatibility if removed/changed to mobs_doomed
mobs:alias_mob("mobs_doomed:owl", "mobs_jam:owl")

View File

@ -4,7 +4,7 @@ local S = mobs.intllib_animal
-- Panda by AspireMint (CC BY-SA 3.0) -- Panda by AspireMint (CC BY-SA 3.0)
mobs:register_mob(":mobs_animal:panda", { mobs:register_mob("mobs_jam:panda", {
stepheight = 0.6, stepheight = 0.6,
type = "animal", type = "animal",
passive = false, passive = false,
@ -76,7 +76,7 @@ if minetest.get_modpath("ethereal") then spawn_on = {"ethereal:bamboo_dirt", "de
if minetest.get_modpath("ethereal") and not mobs.custom_spawn_animal then if minetest.get_modpath("ethereal") and not mobs.custom_spawn_animal then
mobs:spawn({ mobs:spawn({
name = ":mobs_animal:panda", name = "mobs_jam:panda",
nodes = spawn_on, nodes = spawn_on,
neighbors = {"group:grass"}, neighbors = {"group:grass"},
min_light = 14, min_light = 14,
@ -89,4 +89,8 @@ if minetest.get_modpath("ethereal") and not mobs.custom_spawn_animal then
end end
mobs:register_egg(":mobs_animal:panda", S("Panda"), "mobs_panda_inv.png") mobs:register_egg("mobs_jam:panda", S("Panda"), "mobs_panda_inv.png")
-- compatibility if removed and changed to mobs_animal
mobs:alias_mob("mobs_animal:panda", "mobs_jam:panda")

View File

@ -4,7 +4,7 @@ local S = mobs.intllib_animal
-- Penguin by D00Med -- Penguin by D00Med
mobs:register_mob(":mobs_animal:penguin", { mobs:register_mob("mobs_jam:penguin", {
stepheight = 0.6, stepheight = 0.6,
type = "animal", type = "animal",
passive = true, passive = true,
@ -64,7 +64,7 @@ stepheight = 0.6,
if not mobs.custom_spawn_animal then if not mobs.custom_spawn_animal then
mobs:spawn({ mobs:spawn({
name = ":mobs_animal:penguin", name = "mobs_jam:penguin",
nodes = {"default:snowblock"}, nodes = {"default:snowblock"},
min_light = 14, min_light = 14,
interval = 60, interval = 60,
@ -76,4 +76,7 @@ if not mobs.custom_spawn_animal then
end end
mobs:register_egg(":mobs_animal:penguin", S("Penguin"), "mobs_penguin_inv.png") mobs:register_egg("mobs_jam:penguin", S("Penguin"), "mobs_penguin_inv.png")
-- compatibility if removed and changed to mobs_animal
mobs:alias_mob("mobs_animal:penguin", "mobs_jam:penguin")

View File

@ -4,7 +4,7 @@ local S = mobs.intllib_animal
-- Rat by KPavel and PilzAdam (B3D model by sirrobzeroone) -- Rat by KPavel and PilzAdam (B3D model by sirrobzeroone)
mobs:register_mob(":mobs_animal:rat", { mobs:register_mob("mobs_jam:rat", {
stepheight = 0.6, stepheight = 0.6,
type = "animal", type = "animal",
passive = true, passive = true,
@ -32,7 +32,7 @@ mobs:register_mob(":mobs_animal:rat", {
fear_height = 2, fear_height = 2,
on_rightclick = function(self, clicker) on_rightclick = function(self, clicker)
mobs:capture_mob(self, clicker, 50, 90, 0, true, "mobs_animal:rat") mobs:capture_mob(self, clicker, 50, 90, 0, true, "mobs_jam:rat")
end, end,
--[[ --[[
do_custom = function(self, dtime) do_custom = function(self, dtime)
@ -73,7 +73,7 @@ end
if not mobs.custom_spawn_animal then if not mobs.custom_spawn_animal then
mobs:spawn({ mobs:spawn({
name = ":mobs_animal:rat", name = "mobs_jam:rat",
nodes = {"default:stone"}, nodes = {"default:stone"},
min_light = 2, min_light = 2,
max_light = 10, max_light = 10,
@ -85,10 +85,11 @@ if not mobs.custom_spawn_animal then
end end
mobs:register_egg(":mobs_animal:rat", S("Rat"), "mobs_rat_inv.png") mobs:register_egg("mobs_jam:rat", S("Rat"), "mobs_rat_inv.png")
mobs:alias_mob("mobs:rat", "mobs_animal:rat") -- compatibility mobs:alias_mob("mobs:rat", "mobs_jam:rat") -- compatibility
mobs:alias_mob("mobs_animal:rat", "mobs_jam:rat") -- compatibility
-- cooked rat, yummy! -- cooked rat, yummy!
@ -102,6 +103,6 @@ minetest.register_craftitem(":mobs:rat_cooked", {
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",
output = "mobs:rat_cooked", output = "mobs:rat_cooked",
recipe = "mobs_animal:rat", recipe = "mobs_jam:rat",
cooktime = 5 cooktime = 5
}) })

View File

@ -1,17 +1,57 @@
# minetest mod mobs_jam # minetest mod mobs_jam
IT add animals for farmin like cows, dogs chicken or cats. Pack set like mobs, reduced, use if you dont want a buch of mods and only wants one that handles all
## Information ## Information
This mod is forked to improve compatibility backguard for 0.4 engine. It also provides some new translatins and ajustments This mod is forked to improve compatibility and simplifycation, it combines/provide mobs from
"animal", "dmobs" and "monsters" **simplified in one load to reduce calculations on server**.
Reason is the nascisic and petty behaviour of mayority of minetest developers
![](screenshot.png) ![](screenshot.png)
## Technical information
It provides mobs:
* `mobs_animal` a mixed from original PilzAdam with the ones of tenplus1
* `bee`
* `chicken`
* `cow`
* `rat`
* `sheep`
* `panda`
* `penguin`
* `kitten`
* `warthog`
* `mobs_monster` disected from original PilzAdam, adapted to mobs_redo
* `fire_spirit`
* `oerkki`
* `mese_monster`
* `mobs_doomed` or `dmobs` from D00Med aka heiselong lazy one
* `fox`
* `owl`
* `tortoise`
It also has backguard compatibility for 0.4 engine. It also provides some new translatins and ajustments
**note** to gain performance equivalent compatibility with original mods are disabled by default,
this mod provides by default aliasing of all items and mobs for backguard compatibility, you
can enable it in settings
**warning** this provides aliasing only for entities that players interacts, not to the rest
by example what does the lava flan shot as attack is not the same as what original lava flan shots,
this is due breking compatibilty and easy mantain code rutines. If you need a mob you can use
the same cos mapgen only mantain the mobs not the items that they shots.
**caution** this mobs try to fit all the items that player handles into their inventory, for
compatibility, but you can diable it to gain performan by not registered so many items in engine.
### Depends ### Depends
* mobs * mobs
* default * default
* farming
Optionally Optionally
@ -20,48 +60,38 @@ Optionally
## Animals: ## Animals:
**Note**: *After breeding, animals need to rest for 4 minutes and baby animals take 4 minutes to grow up, also feeding them helps them grow quicker...*
### Bee ### Bee
Tends to buzz around flowers and gives honey when killed, you can also right-click a bee to pick it up and place in inventory. 3x bee's in a row can craft a beehive. Tends to buzz around flowers and gives honey when killed, you can also right-click a bee to pick it up and place in inventory. 3x bee's in a row can craft a beehive.
---
### Bunny ### Bunny
Bunnies appear in green grass areas (prairie biome in ethereal) and can be tamed with 4 carrots or grass. Can also be picked up and placed in inventory and gives 1 raw rabbit and 1 rabbit hide when killed. Bunnies appear in green grass areas (prairie biome in ethereal) and can be tamed with 4 carrots or grass. Can also be picked up and placed in inventory and gives 1 raw rabbit and 1 rabbit hide when killed.
---
### Chicken ### Chicken
Found in green areas (bamboo biome in ethereal) and lays eggs on flat ground, Can be picked up and placed in inventory and gives 1-2 raw chicken when killed. Feed 8x wheat seed to breed. Found in green areas (bamboo biome in ethereal) and lays eggs on flat ground, Can be picked up and placed in inventory and gives 1-2 raw chicken when killed. Feed 8x wheat seed to breed.
---
### Cow ### Cow
Wanders around eating grass/wheat and can be right-clicked with empty bucket to get milk. Cows will defend themselves when hit and can be right-clicked with 8x wheat to tame and breed. Wanders around eating grass/wheat and can be right-clicked with empty bucket to get milk. Cows will defend themselves when hit and can be right-clicked with 8x wheat to tame and breed.
---
### Kitten ### Kitten
Found on green grass these cute cats walk around and can be picked up and placed in inventory as pets or right-clicked with 4x live rats or raw fish (found in ethereal) and tamed. They can sometimes leave you little gifts of a hairball. Found on green grass these cute cats walk around and can be picked up and placed in inventory as pets or right-clicked with 4x live rats or raw fish (found in ethereal) and tamed. They can sometimes leave you little gifts of a hairball.
---
### Rat ### Rat
Typically found around stone they can be picked up and cooked for eating. Typically found around stone they can be picked up and cooked for eating.
---
### Sheep ### Sheep
Green grass and wheat munchers that can be clipped using shears to give 1-3 wool when tamed. Feed sheep 8x wheat to regrow wool, tame and breed. Right-click a tamed sheep with dye to change it's colour. Will drop 1-3 raw mutton when killed. Green grass and wheat munchers that can be clipped using shears to give 1-3 wool when tamed. Feed sheep 8x wheat to regrow wool, tame and breed. Right-click a tamed sheep with dye to change it's colour. Will drop 1-3 raw mutton when killed.
---
### Warthog ### Warthog
Warthogs unlike pigs defend themselves when hit and give 1-3 raw pork when killed, they can also be right-clicked with 8x apples to tame or breed. Warthogs unlike pigs defend themselves when hit and give 1-3 raw pork when killed, they can also be right-clicked with 8x apples to tame or breed.
---
### Penguin ### Penguin
These little guys can be found in glacier biomes on top of snow and have the ability to swim if they fall into water. These little guys can be found in glacier biomes on top of snow and have the ability to swim if they fall into water.
---
### Panda ### Panda
These monochrome cuties spawn in Ethereal's bamboo biome and can be tamed with bamboo stalks :) Remember they have claws though. These monochrome cuties spawn in Ethereal's bamboo biome and can be tamed with bamboo stalks :) Remember they have claws though.
---
*Note: After breeding, animals need to rest for 4 minutes and baby animals take 4 minutes to grow up, also feeding them helps them grow quicker...*
### tortoise ### tortoise
These were extracted from dmobs mod from D00Med and its friendly but pretty slowww These were extracted from dmobs mod from D00Med and its friendly but pretty slowww
@ -83,8 +113,19 @@ Found in dark areas like most monsters, Oerkki wander the caverns stealing away
### Fire Spirit ### Fire Spirit
Fire Spirits will not tolerate players roaming around their domain and will fiercely attack until their dying puff of smoke. Th Fire Spirits will not tolerate players roaming around their domain and will fiercely attack until their dying puff of smoke.
ey will drop their spirit and some fire dust when using ethereal. They will drop their spirit and some fire dust when using ethereal.
#### Lucky Blocks: 20 #### Lucky Blocks: 20
## LICENSE
CC-BY-SA-NC unless permission of
* Copyright (C) 2022+ PICCORO Lenz MCKAY <mckaygerhard@mail.ru>
* Copyright (C) 2016-2020 tenplus1
* Copyright (C) 2004-2012 Sam Hocevar <sam@hocevar.net>
Check license.txt for art and models

View File

@ -69,7 +69,7 @@ for _, col in ipairs(all_colours) do
return textures return textures
end end
mobs:register_mob(":mobs_animal:sheep_" .. col[1], { mobs:register_mob("mobs_jam:sheep_" .. col[1], {
stay_near = {"farming:straw", 10}, stay_near = {"farming:straw", 10},
stepheight = 0.6, stepheight = 0.6,
type = "animal", type = "animal",
@ -315,12 +315,12 @@ for _, col in ipairs(all_colours) do
-- only dye if colour option available and sheep not same colour -- only dye if colour option available and sheep not same colour
if c[1] == colr if c[1] == colr
and self.name ~= "mobs_animal:sheep_" .. colr then and self.name ~= "mobs_jam:sheep_" .. colr then
local pos = self.object:get_pos() local pos = self.object:get_pos()
-- add new coloured sheep -- add new coloured sheep
local mob = minetest.add_entity(pos, "mobs_animal:sheep_" .. colr) local mob = minetest.add_entity(pos, "mobs_jam:sheep_" .. colr)
local ent = mob:get_luaentity() local ent = mob:get_luaentity()
if ent then if ent then
@ -371,11 +371,13 @@ for _, col in ipairs(all_colours) do
}) })
-- spawn egg -- spawn egg
mobs:register_egg(":mobs_animal:sheep_"..col[1], S("@1 Sheep", col[2]), mobs:register_egg("mobs_jam:sheep_"..col[1], S("@1 Sheep", col[2]),
"wool_" .. col[1] .. ".png^mobs_sheep_inv.png") "wool_" .. col[1] .. ".png^mobs_sheep_inv.png")
-- compatibility -- compatibility
mobs:alias_mob("mobs:sheep_" .. col[1], "mobs_animal:sheep_" .. col[1]) mobs:alias_mob("mobs:sheep_" .. col[1], "mobs_jam:sheep_" .. col[1])
-- compatibility only if changed from mobs_animal
mobs:alias_mob("mobs_animal:sheep_" .. col[1], "mobs_jam:sheep_" .. col[1])
end end
@ -389,7 +391,7 @@ if not mobs.custom_spawn_animal then
if mod_ethereal then spawn_on = {"default:dirt_with_grass", "ethereal:green_dirt"} end if mod_ethereal then spawn_on = {"default:dirt_with_grass", "ethereal:green_dirt"} end
mobs:spawn({ mobs:spawn({
name = ":mobs_animal:sheep_white", name = "mobs_jam:sheep_white",
nodes = spawn_on, nodes = spawn_on,
neighbors = {"group:grass"}, neighbors = {"group:grass"},
min_light = 14, min_light = 14,
@ -442,7 +444,7 @@ if not mobs.custom_spawn_animal then
-- store returned entity data from mobs:add_mob, "nil" indicates the -- store returned entity data from mobs:add_mob, "nil" indicates the
-- rules in mobs:add_mob stopped mob from being spawned/created. -- rules in mobs:add_mob stopped mob from being spawned/created.
local entity = mobs:add_mob(pos, local entity = mobs:add_mob(pos,
{name = "mobs_animal:sheep_" .. types, child = lamb}) {name = "mobs_jam:sheep_" .. types, child = lamb})
-- nil check -- nil check
if not entity then return end if not entity then return end
@ -498,7 +500,8 @@ if not mobs.custom_spawn_animal then
end end
mobs:alias_mob("mobs:sheep", "mobs_animal:sheep_white") -- compatibility mobs:alias_mob("mobs:sheep", "mobs_jam:sheep_white") -- compatibility
mobs:alias_mob("mobs_animal:sheep", "mobs_jam:sheep_white") -- compatibility only if moved from/to mobs_animal
-- raw mutton -- raw mutton
minetest.register_craftitem(":mobs:mutton_raw", { minetest.register_craftitem(":mobs:mutton_raw", {

View File

@ -10,7 +10,7 @@ if minetest.get_modpath("farming") then
} }
end end
mobs:register_mob(":mobs_doomed:tortoise", { mobs:register_mob("mobs_jam:tortoise", {
type = "animal", type = "animal",
passive = false, passive = false,
reach = 1, reach = 1,
@ -68,7 +68,11 @@ mobs:register_mob(":mobs_doomed:tortoise", {
}) })
mobs:register_egg(":mobs_doomed:tortoise", "Tortoise", "default_grass.png", 1) mobs:register_egg("mobs_jam:tortoise", "Tortoise", "default_grass.png", 1)
mobs:spawn({name = ":mobs_doomed:tortoise", nodes = {"default:water_source", "group:sand"}, neighbor = {}, mobs:spawn({name = "mobs_jam:tortoise", nodes = {"default:water_source", "group:sand"}, neighbor = {},
min_light = 5, max_light = 10, interval = 300, chance = 4000, active_object_count = 2, min_height = -100, max_height = 500}) min_light = 5, max_light = 10, interval = 300, chance = 4000, active_object_count = 2, min_height = -100, max_height = 500})
-- compatibility if removed and changed to/from mobs_doomed or dmobs
mobs:alias_mob("dmobs:tortoise", "mobs_jam:tortoise")
mobs:alias_mob("mobs_doomed:tortoise", "mobs_jam:tortoise")

View File

@ -4,7 +4,7 @@ local S = mobs.intllib_animal
-- Warthog originally by KrupnoPavel, B3D model by sirrobzeroone -- Warthog originally by KrupnoPavel, B3D model by sirrobzeroone
mobs:register_mob(":mobs_animal:pumba", { mobs:register_mob(":mobs_jam:pumba", {
stepheight = 0.6, stepheight = 0.6,
type = "animal", type = "animal",
passive = false, passive = false,
@ -83,7 +83,7 @@ end
if not mobs.custom_spawn_animal then if not mobs.custom_spawn_animal then
mobs:spawn({ mobs:spawn({
name = ":mobs_animal:pumba", name = ":mobs_jam:pumba",
nodes = spawn_on, nodes = spawn_on,
neighbors = spawn_by, neighbors = spawn_by,
min_light = 14, min_light = 14,
@ -97,10 +97,14 @@ end
-- spawn egg -- spawn egg
mobs:register_egg(":mobs_animal:pumba", S("Warthog"), "mobs_pumba_inv.png") mobs:register_egg(":mobs_jam:pumba", S("Warthog"), "mobs_pumba_inv.png")
mobs:alias_mob("mobs:pumba", "mobs_animal:pumba") -- compatibility mobs:alias_mob("mobs_animal:pumba", "mobs_jam:pumba") -- compatibility
mobs:alias_mob("mobs:pumba", "mobs_jam:pumba") -- compatibility
mobs:alias_mob("mobs:pumba", "mobs_animal:pumba") -- compatibility, this already are made by mobs_animal
-- raw porkchop -- raw porkchop