Merge remote-tracking branch 'upstream/master'

This commit is contained in:
bri cassa 2025-03-20 12:28:17 +01:00
commit 2671360c0d
17 changed files with 88 additions and 3535 deletions

View File

@ -1,5 +1,5 @@
-- transpation and drops -- translation and drops
local S = minetest.get_translator("mobs_monster") local S = minetest.get_translator("mobs_monster")
@ -32,8 +32,8 @@ mobs:register_mob("mobs_monster:fire_spirit", {
glow = 14, glow = 14,
blood_texture = "fire_basic_flame.png", blood_texture = "fire_basic_flame.png",
immune_to = { immune_to = {
{"bucket:bucket_water", 1}, {"bucket:bucket_water", 2},
{"bucket:bucket_river_water", 1}, {"bucket:bucket_river_water", 2},
{"all"} {"all"}
}, },
makes_footstep_sound = false, makes_footstep_sound = false,
@ -48,7 +48,7 @@ mobs:register_mob("mobs_monster:fire_spirit", {
jump = true, jump = true,
jump_height = 6, jump_height = 6,
drops = mob_drops, drops = mob_drops,
water_damage = 1, water_damage = 4,
lava_damage = 0, lava_damage = 0,
fire_damage = 0, fire_damage = 0,
light_damage = 0, light_damage = 0,
@ -67,7 +67,7 @@ mobs:register_mob("mobs_monster:fire_spirit", {
self.flame_timer = (self.flame_timer or 0) + dtime self.flame_timer = (self.flame_timer or 0) + dtime
if self.flame_timer < 0.25 then return end if self.flame_timer < 0.1 then return end
self.flame_timer = 0 self.flame_timer = 0

View File

@ -1,5 +1,6 @@
-- transpation and get mod path -- translation and mod path
local S = minetest.get_translator("mobs_monster") local S = minetest.get_translator("mobs_monster")
local path = minetest.get_modpath(minetest.get_current_modname()) .. "/" local path = minetest.get_modpath(minetest.get_current_modname()) .. "/"
@ -52,4 +53,4 @@ if minetest.get_modpath("lucky_block") then
dofile(path .. "lucky_block.lua") dofile(path .. "lucky_block.lua")
end end
print ("[MOD] Mobs Monster loaded") print ("[MOD] Mobs Redo Monsters loaded")

View File

@ -7,14 +7,14 @@ mobs:register_mob("mobs_monster:lava_flan", {
type = "monster", type = "monster",
passive = false, passive = false,
attack_type = "dogfight", attack_type = "dogfight",
reach = 2, reach = 2.5,
damage = 3, damage = 3,
hp_min = 10, hp_min = 20,
hp_max = 35, hp_max = 35,
armor = 80, armor = 80,
collisionbox = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5}, collisionbox = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5},
visual = "mesh", visual = "mesh",
mesh = "zmobs_lava_flan.x", mesh = "zmobs_lava_flan.b3d",
textures = { textures = {
{"zmobs_lava_flan.png"}, {"zmobs_lava_flan.png"},
{"zmobs_lava_flan2.png"}, {"zmobs_lava_flan2.png"},
@ -178,7 +178,7 @@ function minetest.handle_node_drops(pos, drops, digger)
mobs:effect(pos, 1, "tnt_smoke.png", 3, 5, 2, 0.5, nil, false) mobs:effect(pos, 1, "tnt_smoke.png", 3, 5, 2, 0.5, nil, false)
minetest.sound_play("fire_extinguish_flame", minetest.sound_play("fire_extinguish_flame",
{pos = pos, max_hear_distance = 8, gain = 0.15}, true) {pos = pos, max_hear_distance = 5, gain = 0.05}, true)
end end
end end
@ -220,7 +220,7 @@ minetest.register_craft({
if minetest.get_modpath("toolranks") then if minetest.get_modpath("toolranks") then
minetest.override_item("mobs:pick_lava", { minetest.override_item("mobs:pick_lava", {
original_description = "Lava Pickaxe", original_description = S("Lava Pickaxe"),
description = toolranks.create_description("Lava Pickaxe", 0, 1), description = toolranks.create_description("Lava Pickaxe", 0, 1),
after_use = toolranks.new_afteruse}) after_use = toolranks.new_afteruse})
end end
@ -236,13 +236,13 @@ mobs:register_mob("mobs_monster:obsidian_flan", {
arrow = "mobs_monster:obsidian_arrow", arrow = "mobs_monster:obsidian_arrow",
reach = 2, reach = 2,
damage = 3, damage = 3,
hp_min = 10, hp_min = 20,
hp_max = 35, hp_max = 35,
armor = 30, armor = 30,
visual_size = {x = 0.6, y = 0.6}, visual_size = {x = 0.6, y = 0.6},
collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.8, 0.3}, collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.8, 0.3},
visual = "mesh", visual = "mesh",
mesh = "zmobs_lava_flan.x", mesh = "zmobs_lava_flan.b3d",
textures = {{"mobs_obsidian_flan.png"}}, textures = {{"mobs_obsidian_flan.png"}},
blood_texture = "default_obsidian.png", blood_texture = "default_obsidian.png",
makes_footstep_sound = true, makes_footstep_sound = true,
@ -270,6 +270,7 @@ mobs:register_mob("mobs_monster:obsidian_flan", {
}) })
-- spawn egg -- spawn egg
mobs:register_egg("mobs_monster:obsidian_flan", S("Obsidian Flan"), mobs:register_egg("mobs_monster:obsidian_flan", S("Obsidian Flan"),
"default_obsidian.png", 1) "default_obsidian.png", 1)

View File

@ -35,6 +35,7 @@ Textures by AMMOnym (WTFPL)
Textures by TenPlus1 (MIT) Textures by TenPlus1 (MIT)
mobs_stone_monster3.png mobs_stone_monster3.png
mobs_fireball.png mobs_fireball.png
mobs_obsidian_flan.png
Textures by Sirrobzeroone (CC0 1.0 Universal) Textures by Sirrobzeroone (CC0 1.0 Universal)
mobs_stone_monster4.png mobs_stone_monster4.png
@ -71,10 +72,12 @@ AspireMint (CC BY-SA 3.0)
mobs_spider_snowy.png mobs_spider_snowy.png
mobs_spider_grey.png mobs_spider_grey.png
mobs_spider_crystal.png mobs_spider_crystal.png
zmobs_lava_flan.b3d
zmobs_lava_flan.png
zmobs_lava_flan2.png
zmobs_lava_flan3.png
Zeg9 (CC BY-SA 3.0) Zeg9 (CC BY-SA 3.0)
zmobs_lava_flan.x
zmobs_lava_flan.png
zmobs_lava_orb.png zmobs_lava_orb.png
Sounds by Cyberpangolin (WTFPL) https://forum.minetest.net/viewtopic.php?t=10798 Sounds by Cyberpangolin (WTFPL) https://forum.minetest.net/viewtopic.php?t=10798

View File

@ -0,0 +1,14 @@
# textdomain:mobs_monster
Cobweb=Teia de Aranha
Dirt Monster=Monstro de Terra
Dungeon Master=Mestre das Dungeons
Lava Flan=Pudim de Lava
Lava Pickaxe=Picareta de Lava
Lava orb=Orb de Lava
Mese Monster=Monstro de mese
#Obsidian Flan=Pudim de Obsidian
Oerkki=Oerkki
Sand Monster=Monstro de Areia
Spider=Aranha
Stone Monster=Monstro de pedra
Tree Monster= Arvore Monstro

14
locale/mobs_monster.ru.tr Normal file
View File

@ -0,0 +1,14 @@
# textdomain:mobs_monster
Cobweb=Паутина
Dirt Monster=Земляной Монстр
Dungeon Master=Хозяйн Подземелья
Lava Flan=Лавовый Слизень
Lava Pickaxe=Лавовая Кирка
Lava orb=Лавовая сфера
Mese Monster=Месе Монстр
Obsidian Flan=Обсидиановый Слизень
Oerkki=Дух Ведьмы
Sand Monster=Песочный Монстр
Spider=Паук
Stone Monster=Каменный Монстр
Tree Monster=Древесный Монстр

19
locale/mobs_monster.uk.tr Normal file
View File

@ -0,0 +1,19 @@
# textdomain:mobs_monster
Mobs Monster=Моби Монстри
Add many different monsters into your world.=Додає багато різних монстрів у світ.
Adds many types of monster.=Додає багато різних типів монстрів.
Cobweb=Павутина
Dirt Monster=Земляний монстр
Dungeon Master=Хазяїн печер
Lava Flan=Лавовий слимак
Lava Pickaxe=Лавове кайло
Lava orb=Лавова сфера
Mese Monster=Месе монстр
Obsidian Flan=Обсидіановий слимак
Oerkki=Оерккі
Land Guard=Охоронець землі
Fire Spirit=Вогняний дух
Sand Monster=Пісочний монстр
Spider=Павук
Stone Monster=Кам'яний монстр
Tree Monster=Дерево-монстр

BIN
models/zmobs_lava_flan.b3d Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@ local S = minetest.get_translator("mobs_monster")
-- custom particle effects -- custom particle effects
local effect = function(pos, amount, texture, min_size, max_size, radius, gravity, glow) local function effect(pos, amount, texture, min_size, max_size, radius, gravity, glow)
radius = radius or 2 radius = radius or 2
min_size = min_size or 0.5 min_size = min_size or 0.5

View File

@ -1,9 +1,9 @@
-- Translation support
local S = minetest.get_translator("mobs_monster") local S = minetest.get_translator("mobs_monster")
-- helper function -- helper function
local get_velocity = function(self) local function get_velocity(self)
local v = self.object:get_velocity() local v = self.object:get_velocity()
@ -13,6 +13,8 @@ local get_velocity = function(self)
return (v.x * v.x + v.z * v.z) ^ 0.5 return (v.x * v.x + v.z * v.z) ^ 0.5
end end
local math_cos, math_sin = math.cos, math.sin
-- custom spider types -- custom spider types
local spider_types = { local spider_types = {
@ -47,7 +49,7 @@ local spider_types = {
{ nodes = {"ethereal:crystal_dirt", "ethereal:crystal_spike"}, { nodes = {"ethereal:crystal_dirt", "ethereal:crystal_spike"},
skins = {"mobs_spider_crystal.png"}, skins = {"mobs_spider_crystal.png"},
docile = true, docile = true, immune_to = {{"ethereal:crystal_spike", 0}},
drops = { drops = {
{name = "farming:string", chance = 1, min = 0, max = 2}, {name = "farming:string", chance = 1, min = 0, max = 2},
{name = "ethereal:crystal_spike", chance = 15, min = 1, max = 2}} {name = "ethereal:crystal_spike", chance = 15, min = 1, max = 2}}
@ -66,8 +68,8 @@ mobs:register_mob("mobs_monster:spider", {
damage = 3, damage = 3,
hp_min = 10, hp_min = 10,
hp_max = 30, hp_max = 30,
armor = 200, armor = 100,
collisionbox = {-0.8, -0.5, -0.8, 0.8, 0, 0.8}, collisionbox = {-0.7, -0.5, -0.7, 0.7, 0, 0.7},
visual_size = {x = 1, y = 1}, visual_size = {x = 1, y = 1},
visual = "mesh", visual = "mesh",
mesh = "mobs_spider.b3d", mesh = "mobs_spider.b3d",
@ -95,7 +97,7 @@ mobs:register_mob("mobs_monster:spider", {
water_damage = 5, water_damage = 5,
lava_damage = 5, lava_damage = 5,
light_damage = 0, light_damage = 0,
node_damage = false, -- disable damage_per_second node damage -- node_damage = false, -- disable damage_per_second node damage
animation = { animation = {
speed_normal = 15, speed_run = 20, speed_normal = 15, speed_run = 20,
stand_start = 0, stand_end = 0, stand_start = 0, stand_end = 0,
@ -122,6 +124,8 @@ mobs:register_mob("mobs_monster:spider", {
if tmp.drops then self.drops = tmp.drops end if tmp.drops then self.drops = tmp.drops end
if tmp.immune_to then self.immune_to = tmp.immune_to end
if tmp.shoot then if tmp.shoot then
self.attack_type = "dogshoot" self.attack_type = "dogshoot"
self.arrow = "mobs_monster:cobweb" self.arrow = "mobs_monster:cobweb"
@ -167,8 +171,8 @@ mobs:register_mob("mobs_monster:spider", {
pos.y = pos.y + prop.collisionbox[2] - 0.2 pos.y = pos.y + prop.collisionbox[2] - 0.2
local dir_x = -math.sin(yaw) * (prop.collisionbox[4] + 0.5) local dir_x = -math_sin(yaw) * (prop.collisionbox[4] + 0.5)
local dir_z = math.cos(yaw) * (prop.collisionbox[4] + 0.5) local dir_z = math_cos(yaw) * (prop.collisionbox[4] + 0.5)
local nod = minetest.get_node_or_nil({ local nod = minetest.get_node_or_nil({
x = pos.x + dir_x, x = pos.x + dir_x,
y = pos.y + 0.5, y = pos.y + 0.5,
@ -233,7 +237,7 @@ if not mobs.custom_spawn_monster then
max_light = 8, max_light = 8,
chance = 7000, chance = 7000,
active_object_count = 1, active_object_count = 1,
min_height = 25, min_height = 2,
max_height = 31000 max_height = 31000
}) })

View File

@ -108,7 +108,8 @@ if not mobs.custom_spawn_monster then
mobs:spawn({ mobs:spawn({
name = "mobs_monster:stone_monster", name = "mobs_monster:stone_monster",
nodes = {"default:stone", "default:desert_stone", "default:sandstone"}, nodes = {"default:stone", "default:desert_stone", "default:sandstone",
"default:permafrost_with_stones"},
max_light = 7, max_light = 7,
chance = 7000, chance = 7000,
max_height = 0 max_height = 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 B

After

Width:  |  Height:  |  Size: 891 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -22,7 +22,7 @@ local tree_types = {
{name = "ethereal:frost_leaves", chance = 1, min = 1, max = 2}, {name = "ethereal:frost_leaves", chance = 1, min = 1, max = 2},
{name = "ethereal:frost_tree", chance = 2, min = 1, max = 2}, {name = "ethereal:frost_tree", chance = 2, min = 1, max = 2},
{name = "ethereal:crystal_spike", chance = 4, min = 0, max = 2} {name = "ethereal:crystal_spike", chance = 4, min = 0, max = 2}
} }, glow = 1
}, },
{ nodes = {"ethereal:yellowleaves"}, { nodes = {"ethereal:yellowleaves"},
@ -32,7 +32,7 @@ local tree_types = {
{name = "ethereal:yellowleaves", chance = 1, min = 1, max = 2}, {name = "ethereal:yellowleaves", chance = 1, min = 1, max = 2},
{name = "ethereal:yellow_tree_sapling", chance = 2, min = 0, max = 2}, {name = "ethereal:yellow_tree_sapling", chance = 2, min = 0, max = 2},
{name = "ethereal:golden_apple", chance = 3, min = 0, max = 2} {name = "ethereal:golden_apple", chance = 3, min = 0, max = 2}
} }, glow = 1
}, },
{ nodes = {"default:acacia_bush_leaves"}, { nodes = {"default:acacia_bush_leaves"},
@ -121,6 +121,8 @@ mobs:register_mob("mobs_monster:tree_monster", {
self.base_texture = tmp.skins self.base_texture = tmp.skins
self.object:set_properties({textures = tmp.skins}) self.object:set_properties({textures = tmp.skins})
if tmp.glow then self.object:set_properties({glow = tmp.glow}) end
if tmp.drops then self.drops = tmp.drops end if tmp.drops then self.drops = tmp.drops end
if tmp.explode then if tmp.explode then