]> git.lizzy.rs Git - xocean.git/blobdiff - init.lua
Fishes drown in air
[xocean.git] / init.lua
index 029d282dd8c9cad8bc1523f1544dc29a6ee462dc..127b309ff47b70c3b975d7ab2426c4527280b5aa 100644 (file)
--- a/init.lua
+++ b/init.lua
@@ -59,8 +59,8 @@ minetest.register_node("xocean:ocean_circular", {
 minetest.register_craft({\r
        output = '"xocean:ocean_circular" 4',\r
        recipe = {\r
-               {'xocean:ocean_craved', 'xocean:ocean_carved',},\r
-               {'xocean:ocean_craved', 'xocean:ocean_carved',},\r
+               {'xocean:ocean_carved', 'xocean:ocean_carved',},\r
+               {'xocean:ocean_carved', 'xocean:ocean_carved',},\r
                },\r
 })\r
 \r
@@ -206,9 +206,21 @@ minetest.register_craft({
 })\r
 minetest.register_craftitem("xocean:kelp", {\r
        description = "Dried Kelp",\r
-       on_use = minetest.item_eat(2),\r
+       on_use = minetest.item_eat(1),\r
        inventory_image = "xocean_dried_kelp.png",\r
 })\r
+minetest.register_craftitem("xocean:sushi", {\r
+       description = "Sushi",\r
+       on_use = minetest.item_eat(6),\r
+       inventory_image = "xocean_sushi.png",\r
+})\r
+minetest.register_craft({\r
+       output = '"xocean:sushi" 1',\r
+       recipe = {\r
+               {'xocean:fish_edible'},\r
+               {'xocean:kelp' },\r
+               },\r
+})\r
 minetest.register_node("xocean:seagrass", {\r
        description = "Seagrass",\r
        drawtype = "plantlike_rooted",\r
@@ -225,7 +237,6 @@ minetest.register_node("xocean:seagrass", {
                                {-4/16, 0.5, -4/16, 4/16, 1.5, 4/16},\r
                },\r
        },\r
-       drop = "",\r
        node_dig_prediction = "default:sand",\r
        node_placement_prediction = "",\r
        sounds = default.node_sound_stone_defaults({\r
@@ -393,7 +404,7 @@ minetest.override_item("default:coral_pink", {
        end,\r
 })\r
 minetest.register_node("xocean:brain_skeleton", {\r
-       description = "Brain Coral Skeleton",\r
+       description = "Brain Coral Skeleton Block",\r
        tiles = {"xocean_coral_brain_skeleton.png"},\r
        groups = {cracky = 3},\r
        sounds = default.node_sound_stone_defaults(),\r
@@ -477,7 +488,7 @@ minetest.override_item("default:coral_cyan", {
                                {-4/16, 0.5, -4/16, 4/16, 1.5, 4/16},\r
                },\r
        },\r
-       drop = "xocean:tube_skeleton",\r
+       drop = "xocean:skeleton_tube",\r
        node_dig_prediction = "xocean:tube_block",\r
        node_placement_prediction = "",\r
        sounds = default.node_sound_stone_defaults({\r
@@ -506,7 +517,7 @@ minetest.override_item("default:coral_cyan", {
                        return itemstack\r
                end\r
 \r
-               minetest.set_node(pos_under, {name = "default:cyan_pink"})\r
+               minetest.set_node(pos_under, {name = "default:coral_cyan"})\r
                if not (creative and creative.is_enabled_for(player_name)) then\r
                        itemstack:take_item()\r
                end\r
@@ -519,12 +530,12 @@ minetest.override_item("default:coral_cyan", {
        end,\r
 })\r
 minetest.register_node("xocean:tube_skeleton", {\r
-       description = "Tube Coral Skeleton",\r
+       description = "Tube Coral Skeleton Block",\r
        tiles = {"xocean_coral_tube_skeleton.png"},\r
        groups = {cracky = 3},\r
        sounds = default.node_sound_stone_defaults(),\r
 })\r
-minetest.register_node("xocean:tube_bubble", {\r
+minetest.register_node("xocean:skeleton_tube", {\r
        description = "Tube Coral Skeleton",\r
        drawtype = "plantlike_rooted",\r
        waving = 1,\r
@@ -591,6 +602,7 @@ minetest.register_node("xocean:bubble", {
        description = "Bubble Coral",\r
        drawtype = "plantlike_rooted",\r
        waving = 1,\r
+       drop = "xocean:skeleton_bubble",\r
        paramtype = "light",\r
        tiles = {"xocean_coral_bubble.png"},\r
        special_tiles = {{name = "xocean_bubble.png", tileable_vertical = true}},\r
@@ -722,6 +734,7 @@ minetest.register_node("xocean:horn", {
        special_tiles = {{name = "xocean_horn.png", tileable_vertical = true}},\r
        inventory_image = "xocean_horn.png",\r
        groups = {snappy = 3},\r
+       drop = "xocean:skeleton_horn",\r
        selection_box = {\r
                type = "fixed",\r
                fixed = {\r
@@ -729,7 +742,7 @@ minetest.register_node("xocean:horn", {
                                {-4/16, 0.5, -4/16, 4/16, 1.5, 4/16},\r
                },\r
        },\r
-       node_dig_prediction = "xocean:horn_block",\r
+       node_dig_prediction = "default:coral_brown",\r
        node_placement_prediction = "",\r
        sounds = default.node_sound_stone_defaults({\r
                dig = {name = "default_dig_snappy", gain = 0.2},\r
@@ -745,7 +758,7 @@ minetest.register_node("xocean:horn", {
                local pos_under = pointed_thing.under\r
                local pos_above = pointed_thing.above\r
 \r
-               if minetest.get_node(pos_under).name ~= "xocean:horn_block" or\r
+               if minetest.get_node(pos_under).name ~= "default:coral_brown" or\r
                                minetest.get_node(pos_above).name ~= "default:water_source" then\r
                        return itemstack\r
                end\r
@@ -766,15 +779,9 @@ minetest.register_node("xocean:horn", {
        end,\r
 \r
        after_destruct  = function(pos, oldnode)\r
-               minetest.set_node(pos, {name = "xocean:horn_block"})\r
+               minetest.set_node(pos, {name = "default:coral_brown"})\r
        end,\r
 })\r
-minetest.override_item("default:coral_skeleton", {\r
-       description = "Horn Coral Skeleton Block",\r
-       tiles = {"xocean_coral_horn_skeleton.png"},\r
-       groups = {cracky = 3},\r
-       sounds = default.node_sound_stone_defaults(),\r
-})\r
 minetest.register_node("xocean:skeleton_horn", {\r
        description = "Horn Coral Skeleton",\r
        drawtype = "plantlike_rooted",\r
@@ -791,8 +798,8 @@ minetest.register_node("xocean:skeleton_horn", {
                                {-4/16, 0.5, -4/16, 4/16, 1.5, 4/16},\r
                },\r
        },\r
-       drop = "xocean:skeleton:horn",\r
-       node_dig_prediction = "xocean:horn_skeleton",\r
+       drop = "xocean:skeleton_horn",\r
+       node_dig_prediction = "xocean:skeleton_horn",\r
        node_placement_prediction = "",\r
        sounds = default.node_sound_stone_defaults({\r
                dig = {name = "default_dig_snappy", gain = 0.2},\r
@@ -808,7 +815,7 @@ minetest.register_node("xocean:skeleton_horn", {
                local pos_under = pointed_thing.under\r
                local pos_above = pointed_thing.above\r
 \r
-               if minetest.get_node(pos_under).name ~= "xocean:horn_skeleton" or\r
+               if minetest.get_node(pos_under).name ~= "xocean:skeleton_horn" or\r
                                minetest.get_node(pos_above).name ~= "default:water_source" then\r
                        return itemstack\r
                end\r
@@ -829,7 +836,7 @@ minetest.register_node("xocean:skeleton_horn", {
        end,\r
 \r
        after_destruct  = function(pos, oldnode)\r
-               minetest.set_node(pos, {name = "xocean:horn_skeleton"})\r
+               minetest.set_node(pos, {name = "xocean:skeleton_horn"})\r
        end,\r
 })\r
 minetest.override_item("default:coral_orange", {\r
@@ -981,8 +988,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/brain.mts",\r
                param2 = 48,\r
@@ -1010,8 +1017,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/horn.mts",\r
                param2 = 48,\r
@@ -1039,8 +1046,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/bubble.mts",\r
                param2 = 48,\r
@@ -1068,8 +1075,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/tube.mts",\r
                param2 = 48,\r
@@ -1097,8 +1104,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/fire.mts",\r
                param2 = 48,\r
@@ -1126,8 +1133,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/brain2.mts",\r
                param2 = 48,\r
@@ -1155,8 +1162,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/horn2.mts",\r
                param2 = 48,\r
@@ -1184,8 +1191,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/bubble2.mts",\r
                param2 = 48,\r
@@ -1213,8 +1220,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/tube2.mts",\r
                param2 = 48,\r
@@ -1242,8 +1249,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/fire2.mts",\r
                param2 = 48,\r
@@ -1271,8 +1278,8 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/tube3.mts",\r
                param2 = 48,\r
@@ -1300,42 +1307,13 @@ minetest.register_decoration({
                        "deciduous_forest_ocean",\r
                        "sandstone_desert_ocean",\r
                        "cold_desert_ocean"},\r
-               y_max = -10,\r
-               y_min = -40,\r
+               y_max = -6,\r
+               y_min = -16,\r
                flags = "force_placement",\r
                schematic = minetest.get_modpath("xocean") .. "/schems/brain3.mts",\r
                param2 = 48,\r
                param2_max = 96,\r
        })\r
-minetest.register_decoration({\r
-               name = "xocean:brain4",\r
-               deco_type = "schematic",\r
-               place_on = {"default:sand"},\r
-               place_offset_y = -1,\r
-               sidelen = 1,\r
-               noise_params = {\r
-                       offset = 0.0001,\r
-                       scale = 0.0000001,\r
-                       spread = {x = 100000, y = 100000, z = 100000},\r
-                       seed = 87112,\r
-                       octaves = 25,\r
-                       persist = 0.7\r
-               },\r
-               biomes = {\r
-                       "taiga_ocean",\r
-                       "snowy_grassland_ocean",\r
-                       "grassland_ocean",\r
-                       "coniferous_forest_ocean",\r
-                       "deciduous_forest_ocean",\r
-                       "sandstone_desert_ocean",\r
-                       "cold_desert_ocean"},\r
-               y_max = -15,\r
-               y_min = -40,\r
-               flags = "force_placement",\r
-               schematic = minetest.get_modpath("xocean") .. "/schems/brain4.mts",\r
-               param2 = 48,\r
-               param2_max = 96,\r
-       })\r
        minetest.register_decoration({\r
                name = "xocean:seagrass",\r
                deco_type = "simple",\r
@@ -1715,6 +1693,8 @@ local l_water_level               = minetest.setting_get("water_level") - 2
                view_range = 30,\r
                water_damage = 0,\r
                lava_damage = 10,\r
+               jump = false,\r
+               stepheight = 0.1,\r
                light_damage = 0,\r
                animation = {\r
                        speed_normal = 15,\r
@@ -1729,8 +1709,7 @@ local l_water_level               = minetest.setting_get("water_level") - 2
        })\r
        mobs:spawn_specific("xocean:dolphin",   {"default:water_source"},       {"default:water_flowing","default:water_source"},       5, 20, 30, 10000, 2, -31000, l_water_level)\r
        mobs:register_egg("xocean:dolphin", "Dolphin", "xocean_stone.png", 1)\r
-       \r
-       mobs:register_mob("xocean:fish", {\r
+mobs:register_mob("xocean:fish", {\r
                type = "animal",\r
                hp_min = 5,\r
                hp_max = 5,\r
@@ -1758,6 +1737,7 @@ local l_water_level               = minetest.setting_get("water_level") - 2
                water_damage = 0,\r
                lava_damage = 10,\r
                light_damage = 0,\r
+               air_damage = 2,\r
                animation = {\r
                        speed_normal = 15,\r
            speed_run = 25,\r
@@ -1768,6 +1748,12 @@ local l_water_level              = minetest.setting_get("water_level") - 2
            run_start = 40,\r
            run_end = 100,\r
                },\r
+               do_custom = function(self, dtime)\r
+                       if self.standing_in == "air" then\r
+                               self.health = self.health - dtime\r
+                               self:check_for_death({type = "environment", pos = pos, node = self.standing_in})\r
+                       end\r
+               end,\r
        })\r
        mobs:spawn_specific("xocean:fish",      {"default:water_source"},       {"default:water_flowing","default:water_source"},       2, 20, 30, 10000, 5, -31000, l_water_level)\r
        mobs:register_egg("xocean:fish", "Tropical Fish (Kob)", "xocean_fish.png", 0)\r
@@ -1808,6 +1794,12 @@ mobs:register_mob("xocean:fish2", {
            run_start = 40,\r
            run_end = 100,\r
                },\r
+               do_custom = function(self, dtime)\r
+                       if self.standing_in == "air" then\r
+                               self.health = self.health - dtime\r
+                               self:check_for_death({type = "environment", pos = pos, node = self.standing_in})\r
+                       end\r
+               end,\r
        })\r
        mobs:spawn_specific("xocean:fish2",     {"default:water_source"},       {"default:water_flowing","default:water_source"},       2, 20, 30, 10000, 5, -31000, l_water_level)\r
        mobs:register_egg("xocean:fish2", "Tropical Fish (SunStreak)", "xocean_fish2.png", 0)\r
@@ -1848,7 +1840,59 @@ mobs:register_mob("xocean:fish3", {
            run_start = 40,\r
            run_end = 100,\r
                },\r
+               do_custom = function(self, dtime)\r
+                       if self.standing_in == "air" then\r
+                               self.health = self.health - dtime\r
+                               self:check_for_death({type = "environment", pos = pos, node = self.standing_in})\r
+                       end\r
+               end,\r
        })\r
        mobs:spawn_specific("xocean:fish3",     {"default:water_source"},       {"default:water_flowing","default:water_source"},       2, 20, 30, 10000, 5, -31000, l_water_level)\r
        mobs:register_egg("xocean:fish3", "Tropical Fish (Dasher)", "xocean_fish3.png", 0)\r
+mobs:register_mob("xocean:fish4", {\r
+               type = "animal",\r
+               hp_min = 5,\r
+               hp_max = 5,\r
+               armor = 100,\r
+               visual_size = {x = 2, y = 2, z= 2},\r
+               collisionbox = {-0.25, -0.2, -0.25, 0.25, 0.2, 0.25},\r
+               visual = "mesh",\r
+               mesh = "fishy.b3d",\r
+               textures = {\r
+                       {"mobs_fishy10.png"},\r
+                       {"mobs_fishy11.png"},\r
+                       {"mobs_fishy12.png"}\r
+               },\r
+               drops = {\r
+        {name = "xocean:fish_edible", chance = 2, min = 1, max = 2},\r
+    },\r
+               makes_footstep_sound = false,\r
+               walk_velocity = 2,\r
+               run_velocity = 3,\r
+               fly = true,\r
+               fly_in = "default:water_source",\r
+               fall_speed = 0,\r
+               view_range = 30,\r
+               water_damage = 0,\r
+               lava_damage = 10,\r
+               light_damage = 0,\r
+               animation = {\r
+                       speed_normal = 15,\r
+           speed_run = 25,\r
+                       stand_start = 40,\r
+                       stand_end = 100,\r
+           walk_start = 40,\r
+           walk_end = 100,\r
+           run_start = 40,\r
+           run_end = 100,\r
+               },\r
+               do_custom = function(self, dtime)\r
+                       if self.standing_in == "air" then\r
+                               self.health = self.health - dtime\r
+                               self:check_for_death({type = "environment", pos = pos, node = self.standing_in})\r
+                       end\r
+               end,\r
+       })\r
+       mobs:spawn_specific("xocean:fish4",     {"default:water_source"},       {"default:water_flowing","default:water_source"},       2, 20, 30, 10000, 5, -31000, l_water_level)\r
+       mobs:register_egg("xocean:fish4", "Tropical Fish (Snapper)", "xocean_fish4.png", 0)\r
 end\r