commit 73248cd5a9ae256a9681f45b6b71f6409b294516 Author: sys4-fr Date: Fri Sep 7 23:45:36 2018 +0200 Remplissage du dépôt. diff --git a/.gitattributes b/.gitattributes new file mode 100755 index 0000000..412eeda --- /dev/null +++ b/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..b9d6bd9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,215 @@ +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +build/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +#packages/ + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +############# +## Windows detritus +############# + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac crap +.DS_Store + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist/ +build/ +eggs/ +parts/ +var/ +sdist/ +develop-eggs/ +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg diff --git a/README.txt b/README.txt new file mode 100755 index 0000000..537d03a --- /dev/null +++ b/README.txt @@ -0,0 +1,28 @@ +============== [Mod] Lantern [lantern] [v140527] ================================ +This is a mod for Minetest 0.49 created by RHR. +License of code: WTFPL +License of textures: WTFPL + +More informations at: +https://forum.minetest.net/viewtopic.php?id=8718 +--------------------------------- + +This Mod adds following nodes: +*black fence +*animated candle +*lantern +*lamp +*4 lampposts (=6 node lamppost models, one lamppost in each direction) + +----------Changelog [v140318 --> v140527]------------ +*fixed candle (can be digged immediately without tools) +*black fence recipe is now shapeless +*changed lamppost1 recipe +*removed lamppost2, lamppost3, lamppost4 recipes (they are shapless craftable from lamppost1) +*added two new recipes for lamp and lantern +*removed the recipe picture folder + +----------Changelog [1st release --> v140318]------------ +*rebalancing of recipies +*added philipbenr's lamppost suggestion +*added candle animation diff --git a/depends.txt b/depends.txt new file mode 100755 index 0000000..4ad96d5 --- /dev/null +++ b/depends.txt @@ -0,0 +1 @@ +default diff --git a/init.lua b/init.lua new file mode 100755 index 0000000..b3dd896 --- /dev/null +++ b/init.lua @@ -0,0 +1,351 @@ +-- Lantern-Mod by RHR for Minetest 0.49 -- +--=========================================== + +-- +-- register nodes: +-- +minetest.register_node("lantern:lantern", { + description = "Lantern", + drawtype = "nodebox", + tiles = {"lantern_tb.png","lantern_tb.png","lantern.png","lantern.png","lantern.png","lantern.png"}, + paramtype = "light", + sunlight_propagates = true, + light_source = default.LIGHT_MAX-1, + paramtype2 = "wallmounted", + walkable = false, + groups = {snappy = 2, cracky = 2, dig_immediate = 3}, + sounds = default.node_sound_glass_defaults(), + node_box = { + type = "wallmounted", + wall_top = {-1/6, 1/6, -1/6, 1/6, 0.5, 1/6}, + wall_bottom = {-1/6, -0.5, -1/6, 1/6, -1/6, 1/6}, + wall_side = {-1/6, -1/6, -1/6, -0.5, 1/6, 1/6}, + }, +}) + +minetest.register_node("lantern:fence_black", { + description = "Black Fence", + drawtype = "fencelike", + tiles = {"default_obsidian.png"}, + paramtype = "light", + is_ground_content = true, + walkable = true, + groups = {choppy = 2, flammable = 1, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_defaults(), + selection_box = { + type = "fixed", + fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, + }, +}) + +minetest.register_node("lantern:candle", { + description = "Candle", + drawtype = "plantlike", + inventory_image = "candle_inv.png", + tiles = { + {name="candle.png", animation={type = "vertical_frames", aspect_w = 32, aspect_h = 32, length = 0.8}}, + }, + paramtype = "light", + sunlight_propagates = true, + walkable = false, + light_source = default.LIGHT_MAX - 1, + groups = {dig_immediate = 3, attached_node = 1}, + sounds = default.node_sound_defaults(), + selection_box = { + type = "fixed", + fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }, + }, +}) + +minetest.register_node("lantern:lamp", { + description = "Lamp", + tiles = {"default_obsidian.png", "default_obsidian.png", "lantern_lamp.png", "lantern_lamp.png", "lantern_lamp.png", "lantern_lamp.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = true, + light_source = default.LIGHT_MAX - 1, + groups = {snappy = 2, cracky = 2, oddly_breakable_by_hand = 3}, + sounds = default.node_sound_glass_defaults(), +}) + +-- +-- register lampposts in all 4 directions +-- +minetest.register_node("lantern:lantern_lampost1", { + description = "Lampost 1", + drawtype = "fencelike", + tiles = {"default_obsidian.png"}, + inventory_image = "lamppost1.png", + wield_image = "lamppost_inv.png", + paramtype = "light", + is_ground_content = true, + walkable = true, + groups = {choppy = 2, dig_immediate = 2, flammable = 1}, + sounds = default.node_sound_defaults(), + after_place_node = function(pos) + minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 2, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 3, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x - 1, y = pos.y + 3, z = pos.z },{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x - 1, y = pos.y + 2, z = pos.z },{name = "lantern:lamp1"}) + end +}) + + +minetest.register_node("lantern:lantern_lampost2", { + description = "Lampost 2", + drawtype = "fencelike", + tiles = {"default_obsidian.png"}, + inventory_image = "lamppost2.png", + wield_image = "lamppost_inv.png", + paramtype = "light", + is_ground_content = true, + walkable = true, + groups = {choppy = 2, dig_immediate = 2, flammable = 1}, + sounds = default.node_sound_defaults(), + after_place_node = function(pos) + minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 2, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 3, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 3, z = pos.z - 1},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 2, z = pos.z - 1},{name = "lantern:lamp2"}) + end +}) + + +minetest.register_node("lantern:lantern_lampost3", { + description = "Lampost 3", + drawtype = "fencelike", + tiles = {"default_obsidian.png"}, + inventory_image = "lamppost3.png", + wield_image = "lamppost_inv.png", + paramtype = "light", + is_ground_content = true, + walkable = true, + groups = {choppy = 2, dig_immediate = 2, flammable = 1}, + sounds = default.node_sound_defaults(), + after_place_node = function(pos) + minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 2, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 3, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x + 1, y = pos.y + 3, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x + 1, y = pos.y + 2, z = pos.z},{name = "lantern:lamp3"}) + end + }) + + +minetest.register_node("lantern:lantern_lampost4", { + description = "Lampost 4", + drawtype = "fencelike", + tiles = {"default_obsidian.png"}, + inventory_image = "lamppost4.png", + wield_image = "lamppost_inv.png", + paramtype = "light", + is_ground_content = true, + walkable = true, + groups = {choppy = 2, dig_immediate = 2, flammable = 1}, + sounds = default.node_sound_defaults(), + after_place_node = function(pos) + minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 2, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 3, z = pos.z},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 3, z = pos.z + 1},{name = "lantern:fence_lampost"}) + minetest.set_node({x = pos.x, y = pos.y + 2, z = pos.z + 1},{name = "lantern:lamp4"}) + end +}) + +-- +-- this node is only used for lampost and can't be crafted/used by the player +-- +minetest.register_node("lantern:fence_lampost", { + description = "Fence Lamppost", + drawtype = "fencelike", + tiles = {"default_obsidian.png"}, + paramtype = "light", + is_ground_content = true, + walkable = true, + groups = {choppy = 2, not_in_creative_inventory = 1}, + sounds = default.node_sound_defaults(), +}) + +-- +-- the nodes lantern:lamp1, lamp2, lamp3 and lamp4 are only used for the lamposts and can't be crafted/used by the player +-- these nodes are also removing the lantern with "after_dig_node" +-- +minetest.register_node("lantern:lamp1", { + description = "Lamp1", + drop = 'lantern:lantern_lampost1', + tiles = {"default_obsidian.png", "default_obsidian.png", "lantern_lamp.png", "lantern_lamp.png", "lantern_lamp.png", "lantern_lamp.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = true, + light_source = default.LIGHT_MAX - 1, + groups = {snappy = 2, cracky = 2, oddly_breakable_by_hand = 3, not_in_creative_inventory = 1}, + sounds = default.node_sound_glass_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -2.5, -0.5, 1.5, 1.5, 0.5}, + }, + after_dig_node = function(pos) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + minetest.remove_node({x = pos.x + 1, y = pos.y + 1, z = pos.z }) + minetest.remove_node({x = pos.x + 1, y = pos.y , z = pos.z }) + minetest.remove_node({x = pos.x + 1, y = pos.y - 1, z = pos.z }) + minetest.remove_node({x = pos.x + 1, y = pos.y - 2, z = pos.z }) + end +}) + +minetest.register_node("lantern:lamp2", { + description = "Lamp2", + drop = 'lantern:lantern_lampost2', + tiles = {"default_obsidian.png", "default_obsidian.png", "lantern_lamp.png", "lantern_lamp.png", "lantern_lamp.png", "lantern_lamp.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = true, + light_source = default.LIGHT_MAX - 1, + groups = {snappy = 2, cracky = 2, oddly_breakable_by_hand = 3, not_in_creative_inventory = 1}, + sounds = default.node_sound_glass_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -2.5, -0.5, 0.5, 1.5, 1.5}, + }, + after_dig_node = function(pos) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z + 1}) + minetest.remove_node({x = pos.x, y = pos.y , z = pos.z + 1}) + minetest.remove_node({x = pos.x, y = pos.y - 1, z = pos.z + 1}) + minetest.remove_node({x = pos.x, y = pos.y - 2, z = pos.z + 1}) + end +}) + +minetest.register_node("lantern:lamp3", { + description = "Lamp3", + drop = 'lantern:lantern_lampost3', + tiles = {"default_obsidian.png", "default_obsidian.png", "lantern_lamp.png", "lantern_lamp.png", "lantern_lamp.png", "lantern_lamp.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = true, + light_source = default.LIGHT_MAX - 1, + groups = {snappy = 2, cracky = 2, oddly_breakable_by_hand = 3, not_in_creative_inventory = 1}, + sounds = default.node_sound_glass_defaults(), + selection_box = { + type = "fixed", + fixed = {-1.5, -2.5, -0.5, 0.5, 1.5, 0.5}, + }, + after_dig_node = function(pos) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + minetest.remove_node({x = pos.x - 1, y = pos.y + 1, z = pos.z}) + minetest.remove_node({x = pos.x - 1, y = pos.y , z = pos.z}) + minetest.remove_node({x = pos.x - 1, y = pos.y - 1, z = pos.z}) + minetest.remove_node({x = pos.x - 1, y = pos.y - 2, z = pos.z}) + end +}) + +minetest.register_node("lantern:lamp4", { + description = "Lamp4", + drop = 'lantern:lantern_lampost4', + tiles = {"default_obsidian.png", "default_obsidian.png", "lantern_lamp.png", "lantern_lamp.png", "lantern_lamp.png", "lantern_lamp.png"}, + paramtype = "light", + sunlight_propagates = true, + walkable = true, + light_source = default.LIGHT_MAX - 1, + groups = {snappy = 2, cracky = 2, oddly_breakable_by_hand = 3, not_in_creative_inventory = 1}, + sounds = default.node_sound_glass_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.5, -2.5, -1.5, 0.5, 1.5, 0.5}, + }, + after_dig_node = function(pos) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z}) + minetest.remove_node({x = pos.x, y = pos.y + 1, z = pos.z - 1}) + minetest.remove_node({x = pos.x, y = pos.y , z = pos.z - 1}) + minetest.remove_node({x = pos.x, y = pos.y - 1, z = pos.z - 1}) + minetest.remove_node({x = pos.x, y = pos.y - 2, z = pos.z - 1}) + end +}) + +-- +-- register crafting recipes: +-- +minetest.register_craft({ + output = 'lantern:candle 12', + recipe = { + {'default:coal_lump','default:coal_lump'}, + {'group:stick','group:stick'}, + } +}) + +minetest.register_craft({ + output = 'lantern:lantern 4', + recipe = { + {'','group:stick',''}, + {'group:stick','lantern:candle','group:stick'}, + {'','group:stick',''}, + } +}) + +minetest.register_craft({ + output = 'lantern:lantern 4', + recipe = { + {'group:stick','','group:stick'}, + {'','lantern:candle',''}, + {'group:stick','','group:stick'}, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = 'lantern:fence_black', + recipe = {'default:coal_lump', 'default:fence_wood'}, +}) + +minetest.register_craft({ + output = 'lantern:lamp 4', + recipe = { + {'','default:steel_ingot',''}, + {'default:steel_ingot','lantern:candle','default:steel_ingot'}, + {'','default:steel_ingot',''}, + } +}) + +minetest.register_craft({ + output = 'lantern:lamp 4', + recipe = { + {'default:steel_ingot','','default:steel_ingot'}, + {'','lantern:candle',''}, + {'default:steel_ingot','','default:steel_ingot'}, + } +}) + +minetest.register_craft({ + output = 'lantern:lantern_lampost1', + recipe = { + {'lantern:fence_black','lantern:fence_black',''}, + {'lantern:fence_black','lantern:lamp',''}, + {'lantern:fence_black','',''}, + } +}) + +minetest.register_craft({ + type = "shapeless", + output = 'lantern:lantern_lampost2', + recipe = {"lantern:lantern_lampost1"} +}) + +minetest.register_craft({ + type = "shapeless", + output = 'lantern:lantern_lampost3', + recipe = {"lantern:lantern_lampost2"} +}) + +minetest.register_craft({ + type = "shapeless", + output = 'lantern:lantern_lampost4', + recipe = {"lantern:lantern_lampost3"} +}) + +minetest.register_craft({ + type = "shapeless", + output = 'lantern:lantern_lampost1', + recipe = {"lantern:lantern_lampost4"} +}) diff --git a/textures/candle.png b/textures/candle.png new file mode 100755 index 0000000..4fecd45 Binary files /dev/null and b/textures/candle.png differ diff --git a/textures/candle_inv.png b/textures/candle_inv.png new file mode 100755 index 0000000..de37a03 Binary files /dev/null and b/textures/candle_inv.png differ diff --git a/textures/lamppost1.png b/textures/lamppost1.png new file mode 100755 index 0000000..8c09b80 Binary files /dev/null and b/textures/lamppost1.png differ diff --git a/textures/lamppost2.png b/textures/lamppost2.png new file mode 100755 index 0000000..f50c04e Binary files /dev/null and b/textures/lamppost2.png differ diff --git a/textures/lamppost3.png b/textures/lamppost3.png new file mode 100755 index 0000000..f306603 Binary files /dev/null and b/textures/lamppost3.png differ diff --git a/textures/lamppost4.png b/textures/lamppost4.png new file mode 100755 index 0000000..8bb71ad Binary files /dev/null and b/textures/lamppost4.png differ diff --git a/textures/lamppost_inv.png b/textures/lamppost_inv.png new file mode 100755 index 0000000..4fa90f5 Binary files /dev/null and b/textures/lamppost_inv.png differ diff --git a/textures/lantern.png b/textures/lantern.png new file mode 100755 index 0000000..1b3c535 Binary files /dev/null and b/textures/lantern.png differ diff --git a/textures/lantern_lamp.png b/textures/lantern_lamp.png new file mode 100755 index 0000000..e51f367 Binary files /dev/null and b/textures/lantern_lamp.png differ diff --git a/textures/lantern_tb.png b/textures/lantern_tb.png new file mode 100755 index 0000000..274a1eb Binary files /dev/null and b/textures/lantern_tb.png differ