- separated common routines into standalone mod
- included support files for public release
This commit is contained in:
Leslie Krause 2018-08-31 19:58:00 -04:00
commit 76bca11478
42 changed files with 496 additions and 0 deletions

206
README.txt Normal file
View File

@ -0,0 +1,206 @@
Extra Doors Mod v2.0
By Leslie Krause
Repository
----------------------
Browse source code:
https://bitbucket.org/sorcerykid/extra_doors
Download archive:
https://bitbucket.org/sorcerykid/extra_doors/get/master.zip
https://bitbucket.org/sorcerykid/extra_doors/get/master.tar.gz
Revision History
----------------------
Version 1.0b (12-Jan-2018)
- initial version within doors mod
Version 2.0 (31-Aug-2018)
- separated common routines into standalone mod
- included support files for public release
Compatability
----------------------
Minetest 0.4.15+ required
Dependencies
----------------------
Doors Mod (required)
https://github.com/minetest/minetest_game/doors
Installation
----------------------
1) Unzip the archive into the mods directory of your game
2) Rename the extra_doors-master directory to "extra_doors"
Source Code License
----------------------
GNU Lesser General Public License v3 (LGPL-3.0)
Copyright (c) 2018, Leslie Krause (leslie@searstower.org)
This program is free software; you can redistribute it and/or modify it under the terms of
the GNU Lesser General Public License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details.
http://www.gnu.org/licenses/lgpl-2.1.html
License of media (textures, sounds, and models)
----------------------------------------------------------
Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
/textures/doors_door_cottage1.png
by kilbith (relicensed WTFPL)
modified by sorcerykid
/textures/doors_door_cottage2.png
by kilbith (relicensed WTFPL)
modified by sorcerykid
/textures/doors_door_french.png
by kilbith (relicensed WTFPL)
modified by sorcerykid
/textures/doors_door_japanese.png
by kilbith (relicensed WTFPL)
modified by sorcerykid
/textures/doors_item_cottage1.png
by kilbith (relicensed WTFPL)
modified by sorcerykid
/textures/doors_item_cottage2.png
by kilbith (relicensed WTFPL)
modified by sorcerykid
/textures/doors_item_french.png
by kilbith (relicensed WTFPL)
modified by sorcerykid
/textures/doors_item_japanese.png
by kilbith (relicensed WTFPL)
modified by sorcerykid
/textures/default_steel_rod.png
by sorcerykid
/textures/doors_door_barn1.png
by sorcerykid
/textures/doors_door_barn2.png
by sorcerykid
/textures/doors_door_castle1.png
by sorcerykid
/textures/doors_door_castle2.png
by sorcerykid
/textures/doors_door_dungeon1.png
by sorcerykid
/textures/doors_door_dungeon2.png
by sorcerykid
/textures/doors_door_mansion1.png
by sorcerykid
/textures/doors_door_mansion2.png
by sorcerykid
/textures/doors_door_steelglass1.png
by sorcerykid
/textures/doors_door_steelglass2.png
by sorcerykid
/textures/doors_door_steelpanel1.png
by sorcerykid
/textures/doors_door_woodglass1.png
by sorcerykid
/textures/doors_door_woodglass2.png
by sorcerykid
/textures/doors_door_woodpanel1.png
by sorcerykid
/textures/doors_item_barn1.png
by sorcerykid
/textures/doors_item_barn2.png
by sorcerykid
/textures/doors_item_castle1.png
by sorcerykid
/textures/doors_item_castle2.png
by sorcerykid
/textures/doors_item_dungeon1.png
by sorcerykid
/textures/doors_item_dungeon2.png
by sorcerykid
/textures/doors_item_mansion1.png
by sorcerykid
/textures/doors_item_mansion2.png
by sorcerykid
/textures/doors_item_steelglass1.png
by sorcerykid
/textures/doors_item_steelglass2.png
by sorcerykid
/textures/doors_item_steelpanel1.png
by sorcerykid
/textures/doors_item_woodglass1.png
by sorcerykid
/textures/doors_item_woodglass2.png
by sorcerykid
/textures/doors_item_woodpanel1.png
by sorcerykid
You are free to:
Share — copy and redistribute the material in any medium or format.
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
Attribution — You must give appropriate credit, provide a link to the license, and
indicate if changes were made. You may do so in any reasonable manner, but not in any way
that suggests the licensor endorses you or your use.
No additional restrictions — You may not apply legal terms or technological measures that
legally restrict others from doing anything the license permits.
Notices:
You do not have to comply with the license for elements of the material in the public
domain or where your use is permitted by an applicable exception or limitation.
No warranties are given. The license may not give you all of the permissions necessary
for your intended use. For example, other rights such as publicity, privacy, or moral
rights may limit how you use the material.
For more details:
http://creativecommons.org/licenses/by-sa/3.0/

