12 Commits

64 changed files with 198 additions and 152 deletions

View File

@ -1 +0,0 @@
default

View File

@ -13,9 +13,6 @@ 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",
@ -165,3 +162,5 @@ minetest.register_node("christmas_craft:snow", {
}),
})
]]--
minetest.log("action", "[christmas_craft] loaded.")

View File

@ -1,3 +1,5 @@
name = 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!
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",
@ -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,
})

274
snow.lua
View File

@ -1,118 +1,186 @@
print (" ---- Overrider christmas_craft = true! ---- ")
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 snowballdrop = {items = {'default:snow'}, rarity = 0}
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'},
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
}
}
},
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'},
else
def.drop = {
items = {
snowballdrop
}
}
},
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},
},
},
end
end
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: 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: 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.

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 B

After

Width:  |  Height:  |  Size: 205 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.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 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 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

BIN
textures/snow_apple.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 B

After

Width:  |  Height:  |  Size: 203 B

BIN
textures/snow_geranium.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

BIN
textures/snow_rose.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

BIN
textures/snow_tulip.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

BIN
textures/snow_viola.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 B