Compare commits

...

7 Commits

50 changed files with 148 additions and 87 deletions

View File

@ -1,4 +0,0 @@
default
youngtrees?
woodsoil?
flowers?

5
mod.conf Normal file
View File

@ -0,0 +1,5 @@
name = christmas_craft
title = Christmas Craft
description = Bring the joy of Christmas to Minetest. This mod adds Christmas related things such as presents, baubles, decorations and more, also the mod can also allows you to cover the grass with snow, and make things such as snowmen. You can even have a snowball fight!
depends = default
optional_depends = youngtrees,bushes,woodsoils,flowers,moretrees

View File

@ -83,7 +83,7 @@ minetest.register_craft({
output = "christmas_craft:snowman", output = "christmas_craft:snowman",
recipe = { recipe = {
{"default:coal_lump","default:snow","default:coal_lump"}, {"default:coal_lump","default:snow","default:coal_lump"},
{"default:snow","christmas_craft:snowball","default:snow"}, {"default:snow","default:snow","default:snow"},
{"default:coal_lump","default:coal_lump","default:coal_lump"}, {"default:coal_lump","default:coal_lump","default:coal_lump"},
} }
}) })

View File

@ -21,9 +21,26 @@ minetest.register_node("christmas_craft:present_box", {
-- coloured Present -- -- coloured Present --
local function register_paper(name, description, colorCode, dye)
minetest.register_craftitem("christmas_craft:paper_".. name, {
description = description .."paper",
inventory_image = "default_paper.png^[colorize:#" .. colorCode,
stack_max = 99,
liquids_pointable = false,
})
minetest.register_craft({
type = "shapeless",
output = 'christmas_craft:paper_'.. name,
recipe = {'dye:'..dye,'default:paper'},
})
end
local function register_present(name, description, colorCode, dye) local function register_present(name, description, colorCode, dye)
minetest.register_node("christmas_craft:Christmas_present_"..name, { minetest.register_node("christmas_craft:christmas_present_"..name, {
description = description .." Christmas Present", description = description .." Christmas Present",
tiles = { tiles = {
"christmas_present.png^[colorize:#" ..colorCode.. "^christmas_bow_top.png", "christmas_present.png^[colorize:#" ..colorCode.. "^christmas_bow_top.png",
@ -84,7 +101,7 @@ minetest.register_node("christmas_craft:glass_bauble",{
}, },
is_ground_content = true, is_ground_content = true,
paramtype = "light", paramtype = "light",
use_texture_alpha = true, use_texture_alpha = "blend",
groups = {crumbly=3}, groups = {crumbly=3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
node_box = { node_box = {
@ -154,23 +171,6 @@ local function register_baubles(name, description, colorCode, dye)
}) })
end end
local function register_paper(name, description, colorCode, dye)
minetest.register_craftitem("christmas_craft:paper_".. name, {
description = description .."paper",
inventory_image = "default_paper.png^[colorize:#" .. colorCode,
stack_max = 99,
liquids_pointable = false,
})
minetest.register_craft({
type = "shapeless",
output = 'christmas_craft:paper_'.. name,
recipe = {'dye:'..dye,'default:paper'},
})
end
colours = { colours = {
-- RGB Prime Colours -- -- RGB Prime Colours --
{name="red", code="FF000099", description="Red", dye="red"}, {name="red", code="FF000099", description="Red", dye="red"},
@ -183,7 +183,7 @@ colours = {
-- RGB Other Colours -- -- RGB Other Colours --
{name="orange", code="E5940099", description="Orange", dye="orange"}, {name="orange", code="E5940099", description="Orange", dye="orange"},
{name="darkgreen", code="004C0099", description="Dark Green", dye="dark_green"}, {name="darkgreen", code="004C0099", description="Dark Green", dye="dark_green"},
{name="violet", code="80008099", description="Violet", dye="purple"}, {name="violet", code="80008099", description="Violet", dye="violet"},
{name="pink", code="FFC0CB99", description="Pink", dye="pink"}, {name="pink", code="FFC0CB99", description="Pink", dye="pink"},
{name="brown", code="732c0b99", description="Brown", dye="brown"}, {name="brown", code="732c0b99", description="Brown", dye="brown"},
-- MonoChrome -- -- MonoChrome --

View File

@ -6,7 +6,7 @@ minetest.register_alias("christmas_craft:snow_block", "default:snowblock")
minetest.register_alias("christmas_craft:silver_baubles", "christmas_craft:white_baubles") minetest.register_alias("christmas_craft:silver_baubles", "christmas_craft:white_baubles")
minetest.register_alias("christmas_craft:Christmas_present", "christmas_craft:Christmas_present_white") minetest.register_alias("christmas_craft:Christmas_present", "christmas_craft:christmas_present_white")
-- ========== -- -- ========== --
-- misk nodes -- -- misk nodes --
@ -329,33 +329,11 @@ minetest.register_node("christmas_craft:candy_cane_tree", {
on_place = minetest.rotate_node on_place = minetest.rotate_node
}) })
minetest.register_node(":default:snow", { minetest.override_item("default:snow", {
description = "Snow",
tiles = {"default_snow.png"},
inventory_image = "default_snowball.png",
wield_image = "default_snowball.png",
paramtype = "light",
buildable_to = true,
walkable = false,
floodable = true,
drawtype = "nodebox",
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.125, 0.5}, {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5},
}, },
}, },
groups = {crumbly = 3, falling_node = 1, puts_out_fire = 1},
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_snow_footstep", gain = 0.15},
dug = {name = "default_snow_footstep", gain = 0.2},
dig = {name = "default_snow_footstep", gain = 0.2}
}),
on_construct = function(pos)
pos.y = pos.y - 1
if minetest.get_node(pos).name == "default:dirt_with_grass" then
minetest.set_node(pos, {name = "default:dirt_with_snow"})
end
end,
}) })

158
snow.lua
View File

@ -38,30 +38,100 @@ minetest.override_item(
sounds = data.sounds, sounds = data.sounds,
}) })
local nodebox = { minetest.override_item(
type = "fixed", "default:dry_dirt_with_dry_grass", {
fixed = { tiles = {"default_snow.png", "default_dry_dirt.png",
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} {name = "default_dry_dirt.png^default_snow_side.png",
} tileable_vertical = false}},
} sounds = data.sounds,
local leavesoverride = { })
drawtype = "nodebox",
visual_scale = 1, minetest.override_item(
tiles = {"snow.png", "christmas_craft_leaves_top.png", "christmas_craft_leaves_side.png"}, "default:dirt_with_rainforest_litter", {
paramtype = "light", tiles = data.tiles,
node_box = nodebox, sounds = data.sounds,
selection_box = nodebox })
minetest.override_item(
"default:dirt_with_coniferous_litter", {
tiles = data.tiles,
sounds = data.sounds,
})
-- Replace woodsoils
local woodsoils = {
"woodsoils:grass_with_leaves_1",
"woodsoils:grass_with_leaves_2",
"woodsoils:dirt_with_leaves_1",
"woodsoils:dirt_with_leaves_2"
} }
-- replace leaves for _,woodsoil in pairs(woodsoils) do
minetest.override_item("default:leaves", leavesoverride) if minetest.registered_nodes[woodsoil] then
minetest.override_item("default:aspen_leaves", leavesoverride) minetest.override_item(
minetest.override_item("default:jungleleaves", leavesoverride) woodsoil, {
minetest.override_item("default:bush_leaves", leavesoverride) tiles = { "default_snow.png", "default_dirt.png", "grass_w_snow_side.png" },
sounds = data.sounds
})
add_drop(minetest.registered_nodes[woodsoil])
end
end
-- Replace leaves
minetest.override_item("default:pine_needles", {
tiles = {"default_pine_needles.png^christmas_snow_leaves.png"}
})
minetest.override_item("default:pine_bush_needles", {
tiles = {"default_pine_needles.png^christmas_snow_leaves.png"}
})
minetest.override_item("default:bush_leaves", {
tiles = {"(default_leaves.png^[multiply:#c75000)^christmas_snow_leaves.png"}
})
for _, leaves in pairs({"leaves", "aspen_leaves", "jungleleaves"}) do
local tree_leaves = "default:"..leaves
minetest.override_item(tree_leaves, {
tiles = {
"(default_"..leaves..".png^[multiply:#c75000)^christmas_snow_leaves.png"
}})
end
if minetest.get_modpath("moretrees") then
-- replace moretrees leaves adding snow and brown mask
for _, leaves in pairs({"beech", "apple_tree", "oak", "birch", "poplar", "willow", "rubber_tree"}) do
local tree_leaves = "moretrees:"..leaves.."_leaves"
minetest.override_item(tree_leaves, {
tiles = {
"(moretrees_"..leaves.."_leaves.png^[multiply:#c75000)^christmas_snow_leaves.png"
}})
end
-- replace moretrees leaves adding snow
for _, leaves in pairs({"sequoia", "palm", "date_palm", "spruce", "cedar", "fir"}) do
local tree_leaves = "moretrees:"..leaves.."_leaves"
minetest.override_item(tree_leaves, {
tiles = {
"moretrees_"..leaves.."_leaves.png^christmas_snow_leaves.png"
}})
end
-- fir with bright needles
minetest.override_item("moretrees:fir_leaves_bright", {
tiles = {
"moretrees_fir_leaves_bright.png^christmas_snow_leaves.png"
}})
end
-- Replace apple by the snow version
minetest.override_item("default:apple", {
tiles = {"snow_apple.png"},
inventory_image = "snow_apple.png"
})
-- replace grass -- replace grass
for i=1,5 do for i=1,5 do
minetest.override_item("default:grass_" .. i, {tiles = {"christmas_grass_"..i..".png"}}) minetest.override_item("default:grass_" .. i, {tiles = {"christmas_grass_"..i..".png"}})
minetest.override_item("default:dry_grass_" .. i, {tiles = {"christmas_dry_grass_"..i..".png"}})
end end
-- Replace junglegrass -- Replace junglegrass
@ -73,29 +143,41 @@ if minetest.registered_items["youngtrees:youngtree_top"] then
minetest.override_item("youngtrees:youngtree_middle", {tiles = {"christmas_youngtree16xb.png"}}) minetest.override_item("youngtrees:youngtree_middle", {tiles = {"christmas_youngtree16xb.png"}})
end end
-- Replace woodsoils -- Replace bushes
if minetest.registered_items["woodsoils:grass_with_leaves_1"] then if minetest.registered_items["bushes:BushLeaves1"] then
minetest.override_item("woodsoils:grass_with_leaves_1", {tiles = {"snow.png", "default_dirt.png", "default_dirt.png^grass_w_snow_side.png"}}) minetest.override_item("bushes:BushLeaves1", {tiles = {"christmas_bushes_leaves.png"}})
add_drop(minetest.registered_items["woodsoils:grass_with_leaves_1"]) minetest.override_item("bushes:BushLeaves2", {tiles = {"christmas_bushes_leaves.png"}})
end minetest.override_item("bushes:bushbranches1",
{tiles = {"christmas_bushes_leaves.png", "christmas_bushes_branches_center.png"}})
if minetest.registered_items["woodsoils:grass_with_leaves_2"] then minetest.override_item("bushes:bushbranches3",
minetest.override_item("woodsoils:grass_with_leaves_2", {tiles = {"snow.png", "default_dirt.png", "default_dirt.png^grass_w_snow_side.png"}}) {tiles = {"christmas_bushes_leaves.png", "christmas_bushes_branches_center.png"}})
add_drop(minetest.registered_items["woodsoils:grass_with_leaves_2"]) minetest.override_item("bushes:bushbranches2", {
end tiles = {
"christmas_bushes_leaves.png",
if minetest.registered_items["woodsoils:dirt_with_leaves_1"] then "christmas_bushes_branches_center.png",
minetest.override_item("woodsoils:dirt_with_leaves_1", {tiles = {"snow.png", "default_dirt.png", "default_dirt.png^grass_w_snow_side.png^woodsoils_ground_cover_side.png"}}) "christmas_bushes_branches_left.png",
add_drop(minetest.registered_items["woodsoils:dirt_with_leaves_1"]) "christmas_bushes_branches_right.png",
end "christmas_bushes_branches_center.png",
"christmas_bushes_branches_right.png"
if minetest.registered_items["woodsoils:dirt_with_leaves_2"] then }})
minetest.override_item("woodsoils:dirt_with_leaves_2", {tiles = {"snow.png", "default_dirt.png", "default_dirt.png^grass_w_snow_side.png^woodsoils_ground_cover_side.png"}}) minetest.override_item("bushes:bushbranches4", {
add_drop(minetest.registered_items["woodsoils:dirt_with_leaves_2"]) tiles = {
"christmas_bushes_leaves.png",
"christmas_bushes_branches_center.png",
"christmas_bushes_branches_left.png",
"christmas_bushes_branches_right.png",
"christmas_bushes_branches_center.png",
"christmas_bushes_branches_right.png"
}})
minetest.override_item("bushes:youngtree2_bottom", {
tiles = {"christmas_bushes_youngtree2trunk.png"},
inventory_image = "christmas_bushes_youngtree2trunk_inv.png",
wield_image = "christmas_bushes_youngtree2trunk_inv.png"
})
end end
-- replace flowers -- replace flowers
for _,name in pairs({"dandelion_yellow", "geranium", "rose", "tulip", "dandelion_white", "viola"}) do for _,name in pairs({"dandelion_yellow", "geranium", "rose", "tulip", "dandelion_white", "viola", "chrysanthemum_green", "tulip_black"}) do
local flowername = "flowers:"..name local flowername = "flowers:"..name
local tiles = { "snow_" .. name .. ".png" } local tiles = { "snow_" .. name .. ".png" }
minetest.override_item(flowername, { tiles = tiles }) minetest.override_item(flowername, { tiles = tiles })

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

After

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 B

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 755 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 B

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 B

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 B

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 B

After

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 332 B

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 434 B

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 602 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 B

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 B

After

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 B

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 464 B

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 B

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 808 B

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 B

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 548 B

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 536 B

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 635 B

After

Width:  |  Height:  |  Size: 214 B

BIN
textures/snow.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 B

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 B

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B