diff --git a/.gitignore b/.gitignore index 849fd0c..ad2d140 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.png~ +*.kra diff --git a/LICENSE.md b/LICENSE.md index 8dfe0e8..890c47b 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -8,44 +8,55 @@ This applies to textures and sounds contained in the games/devtest Minetest distribution. --License: Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +- License: Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) http://creativecommons.org/licenses/by-sa/3.0/ - Link to the complete Minetest License: https://github.com/minetest/minetest/blob/master/LICENSE.txt -### MinetestTextures used +### Minetest textures used -chest_of_everything_chest.png +- chest_of_everything_chest.png +- tools_irondagger.png + +# License of The Samz Code + +- GPLv3.0 +- Site: https://www.gnu.org/licenses/gpl-3.0.html # License of The Samz textures - Author: Juanchi - License: CC BY 4.0 (Attribution 4.0 International) -# License of The Samz specific sounds +# License of The Samz sounds ## bedz_yawn.ogg +- Mod: bedz - Author: ArrowheadProductions - License: This work is licensed under the Creative Commons 0 License. - Site: https://freesound.org/people/ArrowheadProductions/sounds/564231/ ## eat_chewing.ogg +- Mod: eat - Author: InspectorJ - License: This work is licensed under the Attribution License. - Site: https://freesound.org/people/InspectorJ/sounds/412068/ ## door_open.ogg +- Mod: door - Author: amholma - License: This work is licensed under the Creative Commons 0 License. - Site: https://freesound.org/people/amholma/sounds/344360/ ## door_close.ogg and door_blocked.ogg +- Mod: door - Author: BergsteinProd - License: This work is licensed under the Attribution License. - Site: https://freesound.org/people/BergsteinProd/sounds/577009/ ## ouch.ogg +- Mod: playerz - Author: Under7dude - License: This work is licensed under the Creative Commons 0 License. - Site: https://freesound.org/people/Under7dude/sounds/163441/ diff --git a/mods/.luacheckrc b/mods/.luacheckrc index 83ef1fd..8519488 100644 --- a/mods/.luacheckrc +++ b/mods/.luacheckrc @@ -5,12 +5,15 @@ max_line_length = false globals = { "eat", "bedz", + "bucket", + "deco", "door", "farmz", "flowers", "furn", "helper", "items", + "kitz", "minetest", "modname", "nodez", diff --git a/mods/bucket/init.lua b/mods/bucket/init.lua index 0bc023e..5f99700 100644 --- a/mods/bucket/init.lua +++ b/mods/bucket/init.lua @@ -1,7 +1,6 @@ bucket = {} local modname = minetest.get_current_modname() -local modpath = minetest.get_modpath(modname) local S = minetest.get_translator(modname) -- Bucket: Punch liquid source or flowing liquid to collect it diff --git a/mods/chest_of_everything/init.lua b/mods/chest_of_everything/init.lua index 78bd714..0431ba9 100644 --- a/mods/chest_of_everything/init.lua +++ b/mods/chest_of_everything/init.lua @@ -1,3 +1,6 @@ +local modname = minetest.get_current_modname() +local S = minetest.get_translator(modname) + local F = minetest.formspec_escape -- Create a detached inventory @@ -43,8 +46,8 @@ local function get_chest_formspec(page) end minetest.register_node("chest_of_everything:chest", { - description = "Chest of Everything" .. "\n" .. - "Grants access to all items", + description = S("Chest of Everything") .. "\n" .. + S("Grants access to all items"), tiles ={"chest_of_everything_chest.png^[sheet:2x2:0,0", "chest_of_everything_chest.png^[sheet:2x2:0,0", "chest_of_everything_chest.png^[sheet:2x2:1,0", "chest_of_everything_chest.png^[sheet:2x2:1,0", "chest_of_everything_chest.png^[sheet:2x2:1,0", "chest_of_everything_chest.png^[sheet:2x2:0,1"}, @@ -53,7 +56,7 @@ minetest.register_node("chest_of_everything:chest", { is_ground_content = false, on_construct = function(pos) local meta = minetest.get_meta(pos) - meta:set_string("infotext", "Chest of Everything") + meta:set_string("infotext", S("Chest of Everything")) meta:set_int("page", 1) meta:set_string("formspec", get_chest_formspec(1)) end, diff --git a/mods/chest_of_everything/locale/chest_of_everything.es.tr b/mods/chest_of_everything/locale/chest_of_everything.es.tr new file mode 100644 index 0000000..79f0f21 --- /dev/null +++ b/mods/chest_of_everything/locale/chest_of_everything.es.tr @@ -0,0 +1,3 @@ +# textdomain: chest_of_everything +Chest of Everything=Cofre con todo +Grants access to all items=Acceso a todos los objetos diff --git a/mods/deco/api.lua b/mods/deco/api.lua index 3841319..50ee147 100644 --- a/mods/deco/api.lua +++ b/mods/deco/api.lua @@ -117,7 +117,7 @@ function deco.register_chair(name, def) }, selection_box = { type = "fixed", - fixed = def.selection_box, + fixed = def.selection_box or def.node_box, }, sounds = sound.wood(), is_ground_content = false, @@ -172,7 +172,7 @@ function deco.register_table(name, def) }, selection_box = { type = "fixed", - fixed = def.selection_box + fixed = def.selection_box or def.node_box }, sounds = sound.wood(), is_ground_content = false, diff --git a/mods/deco/chairs.lua b/mods/deco/chairs.lua index a9d0ec2..e06f267 100644 --- a/mods/deco/chairs.lua +++ b/mods/deco/chairs.lua @@ -3,10 +3,10 @@ deco.register_chair("simple_chair", { tiles = { "treez_apple_tree_wood.png", "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", + "deco_simple_chair_right.png", + "deco_simple_chair_left.png", + "deco_simple_chair_front.png", + "deco_simple_chair_front.png", }, node_box = { {-0.3125, -0.5, 0.1875, -0.1875, 0, 0.3125}, -- NodeBox13 diff --git a/mods/deco/table.lua b/mods/deco/table.lua index 26d3975..7df5221 100644 --- a/mods/deco/table.lua +++ b/mods/deco/table.lua @@ -1,36 +1,23 @@ S, modname = ... -minetest.register_node(modname..":".."simple_table", { +deco.register_table("simple_table", { description = S("Simple Table"), tiles = { "treez_apple_tree_wood.png", "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", + "deco_simple_table_side.png", + "deco_simple_table_side.png", + "deco_simple_table_side.png", + "deco_simple_table_side.png", }, - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", node_box = { - type = "fixed", - fixed = { - {-0.5, 0.3125, -0.5, 0.5, 0.5, 0.5}, -- NodeBox14 - {-0.4375, -0.5, 0.3125, -0.3125, 0.3125, 0.4375}, -- NodeBox15 - {-0.4375, -0.5, -0.4375, -0.3125, 0.3125, -0.3125}, -- NodeBox16 - {0.3125, -0.5, 0.3125, 0.4375, 0.3125, 0.4375}, -- NodeBox17 - {0.4375, -0.5, -0.3125, 0.3125, 0.3125, -0.4375}, -- NodeBox19 - } + {-0.5, 0.3125, -0.5, 0.5, 0.5, 0.5}, -- NodeBox14 + {-0.4375, -0.5, 0.3125, -0.3125, 0.3125, 0.4375}, -- NodeBox15 + {-0.4375, -0.5, -0.4375, -0.3125, 0.3125, -0.3125}, -- NodeBox16 + {0.3125, -0.5, 0.3125, 0.4375, 0.3125, 0.4375}, -- NodeBox17 + {0.4375, -0.5, -0.3125, 0.3125, 0.3125, -0.4375}, -- NodeBox19 } }, selection_box = { - type = "fixed", - fixed = { - {-0.4375, -0.5, -0.4375, 0.4375, 0.5, 0.4375}, - }, + {-0.4375, -0.5, -0.4375, 0.4375, 0.5, 0.4375}, }, - sounds = sound.wood(), - is_ground_content = false, - stack_max = 1, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, chair = 1}, }) diff --git a/mods/deco/tables.lua b/mods/deco/tables.lua index 1a2fc48..e028b2e 100644 --- a/mods/deco/tables.lua +++ b/mods/deco/tables.lua @@ -3,10 +3,10 @@ deco.register_table("simple_table", { tiles = { "treez_apple_tree_wood.png", "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", - "treez_apple_tree_wood.png", + "deco_simple_table_side.png", + "deco_simple_table_side.png", + "deco_simple_table_side.png", + "deco_simple_table_side.png", }, node_box = { {-0.5, 0.3125, -0.5, 0.5, 0.5, 0.5}, -- NodeBox14 diff --git a/mods/deco/textures/deco_simple_chair_front.png b/mods/deco/textures/deco_simple_chair_front.png new file mode 100644 index 0000000..c8da251 Binary files /dev/null and b/mods/deco/textures/deco_simple_chair_front.png differ diff --git a/mods/deco/textures/deco_simple_chair_left.png b/mods/deco/textures/deco_simple_chair_left.png new file mode 100644 index 0000000..ab5d786 Binary files /dev/null and b/mods/deco/textures/deco_simple_chair_left.png differ diff --git a/mods/deco/textures/deco_simple_chair_right.png b/mods/deco/textures/deco_simple_chair_right.png new file mode 100644 index 0000000..fb7c897 Binary files /dev/null and b/mods/deco/textures/deco_simple_chair_right.png differ diff --git a/mods/deco/textures/deco_simple_table_side.png b/mods/deco/textures/deco_simple_table_side.png new file mode 100644 index 0000000..4e76299 Binary files /dev/null and b/mods/deco/textures/deco_simple_table_side.png differ diff --git a/mods/farmz/api.lua b/mods/farmz/api.lua index a9b317e..ba62f87 100644 --- a/mods/farmz/api.lua +++ b/mods/farmz/api.lua @@ -94,7 +94,7 @@ function farmz.register_hoe(name, def) }) end -function farmz.register_seed(modname, name, description, product_name, seed_name, grow_time, sprout) +function farmz.register_seed(modname, name, description, product_name, grow_time, sprout) local seed_name = product_name.."_seed" local seed_name_soil = seed_name.."_soil" @@ -136,7 +136,7 @@ function farmz.register_seed(modname, name, description, product_name, seed_name sounds = sound.dirt(), after_place_node = function(pos, placer, itemstack, pointed_thing) - start_grow(pos, def.grow_time) + start_grow(pos, grow_time) end, on_timer = function(pos) @@ -250,7 +250,7 @@ function farmz.register_plant(name, def) end end - local seed_name = farmz.register_seed(def.modname, name, def.description, product_name, seed_name, def.grow_time, + local seed_name = farmz.register_seed(def.modname, name, def.description, product_name, def.grow_time, true) if def.craft then diff --git a/mods/farmz/init.lua b/mods/farmz/init.lua index 8a7bb88..d178820 100644 --- a/mods/farmz/init.lua +++ b/mods/farmz/init.lua @@ -8,4 +8,4 @@ assert(loadfile(modpath .. "/api.lua"))(S) assert(loadfile(modpath .. "/food.lua"))(S) assert(loadfile(modpath .. "/hoes.lua"))(S) assert(loadfile(modpath .. "/grasses.lua"))(S) -assert(loadfile(modpath .. "/plants.lua"))(S) +assert(loadfile(modpath .. "/plants.lua"))() diff --git a/mods/farmz/plants.lua b/mods/farmz/plants.lua index be1d772..8aac5fc 100644 --- a/mods/farmz/plants.lua +++ b/mods/farmz/plants.lua @@ -1,5 +1,3 @@ -local S = ... - farmz.register_plant("wheat", { modname = "farmz", description = "Wheat", diff --git a/mods/items/vessels.lua b/mods/items/vessels.lua index 0868bee..a468443 100644 --- a/mods/items/vessels.lua +++ b/mods/items/vessels.lua @@ -1,7 +1,7 @@ S, modname = ... function items.register_vessel(name, def) - vessel_name = modname..":"..name + local vessel_name = modname..":"..name minetest.register_node(vessel_name, { description = S(def.description), drawtype = "plantlike", diff --git a/mods/kitz/engine.lua b/mods/kitz/engine.lua index bb7d416..1e03ef2 100644 --- a/mods/kitz/engine.lua +++ b/mods/kitz/engine.lua @@ -81,6 +81,14 @@ function kitz.register_egg(name, def) }) end +function kitz.on_step_timer(self, seconds) -- returns true approx every s seconds + local t1 = math.floor(self.active_time) + local t2 = math.floor(self.active_time + self.dtime) + if t2 > t1 and t2 % seconds == 0 then + return true + end +end + function kitz.register_mob(name, def) local _name = modname..":"..name local __name = modname.."_"..name @@ -130,13 +138,15 @@ function kitz.register_mob(name, def) -- the entity is re-activated from static state end, - vars = { + vars = { --memory name = _name, status = nil, tamed = false, + lifetime = 0, textures = def.textures or {}, texture_no = 1, type = name, + view_range = def.view_range or 5, }, clear_path = function(self) @@ -218,6 +228,7 @@ function kitz.activate(self, staticdata, dtime_s) if dtime_s == 0 then --very first time created kitz.init(self, staticdata, dtime_s) end + self.active_time = 0 --Apply properties self.object:set_properties{ textures = {self:get_texture()} @@ -272,12 +283,58 @@ function kitz.roam(self, pos, vel) return vel end -local impulse = 2.5 +local function is_inside_range(p1, p2, pos) + if (p1.x <= pos.x) and (pos.x <= p2.x) + and (p1.y <= pos.y) and (pos.y <= p2.y) + and (p1.z <= pos.z) and (pos.z <= p2.z) then + return true + else + return false + end +end -function kitz.step(self) +local function sensors(self) + local pos = self.object:get_pos() + local view_range = self.vars.view_range + local p1 = { + x = pos.x - view_range, + y = pos.y - view_range, + z = pos.z - view_range, + } + local p2 = { + x = pos.x + view_range, + y = pos.y + view_range, + z = pos.z + view_range, + } + local nearby_mobs = {} + for key, value in pairs(kitz.active_mobs) do + local mob_pos = value.object:get_pos() + if is_inside_range(p1, p2, mob_pos) then + nearby_mobs[#nearby_mobs+1] = key + end + end + local nearby_players = {} + for _, player in pairs(minetest.get_connected_players()) do + local player_pos = player:get_pos() + if is_inside_range(p1, p2, player_pos) then + nearby_players[#nearby_players+1] = player:get_player_name() + end + end + return nearby_mobs, nearby_players +end + +local impulse = 5 + +function kitz.step(self, dtime) + self.dtime = math.min(dtime, 0.1) local pos = self.object:get_pos() local vel = self.object:get_velocity() local new_vel + + if kitz.on_step_timer(self, 1) then + sensors(self) + end + local status = self:get_status() if not(status) then status = self:set_status("roam") @@ -288,18 +345,28 @@ function kitz.step(self) elseif status == "jump" then --status = self:set_status("roam") minetest.chat_send_all("jump") + elseif status == "stand" then + end if new_vel then self.object:set_velocity(new_vel) self.object:set_yaw(minetest.dir_to_yaw(new_vel)) else - self.object:set_velocity(vel) + --self.object:set_velocity(vel) end - if not(status == "jump") then + if status == "roam" then + self.object:set_acceleration({x=0, y= gravity, z=0}) + elseif status == "jump" then + self.object:set_velocity({x=2, y= 4, z=2}) + self.object:set_acceleration({x=1, y= 3, z=1}) + minetest.after(0.3, function(self) + status = self:set_status("stand") + self:stop() + end, self) + elseif status == "stand" then self.object:set_acceleration({x=0, y= gravity, z=0}) - else - self.object:set_acceleration({x=1, y= impulse, z=1}) - impulse = 0 end --minetest.chat_send_all(tostring(new_vel) or "") + self.vars.lifetime = self.vars.lifetime + dtime + self.active_time = self.active_time + dtime end diff --git a/mods/nodez/init.lua b/mods/nodez/init.lua index a4d2a10..64994ce 100644 --- a/mods/nodez/init.lua +++ b/mods/nodez/init.lua @@ -20,7 +20,7 @@ assert(loadfile(modpath .. "/metals.lua"))(S) assert(loadfile(modpath .. "/mese.lua"))(S) assert(loadfile(modpath .. "/lava.lua"))(S) assert(loadfile(modpath .. "/ore.lua"))(S) -assert(loadfile(modpath .. "/roofs.lua"))(S, modname) +assert(loadfile(modpath .. "/roofs.lua"))(modname) assert(loadfile(modpath .. "/sand.lua"))(S) assert(loadfile(modpath .. "/stone.lua"))(S) assert(loadfile(modpath .. "/water.lua"))(S) diff --git a/mods/nodez/roofs.lua b/mods/nodez/roofs.lua index 2d86acc..ecaa517 100644 --- a/mods/nodez/roofs.lua +++ b/mods/nodez/roofs.lua @@ -1,4 +1,4 @@ -local S, modname = ... +local modname = ... function nodez.register_roof(name, def) minetest.register_node(modname..":"..name.."_slope", { diff --git a/mods/playerz/init.lua b/mods/playerz/init.lua index 2239de3..50125bc 100644 --- a/mods/playerz/init.lua +++ b/mods/playerz/init.lua @@ -68,5 +68,6 @@ minetest.register_on_joinplayer(function(player) playerz.count = playerz.count + 1 --Set Sky player:set_sky({sky_color={day_sky="#6ac4c4", day_horizon="#84d1d1"}}) - + --Enable Shadows + --player:set_lighting({shadows={intensity = 0.33}}) end)