diff --git a/README.md b/README.md index 91758085..17fa06ae 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,8 @@ The following mods are also included: * farming/ * [farming_plus][] ([WTFPL](mods/farming/farming_plus/README.txt)) * friendlies/ - * animals_clownfish ([animals_modpack][]) ([CC-BY-SA](mods/friendlies/animal_clownfish/License.txt)) + * animal_clownfish ([animals_modpack][]) ([CC-BY-SA](mods/friendlies/animal_clownfish/License.txt)) + * animal_fish_blue_white ([animals_modpack][]) ([CC-BY-SA](mods/friendlies/animal_fish_blue_white/License.txt)) * chicken ([Creatures MOB-Engine][cme]) * sheep ([Creatures MOB-Engine][cme]) * hostils/ diff --git a/mods/friendlies/animal_fish_blue_white/License.txt b/mods/friendlies/animal_fish_blue_white/License.txt new file mode 100644 index 00000000..15877d80 --- /dev/null +++ b/mods/friendlies/animal_fish_blue_white/License.txt @@ -0,0 +1,5 @@ +Licenses + +Everything not mentioned: + CC-BY-SA 3.0, Author sapier + URL: http://creativecommons.org/licenses/by-sa/3.0/de/legalcode \ No newline at end of file diff --git a/mods/friendlies/animal_fish_blue_white/depends.txt b/mods/friendlies/animal_fish_blue_white/depends.txt new file mode 100644 index 00000000..6ca107db --- /dev/null +++ b/mods/friendlies/animal_fish_blue_white/depends.txt @@ -0,0 +1,5 @@ +default +animalmaterials +mob_environments +mobf +intllib? diff --git a/mods/friendlies/animal_fish_blue_white/init.lua b/mods/friendlies/animal_fish_blue_white/init.lua new file mode 100644 index 00000000..d3838415 --- /dev/null +++ b/mods/friendlies/animal_fish_blue_white/init.lua @@ -0,0 +1,174 @@ +-- Boilerplate to support localized strings if intllib mod is installed. +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function ( s ) return s end +end + +local version = "0.2.0" + +minetest.log("action","MOD: animal_fish_blue_white loading ...") + +local selectionbox_fish_blue_white = {-0.25, -0.25, -0.25, 0.25, 0.25, 0.25} + +local fish_blue_white_groups = { + not_in_creative_inventory=1 + } + +function fish_blue_white_drop() + local result = {} + + if math.random() < 0.01 then + table.insert(result,"animalmaterials:scale_blue 1") + end + + if math.random() < 0.01 then + table.insert(result,"animalmaterials:scale_white 1") + end + + table.insert(result,"animalmaterials:fish_bluewhite 3") + + return result +end + +local fish_blue_white_prototype = { + name="fish_blue_white", + modname="animal_fish_blue_white", + + factions = { + member = { + "animals", + "fish" + } + }, + + generic = { + description= S("Blue white fish"), + base_health=5, + kill_result=fish_blue_white_drop, + armor_groups= { + fleshy=80, + }, + groups = fish_blue_white_groups, + envid="shallow_waters", + population_density=150, + }, + movement = { + default_gen="probab_mov_gen", + min_accel=0.1, + max_accel=0.3, + max_speed=0.8, + pattern="swim_pattern1", + canfly=true, + }, + catching = { + tool="animalmaterials:net", + consumed=true, + }, + animation = { + swim = { + start_frame = 81, + end_frame = 155, + }, + stand = { + start_frame = 1, + end_frame = 80, + }, + }, + states = { + { + name = "default", + movgen = "none", + chance = 0, + animation = "stand", + graphics_3d = { + visual = "mesh", + mesh = "fish_blue_white.b3d", + textures = {"fish_blue_white_mesh.png"}, + collisionbox = selectionbox_fish_blue_white, + visual_size= {x=1,y=1,z=1}, + }, + graphics = { + sprite_scale={x=2,y=1}, + sprite_div = {x=1,y=1}, + visible_height = 1, + visible_width = 1, + }, + typical_state_time = 5, + }, + { + name = "swiming", + movgen = "probab_mov_gen", + chance = 0.45, + animation = "swim", + typical_state_time = 30, + }, + }, + hunger = { + target_entities = { + "fishing:bobber_entity" + }, + range = 15, + chance = 0.5, + typical_walk_time = 30, + keep_food = true, + }, + } +--compatibility code +minetest.register_entity("animal_fish_blue_white:fish_blue_white_spawner_shallow_water", + { + physical = false, + collisionbox = { 0.0,0.0,0.0,0.0,0.0,0.0}, + visual = "sprite", + textures = { "invisible.png^[makealpha:128,0,0^[makealpha:128,128,0" }, + on_activate = function(self,staticdata) + + local pos = self.object:getpos(); + minetest.add_entity(pos,"mobf:compat_spawner") + self.object:remove() + end, +}) + +--spawning code +local fish_blue_white_name = fish_blue_white_prototype.modname .. ":" .. fish_blue_white_prototype.name +local fish_blue_white_env = mobf_environment_by_name(fish_blue_white_prototype.generic.envid) + +mobf_spawner_register("fish_bw_spawner_1",fish_blue_white_name, + { + spawnee = fish_blue_white_name, + spawn_interval = 60, + spawn_inside = fish_blue_white_env.media, + entities_around = + { + { type="MAX",distance=1,threshold=0 }, + { type="MAX",entityname=fish_blue_white_name, + distance=fish_blue_white_prototype.generic.population_density,threshold=2 }, + }, + + absolute_height = + { + min = -10, + max = 1 + }, + + nodes_around = + { + {type="MIN",distance=2, name={ "default:water_flowing","default:water_source"},threshold=22}, + {type="MIN",distance=10,name={"default:dirt","default:dirt_with_grass"},threshold=1} + }, + + -- set to empty to disable relative check + relative_height = {}, + + collisionbox = selectionbox_fish_blue_white, + + spawns_per_interval = 5 + }) + + +--register with animals mod +minetest.log("action","\tadding mob "..fish_blue_white_prototype.name) +mobf_add_mob(fish_blue_white_prototype) +minetest.log("action","MOD: animal_fish_blue_white mod version " .. version .. " loaded") diff --git a/mods/friendlies/animal_fish_blue_white/locale/de.txt b/mods/friendlies/animal_fish_blue_white/locale/de.txt new file mode 100644 index 00000000..4e711bf6 --- /dev/null +++ b/mods/friendlies/animal_fish_blue_white/locale/de.txt @@ -0,0 +1,3 @@ +# Translation by Xanthin + +Blue white fish = Blau-weisser Fisch diff --git a/mods/friendlies/animal_fish_blue_white/locale/es.txt b/mods/friendlies/animal_fish_blue_white/locale/es.txt new file mode 100644 index 00000000..d3aa355b --- /dev/null +++ b/mods/friendlies/animal_fish_blue_white/locale/es.txt @@ -0,0 +1,5 @@ +# Spanish translation for Animals Modpack. +# Traducción al español de Animals Modpack. +# Author/Autor: Diego Martínez + +Blue white fish = Pez azul blanco diff --git a/mods/friendlies/animal_fish_blue_white/locale/template.txt b/mods/friendlies/animal_fish_blue_white/locale/template.txt new file mode 100644 index 00000000..65d378e9 --- /dev/null +++ b/mods/friendlies/animal_fish_blue_white/locale/template.txt @@ -0,0 +1,3 @@ +# Template + +Blue white fish = diff --git a/mods/friendlies/animal_fish_blue_white/models/fish_blue_white.b3d b/mods/friendlies/animal_fish_blue_white/models/fish_blue_white.b3d new file mode 100644 index 00000000..0008a865 Binary files /dev/null and b/mods/friendlies/animal_fish_blue_white/models/fish_blue_white.b3d differ diff --git a/mods/friendlies/animal_fish_blue_white/models/fish_blue_white.blend b/mods/friendlies/animal_fish_blue_white/models/fish_blue_white.blend new file mode 100644 index 00000000..ce995087 Binary files /dev/null and b/mods/friendlies/animal_fish_blue_white/models/fish_blue_white.blend differ diff --git a/mods/friendlies/animal_fish_blue_white/models/fish_blue_white.xcf b/mods/friendlies/animal_fish_blue_white/models/fish_blue_white.xcf new file mode 100644 index 00000000..0e654aa5 Binary files /dev/null and b/mods/friendlies/animal_fish_blue_white/models/fish_blue_white.xcf differ diff --git a/mods/friendlies/animal_fish_blue_white/textures/animal_fish_blue_white_fish_blue_white.png b/mods/friendlies/animal_fish_blue_white/textures/animal_fish_blue_white_fish_blue_white.png new file mode 100644 index 00000000..e0a883d6 Binary files /dev/null and b/mods/friendlies/animal_fish_blue_white/textures/animal_fish_blue_white_fish_blue_white.png differ diff --git a/mods/friendlies/animal_fish_blue_white/textures/animal_fish_blue_white_fish_blue_white_item.png b/mods/friendlies/animal_fish_blue_white/textures/animal_fish_blue_white_fish_blue_white_item.png new file mode 100644 index 00000000..e0a883d6 Binary files /dev/null and b/mods/friendlies/animal_fish_blue_white/textures/animal_fish_blue_white_fish_blue_white_item.png differ diff --git a/mods/friendlies/animal_fish_blue_white/textures/fish_blue_white_mesh.png b/mods/friendlies/animal_fish_blue_white/textures/fish_blue_white_mesh.png new file mode 100644 index 00000000..f099c662 Binary files /dev/null and b/mods/friendlies/animal_fish_blue_white/textures/fish_blue_white_mesh.png differ