From ed0d545dc9cdb8bc630009edf09a927c07bbe3f3 Mon Sep 17 00:00:00 2001 From: LNJ Date: Mon, 24 Oct 2016 15:31:53 +0200 Subject: [PATCH] Total clean up using the mod template (fixes #1) --- LICENSE.txt | 36 +++++++++++++++ README.md | 64 +++++++++++---------------- api.lua | 115 +++++++++++++++++++++++++----------------------- description.txt | 2 + init.lua | 10 ++++- mod.conf | 1 + nodes.lua | 45 ++++++++++--------- 7 files changed, 158 insertions(+), 115 deletions(-) create mode 100644 LICENSE.txt create mode 100644 description.txt create mode 100644 mod.conf diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..054f7b5 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,36 @@ +License of source code: +----------------------- +Copyright (C) 2015-2016 JBB + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. + + +License of media (textures, sounds, meshes): +-------------------------------------------- +(by Authors) + +JBB (CC BY-SA 3.0): + fachwerk_beam_1.png + fachwerk_beam_2.png + fachwerk_blank.png + fachwerk_cross.png + + +Details of Licenses: +-------------------- + +CC BY-SA 3.0: + Attribution-ShareAlike 3.0 Unported + http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/README.md b/README.md index d81209e..e749366 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,28 @@ -# fachwerk -version 0.4.9.1 -copyright (C) 2015 - 2016 JBB +# Minetest Mod Timber-Frame [fachwerk] +Version 0.4.9.1 Alpha, License: WTFPL/CC BY-SA 3.0 -The fachwerk mod adds timber-framed blocks to Minetest. -It's using a simple API to add new timber-framed blocks - -# contributors -License of source code ----------------------- - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. - - -License of media (textures) --------------------------------------- - -License of textures -Copyright (C) 2015 JBB CC BY-SA 3.0 - -# TODO -- Make a TNG / AF8 special version -- add new blocks if requested by users -- clean up code - -# Screenshots ![Screenshot 1](http://i.imgur.com/JMegjRt.jpg) -![Screenshot 2](https://forum.minetest.net/download/file.php?mode=view&id=2575 "screenshot by sokomine") + +## Description +The fachwerk mod adds timber-framed blocks to Minetest. It has a simple API for +adding new timber-framed nodes. + +## Notes +This mod depends on: + +* __`default`__ from Minetest Game or similar + +It was tested with Minetest 0.4.14, but should run with the most older versions, too. + +## More Screenshots +![Screenshot 2](https://forum.minetest.net/download/file.php?mode=view&id=2575 "Screenshot by sokomine") + +## Bug reports and suggestions +You can report bugs, suggest ideas and ask questions on +[GitHub](http://github.com/jbbgameich/fachwerk/issues/new), in the +[Minetest Forum](https://forum.minetest.net/viewtopic.php?id=11036) or just +[email](mailto:jbb.mail@gmx.de) me. + +## Links +* [GitHub](http://github.com/jbbgameich/fachwerk/) +* [Minetest Forum](https://forum.minetest.net/viewtopic.php?id=11036) diff --git a/api.lua b/api.lua index b5cadec..d6c9269 100644 --- a/api.lua +++ b/api.lua @@ -1,90 +1,97 @@ -fachwerk.register_fachwerk = function(basename, texture, description, craft_from) +-- mods/fachwerk/api.lua +-- ===================== +-- See README.md for licensing and other information. - local group_def = {choppy = 2, oddly_breakable_by_hand = 2, cracky = 3}; +function fachwerk.register_fachwerk(basename, texture, description, craft_from) + local group_def = {choppy = 2, oddly_breakable_by_hand = 2, cracky = 3} - minetest.register_node("fachwerk:"..basename, { - description = "Timber-framed "..description, - tile_images = { texture.."^fachwerk_blank.png"}, - groups = group_def, - sounds = default.node_sound_stone_defaults(), + minetest.register_node("fachwerk:" .. basename, { + description = "Timber-framed " .. description, + tiles = {texture .. "^fachwerk_blank.png"}, paramtype = "light", paramtype2 = "facedir", + groups = group_def, + sounds = default.node_sound_stone_defaults() }) - minetest.register_node("fachwerk:"..basename.."_1", { - description = "Timber-framed "..description.." oblique beam 1", + minetest.register_node("fachwerk:" .. basename .. "_1", { + description = "Timber-framed " .. description .. " Oblique Beam 1", tile_images = { - texture.."^fachwerk_blank.png", -- top - texture.."^fachwerk_blank.png", -- bottom - texture.."^fachwerk_beam_1.png", - texture.."^fachwerk_beam_1.png^[transformFX", - texture.."^fachwerk_beam_1.png^[transformFX", - texture.."^fachwerk_beam_1.png" }, - groups = group_def, - sounds = default.node_sound_stone_defaults(), + texture .. "^fachwerk_blank.png", -- top + texture .. "^fachwerk_blank.png", -- bottom + texture .. "^fachwerk_beam_1.png", + texture .. "^fachwerk_beam_1.png^[transformFX", + texture .. "^fachwerk_beam_1.png^[transformFX", + texture .. "^fachwerk_beam_1.png" + }, paramtype = "light", paramtype2 = "facedir", + groups = group_def, + sounds = default.node_sound_stone_defaults() }) -- TODO: is this one really needed? the node above covers most of that already - minetest.register_node("fachwerk:"..basename.."_2", { - description = "Timber-framed "..description.." oblique beam 2", - tile_images = { - texture.."^fachwerk_blank.png", -- top - texture.."^fachwerk_blank.png", -- bottom - texture.."^fachwerk_beam_2.png", - texture.."^fachwerk_beam_2.png^[transformFX", - texture.."^fachwerk_beam_2.png^[transformFX", - texture.."^fachwerk_beam_2.png" }, - groups = group_def, - sounds = default.node_sound_stone_defaults(), + minetest.register_node("fachwerk:" .. basename .. "_2", { + description = "Timber-framed " .. description .. " Oblique Beam 2", + tiles = { + texture .. "^fachwerk_blank.png", -- top + texture .. "^fachwerk_blank.png", -- bottom + texture .. "^fachwerk_beam_2.png", + texture .. "^fachwerk_beam_2.png^[transformFX", + texture .. "^fachwerk_beam_2.png^[transformFX", + texture .. "^fachwerk_beam_2.png" + }, paramtype = "light", paramtype2 = "facedir", - }) - - minetest.register_node("fachwerk:"..basename.."_cross", { - description = "Timber-framed "..description.." cross", - tile_images = {texture.."^fachwerk_cross.png"}, groups = group_def, - sounds = default.node_sound_stone_defaults(), + sounds = default.node_sound_stone_defaults() }) - --crafting-- + minetest.register_node("fachwerk:" .. basename .. "_cross", { + description = "Timber-framed " .. description .. " Cross", + tiles = {texture .. "^fachwerk_cross.png"}, + groups = group_def, + sounds = default.node_sound_stone_defaults() + }) - -- yields 2; after all we did add a lot of wood + -- + -- Crafting + -- + + -- yields 8, after all we did add a lot of wood minetest.register_craft({ - output = "fachwerk:"..basename.." 8", + output = "fachwerk:" .. basename .. " 8", recipe = { {"group:wood", "group:wood", "group:wood"}, {"group:wood", craft_from, "group:wood"}, - {"group:wood", "group:wood", "group:wood"}, - } - }); - + {"group:wood", "group:wood", "group:wood"} + } + }) + minetest.register_craft({ - output = "fachwerk:"..basename.."_cross 8", + output = "fachwerk:" .. basename .. "_cross 8", recipe = { {"group:wood", craft_from, "group:wood"}, {craft_from, "group:wood", craft_from}, - {"group:wood", craft_from, "group:wood"}, + {"group:wood", craft_from, "group:wood"} } - }); - + }) + minetest.register_craft({ - output = "fachwerk:"..basename.."_1 8", + output = "fachwerk:" .. basename .. "_1 8", recipe = { - {craft_from,"group:wood", craft_from}, + {craft_from, "group:wood", craft_from}, {craft_from, craft_from, craft_from}, - {"group:wood", craft_from, craft_from}, - } - }); - + {"group:wood", craft_from, craft_from} + } + }) + minetest.register_craft({ - output = "fachwerk:"..basename.."_2 8", + output = "fachwerk:" .. basename .. "_2 8", recipe = { {craft_from, craft_from, "group:wood"}, {craft_from, craft_from, craft_from }, - {craft_from, "group:wood", craft_from}, + {craft_from, "group:wood", craft_from} } - }); + }) end diff --git a/description.txt b/description.txt new file mode 100644 index 0000000..203c110 --- /dev/null +++ b/description.txt @@ -0,0 +1,2 @@ +This mod adds timber-framed clay, bricks, cobble, stone and stone bricks to the game. +There is a simple API for adding new timeber-framed nodes. diff --git a/init.lua b/init.lua index fedfe42..d3336d0 100644 --- a/init.lua +++ b/init.lua @@ -1,4 +1,10 @@ +-- mods/fachwerk/init.lua +-- ====================== +-- See README.md for licensing and other information. + fachwerk = {} -dofile(minetest.get_modpath("fachwerk").."/api.lua") -dofile(minetest.get_modpath("fachwerk").."/nodes.lua") +local modpath = minetest.get_modpath("fachwerk") + +dofile(modpath .."/api.lua") +dofile(modpath .. "/nodes.lua") diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..3add807 --- /dev/null +++ b/mod.conf @@ -0,0 +1 @@ +name = Timber-Frame diff --git a/nodes.lua b/nodes.lua index 46b3a32..c0e46b4 100644 --- a/nodes.lua +++ b/nodes.lua @@ -1,32 +1,35 @@ --- Node id texturedescription crafting recepie --- fachwerk_ Timber-framed ... +-- mods/fachwerk/nodes.lua +-- ======================= +-- See README.md for licensing and other information. -fachwerk.register_fachwerk( "clay", "default_clay.png", "clay", "default:clay" ); -fachwerk.register_fachwerk( "brick", "default_brick.png", "bricks", "default:brick" ); -fachwerk.register_fachwerk( "stone_brick", "default_stone_brick.png", "stone bricks", "default:stonebrick" ); +-- Optional fachwerk types you can enable if you like +-- Registers desert stone, white, grey and yellow wool, wood and junglewood +local additional_fachwerk_types = false -fachwerk.register_fachwerk( "cobble", "default_cobble.png", "cobble", "default:cobble" ); -fachwerk.register_fachwerk( "stone", "default_stone.png", "stone", "default:stone" ); +-- fachwerk.register_fachwerk(basename, texture, description, craft_from) +fachwerk.register_fachwerk("clay", "default_clay.png", "Clay", "default:clay") +fachwerk.register_fachwerk("brick", "default_brick.png", "Bricks", "default:brick") +fachwerk.register_fachwerk("stone_brick", "default_stone_brick.png", "Stone Brick", "default:stonebrick") +fachwerk.register_fachwerk("cobble", "default_cobble.png", "Cobble", "default:cobble") +fachwerk.register_fachwerk("stone", "default_stone.png", "Stone", "default:stone") -fachwerk.register_fachwerk( "stone", "default_stone.png", "stone", "default:stone" ); +if additional_fachwerk_types == true then + fachwerk.register_fachwerk("desert_stone", "default_desert_stone.png", "Desert Stone", "default:desert_stone") + fachwerk.register_fachwerk("white", "wool_white.png", "White Wool", "wool:white") + fachwerk.register_fachwerk("grey", "wool_grey.png", "Grey Wool", "wool:grey") + fachwerk.register_fachwerk("yellow", "wool_yellow.png", "Yellow Wool", "wool:yellow") + fachwerk.register_fachwerk("wood", "default_wood.png", "Wood", "default:wood") + fachwerk.register_fachwerk("junglewood", "default_junglewood.png", "Junglewood", "default:junglewood") +end --- optional fachwerk types you can enable if you like ---[[ - -fachwerk.register_fachwerk( "desert_stone","default_desert_stone.png","desert stone", "default:desert_stone" ); -fachwerk.register_fachwerk( "white", "wool_white.png", "white", "wool:white" ); -fachwerk.register_fachwerk( "grey", "wool_grey.png", "grey", "wool:grey" ); -fachwerk.register_fachwerk( "yellow", "wool_yellow.png", "yellow", "wool:yellow" ); -fachwerk.register_fachwerk( "wood", "default_wood.png", "wood", "default:wood" ); -fachwerk.register_fachwerk( "junglewood", "default_junglewood.png", "junglewood", "default:junglewood" ); - ]] - ---nodes wich are not supported by the api +-- +-- Special Nodes (these are not supported by the API) +-- minetest.register_node("fachwerk:framed_glass", { description = "Timber-framed Glass", drawtype = "glasslike_framed_optional", - tiles = {"fachwerk_blank.png", "fachwerk_blank.png^default_glass_detail.png"}, + tiles = {"fachwerk_blank.png^default_glass_detail.png", "default_glass_detail.png"}, inventory_image = minetest.inventorycube("fachwerk_blank.png"), paramtype = "light", sunlight_propagates = true,