Compare commits

3 Commits

64 changed files with 152 additions and 198 deletions

1
depends.txt Normal file
View File

@ -0,0 +1 @@
default

View File

@ -13,6 +13,9 @@ local config = Settings(worldpath.."/christmas_craft.conf")
local conf_table = config:to_table()
--look into readme.md how to change settings
local defaults = {
enable_snowing = "true",
@ -162,5 +165,3 @@ minetest.register_node("christmas_craft:snow", {
}),
})
]]--
minetest.log("action", "[christmas_craft] loaded.")

View File

@ -1,5 +1,3 @@
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!
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","default:snow","default:snow"},
{"default:snow","christmas_craft:snowball","default:snow"},
{"default:coal_lump","default:coal_lump","default:coal_lump"},
}
})

View File

@ -21,26 +21,9 @@ 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",
@ -171,6 +154,23 @@ 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="violet"},
{name="violet", code="80008099", description="Violet", dye="purple"},
{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,11 +329,33 @@ minetest.register_node("christmas_craft:candy_cane_tree", {
on_place = minetest.rotate_node
})
minetest.override_item("default:snow", {
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",
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,
})

274
snow.lua
View File

@ -1,186 +1,118 @@
print (" ---- Overrider christmas_craft = true! ---- ")
local snowballdrop = {items = {'default:snow'}, rarity = 0}
minetest.register_node(":default:dirt_with_grass", {
description = "Dirt with Grass",
tiles = {"default_snow.png", "default_dirt.png", "default_dirt.png^default_snow_side.png"},
is_ground_content = true,
groups = {crumbly=3,soil=1},
drop = {
max_items = 2, items = {
{items = {'default:dirt'}, rarity = 0,},
{items = {'christmas_craft:snowball'}, rarity = 0,},
}},
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_grass_footstep", gain=0.4},
}),
})
local add_drop = function (def)
if type(def.drop) == "table" then
if def.drop.max_items then
def.drop.max_items = def.drop.max_items + 1
end
table.insert(def.drop.items, snowballdrop)
elseif type(def.drop) == "string" then
def.drop = {
items = {
{items = {def.drop}, rarity = 0},
snowballdrop
minetest.register_node(":default:leaves", {
description = "Leaves",
drawtype = "allfaces_optional",
waving = 1,
visual_scale = 1.3,
tiles = {"christmas_leaves_side.png"},
special_tiles = {"default_leaves_simple.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/20 chance
items = {'default:sapling'},
rarity = 20,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'default:leaves'},
}
}
else
def.drop = {
items = {
snowballdrop
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node(":default:aspen_leaves", {
description = "Aspen Leaves",
drawtype = "allfaces_optional",
visual_scale = 1.3,
tiles = {"christmas_aspen_leaves.png"},
waving = 1,
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{items = {"default:aspen_sapling"}, rarity = 20},
{items = {"default:aspen_leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
-- old code
--[[
minetest.register_node(":default:leaves", {
description = "Leaves",
drawtype = "nodebox",
visual_scale = 1.3,
tiles = {"default_snow.png", "christmas_leaves_bot.png", "christmas_leaves_side.png"},
paramtype = "light",
groups = {snappy=3, leafdecay=3, flammable=2, leaves=1},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/20 chance
items = {'default:sapling'},
rarity = 20,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'default:leaves'},
}
}
end
end
},
sounds = default.node_sound_leaves_defaults(),
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
},
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
},
},
local data = minetest.registered_nodes["default:dirt_with_snow"]
minetest.override_item(
"default:dirt_with_grass", {
tiles = data.tiles,
sounds = data.sounds,
})
minetest.override_item(
"default:dirt_with_dry_grass", {
tiles = data.tiles,
sounds = data.sounds,
})
]]
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"
}
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
minetest.override_item("default:junglegrass", {tiles = {"christmas_junglegrass.png"}})
-- Replace youngtrees
if minetest.registered_items["youngtrees:youngtree_top"] then
minetest.override_item("youngtrees:youngtree_top", {tiles = {"christmas_youngtree16xa.png"}})
minetest.override_item("youngtrees:youngtree_middle", {tiles = {"christmas_youngtree16xb.png"}})
end
-- 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", "chrysanthemum_green", "tulip_black"}) do
local flowername = "flowers:"..name
local tiles = { "snow_" .. name .. ".png" }
minetest.override_item(flowername, { tiles = tiles })
end
print (" ---- Overrider christmas_craft [OK] ---- ")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 755 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 B

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 B

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 B

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 B

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 B

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 B

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 B

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

After

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 548 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 B

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 B

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 B

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B