forked from VoxeLibre/VoxeLibre
Able to see all mobs in the lookup help menu (#4186)
added a Mobs category that has pages for all mobs Co-authored-by: SOS-Games <101518564+SOS-Games@users.noreply.github.com> Reviewed-on: MineClone2/MineClone2#4186 Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land> Co-authored-by: SOS-Games <gruberscomplete@gmail.com> Co-committed-by: SOS-Games <gruberscomplete@gmail.com>
This commit is contained in:
parent
bd4337a2dc
commit
4f37c1600f
|
@ -325,12 +325,19 @@ function mcl_mobs.register_mob(name, def)
|
||||||
|
|
||||||
_spawner = def._spawner,
|
_spawner = def._spawner,
|
||||||
}
|
}
|
||||||
minetest.register_entity(name, setmetatable(final_def,mcl_mobs.mob_class_meta))
|
|
||||||
|
|
||||||
if minetest.get_modpath("doc_identifier") ~= nil then
|
if minetest.get_modpath("doc_identifier") ~= nil then
|
||||||
doc.sub.identifier.register_object(name, "basics", "mobs")
|
doc.sub.identifier.register_object(name, "basics", "mobs")
|
||||||
|
|
||||||
|
if def.unused ~= true then
|
||||||
|
doc.add_entry("mobs", name, {
|
||||||
|
name = def.description or name,
|
||||||
|
data = final_def,
|
||||||
|
})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
minetest.register_entity(name, setmetatable(final_def,mcl_mobs.mob_class_meta))
|
||||||
end -- END mcl_mobs.register_mob function
|
end -- END mcl_mobs.register_mob function
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
local S = minetest.get_translator(minetest.get_current_modname())
|
local S = minetest.get_translator(minetest.get_current_modname())
|
||||||
|
|
||||||
local axolotl = {
|
local axolotl = {
|
||||||
|
description = S("Axolotl"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "axolotl",
|
spawn_class = "axolotl",
|
||||||
can_despawn = true,
|
can_despawn = true,
|
||||||
|
|
|
@ -30,6 +30,7 @@ local S = minetest.get_translator(minetest.get_current_modname())
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
local cod = {
|
local cod = {
|
||||||
|
description = S("Cod"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "water_ambient",
|
spawn_class = "water_ambient",
|
||||||
can_despawn = true,
|
can_despawn = true,
|
||||||
|
|
|
@ -136,7 +136,7 @@ mcl_mobs.register_mob("mobs_mc:creeper", {
|
||||||
})
|
})
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:creeper_charged", {
|
mcl_mobs.register_mob("mobs_mc:creeper_charged", {
|
||||||
description = S("Creeper"),
|
description = S("Charged Creeper"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
hp_min = 20,
|
hp_min = 20,
|
||||||
|
|
|
@ -30,6 +30,7 @@ local S = minetest.get_translator(minetest.get_current_modname())
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
local dolphin = {
|
local dolphin = {
|
||||||
|
description = S("Dolphin"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "water",
|
spawn_class = "water",
|
||||||
can_despawn = true,
|
can_despawn = true,
|
||||||
|
|
|
@ -30,6 +30,7 @@ for i=1,4 do
|
||||||
end
|
end
|
||||||
|
|
||||||
mcl_mobs.register_mob("mobs_mc:glow_squid", {
|
mcl_mobs.register_mob("mobs_mc:glow_squid", {
|
||||||
|
description = S("Glow Squid"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "water_underground",
|
spawn_class = "water_underground",
|
||||||
can_despawn = true,
|
can_despawn = true,
|
||||||
|
|
|
@ -343,8 +343,13 @@ mcl_mobs.register_mob("mobs_mc:baby_zombified_piglin", baby_zombified_piglin)
|
||||||
|
|
||||||
-- Compatibility code. These were removed, and now are called zombie piglins. They don't spawn.
|
-- Compatibility code. These were removed, and now are called zombie piglins. They don't spawn.
|
||||||
-- This is only to catch old cases. Maybe could be an alias?
|
-- This is only to catch old cases. Maybe could be an alias?
|
||||||
mcl_mobs.register_mob("mobs_mc:pigman", zombified_piglin)
|
local pigman_unused = table.copy(zombified_piglin)
|
||||||
mcl_mobs.register_mob("mobs_mc:baby_pigman", baby_zombified_piglin)
|
pigman_unused.unused = true
|
||||||
|
local baby_pigman_unused = table.copy(baby_zombified_piglin)
|
||||||
|
baby_pigman_unused.unused = true
|
||||||
|
|
||||||
|
mcl_mobs.register_mob("mobs_mc:pigman", pigman_unused)
|
||||||
|
mcl_mobs.register_mob("mobs_mc:baby_pigman", baby_pigman_unused)
|
||||||
|
|
||||||
|
|
||||||
-- Piglin Brute --
|
-- Piglin Brute --
|
||||||
|
|
|
@ -10,6 +10,7 @@ local S = minetest.get_translator(minetest.get_current_modname())
|
||||||
--###################
|
--###################
|
||||||
|
|
||||||
local salmon = {
|
local salmon = {
|
||||||
|
description = S("Salmon"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "water_ambient",
|
spawn_class = "water_ambient",
|
||||||
can_despawn = true,
|
can_despawn = true,
|
||||||
|
|
|
@ -176,7 +176,7 @@ end
|
||||||
|
|
||||||
-- Slime
|
-- Slime
|
||||||
local slime_big = {
|
local slime_big = {
|
||||||
description = S("Slime"),
|
description = S("Slime - big"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
group_attack = { "mobs_mc:slime_big", "mobs_mc:slime_small", "mobs_mc:slime_tiny" },
|
group_attack = { "mobs_mc:slime_big", "mobs_mc:slime_small", "mobs_mc:slime_tiny" },
|
||||||
|
@ -231,6 +231,7 @@ local slime_big = {
|
||||||
mcl_mobs.register_mob("mobs_mc:slime_big", slime_big)
|
mcl_mobs.register_mob("mobs_mc:slime_big", slime_big)
|
||||||
|
|
||||||
local slime_small = table.copy(slime_big)
|
local slime_small = table.copy(slime_big)
|
||||||
|
slime_small.description = S("Slime - small")
|
||||||
slime_small.sounds.base_pitch = 1.15
|
slime_small.sounds.base_pitch = 1.15
|
||||||
slime_small.hp_min = 4
|
slime_small.hp_min = 4
|
||||||
slime_small.hp_max = 4
|
slime_small.hp_max = 4
|
||||||
|
@ -248,6 +249,7 @@ slime_small.on_die = spawn_children_on_die("mobs_mc:slime_tiny", 0.6, 1.0)
|
||||||
mcl_mobs.register_mob("mobs_mc:slime_small", slime_small)
|
mcl_mobs.register_mob("mobs_mc:slime_small", slime_small)
|
||||||
|
|
||||||
local slime_tiny = table.copy(slime_big)
|
local slime_tiny = table.copy(slime_big)
|
||||||
|
slime_tiny.description = S("Slime - tiny")
|
||||||
slime_tiny.sounds.base_pitch = 1.3
|
slime_tiny.sounds.base_pitch = 1.3
|
||||||
slime_tiny.hp_min = 1
|
slime_tiny.hp_min = 1
|
||||||
slime_tiny.hp_max = 1
|
slime_tiny.hp_max = 1
|
||||||
|
@ -397,7 +399,7 @@ swamp_max)
|
||||||
|
|
||||||
-- Magma cube
|
-- Magma cube
|
||||||
local magma_cube_big = {
|
local magma_cube_big = {
|
||||||
description = S("Magma Cube"),
|
description = S("Magma Cube - big"),
|
||||||
type = "monster",
|
type = "monster",
|
||||||
spawn_class = "hostile",
|
spawn_class = "hostile",
|
||||||
hp_min = 16,
|
hp_min = 16,
|
||||||
|
@ -458,6 +460,7 @@ local magma_cube_big = {
|
||||||
mcl_mobs.register_mob("mobs_mc:magma_cube_big", magma_cube_big)
|
mcl_mobs.register_mob("mobs_mc:magma_cube_big", magma_cube_big)
|
||||||
|
|
||||||
local magma_cube_small = table.copy(magma_cube_big)
|
local magma_cube_small = table.copy(magma_cube_big)
|
||||||
|
magma_cube_small.description = S("Magma Cube - small")
|
||||||
magma_cube_small.sounds.jump = "mobs_mc_magma_cube_small"
|
magma_cube_small.sounds.jump = "mobs_mc_magma_cube_small"
|
||||||
magma_cube_small.sounds.death = "mobs_mc_magma_cube_small"
|
magma_cube_small.sounds.death = "mobs_mc_magma_cube_small"
|
||||||
magma_cube_small.hp_min = 4
|
magma_cube_small.hp_min = 4
|
||||||
|
@ -479,6 +482,7 @@ magma_cube_small.on_die = spawn_children_on_die("mobs_mc:magma_cube_tiny", 0.6,
|
||||||
mcl_mobs.register_mob("mobs_mc:magma_cube_small", magma_cube_small)
|
mcl_mobs.register_mob("mobs_mc:magma_cube_small", magma_cube_small)
|
||||||
|
|
||||||
local magma_cube_tiny = table.copy(magma_cube_big)
|
local magma_cube_tiny = table.copy(magma_cube_big)
|
||||||
|
magma_cube_tiny.description = S("Magma Cube - tiny")
|
||||||
magma_cube_tiny.sounds.jump = "mobs_mc_magma_cube_small"
|
magma_cube_tiny.sounds.jump = "mobs_mc_magma_cube_small"
|
||||||
magma_cube_tiny.sounds.death = "mobs_mc_magma_cube_small"
|
magma_cube_tiny.sounds.death = "mobs_mc_magma_cube_small"
|
||||||
magma_cube_tiny.sounds.base_pitch = 1.25
|
magma_cube_tiny.sounds.base_pitch = 1.25
|
||||||
|
|
|
@ -11,6 +11,7 @@ local S = minetest.get_translator("mobs_mc")
|
||||||
|
|
||||||
|
|
||||||
local strider = {
|
local strider = {
|
||||||
|
description = S("Strider"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
passive = true,
|
passive = true,
|
||||||
spawn_class = "passive",
|
spawn_class = "passive",
|
||||||
|
@ -205,6 +206,7 @@ mcl_mobs.register_mob("mobs_mc:strider", strider)
|
||||||
-- Baby strider.
|
-- Baby strider.
|
||||||
|
|
||||||
local baby_strider = table.copy(strider)
|
local baby_strider = table.copy(strider)
|
||||||
|
baby_strider.description = S("Baby Strider")
|
||||||
baby_strider.collisionbox = {-.3, -0.01, -.3, .3, 0.94, .3}
|
baby_strider.collisionbox = {-.3, -0.01, -.3, .3, 0.94, .3}
|
||||||
baby_strider.xp_min = 13
|
baby_strider.xp_min = 13
|
||||||
baby_strider.xp_max = 13
|
baby_strider.xp_max = 13
|
||||||
|
|
|
@ -58,6 +58,7 @@ local function set_textures(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
local tropical_fish = {
|
local tropical_fish = {
|
||||||
|
description = S("Tropical Fish"),
|
||||||
type = "animal",
|
type = "animal",
|
||||||
spawn_class = "water_ambient",
|
spawn_class = "water_ambient",
|
||||||
can_despawn = true,
|
can_despawn = true,
|
||||||
|
|
|
@ -135,6 +135,7 @@ end
|
||||||
|
|
||||||
-- Tamed wolf (aka “dog”)
|
-- Tamed wolf (aka “dog”)
|
||||||
local dog = table.copy(wolf)
|
local dog = table.copy(wolf)
|
||||||
|
dog.description = S("Dog")
|
||||||
dog.can_despawn = false
|
dog.can_despawn = false
|
||||||
dog.passive = true
|
dog.passive = true
|
||||||
dog.hp_min = 20
|
dog.hp_min = 20
|
||||||
|
|
|
@ -53,7 +53,7 @@ doc.data = {}
|
||||||
doc.data.categories = {}
|
doc.data.categories = {}
|
||||||
doc.data.aliases = {}
|
doc.data.aliases = {}
|
||||||
-- Default order (includes categories of other mods from the Docuentation System modpack)
|
-- Default order (includes categories of other mods from the Docuentation System modpack)
|
||||||
doc.data.category_order = {"basics", "nodes", "tools", "craftitems", "advanced"}
|
doc.data.category_order = {"basics", "nodes", "tools", "craftitems", "advanced", "mobs"}
|
||||||
doc.data.category_count = 0
|
doc.data.category_count = 0
|
||||||
doc.data.players = {}
|
doc.data.players = {}
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,11 @@ function doc_identifier.identify(itemstack, user, pointed_thing)
|
||||||
end
|
end
|
||||||
-- A known registered object
|
-- A known registered object
|
||||||
elseif ro then
|
elseif ro then
|
||||||
doc.show_entry(username, ro.category, ro.entry, true)
|
if doc.entry_exists("mobs", le.name) then
|
||||||
|
doc.show_entry(username, "mobs", le.name, true)
|
||||||
|
else
|
||||||
|
doc.show_entry(username, ro.category, ro.entry, true)
|
||||||
|
end
|
||||||
-- Undefined object (error)
|
-- Undefined object (error)
|
||||||
elseif minetest.registered_entities[le.name] == nil then
|
elseif minetest.registered_entities[le.name] == nil then
|
||||||
show_message(username, "error_unknown", le.name)
|
show_message(username, "error_unknown", le.name)
|
||||||
|
|
|
@ -1136,6 +1136,86 @@ doc.add_category("craftitems", {
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
doc.add_category("mobs", {
|
||||||
|
name = S("Mobs"),
|
||||||
|
description = S("different mobs"),
|
||||||
|
build_formspec = function(data, playername)
|
||||||
|
if data then
|
||||||
|
local datastring = ""
|
||||||
|
|
||||||
|
if data.description then
|
||||||
|
datastring = datastring .. S("Description: @1", data.description)
|
||||||
|
datastring = newline2(datastring)
|
||||||
|
end
|
||||||
|
|
||||||
|
if data.type then
|
||||||
|
datastring = datastring .. S("Type: @1", data.type)
|
||||||
|
datastring = newline2(datastring)
|
||||||
|
end
|
||||||
|
|
||||||
|
if data.spawn_class then
|
||||||
|
datastring = datastring .. S("spawn class: @1", data.spawn_class)
|
||||||
|
datastring = newline2(datastring)
|
||||||
|
end
|
||||||
|
|
||||||
|
if data.jump then
|
||||||
|
datastring = datastring .. S("Can Jump")
|
||||||
|
datastring = newline2(datastring)
|
||||||
|
end
|
||||||
|
|
||||||
|
if data.fly then
|
||||||
|
datastring = datastring .. S("Can Fly")
|
||||||
|
datastring = newline2(datastring)
|
||||||
|
end
|
||||||
|
|
||||||
|
if data.drops then
|
||||||
|
count = 0
|
||||||
|
for _,item in ipairs(data.drops) do
|
||||||
|
count = count + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if count > 0 then
|
||||||
|
datastring = datastring .. S("drops: ")
|
||||||
|
datastring = newline(datastring)
|
||||||
|
|
||||||
|
for _,item in ipairs(data.drops) do
|
||||||
|
local itemDescription = ItemStack(item.name):get_short_description()
|
||||||
|
datastring = datastring .. itemDescription
|
||||||
|
datastring = newline(datastring)
|
||||||
|
end
|
||||||
|
|
||||||
|
datastring = newline2(datastring)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if data.follow then
|
||||||
|
datastring = datastring .. S("follows player when these items are held:")
|
||||||
|
datastring = newline(datastring)
|
||||||
|
|
||||||
|
if type(data.follow) == "string" then
|
||||||
|
datastring = datastring .. data.follow
|
||||||
|
datastring = newline(datastring)
|
||||||
|
else
|
||||||
|
for i=1, #data.follow do
|
||||||
|
local itemstring = data.follow[i]
|
||||||
|
local itemDescription = ItemStack(itemstring):get_short_description()
|
||||||
|
datastring = datastring .. itemDescription
|
||||||
|
datastring = newline(datastring)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
datastring = newline2(datastring)
|
||||||
|
end
|
||||||
|
|
||||||
|
local formstring = doc.widgets.text(datastring, nil, nil, doc.FORMSPEC.ENTRY_WIDTH - 1.2)
|
||||||
|
|
||||||
|
return formstring
|
||||||
|
else
|
||||||
|
return "label[0,1;NO DATA AVALIABLE!]"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
-- Register group definition stuff
|
-- Register group definition stuff
|
||||||
-- More (user-)friendly group names to replace the rather technical names
|
-- More (user-)friendly group names to replace the rather technical names
|
||||||
-- for better understanding
|
-- for better understanding
|
||||||
|
|
Loading…
Reference in New Issue