Merge remote-tracking branch 'upstream/master'
@@ -1,5 +1,5 @@
 | 
			
		||||
 | 
			
		||||
-- transpation and drops
 | 
			
		||||
-- translation and drops
 | 
			
		||||
 | 
			
		||||
local S = minetest.get_translator("mobs_monster")
 | 
			
		||||
 | 
			
		||||
@@ -32,8 +32,8 @@ mobs:register_mob("mobs_monster:fire_spirit", {
 | 
			
		||||
	glow = 14,
 | 
			
		||||
	blood_texture = "fire_basic_flame.png",
 | 
			
		||||
	immune_to = {
 | 
			
		||||
		{"bucket:bucket_water", 1},
 | 
			
		||||
		{"bucket:bucket_river_water", 1},
 | 
			
		||||
		{"bucket:bucket_water", 2},
 | 
			
		||||
		{"bucket:bucket_river_water", 2},
 | 
			
		||||
		{"all"}
 | 
			
		||||
	},
 | 
			
		||||
	makes_footstep_sound = false,
 | 
			
		||||
@@ -48,7 +48,7 @@ mobs:register_mob("mobs_monster:fire_spirit", {
 | 
			
		||||
	jump = true,
 | 
			
		||||
	jump_height = 6,
 | 
			
		||||
	drops = mob_drops,
 | 
			
		||||
	water_damage = 1,
 | 
			
		||||
	water_damage = 4,
 | 
			
		||||
	lava_damage = 0,
 | 
			
		||||
	fire_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
 | 
			
		||||
 | 
			
		||||
		if self.flame_timer < 0.25 then return end
 | 
			
		||||
		if self.flame_timer < 0.1 then return end
 | 
			
		||||
 | 
			
		||||
		self.flame_timer = 0
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						@@ -1,5 +1,6 @@
 | 
			
		||||
 | 
			
		||||
-- transpation and get mod path
 | 
			
		||||
-- translation and mod path
 | 
			
		||||
 | 
			
		||||
local S = minetest.get_translator("mobs_monster")
 | 
			
		||||
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")
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
print ("[MOD] Mobs Monster loaded")
 | 
			
		||||
print ("[MOD] Mobs Redo Monsters loaded")
 | 
			
		||||
 
 | 
			
		||||
@@ -7,14 +7,14 @@ mobs:register_mob("mobs_monster:lava_flan", {
 | 
			
		||||
	type = "monster",
 | 
			
		||||
	passive = false,
 | 
			
		||||
	attack_type = "dogfight",
 | 
			
		||||
	reach = 2,
 | 
			
		||||
	reach = 2.5,
 | 
			
		||||
	damage = 3,
 | 
			
		||||
	hp_min = 10,
 | 
			
		||||
	hp_min = 20,
 | 
			
		||||
	hp_max = 35,
 | 
			
		||||
	armor = 80,
 | 
			
		||||
	collisionbox = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5},
 | 
			
		||||
	visual = "mesh",
 | 
			
		||||
	mesh = "zmobs_lava_flan.x",
 | 
			
		||||
	mesh = "zmobs_lava_flan.b3d",
 | 
			
		||||
	textures = {
 | 
			
		||||
		{"zmobs_lava_flan.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)
 | 
			
		||||
 | 
			
		||||
			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
 | 
			
		||||
 | 
			
		||||
@@ -220,7 +220,7 @@ minetest.register_craft({
 | 
			
		||||
if minetest.get_modpath("toolranks") then
 | 
			
		||||
 | 
			
		||||
	minetest.override_item("mobs:pick_lava", {
 | 
			
		||||
		original_description = "Lava Pickaxe",
 | 
			
		||||
		original_description = S("Lava Pickaxe"),
 | 
			
		||||
		description = toolranks.create_description("Lava Pickaxe", 0, 1),
 | 
			
		||||
		after_use = toolranks.new_afteruse})
 | 
			
		||||
end
 | 
			
		||||
@@ -236,13 +236,13 @@ mobs:register_mob("mobs_monster:obsidian_flan", {
 | 
			
		||||
	arrow = "mobs_monster:obsidian_arrow",
 | 
			
		||||
	reach = 2,
 | 
			
		||||
	damage = 3,
 | 
			
		||||
	hp_min = 10,
 | 
			
		||||
	hp_min = 20,
 | 
			
		||||
	hp_max = 35,
 | 
			
		||||
	armor = 30,
 | 
			
		||||
	visual_size = {x = 0.6, y = 0.6},
 | 
			
		||||
	collisionbox = {-0.3, -0.3, -0.3, 0.3, 0.8, 0.3},
 | 
			
		||||
	visual = "mesh",
 | 
			
		||||
	mesh = "zmobs_lava_flan.x",
 | 
			
		||||
	mesh = "zmobs_lava_flan.b3d",
 | 
			
		||||
	textures = {{"mobs_obsidian_flan.png"}},
 | 
			
		||||
	blood_texture = "default_obsidian.png",
 | 
			
		||||
	makes_footstep_sound = true,
 | 
			
		||||
@@ -270,6 +270,7 @@ mobs:register_mob("mobs_monster:obsidian_flan", {
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- spawn egg
 | 
			
		||||
 | 
			
		||||
mobs:register_egg("mobs_monster:obsidian_flan", S("Obsidian Flan"),
 | 
			
		||||
		"default_obsidian.png", 1)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -35,6 +35,7 @@ Textures by AMMOnym (WTFPL)
 | 
			
		||||
Textures by TenPlus1 (MIT)
 | 
			
		||||
  mobs_stone_monster3.png
 | 
			
		||||
  mobs_fireball.png
 | 
			
		||||
  mobs_obsidian_flan.png
 | 
			
		||||
 | 
			
		||||
Textures by Sirrobzeroone (CC0 1.0 Universal)
 | 
			
		||||
  mobs_stone_monster4.png
 | 
			
		||||
@@ -71,10 +72,12 @@ AspireMint (CC BY-SA 3.0)
 | 
			
		||||
  mobs_spider_snowy.png
 | 
			
		||||
  mobs_spider_grey.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)
 | 
			
		||||
  zmobs_lava_flan.x
 | 
			
		||||
  zmobs_lava_flan.png
 | 
			
		||||
  zmobs_lava_orb.png
 | 
			
		||||
 | 
			
		||||
Sounds by Cyberpangolin (WTFPL) https://forum.minetest.net/viewtopic.php?t=10798
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								locale/mobs_monster.pt_BR.tr
									
									
									
									
									
										Normal 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
									
								
							
							
						
						@@ -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
									
								
							
							
						
						@@ -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
									
								
							
							
						
						@@ -3,7 +3,7 @@ local S = minetest.get_translator("mobs_monster")
 | 
			
		||||
 | 
			
		||||
-- 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
 | 
			
		||||
	min_size = min_size or 0.5
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								spider.lua
									
									
									
									
									
								
							
							
						
						@@ -1,9 +1,9 @@
 | 
			
		||||
-- Translation support
 | 
			
		||||
 | 
			
		||||
local S = minetest.get_translator("mobs_monster")
 | 
			
		||||
 | 
			
		||||
-- helper function
 | 
			
		||||
 | 
			
		||||
local get_velocity = function(self)
 | 
			
		||||
local function get_velocity(self)
 | 
			
		||||
 | 
			
		||||
	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
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local math_cos, math_sin = math.cos, math.sin
 | 
			
		||||
 | 
			
		||||
-- custom spider types
 | 
			
		||||
 | 
			
		||||
local spider_types = {
 | 
			
		||||
@@ -47,7 +49,7 @@ local spider_types = {
 | 
			
		||||
 | 
			
		||||
	{	nodes = {"ethereal:crystal_dirt", "ethereal:crystal_spike"},
 | 
			
		||||
		skins = {"mobs_spider_crystal.png"},
 | 
			
		||||
		docile = true,
 | 
			
		||||
		docile = true, immune_to = {{"ethereal:crystal_spike", 0}},
 | 
			
		||||
		drops = {
 | 
			
		||||
			{name = "farming:string", chance = 1, min = 0, max = 2},
 | 
			
		||||
			{name = "ethereal:crystal_spike", chance = 15, min = 1, max = 2}}
 | 
			
		||||
@@ -66,8 +68,8 @@ mobs:register_mob("mobs_monster:spider", {
 | 
			
		||||
	damage = 3,
 | 
			
		||||
	hp_min = 10,
 | 
			
		||||
	hp_max = 30,
 | 
			
		||||
	armor = 200,
 | 
			
		||||
	collisionbox = {-0.8, -0.5, -0.8, 0.8, 0, 0.8},
 | 
			
		||||
	armor = 100,
 | 
			
		||||
	collisionbox = {-0.7, -0.5, -0.7, 0.7, 0, 0.7},
 | 
			
		||||
	visual_size = {x = 1, y = 1},
 | 
			
		||||
	visual = "mesh",
 | 
			
		||||
	mesh = "mobs_spider.b3d",
 | 
			
		||||
@@ -95,7 +97,7 @@ mobs:register_mob("mobs_monster:spider", {
 | 
			
		||||
	water_damage = 5,
 | 
			
		||||
	lava_damage = 5,
 | 
			
		||||
	light_damage = 0,
 | 
			
		||||
	node_damage = false, -- disable damage_per_second node damage
 | 
			
		||||
--	node_damage = false, -- disable damage_per_second node damage
 | 
			
		||||
	animation = {
 | 
			
		||||
		speed_normal = 15, speed_run = 20,
 | 
			
		||||
		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.immune_to then self.immune_to = tmp.immune_to end
 | 
			
		||||
 | 
			
		||||
				if tmp.shoot then
 | 
			
		||||
					self.attack_type = "dogshoot"
 | 
			
		||||
					self.arrow = "mobs_monster:cobweb"
 | 
			
		||||
@@ -167,8 +171,8 @@ mobs:register_mob("mobs_monster:spider", {
 | 
			
		||||
 | 
			
		||||
		pos.y = pos.y + prop.collisionbox[2] - 0.2
 | 
			
		||||
 | 
			
		||||
		local dir_x = -math.sin(yaw) * (prop.collisionbox[4] + 0.5)
 | 
			
		||||
		local dir_z = math.cos(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 nod = minetest.get_node_or_nil({
 | 
			
		||||
			x = pos.x + dir_x,
 | 
			
		||||
			y = pos.y + 0.5,
 | 
			
		||||
@@ -233,7 +237,7 @@ if not mobs.custom_spawn_monster then
 | 
			
		||||
		max_light = 8,
 | 
			
		||||
		chance = 7000,
 | 
			
		||||
		active_object_count = 1,
 | 
			
		||||
		min_height = 25,
 | 
			
		||||
		min_height = 2,
 | 
			
		||||
		max_height = 31000
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -108,7 +108,8 @@ if not mobs.custom_spawn_monster then
 | 
			
		||||
 | 
			
		||||
	mobs:spawn({
 | 
			
		||||
		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,
 | 
			
		||||
		chance = 7000,
 | 
			
		||||
		max_height = 0
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 891 B  | 
| 
		 Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.2 KiB  | 
| 
		 Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.1 KiB  | 
| 
		 Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.6 KiB  | 
@@ -22,7 +22,7 @@ local tree_types = {
 | 
			
		||||
			{name = "ethereal:frost_leaves", chance = 1, min = 1, max = 2},
 | 
			
		||||
			{name = "ethereal:frost_tree", chance = 2, min = 1, max = 2},
 | 
			
		||||
			{name = "ethereal:crystal_spike", chance = 4, min = 0, max = 2}
 | 
			
		||||
		}
 | 
			
		||||
		}, glow = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{	nodes = {"ethereal:yellowleaves"},
 | 
			
		||||
@@ -32,7 +32,7 @@ local tree_types = {
 | 
			
		||||
			{name = "ethereal:yellowleaves", chance = 1, min = 1, max = 2},
 | 
			
		||||
			{name = "ethereal:yellow_tree_sapling", chance = 2, min = 0, max = 2},
 | 
			
		||||
			{name = "ethereal:golden_apple", chance = 3, min = 0, max = 2}
 | 
			
		||||
		}
 | 
			
		||||
		}, glow = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{	nodes = {"default:acacia_bush_leaves"},
 | 
			
		||||
@@ -121,6 +121,8 @@ mobs:register_mob("mobs_monster:tree_monster", {
 | 
			
		||||
				self.base_texture = 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.explode then
 | 
			
		||||
 
 | 
			
		||||