diff --git a/mods/farmz/grasses.lua b/mods/farmz/grasses.lua index 87e9435..9744095 100644 --- a/mods/farmz/grasses.lua +++ b/mods/farmz/grasses.lua @@ -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"}, + }, + } + } +}) diff --git a/mods/farmz/textures/farmz_swamp_grass.png b/mods/farmz/textures/farmz_swamp_grass.png new file mode 100644 index 0000000..36d4860 Binary files /dev/null and b/mods/farmz/textures/farmz_swamp_grass.png differ diff --git a/mods/flowerz/api.lua b/mods/flowerz/api.lua index 50ee669..9fd1226 100644 --- a/mods/flowerz/api.lua +++ b/mods/flowerz/api.lua @@ -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 diff --git a/mods/flowerz/bushes.lua b/mods/flowerz/bushes.lua new file mode 100644 index 0000000..be1c7ca --- /dev/null +++ b/mods/flowerz/bushes.lua @@ -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, +}) diff --git a/mods/helper/init.lua b/mods/helper/init.lua index 2eb523c..5f051a5 100644 --- a/mods/helper/init.lua +++ b/mods/helper/init.lua @@ -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 - - diff --git a/mods/mapgenz/init.lua b/mods/mapgenz/init.lua index c1a8afb..b3e8cf1 100644 --- a/mods/mapgenz/init.lua +++ b/mods/mapgenz/init.lua @@ -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, +}) + diff --git a/mods/nodez/dirt.lua b/mods/nodez/dirt.lua index f3227eb..56a1047 100644 --- a/mods/nodez/dirt.lua +++ b/mods/nodez/dirt.lua @@ -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"}} +}) diff --git a/mods/nodez/locale/nodez.es.tr b/mods/nodez/locale/nodez.es.tr index 4e5fd8c..db55c08 100644 --- a/mods/nodez/locale/nodez.es.tr +++ b/mods/nodez/locale/nodez.es.tr @@ -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 diff --git a/mods/nodez/textures/nodez_mud_moss.png b/mods/nodez/textures/nodez_mud_moss.png new file mode 100644 index 0000000..3318a0c Binary files /dev/null and b/mods/nodez/textures/nodez_mud_moss.png differ diff --git a/mods/nodez/textures/nodez_mud_with_moss_side.png b/mods/nodez/textures/nodez_mud_with_moss_side.png new file mode 100644 index 0000000..72d28e7 Binary files /dev/null and b/mods/nodez/textures/nodez_mud_with_moss_side.png differ diff --git a/mods/nodez/textures/nodez_silt.png b/mods/nodez/textures/nodez_silt.png index 45ef9e2..81c06a1 100644 Binary files a/mods/nodez/textures/nodez_silt.png and b/mods/nodez/textures/nodez_silt.png differ diff --git a/mods/nodez/textures/nodez_silt_with_grass_side.png b/mods/nodez/textures/nodez_silt_with_grass_side.png index e1ade1c..b2acbc4 100644 Binary files a/mods/nodez/textures/nodez_silt_with_grass_side.png and b/mods/nodez/textures/nodez_silt_with_grass_side.png differ diff --git a/mods/nodez/textures/nodez_swamp_grass.png b/mods/nodez/textures/nodez_swamp_grass.png index b4ae724..6b93ad4 100644 Binary files a/mods/nodez/textures/nodez_swamp_grass.png and b/mods/nodez/textures/nodez_swamp_grass.png differ diff --git a/mods/nodez/textures/nodez_water_animated.png b/mods/nodez/textures/nodez_water_animated.png index d597b35..6afcce7 100644 Binary files a/mods/nodez/textures/nodez_water_animated.png and b/mods/nodez/textures/nodez_water_animated.png differ diff --git a/mods/nodez/textures/nodez_water_animated.xcf b/mods/nodez/textures/nodez_water_animated.xcf deleted file mode 100644 index 009fa1c..0000000 Binary files a/mods/nodez/textures/nodez_water_animated.xcf and /dev/null differ diff --git a/mods/nodez/water.lua b/mods/nodez/water.lua index 2b691ad..ac7320e 100644 --- a/mods/nodez/water.lua +++ b/mods/nodez/water.lua @@ -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", { diff --git a/mods/playerz/api.lua b/mods/playerz/api.lua index 2874b75..72f7e42 100644 --- a/mods/playerz/api.lua +++ b/mods/playerz/api.lua @@ -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) - diff --git a/mods/playerz/init.lua b/mods/playerz/init.lua index 50125bc..26c14ba 100644 --- a/mods/playerz/init.lua +++ b/mods/playerz/init.lua @@ -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) diff --git a/mods/treez/api.lua b/mods/treez/api.lua index 49a8791..70a177b 100644 --- a/mods/treez/api.lua +++ b/mods/treez/api.lua @@ -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, }) diff --git a/mods/treez/locale/treez.es.tr b/mods/treez/locale/treez.es.tr index 1f5890f..d8783a4 100644 --- a/mods/treez/locale/treez.es.tr +++ b/mods/treez/locale/treez.es.tr @@ -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 diff --git a/mods/treez/mod.conf b/mods/treez/mod.conf index 9a42b0d..41114fa 100644 --- a/mods/treez/mod.conf +++ b/mods/treez/mod.conf @@ -1,3 +1,3 @@ name = treez description = Trees -depends = mapgenz +depends = mapgenz, helper diff --git a/mods/treez/schematics/birch.mts b/mods/treez/schematics/birch.mts new file mode 100644 index 0000000..b522d3f Binary files /dev/null and b/mods/treez/schematics/birch.mts differ diff --git a/mods/treez/textures/treez_birch_leaves.png b/mods/treez/textures/treez_birch_leaves.png new file mode 100644 index 0000000..feb9a70 Binary files /dev/null and b/mods/treez/textures/treez_birch_leaves.png differ diff --git a/mods/treez/textures/treez_birch_sapling.png b/mods/treez/textures/treez_birch_sapling.png new file mode 100644 index 0000000..1d81e7a Binary files /dev/null and b/mods/treez/textures/treez_birch_sapling.png differ diff --git a/mods/treez/textures/treez_birch_trunk.png b/mods/treez/textures/treez_birch_trunk.png new file mode 100644 index 0000000..099c056 Binary files /dev/null and b/mods/treez/textures/treez_birch_trunk.png differ diff --git a/mods/treez/textures/treez_birch_trunk_top.png b/mods/treez/textures/treez_birch_trunk_top.png new file mode 100644 index 0000000..04922ce Binary files /dev/null and b/mods/treez/textures/treez_birch_trunk_top.png differ diff --git a/mods/treez/textures/treez_birch_wood.png b/mods/treez/textures/treez_birch_wood.png new file mode 100644 index 0000000..40ddcd6 Binary files /dev/null and b/mods/treez/textures/treez_birch_wood.png differ diff --git a/mods/treez/textures/treez_cherry_tree_leaves.png b/mods/treez/textures/treez_cherry_tree_leaves.png index d3d2c1a..d46ff76 100644 Binary files a/mods/treez/textures/treez_cherry_tree_leaves.png and b/mods/treez/textures/treez_cherry_tree_leaves.png differ diff --git a/mods/treez/trees.lua b/mods/treez/trees.lua index a6234e4..643a8dc 100644 --- a/mods/treez/trees.lua +++ b/mods/treez/trees.lua @@ -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 + }, + } +})