diff --git a/depends.txt b/depends.txt deleted file mode 100644 index 8d14ca3..0000000 --- a/depends.txt +++ /dev/null @@ -1,5 +0,0 @@ -mobs -default? -lucky_block? -toolranks? -intllib? diff --git a/description.txt b/description.txt deleted file mode 100644 index ac3d887..0000000 --- a/description.txt +++ /dev/null @@ -1 +0,0 @@ -Adds many types of monster. diff --git a/dirt_monster.lua b/dirt_monster.lua index f5158da..0b9bba0 100644 --- a/dirt_monster.lua +++ b/dirt_monster.lua @@ -1,5 +1,5 @@ - -local S = mobs.intllib_monster +-- Translation support +local S = minetest.get_translator("mobs_monster") local dirt_types = { diff --git a/dungeon_master.lua b/dungeon_master.lua index f2074bf..fc5c321 100644 --- a/dungeon_master.lua +++ b/dungeon_master.lua @@ -1,5 +1,5 @@ - -local S = mobs.intllib_monster +-- Translation support +local S = minetest.get_translator("mobs_monster") local master_types = { diff --git a/fire_spirit.lua b/fire_spirit.lua index 5a799bf..b6b62ce 100644 --- a/fire_spirit.lua +++ b/fire_spirit.lua @@ -1,5 +1,5 @@ - -local S = mobs.intllib_monster +-- Translation support +local S = minetest.get_translator("mobs_monster") local mob_drops = { {name = "fireflies:firefly", chance = 1, min = 1, max = 1} diff --git a/init.lua b/init.lua index 3866bd7..1094251 100644 --- a/init.lua +++ b/init.lua @@ -2,30 +2,8 @@ -- Load support for intllib. local path = minetest.get_modpath(minetest.get_current_modname()) .. "/" --- Check for translation method -local S -if minetest.get_translator ~= nil then - S = minetest.get_translator("mobs_monster") -- 5.x translation function -else - if minetest.get_modpath("intllib") then - dofile(minetest.get_modpath("intllib") .. "/init.lua") - if intllib.make_gettext_pair then - S = intllib.make_gettext_pair() -- new gettext method - else - S = intllib.Getter() -- old text file method - end - else -- boilerplate function - S = function(str, ...) - local args = {...} - return str:gsub("@%d+", function(match) - return args[tonumber(match:sub(2))] - end) - end - end -end - -mobs.intllib_monster = S - +-- Translation support +local S = minetest.get_translator("mobs_monster") -- Check for custom mob spawn file local input = io.open(path .. "spawn.lua", "r") @@ -37,19 +15,30 @@ if input then end +-- helper function +local function ddoo(mob) + + if minetest.settings:get_bool("mobs_monster." .. mob) == false then + print("[Mobs_Monster] " .. mob .. " disabled!") + return + end + + dofile(path .. mob .. ".lua") +end + -- Monsters -dofile(path .. "dirt_monster.lua") -- PilzAdam -dofile(path .. "dungeon_master.lua") -dofile(path .. "oerkki.lua") -dofile(path .. "sand_monster.lua") -dofile(path .. "stone_monster.lua") -dofile(path .. "tree_monster.lua") -dofile(path .. "lava_flan.lua") -- Zeg9 -dofile(path .. "mese_monster.lua") -dofile(path .. "spider.lua") -- AspireMint +ddoo("dirt_monster") -- PilzAdam +ddoo("dungeon_master") +ddoo("oerkki") +ddoo("sand_monster") +ddoo("stone_monster") +ddoo("tree_monster") +ddoo("lava_flan") -- Zeg9 +ddoo("mese_monster") +ddoo("spider") -- AspireMint +ddoo("land_guard") +ddoo("fire_spirit") dofile(path .. "minotaur.lua") -- NALC(sys4 fork MFF) Kalabasa -dofile(path .. "land_guard.lua") -dofile(path .. "fire_spirit.lua") -- Load custom spawning @@ -64,4 +53,4 @@ if minetest.get_modpath("lucky_block") then end -print ("[MOD] Mobs Redo Monsters loaded") +print ("[MOD] Mobs Monster loaded") diff --git a/land_guard.lua b/land_guard.lua index 5199463..3e9ce2c 100644 --- a/land_guard.lua +++ b/land_guard.lua @@ -1,6 +1,5 @@ - -local S = mobs.intllib_monster - +-- Translation support +local S = minetest.get_translator("mobs_monster") local guard_types = { diff --git a/lava_flan.lua b/lava_flan.lua index 441efac..7d78973 100644 --- a/lava_flan.lua +++ b/lava_flan.lua @@ -1,5 +1,5 @@ - -local S = mobs.intllib_monster +-- Translation support +local S = minetest.get_translator("mobs_monster") -- Lava Flan by Zeg9 (additional textures by JurajVajda) diff --git a/locale/de.txt b/locale/de.txt deleted file mode 100644 index e3dee30..0000000 --- a/locale/de.txt +++ /dev/null @@ -1,37 +0,0 @@ -# German Translation for mobs_monster mod -# Deutsche Übersetzung der mobs_monster Mod -# last update: 2016/June/10 -# Author: Xanthin - -#dirtmonster.lua -Dirt Monster = Erdmonster - -#dungeonmaster.lua -Dungeon Master = Kerkermeister - -#init.lua -[MOD] Mobs Redo 'Monsters' loaded = [MOD] Mobs Redo 'Monsters' geladen - -#lava_flan.lua -Lava Flan = Lavaflan -Lava orb = Lavakugel -Lava Pickaxe = Lavaspitzhacke - -#mese_monster.lua -Mese Monster = Mesemonster - -#oerkki.lua -Oerkki = Oerkki - -#sandmonster.lua -Sand Monster = Sandmonster - -#spider.lua -Spider = Spinne -Cobweb = Spinnennetz - -#stonemonster.lua -Stone Monster = Steinmonster - -#treemonster.lua -Tree Monster = Baummonster \ No newline at end of file diff --git a/locale/fr.txt b/locale/fr.txt deleted file mode 100644 index 660f6b5..0000000 --- a/locale/fr.txt +++ /dev/null @@ -1,34 +0,0 @@ -# last update: 2016/June/10 - -#dirtmonster.lua -Dirt Monster = Monstre de terre - -#dungeonmaster.lua -Dungeon Master = Maître des donjons - -#init.lua -[MOD] Mobs Redo 'Monsters' loaded = [MOD] Mobs Redo 'Monstres' chargé - -#lava_flan.lua -Lava Flan = Flan de lave -Lava orb = Orbe de lave -Lava Pickaxe = Pioche de lave - -#mese_monster.lua -Mese Monster = Monstre de Mese - -#oerkki.lua -Oerkki = Oerkki - -#sandmonster.lua -Sand Monster = Monstre de sable - -#spider.lua -Spider = Araignée -Cobweb = Toile d'arraignée - -#stonemonster.lua -Stone Monster = Monstre de pierre - -#treemonster.lua -Tree Monster = Monstre de bois \ No newline at end of file diff --git a/locale/it.txt b/locale/it.txt deleted file mode 100644 index a9cbc0f..0000000 --- a/locale/it.txt +++ /dev/null @@ -1,38 +0,0 @@ -# ITALIAN LOCALE FILE FOR THE MOBS MONSTER MODULE -# Copyright (c) 2014 Krupnov Pavel and 2016 TenPlus1 -# This file is distributed under the same license as the MOBS MONSTER package. -# Hamlet , 2017. -# - -#dirtmonster.lua -Dirt Monster = Mostro di terra - -#dungeonmaster.lua -Dungeon Master = Padrone delle segrete - -#init.lua -[MOD] Mobs Redo 'Monsters' loaded = [MOD] Mobs Redo 'Monsters' caricato - -#lava_flan.lua -Lava Flan = Sformato di lava -Lava orb = Sfera di lava -Lava Pickaxe = Piccone di lava - -#mese_monster.lua -Mese Monster = Mostro di mese - -#oerkki.lua -Oerkki = Oerkki - -#sandmonster.lua -Sand Monster = Mostro di sabbia - -#spider.lua -Spider = Ragno -Cobweb = Ragnatela - -#stonemonster.lua -Stone Monster = Mostro di pietra - -#treemonster.lua -Tree Monster = Albero mostro \ No newline at end of file diff --git a/locale/ms.txt b/locale/ms.txt deleted file mode 100644 index 5a684e7..0000000 --- a/locale/ms.txt +++ /dev/null @@ -1,35 +0,0 @@ -# Malay translations of mobs_monster mod -# using template from 2016/June/10, translated on 2018/February/05 - -#dirtmonster.lua -Dirt Monster = Raksasa Tanah - -#dungeonmaster.lua -Dungeon Master = Penjaga Kurungan Bawah Tanah - -#init.lua -[MOD] Mobs Redo 'Monsters' loaded = [MODS] Mobs Redo 'Monsters' telah dimuatkan - -#lava_flan.lua -Lava Flan = Raksasa Lava -Lava orb = Bola Lava -Lava Pickaxe = Beliung Lava - -#mese_monster.lua -Mese Monster = Raksasa Mese - -#oerkki.lua -Oerkki = Oerkki - -#sandmonster.lua -Sand Monster = Raksasa Pasir - -#spider.lua -Spider = Labah-labah -Cobweb = Sarang Labah-labah - -#stonemonster.lua -Stone Monster = Raksasa Batu - -#treemonster.lua -Tree Monster = Raksasa Pokok \ No newline at end of file diff --git a/locale/template.txt b/locale/template.txt deleted file mode 100644 index 3eac761..0000000 --- a/locale/template.txt +++ /dev/null @@ -1,36 +0,0 @@ -# Template for translations of mobs_monster mod -# last update: 2016/June/10 - -#dirtmonster.lua -Dirt Monster= - -#dungeonmaster.lua -Dungeon Master= - -#init.lua -[MOD] Mobs Redo 'Monsters' loaded= - -#lava_flan.lua -Lava Flan= -Lava orb= -Lava Pickaxe= -Obsidian Flan= - -#mese_monster.lua -Mese Monster= - -#oerkki.lua -Oerkki= - -#sandmonster.lua -Sand Monster= - -#spider.lua -Spider= -Cobweb= - -#stonemonster.lua -Stone Monster= - -#treemonster.lua -Tree Monster= diff --git a/locale/tr.txt b/locale/tr.txt deleted file mode 100644 index 10f64a0..0000000 --- a/locale/tr.txt +++ /dev/null @@ -1,39 +0,0 @@ -# Türkçe çeviri by Admicos -# Turkish translation by Admicos - -# Son düzenleme: 26 Nisan 2017 -# Last edit: 26 April 2017 - - -#dirtmonster.lua -Dirt Monster = Toprak Canavarı - -#dungeonmaster.lua -Dungeon Master = Zindan başı - -#init.lua -[MOD] Mobs Redo 'Monsters' loaded = [MOD] Mobs Redo 'Canavarlar' yüklendi - -#lava_flan.lua -Lava Flan = Lav Flan -Lava orb = Lav küre -Lava Pickaxe = Lav kazması - -#mese_monster.lua -Mese Monster = Mese Canavarı - -#oerkki.lua -Oerkki = Oerkki - -#sandmonster.lua -Sand Monster = Kum Canavarı - -#spider.lua -Spider = Örümcek -Cobweb = Örümcek ağı - -#stonemonster.lua -Stone Monster = Taş Canavarı - -#treemonster.lua -Tree Monster = Ağaç Canavarı \ No newline at end of file diff --git a/locale/zh_CN.txt b/locale/zh_CN.txt deleted file mode 100644 index 4f69d9a..0000000 --- a/locale/zh_CN.txt +++ /dev/null @@ -1,36 +0,0 @@ -# Template for translations of mobs_monster mod -# last update: 2016/June/10 - -#dirtmonster.lua -Dirt Monster = 泥土怪 - -#dungeonmaster.lua -Dungeon Master = 地穴之主 - -#init.lua -[MOD] Mobs Redo 'Monsters' loaded = [模组] Mobs Redo 'Monsters' 已加载 - -#lava_flan.lua -Lava Flan = 岩浆饼 -Lava orb = 岩浆球 -Lava Pickaxe = 岩浆镐 -Obsidian Flan = 黑耀石饼 - -#mese_monster.lua -Mese Monster = 黄石怪 - -#oerkki.lua -Oerkki = 奥尔基 - -#sandmonster.lua -Sand Monster = 沙怪 - -#spider.lua -Spider = 蜘蛛 -Cobweb = 蜘蛛网 - -#stonemonster.lua -Stone Monster = 石头怪 - -#treemonster.lua -Tree Monster = 树怪 diff --git a/locale/zh_TW.txt b/locale/zh_TW.txt deleted file mode 100644 index b9a6d59..0000000 --- a/locale/zh_TW.txt +++ /dev/null @@ -1,36 +0,0 @@ -# Template for translations of mobs_monster mod -# last update: 2016/June/10 - -#dirtmonster.lua -Dirt Monster = 泥土怪 - -#dungeonmaster.lua -Dungeon Master = 地穴之主 - -#init.lua -[MOD] Mobs Redo 'Monsters' loaded = [模組] Mobs Redo 'Monsters' 已加載 - -#lava_flan.lua -Lava Flan = 岩漿餅 -Lava orb = 岩漿球 -Lava Pickaxe = 岩漿鎬 -Obsidian Flan = 黑耀石餅 - -#mese_monster.lua -Mese Monster = 黃石怪 - -#oerkki.lua -Oerkki = 奧爾基 - -#sandmonster.lua -Sand Monster = 沙怪 - -#spider.lua -Spider = 蜘蛛 -Cobweb = 蜘蛛網 - -#stonemonster.lua -Stone Monster = 石頭怪 - -#treemonster.lua -Tree Monster = 樹怪 diff --git a/mese_monster.lua b/mese_monster.lua index ef2926d..a28d63d 100644 --- a/mese_monster.lua +++ b/mese_monster.lua @@ -1,4 +1,5 @@ -local S = mobs.intllib_monster +-- Translation support +local S = minetest.get_translator("mobs_monster") local mese_monster_types = { diff --git a/mod.conf b/mod.conf index 921bed1..6a784d8 100644 --- a/mod.conf +++ b/mod.conf @@ -1,4 +1,5 @@ name = mobs_monster +description = Add many different monsters into your world. depends = mobs -optional_depends = default, lucky_block, toolranks, intllib -description = Adds many types of monsters. +optional_depends = default, lucky_block, toolranks +min_minetest_version = 5.0 diff --git a/oerkki.lua b/oerkki.lua index 41ec8d6..7099c58 100644 --- a/oerkki.lua +++ b/oerkki.lua @@ -1,5 +1,5 @@ - -local S = mobs.intllib_monster +-- Translation support +local S = minetest.get_translator("mobs_monster") -- Oerkki by PilzAdam diff --git a/sand_monster.lua b/sand_monster.lua index fbc3e95..81295ee 100644 --- a/sand_monster.lua +++ b/sand_monster.lua @@ -1,5 +1,5 @@ - -local S = mobs.intllib_monster +-- Translation support +local S = minetest.get_translator("mobs_monster") -- custom particle effects local effect = function(pos, amount, texture, min_size, max_size, radius, gravity, glow) diff --git a/settingtypes.txt b/settingtypes.txt new file mode 100644 index 0000000..a28d8a6 --- /dev/null +++ b/settingtypes.txt @@ -0,0 +1,10 @@ +mobs_monster.dirt_monster (Enable Dirt Monster) bool true +mobs_monster.dungeon_master (Enable Dungeon Master) bool true +mobs_monster.fire_spirit (Enable Fire Spirit) bool true +mobs_monster.land_guard (Enable Land Guard) bool true +mobs_monster.lava_flan (Enable Lava Flan) bool true +mobs_monster.mese_monster (Enable Mese Monster) bool true +mobs_monster.oerkki (Enable Oerkki) bool true +mobs_monster.spider (Enable Spider) bool true +mobs_monster.stone_monster (Enable Stone Monster) bool true +mobs_monster.tree_monster (Enable Tree Monster) bool true diff --git a/spawn_example.lua b/spawn_example.lua index 7babd08..deb84fe 100644 --- a/spawn_example.lua +++ b/spawn_example.lua @@ -171,3 +171,17 @@ mobs:spawn({ min_height = 0, day_toggle = false, }) + +-- Land Guard + +mobs:spawn({ + name = "mobs_monster:land_guard", + nodes = { + "default:snow", "default:ice", "default:stone", + "default:dry_dirt_with_dry_grass", "ethereal:dry_dirt" + }, + max_light = 7, + chance = 25000, + min_height = 0, + active_object_count = 1, +}) diff --git a/spider.lua b/spider.lua index 4c1120f..75ff52d 100644 --- a/spider.lua +++ b/spider.lua @@ -1,5 +1,5 @@ - -local S = mobs.intllib_monster +-- Translation support +local S = minetest.get_translator("mobs_monster") local get_velocity = function(self) @@ -172,10 +172,12 @@ mobs:register_mob("mobs_monster:spider", { -- sanity check if not yaw then return end - pos.y = pos.y + self.collisionbox[2] - 0.2 + local prop = self.object:get_properties() - local dir_x = -math.sin(yaw) * (self.collisionbox[4] + 0.5) - local dir_z = math.cos(yaw) * (self.collisionbox[4] + 0.5) + 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 nod = minetest.get_node_or_nil({ x = pos.x + dir_x, y = pos.y + 0.5, diff --git a/stone_monster.lua b/stone_monster.lua index 3785839..cad5ebc 100644 --- a/stone_monster.lua +++ b/stone_monster.lua @@ -1,5 +1,5 @@ - -local S = mobs.intllib_monster +-- Translation support +local S = minetest.get_translator("mobs_monster") local stone_types = { diff --git a/tree_monster.lua b/tree_monster.lua index 6a45efb..45e5cdc 100644 --- a/tree_monster.lua +++ b/tree_monster.lua @@ -1,5 +1,5 @@ - -local S = mobs.intllib_monster +-- Translation support +local S = minetest.get_translator("mobs_monster") local tree_types = {