prerelease 1

master
root 2022-04-14 16:37:37 +02:00
parent 8b2422c899
commit a21f651fb5
22 changed files with 133 additions and 60 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
*.png~
*.kra

View File

@ -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/

View File

@ -5,12 +5,15 @@ max_line_length = false
globals = {
"eat",
"bedz",
"bucket",
"deco",
"door",
"farmz",
"flowers",
"furn",
"helper",
"items",
"kitz",
"minetest",
"modname",
"nodez",

View File

@ -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

View File

@ -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,

View File

@ -0,0 +1,3 @@
# textdomain: chest_of_everything
Chest of Everything=Cofre con todo
Grants access to all items=Acceso a todos los objetos

View File

@ -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,

View File

@ -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

View File

@ -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},
})

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 B

View File

@ -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

View File

@ -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"))()

View File

@ -1,5 +1,3 @@
local S = ...
farmz.register_plant("wheat", {
modname = "farmz",
description = "Wheat",

View File

@ -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",

View File

@ -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

View File

@ -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)

View File

@ -1,4 +1,4 @@
local S, modname = ...
local modname = ...
function nodez.register_roof(name, def)
minetest.register_node(modname..":"..name.."_slope", {

View File

@ -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)