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",
recipe = {
{"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"},
}
})

View File

@ -21,9 +21,26 @@ minetest.register_node("christmas_craft:present_box", {
-- 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)
minetest.register_node("christmas_craft:Christmas_present_"..name, {
minetest.register_node("christmas_craft:christmas_present_"..name, {
description = description .." Christmas Present",
tiles = {
"christmas_present.png^[colorize:#" ..colorCode.. "^christmas_bow_top.png",
@ -84,7 +101,7 @@ minetest.register_node("christmas_craft:glass_bauble",{
},
is_ground_content = true,
paramtype = "light",
use_texture_alpha = true,
use_texture_alpha = "blend",
groups = {crumbly=3},
sounds = default.node_sound_glass_defaults(),
node_box = {
@ -154,23 +171,6 @@ local function register_baubles(name, description, colorCode, dye)
})
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 = {
-- RGB Prime Colours --
{name="red", code="FF000099", description="Red", dye="red"},
@ -183,7 +183,7 @@ colours = {
-- RGB Other Colours --
{name="orange", code="E5940099", description="Orange", dye="orange"},
{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="brown", code="732c0b99", description="Brown", dye="brown"},
-- 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:Christmas_present", "christmas_craft:Christmas_present_white")
minetest.register_alias("christmas_craft:Christmas_present", "christmas_craft:christmas_present_white")
-- ========== --
-- misk nodes --
@ -329,33 +329,11 @@ minetest.register_node("christmas_craft:candy_cane_tree", {
on_place = minetest.rotate_node
})
minetest.register_node(":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",
minetest.override_item("default:snow", {
node_box = {
type = "fixed",
fixed = {
{-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,
})
local nodebox = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}
}
}
local leavesoverride = {
drawtype = "nodebox",
visual_scale = 1,
tiles = {"snow.png", "christmas_craft_leaves_top.png", "christmas_craft_leaves_side.png"},
paramtype = "light",
node_box = nodebox,
selection_box = nodebox
minetest.override_item(
"default:dry_dirt_with_dry_grass", {
tiles = {"default_snow.png", "default_dry_dirt.png",
{name = "default_dry_dirt.png^default_snow_side.png",
tileable_vertical = false}},
sounds = data.sounds,
})
minetest.override_item(
"default:dirt_with_rainforest_litter", {
tiles = data.tiles,
sounds = data.sounds,
})
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
minetest.override_item("default:leaves", leavesoverride)
minetest.override_item("default:aspen_leaves", leavesoverride)
minetest.override_item("default:jungleleaves", leavesoverride)
minetest.override_item("default:bush_leaves", leavesoverride)
for _,woodsoil in pairs(woodsoils) do
if minetest.registered_nodes[woodsoil] then
minetest.override_item(
woodsoil, {
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
for i=1,5 do
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
-- Replace junglegrass
@ -73,29 +143,41 @@ if minetest.registered_items["youngtrees:youngtree_top"] then
minetest.override_item("youngtrees:youngtree_middle", {tiles = {"christmas_youngtree16xb.png"}})
end
-- Replace woodsoils
if minetest.registered_items["woodsoils:grass_with_leaves_1"] then
minetest.override_item("woodsoils:grass_with_leaves_1", {tiles = {"snow.png", "default_dirt.png", "default_dirt.png^grass_w_snow_side.png"}})
add_drop(minetest.registered_items["woodsoils:grass_with_leaves_1"])
end
if minetest.registered_items["woodsoils:grass_with_leaves_2"] then
minetest.override_item("woodsoils:grass_with_leaves_2", {tiles = {"snow.png", "default_dirt.png", "default_dirt.png^grass_w_snow_side.png"}})
add_drop(minetest.registered_items["woodsoils:grass_with_leaves_2"])
end
if minetest.registered_items["woodsoils:dirt_with_leaves_1"] then
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"}})
add_drop(minetest.registered_items["woodsoils:dirt_with_leaves_1"])
end
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"}})
add_drop(minetest.registered_items["woodsoils:dirt_with_leaves_2"])
-- Replace bushes
if minetest.registered_items["bushes:BushLeaves1"] then
minetest.override_item("bushes:BushLeaves1", {tiles = {"christmas_bushes_leaves.png"}})
minetest.override_item("bushes:BushLeaves2", {tiles = {"christmas_bushes_leaves.png"}})
minetest.override_item("bushes:bushbranches1",
{tiles = {"christmas_bushes_leaves.png", "christmas_bushes_branches_center.png"}})
minetest.override_item("bushes:bushbranches3",
{tiles = {"christmas_bushes_leaves.png", "christmas_bushes_branches_center.png"}})
minetest.override_item("bushes:bushbranches2", {
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:bushbranches4", {
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
-- 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 tiles = { "snow_" .. name .. ".png" }
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