1
depends.txt Normal file
View File

@ -0,0 +1 @@
doors

1
description.txt Normal file
View File

@ -0,0 +1 @@
Extra Doors adds a set of 18 new doors to Minetest including castle, dungeon, barn, cottage, and multi-panel styles.

284
init.lua Normal file
View File

@ -0,0 +1,284 @@
--------------------------------------------------------
-- Minetest :: Extra Doors v2.0 (extra_doors)
--
-- See README.txt for licensing and release notes.
-- Copyright (c) 2018, Leslie E. Krause
--------------------------------------------------------
-- One of the most essential but often overlooked elements of building design is door selection.
-- Doors set the tone and character, and having the wrong style of door can make or break a build.
minetest.register_craftitem( ":default:steel_rod", {
description = "Steel Rod",
inventory_image = "default_steel_rod.png",
} )
minetest.register_craft( {
output = "default:steel_rod 4",
recipe = {
{ "default:steel_ingot" },
}
} )
doors.register( "door_woodpanel1", {
-- Colonial Style (6 panel)
tiles = { { name = "doors_door_woodpanel1.png", backface_culling = true } },
description = "Wooden Colonial Door",
inventory_image = "doors_item_woodpanel1.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "group:wood", "group:wood", "default:stick" },
{ "group:wood", "group:wood", "default:stick" },
{ "group:wood", "group:wood", "default:stick" },
}
} )
doors.register( "door_woodglass1", {
-- Cambridge Style (2 panel)
tiles = { { name = "doors_door_woodglass1.png", backface_culling = true } },
description = "Wooden Single-Lite Door",
inventory_image = "doors_item_woodglass1.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "default:glass", "default:glass", "default:stick" },
{ "group:wood", "group:wood", "" },
{ "group:wood", "group:wood", "" },
}
} )
doors.register( "door_woodglass2", {
-- Atherton Style (4 panel)
tiles = { { name = "doors_door_woodglass2.png", backface_culling = true } },
description = "Wooden Double-Lite Door",
inventory_image = "doors_item_woodglass2.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "default:glass", "default:glass", "default:stick" },
{ "group:wood", "group:wood", "default:stick" },
{ "group:wood", "group:wood", "" },
}
} )
doors.register( "door_japanese", {
tiles = { { name = "doors_door_japanese.png", backface_culling = true } },
description = "Japanese Door",
inventory_image = "doors_item_japanese.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "default:paper", "group:wood", "default:stick" },
{ "default:paper", "group:wood", "default:stick" },
{ "default:paper", "group:wood", "default:stick" },
}
} )
doors.register( "door_french", {
tiles = { { name = "doors_door_french.png", backface_culling = true } },
description = "French Door",
inventory_image = "doors_item_french.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "default:glass", "group:wood", "default:stick" },
{ "default:glass", "group:wood", "default:stick" },
{ "default:glass", "group:wood", "default:stick" },
}
} )
doors.register( "door_cottage1", {
tiles = { { name = "doors_door_cottage1.png", backface_culling = true } },
description = "Cottage Interior Door",
inventory_image = "doors_item_cottage1.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "group:wood", "group:wood" },
{ "default:stick", "default:stick" },
{ "group:wood", "group:wood" },
}
} )
doors.register( "door_cottage2", {
tiles = { { name = "doors_door_cottage2.png", backface_culling = true } },
description = "Cottage Exterior Door",
inventory_image = "doors_item_cottage2.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "default:glass", "default:glass" },
{ "default:stick", "default:stick" },
{ "group:wood", "group:wood" },
}
} )
doors.register( "door_barn1", {
tiles = { { name = "doors_door_barn1.png", backface_culling = true } },
description = "Barn Interior Door",
inventory_image = "doors_item_barn1.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "group:wood", "group:wood", "group:wood" },
{ "default:stick", "default:stick", "default:stick" },
{ "group:wood", "group:wood", "group:wood" },
}
} )
doors.register( "door_barn2", {
tiles = { { name = "doors_door_barn2.png", backface_culling = true } },
description = "Barn Exterior Door",
inventory_image = "doors_item_barn2.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "group:wood", "group:wood", "group:wood" },
{ "default:steel_rod", "default:steel_rod", "default:steel_rod" },
{ "group:wood", "group:wood", "group:wood" },
}
} )
doors.register( "door_castle1", {
tiles = { { name = "doors_door_castle1.png", backface_culling = true } },
description = "Castle Interior Door",
inventory_image = "doors_item_castle1.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "default:stick", "group:wood", "group:wood" },
{ "", "group:wood", "group:wood" },
{ "default:stick", "group:wood", "group:wood" },
}
} )
doors.register( "door_castle2", {
tiles = { { name = "doors_door_castle2.png", backface_culling = true } },
description = "Castle Exterior Door",
inventory_image = "doors_item_castle2.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "default:steel_rod", "group:wood", "group:wood" },
{ "", "group:wood", "group:wood" },
{ "default:steel_rod", "group:wood", "group:wood" },
}
} )
doors.register( "door_mansion1", {
tiles = { { name = "doors_door_mansion1.png", backface_culling = true } },
description = "Mansion Interior Door",
inventory_image = "doors_item_mansion1.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "group:wood", "group:wood", "dye:white" },
{ "group:wood", "group:wood", "dye:yellow" },
{ "group:wood", "group:wood", "dye:white" },
}
} )
doors.register( "door_mansion2", {
tiles = { { name = "doors_door_mansion2.png", backface_culling = true } },
description = "Mansion Exterior Door ",
inventory_image = "doors_item_mansion2.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "group:wood", "group:wood", "dye:black" },
{ "group:wood", "group:wood", "dye:yellow" },
{ "group:wood", "group:wood", "dye:black" },
}
} )
doors.register("door_dungeon1", {
tiles = { { name = "doors_door_dungeon1.png", backface_culling = true } },
description = "Dungeon Interior Door",
inventory_image = "doors_item_dungeon1.png",
protected = true,
groups = { cracky = 1, level = 2 },
sounds = default.node_sound_metal_defaults( ),
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
recipe = {
{ "default:steel_ingot", "default:steel_rod", "default:steel_ingot" },
{ "default:steel_rod", "default:steel_rod", "default:steel_rod" },
{ "default:steel_ingot", "default:steel_rod", "default:steel_ingot" },
}
} )
doors.register( "door_dungeon2", {
tiles = { { name = "doors_door_dungeon2.png", backface_culling = true } },
description = "Dungeon Exterior Door",
inventory_image = "doors_item_dungeon2.png",
protected = true,
groups = { cracky = 1, level = 2 },
sounds = default.node_sound_metal_defaults( ),
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
recipe = {
{ "default:steel_rod", "default:steel_rod", "default:steel_rod" },
{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" },
{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" },
}
} )
doors.register( "door_steelpanel1", {
tiles = { { name = "doors_door_steelpanel.png", backface_culling = true } },
description = "Steel Colonial Door",
inventory_image = "doors_item_steelpanel1.png",
protected = true,
groups = { cracky = 1, level = 2 },
sounds = default.node_sound_metal_defaults( ),
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
recipe = {
{ "default:steel_ingot", "default:steel_ingot", "default:steel_rod" },
{ "default:steel_ingot", "default:steel_ingot", "default:steel_rod" },
{ "default:steel_ingot", "default:steel_ingot", "default:steel_rod" },
}
} )
doors.register( "door_steelglass1", {
tiles = { { name = "doors_door_steelglass1.png", backface_culling = true } },
description = "Steel Single-Lite Door",
inventory_image = "doors_item_steelglass1.png",
protected = true,
groups = { cracky = 1, level = 2 },
sounds = default.node_sound_metal_defaults( ),
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
recipe = {
{ "default:glass", "default:glass", "default:steel_rod" },
{ "default:steel_ingot", "default:steel_ingot", "" },
{ "default:steel_ingot", "default:steel_ingot", "" },
}
} )
doors.register( "door_steelglass2", {
tiles = { { name = "doors_door_steelglass2.png", backface_culling = true } },
description = "Steel Double-Lite Door",
inventory_image = "doors_item_steelglass2.png",
protected = true,
groups = { cracky = 1, level = 2 },
sounds = default.node_sound_metal_defaults( ),
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
recipe = {
{ "default:glass", "default:glass", "default:steel_rod" },
{ "default:steel_ingot", "default:steel_ingot", "default:steel_rod" },
{ "default:steel_ingot", "default:steel_ingot", "" },
}
} )
minetest.register_craft( {
type = "fuel",
recipe = "doors:door_barn1",
burntime = 14,
} )
minetest.register_craft( {
type = "fuel",
recipe = "doors:door_barn2",
burntime = 16,
} )
minetest.register_craft( {
type = "fuel",
recipe = "doors:door_castle1",
burntime = 8,
} )
minetest.register_craft( {
type = "fuel",
recipe = "doors:door_castle2",
burntime = 12,
} )

4
mod.conf Normal file
View File

@ -0,0 +1,4 @@
name = extra_doors
title = Extra Doors
author = sorcerykid
license = LGPL-3.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B