From e4af546bdc233344503fc533de34aa65bd3ae681 Mon Sep 17 00:00:00 2001 From: ElCeejo Date: Sat, 27 Aug 2022 20:15:57 -0700 Subject: [PATCH] Updated Libri, Fixed Horse riding visuals --- .luacheckrc | 15 + api/api.lua | 608 +----------------- api/behaviors.lua | 176 ++++- api/libri.lua | 586 +++++++++++++++++ api/spawning.lua | 209 +----- api/storage.lua | 10 +- craftitems.lua | 4 +- init.lua | 11 +- libri/animalia_libri_bat.txt | 7 + libri/animalia_libri_bird.txt | 5 + libri/animalia_libri_cat.txt | 9 + libri/animalia_libri_chicken.txt | 9 + libri/animalia_libri_cow.txt | 5 + libri/animalia_libri_frog.txt | 7 + libri/animalia_libri_home.txt | 13 + libri/animalia_libri_horse.txt | 11 + libri/animalia_libri_pig.txt | 6 + libri/animalia_libri_reindeer.txt | 5 + libri/animalia_libri_sheep.txt | 4 + libri/animalia_libri_tropical_fish.txt | 4 + libri/animalia_libri_turkey.txt | 7 + libri/animalia_libri_wolf.txt | 5 + mobs/bat.lua | 98 ++- mobs/bird.lua | 3 +- mobs/cat.lua | 76 +-- mobs/chicken.lua | 99 +-- mobs/cow.lua | 88 +-- mobs/frog.lua | 52 +- mobs/horse.lua | 111 ++-- mobs/pig.lua | 80 +-- mobs/reindeer.lua | 55 +- mobs/sheep.lua | 86 +-- mobs/tropical_fish.lua | 37 +- mobs/turkey.lua | 100 +-- mobs/wolf.lua | 51 +- sounds/cow/animalia_cow_death.ogg | Bin 22419 -> 14142 bytes sounds/cow/animalia_cow_hurt.ogg | Bin 12984 -> 6546 bytes sounds/cow/animalia_cow_idle.ogg | Bin 13739 -> 0 bytes sounds/cow/animalia_cow_random.ogg | Bin 0 -> 9954 bytes sounds/cow/animalia_cow_random_1.ogg | Bin 35149 -> 0 bytes sounds/cow/animalia_cow_random_2.ogg | Bin 28498 -> 0 bytes sounds/cow/animalia_cow_random_3.ogg | Bin 35460 -> 0 bytes .../formspecs/libri/animalia_libri_bg.png | Bin 19243 -> 24473 bytes .../libri/icons/animalia_libri_icon_last.png | Bin 0 -> 4974 bytes .../libri/icons/animalia_libri_icon_next.png | Bin 0 -> 4973 bytes 45 files changed, 1370 insertions(+), 1282 deletions(-) create mode 100644 .luacheckrc create mode 100644 api/libri.lua create mode 100644 libri/animalia_libri_bat.txt create mode 100644 libri/animalia_libri_bird.txt create mode 100644 libri/animalia_libri_cat.txt create mode 100644 libri/animalia_libri_chicken.txt create mode 100644 libri/animalia_libri_cow.txt create mode 100644 libri/animalia_libri_frog.txt create mode 100644 libri/animalia_libri_home.txt create mode 100644 libri/animalia_libri_horse.txt create mode 100644 libri/animalia_libri_pig.txt create mode 100644 libri/animalia_libri_reindeer.txt create mode 100644 libri/animalia_libri_sheep.txt create mode 100644 libri/animalia_libri_tropical_fish.txt create mode 100644 libri/animalia_libri_turkey.txt create mode 100644 libri/animalia_libri_wolf.txt delete mode 100644 sounds/cow/animalia_cow_idle.ogg create mode 100644 sounds/cow/animalia_cow_random.ogg delete mode 100644 sounds/cow/animalia_cow_random_1.ogg delete mode 100644 sounds/cow/animalia_cow_random_2.ogg delete mode 100644 sounds/cow/animalia_cow_random_3.ogg create mode 100644 textures/formspecs/libri/icons/animalia_libri_icon_last.png create mode 100644 textures/formspecs/libri/icons/animalia_libri_icon_next.png diff --git a/.luacheckrc b/.luacheckrc new file mode 100644 index 0000000..c9a9cc9 --- /dev/null +++ b/.luacheckrc @@ -0,0 +1,15 @@ +max_line_length = 120 + +globals = { + "minetest", + "animalia", + "creatura", +} + +read_globals = { + "vector", + "ItemStack", + table = {fields = {"copy"}} +} + +ignore = {"212/self", "212/this"} \ No newline at end of file diff --git a/api/api.lua b/api/api.lua index 2024346..56edac8 100644 --- a/api/api.lua +++ b/api/api.lua @@ -222,6 +222,8 @@ end ------------------------ function animalia.set_nametag(self, clicker) + local plyr_name = clicker and clicker:get_player_name() + if not plyr_name then return end local item = clicker:get_wielded_item() if item and item:get_name() ~= "animalia:nametag" then @@ -235,7 +237,7 @@ function animalia.set_nametag(self, clicker) self.nametag = self:memorize("nametag", name) self.despawn_after = self:memorize("despawn_after", nil) activate_nametag(self) - if not creative then + if not minetest.is_creative_enabled(plyr_name) then item:take_item() clicker:set_wielded_item(item) end @@ -449,6 +451,13 @@ function animalia.do_growth(self, interval) end end +function animalia.random_sound(self) + if self:timer(8) + and random(4) < 2 then + self:play_sound("random") + end +end + function animalia.add_trust(self, player, amount) self.trust_cooldown = 60 local plyr_name = player:get_player_name() @@ -459,9 +468,11 @@ function animalia.add_trust(self, player, amount) end function animalia.feed(self, player, tame, breed) + local plyr_name = clicker and clicker:get_player_name() + if not plyr_name then return end local item, item_name = self:follow_wielded_item(player) if item_name then - if not creative then + if not minetest.is_creative_enabled(plyr_name) then item:take_item() player:set_wielded_item(item) end @@ -538,10 +549,9 @@ function animalia.mount(self, player, params) animate_player(player, "sit", 30) end self.rider = player - local mob_size = self.object:get_properties().visual_size - local player_size = player:get_properties().visual_size player:set_attach(self.object, "Torso", params.pos, params.rot) player:set_eye_offset({x = 0, y = 25, z = 0}, {x = 0, y = 15, z = 15}) + self:clear_utility() end -------------- @@ -682,592 +692,4 @@ animalia.register_biome_group("common", { min_humidity = 20, max_humidity = 80, min_height = 1 -}) - ---------------- --- Libri API -- ---------------- - -local function contains_item(inventory, item) - return inventory and inventory:contains_item("main", ItemStack(item)) -end - -function animalia.get_libri(inventory) - local list = inventory:get_list("main") - for i = 1, inventory:get_size("main") do - local stack = list[i] - if stack:get_name() - and stack:get_name() == "animalia:libri_animalia" then - return stack, i - end - end -end - -local get_libri = animalia.get_libri - -function animalia.add_libri_page(self, player, page) - local inv = minetest.get_inventory({type = "player", name = player:get_player_name()}) - if contains_item(inv, "animalia:libri_animalia") then - local libri, list_i = get_libri(inv) - local pages = minetest.deserialize(libri:get_meta():get_string("pages")) or {} - if #pages > 0 then - local add_page = true - for i = 1, #pages do - if pages[i].name == page.name then - add_page = false - break - end - end - if add_page then - table.insert(pages, page) - libri:get_meta():set_string("pages", minetest.serialize(pages)) - inv:set_stack("main", list_i, libri) - return true - end - else - table.insert(pages, page) - libri:get_meta():set_string("pages", minetest.serialize(pages)) - inv:set_stack("main", list_i, libri) - return true - end - end -end - -function animalia.get_item_list(list, offset_x, offset_y) -- Creates a visual list of items for Libri formspecs - local size = 1 / #list - if size < 0.45 then size = 0.45 end - local spacing = 0.3 - local total_scale = size + spacing - local max_horiz = 3 - local form = {} - for i = 1, #list do - local vert_multi = math.floor((i - 1) / max_horiz) - local horz_multi = (total_scale * max_horiz) * vert_multi - local pos_x = offset_x + ((total_scale * i) - horz_multi) - local pos_y = offset_y + (total_scale * vert_multi ) - table.insert(form, "item_image[" .. pos_x .. "," .. pos_y .. ";" .. size .. "," .. size .. ";" .. list[i] .. "]") - end - return table.concat(form, "") -end - -local function get_inventory_cube(name) - local def = minetest.registered_nodes[name] - local tiles - if name:find(".png") then - tiles = { - name, - name, - name - } - elseif def then - tiles = table.copy(def.tiles) or table.copy(def.textures) - else - return - end - if not tiles - or type(tiles) ~= "table" - or #tiles < 1 then - return - end - for i = 1, #tiles do - if type(tiles[i]) == "table" then - tiles[i] = tiles[i].name - end - end - local cube - if #tiles < 3 then - cube = minetest.inventorycube(tiles[1], tiles[1], tiles[1]) - else - cube = minetest.inventorycube(tiles[1], tiles[3], tiles[3]) - end - return cube -end - -local function get_textures(name) - local def = minetest.registered_entities[name] - local textures = def.textures - if not textures then - if #def.female_textures < 2 then - textures = {def.female_textures[1], def.male_textures[1]} - else - textures = {} - local num = #def.female_textures - for i = 1, num do - if num + #def.male_textures < 7 then - textures = {unpack(def.male_textures), unpack(def.female_textures)} - else - if i < num * 0.5 then - table.insert(textures, def.female_textures[i]) - else - table.insert(textures, def.male_textures[i]) - end - end - end - end - end - return textures -end - -local animalia_libri_info = {} - -local libri_animal_info = { - ["animalia:bat"] = { - invcube = "default:stone", - info = { - domestication = { - "While they can't be truly", - "domesticated, Bats will begin ", - "to trust you if you feed them ", - "often. A Bat that trusts you will ", - "not flee when you walk near it.", - "This is useful as it allows ", - "Players to keep them around ", - "to harvest their guano, which ", - "can be used as a powerful ", - "fertilizer." - }, - behavior = { - "Bats are mostly harmless, and ", - "can be found hanging from ", - "trees and cliff ceilings during ", - "the day. The only harm they ", - "can cause it to property, with ", - "guano accumulating ", - "underneath them while they ", - "rest. Being social creatures, it's ", - "not uncommon to see a few ", - "hanging from ceilings together ", - "or swarming, which often ", - "occurs at evening or when a ", - "Player approaches." - } - } - }, - ["animalia:bird"] = { - info = { - domestication = { - "Cannot be tamed.", - }, - behavior = { - "Song Birds are found across ", - "various biomes, except for ", - "biomes too inhospitable like ", - "deserts or tundras. They fly in ", - "flocks that vary in size from 4 ", - "or 5 individuals to large flocks ", - "exceeding a dozen individuals. ", - "Their calls vary between ", - "species, making it easy to tell ", - "what kind of birds are around." - } - } - }, - ["animalia:cat"] = { - info = { - domestication = { - "Unlike Wolves and Horses," , - "which are almost immediately ", - "trusting upon being tamed, ", - "Cats will remain untrusting ", - "until you gain their trust. To do ", - "so, you must feed and play ", - "with it often. As trust builds ", - "the cat will become more ", - "comfortable in your presence, ", - "and will be more receptive to ", - "commands.", - }, - behavior = { - "Cats are very annoying ", - "animals, to the point that ", - "some may even call them a ", - "pest. Their behavior in the ", - "wild is somehow more tame ", - "than their domesticated ", - "behavior. They find immense ", - "joy in running front of their ", - "owner and even destroying ", - "glass vessels. Despite this, ", - "they are an incredibly popular ", - "pet, especially for those who ", - "don't often leave their home. ", - "Like Wolves, a tamed Cat will ", - "follow commands, but only if it ", - "highly trusts it's owner." - } - } - }, - ["animalia:chicken"] = { - info = { - domestication = { - "Chickens are very valuable as a ", - "livestock. They're a good ", - "source of meat, but also lay ", - "eggs. This, paired with their ", - "small size, makes them great ", - "for farming with limited space." - }, - behavior = { - "Chickens, or Jungle Fowl, are ", - "most often found in groups. ", - "They exhibit gender ", - "dimorphism to a high degree, ", - "with males having large tail ", - "feathers. In the wild, they ", - "dwell jungle floors, picking up ", - "seeds and insects." - } - } - }, - ["animalia:cow"] = { - info = { - domestication = { - "Cows are commonplace on ", - "farms because of their many ", - "uses. They can be slaughtered ", - "for beef and leather, and ", - "females can be milked. Beef is ", - "one of the most valuable ", - "meats because of how much ", - "satiation it provides, and ", - "leather is valuable for crafting ", - "various items." - }, - behavior = { - "Cows are always found in ", - "groups of 3+ individuals. ", - "Despite being capable of ", - "inflicting damage, they will ", - "always choose to flee, even ", - "when in a large group. They ", - "exhibit gender dimorphism, ", - "with females having udders on ", - "their belly." - }, - } - }, - ["animalia:frog"] = { - info = { - domestication = { - "Cannot be tamed.", - }, - behavior = { - "Frogs are small creatures ", - "almost exclusively found near ", - "bodies of water. They will flee ", - "to nearby water when a Player ", - "approaches. They have quite ", - "an affinity for water, moving ", - "faster while in it and only ", - "being able to breed when ", - "submerged. They come to land ", - "to search for food, which they ", - "catch with their long tongue." - }, - } - }, - ["animalia:horse"] = { - info = { - domestication = { - "Horses are one of the most ", - "valuable animals to ", - "domesticate because of their ", - "ability carry Players and ", - "maintain speed. They can ", - "make traversing the world far ", - "faster and easier, but aren't ", - "easy to tame. To tame one, ", - "you must keep your line of ", - "sight lined up with the Horses ", - "for a varying period of time. ", - "This process is difficult but ", - "well worth it." - }, - behavior = { - "Horses live in large groups, ", - "wandering open grasslands. ", - "They have a number of colors ", - "and patterns, which are passed ", - "down to their offspring, as ", - "well as varying jumping and ", - "running abilities." - }, - } - }, - ["animalia:reindeer"] = { - info = { - domestication = { - "Cannot be tamed.", - }, - behavior = { - "Reindeer are found in large ", - "groups in cold regions. They ", - "stick tightly togther and move ", - "in coordinated directions, even ", - "while fleeing. They're also a ", - "common food source for those ", - "lost in taigas and tundras." - } - } - }, - ["animalia:pig"] = { - info = { - domestication = { - "Pigs are not quite as versatile ", - "as other livestock like Cows or ", - "Chickens, with their only ", - "valuable resource being pork. ", - "But they have a distinct ", - "advantage by being able to ", - "have more offspring at once ", - "than Cows while also being ", - "smaller." - }, - behavior = { - "Pigs in the wild can be very ", - "destructive of ecosystems if ", - "not controlled. Their ability to ", - "reproduce quickly means ", - "keeping populations under ", - "control can be an issue. They ", - "are known to destroy farmland ", - "and will go as far as destroying ", - "fences to do so." - }, - } - }, - ["animalia:sheep"] = { - info = { - domestication = { - "Sheep are one of the most ", - "useful animals to domesticate. ", - "Their wool is a great resource ", - "for crafting and building, and is ", - "entirely renewable. Their wool ", - "can also be dyed, though there ", - "is little use for this." - }, - behavior = { - "Sheep are well known for ", - "living in large groups. In the ", - "wild these groups range from 4 ", - "to 8 individuals, larger than ", - "most other animals." - } - } - }, - ["animalia:tropical_fish"] = { - special_models = { - [3] = "animalia_angelfish.b3d" - }, - info = { - domestication = { - "Cannot be tamed." - }, - behavior = { - "All varieties of Tropical Fish ", - "can be found in schools around ", - "reefs. While they don't ", - "provide food or any resources, ", - "they are a beautiful sight to ", - "see while traversing oceans." - }, - } - }, - ["animalia:turkey"] = { - info = { - domestication = { - "Even though Turkeys take up ", - "more space than Chickens, ", - "they also produce more meat, ", - "at the cost of laying less eggs. ", - "This makes them a good option ", - "for those who don't want to ", - "build a farm large enough to ", - "support Cows or other large ", - "livestock but also don't need ", - "many eggs." - }, - behavior = { - "Turkeys are similar ", - "behaviorally to Chickens, but ", - "spawn in colder biomes and ", - "are slightly larger. They exhibit ", - "gender dimorphism, with ", - "males having a large fan of ", - "feathers on their tail." - } - } - }, - ["animalia:wolf"] = { - info = { - domestication = { - "Their intelligence allows them ", - "not only to form tight bonds ", - "with players, but to also obey ", - "orders. Once ordered to attack ", - "a target, they will pursue it and ", - "attack relentlessly, even if ", - "death certain." - }, - behavior = { - "Wolves are found in packs of ", - "up to 3. They hunt down Sheep ", - "as a group and can quickly ", - "overwhelm their target with ", - "numbers. They're also ", - "remarkebly intelligent, and ", - "will remember players who ", - "have harmed them and will ", - "attack them on sight." - } - } - } -} - --- Libri Utilities -- - -local function offset_info_text(offset_x, offset_y, tbl) - local info_text = {} - for i = 1, #tbl do - local str = tbl[i] - local center_offset = 0 - if string.len(str) < 30 then - center_offset = (30 - string.len(str)) * 0.05 - end - str = minetest.colorize("#383329", str .. "\n") - table.insert(info_text, "label[" .. offset_x + center_offset .. "," .. offset_y + i * 0.25 .. ";" .. str .. "]") - end - return table.concat(info_text, "") -end - -local function get_libri_page(mob_name, player_name) - local def = minetest.registered_entities[mob_name] - local animal_info = libri_animal_info[mob_name] - -- Get Inventory Cube and Mob Texture - local biome_groups = animalia.registered_biome_groups - local biome_group = spawn_biomes[mob_name] - local spawn_biome = biome_groups[biome_group].biomes[animalia_libri_info[player_name].biome_idx] or "grassland" - local invcube - if not minetest.registered_biomes[spawn_biome] - or not minetest.registered_biomes[spawn_biome].node_top then - invcube = get_inventory_cube("unknown_node.png") - else - invcube = get_inventory_cube(animal_info.invcube or minetest.registered_biomes[spawn_biome].node_top) - end - local texture = get_textures(mob_name)[animalia_libri_info[player_name].texture_idx] - local mesh = def.mesh - if libri_animal_info[mob_name].special_models - and libri_animal_info[mob_name].special_models[animalia_libri_info[player_name].texture_idx] then - mesh = libri_animal_info[mob_name].special_models[animalia_libri_info[player_name].texture_idx] - end - -- Create Formspec - local form = { - -- Background - "formspec_version[3]", - "size[16,10]", - "background[-0.7,-0.5;17.5,11.5;animalia_libri_bg.png]", - "image[-0.7,-0.5;17.5,11.5;animalia_libri_info_fg.png]", - -- Mesh - "model[1.5,1.5;5,5;libri_mesh;" .. mesh .. ";" .. texture .. ";-30,225;false;false;0,0;0]", - -- Spawn Biome Group - "image[0.825,8.15;1,1;" .. invcube .. "]", - "tooltip[0.825,8.15;1,1;" .. correct_name(spawn_biome) .. "]", - -- Health - "image[2.535,8.15;1,1;animalia_libri_health_fg.png]", - "label[3.25,9;x" .. def.max_health / 2 .. "]", - -- Net - "item_image[4.25,8.15;1,1;animalia:lasso]", - "image[4.75,8.75;0.5,0.5;animalia_libri_" .. tostring(def.catch_with_lasso or false) .. "_icon.png]", - -- Lasso - "item_image[6,8.15;1,1;animalia:net]", - "image[6.5,8.75;0.5,0.5;animalia_libri_" .. tostring(def.catch_with_net or false) .. "_icon.png]", - -- Labels - "label[9.5,7.25;" .. minetest.colorize("#383329", "Drops:") .. "]", - "label[14,7.25;" .. minetest.colorize("#383329", "Eats:") .. "]", - -- Info Text - "label[9.25,1.5;" .. minetest.colorize("#000000", "Domestication:") .. "]", - "label[13.5,1.5;" .. minetest.colorize("#000000", "Behavior:") .. "]", - } - -- Mob Info - if libri_animal_info[mob_name] then - if libri_animal_info[mob_name].info.domestication then - table.insert(form, offset_info_text(8.5, 2, libri_animal_info[mob_name].info.domestication)) - end - if libri_animal_info[mob_name].info.behavior then - table.insert(form, offset_info_text(12.5, 2, libri_animal_info[mob_name].info.behavior)) - end - end - if def.follow then - table.insert(form, animalia.get_item_list(def.follow, 12.35, 8.05)) - end - if def.drops then - local drops = {} - for i = 1, #def.drops do - table.insert(drops, def.drops[i].name) - end - table.insert(form, animalia.get_item_list(drops, 8, 8.05)) - end - return table.concat(form, "") -end - -local function update_libri(player_name, mob_name) - if not animalia_libri_info[player_name] - or animalia_libri_info[player_name].name ~= mob_name then - return - end - local texture_idx = animalia_libri_info[player_name].texture_idx or 1 - local biome_idx = animalia_libri_info[player_name].biome_idx or 1 - if texture_idx >= #get_textures(mob_name) then - texture_idx = 1 - else - texture_idx = texture_idx + 1 - end - local wild_biomes = animalia.registered_biome_groups[spawn_biomes[mob_name]].biomes - if biome_idx >= #wild_biomes then - biome_idx = 1 - else - biome_idx = biome_idx + 1 - end - animalia_libri_info[player_name] = { - texture_idx = texture_idx, - biome_idx = biome_idx, - name = mob_name - } - minetest.show_formspec(player_name, "animalia:libri_" .. mob_name:split(":")[2], get_libri_page(mob_name, player_name)) - minetest.after(4, function() - update_libri(player_name, mob_name) - end) -end - -minetest.register_on_player_receive_fields(function(player, formname, fields) - local player_name = player:get_player_name() - if formname == "animalia:libri_main" then - animalia_libri_info[player_name] = {} - for i = 1, #animalia.animals do - local name = animalia.animals[i]:split(":")[2] - if fields["pg_" .. name] then - -- Get data for mob and biome visuals - animalia_libri_info[player_name] = { - texture_idx = 1, - biome_idx = 1, - name = animalia.animals[i] - } - update_libri(player_name, animalia.animals[i]) - break - end - end - if fields["btn_next"] then - local pages = animalia.libri_pages[player_name] - if pages - and #pages > 1 then - animalia.show_libri_main_form(player, pages, 2) - end - end - end - if formname:match("^animalia:libri_") then - if fields.quit or fields.key_enter then - animalia_libri_info[player_name] = nil - end - end -end) \ No newline at end of file +}) \ No newline at end of file diff --git a/api/behaviors.lua b/api/behaviors.lua index bbdb4a1..967ef18 100644 --- a/api/behaviors.lua +++ b/api/behaviors.lua @@ -50,6 +50,15 @@ local yaw2dir = minetest.yaw_to_dir -- Local Tools -- ----------------- +local animate_player = {} + +if minetest.get_modpath("default") +and minetest.get_modpath("player_api") then + animate_player = player_api.set_animation +elseif minetest.get_modpath("mcl_player") then + animate_player = mcl_player.set_animation +end + local get_collision = creatura.get_collision local function get_avoidance_dir(self) @@ -114,6 +123,40 @@ end -------------- creatura.register_movement_method("animalia:fly_simple", function(self) + local box = clamp(self.width, 0.5, 1.5) + self:set_gravity(0) + local function func(_self, goal, speed_factor) + local pos = _self.object:get_pos() + if not pos then return end + -- Return true when goal is reached + if vec_dist(pos, goal) < box * 1.33 then + _self:halt() + return true + end + -- Get movement direction + local goal_dir = vec_dir(pos, goal) + local yaw = _self.object:get_yaw() + local goal_yaw = dir2yaw(goal_dir) + local speed = abs(_self.speed or 2) * speed_factor or 0.5 + local turn_rate = abs(_self.turn_rate or 5) + -- Movement + local yaw_diff = abs(diff(yaw, goal_yaw)) + if yaw_diff < pi * 0.25 then + _self:set_forward_velocity(speed) + else + _self:set_forward_velocity(speed * 0.33) + end + self:set_vertical_velocity(speed * goal_dir.y) + _self:turn_to(goal_yaw, turn_rate) + if _self.touching_ground + or _self.in_liquid then + _self.object:add_velocity({x = 0, y = 2, z = 0}) + end + end + return func +end) + +creatura.register_movement_method("animalia:fly_obstacle_avoidance", function(self) local box = clamp(self.width, 0.5, 1.5) local steer_to local steer_timer = 0.25 @@ -159,6 +202,36 @@ creatura.register_movement_method("animalia:fly_simple", function(self) end) creatura.register_movement_method("animalia:swim_simple", function(self) + local box = clamp(self.width, 0.5, 1.5) + self:set_gravity(0) + local function func(_self, goal, speed_factor) + local pos = _self.object:get_pos() + if not pos then return end + -- Return true when goal is reached + if vec_dist(pos, goal) < box * 1.33 then + _self:halt() + return true + end + -- Get movement direction + local goal_dir = vec_dir(pos, goal) + local yaw = _self.object:get_yaw() + local goal_yaw = dir2yaw(goal_dir) + local speed = abs(_self.speed or 2) * speed_factor or 0.5 + local turn_rate = abs(_self.turn_rate or 5) + -- Movement + local yaw_diff = abs(diff(yaw, goal_yaw)) + if yaw_diff < pi * 0.25 then + _self:set_forward_velocity(speed) + else + _self:set_forward_velocity(speed * 0.33) + end + self:set_vertical_velocity(speed * goal_dir.y) + _self:turn_to(goal_yaw, turn_rate) + end + return func +end) + +creatura.register_movement_method("animalia:swim_obstacle_avoidance", function(self) local box = clamp(self.width, 0.5, 1.5) local steer_to local steer_timer = 0.25 @@ -234,7 +307,7 @@ function animalia.action_pursue(self, target, timeout, method, speed_factor, ani self:set_action(func) end -function animalia.action_move_flock(self, pos2, timeout, method, speed_factor, anim) +function animalia.action_move_flock(self, pos2, timeout, method, speed_factor, anim, boid_steer) local old_boids = (self._movement_data and self._movement_data.boids) or {} local boids = (#old_boids > 2 and old_boids) or creatura.get_boid_members(self.object:get_pos(), 12, self.name) local timer = timeout or 4 @@ -265,6 +338,14 @@ function animalia.action_move_flock(self, pos2, timeout, method, speed_factor, a end end end + local steer_to = boid_steer and get_avoidance_dir(self) + if steer_to then + boid_pos2 = { + x = pos.x + steer_to.x * 2, + y = pos2.y, + z = pos.z + steer_to.z * 2 + } + end -- Main movement if timer <= 0 or not safe @@ -308,26 +389,29 @@ end function animalia.action_punch(self, target) local jump_init = false + local timeout = 2 local function func(_self) local tgt_alive, _, tgt_pos = _self:get_target(target) if not tgt_alive then return true end local pos = _self.object:get_pos() if not pos then return end local dir = vec_dir(pos, tgt_pos) - if not jump_init then - local vel = { - x = dir.x * 3, - y = 3, - z = dir.z * 3 - } - _self.object:add_velocity(vel) + if not jump_init + and _self.touching_ground then + _self.object:add_velocity({x = dir.x * 3, y = 2, z = dir.z * 3}) jump_init = true - elseif _self.touching_ground then - return true end + timeout = timeout - _self.dtime + if timeout <= 0 then return true end local dist = vec_dist(pos, tgt_pos) if dist < _self.width + 1 then _self:punch_target(target) + local knockback = minetest.calculate_knockback( + target, self.object, 1.0, + {damage_groups = {fleshy = self.damage}}, + dir, 2.0, self.damage + ) + target:add_velocity({x = dir.x * knockback, y = dir.y * knockback, z = dir.z * knockback}) return true end end @@ -452,8 +536,8 @@ end) -- Wandering creatura.register_utility("animalia:wander", function(self) - local move_chance = 5 - local idle_duration = 4 + local move_chance = self.move_chance or 5 + local idle_duration = self.idle_time or 4 local center = self.object:get_pos() if not center then return end local move = self.wander_action or creatura.action_move @@ -472,8 +556,8 @@ creatura.register_utility("animalia:wander", function(self) end) creatura.register_utility("animalia:wander_group", function(self) - local move_chance = 3 - local idle_duration = 3 + local move_chance = self.move_chance or 3 + local idle_duration = self.idle_time or 3 local center = self.object:get_pos() if not center then return end local group_tick = 500 @@ -491,7 +575,7 @@ creatura.register_utility("animalia:wander_group", function(self) local pos2 = _self:get_wander_pos(2, 3) if random(move_chance) < 2 and vec_dist(pos2, center) < _self.tracking_range * 0.5 then - move(_self, pos2, 2) + move(_self, pos2, 2, "creatura:obstacle_avoidance", 0.5, "walk", true) else creatura.action_idle(_self, random(idle_duration)) end @@ -501,8 +585,8 @@ creatura.register_utility("animalia:wander_group", function(self) end) creatura.register_utility("animalia:wander_skittish", function(self) - local move_chance = 3 - local idle_duration = 3 + local move_chance = self.move_chance or 3 + local idle_duration = self.idle_time or 3 local center = self.object:get_pos() if not center then return end local plyr_tick = 500 @@ -551,7 +635,7 @@ creatura.register_utility("animalia:aerial_wander", function(self) if not _self:get_action() then local move_dir = (vec_dist(pos, center) > 8 and vec_dir(pos, center)) or nil local pos2 = _self:get_wander_pos_3d(2, 5, move_dir) - animalia.action_move_flock(_self, pos2, 3, "animalia:fly_simple", 1, "fly") + animalia.action_move_flock(_self, pos2, 3, "animalia:fly_simple", 1, "fly", true) end end self:set_utility(func) @@ -615,7 +699,7 @@ creatura.register_utility("animalia:aquatic_wander_school", function(self) water_nodes = minetest.find_nodes_in_area(vec_sub(center, 4), vec_add(center, 4), {"group:water"}) end if not _self:get_action() then - animalia.action_move_flock(_self, water_nodes[random(#water_nodes)], 3, "animalia:swim_simple", 1, "swim") + animalia.action_move_flock(_self, water_nodes[random(#water_nodes)], 3, "animalia:swim_simple", 1, "swim", true) end end self:set_utility(func) @@ -641,7 +725,7 @@ creatura.register_utility("animalia:aquatic_wander", function(self) end if not _self:get_action() then if random(move_chance) < 2 then - creatura.action_move(_self, water_nodes[random(#water_nodes)], 3, "animalia:swim_simple", 0.5, "swim") + creatura.action_move(_self, water_nodes[random(#water_nodes)], 3, "animalia:swim_obstacle_avoidance", 0.5, "swim") else animalia.action_float(_self, random(idle_duration), "float") end @@ -811,12 +895,35 @@ end) creatura.register_utility("animalia:tame_horse", function(self) local center = self.object:get_pos() local trust = 5 + local player = self.rider + local player_props = player and player:get_properties() + if not player_props then return end + local player_size = player_props.visual_size + local mob_size = self.visual_size + local adj_size = { + x = player_size.x / mob_size.x, + y = player_size.y / mob_size.y + } + if player_size.x ~= adj_size.x then + player:set_properties({ + visual_size = adj_size + }) + end local function func(_self) local pos = _self.object:get_pos() if not pos then return end if not _self.rider or not creatura.is_alive(_self.rider) then return true end - local player = _self.rider + player = _self.rider + animate_player(player, "sit", 30) + if _self:timer(1) then + player_props = player and player:get_properties() + if player_props.visual_size.x ~= adj_size.x then + player:set_properties({ + visual_size = adj_size + }) + end + end if not _self:get_action() then if random(6) < 2 then creatura.action_idle(_self, 0.5, "punch_aoe") @@ -847,6 +954,11 @@ creatura.register_utility("animalia:tame_horse", function(self) animalia.particle_spawner(pos, "creatura_particle_green.png", "float", min_pos, max_pos) return true end + if not player + or player:get_player_control().sneak then + animalia.mount(_self, player) + return true + end end self:set_utility(func) end) @@ -898,7 +1010,7 @@ creatura.register_utility("animalia:breed", function(self) animalia.particle_spawner(pos, "heart.png", "float", minp, maxp) for _ = 1, _self.birth_count or 1 do if _self.add_child then - _self:add_child() + _self:add_child(mate) else local object = minetest.add_entity(pos, _self.name) local ent = object:get_luaentity() @@ -1010,13 +1122,19 @@ creatura.register_utility("animalia:bother_player", function(self, player) end) creatura.register_utility("animalia:mount_horse", function(self, player) - if not player or not player:get_properties() then return end - local player_size = player:get_properties().visual_size + local player_props = player and player:get_properties() + if not player_props then return end + local player_size = player_props.visual_size local mob_size = self.visual_size local adj_size = { x = player_size.x / mob_size.x, y = player_size.y / mob_size.y } + if player_size.x ~= adj_size.x then + player:set_properties({ + visual_size = adj_size + }) + end local function func(_self) if not creatura.is_alive(player) then return true @@ -1027,8 +1145,9 @@ creatura.register_utility("animalia:mount_horse", function(self, player) local control = player:get_player_control() local vel = _self.object:get_velocity() if not tyaw then return end + animate_player(player, "sit", 30) if _self:timer(1) then - local player_props = player:get_properties() + player_props = player and player:get_properties() if player_props.visual_size.x ~= adj_size.x then player:set_properties({ visual_size = adj_size @@ -1044,14 +1163,15 @@ creatura.register_utility("animalia:mount_horse", function(self, player) end end if control.jump - and _self.touching_ground then + and _self.touching_ground + and vel.y < 1 then _self.object:add_velocity({ x = 0, y = _self.jump_power + (abs(_self._movement_data.gravity) * 0.33), z = 0 }) elseif not _self.touching_ground then - speed_x = speed_x * 0.5 + speed_x = speed_x * 0.75 end if not _self.touching_ground and not _self.in_liquid @@ -1060,7 +1180,7 @@ creatura.register_utility("animalia:mount_horse", function(self, player) end local yaw = self.object:get_yaw() if abs(yaw - tyaw) > 0.1 then - _self:turn_to(tyaw) + _self:turn_to(tyaw, _self.turn_rate) end _self:set_forward_velocity(_self.speed * speed_x) _self:animate(anim) diff --git a/api/libri.lua b/api/libri.lua new file mode 100644 index 0000000..0860514 --- /dev/null +++ b/api/libri.lua @@ -0,0 +1,586 @@ +----------- +-- Libri -- +----------- + +local libri = {} + +local path = minetest.get_modpath(minetest.get_current_modname()) + +local color = minetest.colorize + +local page_spacing = 0.5 + +local libri_bg = { + "formspec_version[3]", + "size[16,10]", + "background[-0.7,-0.5;17.5,11.5;animalia_libri_bg.png]" +} + +local libri_btn_next = "image_button[15,9;1,1;animalia_libri_icon_next.png;btn_next;;true;false]" + +local libri_btn_last = "image_button[1,9;1,1;animalia_libri_icon_last.png;btn_last;;true;false]" + +local libri_drp_font_scale = "dropdown[17,0;0.75,0.5;drp_font_scale;0.25,0.5,0.75,1;1]" + +local function correct_string(str) + if str then + if str:match(":") then str = str:split(":")[2] end + return (string.gsub(" " .. str, "%W%l", string.upper):sub(2):gsub("_", " ")) + end +end + +local pages = {} + +local generate_mobs = { + ["animalia:bat"] = "Bat", + ["animalia:bird"] = "Song Bird", + ["animalia:cat"] = "Cat", + ["animalia:chicken"] = "Chicken", + ["animalia:cow"] = "Cow", + --["animalia:tropical_fish"] = "Tropical Fish", + ["animalia:frog"] = "Frog", + ["animalia:horse"] = "Horse", + ["animalia:pig"] = "Pig", + ["animalia:reindeer"] = "Reindeer", + ["animalia:sheep"] = "Sheep", + ["animalia:turkey"] = "Turkey", + ["animalia:wolf"] = "Wolf", +} + + +local spawn_biomes = { + ["animalia:bat"] = "cave", + ["animalia:bird"] = "temperate", + ["animalia:cat"] = "urban", + ["animalia:chicken"] = "tropical", + ["animalia:cow"] = "grassland", + ["animalia:tropical_fish"] = "ocean", + ["animalia:frog"] = "swamp", + ["animalia:horse"] = "grassland", + ["animalia:pig"] = "temperate", + ["animalia:reindeer"] = "boreal", + ["animalia:sheep"] = "grassland", + ["animalia:turkey"] = "boreal", + ["animalia:wolf"] = "boreal", +} + +----------- +-- Pages -- +----------- + + +local function get_spawn_biomes(name) + local biome_group = spawn_biomes[name] + local biomes = animalia.registered_biome_groups[biome_group].biomes + return (#biomes > 0 and biomes) or {"grassland"} +end + +local function can_lasso(name) + return tostring(minetest.registered_entities[name].catch_with_lasso or false) +end + +local function can_net(name) + return tostring(minetest.registered_entities[name].catch_with_net or false) +end + +local function max_health(name) + return minetest.registered_entities[name].max_health or 20 +end + +local function mob_textures(name) + local def = minetest.registered_entities[name] + return def.textures or {unpack(def.male_textures), unpack(def.female_textures)} +end + +local biome_cubes = {} + +local function generate_page(mob) + local name = mob:split(":")[2] + local page = { + { -- Info + element_type = "label", + center_text = true, + font_size = 20, + offset = {x = 9, y = 1.5}, + file = "animalia_libri_" .. name .. ".txt" + }, + { -- Image + element_type = "model", + offset = {x = 1.5, y = 1.5}, + size = {x = 5, y = 5}, + texture_iter = 1, + text = "mesh;animalia_bat.b3d;" .. mob_textures(mob)[1] .. ";-30,225;false;false;0,0;0" + }, + { -- Spawn Biome + element_type = "image", + offset = {x = 0.825, y = 8.15}, + size = {x = 1, y = 1}, + biome_iter = 1, + text = biome_cubes[get_spawn_biomes(mob)[1]] + }, + { -- Biome Label + element_type = "tooltip", + offset = {x = 0.825, y = 8.15}, + size = {x = 1, y = 1}, + biome_iter = 1, + text = correct_string(get_spawn_biomes(mob)[1]) + }, + libri.render_element({ -- Health Icon + element_type = "image", + offset = {x = 2.535, y = 8.15}, + size = {x = 1, y = 1}, + text = "animalia_libri_health_fg.png" + }), + libri.render_element({ -- Health Amount + element_type = "label", + offset = {x = 3.25, y = 9}, + text = "x" .. max_health(mob) / 2 + }), + libri.render_element({ -- Lasso Icon + element_type = "item_image", + offset = {x = 4.25, y = 8.15}, + size = {x = 1, y = 1}, + text = "animalia:lasso" + }), + libri.render_element({ -- Lasso Indication Icon + element_type = "image", + offset = {x = 4.75, y = 8.75}, + size = {x = 0.5, y = 0.5}, + text = "animalia_libri_" .. can_lasso(mob) .. "_icon.png" + }), + libri.render_element({ -- Net Icon + element_type = "item_image", + offset = {x = 6, y = 8.15}, + size = {x = 1, y = 1}, + text = "animalia:net" + }), + libri.render_element({ -- Net Indication Icon + element_type = "image", + offset = {x = 6.5, y = 8.75}, + size = {x = 0.5, y = 0.5}, + text = "animalia_libri_" .. can_net(mob) .. "_icon.png" + }), + libri.render_element({ -- Styling + element_type = "image", + offset = {x = -0.7, y = -0.5}, + size = {x = 17.5, y = 11.5}, + text = "animalia_libri_info_fg.png" + }) + } + pages[mob] = page +end + +minetest.register_on_mods_loaded(function() + -- Register Biome Cubes + for name, def in pairs(minetest.registered_biomes) do + if def.node_top then + local tiles = { + "unknown_node.png", + "unknown_node.png", + "unknown_node.png" + } + local n_def = minetest.registered_nodes[def.node_top] + if n_def then + local def_tiles = table.copy(n_def.tiles or n_def.textures) + for i, tile in ipairs(def_tiles) do + if tile.name then + def_tiles[i] = tile.name + end + end + tiles = (#def_tiles > 0 and def_tiles) or tiles + end + biome_cubes[name] = minetest.inventorycube(tiles[1], tiles[3], tiles[3]) + else + biome_cubes[name] = minetest.inventorycube("unknown_node.png", "unknown_node.png", "unknown_node.png") + end + end + pages = { + ["home_1"] = { + { -- Info + element_type = "label", + center_text = true, + font_size = 24, + offset = {x = 0.5, y = 1.5}, + file = "animalia_libri_home.txt" + }, + { + element_type = "mobs", + start_iter = 0, + offset = {x = 10.25, y = 1.5} + } + }, + ["home_2"] = { + { + element_type = "mobs", + start_iter = 4, + offset = {x = 1.75, y = 1.5} + } + }, + ["home_3"] = { + { + element_type = "mobs", + start_iter = 12, + offset = {x = 1.75, y = 1.5} + } + }, + ["animalia:tropical_fish"] = { + { -- Info + element_type = "label", + center_text = true, + font_size = 20, + offset = {x = 9, y = 1.5}, + file = "animalia_libri_tropical_fish.txt" + }, + { -- Image + element_type = "model", + offset = {x = 1.5, y = 1.5}, + size = {x = 5, y = 5}, + texture_iter = 1, + models = { + "animalia_clownfish.b3d", + "animalia_clownfish.b3d", + "animalia_angelfish.b3d" + }, + text = "mesh;animalia_clownfish.b3d;" .. mob_textures("animalia:tropical_fish")[1] .. ";-30,225;false;false;0,0;0" + }, + { -- Spawn Biome + element_type = "image", + offset = {x = 0.825, y = 8.15}, + size = {x = 1, y = 1}, + biome_iter = 1, + text = biome_cubes[get_spawn_biomes("animalia:tropical_fish")[1]] + }, + { -- Biome Label + element_type = "tooltip", + offset = {x = 0.825, y = 8.15}, + size = {x = 1, y = 1}, + biome_iter = 1, + text = correct_string(get_spawn_biomes("animalia:tropical_fish")[1]) + }, + libri.render_element({ -- Health Icon + element_type = "image", + offset = {x = 2.535, y = 8.15}, + size = {x = 1, y = 1}, + text = "animalia_libri_health_fg.png" + }), + libri.render_element({ -- Health Amount + element_type = "label", + offset = {x = 3.25, y = 9}, + text = "x" .. max_health("animalia:tropical_fish") / 2 + }), + libri.render_element({ -- Lasso Icon + element_type = "item_image", + offset = {x = 4.25, y = 8.15}, + size = {x = 1, y = 1}, + text = "animalia:lasso" + }), + libri.render_element({ -- Lasso Indication Icon + element_type = "image", + offset = {x = 4.75, y = 8.75}, + size = {x = 0.5, y = 0.5}, + text = "animalia_libri_" .. can_lasso("animalia:tropical_fish") .. "_icon.png" + }), + libri.render_element({ -- Net Icon + element_type = "item_image", + offset = {x = 6, y = 8.15}, + size = {x = 1, y = 1}, + text = "animalia:net" + }), + libri.render_element({ -- Net Indication Icon + element_type = "image", + offset = {x = 6.5, y = 8.75}, + size = {x = 0.5, y = 0.5}, + text = "animalia_libri_" .. can_net("animalia:tropical_fish") .. "_icon.png" + }), + libri.render_element({ -- Styling + element_type = "image", + offset = {x = -0.7, y = -0.5}, + size = {x = 17.5, y = 11.5}, + text = "animalia_libri_info_fg.png" + }) + } + } + for mob in pairs(generate_mobs) do + generate_page(mob) + end +end) + +--------- +-- API -- +--------- + +local function get_item_list(list, offset_x, offset_y) -- Creates a visual list of items for Libri formspecs + local size = 1 / ((#list < 3 and #list) or 3) + if size < 0.45 then size = 0.45 end + local spacing = size * 0.5 + local total_scale = size + spacing + local max_horiz = 3 + local form = "" + for i, item in ipairs(list) do + local vert_multi = math.floor((i - 1) / max_horiz) + local horz_multi = (total_scale * max_horiz) * vert_multi + local pos_x = offset_x + ((total_scale * i) - horz_multi) + local pos_y = offset_y + (total_scale * vert_multi ) + form = form .. "item_image[" .. pos_x .. "," .. pos_y .. ";" .. size .. "," .. size .. ";" .. item .. "]" + end + return form +end + +function libri.generate_list(meta, offset, start_iter) + local chapters = minetest.deserialize(meta:get_string("chapters")) or {} + local i = 0 + local elements = "" + local offset_x = offset.x + local offset_y = offset.y + for mob in pairs(chapters) do + if not mob then break end + i = i + 1 + if i > start_iter then + local mob_name = mob:split(":")[2] + local offset_txt = offset_x .. "," .. offset_y + local element = "button[" .. offset_txt .. ";4,1;btn_" .. mob_name .. ";" .. correct_string(mob_name) .. "]" + elements = elements .. element + offset_y = offset_y + 2 + if offset_y > 7.5 then + offset_x = offset_x + 8.5 + if offset_x > 10.25 then + return elements + end + offset_y = 1.5 + end + end + end + return elements +end + +function libri.render_element(def, meta, playername) + local chapters = (meta and minetest.deserialize(meta:get_string("chapters"))) or {} + local chap_no = 0 + for _ in pairs(chapters) do + chap_no = chap_no + 1 + end + local offset_x = def.offset.x + local offset_y = def.offset.y + local form = "" + -- Add text + if def.element_type == "label" then + local font_size_x = (animalia.libri_font_size[playername] or 1) + local font_size = (def.font_size or 16) * font_size_x + form = form .. "style_type[label;font_size=" .. font_size .. "]" + if def.file then + local filename = path .. "/libri/" .. def.file + local file = io.open(filename) + if file then + local i = 0 + for line in file:lines() do + i = i + 1 + local center_offset = 0 + local max_length = (def.max_line or 48) + local line_length = line:len() + local total_line_area = font_size * line_length + local total_max_area = font_size * max_length + if def.center_text + and line_length < max_length then + center_offset = ((total_max_area - total_line_area) / 100) * 0.25 + end + local line_unit = (max_length * 0.075) + local align_x = (offset_x + line_unit - (line_unit * font_size_x)) + center_offset + local align_y = offset_y + (page_spacing * font_size_x) * i + form = form .. "label[" .. align_x .. "," .. align_y .. ";" .. color("#000000", line .. "\n") .. "]" + end + file:close() + end + else + local line = def.text + form = form .. "label[" .. offset_x .. "," .. offset_y .. ";" .. color("#000000", line .. "\n") .. "]" + end + elseif def.element_type == "mobs" then + form = form .. libri.generate_list(meta, def.offset, def.start_iter) + if chap_no > def.start_iter + 4 then form = form .. libri_btn_next end + if def.start_iter > 3 then form = form .. libri_btn_last end + else + -- Add Images/Interaction + local render_element = false + if def.unlock_key + and #chapters > 0 then + for _, chapter in ipairs(chapters) do + if chapter + and chapter == def.unlock_key then + render_element = true + break + end + end + elseif not def.unlock_key then + render_element = true + end + if render_element then + local offset = def.offset.x .. "," .. def.offset.y + local size = def.size.x .. "," .. def.size.y + form = form .. def.element_type .. "[" .. offset .. ";" .. size .. ";" .. def.text .. "]" + end + end + return form +end + +local function get_page(key, meta, playername) + local form = table.copy(libri_bg) + local chapters = minetest.deserialize(meta:get_string("chapters")) or {} + local chap_no = 0 + for _ in pairs(chapters) do + chap_no = chap_no + 1 + end + local page = pages[key] + for _, element in ipairs(page) do + if type(element) == "table" then + local element_rendered = libri.render_element(element, meta, playername) + table.insert(form, element_rendered) + else + table.insert(form, element) + end + end + table.insert(form, "style[drp_font_scale;noclip=true]") + table.insert(form, libri_drp_font_scale) + table.insert(form, "style[drp_font_scale;noclip=true]") + local def = minetest.registered_entities[key] + if def then + if def.follow then + table.insert(form, get_item_list(def.follow, 12.45, 8.05)) + end + if def.drops then + local drops = {} + for i = 1, #def.drops do + table.insert(drops, def.drops[i].name) + end + table.insert(form, get_item_list(drops, 8, 8.05)) + end + end + return table.concat(form, "") +end + +-- Iterate through Animal textures and Biomes + +local libri_players = {} + +local function iterate_libri_images() + for page, elements in pairs(pages) do + if page ~= "home" then + for _, info in ipairs(elements) do + if info.texture_iter then + local textures = mob_textures(page) + if textures[info.texture_iter + 1] then + info.texture_iter = info.texture_iter + 1 + else + info.texture_iter = 1 + end + local mesh = (info.models and info.models[info.texture_iter]) or minetest.registered_entities[page].mesh + info.text = "mesh;" .. mesh .. ";" .. textures[info.texture_iter] .. ";-30,225;false;false;0,0;0]" + end + if info.biome_iter then + local biome_group = spawn_biomes[page] + local registered_groups = animalia.registered_biome_groups + if registered_groups[biome_group].biomes[info.biome_iter + 1] then + info.biome_iter = info.biome_iter + 1 + else + info.biome_iter = 1 + end + local spawn_biome = registered_groups[biome_group].biomes[info.biome_iter] or "grassland" + if info.element_type == "image" then + info.text = biome_cubes[spawn_biome] + else + info.text = correct_string(spawn_biome) + end + end + end + end + end + for name, page in pairs(libri_players) do + local player = minetest.get_player_by_name(name) + if player + and spawn_biomes[page] then + local meta = player:get_wielded_item():get_meta() + minetest.show_formspec(name, "animalia:libri_" .. page:split(":")[2], get_page(page, meta, name)) + end + end + minetest.after(2, iterate_libri_images) +end + +iterate_libri_images() + +-- Craftitem + +minetest.register_craftitem("animalia:libri_animalia", { + description = "Libri Animalia", + inventory_image = "animalia_libri_animalia.png", + stack_max = 1, + on_place = function(itemstack, player) + local meta = itemstack:get_meta() + if meta:get_string("pages") ~= "" then meta:set_string("pages", "") end + local name = player:get_player_name() + minetest.show_formspec(name, "animalia:libri_home_1", get_page("home_1", meta, name)) + libri_players[name] = "home_1" + end, + on_secondary_use = function(itemstack, player, pointed) + local meta = itemstack:get_meta() + if meta:get_string("pages") ~= "" then meta:set_string("pages", "") end + local chapters = minetest.deserialize(meta:get_string("chapters")) or {} + if pointed + and pointed.type == "object" then + local ent = pointed.ref and pointed.ref:get_luaentity() + if ent + and pages[ent.name] + and not chapters[ent.name] then + chapters[ent.name] = true + itemstack:get_meta():set_string("chapters", minetest.serialize(chapters)) + player:set_wielded_item(itemstack) + end + return itemstack + end + local name = player:get_player_name() + minetest.show_formspec(name, "animalia:libri_home_1", get_page("home_1", meta, name)) + libri_players[name] = "home_1" + end +}) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + local plyr_name = player:get_player_name() + local wielded_item = player:get_wielded_item() + local meta = wielded_item:get_meta() + if formname:match("animalia:libri_") then + for page in pairs(pages) do + if not page:match("^home") then + local name = page:split(":")[2] + if fields["btn_" .. name] then + minetest.show_formspec(plyr_name, "animalia:libri_" .. name, get_page(page, meta, plyr_name)) + libri_players[plyr_name] = page + return true + end + end + end + if fields.btn_next then + local current_no = tonumber(formname:sub(-1)) + local page = "home_" .. current_no + 1 + if pages[page] then + minetest.show_formspec(plyr_name, "animalia:libri_" .. page, get_page(page, meta, plyr_name)) + libri_players[plyr_name] = page + return true + end + end + if fields.btn_last then + local current_no = tonumber(formname:sub(-1)) + local page = "home_" .. current_no - 1 + if pages[page] then + minetest.show_formspec(plyr_name, "animalia:libri_" .. page, get_page(page, meta, plyr_name)) + libri_players[plyr_name] = page + return true + end + end + if fields.drp_font_scale then + animalia.libri_font_size[plyr_name] = fields.drp_font_scale + local page = libri_players[plyr_name] + minetest.show_formspec(plyr_name, "animalia:libri_" .. page, get_page(page, meta, plyr_name)) + end + if fields.quit or fields.key_enter then + libri_players[plyr_name] = nil + end + end +end) \ No newline at end of file diff --git a/api/spawning.lua b/api/spawning.lua index cdebc84..91b86a2 100644 --- a/api/spawning.lua +++ b/api/spawning.lua @@ -2,14 +2,6 @@ -- Spawning -- -------------- -local random = math.random - -local path = minetest.get_modpath("animalia") - -local storage = dofile(path .. "/api/storage.lua") - -animalia.spawn_points = storage.spawn_points - -- Get Biomes -- local chicken_biomes = {} @@ -44,6 +36,7 @@ creatura.register_mob_spawn("animalia:bat", { max_group = 5, biomes = animalia.registered_biome_groups["cave"].biomes, spawn_in_nodes = true, + spawn_on_gen = true, nodes = {"air", "ignore"} }) @@ -51,6 +44,7 @@ creatura.register_mob_spawn("animalia:chicken", { chance = 3, min_group = 3, max_group = 5, + spawn_on_gen = true, biomes = chicken_biomes }) @@ -58,6 +52,7 @@ creatura.register_mob_spawn("animalia:cow", { chance = 3, min_group = 3, max_group = 4, + spawn_on_gen = true, biomes = animalia.registered_biome_groups["grassland"].biomes }) @@ -73,6 +68,7 @@ creatura.register_mob_spawn("animalia:frog", { biomes = frog_biomes, spawn_cluster = true, spawn_in_nodes = true, + spawn_on_gen = true, nodes = {"default:water_source"}, }) @@ -80,6 +76,7 @@ creatura.register_mob_spawn("animalia:horse", { chance = 3, min_group = 4, max_group = 5, + spawn_on_gen = true, biomes = animalia.registered_biome_groups["grassland"].biomes }) @@ -87,6 +84,7 @@ creatura.register_mob_spawn("animalia:pig", { chance = 3, min_group = 2, max_group = 4, + spawn_on_gen = true, biomes = pig_biomes }) @@ -101,6 +99,7 @@ creatura.register_mob_spawn("animalia:sheep", { chance = 3, min_group = 3, max_group = 6, + spawn_on_gen = true, biomes = animalia.registered_biome_groups["grassland"].biomes }) @@ -108,6 +107,7 @@ creatura.register_mob_spawn("animalia:turkey", { chance = 2, min_group = 3, max_group = 4, + spawn_on_gen = true, biomes = animalia.registered_biome_groups["boreal"].biomes }) @@ -115,6 +115,7 @@ creatura.register_mob_spawn("animalia:wolf", { chance = 3, min_group = 2, max_group = 3, + spawn_on_gen = true, biomes = animalia.registered_biome_groups["boreal"].biomes }) @@ -157,194 +158,6 @@ creatura.register_mob_spawn("animalia:tropical_fish", { max_group = 12, spawn_cluster = true, spawn_in_nodes = true, + spawn_on_gen = true, nodes = {"default:water_source"} -}) - ---------------------- --- Mapgen Spawning -- ---------------------- - -local function is_value_in_table(tbl, val) - for _, v in pairs(tbl) do - if v == val then - return true - end - end - return false -end - -local function get_biome_name(pos) - if not pos then return end - return minetest.get_biome_name(minetest.get_biome_data(pos).biome) -end - -local function dist_to_nearest_player(pos) - local dist - for _, player in pairs(minetest.get_connected_players()) do - local player_pos = player:get_pos() - if player_pos - and (not dist - or dist > vector.distance(pos, player_pos)) then - dist = vector.distance(pos, player_pos) - end - end - return dist or 100 -end - -local function get_spawnable_mobs(pos) - local biome = get_biome_name(pos) - if not biome then return end - local spawnable = {} - for k, v in pairs(creatura.registered_mob_spawns) do - if (not v.biomes - or is_value_in_table(v.biomes, biome)) - and k:match("^animalia:") - and not v.spawn_in_nodes then - table.insert(spawnable, k) - end - end - return spawnable -end - -local mapgen_spawning = minetest.settings:get_bool("animalia_mapgen_spawning") or true - -animalia.chunks_since_last_spawn = 0 - -local chunk_spawn_add_int = tonumber(minetest.settings:get("chunk_spawn_add_int")) or 6 - -animalia.spawn_queue = {} - -local c_air = minetest.get_content_id("air") - -minetest.register_on_generated(function(minp, maxp) - if not mapgen_spawning then return end - animalia.chunks_since_last_spawn = animalia.chunks_since_last_spawn + 1 - local max_y = maxp.y - local min_x = minp.x - local max_x = maxp.x - local min_z = minp.z - local max_z = maxp.z - - local vm, emin, emax = minetest.get_mapgen_object("voxelmanip") - local area = VoxelArea:new{MinEdge=emin, MaxEdge=emax} - local data = vm:get_data() - - local spawn_added = false - - for xcen = min_x + 8, max_x - 7, 8 do - if spawn_added then break end - for zcen = min_z + 8, max_z - 7, 8 do - local surface = false -- y of above surface node - for y = max_y, 2, -1 do - local vi = area:index(xcen, y, zcen) - local c_node = data[vi] - if not c_node then break end - local c_name = minetest.get_name_from_content_id(c_node) - local c_def = minetest.registered_nodes[c_name] - if y == max_y and c_node ~= c_air then -- if top node solid - break - elseif minetest.get_item_group(c_name, "leaves") > 0 then - break - elseif c_def.walkable then - surface = y + 1 - break - end - end - if animalia.chunks_since_last_spawn > chunk_spawn_add_int - and surface then - local center = { - x = xcen, - y = surface, - z = zcen, - } - local spawnable_mobs = get_spawnable_mobs(center) - if spawnable_mobs - and #spawnable_mobs > 0 then - local mob = spawnable_mobs[random(#spawnable_mobs)] - local spawn_def = creatura.registered_mob_spawns[mob] - table.insert(animalia.spawn_queue, - {pos = center, mob = mob, group = random(spawn_def.min_group, spawn_def.max_group)}) - table.insert(animalia.spawn_points, center) - end - spawn_added = true - animalia.chunks_since_last_spawn = 0 - end - end - end -end) - -local respawn_interval = 15 - -minetest.register_globalstep(function(dtime) - respawn_interval = respawn_interval - dtime - if respawn_interval <= 0 then - if #animalia.spawn_points > 0 then - for i = 1, #animalia.spawn_points do - local point = animalia.spawn_points[i] - if dist_to_nearest_player(point) < 48 - and minetest.get_node_or_nil(point) then - local spawnable_mobs = get_spawnable_mobs(point) - if spawnable_mobs - and #spawnable_mobs > 0 then - local mob = spawnable_mobs[random(#spawnable_mobs)] - local objects = minetest.get_objects_inside_radius(point, 32) - local spawn = true - if #objects > 0 then - for _, object in ipairs(objects) do - local ent = object and object:get_luaentity() - if ent - and ent.name:find("animalia:") then - spawn = false - break - end - end - end - if spawn then - local spawn_def = creatura.registered_mob_spawns[mob] - table.insert(animalia.spawn_queue, - {pos = point, mob = mob, group = random(spawn_def.min_group, spawn_def.max_group)}) - end - end - end - end - end - respawn_interval = 15 - end -end) - -local chunk_spawn_queue_int = tonumber(minetest.settings:get("chunk_spawn_queue_int")) or 16 - -local function spawn_queued() - if not mapgen_spawning then return end - local queue = animalia.spawn_queue - if #queue > 0 then - for i = #queue, 1, -1 do - if queue[i].mob then - local pos = queue[i].pos - if queue[i].group > 4 - or creatura.registered_mob_spawns[queue[i].mob].spawn_cluster then - pos = creatura.get_ground_level(pos, 4) - minetest.add_node(pos, {name = "creatura:spawn_node"}) - local meta = minetest.get_meta(pos) - meta:set_string("mob", queue[i].mob) - meta:set_string("cluster", queue[i].group) - else - for _ = 1, queue[i].group do - pos = { - x = pos.x + random(-3, 3), - y = pos.y, - z = pos.z + random(-3, 3) - } - pos = creatura.get_ground_level(pos, 4) - minetest.add_node(pos, {name = "creatura:spawn_node"}) - local meta = minetest.get_meta(pos) - meta:set_string("mob", queue[i].mob) - end - end - end - table.remove(animalia.spawn_queue, i) - end - end - minetest.after(chunk_spawn_queue_int, spawn_queued) -end -minetest.after(chunk_spawn_queue_int, spawn_queued) \ No newline at end of file +}) \ No newline at end of file diff --git a/api/storage.lua b/api/storage.lua index 802c948..efbec8a 100644 --- a/api/storage.lua +++ b/api/storage.lua @@ -1,19 +1,21 @@ local mod_storage = minetest.get_mod_storage() local data = { - spawn_points = minetest.deserialize(mod_storage:get_string("spawn_points")) or {}, + spawn_points = minetest.deserialize(mod_storage:get_string("spawn_points")) or {}, + libri_font_size = minetest.deserialize(mod_storage:get_string("libri_font_size")) or {}, } local function save() - mod_storage:set_string("spawn_points", minetest.serialize(data.spawn_points)) + mod_storage:set_string("spawn_points", minetest.serialize(data.spawn_points)) + mod_storage:set_string("libri_font_size", minetest.serialize(data.libri_font_size)) end minetest.register_on_shutdown(save) minetest.register_on_leaveplayer(save) local function periodic_save() - save() - minetest.after(120, periodic_save) + save() + minetest.after(120, periodic_save) end minetest.after(120, periodic_save) diff --git a/craftitems.lua b/craftitems.lua index ce0c597..28ee1a1 100644 --- a/craftitems.lua +++ b/craftitems.lua @@ -651,7 +651,7 @@ function animalia.show_libri_main_form(player, pages, group) minetest.show_formspec(player:get_player_name(), "animalia:libri_main", basic_form) end -minetest.register_craftitem("animalia:libri_animalia", { +--[[minetest.register_craftitem("animalia:libri_animalia", { description = "Libri Animalia", inventory_image = "animalia_libri_animalia.png", stack_max = 1, @@ -671,7 +671,7 @@ minetest.register_craftitem("animalia:libri_animalia", { or #pages < 1 then return end animalia.show_libri_main_form(player, pages) end -}) +})]] -------------- -- Crafting -- diff --git a/init.lua b/init.lua index a4d4049..9873ba5 100644 --- a/init.lua +++ b/init.lua @@ -1,5 +1,12 @@ animalia = {} +local path = minetest.get_modpath("animalia") + +local storage = dofile(path .. "/api/storage.lua") + +animalia.spawn_points = storage.spawn_points +animalia.libri_font_size = storage.libri_font_size + animalia.pets = {} minetest.register_on_joinplayer(function(player) @@ -24,8 +31,6 @@ end is_day() -local path = minetest.get_modpath("animalia") - dofile(path.."/api/api.lua") dofile(path.."/api/behaviors.lua") dofile(path.."/api/lasso.lua") @@ -56,6 +61,8 @@ if minetest.settings:get_bool("spawn_mobs", true) then dofile(path.."/api/spawning.lua") end +dofile(path.."/api/libri.lua") + minetest.register_on_mods_loaded(function() for name, def in pairs(minetest.registered_entities) do if def.logic diff --git a/libri/animalia_libri_bat.txt b/libri/animalia_libri_bat.txt new file mode 100644 index 0000000..5c9eaff --- /dev/null +++ b/libri/animalia_libri_bat.txt @@ -0,0 +1,7 @@ +Bats are a unique flying mammal, found +living in large colonies underground. They +sleep clinging to the ceiling during day, and +leave at night in search of food. While the +colony sleeps, Guano accumulates beneath +them. This Guano can be picked up with a +Bucket and used as fertilizer \ No newline at end of file diff --git a/libri/animalia_libri_bird.txt b/libri/animalia_libri_bird.txt new file mode 100644 index 0000000..ffb138e --- /dev/null +++ b/libri/animalia_libri_bird.txt @@ -0,0 +1,5 @@ +Song Birds are small and brightly colored, +often seen moving in flocks swarming +through the air near their nests. Each +species has a unique call that can be used +to identify what Birds are around you. \ No newline at end of file diff --git a/libri/animalia_libri_cat.txt b/libri/animalia_libri_cat.txt new file mode 100644 index 0000000..b83fbf3 --- /dev/null +++ b/libri/animalia_libri_cat.txt @@ -0,0 +1,9 @@ +Cats are often found near Human +settlements. While typically skittish, their +trust can initially be gained by feeding +them, and further increased by playing. +They don't follow commands well but will +do better as their trust grows. However, +some habits never die. If you have Cats in +your home, never leave down glass vessels +unless you want them destroyed. \ No newline at end of file diff --git a/libri/animalia_libri_chicken.txt b/libri/animalia_libri_chicken.txt new file mode 100644 index 0000000..8153c95 --- /dev/null +++ b/libri/animalia_libri_chicken.txt @@ -0,0 +1,9 @@ +Chickens are a flightless bird, most often +found in Jungles. They live in tight flocks, +wandering along the floor in search of bugs. +Males, also called Roosters, are visually +distinguised from Females, or hens, by their +large tail feathers. Chickens are a popular +choice among farmers since they can +reliably produce eggs, giving a consistent +source of food. \ No newline at end of file diff --git a/libri/animalia_libri_cow.txt b/libri/animalia_libri_cow.txt new file mode 100644 index 0000000..9760771 --- /dev/null +++ b/libri/animalia_libri_cow.txt @@ -0,0 +1,5 @@ +Cows are large bovines that live in herds. +They're a staple of agriculture and are often +farmed on large plots of land. They produce +Milk and can be slaughtered for Beef, one +of the most filling types of meat. \ No newline at end of file diff --git a/libri/animalia_libri_frog.txt b/libri/animalia_libri_frog.txt new file mode 100644 index 0000000..9a851c7 --- /dev/null +++ b/libri/animalia_libri_frog.txt @@ -0,0 +1,7 @@ +Frogs are a small amphibian found in +Swamps. The sound of their croaks often fill +the landscape, in addition to the splashes +heard as they flee to the water from +approaching Humans. Like most +amphibians, Frogs breed in water and live in +it exclusively as tadpoles. \ No newline at end of file diff --git a/libri/animalia_libri_home.txt b/libri/animalia_libri_home.txt new file mode 100644 index 0000000..da3ecbf --- /dev/null +++ b/libri/animalia_libri_home.txt @@ -0,0 +1,13 @@ +This is a journal of all the +Animals you've met in this +world. When you find an +Animal you wish to log in this +Journal, simply right-click it. +Doing so will give valuable +information on the Animal, +including the biomes it +inhabits, if and and how it can +be tamed, and a general +overview of it's behavior. + +Good luck, Explorer! \ No newline at end of file diff --git a/libri/animalia_libri_horse.txt b/libri/animalia_libri_horse.txt new file mode 100644 index 0000000..29cbe25 --- /dev/null +++ b/libri/animalia_libri_horse.txt @@ -0,0 +1,11 @@ +Horses are large mammal found in open +plains. They're commonly used for +transportation, as they can run at high +speed for vast distances without tiring. To +tame one, you have to mount it and keep +your view aligned with the Horse's. After +taming, the Horse can be saddled and +ridden. Not every Horse is created equal, +some can jump tremendous heights, and +others can run faster. Horses will pass +these attributes down to their offspring. \ No newline at end of file diff --git a/libri/animalia_libri_pig.txt b/libri/animalia_libri_pig.txt new file mode 100644 index 0000000..091a87b --- /dev/null +++ b/libri/animalia_libri_pig.txt @@ -0,0 +1,6 @@ +Pigs are medium-sized, forest-dwelling +mammals. Males are differentiated from +Females by their tusks, which they use to +root up food. They're very destructive to +crops, so it's best to keep them well +contained if you choose to farm them. \ No newline at end of file diff --git a/libri/animalia_libri_reindeer.txt b/libri/animalia_libri_reindeer.txt new file mode 100644 index 0000000..091ef74 --- /dev/null +++ b/libri/animalia_libri_reindeer.txt @@ -0,0 +1,5 @@ +Reindeer are among the most common +animals found in arctic biomes. They move +in large herds, grazing on grass. They're a +great alternative to Cattle for those looking +to farm meat in cold regions. \ No newline at end of file diff --git a/libri/animalia_libri_sheep.txt b/libri/animalia_libri_sheep.txt new file mode 100644 index 0000000..9aed39b --- /dev/null +++ b/libri/animalia_libri_sheep.txt @@ -0,0 +1,4 @@ +Sheep are a medium mammal that live in +medium-large flocks on open prairies. While +they can be farmed for mutton, they're more +often farmed for their wool. \ No newline at end of file diff --git a/libri/animalia_libri_tropical_fish.txt b/libri/animalia_libri_tropical_fish.txt new file mode 100644 index 0000000..35bfe7c --- /dev/null +++ b/libri/animalia_libri_tropical_fish.txt @@ -0,0 +1,4 @@ +Tropical Fish travel in schools among coral +reefs. Their brilliant colors are a staple of +the ocean, but they don't offer anything as +far as food or utility. diff --git a/libri/animalia_libri_turkey.txt b/libri/animalia_libri_turkey.txt new file mode 100644 index 0000000..ee87f4b --- /dev/null +++ b/libri/animalia_libri_turkey.txt @@ -0,0 +1,7 @@ +Turkeys are a flightless bird found in colder +pine forests. As far as utility, they are +similar to Chickens, but they drop more +meat when killed. Similar to Reindeer, +they're a good alternative to other more +common livestock that don't live in the +same cold regions. \ No newline at end of file diff --git a/libri/animalia_libri_wolf.txt b/libri/animalia_libri_wolf.txt new file mode 100644 index 0000000..96ffb03 --- /dev/null +++ b/libri/animalia_libri_wolf.txt @@ -0,0 +1,5 @@ +Wolves are a relatively large canine found +in pine forests. They're easy to tame with +mutton, and are a very loyal companion. +They can be given various orders, and will +assist you while fighting. \ No newline at end of file diff --git a/mobs/bat.lua b/mobs/bat.lua index 4866ba0..77e54ba 100644 --- a/mobs/bat.lua +++ b/mobs/bat.lua @@ -24,7 +24,7 @@ local vec_dist = vector.distance local vec_add = vector.add local function vec_raise(v, n) - return {x = v.x, y = v.y + n, z = v.z} + return {x = v.x, y = v.y + n, z = v.z} end --------------- @@ -32,52 +32,52 @@ end --------------- local function get_roost(pos, range) - local walkable = minetest.find_nodes_in_area( - {x = pos.x + range, y = pos.y + range, z = pos.z + range}, - {x = pos.x - range, y = pos.y, z = pos.z - range}, - animalia.walkable_nodes - ) - if #walkable < 1 then return end - local roosts = {} - for i = 1, #walkable do - local i_pos = walkable[i] - local n_pos = { - x = i_pos.x, - y = i_pos.y - 1, - z = i_pos.z - } - if creatura.get_node_def(n_pos).name == "air" + local walkable = minetest.find_nodes_in_area( + {x = pos.x + range, y = pos.y + range, z = pos.z + range}, + {x = pos.x - range, y = pos.y, z = pos.z - range}, + animalia.walkable_nodes + ) + if #walkable < 1 then return end + local roosts = {} + for i = 1, #walkable do + local i_pos = walkable[i] + local n_pos = { + x = i_pos.x, + y = i_pos.y - 1, + z = i_pos.z + } + if creatura.get_node_def(n_pos).name == "air" and minetest.line_of_sight(pos, n_pos) then - table.insert(roosts, n_pos) - end - end - return roosts[random(#roosts)] + table.insert(roosts, n_pos) + end + end + return roosts[random(#roosts)] end local function is_node_walkable(name) - local def = minetest.registered_nodes[name] - return def and def.walkable + local def = minetest.registered_nodes[name] + return def and def.walkable end creatura.register_mob("animalia:bat", { - -- Stats - max_health = 5, - armor_groups = {fleshy = 200}, - damage = 0, - speed = 4, + -- Stats + max_health = 5, + armor_groups = {fleshy = 200}, + damage = 0, + speed = 4, tracking_range = 16, - despawn_after = 2500, + despawn_after = 2500, -- Entity Physics stepheight = 1.1, max_fall = 100, turn_rate = 12, - -- Visuals - mesh = "animalia_bat.b3d", - hitbox = { + -- Visuals + mesh = "animalia_bat.b3d", + hitbox = { width = 0.15, height = 0.3 }, - visual_size = {x = 7, y = 7}, + visual_size = {x = 7, y = 7}, textures = { "animalia_bat_1.png", "animalia_bat_2.png", @@ -86,27 +86,26 @@ creatura.register_mob("animalia:bat", { animations = { stand = {range = {x = 1, y = 40}, speed = 10, frame_blend = 0.3, loop = true}, walk = {range = {x = 50, y = 90}, speed = 30, frame_blend = 0.3, loop = true}, - fly = {range = {x = 100, y = 140}, speed = 80, frame_blend = 0.3, loop = true}, - cling = {range = {x = 150, y = 150}, speed = 1, frame_blend = 0, loop = false} + fly = {range = {x = 100, y = 140}, speed = 80, frame_blend = 0.3, loop = true}, + cling = {range = {x = 150, y = 150}, speed = 1, frame_blend = 0, loop = false} }, - -- Misc + -- Misc sounds = { random = { - name = "animalia_bat", - gain = 0.5, - distance = 16, + name = "animalia_bat", + gain = 0.5, + distance = 16, variations = 2 - }, - }, + }, + }, catch_with_net = true, catch_with_lasso = false, - follow = { + follow = { "butterflies:butterfly_red", "butterflies:butterfly_white", "butterflies:butterfly_violet" }, - -- Function - step_delay = 0.25, + -- Function roost_action = animalia.action_cling, utility_stack = { { @@ -165,7 +164,7 @@ creatura.register_mob("animalia:bat", { end } }, - activate_func = function(self) + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) self.home_position = self:recall("home_position") or nil @@ -177,8 +176,8 @@ creatura.register_mob("animalia:bat", { self.home_position = self:memorize("home_position", roost) end end - end, - step_func = function(self) + end, + step_func = function(self) animalia.step_timers(self) --animalia.head_tracking(self, 0.75, 0.75) animalia.do_growth(self, 60) @@ -245,12 +244,12 @@ creatura.register_mob("animalia:bat", { end end end - end, - death_func = function(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if animalia.feed(self, clicker, false, false) then animalia.add_trust(self, clicker, 1) @@ -259,7 +258,6 @@ creatura.register_mob("animalia:bat", { if animalia.set_nametag(self, clicker) then return end - animalia.add_libri_page(self, clicker, {name = "bat", form = "pg_bat;Bats"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/mobs/bird.lua b/mobs/bird.lua index e937c2b..187b8e8 100644 --- a/mobs/bird.lua +++ b/mobs/bird.lua @@ -48,7 +48,7 @@ creatura.register_mob("animalia:bird", { fly = {range = {x = 120, y = 140}, speed = 80, frame_blend = 0.3, loop = true} }, -- Misc - step_delay = 0.25, + makes_footstep_sound = true, catch_with_net = true, catch_with_lasso = false, sounds = { @@ -212,7 +212,6 @@ creatura.register_mob("animalia:bird", { if animalia.set_nametag(self, clicker) then return end - animalia.add_libri_page(self, clicker, {name = "bird", form = "pg_bird;Birds"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/mobs/cat.lua b/mobs/cat.lua index 2737f27..f9779d4 100644 --- a/mobs/cat.lua +++ b/mobs/cat.lua @@ -18,18 +18,18 @@ if minetest.registered_items["ethereal:fish_raw"] then end creatura.register_mob("animalia:cat", { - -- Stats - max_health = 10, - armor_groups = {fleshy = 200}, - damage = 1, - speed = 5, + -- Stats + max_health = 10, + armor_groups = {fleshy = 200}, + damage = 1, + speed = 5, tracking_range = 24, turn_rate = 9, - despawn_after = 2000, + despawn_after = 2000, -- Entity Physics stepheight = 1.1, - -- Visuals - mesh = "animalia_cat.b3d", + -- Visuals + mesh = "animalia_cat.b3d", hitbox = { width = 0.2, height = 0.4 @@ -56,41 +56,41 @@ creatura.register_mob("animalia:cat", { sit = {range = {x = 81, y = 99}, speed = 10, frame_blend = 0.3, loop = true}, smack = {range = {x = 101, y = 119}, speed = 40, frame_blend = 0.1, loop = true}, }, - -- Misc - step_delay = 0.25, + -- Misc + makes_footstep_sound = true, catch_with_net = true, catch_with_lasso = true, sounds = { - random = { - name = "animalia_cat_idle", - gain = 0.25, - distance = 8 - }, + random = { + name = "animalia_cat_idle", + gain = 0.25, + distance = 8 + }, purr = { - name = "animalia_cat_purr", - gain = 0.6, - distance = 8 - }, - hurt = { - name = "animalia_cat_hurt", - gain = 0.25, - distance = 8 - }, - death = { - name = "animalia_cat_hurt", - gain = 0.25, - distance = 8 - } + name = "animalia_cat_purr", + gain = 0.6, + distance = 8 + }, + hurt = { + name = "animalia_cat_hurt", + gain = 0.25, + distance = 8 + }, + death = { + name = "animalia_cat_hurt", + gain = 0.25, + distance = 8 + } }, - follow = follow, + follow = follow, head_data = { offset = {x = 0, y = 0.18, z = 0}, pitch_correction = -20, pivot_h = 0.65, pivot_v = 0.65 }, - -- Function - activate_func = function(self) + -- Function + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) self.interact_sound_cooldown = 0 @@ -104,7 +104,7 @@ creatura.register_mob("animalia:cat", { table.insert(animalia.pets[self.owner], self.object) end end - end, + end, utility_stack = { { utility = "animalia:wander_skittish", @@ -203,22 +203,23 @@ creatura.register_mob("animalia:cat", { end } }, - step_func = function(self) + step_func = function(self) animalia.step_timers(self) animalia.head_tracking(self, 0.75, 0.75) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) + animalia.random_sound(self) if self:timer(1) then if self.interact_sound_cooldown > 0 then self.interact_sound_cooldown = self.interact_sound_cooldown - 1 end end - end, - death_func = function(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) local item_name = clicker:get_wielded_item():get_name() if item_name == "animalia:net" then return end @@ -252,7 +253,6 @@ creatura.register_mob("animalia:cat", { self:play_sound("purr") end end - animalia.add_libri_page(self, clicker, {name = "cat", form = "pg_cat;Cats"}) if not self.owner or clicker:get_player_name() ~= self.owner then return diff --git a/mobs/chicken.lua b/mobs/chicken.lua index 2a23b26..bd0af38 100644 --- a/mobs/chicken.lua +++ b/mobs/chicken.lua @@ -5,33 +5,33 @@ local follows = {} minetest.register_on_mods_loaded(function() - for name in pairs(minetest.registered_items) do - if name:match(":seed_") + for name in pairs(minetest.registered_items) do + if name:match(":seed_") or name:match("_seed") then table.insert(follows, name) - end - end + end + end end) creatura.register_mob("animalia:chicken", { - -- Stats - max_health = 5, - armor_groups = {fleshy = 150}, - damage = 0, - speed = 4, + -- Stats + max_health = 5, + armor_groups = {fleshy = 150}, + damage = 0, + speed = 4, tracking_range = 4, - despawn_after = 1500, + despawn_after = 1500, -- Entity Physics stepheight = 1.1, max_fall = 8, turn_rate = 7, - -- Visuals - mesh = "animalia_chicken.b3d", + -- Visuals + mesh = "animalia_chicken.b3d", hitbox = { width = 0.15, height = 0.3 }, - visual_size = {x = 7, y = 7}, + visual_size = {x = 7, y = 7}, female_textures = { "animalia_chicken_1.png", "animalia_chicken_2.png", @@ -43,45 +43,48 @@ creatura.register_mob("animalia:chicken", { "animalia_rooster_3.png" }, child_textures = {"animalia_chicken_child.png"}, - animations = { + animations = { stand = {range = {x = 1, y = 39}, speed = 20, frame_blend = 0.3, loop = true}, walk = {range = {x = 41, y = 59}, speed = 30, frame_blend = 0.3, loop = true}, run = {range = {x = 41, y = 59}, speed = 45, frame_blend = 0.3, loop = true}, eat = {range = {x = 61, y = 89}, speed = 45, frame_blend = 0.3, loop = true}, - fall = {range = {x = 91, y = 99}, speed = 70, frame_blend = 0.3, loop = true} + fall = {range = {x = 91, y = 99}, speed = 70, frame_blend = 0.3, loop = true} }, - -- Misc + -- Misc + makes_footstep_sound = true, catch_with_net = true, catch_with_lasso = true, - sounds = { - random = { - name = "animalia_chicken_idle", - gain = 0.5, - distance = 8 - }, - hurt = { - name = "animalia_chicken_hurt", - gain = 0.5, - distance = 8 - }, - death = { - name = "animalia_chicken_death", - gain = 0.5, - distance = 8 - } - }, - drops = { - {name = "animalia:poultry_raw", min = 1, max = 3, chance = 1}, + sounds = { + random = { + name = "animalia_chicken_idle", + gain = 0.5, + distance = 8 + }, + hurt = { + name = "animalia_chicken_hurt", + gain = 0.5, + distance = 8 + }, + death = { + name = "animalia_chicken_death", + gain = 0.5, + distance = 8 + } + }, + drops = { + {name = "animalia:poultry_raw", min = 1, max = 3, chance = 1}, {name = "animalia:feather", min = 1, max = 3, chance = 2} - }, - follow = follows, + }, + follow = follows, head_data = { offset = {x = 0, y = 0.45, z = 0}, pitch_correction = 40, pivot_h = 0.25, pivot_v = 0.55 }, - -- Function + move_chance = 2, + idle_time = 1, + -- Function add_child = function(self) local pos = self.object:get_pos() if not pos then return end @@ -158,28 +161,31 @@ creatura.register_mob("animalia:chicken", { end } }, - activate_func = function(self) + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) - end, - step_func = function(self) + end, + step_func = function(self) animalia.step_timers(self) animalia.head_tracking(self, 0.75, 0.75) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) + animalia.random_sound(self) if self.fall_start then self:set_gravity(-4.9) self:animate("fall") end - if self:timer(60) then - animalia.random_drop_item(self, "animalia:chicken_egg", 3) + if (self.growth_scale or 1) < 0.8 + and self.gender == "female" + and self:timer(60) then + animalia.random_drop_item(self, "animalia:chicken_egg", 10) end - end, - death_func = function(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if animalia.feed(self, clicker, false, true) then return @@ -187,7 +193,6 @@ creatura.register_mob("animalia:chicken", { if animalia.set_nametag(self, clicker) then return end - animalia.add_libri_page(self, clicker, {name = "chicken", form = "pg_chicken;Chickens"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/mobs/cow.lua b/mobs/cow.lua index eabdcac..2987248 100644 --- a/mobs/cow.lua +++ b/mobs/cow.lua @@ -7,33 +7,34 @@ local random = math.random local follows = {} minetest.register_on_mods_loaded(function() - for name in pairs(minetest.registered_items) do - if (name:match(":wheat") + for name in pairs(minetest.registered_items) do + if (name:match(":wheat") or minetest.get_item_group(name, "food_wheat") > 0) + and not tonumber(name:sub(-1)) and not name:find("seed") then table.insert(follows, name) - end - end + end + end end) creatura.register_mob("animalia:cow", { - -- Stats - max_health = 20, - armor_groups = {fleshy = 150}, - damage = 0, - speed = 3, + -- Stats + max_health = 20, + armor_groups = {fleshy = 150}, + damage = 0, + speed = 3, tracking_range = 16, - despawn_after = 1500, + despawn_after = 1500, -- Entity Physics stepheight = 1.1, turn_rate = 6, - -- Visuals - mesh = "animalia_cow.b3d", + -- Visuals + mesh = "animalia_cow.b3d", hitbox = { width = 0.65, height = 1.5 }, - visual_size = {x = 10, y = 10}, + visual_size = {x = 10, y = 10}, female_textures = { "animalia_cow_1.png^animalia_cow_udder.png", "animalia_cow_2.png^animalia_cow_udder.png", @@ -57,33 +58,32 @@ creatura.register_mob("animalia:cow", { walk = {range = {x = 61, y = 79}, speed = 20, frame_blend = 0.3, loop = true}, run = {range = {x = 61, y = 79}, speed = 30, frame_blend = 0.3, loop = true}, }, - -- Misc + -- Misc step_delay = 0.25, catch_with_net = true, catch_with_lasso = true, sounds = { - random = { - name = "animalia_cow_random", - gain = 0.4, - distance = 8, - variations = 3 - }, - hurt = { - name = "animalia_cow_hurt", - gain = 0.4, - distance = 8 - }, - death = { - name = "animalia_cow_death", - gain = 0.4, - distance = 8 - } - }, - drops = { - {name = "animalia:beef_raw", min = 1, max = 3, chance = 1}, + random = { + name = "animalia_cow_random", + gain = 0.4, + distance = 8 + }, + hurt = { + name = "animalia_cow_hurt", + gain = 0.4, + distance = 8 + }, + death = { + name = "animalia_cow_death", + gain = 0.4, + distance = 8 + } + }, + drops = { + {name = "animalia:beef_raw", min = 1, max = 3, chance = 1}, {name = "animalia:leather", min = 1, max = 3, chance = 2} - }, - follow = follows, + }, + follow = follows, consumable_nodes = { ["default:dirt_with_grass"] = "default:dirt", ["default:dry_dirt_with_dry_grass"] = "default:dry_dirt" @@ -94,7 +94,7 @@ creatura.register_mob("animalia:cow", { pivot_h = 0.75, pivot_v = 1 }, - -- Function + -- Function utility_stack = { { utility = "animalia:wander", @@ -160,22 +160,23 @@ creatura.register_mob("animalia:cow", { end } }, - activate_func = function(self) + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) - self.collected = self:recall("collected") or false - end, - step_func = function(self) + self.collected = self:recall("collected") or false + end, + step_func = function(self) animalia.step_timers(self) animalia.head_tracking(self, 0.75, 0.75) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) - end, - death_func = function(self) + animalia.random_sound(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if animalia.feed(self, clicker, false, true) then return @@ -213,7 +214,6 @@ creatura.register_mob("animalia:cow", { self.collected = self:memorize("collected", true) return end - animalia.add_libri_page(self, clicker, {name = "cow", form = "pg_cow;Cows"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/mobs/frog.lua b/mobs/frog.lua index f1fc61e..d6f1d10 100644 --- a/mobs/frog.lua +++ b/mobs/frog.lua @@ -9,26 +9,26 @@ local vec_dist = vector.distance local vec_sub = vector.subtract creatura.register_mob("animalia:frog", { - -- Stats - max_health = 5, - armor_groups = {fleshy = 200}, - damage = 0, - speed = 4, + -- Stats + max_health = 5, + armor_groups = {fleshy = 200}, + damage = 0, + speed = 4, tracking_range = 16, - despawn_after = 2500, + despawn_after = 2500, -- Entity Physics stepheight = 1.1, max_fall = 0, turn_rate = 10, bouyancy_multiplier = 0, hydrodynamics_multiplier = 0.3, - -- Visuals - mesh = "animalia_frog.b3d", - hitbox = { + -- Visuals + mesh = "animalia_frog.b3d", + hitbox = { width = 0.15, height = 0.3 }, - visual_size = {x = 7, y = 7}, + visual_size = {x = 7, y = 7}, textures = { "animalia_frog_1.png", "animalia_frog_2.png" @@ -43,20 +43,19 @@ creatura.register_mob("animalia:frog", { walk = {range = {x = 50, y = 80}, speed = 50, frame_blend = 0.3, loop = true}, run = {range = {x = 50, y = 80}, speed = 60, frame_blend = 0.3, loop = true} }, - -- Misc - step_delay = 0.25, + -- Misc makes_footstep_sound = true, catch_with_net = true, catch_with_lasso = true, sounds = { random = { - name = "animalia_frog", - gain = 0.5, - distance = 32, + name = "animalia_frog", + gain = 0.5, + distance = 32, variations = 3 - } - }, - follow = { + } + }, + follow = { "butterflies:butterfly_red", "butterflies:butterfly_white", "butterflies:butterfly_violet" @@ -67,7 +66,7 @@ creatura.register_mob("animalia:frog", { pivot_h = 0.3, pivot_v = 0.3 }, - -- Function + -- Function utility_stack = { { utility = "animalia:wander", @@ -159,7 +158,7 @@ creatura.register_mob("animalia:frog", { end } }, - activate_func = function(self) + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) self.trust = self:recall("trust") or {} @@ -168,13 +167,13 @@ creatura.register_mob("animalia:frog", { local anim = {range = {x = frame, y = frame}, speed = 1, frame_blend = 0.3, loop = false} self.animations["tongue_" .. i] = anim end - end, - step_func = function(self) + end, + step_func = function(self) animalia.step_timers(self) animalia.head_tracking(self, 0.2, 0.2) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) - if self:timer(random(5, 10)) then + if self:timer(random(5, 15)) then self:play_sound("random") end local props = self.object:get_properties() @@ -184,12 +183,12 @@ creatura.register_mob("animalia:frog", { mesh = "animalia_tadpole.b3d" }) end - end, - death_func = function(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if animalia.feed(self, clicker, false, true) then animalia.add_trust(self, clicker, 1) @@ -198,7 +197,6 @@ creatura.register_mob("animalia:frog", { if animalia.set_nametag(self, clicker) then return end - animalia.add_libri_page(self, clicker, {name = "frog", form = "pg_frog;Frogs"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/mobs/horse.lua b/mobs/horse.lua index 98f02bd..a4e56eb 100644 --- a/mobs/horse.lua +++ b/mobs/horse.lua @@ -7,13 +7,13 @@ local random = math.random local follows = {} minetest.register_on_mods_loaded(function() - for name in pairs(minetest.registered_items) do - if (name:match(":wheat") + for name in pairs(minetest.registered_items) do + if (name:match(":wheat") or minetest.get_item_group(name, "food_wheat") > 0) and not name:find("seed") then table.insert(follows, name) - end - end + end + end end) local patterns = { @@ -72,24 +72,24 @@ local function set_pattern(self) end creatura.register_mob("animalia:horse", { - -- Stats - max_health = 40, - armor_groups = {fleshy = 100}, - damage = 0, - speed = 10, + -- Stats + max_health = 40, + armor_groups = {fleshy = 100}, + damage = 0, + speed = 10, tracking_range = 24, - despawn_after = 2000, + despawn_after = 2000, -- Entity Physics stepheight = 1.1, - turn_rate = 6, + turn_rate = 8, boid_seperation = 1.5, - -- Visuals - mesh = "animalia_horse.b3d", + -- Visuals + mesh = "animalia_horse.b3d", hitbox = { width = 0.65, height = 1.95 }, - visual_size = {x = 10, y = 10}, + visual_size = {x = 10, y = 10}, textures = { "animalia_horse_1.png", "animalia_horse_2.png", @@ -107,33 +107,33 @@ creatura.register_mob("animalia:horse", { rear_constant = {range = {x = 121, y = 140}, speed = 20, frame_blend = 0.3, loop = false}, eat = {range = {x = 141, y = 160}, speed = 20, frame_blend = 0.3, loop = false} }, - -- Misc - step_delay = 0.25, + -- Misc + makes_footstep_sound = true, catch_with_net = true, catch_with_lasso = true, - sounds = { - alter_child_pitch = true, - random = { + sounds = { + alter_child_pitch = true, + random = { name = "animalia_horse_idle", gain = 1.0, distance = 8, variations = 3, }, - hurt = { - name = "animalia_horse_hurt", - gain = 1.0, - distance = 8 - }, - death = { - name = "animalia_horse_death", - gain = 1.0, - distance = 8 - } - }, - drops = { + hurt = { + name = "animalia_horse_hurt", + gain = 1.0, + distance = 8 + }, + death = { + name = "animalia_horse_death", + gain = 1.0, + distance = 8 + } + }, + drops = { {name = "animalia:leather", min = 1, max = 4, chance = 2} - }, - follow = follows, + }, + follow = follows, consumable_nodes = { ["default:dirt_with_grass"] = "default:dirt", ["default:dry_dirt_with_dry_grass"] = "default:dry_dirt" @@ -145,7 +145,30 @@ creatura.register_mob("animalia:horse", { pivot_h = 1, pivot_v = 1.5 }, - -- Function + -- Function + add_child = function(self, mate) + local pos = self.object:get_pos() + if not pos then return end + local obj = minetest.add_entity(pos, self.name) + local ent = obj and obj:get_luaentity() + if not ent then return end + ent.growth_scale = 0.7 + local tex_no = self.texture_no + local mate_ent = mate and mate:get_luaentity() + if not mate_ent then return end + if random(2) < 2 then + tex_no = mate_ent.texture_no + end + ent:memorize("texture_no", tex_no) + ent:memorize("speed", random(mate_ent.speed, self.speed)) + ent:memorize("jump_power", random(mate_ent.jump_power, self.jump_power)) + ent:memorize("max_health", random(mate_ent.max_health, self.max_health)) + ent.speed = ent:recall("speed") + ent.jump_power = ent:recall("jump_power") + ent.max_health = ent:recall("max_health") + animalia.initialize_api(ent) + animalia.protect_from_despawn(ent) + end, wander_action = animalia.action_move_flock, utility_stack = { { @@ -235,7 +258,7 @@ creatura.register_mob("animalia:horse", { end } }, - activate_func = function(self) + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) set_pattern(self) @@ -262,18 +285,19 @@ creatura.register_mob("animalia:horse", { {name = "animalia:saddle", chance = 1, min = 1, max = 1} } end - end, - step_func = function(self) + end, + step_func = function(self) animalia.step_timers(self) animalia.head_tracking(self) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) - end, - death_func = function(self) + animalia.random_sound(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if animalia.feed(self, clicker, false, true) then return @@ -284,7 +308,7 @@ creatura.register_mob("animalia:horse", { local tool = clicker:get_wielded_item() local tool_name = clicker:get_wielded_item():get_name() if self.owner - and self.owner == clicker:get_player_name() then + and self.owner == clicker:get_player_name() then if self.saddled and tool_name == "" then animalia.mount(self, clicker, {rot = {x = -75, y = 180, z = 0}, pos = {x = 0, y = 0.6, z = 0.5}}) @@ -302,11 +326,10 @@ creatura.register_mob("animalia:horse", { tool:take_item() clicker:set_wielded_item(tool) end - elseif not self.owner + elseif not self.owner and tool_name == "" then - animalia.mount(self, clicker, {rot = {x = -60, y = 180, z = 0}, pos = {x = 0, y = 1.1, z = 0.5}}) + animalia.mount(self, clicker, {rot = {x = -75, y = 180, z = 0}, pos = {x = 0, y = 0.6, z = 0.5}}) end - animalia.add_libri_page(self, clicker, {name = "horse", form = "pg_horse;Horses"}) end, on_punch = function(self, puncher, ...) if self.rider and puncher == self.rider then return end diff --git a/mobs/pig.lua b/mobs/pig.lua index 7429d8d..5f31a6e 100644 --- a/mobs/pig.lua +++ b/mobs/pig.lua @@ -5,13 +5,13 @@ local follows = {} minetest.register_on_mods_loaded(function() - for name in pairs(minetest.registered_items) do - if name:match(":carrot") + for name in pairs(minetest.registered_items) do + if name:match(":carrot") and (minetest.get_item_group(name, "food") > 0 or minetest.get_item_group(name, "food_carrot") > 0) then table.insert(follows, name) - end - end + end + end end) local destroyable_crops = {} @@ -26,18 +26,18 @@ minetest.register_on_mods_loaded(function() end) creatura.register_mob("animalia:pig", { - -- Stats - max_health = 10, - armor_groups = {fleshy = 100}, - damage = 0, - speed = 3, + -- Stats + max_health = 10, + armor_groups = {fleshy = 100}, + damage = 0, + speed = 3, tracking_range = 16, - despawn_after = 1500, + despawn_after = 1500, -- Entity Physics stepheight = 1.1, turn_rate = 6, - -- Visuals - mesh = "animalia_pig.b3d", + -- Visuals + mesh = "animalia_pig.b3d", hitbox = { width = 0.35, height = 0.7 @@ -63,34 +63,34 @@ creatura.register_mob("animalia:pig", { walk = {range = {x = 1, y = 20}, speed = 30, frame_blend = 0.3, loop = true}, run = {range = {x = 1, y = 20}, speed = 45, frame_blend = 0.3, loop = true}, }, - -- Misc - step_delay = 0.25, + -- Misc + makes_footstep_sound = true, consumable_nodes = destroyable_crops, birth_count = 2, catch_with_net = true, catch_with_lasso = true, sounds = { - random = { - name = "animalia_pig_idle", - gain = 1.0, - distance = 8 - }, - hurt = { - name = "animalia_pig_hurt", + random = { + name = "animalia_pig_idle", gain = 1.0, - distance = 8 - }, - death = { - name = "animalia_pig_death", + distance = 8 + }, + hurt = { + name = "animalia_pig_hurt", gain = 1.0, - distance = 8 - } - }, - drops = { - {name = "animalia:porkchop_raw", min = 1, max = 3, chance = 1} - }, - follow = follows, - -- Function + distance = 8 + }, + death = { + name = "animalia_pig_death", + gain = 1.0, + distance = 8 + } + }, + drops = { + {name = "animalia:porkchop_raw", min = 1, max = 3, chance = 1} + }, + follow = follows, + -- Function utility_stack = { [1] = { utility = "animalia:wander", @@ -144,20 +144,21 @@ creatura.register_mob("animalia:pig", { end } }, - activate_func = function(self) + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) - end, - step_func = function(self) + end, + step_func = function(self) animalia.step_timers(self) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) - end, - death_func = function(self) + animalia.random_sound(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if animalia.feed(self, clicker, false, true) then return @@ -165,7 +166,6 @@ creatura.register_mob("animalia:pig", { if animalia.set_nametag(self, clicker) then return end - animalia.add_libri_page(self, clicker, {name = "pig", form = "pg_pig;Pigs"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/mobs/reindeer.lua b/mobs/reindeer.lua index b0caa22..95525dd 100644 --- a/mobs/reindeer.lua +++ b/mobs/reindeer.lua @@ -5,36 +5,36 @@ local follows = {} minetest.register_on_mods_loaded(function() - for name in pairs(minetest.registered_items) do - if (name:match(":wheat") + for name in pairs(minetest.registered_items) do + if (name:match(":wheat") or minetest.get_item_group(name, "food_wheat") > 0) and not name:find("seed") then table.insert(follows, name) - end - end + end + end end) local random = math.random creatura.register_mob("animalia:reindeer", { - -- Stats - max_health = 20, - armor_groups = {fleshy = 125}, - damage = 0, - speed = 3, + -- Stats + max_health = 20, + armor_groups = {fleshy = 125}, + damage = 0, + speed = 3, boid_seperation = 1, tracking_range = 16, - despawn_after = 1500, + despawn_after = 1500, -- Entity Physics stepheight = 1.1, turn_rate = 4, - -- Visuals - mesh = "animalia_reindeer.b3d", + -- Visuals + mesh = "animalia_reindeer.b3d", hitbox = { width = 0.45, height = 0.9 }, - visual_size = {x = 10, y = 10}, + visual_size = {x = 10, y = 10}, textures = {"animalia_reindeer.png"}, child_textures = {"animalia_reindeer_calf.png"}, animations = { @@ -42,15 +42,15 @@ creatura.register_mob("animalia:reindeer", { walk = {range = {x = 70, y = 110}, speed = 40, frame_blend = 0.3, loop = true}, run = {range = {x = 70, y = 110}, speed = 50, frame_blend = 0.3, loop = true}, }, - -- Misc - step_delay = 0.25, + -- Misc + makes_footstep_sound = true, catch_with_net = true, catch_with_lasso = true, - drops = { - {name = "animalia:venison_raw", min = 1, max = 3, chance = 1}, + drops = { + {name = "animalia:venison_raw", min = 1, max = 3, chance = 1}, {name = "animalia:leather", min = 1, max = 3, chance = 2} - }, - follow = follows, + }, + follow = follows, consumable_nodes = { { name = "default:dirt_with_grass", @@ -67,7 +67,9 @@ creatura.register_mob("animalia:reindeer", { pivot_h = 1, pivot_v = 1 }, - -- Function + move_chance = 2, + idle_time = 1, + -- Function utility_stack = { { utility = "animalia:wander_group", @@ -133,21 +135,21 @@ creatura.register_mob("animalia:reindeer", { end } }, - activate_func = function(self) + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) - end, - step_func = function(self) + end, + step_func = function(self) animalia.step_timers(self) animalia.head_tracking(self, 0.75, 0.75) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) - end, - death_func = function(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if animalia.feed(self, clicker, false, true) then return @@ -155,7 +157,6 @@ creatura.register_mob("animalia:reindeer", { if animalia.set_nametag(self, clicker) then return end - animalia.add_libri_page(self, clicker, {name = "reindeer", form = "pg_reindeer;Reindeer"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/mobs/sheep.lua b/mobs/sheep.lua index 67ae3bd..94ea92c 100644 --- a/mobs/sheep.lua +++ b/mobs/sheep.lua @@ -7,13 +7,13 @@ local random = math.random local follows = {} minetest.register_on_mods_loaded(function() - for name in pairs(minetest.registered_items) do - if (name:match(":wheat") + for name in pairs(minetest.registered_items) do + if (name:match(":wheat") or minetest.get_item_group(name, "food_wheat") > 0) and not name:find("seed") then table.insert(follows, name) - end - end + end + end end) local wool_block = "wool:white" @@ -43,17 +43,17 @@ local palette = { } creatura.register_mob("animalia:sheep", { - -- Stats - max_health = 15, - armor_groups = {fleshy = 125}, - damage = 0, - speed = 3, + -- Stats + max_health = 15, + armor_groups = {fleshy = 125}, + damage = 0, + speed = 3, tracking_range = 16, - despawn_after = 1500, + despawn_after = 1500, -- Entity Physics stepheight = 1.1, - -- Visuals - mesh = "animalia_sheep.b3d", + -- Visuals + mesh = "animalia_sheep.b3d", hitbox = { width = 0.4, height = 0.8 @@ -70,32 +70,32 @@ creatura.register_mob("animalia:sheep", { walk = {range = {x = 70, y = 110}, speed = 40, frame_blend = 0.3, loop = true}, run = {range = {x = 70, y = 110}, speed = 50, frame_blend = 0.3, loop = true}, }, - -- Misc - step_delay = 0.25, + -- Misc + makes_footstep_sound = true, catch_with_net = true, catch_with_lasso = true, sounds = { - random = { - name = "animalia_sheep_idle", - gain = 1.0, - distance = 8 - }, - hurt = { - name = "animalia_sheep_hurt", + random = { + name = "animalia_sheep_idle", gain = 1.0, - distance = 8 - }, - death = { - name = "animalia_sheep_death", + distance = 8 + }, + hurt = { + name = "animalia_sheep_hurt", gain = 1.0, - distance = 8 - } - }, - drops = { - {name = "animalia:mutton_raw", min = 1, max = 3, chance = 1}, + distance = 8 + }, + death = { + name = "animalia_sheep_death", + gain = 1.0, + distance = 8 + } + }, + drops = { + {name = "animalia:mutton_raw", min = 1, max = 3, chance = 1}, {name = wool_block, min = 1, max = 3, chance = 2} - }, - follow = follows, + }, + follow = follows, consumable_nodes = { ["default:dirt_with_grass"] = "default:dirt", ["default:dry_dirt_with_dry_grass"] = "default:dry_dirt" @@ -106,7 +106,7 @@ creatura.register_mob("animalia:sheep", { pivot_h = 0.75, pivot_v = 0.85 }, - -- Function + -- Function utility_stack = { { utility = "animalia:wander_group", @@ -174,8 +174,8 @@ creatura.register_mob("animalia:sheep", { end } }, - activate_func = function(self) - self.collected = self:recall("collected") or false + activate_func = function(self) + self.collected = self:recall("collected") or false self.dye_color = self:recall("dye_color") or "white" self.dye_hex = self:recall("dye_hex") or "" if self.dye_color ~= "white" @@ -189,22 +189,23 @@ creatura.register_mob("animalia:sheep", { textures = {"animalia_sheep.png"}, }) end - self.attention_span = 8 - self._path = {} + self.attention_span = 8 + self._path = {} animalia.initialize_api(self) animalia.initialize_lasso(self) - end, - step_func = function(self) + end, + step_func = function(self) animalia.step_timers(self) animalia.head_tracking(self, 0.75, 0.75) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) - end, - death_func = function(self) + animalia.random_sound(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if animalia.feed(self, clicker, false, true) then return @@ -265,7 +266,6 @@ creatura.register_mob("animalia:sheep", { end end end - animalia.add_libri_page(self, clicker, {name = "sheep", form = "pg_sheep;Sheep"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/mobs/tropical_fish.lua b/mobs/tropical_fish.lua index bc28b98..4004615 100644 --- a/mobs/tropical_fish.lua +++ b/mobs/tropical_fish.lua @@ -3,41 +3,41 @@ ---------- creatura.register_mob("animalia:tropical_fish", { - -- Stats - max_health = 5, - armor_groups = {fleshy = 150}, - damage = 0, - speed = 2, + -- Stats + max_health = 5, + armor_groups = {fleshy = 150}, + damage = 0, + speed = 2, tracking_range = 6, - despawn_after = 2500, + despawn_after = 2500, -- Entity Physics stepheight = 0.1, max_fall = 0, turn_rate = 8, boid_seperation = 0.3, bouyancy_multiplier = 0, - -- Visuals - mesh = "animalia_clownfish.b3d", + -- Visuals + mesh = "animalia_clownfish.b3d", hitbox = { width = 0.15, height = 0.3 }, - visual_size = {x = 7, y = 7}, + visual_size = {x = 7, y = 7}, textures = { "animalia_clownfish.png", "animalia_blue_tang.png", "animalia_angelfish.png" }, - animations = { + animations = { swim = {range = {x = 1, y = 20}, speed = 20, frame_blend = 0.3, loop = true}, flop = {range = {x = 30, y = 40}, speed = 20, frame_blend = 0.3, loop = true}, }, - -- Misc + -- Misc step_delay = 0.25, catch_with_net = true, catch_with_lasso = false, makes_footstep_sound = false, - -- Function + -- Function utility_stack = { { utility = "animalia:aquatic_wander_school", @@ -58,7 +58,7 @@ creatura.register_mob("animalia:tropical_fish", { end }, }, - activate_func = function(self) + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) if self.texture_no == 3 then @@ -66,22 +66,21 @@ creatura.register_mob("animalia:tropical_fish", { mesh = "animalia_angelfish.b3d", }) end - end, - step_func = function(self) + end, + step_func = function(self) animalia.step_timers(self) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) - end, - death_func = function(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if animalia.set_nametag(self, clicker) then return end - animalia.add_libri_page(self, clicker, {name = "tropical_fish", form = "pg_tropical_fish;Tropical Fish"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/mobs/turkey.lua b/mobs/turkey.lua index c62a226..79df55e 100644 --- a/mobs/turkey.lua +++ b/mobs/turkey.lua @@ -5,74 +5,76 @@ local follows = {} minetest.register_on_mods_loaded(function() - for name in pairs(minetest.registered_items) do - if name:match(":seed_") + for name in pairs(minetest.registered_items) do + if name:match(":seed_") or name:match("_seed") then table.insert(follows, name) - end - end + end + end end) creatura.register_mob("animalia:turkey", { - -- Stats - max_health = 10, - armor_groups = {fleshy = 150}, - damage = 0, - speed = 4, + -- Stats + max_health = 10, + armor_groups = {fleshy = 150}, + damage = 0, + speed = 4, tracking_range = 16, - despawn_after = 1500, + despawn_after = 1500, -- Entity Physics stepheight = 1.1, max_fall = 8, - -- Visuals - mesh = "animalia_turkey.b3d", + -- Visuals + mesh = "animalia_turkey.b3d", hitbox = { width = 0.3, height = 0.6 }, - visual_size = {x = 7, y = 7}, + visual_size = {x = 7, y = 7}, female_textures = {"animalia_turkey_hen.png"}, male_textures = {"animalia_turkey_tom.png"}, child_textures = {"animalia_turkey_chick.png"}, - animations = { + animations = { stand = {range = {x = 0, y = 0}, speed = 1, frame_blend = 0.3, loop = true}, walk = {range = {x = 10, y = 30}, speed = 30, frame_blend = 0.3, loop = true}, run = {range = {x = 40, y = 60}, speed = 45, frame_blend = 0.3, loop = true}, - fall = {range = {x = 70, y = 90}, speed = 30, frame_blend = 0.3, loop = true}, + fall = {range = {x = 70, y = 90}, speed = 30, frame_blend = 0.3, loop = true}, }, - -- Misc - step_delay = 0.25, + -- Misc + makes_footstep_sound = true, catch_with_net = true, catch_with_lasso = true, - sounds = { - random = { - name = "animalia_turkey_idle", - gain = 1.0, - distance = 8 - }, - hurt = { - name = "animalia_turkey_hurt", - gain = 1.0, - distance = 8 - }, - death = { - name = "animalia_turkey_death", - gain = 1.0, - distance = 8 - } - }, - drops = { - {name = "animalia:poultry_raw", min = 2, max = 4, chance = 1}, + sounds = { + random = { + name = "animalia_turkey_idle", + gain = 1.0, + distance = 8 + }, + hurt = { + name = "animalia_turkey_hurt", + gain = 1.0, + distance = 8 + }, + death = { + name = "animalia_turkey_death", + gain = 1.0, + distance = 8 + } + }, + drops = { + {name = "animalia:poultry_raw", min = 2, max = 4, chance = 1}, {name = "animalia:feather", min = 2, max = 4, chance = 2} - }, - follow = follows, + }, + follow = follows, head_data = { offset = {x = 0, y = 0.15, z = 0}, pitch_correction = 45, pivot_h = 0.45, pivot_v = 0.65 }, - -- Function + move_chance = 2, + idle_time = 1, + -- Function add_child = function(self) local pos = self.object:get_pos() if not pos then return end @@ -147,28 +149,31 @@ creatura.register_mob("animalia:turkey", { end } }, - activate_func = function(self) + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) - end, - step_func = function(self) + end, + step_func = function(self) animalia.step_timers(self) animalia.head_tracking(self, 0.75, 0.75) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) + animalia.random_sound(self) if self.fall_start then self:set_gravity(-4.9) self:animate("fall") end - if self:timer(60) then - animalia.random_drop_item(self, "animalia:chicken_egg", 3) + if (self.growth_scale or 1) < 0.8 + and self.gender == "female" + and self:timer(60) then + animalia.random_drop_item(self, "animalia:turkey_egg", 10) end - end, - death_func = function(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if animalia.feed(self, clicker, false, true) then return @@ -176,7 +181,6 @@ creatura.register_mob("animalia:turkey", { if animalia.set_nametag(self, clicker) then return end - animalia.add_libri_page(self, clicker, {name = "turkey", form = "pg_turkey;Turkeys"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/mobs/wolf.lua b/mobs/wolf.lua index 3ace9c6..fa3d353 100644 --- a/mobs/wolf.lua +++ b/mobs/wolf.lua @@ -35,32 +35,32 @@ if minetest.registered_items["bonemeal:bone"] then end local function is_value_in_table(tbl, val) - for _, v in pairs(tbl) do - if v == val then - return true - end - end - return false + for _, v in pairs(tbl) do + if v == val then + return true + end + end + return false end creatura.register_mob("animalia:wolf", { - -- Stats - max_health = 15, - armor_groups = {fleshy = 100}, - damage = 4, - speed = 5, + -- Stats + max_health = 15, + armor_groups = {fleshy = 100}, + damage = 4, + speed = 5, tracking_range = 24, - despawn_after = 2000, + despawn_after = 2000, -- Entity Physics stepheight = 1.1, max_fall = 3, - -- Visuals - mesh = "animalia_wolf.b3d", + -- Visuals + mesh = "animalia_wolf.b3d", hitbox = { width = 0.35, height = 0.7 }, - visual_size = {x = 9, y = 9}, + visual_size = {x = 9, y = 9}, textures = { "animalia_wolf_1.png", "animalia_wolf_2.png", @@ -73,19 +73,19 @@ creatura.register_mob("animalia:wolf", { run = {range = {x = 41, y = 59}, speed = 45, frame_blend = 0.3, loop = true}, sit = {range = {x = 61, y = 79}, speed = 20, frame_blend = 0.3, loop = true}, }, - -- Misc - step_delay = 0.25, + -- Misc + makes_footstep_sound = true, catch_with_net = true, catch_with_lasso = true, assist_owner = true, - follow = follow, + follow = follow, head_data = { offset = {x = 0, y = 0.33, z = 0}, pitch_correction = -67, pivot_h = 0.65, pivot_v = 0.65 }, - -- Function + -- Function utility_stack = { { utility = "animalia:wander_skittish", @@ -155,7 +155,7 @@ creatura.register_mob("animalia:wolf", { end } }, - activate_func = function(self) + activate_func = function(self) animalia.initialize_api(self) animalia.initialize_lasso(self) self.order = self:recall("order") or "wander" @@ -167,18 +167,18 @@ creatura.register_mob("animalia:wolf", { table.insert(animalia.pets[self.owner], self.object) end end - end, - step_func = function(self) + end, + step_func = function(self) animalia.step_timers(self) animalia.head_tracking(self, 0.5, 0.75) animalia.do_growth(self, 60) animalia.update_lasso_effects(self) - end, - death_func = function(self) + end, + death_func = function(self) if self:get_utility() ~= "animalia:die" then self:initiate_utility("animalia:die", self) end - end, + end, on_rightclick = function(self, clicker) if not clicker:is_player() then return end local name = clicker:get_player_name() @@ -211,7 +211,6 @@ creatura.register_mob("animalia:wolf", { end self:memorize("order", self.order) end - animalia.add_libri_page(self, clicker, {name = "wolf", form = "pg_wolf;Wolves"}) end, on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) creatura.basic_punch_func(self, puncher, time_from_last_punch, tool_capabilities, direction, damage) diff --git a/sounds/cow/animalia_cow_death.ogg b/sounds/cow/animalia_cow_death.ogg index 10b278ede156bf945220520e67d27ae8681b8ca0..05b2e3d598b7085b84d2f9540870bf46bbb05986 100644 GIT binary patch delta 12754 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 MUl?`UIuii@2az->n*aa+ literal 22419 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 O;BEvEegru3fA}BET*}1& diff --git a/sounds/cow/animalia_cow_hurt.ogg b/sounds/cow/animalia_cow_hurt.ogg index aa1fa420fce8c5d82837576eccf409d14fe0e1a1..a5110c94a22ddfb8cab0c4b7ba2c6ef39386704f 100644 GIT binary patch delta 5097 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 CagXKz diff --git a/sounds/cow/animalia_cow_random.ogg b/sounds/cow/animalia_cow_random.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cb8903337421913177836590e8572ce9fd55998a GIT binary patch literal 9954 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 diff --git a/sounds/cow/animalia_cow_random_2.ogg b/sounds/cow/animalia_cow_random_2.ogg deleted file mode 100644 index a9dc2531cc5a19107c2dbf035b15db4aaba8c88b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28498 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 z 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 buU`KbTr*T@8%MJr00000NkvXXu0mjfWqnHu literal 19243 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 z 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 literal 0 HcmV?d00001