birch tree; starting of the swamp biome
|
@ -30,3 +30,32 @@ minetest.register_node("farmz:grass", {
|
|||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("farmz:swamp_grass", {
|
||||
description = S("Swamp Grass"),
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
tiles = {"farmz_swamp_grass.png"},
|
||||
inventory_image = "farmz_swamp_grass.png",
|
||||
wield_image = "farmz_swamp_grass.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1,
|
||||
normal_grass = 1, flammable = 1},
|
||||
sounds = sound:leaves(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, -5 / 16, 5 / 16},
|
||||
},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{
|
||||
rarity = 5,
|
||||
items = {"farmz:wheat_seed"},
|
||||
},
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
After Width: | Height: | Size: 556 B |
|
@ -84,8 +84,7 @@ local function spread_mushroom(pos, mushroom_name)
|
|||
{x=1, y=0, z=0}, {x=1, y=0, z=1}}
|
||||
local _cells = helper.table.shuffle(cells)
|
||||
local new_pos = vector.add(pos, _cells[1])
|
||||
local under_pos = vector.add(new_pos, {x=0, y=-1, z=0})
|
||||
if helper.node_is_buildable(new_pos) and helper.node_is_soil(under_pos) then
|
||||
if helper.node_is_buildable(new_pos) and helper.node_is_soil(new_pos, "under") then
|
||||
minetest.swap_node(new_pos, {name = mushroom_name, param2 = 1})
|
||||
minetest.get_node_timer(new_pos):start(mushroom_spread_time)
|
||||
end
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
--Reed
|
||||
|
||||
minetest.register_node("flowerz:reed", {
|
||||
description = S("Reed"),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"flower_reed.png"},
|
||||
inventory_image = "flower_reed.png",
|
||||
wield_image = "flower_reed.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-1 / 16, -0.5, -1 / 16, 1 / 16, 0.5, 1 / 16},
|
||||
},
|
||||
groups = {snappy = 3, flammable = 2},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_dig_node = function(pos, node, metadata, digger)
|
||||
default.dig_up(pos, node, digger)
|
||||
end,
|
||||
})
|
|
@ -69,7 +69,12 @@ function helper.node_is_buildable(pos)
|
|||
end
|
||||
end
|
||||
|
||||
function helper.node_is_soil(pos)
|
||||
function helper.node_is_soil(pos, offset)
|
||||
if offset then
|
||||
if offset == "under" then
|
||||
pos = vector.new(pos.x, pos.y-1, pos.z)
|
||||
end
|
||||
end
|
||||
local node = minetest.get_node_or_nil(pos)
|
||||
if node and minetest.get_item_group(node.name, "soil") >= 1 then
|
||||
return true
|
||||
|
@ -195,5 +200,3 @@ function helper.string.split(inputstr, sep)
|
|||
end
|
||||
return t
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -159,6 +159,45 @@ minetest.register_biome({
|
|||
humidity_point = 15,
|
||||
})
|
||||
|
||||
--Swampz
|
||||
|
||||
minetest.register_biome({
|
||||
name = "swamp",
|
||||
node_top = "nodez:silt_with_grass",
|
||||
depth_top = 1,
|
||||
node_filler = "nodez:silt",
|
||||
depth_filler = 3,
|
||||
node_riverbed = "nodez:sand",
|
||||
depth_riverbed = 2,
|
||||
node_water = "nodez:water_source",
|
||||
depth_water_top = 5,
|
||||
node_water_top = "nodez:water_source",
|
||||
node_stone = "nodez:limestone",
|
||||
y_max = 7,
|
||||
y_min = 1,
|
||||
heat_point = 80.1,
|
||||
humidity_point = 89.1,
|
||||
vertical_blend = 0,
|
||||
})
|
||||
|
||||
minetest.register_biome({
|
||||
name = "nodez_shore",
|
||||
node_top = "nodez:mud",
|
||||
depth_top = 1,
|
||||
node_filler = "nodez:mud",
|
||||
depth_filler = 3,
|
||||
node_riverbed = "nodez:sand",
|
||||
depth_riverbed = 2,
|
||||
node_water = "nodez:water_source",
|
||||
depth_water_top = 5,
|
||||
node_water_top = "nodez:water_source",
|
||||
y_max = 0,
|
||||
y_min = -5,
|
||||
heat_point = 79.1,
|
||||
humidity_point = 90.1,
|
||||
vertical_blend = 0,
|
||||
})
|
||||
|
||||
-- Register Ores
|
||||
|
||||
--Coal
|
||||
|
@ -417,3 +456,143 @@ minetest.register_decoration({
|
|||
y_max = mapgenz.biomes.peaky_mountain_height,
|
||||
y_min = 1,
|
||||
})
|
||||
|
||||
-- Swamp Biome
|
||||
-- IMPORTANT!
|
||||
-- THE ORDER OF THE DECORATION MATTERS!
|
||||
-- DO NOT SORT
|
||||
|
||||
--Water Source (4x4)
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "schematic",
|
||||
place_on = {"nodez:silt_with_grass"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.05,
|
||||
scale = 0.05,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = {"swamp"},
|
||||
height = 2,
|
||||
y_min = 0,
|
||||
y_max = 1000,
|
||||
place_offset_y = -1,
|
||||
schematic = {
|
||||
size = {x = 4, y = 2, z = 4},
|
||||
data = {
|
||||
{name = "nodez:silt"}, {name = "nodez:silt"}, {name = "nodez:silt"},{name = "nodez:silt"},
|
||||
{name = "nodez:silt_with_grass"}, {name = "nodez:silt_with_grass"}, {name = "nodez:silt_with_grass"},{name = "nodez:silt_with_grass"},
|
||||
{name = "nodez:silt"}, {name = "nodez:silt"}, {name = "nodez:silt"},{name = "nodez:silt"},
|
||||
{name = "nodez:silt_with_grass"}, {name = "nodez:muddy_water_source"}, {name = "nodez:muddy_water_source"},{name = "nodez:silt_with_grass"},
|
||||
{name = "nodez:silt"}, {name = "nodez:silt"}, {name = "nodez:silt"},{name = "nodez:silt"},
|
||||
{name = "nodez:silt_with_grass"}, {name = "nodez:muddy_water_source"}, {name = "nodez:muddy_water_source"},{name = "nodez:silt_with_grass"},
|
||||
{name = "nodez:silt"}, {name = "nodez:silt"}, {name = "nodez:silt"},{name = "nodez:silt"},
|
||||
{name = "nodez:silt_with_grass"}, {name = "nodez:silt_with_grass"}, {name = "nodez:silt_with_grass"},{name = "nodez:silt_with_grass"},
|
||||
}
|
||||
},
|
||||
spawn_by = "nodez:silt_with_grass",
|
||||
num_spawn_by = 5,
|
||||
flags = "place_center_x, place_center_z, force_placement",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
--Water Source (1x1) --this goes after the 4x4 deco of swamp water
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
decoration = "nodez:muddy_water_source",
|
||||
place_on = {"nodez:silt_with_grass"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.8,
|
||||
scale = 0.8,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = {"swamp"},
|
||||
height = 2,
|
||||
y_min = 0,
|
||||
y_max = 1000,
|
||||
place_offset_y = -2,
|
||||
spawn_by = "nodez:muddy_water_source",
|
||||
num_spawn_by = 6,
|
||||
flags = "place_center_x, place_center_z, force_placement",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
--Mud with moss --this goes after water (depends on it)
|
||||
|
||||
minetest.register_decoration({
|
||||
decoration = "nodez:mud_with_moss",
|
||||
deco_type = "simple",
|
||||
place_on = "nodez:silt_with_grass",
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.1,
|
||||
biomes = {"swamp"},
|
||||
noise_params = {
|
||||
offset = 0.5,
|
||||
scale = 0.008,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
y_min = 1,
|
||||
y_max = 80,
|
||||
spawn_by = "nodez:muddy_water_source",
|
||||
num_spawn_by = 1,
|
||||
place_offset_y = -1,
|
||||
flags = "place_center_x, place_center_z, force_placement",
|
||||
})
|
||||
|
||||
--Mud --this goes after mud with moss (depends on it)
|
||||
|
||||
minetest.register_decoration({
|
||||
decoration = "nodez:mud",
|
||||
deco_type = "simple",
|
||||
place_on = "nodez:silt_with_grass",
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.1,
|
||||
biomes = {"swamp"},
|
||||
noise_params = {
|
||||
offset = 0.5,
|
||||
scale = 0.008,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
y_min = 1,
|
||||
y_max = 80,
|
||||
spawn_by = "nodez:mud_with_moss",
|
||||
num_spawn_by = 1,
|
||||
place_offset_y = -1,
|
||||
flags = "place_center_x, place_center_z, force_placement",
|
||||
})
|
||||
|
||||
--Swamp Grass --this goes after water (depends on it)
|
||||
minetest.register_decoration({
|
||||
name = "farmz:swamp_grass",
|
||||
decoration = "farmz:swamp_grass",
|
||||
deco_type = "simple",
|
||||
place_on = {"nodez:silt_with_grass"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.015,
|
||||
scale = 0.045,
|
||||
spread = {x = 200, y = 200, z = 200},
|
||||
seed = 467,
|
||||
octaves = 3,
|
||||
persist = 0.6
|
||||
},
|
||||
biomes = {"swamp"},
|
||||
y_max = mapgenz.biomes.peaky_mountain_height,
|
||||
y_min = 1,
|
||||
})
|
||||
|
||||
|
|
|
@ -154,3 +154,58 @@ minetest.register_craft({
|
|||
"farmz:wheat"
|
||||
}
|
||||
})
|
||||
|
||||
--Mud
|
||||
|
||||
minetest.register_node("nodez:silt_with_grass", {
|
||||
description = S("Silt with Grass"),
|
||||
tiles = {"nodez_swamp_grass.png", "nodez_silt.png",
|
||||
{name = "nodez_silt.png^nodez_silt_with_grass_side.png",
|
||||
tileable_vertical = false}},
|
||||
groups = {crumbly = 3, soil = 1},
|
||||
drop = "nodez:mud",
|
||||
sounds = sound.dirt({
|
||||
footstep = {name = "default_grass_footstep", gain = 0.25},
|
||||
}),
|
||||
})
|
||||
|
||||
minetest.register_node("nodez:limestone", {
|
||||
description = S("Limestone"),
|
||||
tiles = {"nodez_limestone.png"},
|
||||
groups = {cracky = 3, stone = 1},
|
||||
drop = "nodez:limestone",
|
||||
sounds = sound.stone(),
|
||||
})
|
||||
|
||||
minetest.register_node("nodez:mud", {
|
||||
description = S("Mud"),
|
||||
tiles = {"nodez_mud.png"},
|
||||
groups = {crumbly = 3, soil = 1},
|
||||
sounds = sound.dirt(),
|
||||
})
|
||||
|
||||
minetest.register_node("nodez:mud_with_moss", {
|
||||
description = S("Mud with Moss"),
|
||||
tiles = {"nodez_mud.png^(nodez_mud_moss.png^[makealpha:50,50,50)", "nodez_mud.png",
|
||||
{name = "nodez_mud.png^(nodez_mud_with_moss_side.png^[makealpha:50,50,50)",
|
||||
tileable_vertical = false}},
|
||||
groups = {crumbly = 3, soil = 1},
|
||||
drop = "nodez:mud",
|
||||
sounds = sound.dirt({
|
||||
footstep = {name = "default_grass_footstep", gain = 0.25},
|
||||
}),
|
||||
})
|
||||
|
||||
minetest.register_node("nodez:silt", {
|
||||
description = S("Silt"),
|
||||
tiles = {"nodez_silt.png"},
|
||||
groups = {crumbly = 3, soil = 1},
|
||||
sounds = sound.dirt(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "nodez:silt",
|
||||
type = "shapeless",
|
||||
recipe = {"group:soil", "bucket:bucket_water"},
|
||||
replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}}
|
||||
})
|
||||
|
|
|
@ -21,14 +21,20 @@ Iron Ingot=Lingote de hierro
|
|||
Iron Lump=Pepita de hierro
|
||||
Iron Ore=Mineral de hierro
|
||||
Lava Source=Fuente de lava
|
||||
Limestone=Piedra caliza
|
||||
Mese=Mese
|
||||
Mese Crystal=Cristal de mese
|
||||
Mossy Cobblestone=Empredrado musgoso
|
||||
Mud=Barro
|
||||
Mud with Moss=Barro musgoso
|
||||
Muddy Water Source=Fuente de agua pantanosa
|
||||
River Water Source=Fuente de agua de río
|
||||
Ruby=Rubí
|
||||
Ruby Ore=Mineral de rubí
|
||||
Sand=Arena
|
||||
Sandstone=Piedra arenisca
|
||||
Silex=Silex
|
||||
Silt=Limo
|
||||
Silt with Grass=Limo con hierba
|
||||
Stone=Piedra
|
||||
Water Source=Fuente de agua
|
||||
|
|
After Width: | Height: | Size: 580 B |
After Width: | Height: | Size: 523 B |
Before Width: | Height: | Size: 591 B After Width: | Height: | Size: 592 B |
Before Width: | Height: | Size: 569 B After Width: | Height: | Size: 588 B |
Before Width: | Height: | Size: 580 B After Width: | Height: | Size: 579 B |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 671 B |
|
@ -2,6 +2,8 @@ local S = ...
|
|||
|
||||
local WATER_ALPHA = "^[opacity:" .. 230
|
||||
local WATER_VISC = 1
|
||||
local WATER_COLORIZE = "^[colorize:#628df0:192"
|
||||
local WATER_SWAMP_COLORIZE = "^[colorize:#7d8f35:128"
|
||||
|
||||
minetest.register_node("nodez:water_source", {
|
||||
description = S("Water Source").."\n"..
|
||||
|
@ -9,7 +11,7 @@ minetest.register_node("nodez:water_source", {
|
|||
drawtype = "liquid",
|
||||
waving = 3,
|
||||
tiles = {{
|
||||
name = "nodez_water_animated.png"..WATER_ALPHA,
|
||||
name = "nodez_water_animated.png"..WATER_COLORIZE..WATER_ALPHA,
|
||||
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 4.0},
|
||||
backface_culling = true,
|
||||
}},
|
||||
|
@ -38,7 +40,7 @@ minetest.register_node("nodez:water_flowing", {
|
|||
tiles = {"nodez_water_flowing.png"},
|
||||
special_tiles = {
|
||||
{
|
||||
name = "nodez_water_flowing.png"..WATER_ALPHA,
|
||||
name = "nodez_water_flowing.png"..WATER_COLORIZE..WATER_ALPHA,
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
|
@ -48,7 +50,7 @@ minetest.register_node("nodez:water_flowing", {
|
|||
},
|
||||
},
|
||||
{
|
||||
name = "nodez_water_flowing.png"..WATER_ALPHA,
|
||||
name = "nodez_water_flowing.png"..WATER_COLORIZE..WATER_ALPHA,
|
||||
backface_culling = true,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
|
@ -81,10 +83,10 @@ minetest.register_node("nodez:river_water_source", {
|
|||
"Drowning damage: 1",
|
||||
drawtype = "liquid",
|
||||
waving = 3,
|
||||
tiles = { "nodez_river_water.png"..WATER_ALPHA },
|
||||
tiles = { "nodez_river_water.png"..WATER_COLORIZE..WATER_ALPHA },
|
||||
special_tiles = {
|
||||
{name = "nodez_river_water.png"..WATER_ALPHA, backface_culling = false},
|
||||
{name = "nodez_river_water.png"..WATER_ALPHA, backface_culling = true},
|
||||
{name = "nodez_river_water.png"..WATER_COLORIZE..WATER_ALPHA, backface_culling = false},
|
||||
{name = "nodez_river_water.png"..WATER_COLORIZE..WATER_ALPHA, backface_culling = true},
|
||||
},
|
||||
use_texture_alpha = "blend",
|
||||
paramtype = "light",
|
||||
|
@ -110,11 +112,11 @@ minetest.register_node("nodez:river_water_flowing", {
|
|||
"Drowning damage: 1",
|
||||
drawtype = "flowingliquid",
|
||||
waving = 3,
|
||||
tiles = {"nodez_river_water_flowing.png"..WATER_ALPHA},
|
||||
tiles = {"nodez_river_water_flowing.png"..WATER_COLORIZE..WATER_ALPHA},
|
||||
special_tiles = {
|
||||
{name = "nodez_river_water_flowing.png"..WATER_ALPHA,
|
||||
{name = "nodez_river_water_flowing.png"..WATER_COLORIZE..WATER_ALPHA,
|
||||
backface_culling = false},
|
||||
{name = "nodez_river_water_flowing.png"..WATER_ALPHA,
|
||||
{name = "nodez_river_water_flowing.png"..WATER_COLORIZE..WATER_ALPHA,
|
||||
backface_culling = false},
|
||||
},
|
||||
use_texture_alpha = "blend",
|
||||
|
@ -137,6 +139,99 @@ minetest.register_node("nodez:river_water_flowing", {
|
|||
sounds = sound.water(),
|
||||
})
|
||||
|
||||
--Muddy Swamp Water
|
||||
|
||||
minetest.register_node("nodez:muddy_water_source", {
|
||||
description = S("Muddy Water Source"),
|
||||
drawtype = "liquid",
|
||||
waving = 3,
|
||||
tiles = {
|
||||
{
|
||||
name = "nodez_water_animated.png"..WATER_ALPHA..WATER_SWAMP_COLORIZE,
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 2.0,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "nodez_water_animated.png"..WATER_ALPHA..WATER_SWAMP_COLORIZE,
|
||||
backface_culling = true,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 2.0,
|
||||
},
|
||||
},
|
||||
},
|
||||
alpha = 212,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
is_ground_content = false,
|
||||
drop = "",
|
||||
drowning = 1,
|
||||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "nodez:muddy_water_flowing",
|
||||
liquid_alternative_source = "nodez:muddy_water_source",
|
||||
liquid_viscosity = 1,
|
||||
post_effect_color = {a = 191, r = 30, g = 60, b = 90},
|
||||
groups = {water = 3, liquid = 3, cools_lava = 1},
|
||||
sounds = sound.water(),
|
||||
})
|
||||
|
||||
minetest.register_node("nodez:muddy_water_flowing", {
|
||||
description = S("Flowing Muddy Water"),
|
||||
drawtype = "flowingliquid",
|
||||
waving = 3,
|
||||
tiles = {"nodez_water.png"..WATER_ALPHA..WATER_SWAMP_COLORIZE},
|
||||
special_tiles = {
|
||||
{
|
||||
name = "nodez_water_animated.png",
|
||||
backface_culling = false,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 0.5,
|
||||
},
|
||||
},
|
||||
{
|
||||
name = "nodez_water_animated.png",
|
||||
backface_culling = true,
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 0.5,
|
||||
},
|
||||
},
|
||||
},
|
||||
alpha = 212,
|
||||
paramtype = "light",
|
||||
paramtype2 = "flowingliquid",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
buildable_to = true,
|
||||
is_ground_content = false,
|
||||
drop = "",
|
||||
drowning = 1,
|
||||
liquidtype = "flowing",
|
||||
liquid_alternative_flowing = "nodez:muddy_water_flowing",
|
||||
liquid_alternative_source = "nodez:muddy_water_source",
|
||||
liquid_viscosity = 1,
|
||||
post_effect_color = {a = 191, r = 30, g = 90, b = 90},
|
||||
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1,
|
||||
cools_lava = 1},
|
||||
sounds = sound.water(),
|
||||
})
|
||||
|
||||
--Ice
|
||||
|
||||
minetest.register_node("nodez:ice", {
|
||||
|
|
|
@ -10,7 +10,7 @@ playerz = {}
|
|||
-- Note: This is currently broken due to a bug in Irrlicht, leave at 0
|
||||
local animation_blend = 0
|
||||
|
||||
playerz.registered_models = { }
|
||||
playerz.registered_models = {}
|
||||
|
||||
-- Local for speed.
|
||||
local models = playerz.registered_models
|
||||
|
@ -20,7 +20,6 @@ function playerz.register_model(name, def)
|
|||
end
|
||||
|
||||
-- Player stats and animations
|
||||
local player_model = {}
|
||||
local player_textures = {}
|
||||
local player_anim = {}
|
||||
local player_sneak = {}
|
||||
|
@ -32,7 +31,7 @@ playerz.count = 0 --Total number of connected players
|
|||
function playerz.get_animation(player)
|
||||
local name = player:get_player_name()
|
||||
return {
|
||||
model = player_model[name],
|
||||
model = playerz.get_model(player),
|
||||
textures = player_textures[name],
|
||||
animation = player_anim[name],
|
||||
}
|
||||
|
@ -129,7 +128,7 @@ minetest.register_chatcommand("toggle_gender", {
|
|||
new_gender = "male"
|
||||
end
|
||||
meta:set_string("gender", new_gender)
|
||||
playerz.set_model(player, playerz.get_gender_model(new_gender))
|
||||
playerz.update_model(player, playerz.get_gender_model(new_gender), true)
|
||||
local gender_model = playerz.get_gender_model(new_gender)
|
||||
local cloth = playerz.compose_cloth(player)
|
||||
playerz.registered_models[gender_model].textures[1] = cloth
|
||||
|
@ -170,7 +169,7 @@ local function move_head(player, on_water)
|
|||
end
|
||||
local head_rotation = {x= pitch, y= 0, z= 0} --the head movement {pitch, yaw, roll}
|
||||
local head_offset
|
||||
if minetest.get_modpath("3d_armor")~=nil then
|
||||
if minetest.get_modpath("3d_armor") ~= nil then
|
||||
head_offset = 6.75
|
||||
else
|
||||
head_offset = 6.3
|
||||
|
@ -179,12 +178,21 @@ local function move_head(player, on_water)
|
|||
player:set_bone_position("Head", head_position, head_rotation) --set the head movement
|
||||
end
|
||||
|
||||
--Save/grab Model
|
||||
function playerz.get_model(player)
|
||||
return player:get_meta():get_string("playerz:model")
|
||||
end
|
||||
|
||||
function playerz.set_model(player, model)
|
||||
return player:get_meta():set_string("playerz:model", model)
|
||||
end
|
||||
|
||||
-- Called when a player's appearance needs to be updated
|
||||
function playerz.set_model(player, model_name)
|
||||
function playerz.update_model(player, model_name, force)
|
||||
local name = player:get_player_name()
|
||||
local model = models[model_name]
|
||||
if model then
|
||||
if player_model[name] == model_name then
|
||||
if playerz.get_model(player) == model_name and not force then
|
||||
return
|
||||
end
|
||||
player:set_properties({
|
||||
|
@ -207,12 +215,12 @@ function playerz.set_model(player, model_name)
|
|||
eye_height = 1.625,
|
||||
})
|
||||
end
|
||||
player_model[name] = model_name
|
||||
playerz.set_model(player, model_name)
|
||||
end
|
||||
|
||||
function playerz.set_textures(player, textures)
|
||||
local name = player:get_player_name()
|
||||
local model = models[player_model[name]]
|
||||
local model = models[playerz.get_model(player)]
|
||||
local model_textures = model and model.textures or nil
|
||||
player_textures[name] = textures or model_textures
|
||||
player:set_properties({textures = textures or model_textures})
|
||||
|
@ -223,7 +231,8 @@ function playerz.set_animation(player, anim_name, speed)
|
|||
if player_anim[name] == anim_name then
|
||||
return
|
||||
end
|
||||
local model = player_model[name] and models[player_model[name]]
|
||||
local player_model = playerz.get_model(player)
|
||||
local model = player_model and models[player_model]
|
||||
if not (model and model.animations[anim_name]) then
|
||||
return
|
||||
end
|
||||
|
@ -251,7 +260,7 @@ minetest.register_globalstep(function(dtime)
|
|||
timer = timer + dtime
|
||||
for _, player in pairs(minetest.get_connected_players()) do
|
||||
local name = player:get_player_name()
|
||||
local model_name = player_model[name]
|
||||
local model_name = playerz.get_model(player)
|
||||
local model = model_name and models[model_name]
|
||||
if model and not player_attached[name] then
|
||||
local controls = player:get_player_control()
|
||||
|
@ -412,7 +421,7 @@ function playerz.set_texture(player)
|
|||
local gender = playerz.get_gender(player)
|
||||
local gender_model = playerz.get_gender_model(gender)
|
||||
playerz.registered_models[gender_model].textures[1] = cloth
|
||||
playerz.set_model(player, gender_model)
|
||||
playerz.update_model(player, gender_model, false)
|
||||
playerz.set_textures(player, models[gender_model].textures)
|
||||
end
|
||||
|
||||
|
@ -510,7 +519,6 @@ end)
|
|||
|
||||
minetest.register_on_leaveplayer(function(player)
|
||||
local name = player:get_player_name()
|
||||
player_model[name] = nil
|
||||
player_anim[name] = nil
|
||||
player_textures[name] = nil
|
||||
player_sneak[name] = nil
|
||||
|
@ -544,4 +552,3 @@ minetest.register_on_shutdown(function()
|
|||
playerz.shutdown_hunger(player)
|
||||
end
|
||||
end)
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ minetest.register_on_joinplayer(function(player)
|
|||
hunger = playerz.load_hunger(player)
|
||||
local cloth = playerz.compose_cloth(player)
|
||||
playerz.registered_models[playerz.get_gender_model(gender)].textures[1] = cloth
|
||||
playerz.set_model(player, playerz.get_gender_model(gender))
|
||||
playerz.update_model(player, playerz.get_gender_model(gender), true)
|
||||
end
|
||||
--Set Hunger Hudbar
|
||||
playerz.hb_add(player, hunger)
|
||||
|
|
|
@ -112,8 +112,10 @@ function treez.register_tree(name, def)
|
|||
attached_node = 1, sapling = 1},
|
||||
|
||||
on_construct = function(pos)
|
||||
minetest.get_node_timer(pos):start(math.random(tree_grow_time - (tree_grow_time * variability),
|
||||
if helper.node_is_soil(pos, "under") then
|
||||
minetest.get_node_timer(pos):start(math.random(tree_grow_time - (tree_grow_time * variability),
|
||||
tree_grow_time + (tree_grow_time * variability)))
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
@1 Wood=Madera @1
|
||||
Apple=Manzana
|
||||
Apple Tree=de manzano
|
||||
Birch=Abedul
|
||||
Cherries=Cerezas
|
||||
Cherry Tree=de cerezo
|
||||
Chestnut=Castaña
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
name = treez
|
||||
description = Trees
|
||||
depends = mapgenz
|
||||
depends = mapgenz, helper
|
||||
|
|
After Width: | Height: | Size: 708 B |
After Width: | Height: | Size: 639 B |
After Width: | Height: | Size: 621 B |
After Width: | Height: | Size: 632 B |
After Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 637 B After Width: | Height: | Size: 637 B |
|
@ -79,3 +79,20 @@ treez.register_tree("chestnut_tree", {
|
|||
},
|
||||
}
|
||||
})
|
||||
|
||||
--Birch
|
||||
treez.register_tree("birch", {
|
||||
description = "Birch",
|
||||
deco = {
|
||||
biomes = {"forest"},
|
||||
place_on = "nodez:dirt_with_grass",
|
||||
noise_params = {
|
||||
offset = -0.005,
|
||||
scale = 0.008,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 3828,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
}
|
||||
})
|
||||
|
|