From ae0eb85ffca4adbfac955dfd24e19c08f477f6b0 Mon Sep 17 00:00:00 2001 From: cora Date: Tue, 5 Jul 2022 03:49:46 +0200 Subject: [PATCH 1/8] Add salmon, cod and dolphin from mcl5 --- mods/ENTITIES/mcl_mobs/spawning.lua | 15 +- mods/ENTITIES/mobs_mc/cod.lua | 272 ++++++++++++++++++ mods/ENTITIES/mobs_mc/dolphin.lua | 252 ++++++++++++++++ mods/ENTITIES/mobs_mc/init.lua | 4 + .../mobs_mc/models/extra_mobs_cod.b3d | Bin 0 -> 9471 bytes .../mobs_mc/models/extra_mobs_dolphin.b3d | Bin 0 -> 30572 bytes .../mobs_mc/models/extra_mobs_salmon.b3d | Bin 0 -> 253657 bytes mods/ENTITIES/mobs_mc/salmon.lua | 227 +++++++++++++++ mods/ENTITIES/mobs_mc/squid.lua | 11 - .../mobs_mc/textures/extra_mobs_cod.png | Bin 0 -> 766 bytes .../mobs_mc/textures/extra_mobs_dolphin.png | Bin 0 -> 6359 bytes .../mobs_mc/textures/extra_mobs_salmon.png | Bin 0 -> 830 bytes .../textures/extra_mobs_spawn_icon_cod.png | Bin 0 -> 5897 bytes .../extra_mobs_spawn_icon_dolphin.png | Bin 0 -> 6551 bytes .../textures/extra_mobs_spawn_icon_salmon.png | Bin 0 -> 6264 bytes 15 files changed, 769 insertions(+), 12 deletions(-) create mode 100644 mods/ENTITIES/mobs_mc/cod.lua create mode 100644 mods/ENTITIES/mobs_mc/dolphin.lua create mode 100644 mods/ENTITIES/mobs_mc/models/extra_mobs_cod.b3d create mode 100644 mods/ENTITIES/mobs_mc/models/extra_mobs_dolphin.b3d create mode 100644 mods/ENTITIES/mobs_mc/models/extra_mobs_salmon.b3d create mode 100644 mods/ENTITIES/mobs_mc/salmon.lua create mode 100644 mods/ENTITIES/mobs_mc/textures/extra_mobs_cod.png create mode 100644 mods/ENTITIES/mobs_mc/textures/extra_mobs_dolphin.png create mode 100644 mods/ENTITIES/mobs_mc/textures/extra_mobs_salmon.png create mode 100644 mods/ENTITIES/mobs_mc/textures/extra_mobs_spawn_icon_cod.png create mode 100644 mods/ENTITIES/mobs_mc/textures/extra_mobs_spawn_icon_dolphin.png create mode 100644 mods/ENTITIES/mobs_mc/textures/extra_mobs_spawn_icon_salmon.png diff --git a/mods/ENTITIES/mcl_mobs/spawning.lua b/mods/ENTITIES/mcl_mobs/spawning.lua index faad27537..f8c94afb6 100644 --- a/mods/ENTITIES/mcl_mobs/spawning.lua +++ b/mods/ENTITIES/mcl_mobs/spawning.lua @@ -379,6 +379,13 @@ local function is_farm_animal(n) return n == "mobs_mc:pig" or n == "mobs_mc:cow" or n == "mobs_mc:sheep" or n == "mobs_mc:chicken" or n == "mobs_mc:horse" or n == "mobs_mc:donkey" end +local function get_water_spawn(p) + local nn = minetest.find_nodes_in_area(vector.offset(p,-2,-1,-2),vector.offset(p,2,-15,2),{"group:water"}) + if nn and #nn > 0 then + return nn[math.random(#nn)] + end +end + if mobs_spawn then local perlin_noise @@ -453,8 +460,14 @@ if mobs_spawn then and (mob_def.check_position and mob_def.check_position(spawning_position) or true) and (not is_farm_animal(mob_def.name) or is_grass) and (mob_type ~= "npc" or has_bed) - and (mob_def.type_of_spawning ~= water or is_water) + and (mob_def.type_of_spawning ~= "water" or is_water) then + if mob_def.type_of_spawning == "water" then + spawning_position = get_water_spawn(spawning_position) + if not spawning_position then + return + end + end --everything is correct, spawn mob local object = minetest.add_entity(spawning_position, mob_def.name) if object then diff --git a/mods/ENTITIES/mobs_mc/cod.lua b/mods/ENTITIES/mobs_mc/cod.lua new file mode 100644 index 000000000..96c9927c5 --- /dev/null +++ b/mods/ENTITIES/mobs_mc/cod.lua @@ -0,0 +1,272 @@ +--MCmobs v0.4 +--maikerumine +--made for MC like Survival game +--License for code WTFPL and otherwise stated in readmes + +local pi = math.pi +local atann = math.atan +local atan = function(x) + if not x or x ~= x then + return 0 + else + return atann(x) + end +end + +local dir_to_pitch = function(dir) + local dir2 = vector.normalize(dir) + local xz = math.abs(dir.x) + math.abs(dir.z) + return -math.atan2(-dir.y, xz) +end + +local function degrees(rad) + return rad * 180.0 / math.pi +end + +local S = minetest.get_translator("extra_mobs") + +--################### +--################### cod +--################### + +local cod = { + type = "animal", + spawn_class = "water", + can_despawn = true, + passive = true, + hp_min = 3, + hp_max = 3, + xp_min = 1, + xp_max = 3, + armor = 100, + rotate = 180, + tilt_swim = true, + collisionbox = {-0.3, 0.0, -0.3, 0.3, 0.79, 0.3}, + visual = "mesh", + mesh = "extra_mobs_cod.b3d", + textures = { + {"extra_mobs_cod.png"} + }, + sounds = { + }, + animation = { + stand_start = 1, + stand_end = 20, + walk_start = 1, + walk_end = 20, + run_start = 1, + run_end = 20, + }, + drops = { + {name = "mcl_fishing:fish_raw", + chance = 1, + min = 1, + max = 1,}, + {name = "mcl_dye:white", + chance = 20, + min = 1, + max = 1,}, + }, + visual_size = {x=3, y=3}, + makes_footstep_sound = false, + fly = true, + fly_in = { "mcl_core:water_source", "mclx_core:river_water_source" }, + breathes_in_water = true, + jump = false, + view_range = 16, + runaway = true, + fear_height = 4, + do_custom = function(self) + --[[ this is supposed to make them jump out the water but doesn't appear to work very well + self.object:set_bone_position("body", vector.new(0,1,0), vector.new(degrees(dir_to_pitch(self.object:get_velocity())) * -1 + 90,0,0)) + if minetest.get_item_group(self.standing_in, "water") ~= 0 then + if self.object:get_velocity().y < 5 then + self.object:add_velocity({ x = 0 , y = math.random(-.007, .007), z = 0 }) + end + end +--]] + for _,object in pairs(minetest.get_objects_inside_radius(self.object:get_pos(), 10)) do + local lp = object:get_pos() + local s = self.object:get_pos() + local vec = { + x = lp.x - s.x, + y = lp.y - s.y, + z = lp.z - s.z + } + if object and not object:is_player() and object:get_luaentity() and object:get_luaentity().name == "mobs_mc:cod" then + self.state = "runaway" + self.object:set_rotation({x=0,y=(atan(vec.z / vec.x) + 3 * pi / 2) - self.rotate,z=0}) + end + end + end, + on_rightclick = function(self, clicker) + if clicker:get_wielded_item():get_name() == "mcl_buckets:bucket_water" then + --self.object:remove() + --clicker:set_wielded_item("mcl_fishing:bucket_cod") + --awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing") + end + end +} + +mcl_mobs:register_mob("mobs_mc:cod", cod) + + +--spawning TODO: in schools + +local water = 0 + +mcl_mobs:spawn_specific( +"mobs_mc:cod", +"overworld", +"water", +{ +"Mesa", +"FlowerForest", +"Swampland", +"Taiga", +"ExtremeHills", +"Jungle", +"Savanna", +"BirchForest", +"MegaSpruceTaiga", +"MegaTaiga", +"ExtremeHills+", +"Forest", +"Plains", +"Desert", +"ColdTaiga", +"MushroomIsland", +"IcePlainsSpikes", +"SunflowerPlains", +"IcePlains", +"RoofedForest", +"ExtremeHills+_snowtop", +"MesaPlateauFM_grasstop", +"JungleEdgeM", +"ExtremeHillsM", +"JungleM", +"BirchForestM", +"MesaPlateauF", +"MesaPlateauFM", +"MesaPlateauF_grasstop", +"MesaBryce", +"JungleEdge", +"SavannaM", +"FlowerForest_beach", +"Forest_beach", +"StoneBeach", +"ColdTaiga_beach_water", +"Taiga_beach", +"Savanna_beach", +"Plains_beach", +"ExtremeHills_beach", +"ColdTaiga_beach", +"Swampland_shore", +"MushroomIslandShore", +"JungleM_shore", +"Jungle_shore", +"MesaPlateauFM_sandlevel", +"MesaPlateauF_sandlevel", +"MesaBryce_sandlevel", +"Mesa_sandlevel", +"RoofedForest_ocean", +"JungleEdgeM_ocean", +"BirchForestM_ocean", +"BirchForest_ocean", +"IcePlains_deep_ocean", +"Jungle_deep_ocean", +"Savanna_ocean", +"MesaPlateauF_ocean", +"ExtremeHillsM_deep_ocean", +"Savanna_deep_ocean", +"SunflowerPlains_ocean", +"Swampland_deep_ocean", +"Swampland_ocean", +"MegaSpruceTaiga_deep_ocean", +"ExtremeHillsM_ocean", +"JungleEdgeM_deep_ocean", +"SunflowerPlains_deep_ocean", +"BirchForest_deep_ocean", +"IcePlainsSpikes_ocean", +"Mesa_ocean", +"StoneBeach_ocean", +"Plains_deep_ocean", +"JungleEdge_deep_ocean", +"SavannaM_deep_ocean", +"Desert_deep_ocean", +"Mesa_deep_ocean", +"ColdTaiga_deep_ocean", +"Plains_ocean", +"MesaPlateauFM_ocean", +"Forest_deep_ocean", +"JungleM_deep_ocean", +"FlowerForest_deep_ocean", +"MushroomIsland_ocean", +"MegaTaiga_ocean", +"StoneBeach_deep_ocean", +"IcePlainsSpikes_deep_ocean", +"ColdTaiga_ocean", +"SavannaM_ocean", +"MesaPlateauF_deep_ocean", +"MesaBryce_deep_ocean", +"ExtremeHills+_deep_ocean", +"ExtremeHills_ocean", +"MushroomIsland_deep_ocean", +"Forest_ocean", +"MegaTaiga_deep_ocean", +"JungleEdge_ocean", +"MesaBryce_ocean", +"MegaSpruceTaiga_ocean", +"ExtremeHills+_ocean", +"Jungle_ocean", +"RoofedForest_deep_ocean", +"IcePlains_ocean", +"FlowerForest_ocean", +"ExtremeHills_deep_ocean", +"MesaPlateauFM_deep_ocean", +"Desert_ocean", +"Taiga_ocean", +"BirchForestM_deep_ocean", +"Taiga_deep_ocean", +"JungleM_ocean", +"FlowerForest_underground", +"JungleEdge_underground", +"StoneBeach_underground", +"MesaBryce_underground", +"Mesa_underground", +"RoofedForest_underground", +"Jungle_underground", +"Swampland_underground", +"MushroomIsland_underground", +"BirchForest_underground", +"Plains_underground", +"MesaPlateauF_underground", +"ExtremeHills_underground", +"MegaSpruceTaiga_underground", +"BirchForestM_underground", +"SavannaM_underground", +"MesaPlateauFM_underground", +"Desert_underground", +"Savanna_underground", +"Forest_underground", +"SunflowerPlains_underground", +"ColdTaiga_underground", +"IcePlains_underground", +"IcePlainsSpikes_underground", +"MegaTaiga_underground", +"Taiga_underground", +"ExtremeHills+_underground", +"JungleM_underground", +"ExtremeHillsM_underground", +"JungleEdgeM_underground", +}, +0, +minetest.LIGHT_MAX+1, +30, +4000, +3, +water-16, +water+1) + +--spawn egg +mcl_mobs:register_egg("mobs_mc:cod", S("Cod"), "extra_mobs_spawn_icon_cod.png", 0) diff --git a/mods/ENTITIES/mobs_mc/dolphin.lua b/mods/ENTITIES/mobs_mc/dolphin.lua new file mode 100644 index 000000000..f991e7495 --- /dev/null +++ b/mods/ENTITIES/mobs_mc/dolphin.lua @@ -0,0 +1,252 @@ +--MCmobs v0.4 +--maikerumine +--made for MC like Survival game +--License for code WTFPL and otherwise stated in readmes + +local pi = math.pi +local atann = math.atan +local atan = function(x) + if not x or x ~= x then + return 0 + else + return atann(x) + end +end + +local dir_to_pitch = function(dir) + local dir2 = vector.normalize(dir) + local xz = math.abs(dir.x) + math.abs(dir.z) + return -math.atan2(-dir.y, xz) +end + +local function degrees(rad) + return rad * 180.0 / math.pi +end + +local S = minetest.get_translator("extra_mobs") + +--################### +--################### dolphin +--################### + +local dolphin = { + type = "monster", + spawn_class = "water", + can_despawn = true, + passive = true, + hp_min = 10, + hp_max = 10, + xp_min = 1, + xp_max = 3, + armor = 100, + walk_chance = 100, + breath_max = 120, + rotate = 180, + tilt_swim = true, + collisionbox = {-0.3, 0.0, -0.3, 0.3, 0.79, 0.3}, + visual = "mesh", + mesh = "extra_mobs_dolphin.b3d", + textures = { + {"extra_mobs_dolphin.png"} + }, + sounds = { + }, + animation = { + stand_start = 20, + stand_end = 20, + walk_start = 0, + walk_end = 15, + run_start = 30, + run_end = 45, + }, + drops = { + {name = "mcl_fishing:fish_raw", + chance = 1, + min = 0, + max = 1,}, + }, + visual_size = {x=3, y=3}, + makes_footstep_sound = false, + fly = true, + fly_in = { "mcl_core:water_source", "mclx_core:river_water_source" }, + breathes_in_water = true, + jump = false, + view_range = 16, + fear_height = 4, + walk_velocity = 3, + run_velocity = 6, + reach = 2, + damage = 2.5, + attack_type = "dogfight", + do_custom = function(self,dtime) + --[[ this is supposed to make them jump out the water but doesn't appear to work very well + self.object:set_bone_position("body", vector.new(0,1,0), vector.new(degrees(dir_to_pitch(self.object:get_velocity())) * -1 + 90,0,0)) + if minetest.get_item_group(self.standing_in, "water") ~= 0 then + if self.object:get_velocity().y < 5 then + self.object:add_velocity({ x = 0 , y = math.random(-.007, .007), z = 0 }) + end + end + --]] + end, +} + +mcl_mobs:register_mob("mobs_mc:dolphin", dolphin) + + +--spawning TO DO: in schools +local water = 0 +mcl_mobs:spawn_specific( +"mobs_mc:dolphin", +"overworld", +"water", +{ +"Mesa", +"FlowerForest", +"Swampland", +"Taiga", +"ExtremeHills", +"Jungle", +"Savanna", +"BirchForest", +"MegaSpruceTaiga", +"MegaTaiga", +"ExtremeHills+", +"Forest", +"Plains", +"Desert", +"ColdTaiga", +"MushroomIsland", +"IcePlainsSpikes", +"SunflowerPlains", +"IcePlains", +"RoofedForest", +"ExtremeHills+_snowtop", +"MesaPlateauFM_grasstop", +"JungleEdgeM", +"ExtremeHillsM", +"JungleM", +"BirchForestM", +"MesaPlateauF", +"MesaPlateauFM", +"MesaPlateauF_grasstop", +"MesaBryce", +"JungleEdge", +"SavannaM", +"FlowerForest_beach", +"Forest_beach", +"StoneBeach", +"ColdTaiga_beach_water", +"Taiga_beach", +"Savanna_beach", +"Plains_beach", +"ExtremeHills_beach", +"ColdTaiga_beach", +"Swampland_shore", +"MushroomIslandShore", +"JungleM_shore", +"Jungle_shore", +"MesaPlateauFM_sandlevel", +"MesaPlateauF_sandlevel", +"MesaBryce_sandlevel", +"Mesa_sandlevel", +"RoofedForest_ocean", +"JungleEdgeM_ocean", +"BirchForestM_ocean", +"BirchForest_ocean", +"IcePlains_deep_ocean", +"Jungle_deep_ocean", +"Savanna_ocean", +"MesaPlateauF_ocean", +"ExtremeHillsM_deep_ocean", +"Savanna_deep_ocean", +"SunflowerPlains_ocean", +"Swampland_deep_ocean", +"Swampland_ocean", +"MegaSpruceTaiga_deep_ocean", +"ExtremeHillsM_ocean", +"JungleEdgeM_deep_ocean", +"SunflowerPlains_deep_ocean", +"BirchForest_deep_ocean", +"IcePlainsSpikes_ocean", +"Mesa_ocean", +"StoneBeach_ocean", +"Plains_deep_ocean", +"JungleEdge_deep_ocean", +"SavannaM_deep_ocean", +"Desert_deep_ocean", +"Mesa_deep_ocean", +"ColdTaiga_deep_ocean", +"Plains_ocean", +"MesaPlateauFM_ocean", +"Forest_deep_ocean", +"JungleM_deep_ocean", +"FlowerForest_deep_ocean", +"MushroomIsland_ocean", +"MegaTaiga_ocean", +"StoneBeach_deep_ocean", +"IcePlainsSpikes_deep_ocean", +"ColdTaiga_ocean", +"SavannaM_ocean", +"MesaPlateauF_deep_ocean", +"MesaBryce_deep_ocean", +"ExtremeHills+_deep_ocean", +"ExtremeHills_ocean", +"MushroomIsland_deep_ocean", +"Forest_ocean", +"MegaTaiga_deep_ocean", +"JungleEdge_ocean", +"MesaBryce_ocean", +"MegaSpruceTaiga_ocean", +"ExtremeHills+_ocean", +"Jungle_ocean", +"RoofedForest_deep_ocean", +"IcePlains_ocean", +"FlowerForest_ocean", +"ExtremeHills_deep_ocean", +"MesaPlateauFM_deep_ocean", +"Desert_ocean", +"Taiga_ocean", +"BirchForestM_deep_ocean", +"Taiga_deep_ocean", +"JungleM_ocean", +"FlowerForest_underground", +"JungleEdge_underground", +"StoneBeach_underground", +"MesaBryce_underground", +"Mesa_underground", +"RoofedForest_underground", +"Jungle_underground", +"Swampland_underground", +"MushroomIsland_underground", +"BirchForest_underground", +"Plains_underground", +"MesaPlateauF_underground", +"ExtremeHills_underground", +"MegaSpruceTaiga_underground", +"BirchForestM_underground", +"SavannaM_underground", +"MesaPlateauFM_underground", +"Desert_underground", +"Savanna_underground", +"Forest_underground", +"SunflowerPlains_underground", +"ColdTaiga_underground", +"IcePlains_underground", +"IcePlainsSpikes_underground", +"MegaTaiga_underground", +"Taiga_underground", +"ExtremeHills+_underground", +"JungleM_underground", +"ExtremeHillsM_underground", +"JungleEdgeM_underground", +}, +0, +minetest.LIGHT_MAX+1, +30, +4000, +3, +water-16, +water+1) + +--spawn egg +mcl_mobs:register_egg("mobs_mc:dolphin", S("Dolphin"), "extra_mobs_spawn_icon_dolphin.png", 0) diff --git a/mods/ENTITIES/mobs_mc/init.lua b/mods/ENTITIES/mobs_mc/init.lua index 02f5023a5..5be1af71c 100644 --- a/mods/ENTITIES/mobs_mc/init.lua +++ b/mods/ENTITIES/mobs_mc/init.lua @@ -142,3 +142,7 @@ dofile(path .. "/slime+magma_cube.lua") -- Wuzzy dofile(path .. "/spider.lua") -- Spider by AspireMint (fishyWET (CC-BY-SA 3.0 license for texture) dofile(path .. "/vex.lua") -- KrupnoPavel dofile(path .. "/wither.lua") -- Mesh and animation by toby109tt / https://github.com/22i + +dofile(path .. "/cod.lua") +dofile(path .. "/salmon.lua") +dofile(path .. "/dolphin.lua") diff --git a/mods/ENTITIES/mobs_mc/models/extra_mobs_cod.b3d b/mods/ENTITIES/mobs_mc/models/extra_mobs_cod.b3d new file mode 100644 index 0000000000000000000000000000000000000000..c7e60e12c17e95ffd9aa609a81b0fe00622b138d GIT binary patch literal 9471 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 RYa&nXb3SZRmH)@S{SS~X`LX~2 literal 0 HcmV?d00001 diff --git a/mods/ENTITIES/mobs_mc/models/extra_mobs_dolphin.b3d b/mods/ENTITIES/mobs_mc/models/extra_mobs_dolphin.b3d new file mode 100644 index 0000000000000000000000000000000000000000..37e2e96ae57faf522eafa980c991683e69ac60ff GIT binary patch literal 30572 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 OrZj8{FxL6Prv3+=Qh|^F literal 0 HcmV?d00001 diff --git a/mods/ENTITIES/mobs_mc/salmon.lua b/mods/ENTITIES/mobs_mc/salmon.lua new file mode 100644 index 000000000..bf730907c --- /dev/null +++ b/mods/ENTITIES/mobs_mc/salmon.lua @@ -0,0 +1,227 @@ +--MCmobs v0.4 +--maikerumine +--made for MC like Survival game +--License for code WTFPL and otherwise stated in readmes + +local S = minetest.get_translator("extra_mobs") + +--################### +--################### salmon +--################### + +local salmon = { + type = "animal", + spawn_class = "water", + can_despawn = true, + passive = true, + hp_min = 3, + hp_max = 3, + xp_min = 1, + xp_max = 3, + armor = 100, + tilt_swim = true, + collisionbox = {-0.4, 0.0, -0.4, 0.4, 0.79, 0.4}, + visual = "mesh", + mesh = "extra_mobs_salmon.b3d", + textures = { + {"extra_mobs_salmon.png"} + }, + sounds = { + }, + animation = { + stand_start = 1, + stand_end = 20, + walk_start = 1, + walk_end = 20, + run_start = 1, + run_end = 20, + }, + drops = { + {name = "mcl_fishing:salmon_raw", + chance = 1, + min = 1, + max = 1,}, + {name = "mcl_dye:white", + chance = 20, + min = 1, + max = 1,}, + }, + visual_size = {x=3, y=3}, + makes_footstep_sound = false, + swim = true, + fly = true, + fly_in = "mcl_core:water_source", + breathes_in_water = true, + jump = false, + view_range = 16, + runaway = true, + fear_height = 4, + on_rightclick = function(self, clicker) + if clicker:get_wielded_item():get_name() == "mcl_buckets:bucket_water" then + --self.object:remove() + --clicker:set_wielded_item("mcl_fishing:bucket_salmon") + --awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing") + end + end +} + +mcl_mobs:register_mob("mobs_mc:salmon", salmon) + + +--spawning TODO: in schools +local water = 0 +mcl_mobs:spawn_specific( +"mobs_mc:salmon", +"overworld", +"water", +{ +"Mesa", +"FlowerForest", +"Swampland", +"Taiga", +"ExtremeHills", +"Jungle", +"Savanna", +"BirchForest", +"MegaSpruceTaiga", +"MegaTaiga", +"ExtremeHills+", +"Forest", +"Plains", +"Desert", +"ColdTaiga", +"MushroomIsland", +"IcePlainsSpikes", +"SunflowerPlains", +"IcePlains", +"RoofedForest", +"ExtremeHills+_snowtop", +"MesaPlateauFM_grasstop", +"JungleEdgeM", +"ExtremeHillsM", +"JungleM", +"BirchForestM", +"MesaPlateauF", +"MesaPlateauFM", +"MesaPlateauF_grasstop", +"MesaBryce", +"JungleEdge", +"SavannaM", +"FlowerForest_beach", +"Forest_beach", +"StoneBeach", +"ColdTaiga_beach_water", +"Taiga_beach", +"Savanna_beach", +"Plains_beach", +"ExtremeHills_beach", +"ColdTaiga_beach", +"Swampland_shore", +"MushroomIslandShore", +"JungleM_shore", +"Jungle_shore", +"MesaPlateauFM_sandlevel", +"MesaPlateauF_sandlevel", +"MesaBryce_sandlevel", +"Mesa_sandlevel", +"RoofedForest_ocean", +"JungleEdgeM_ocean", +"BirchForestM_ocean", +"BirchForest_ocean", +"IcePlains_deep_ocean", +"Jungle_deep_ocean", +"Savanna_ocean", +"MesaPlateauF_ocean", +"ExtremeHillsM_deep_ocean", +"Savanna_deep_ocean", +"SunflowerPlains_ocean", +"Swampland_deep_ocean", +"Swampland_ocean", +"MegaSpruceTaiga_deep_ocean", +"ExtremeHillsM_ocean", +"JungleEdgeM_deep_ocean", +"SunflowerPlains_deep_ocean", +"BirchForest_deep_ocean", +"IcePlainsSpikes_ocean", +"Mesa_ocean", +"StoneBeach_ocean", +"Plains_deep_ocean", +"JungleEdge_deep_ocean", +"SavannaM_deep_ocean", +"Desert_deep_ocean", +"Mesa_deep_ocean", +"ColdTaiga_deep_ocean", +"Plains_ocean", +"MesaPlateauFM_ocean", +"Forest_deep_ocean", +"JungleM_deep_ocean", +"FlowerForest_deep_ocean", +"MushroomIsland_ocean", +"MegaTaiga_ocean", +"StoneBeach_deep_ocean", +"IcePlainsSpikes_deep_ocean", +"ColdTaiga_ocean", +"SavannaM_ocean", +"MesaPlateauF_deep_ocean", +"MesaBryce_deep_ocean", +"ExtremeHills+_deep_ocean", +"ExtremeHills_ocean", +"MushroomIsland_deep_ocean", +"Forest_ocean", +"MegaTaiga_deep_ocean", +"JungleEdge_ocean", +"MesaBryce_ocean", +"MegaSpruceTaiga_ocean", +"ExtremeHills+_ocean", +"Jungle_ocean", +"RoofedForest_deep_ocean", +"IcePlains_ocean", +"FlowerForest_ocean", +"ExtremeHills_deep_ocean", +"MesaPlateauFM_deep_ocean", +"Desert_ocean", +"Taiga_ocean", +"BirchForestM_deep_ocean", +"Taiga_deep_ocean", +"JungleM_ocean", +"FlowerForest_underground", +"JungleEdge_underground", +"StoneBeach_underground", +"MesaBryce_underground", +"Mesa_underground", +"RoofedForest_underground", +"Jungle_underground", +"Swampland_underground", +"MushroomIsland_underground", +"BirchForest_underground", +"Plains_underground", +"MesaPlateauF_underground", +"ExtremeHills_underground", +"MegaSpruceTaiga_underground", +"BirchForestM_underground", +"SavannaM_underground", +"MesaPlateauFM_underground", +"Desert_underground", +"Savanna_underground", +"Forest_underground", +"SunflowerPlains_underground", +"ColdTaiga_underground", +"IcePlains_underground", +"IcePlainsSpikes_underground", +"MegaTaiga_underground", +"Taiga_underground", +"ExtremeHills+_underground", +"JungleM_underground", +"ExtremeHillsM_underground", +"JungleEdgeM_underground", +}, +0, +minetest.LIGHT_MAX+1, +30, +4000, +3, +water-16, +water+1) + +--spawn egg +mcl_mobs:register_egg("mobs_mc:salmon", S("Salmon"), "extra_mobs_spawn_icon_salmon.png", 0) diff --git a/mods/ENTITIES/mobs_mc/squid.lua b/mods/ENTITIES/mobs_mc/squid.lua index f4ca0521a..86b80976e 100644 --- a/mods/ENTITIES/mobs_mc/squid.lua +++ b/mods/ENTITIES/mobs_mc/squid.lua @@ -55,17 +55,6 @@ mcl_mobs:register_mob("mobs_mc:squid", { view_range = 16, runaway = true, fear_height = 4, - on_spawn = function(self) - --make sure squids always spawn in water (and at variable heights) - --can be removed once this is provided by the api - local p = self.object:get_pos() - local nn = minetest.find_nodes_in_area(vector.offset(p,-2,-1,-2),vector.offset(p,2,-15,2),{"group:water"}) - if nn and #nn > 0 then - self.object:set_pos(nn[math.random(#nn)]) - else - self.object:remove() - end - end, }) -- TODO: Behaviour: squirt diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_cod.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_cod.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6f6dea9c3bd179b4edd57b08c5216884e3c9f3 GIT binary patch literal 766 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FTR01FTSts}j400007bV*G`2jm72 z3nLQW9k{~)00MqVL_t(o!|j*POB7)k$3GK`N(fsshlD+>bI{mCMHWH4?5$8tLcv3~ z@)CidutNO>76l%J=&}YLJP3)XD3uUGnjouen=QLW>p+Won70;|SiQU*)|qzp7eUA7 za~XKv=hypv<{jo$0GdOS5+E-G04MQ?0uY**l>o_&Er%VTseM!e=v@H-KF)<5F)wc_ zO5c+&Qqxo#{nr4<8K;=0VExez<-uDi0X$Z5fCg1X(^PydQ!={vSShxbV%gIB35R`i z`o01XmWbr&ds@0(l|OddADg&@+x%LrE(~UWjr9Y6X=lpmzmG?SbPx_9*}lBkS_#k6&~KTZu(e%6xbjPjT`7!EOLLgRu1Kjh#IGDb1aGx9qjG<=sL| z4fU4h-f^Biqt07TaA-;b?0-mbo;@RdV4%180k~9JJQhu{w!Dkpq1(yy4xP2-U1HG` z0R4mAwi3movX~DKqqq5$k+A{0i8^mR=h-tx#s<*a{K|ZIxbO}nw^Nv=VBz8`rD-ar zDaaXr=4|=o43+Jboid+f<=M-HnN>_vaI{#Me{*P3F3hZQy|-0XI+89fE-o%EE-o(r wCx7*0`1E~T8sENi@cG!jVp})ef2=Qm1Abd4&vxUD?*IS*07*qoM6N<$g8kG|3;+NC literal 0 HcmV?d00001 diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_dolphin.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_dolphin.png new file mode 100644 index 0000000000000000000000000000000000000000..babbea7ef03ad1da3ad4dfe63588c39edbdf75ee GIT binary patch literal 6359 zcmV;|7%1n7P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=TImLofIME|i0Eg>)i%fWb#cF@b$HGs(+s;bqm zTl#yMr;;Qh0&w_XZU&ZF|M>51{)?aJ;$uS0CDoK3enJh^HQtox{@hplg!A|Ogx4iL ze;YUN3yvYrtG^%9dfnd`kDm|Z*8{eHA2)ft<|(ga|4fStoZDz8wA7Re17eA+4$_5vP~`NNy9kKgFQ3NaUu*8m^Ycf6^+YfpHy1Y8 zo_?q3(SGKZKXLX?G~60qC2jM3O@ND7J7SFWMBqszvrYEN&Sh)yVE53vhODegPQcJ6@dSEP?nrg14*4i42w$PZXaerf=yY74F zv8SGU>9w~(`iwB*NF$Fj>S)tVKY;)<)6BEXI@_{~R9a!hl~!J5)zvn+w*3w}?zHnR zyYBXm+AFHxqxLg$|2%5;6*YGPrTg+{)ELhBV+t!ciHaE!bHNhvtO$_MPBD9m4Z$gL zirG`0H{M5wl~KW&RuLnDVObZqeaG%Ia(|4Q!MlGoZti!HGYZ}RMdXY^_a$<_#_cyz zo9)1@KLJt|;!_aPQ+_;Hnk#LV_Ou;q*?s2fV{T*Qxmv;#t0Z~VF4>UzbwtH$|| zg1Z!Bea`aOAki{bIk2Dnon;iZI8v^%FJs?vIzgPP#}u4vquZ42&~y=~T{~tXKEohl z7=&x5tL)U~=yF+J2_Qqmmivk&b#Q>EqtNGL&ckD%Gh~U(w3~He>dO1FM`yV5G+~Gh z>?@?BkL{$$DDznl0I#%(b+goT-SpkgD0}}LWl;WRccnxdqK&ntJhq3HHL5?(JVqcD z7WK8dx5}dweWd_)BAj!O)fpm}L26$q79~PD*+R9XNmivuPGy2Ry$f|wzGIAS4Y9Qv zh>I|0Oa-XucBLrG(zIbwQQ5UUoLPHQzuMaDw5(Yd$-g?= zSe7u35i{9cJ`y6wF;7CIVq?KAdUD_kLr=sbF^!n~>hk|OZp3ek=I~C2DJZZFucvO^ zqz=I?3L^ASVI0;(JD)IWIsvIrz}n{0`kq-SjGgg+=>$Ck>N`F&_>W?-i87kx<=mU< z-%U}*z*5;-YF^c)(AIe}n5L*CAp4rFF048t0A5S>{;BIBQ7GzZsKvUdzE%D-0cn39 z53SAKshMp1S}qLklQG=evQg#B6r7!S2!z-Bv`Ag;%%`NCd1dG9lRMaYo2oP73}f@! zgo_r&W<%{j)dWSi>$`YgHxRRTSHQqHS?TB5Hh7M`3`YXJ{IPt3eh)rc83wkOwHoZ< z8VaORbv#^?7o^Q`ujWbA=7aNR1T4CUB;X{3>`L(7v3x6i(@Y1#NF<;rHB~6BgW4t0 zb9%bXwQUlWjUOiz0!drw1~gLk3~C5V=efwcye;9I0f3BLM;Q2Sd#gOM^#rJ+h4b4i zlls#>>P1kvVs}#@hlw}=*mSAX{^_vet`nLk^mP&k7g|aLya(a-uow601JJPwX$&kY1NKpiIoLI?7p|~ESV(Z$&j$^eN6ea3fcb( z4R#LsNFO%n;&3I_;-^JDC`7lI6&O_~3;;uiwyYY+ssStDCZS}JJ)x!O?HI)k==XyS zE4gbE5AHyNP5Uk*YRIQ!y5|TWv zHsowJ8ln*htIKACbeND%m=QzA0&$ux6g<(T35p;Ad@JQeov5qtXBltB71(wJ-=WMN zI<-bw4!gH7V9*+rRdcE%gWO%Xl3@!ZDGkr_4yTw6YgKlf&4I$WXr@7f@HlFbrvaVE z;yfxygZWUUTQ3SK&3hAa0%XWQl1eZvmwodXWVD1m+F7I}v5g%@e{FGsW@HSJv5k&o z5RQ7x+IiDme7xirVEKJ7oZ-)S5losNA)&R}GASU-*23-n^-Ksu#Qx2Gu- zc#`^H6oeSi5lX54%0aTiMDmG0Wp#=QyhTh{&@E*+rK4fyj^>>Z>;Nk{Ws{j0$IJzy zmyuk99{V&0ou0SC(-+T-n*e5;30$f-m!{TYaq@RI4+o!zRxXy6|8X`Tb89IGqfZ8( z+-m)yU8!JM-oM|4dg2W`vlK$)rf_UOidmL`Y#aZPL)P z^b%Dx4`v?lQoBs1m9U_vG|NHlseLHvm^aWx;wLh_8b)iwB3gE(s|H7cgV40H7|iFy zD&jXPI^DlE6!1(N^2fU<==*hnY7Q47hqF+D>F`Z}danaZwAusJA0z_ecH#cq>PfMD z!&a7wVYqv73(luH(K?x>ji_s&wUv_bE71^F#uYMU2i!S=feem0FD#U<2#|+|KPYlc z^kw)fu^?*1O7XlC8n6Rl2u1Pj`A?=ZcfK6v;Z_F)*}`)Iq)UMlRR>8Zgo*m zgz|9nlsW2PsMgppftaf7173Dv!e?Zll_Qg!1lcmr1nkjC5gzZ;UIZy+r5jtLbq-Q+ zxQIWY$ESovlL+AiNuv0aG%oFv6iGyvM34|nTAvDL@?@sNB*2rTf&rv{`4f*-sV0Bo zxyG%y{nP{BMezM`<+LzVcHc*6eghKpW}V#4>NTqQ_(L*YbOE;rnp3I)n~_??m}DqN(M=Gnh1W_)A}zFgTX+L7vQu7lo@9qe@rhb7s3Tu$xx5vP(K8PNpLm{ zrfp=E7tUmwYPLdb-5m2x&=t zUu)=@A~w5HN2l&#^FWit5qqY3#PeQI4{awHD$-r$C0Z{FftXaHK&!!O2W{5|vHmDu zz!XaZS}akek6rEvsiSxSH2M{iIiNy#9YrBU2b>tnfS5Ugzq`&_2t7V56l^JoT#zw(7@xdf zAzHWw5S8wsPfV%@=s}%kRb7=jrP5|2hVr8hEr#5`tRy_DMX3|xG(Ut6dxzA(_El?xoz6-f<&OiC6%heN&H6OAo3~FPQK8AnI}{_@;uNoWbfQW> z#q(e##N3h|>7{h8&Uu}8)f%0mO`;cw3yA{k3Az+3Fe37n|MLYJ{i6z{MXL^WN-cqyL~ z&JJBxmw#Rw;N%DF{z6+!)mCbl78PBYBYw6Nh+9e*YMaQ3^H%M<-uB&<>EUBoVykM& zmlB~lG|y~FR3z&p+<@~~y0hl$;YB2c*oUSk5s72qdNor#L8!3W;iIZ_$@QN)(NX5f@l=eTjS?C{){iuH zB|oKHSWNxt5;z3$1zb8KhKdcHKBwci@tQt39gAg$B*@5n1QHd#$;REH%RkP@5x>rczttDPsB>{xpZlmy$z`~7tK)TShxm-M`t3qjS8xyt$b%&0eU)+ zgzIQWbPuO?TgChkIJAD+E|t=a^+W8G-VeJGIJYBietT@^GkF9`5l9jjfek@K{Vkmn znQ@A&5*DOa@su}2MK-%j2(NOQbYWNZMZin=k>Wa%^6yhh!yptiTqCXtpF|zs_6i`u zSk=+ge6EfAh&!=g2~{0@>G)73a3si^`cZ4-*DABpV^-?0TY@jdCziFtJAc5N#|6CA$co%{pX4Y%`w!YX#z1M20j|c zeN&#FuV4>z;fQ{|99b73FWG}M&{a1??^fA2GQ&F7drC~F`oOl0&ujrru3iB&_&yCc z{kz93usm*{gmL0B%S*)Rt1bF}>+2p_$4hX6j)N~MYi1KeBpe$0w&svZ?ZRBi$u=O;fetM)v}q%k3J2to>ZboZ z!Crj&^t98l&jmBmNokqu*Dgk)*@I&h(J8^!u6>`J?hea;W_}}egIo&dYe#ZX;B|U? zR&V-`zsnlYeOz z^NVPaB6s>K4#IW5;^O7L(SMuzHq)%gK0xUP)S2WAaHVTW@&6?004NLeUUv#!$2IxUsI(b6$gWeIAo|!7DPoHrHVzc zP}&NuI+$Gg1x*@~6cHIz|-jVP@;DHc++ zAM^1KyZ$7(6mpfp$gzMbG{~+W{11M2YZay@y`*pq=zejWk5M4B3pDGF^L^|%%@ZK_ z3|#4Lf3*S3ev)2qYmp0Q5K_>i6t8;lZb=aj67kl8 z_a3|m7D^F?)Pkhc8VaGsmeNGbeoVTvvoo`9#>4J=J2U%c@^*Ifp?NAT05GLz!3*tJfnMu5{`>so0d%j^aGX}>St0Ud%&s($1Y80O%|*J(rEOhHNHHuT@o{ zM~}=!2_9t`BeQ_h@6Q7O+O6K0?E+v}0XdIJ;WvN(nAK`yH^3!8yT$Y$eIg7?epoE8 zta+^Q()2iUZvNz)q@1~M)=ToTjHdN=-RhoAS;MyE002&%Kh1pZ&1*kOJkK{8PNYTf z!gf2pf&3oW2e8a;w@h)=uw9_(wgbPJN5Hb3fb$8XT(@WlA~BjNRyS6U3KO|>Aot)U z4Ri&MpyovGWu>WMtlqkFumsTc9Q1AoBj-p{WoV@$P%2U}0ATv~ z3zT#?1M`Q%xD4^2LHcOnBEDF>7$`^pU@|Y$SefL(H*P=h!r9$k!m=Gc3-FU4MQR!M zA-gRGFX`A!Fl^#U;W#Z?+>r3-9}BNditzLNA)Dvf3ahFbMLIi3LL=SHWbP;eSsNCtX_`SR z@V$2@v6R_YXKCmo85GUNNT~A(!;4o=lsH!&=_{nd-$9P$JXtRbUy)`b(XnNktxR-N;2JkNCumsi%jKOb#k z;aqemSCWwSlh^ee>h%UPDlmU?E_#QvDd^eGPBgpqhNj9W9?behC54F*`pSyub1+mTp6RJIuBpn5q$ zK9W>0Z{S_G4@V$Tcg8SbFv$5y5r@aSZjc7ao(XXC*G}V+gs|`jlijOr?VK^zwoKSf znf4zi$Meus85;nuT)pnGqDVM8g!2hzHTd*N=igSJfBH?|WH=AFar=QsoSP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FTR01FTSts}j400007bV*G`2jm72 z3kDNF=~%J=00O>AL_t(o!|hfvYui8+{w^_D>LL*vgiDA9fg$Y{|9~`Gv$PN|0b?k1 z@=$0?muAb5WDBKEaK?f$WO1QeJJp8b#dvHBCRcC>H3F$f*j>7)gLRjaY+2{Hqu=sQ zckk&veeb*XL`wCVXZEh};nf=g0J|s0o~Ey(k}nVds22CUw|7!_@yEs`rAVh!uq+z~ ztv0~~Db;IUc+c!z1)f!xS+=H<*66ahk?s<;uKvh(!5-{04 zIraoZx#-z7jtVQm)R(Z}G9?Jh&x?<-dxjL{;q{|5qWbkBr9n2@tb`SBy~{XGMEb`6@o4gjd+3uGn)#BqFE84aSF zKd_}Z2Sdx?-EtC!mYIu$mSqPfqjU+V+2?v55+1bL1g&;}1EqS+BkZ1wLx}ZzcK@Fb z|Dv2+;m>jQ)a=U-Bksidyf9=~-!CUu0?(oy^Al%EF1sO(%#!0eH_b+XTUJl=mqH-? z%SHXGC#%E$;;+2)G!#2sSTo{XQaUzl!gdQ;$U1(nVWJNpwM>QlZpVXrtO%m-o!DrT6V^-#(vr|7$*IJt8J={!C-V*UT%Kqzk%|rH4*(a?;im$7!95HfFQ&VkYU9Vn8z1DSR_siVIeu6 zhr!5i9t;fL{&cV2V7O7$1j{*T4@loPEtFsCTV1-KJng`~KMy4eyiAInQ!ENqG>&+p2z3JJV{Jy-QRCXd!?D?b+vBTWGGu!Ytr?)_Q|!J zIW3y*Kkd?g@Y>ZegFah*M-Au|F|*Y3@I}w;XNRA@>?_*=C1!L)PkOP%{NbMx_1QM7 zyuV0zVQ6+|t5D1F2lKY$m|u@f3aBnyJ2QUdR;a5EtJG#(DbO{{Vc@_?XHRQob_Im# zo$7tna)0^h-2|GaHR%?`HhH*kpyC*J3f_2cgv@MNgr{2QgbCUt%hjjjr_S}UBjr0! z@bobFR;{2WS`A-Zr;BadB+puBl`O2E^h;XV^XV2-Qnid=%jA4Z6E35q)#;4;(;p5L zdM~eJma|ab;o64qpyyZlK-refvWab!~41NV~q&jlR8RGQOf&QnK}6b687n!lT0_ z-)mOf%<4$fbE;0a*qIIA&^u_}yQPlNkY@YsDsqX(;N6afWUb+u^*dSZ`niAB-U>f( zR})BZe9^gyQnryA?nD!9OPu z{Jtm@Nen;UVsL4jRy+8HoS{C?n|AAn;CRyG6L45@+4TLJ7S{=Jl8l?|unT3W4_l&E z`nx!lM-9mhDk~E=PnN&@(s_5+=^c$LsQQYY%_dHok$PoLYA;Jmooju<*Ufw23?^ZuQFa4lGk%AB1 zcr)rJa|d8HrD1>cF3TT}b{zd?_Cwv9A}dDhE7Ojg$o>SYU9L9f-M_9MuyyOdy!lnS zd`hNiV&%S7K;HZ|g(9@Nv&l73f1$dIdZe6rtfoUe{8d1`c0)x;=j}U#1+ygf{MJ1o zuN09ddZ#|P?)Z>VKDFIpXYA8^$jbXNwZY{^aULesl{rx-i^}`e&+roVpEN4ftzsx* zyw`Nr&t3lJ$-b!JlXWZB&K+)yWu#8_=}AQ9^bM?k9N4Abc=UBq$jcTZ4YS5)`t5_7 ziW@@*EbeVdLfa$o!M?~BBcQS`cGX#1vAX>*>eDO;;N)o*)0X5Is!zkNS3hfbmaA?7 zO0iAVt+lO~blnt7E#qWpTMC8cyevyGKa1K$S)3BBt5b;~;SHO#e-1RlVDw%2XcG=% zFJ*$TkN|LD4n&X(#b^{5jJ=aw41iG(g5^Nre31jL@5HY-ET8Lu3$$gE*kV^Gg6|bC zf&AmW1Hkwwkio?{IcnR>nJ9q}LIA8>C=f}RatEA>mx*30hlx0>3W7vA;DXq`SXWpA zVW|WvfrNLL^J6JEM{TUVgv(?4xp|CHpmz?q2m}!`iA0%9Mv&PMU`aTU%wRBxBnpv2 z!J`PgG){y7a=b`tp`;k)aD$|v1eJ~ti?B*gfCI-M4mcb-j~ydd3hORM2ge*J?^X0t zgiBNbT1_OK~gwI0z&SwkO;9D?^G;^k&gEnBZZVhs<;JQ9uW;n<$1h~CyVX-)VTo54BK@u>I!bieKQyUPBk4j0!MX4Z& zOr@i)@pfpU;iV}p7ef9BpcIX4N2ZZ&s5FWl)y9@Yro98LfFx2hYn7a25`nIo;DSsKln_9Z zhc5)eA);6mu9`qYX1Yos0D&a|Ff4GuDMP|4Emfs}wI54z=2930l*OO|LtJH@j8)1a zAe^YWwI_ZI{2xsI5wJ}3zwx|-zGZQdATn4I-!l23JxYp5;#hz4 zQ2&OrAI(ZH)E1V+jq~phMUUQ%HWC3}B^4H{Dqbc4DphpANr701t6Bn7$I&S;0uY5m zXqOx-k-x_IAIMf43PhtpWD1^4g*bRBgU7(rd2|MzL?zLAwsusA4shOQm%=6 zaI}Wdbw(>lwa!>8Rg%qrA1#Z3&>$C(C`=LwH@du7d!n)t{`GkF%2vTHuWThu zmNLWqW5i+sACkN;%wLJ}UvT5>$CC2z%*VquM4QTHDJjxsFegOErH ze=PLzkWpF2?H6dwqhshkgl=oZxBJ>yS|}^$AN-7^+dt?5rT*;Xll1*8*JrstNr6uS zf6lJYa($8lp9KD#UH><^wBMbKArbnbCqvJ@LDSZUp=aiaoF$%am}-mwqgUT$z7ZXn zB=!oHVlb1ZDZgr%JcThjsEM%H?wSwOXB%pmcB`#Xp88D?_aMX-7Ant1n6cM$tc;ID zV3qIkfhl@3Fc`H0mYYie{nC*fpCvPw8P=>N=J1xqn%vQ z!sxprGq>jjX|R*t(1{7x&z;Dcn%sB%>-2-xYquv3`IxY)jB_s&D;+dqD>f%F`|~;; zt_!MJh56R|(q7jqd$;#Y#NK=Y$}|X(GX@8N4P4BX7rBbM>;|Y*JFjv1>8qz44{L|C z!g~Vt`0Y#EkS3CJE1DuN@-`+fzv_ldx;`PdARmYob>CUHRc-0R8O7kPpp&Egglvq4A8Lt6E4 z6sB2Wnt^*3s_#l8BRQz~*O_~K4P8pjvja(p4HD&aSJ#ym{HE+H+!tyFSviqq>*(3+ z{-cE7j%lVmxmRk+IfI?4yCY?IWw~AoHaaeN-V2H4xe>F1)h%lj8E0?lZ_Z{Lj=XjY msH-@6>gCyzC|TmwO0~PDC9poP@@I54F)Vj)w?m6or~V82MB7II literal 0 HcmV?d00001 diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_spawn_icon_dolphin.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_spawn_icon_dolphin.png new file mode 100644 index 0000000000000000000000000000000000000000..54819ada6ffd7ec832de816252487de599a7bb3a GIT binary patch literal 6551 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 literal 0 HcmV?d00001 diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_spawn_icon_salmon.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_spawn_icon_salmon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce5dcf97199735bafa147455a5b3e2726e127764 GIT binary patch literal 6264 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 Date: Thu, 7 Jul 2022 20:31:25 -0600 Subject: [PATCH 2/8] Tactical Fishing Advancement --- mods/HUD/mcl_achievements/init.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mods/HUD/mcl_achievements/init.lua b/mods/HUD/mcl_achievements/init.lua index 987694310..55e64b9b7 100644 --- a/mods/HUD/mcl_achievements/init.lua +++ b/mods/HUD/mcl_achievements/init.lua @@ -225,6 +225,12 @@ awards.register_achievement("mcl:whatAdeal", { icon = "mcl_core_emerald.png", }) +awards.register_achievement("mcl:tacticalFishing", { + title = S("Tactical Fishing"), + description = S("Catch a fish... without a fishing rod!"), + icon = "pufferfish_bucket.png", +}) + -- Triggered in mcl_fishing awards.register_achievement("mcl:fishyBusiness", { title = S("Fishy Business"), From 88cdc9baf38edf10c13a0c0ba604a0b0b1593f8b Mon Sep 17 00:00:00 2001 From: PrairieAstronomer Date: Thu, 7 Jul 2022 20:46:33 -0600 Subject: [PATCH 3/8] Add Fish Buckets --- mods/ITEMS/mcl_fishing/init.lua | 27 ++++++++++++++++++ mods/ITEMS/mcl_fishing/locale/template.txt | 6 ++++ mods/ITEMS/mcl_fishing/mod.conf | 2 +- .../ITEMS/mcl_fishing/textures/cod_bucket.png | Bin 0 -> 14810 bytes .../textures/pufferfish_bucket.png | Bin 0 -> 14766 bytes .../mcl_fishing/textures/salmon_bucket.png | Bin 0 -> 14792 bytes .../textures/tropical_fish_bucket.png | Bin 0 -> 14788 bytes 7 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 mods/ITEMS/mcl_fishing/textures/cod_bucket.png create mode 100644 mods/ITEMS/mcl_fishing/textures/pufferfish_bucket.png create mode 100644 mods/ITEMS/mcl_fishing/textures/salmon_bucket.png create mode 100644 mods/ITEMS/mcl_fishing/textures/tropical_fish_bucket.png diff --git a/mods/ITEMS/mcl_fishing/init.lua b/mods/ITEMS/mcl_fishing/init.lua index 20f4e6f26..80351e7db 100644 --- a/mods/ITEMS/mcl_fishing/init.lua +++ b/mods/ITEMS/mcl_fishing/init.lua @@ -516,3 +516,30 @@ minetest.register_on_item_eat(function (hp_change, replace_with_item, itemstack, end end ) + +-- Fish Buckets +fish_names = { + { techname = "cod", name = "Cod" }, + { techname = "salmon", name = "Salmon" } + --{ techname = "pufferfish", name = "Pufferfish" } FIXME: Uncomment when pufferfish mobs are added. + --{ techname = "tropical_fish", name = "Tropical Fish" } FIXME: Uncomment when pufferfish mobs are added. +} + +for _, fish in pairs(fish_names) do + mcl_buckets.register_liquid({ + bucketname = "mcl_fishing:bucket_" .. fish.techname, + source_place = function(pos) + minetest.add_entity(pos, "extra_mobs:" .. fish.techname) + return "mcl_core:water_source" + end, + source_take = {"extra_mobs:" .. fish.techname}, + inventory_image = fish.techname .. "_bucket.png", + name = S("Bucket of @1", S(fish.name)), + longdesc = S("This bucket is filled with water and @1.", S(fish.name)), + usagehelp = S("Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 fish with a bucket of water.", S(fish.name), S(fish.name)), + tt_help = S("Places a water source and a @1 fish.", S(fish.name)), + extra_check = function(pos, placer) + return true, true + end, + }) +end diff --git a/mods/ITEMS/mcl_fishing/locale/template.txt b/mods/ITEMS/mcl_fishing/locale/template.txt index a1544666b..32e3d8740 100644 --- a/mods/ITEMS/mcl_fishing/locale/template.txt +++ b/mods/ITEMS/mcl_fishing/locale/template.txt @@ -16,3 +16,9 @@ Pufferfish= Pufferfish are a common species of fish and can be obtained by fishing. They can technically be eaten, but they are very bad for humans. Eating a pufferfish only restores 1 hunger point and will poison you very badly (which drains your health non-fatally) and causes serious food poisoning (which increases your hunger).= Catches fish in water= Very poisonous= +Cod= +Salmon= +Bucket of @1= +This bucket is filled with water and @1.= +Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 fish with a bucket of water.= +Places a water source and a @1 fish.= \ No newline at end of file diff --git a/mods/ITEMS/mcl_fishing/mod.conf b/mods/ITEMS/mcl_fishing/mod.conf index c4e5f5f2e..71bde6146 100644 --- a/mods/ITEMS/mcl_fishing/mod.conf +++ b/mods/ITEMS/mcl_fishing/mod.conf @@ -1,3 +1,3 @@ name = mcl_fishing description = Adds fish and fishing poles to go fishing. -depends = mcl_core, mcl_sounds, mcl_loot, mcl_mobs, mcl_enchanting, mcl_throwing, mcl_colors +depends = mcl_core, mcl_sounds, mcl_loot, mcl_mobs, mcl_enchanting, mcl_throwing, mcl_colors, mcl_buckets diff --git a/mods/ITEMS/mcl_fishing/textures/cod_bucket.png b/mods/ITEMS/mcl_fishing/textures/cod_bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..582207cb0d10d0c223942037ab66da32163b06b7 GIT binary patch literal 14810 zcmeI3e{2(F7{_mbFou|ssWS%TQdGp)-d($H?RhPZb)$QS;U0|1BxLeIufGz;}5}M0>c0y5Pu~^G-?!rQ9=S@7BmX@UfZ>AyN(wOf4-Og zc>2EI=Xvfv&-1>$e{NIT;)TQ_&NK}>mvM`nhdTqC~8`b z^{$}a+;Ja8c^*{49cD*p5ie;8hbU_i;7BKuP)$+7{B%;3)&P@^fKEmA*)AS9XrmR` zXItS8v7uxWh$+Ed9W3o#9F}_5NM6}C-(Mx9c^Du8Op#6};;O-?eYQ+o9@^G0W1}+? zbB)i|XeFdOLTz-DrUTmTsJBZT$I%U52j}*?UVm87X?Ds9CTBU+c~v)Qaf`6G8-iDW*JYUJ2KicDHeGMs~D$~nnW-Y40m$1|rU zOALsE1W-)_`f+9bk}=KHjF>h~%KY@WiD6Abp?vPL=bK2BO>LOX-4H-=M zJ212^T>{PB@KWZKyLwZJ7K&38$(kAW+(B9y$IY6_x@B4+TOk2nE8nC8(bV*?rp5i) zE^8Y_NH;ZQx{7{eg`&z@%9tlGr7nef7ovfHXaYa%M~~fV#)dHLM>og2ESqOpBuG|S z5+kI^O0=gqh9~S~dA5$PbE7d3WoZn!eq_-UZz>9^MdHX3AJz1PX!@0e*a?`V+9@!F zK}4DFD!xgJYdSnF;CBg3xnaaB(`kIGYM7!bf!2T@4mcD==A-TgZv=Qec2|_GvqxNY zF1uJ?=e5_@JLPDDC`a7hx(vin2z4J5I-p5i)@sRxmTxgM;yxzy5?z5ioft;-sUVx|V1z>FCyWX|e4teVEVGWrH5 z3lI3$2alX9I$i3z^2V;{bg65>bD64`erGOQ$uQz&?Y!A-VJW;x0RDQn+vOIR(&18% zHYE+>9RUTdU&HE3u0H2eI#Jef<#>+BM9wi=D&+4xQ_1Woyjg(vDNO!GrMSrXg>ajV z!WG@-z-Ty<1f_ws2`(%mR6uZ{G_W?og++u42riTc)+V^Hh)@B+h0?&<1Q!+&Dj>K} z8d#g)!XiQi1Q$vJYZF{pM5ut^LTO-af(wfX6%bq~4XjOYVG*GMf(xaAwFxdPB2++d zp){~I!G%SH3J5Ng2G%CHu!v9r!G+Sm+5{IC5h@_KP#Rd9;KCw81q2sL18WmpSVX9R z;6iC&ZGsDn2o(@qC=IMlaA6Ul0)h*rfwc)PEFx4uaG^A?Ho=8OgbD~Qlm^x&xUh&& z0l|gRz}h#&RaJQO52)~YzZ871@9in=r{F_@v=nR)QB?0k6xFwZqW-=PzkjEwE|#Ls zuc9b^8%5P>Tb@7CLQxfLYoIZl{{Ee>5B6_h@1An$N~ec^^1>PO*~_)^j3M*4GwHVE zfMd9El08_P+NW;4Hnmx;+gNt+5f7o|+p=al2`1)$k#2GVczPT%QYWUpL zJI`F6B&dhZPVQeeS^IS3@>%coEuZz-xqCOyhLbbrA3ipCcxd%Ud!M?re|Tv1FZO+D zzq;*?Z3E2le@@&3UxHfw3jEo9=wxi*$fKV}wvKGwK5(^iWY>-fBfBotj=cE8!@HJ! zJ9ll%Tk{5XKYqIU{h@2M=bJVOKYmy7bnW1tilfJC=q0I(69@Y_Hoo)K!M>iE-Q0?+ uOIGdg=bkuttm^c@AHR04yMFXbYQY2VZsb1x>kI4Y%hu+_fxQb>t^W_;Lo%KK literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_fishing/textures/pufferfish_bucket.png b/mods/ITEMS/mcl_fishing/textures/pufferfish_bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..2c88bac3531fadc761233627591552f5e9280b88 GIT binary patch literal 14766 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_fishing/textures/tropical_fish_bucket.png b/mods/ITEMS/mcl_fishing/textures/tropical_fish_bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..edf7dd2447e9a8c7ef57b45e5921ba24f519219f GIT binary patch literal 14788 zcmeI3e{2(F7{?DZ1GW%}kbvm)C>Vv%-d#(#_R@BYcDMyQno(gW3BBFDTMyb^?Oka% zkiZr-U}Ay^Y6Q(d0?|ZNh?+9XCEnF5~ zEw(%tSqF%|9LG@!$^u8m&s&o8HY_v^>BjQ?dEtpXSZ9i!m9Ts3@K|(=nL~f z#^VH#E~nI_p=t@%j4O3%X~S!=n2Cy4;lAR@VxojzV23GkSt-d0HlC~Iq{u~|WI7eg zElrU*6hm>8Fm&uERP{?nHAB;*+9WB9(~~B~H39c$)-=FI$_R)1}LeVn%Vh>m8QmS_;8VX1T^5K4TS*;bkG8!^2e@241;N6WbEHAthwg7VzN#o2n|JgXbHShDKy{^A6eC zEiG%Xc6ITR)zPK!c2}2MaW%Md5Q9PJJ|T2KlhfvIDTG#TGc<6Y5PEe=#V4H<0~&Mn zx0|9$mESAe zD?LJL7R5RPD&D`k*_A>=!KZSfs^j{}9Kl4vF<&b1b)KtaeiT0};O7*s_@Gi=ljjwXRLh&IJVL<9vC7on3(_Fk6c-T@6i{4{2GORth=`zo;(|1YHpN9m1O*fq zq(QVPE+Qf*ptv9nqD^rT5kUdP1!)j%ii?N{3Mei}gJ@G+L_|q$sK>@`D zX%Ow3;;JpZ`iBzueZLHTvG1?XmcN2u3S{Nhjv&MIJ0=~90CGlNI!4-NBsHtv}7Ky7G-ZR>ODU}V?3U(RSf z^;64RzGb5e4(}W}*5kUqR-CzN+x{1)ouAsg;p)IQ%Z1SeU!B<7e(&jL?+Z) zvGw_1`d+|4tZleu@uA`9zM-0-!`}~x_4ll8JC(li!{~Q4Z`%jz_VmAbq`q(HKzvge zjn-^f{Ovon{66d8lH>nO+57q3M}NMseUanLm1|>DFCFK1Hk~|HCp^+rcjd_+?_w@| W_(uN@7e8XYXW7=$9yq!p(*GaK^Ce0E literal 0 HcmV?d00001 From 44abef44e100865189a9964d6f19f8e891644998 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 8 Jul 2022 11:51:29 +0200 Subject: [PATCH 4/8] Make fish buckets work with water mobs --- mods/ENTITIES/mobs_mc/cod.lua | 6 +++--- mods/ENTITIES/mobs_mc/salmon.lua | 6 +++--- mods/ITEMS/mcl_fishing/init.lua | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/mods/ENTITIES/mobs_mc/cod.lua b/mods/ENTITIES/mobs_mc/cod.lua index 96c9927c5..0d40912dc 100644 --- a/mods/ENTITIES/mobs_mc/cod.lua +++ b/mods/ENTITIES/mobs_mc/cod.lua @@ -101,9 +101,9 @@ local cod = { end, on_rightclick = function(self, clicker) if clicker:get_wielded_item():get_name() == "mcl_buckets:bucket_water" then - --self.object:remove() - --clicker:set_wielded_item("mcl_fishing:bucket_cod") - --awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing") + self.object:remove() + clicker:set_wielded_item("mcl_fishing:bucket_cod") + awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing") end end } diff --git a/mods/ENTITIES/mobs_mc/salmon.lua b/mods/ENTITIES/mobs_mc/salmon.lua index bf730907c..b586918fb 100644 --- a/mods/ENTITIES/mobs_mc/salmon.lua +++ b/mods/ENTITIES/mobs_mc/salmon.lua @@ -58,9 +58,9 @@ local salmon = { fear_height = 4, on_rightclick = function(self, clicker) if clicker:get_wielded_item():get_name() == "mcl_buckets:bucket_water" then - --self.object:remove() - --clicker:set_wielded_item("mcl_fishing:bucket_salmon") - --awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing") + self.object:remove() + clicker:set_wielded_item("mcl_fishing:bucket_salmon") + awards.unlock(clicker:get_player_name(), "mcl:tacticalFishing") end end } diff --git a/mods/ITEMS/mcl_fishing/init.lua b/mods/ITEMS/mcl_fishing/init.lua index 80351e7db..08c039bc3 100644 --- a/mods/ITEMS/mcl_fishing/init.lua +++ b/mods/ITEMS/mcl_fishing/init.lua @@ -529,10 +529,10 @@ for _, fish in pairs(fish_names) do mcl_buckets.register_liquid({ bucketname = "mcl_fishing:bucket_" .. fish.techname, source_place = function(pos) - minetest.add_entity(pos, "extra_mobs:" .. fish.techname) + minetest.add_entity(pos, "mobs_mc:" .. fish.techname) return "mcl_core:water_source" end, - source_take = {"extra_mobs:" .. fish.techname}, + source_take = {"mobs_mc:" .. fish.techname}, inventory_image = fish.techname .. "_bucket.png", name = S("Bucket of @1", S(fish.name)), longdesc = S("This bucket is filled with water and @1.", S(fish.name)), From f202ed832785ad8fef997abf7ac261540f71ae21 Mon Sep 17 00:00:00 2001 From: cora Date: Tue, 5 Jul 2022 12:55:14 +0200 Subject: [PATCH 5/8] spawn in groups --- mods/ENTITIES/mcl_mobs/api.lua | 1 + mods/ENTITIES/mcl_mobs/spawning.lua | 11 +++++++++++ mods/ENTITIES/mobs_mc/cod.lua | 1 + mods/ENTITIES/mobs_mc/dolphin.lua | 1 + mods/ENTITIES/mobs_mc/salmon.lua | 1 + 5 files changed, 15 insertions(+) diff --git a/mods/ENTITIES/mcl_mobs/api.lua b/mods/ENTITIES/mcl_mobs/api.lua index 84b24c339..998b05547 100644 --- a/mods/ENTITIES/mcl_mobs/api.lua +++ b/mods/ENTITIES/mcl_mobs/api.lua @@ -4036,6 +4036,7 @@ minetest.register_entity(name, { fire_resistant = def.fire_resistant or false, fire_damage_resistant = def.fire_damage_resistant or false, ignited_by_sunlight = def.ignited_by_sunlight or false, + spawn_in_group = def.spawn_in_group, -- End of MCL2 extensions on_spawn = def.on_spawn, diff --git a/mods/ENTITIES/mcl_mobs/spawning.lua b/mods/ENTITIES/mcl_mobs/spawning.lua index f8c94afb6..a1c8e23b5 100644 --- a/mods/ENTITIES/mcl_mobs/spawning.lua +++ b/mods/ENTITIES/mcl_mobs/spawning.lua @@ -386,6 +386,13 @@ local function get_water_spawn(p) end end +local function spawn_group(p,mob,spawn_on,group_max) + local nn = minetest.find_nodes_in_area(vector.offset(p,-3,-3,-3),vector.offset(p,3,3,3),spawn_on) + for i = 1, math.random(group_max) do + minetest.add_entity(nn[math.random(#nn)],mob) + end +end + if mobs_spawn then local perlin_noise @@ -449,6 +456,7 @@ if mobs_spawn then end local mob_def = mob_library_worker_table[mob_index] local mob_type = minetest.registered_entities[mob_def.name].type + local spawn_in_group = minetest.registered_entities[mob_def.name].spawn_in_group if mob_def and spawning_position.y >= mob_def.min_height and spawning_position.y <= mob_def.max_height @@ -470,6 +478,9 @@ if mobs_spawn then end --everything is correct, spawn mob local object = minetest.add_entity(spawning_position, mob_def.name) + if spawn_in_group then + spawn_group(spawning_position,mob_def.name,{gotten_node},spawn_in_group) + end if object then return mob_def.on_spawn and mob_def.on_spawn(object, spawning_position) end diff --git a/mods/ENTITIES/mobs_mc/cod.lua b/mods/ENTITIES/mobs_mc/cod.lua index 0d40912dc..11c6ee01f 100644 --- a/mods/ENTITIES/mobs_mc/cod.lua +++ b/mods/ENTITIES/mobs_mc/cod.lua @@ -40,6 +40,7 @@ local cod = { xp_max = 3, armor = 100, rotate = 180, + spawn_in_group = 10, tilt_swim = true, collisionbox = {-0.3, 0.0, -0.3, 0.3, 0.79, 0.3}, visual = "mesh", diff --git a/mods/ENTITIES/mobs_mc/dolphin.lua b/mods/ENTITIES/mobs_mc/dolphin.lua index f991e7495..333da3808 100644 --- a/mods/ENTITIES/mobs_mc/dolphin.lua +++ b/mods/ENTITIES/mobs_mc/dolphin.lua @@ -42,6 +42,7 @@ local dolphin = { walk_chance = 100, breath_max = 120, rotate = 180, + spawn_in_group = 3, tilt_swim = true, collisionbox = {-0.3, 0.0, -0.3, 0.3, 0.79, 0.3}, visual = "mesh", diff --git a/mods/ENTITIES/mobs_mc/salmon.lua b/mods/ENTITIES/mobs_mc/salmon.lua index b586918fb..dea502fd0 100644 --- a/mods/ENTITIES/mobs_mc/salmon.lua +++ b/mods/ENTITIES/mobs_mc/salmon.lua @@ -19,6 +19,7 @@ local salmon = { xp_min = 1, xp_max = 3, armor = 100, + spawn_in_group = 5, tilt_swim = true, collisionbox = {-0.4, 0.0, -0.4, 0.4, 0.79, 0.4}, visual = "mesh", From aed96a4912cf710cdd97f4774c63e7236ec9119d Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 8 Jul 2022 23:19:22 +0200 Subject: [PATCH 6/8] Add original dolphin texture cc0 by cora --- .../mobs_mc/textures/extra_mobs_dolphin.png | Bin 6359 -> 443 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/ENTITIES/mobs_mc/textures/extra_mobs_dolphin.png b/mods/ENTITIES/mobs_mc/textures/extra_mobs_dolphin.png index babbea7ef03ad1da3ad4dfe63588c39edbdf75ee..6b8a40bf25a9f4770870426919283f5dd5a48821 100644 GIT binary patch delta 429 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 Date: Sat, 9 Jul 2022 02:30:05 +0200 Subject: [PATCH 7/8] Fix translator modnames --- mods/ENTITIES/mobs_mc/cod.lua | 2 +- mods/ENTITIES/mobs_mc/dolphin.lua | 2 +- mods/ENTITIES/mobs_mc/salmon.lua | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/ENTITIES/mobs_mc/cod.lua b/mods/ENTITIES/mobs_mc/cod.lua index 11c6ee01f..9174cd65f 100644 --- a/mods/ENTITIES/mobs_mc/cod.lua +++ b/mods/ENTITIES/mobs_mc/cod.lua @@ -23,7 +23,7 @@ local function degrees(rad) return rad * 180.0 / math.pi end -local S = minetest.get_translator("extra_mobs") +local S = minetest.get_translator(minetest.get_current_modname()) --################### --################### cod diff --git a/mods/ENTITIES/mobs_mc/dolphin.lua b/mods/ENTITIES/mobs_mc/dolphin.lua index 333da3808..01e6f56ee 100644 --- a/mods/ENTITIES/mobs_mc/dolphin.lua +++ b/mods/ENTITIES/mobs_mc/dolphin.lua @@ -23,7 +23,7 @@ local function degrees(rad) return rad * 180.0 / math.pi end -local S = minetest.get_translator("extra_mobs") +local S = minetest.get_translator(minetest.get_current_modname()) --################### --################### dolphin diff --git a/mods/ENTITIES/mobs_mc/salmon.lua b/mods/ENTITIES/mobs_mc/salmon.lua index dea502fd0..3c38f6860 100644 --- a/mods/ENTITIES/mobs_mc/salmon.lua +++ b/mods/ENTITIES/mobs_mc/salmon.lua @@ -3,7 +3,7 @@ --made for MC like Survival game --License for code WTFPL and otherwise stated in readmes -local S = minetest.get_translator("extra_mobs") +local S = minetest.get_translator(minetest.get_current_modname()) --################### --################### salmon From 4a4636523e5075eaae04920c448b0803a73ac609 Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 9 Jul 2022 22:14:37 +0200 Subject: [PATCH 8/8] Add new mobs to translation template. --- mods/ENTITIES/mobs_mc/locale/template.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mods/ENTITIES/mobs_mc/locale/template.txt b/mods/ENTITIES/mobs_mc/locale/template.txt index aedd8754c..1f9261df6 100644 --- a/mods/ENTITIES/mobs_mc/locale/template.txt +++ b/mods/ENTITIES/mobs_mc/locale/template.txt @@ -62,3 +62,6 @@ Weapon Smith= Tool Smith= Cleric= Nitwit= +Cod= +Salmon= +Dolphin=