Build 01
- separated common routines into standalone mod - included support files for public release
|
@ -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/
|
|
@ -0,0 +1 @@
|
|||
doors
|
|
@ -0,0 +1 @@
|
|||
Extra Doors adds a set of 18 new doors to Minetest including castle, dungeon, barn, cottage, and multi-panel styles.
|
|
@ -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,
|
||||
} )
|
|
@ -0,0 +1,4 @@
|
|||
name = extra_doors
|
||||
title = Extra Doors
|
||||
author = sorcerykid
|
||||
license = LGPL-3.0
|
After Width: | Height: | Size: 197 B |
After Width: | Height: | Size: 630 B |
After Width: | Height: | Size: 644 B |
After Width: | Height: | Size: 434 B |
After Width: | Height: | Size: 659 B |
After Width: | Height: | Size: 579 B |
After Width: | Height: | Size: 593 B |
After Width: | Height: | Size: 586 B |
After Width: | Height: | Size: 665 B |
After Width: | Height: | Size: 491 B |
After Width: | Height: | Size: 544 B |
After Width: | Height: | Size: 562 B |
After Width: | Height: | Size: 547 B |
After Width: | Height: | Size: 507 B |
After Width: | Height: | Size: 577 B |
After Width: | Height: | Size: 537 B |
After Width: | Height: | Size: 522 B |
After Width: | Height: | Size: 596 B |
After Width: | Height: | Size: 548 B |
After Width: | Height: | Size: 227 B |
After Width: | Height: | Size: 229 B |
After Width: | Height: | Size: 352 B |
After Width: | Height: | Size: 213 B |
After Width: | Height: | Size: 235 B |
After Width: | Height: | Size: 236 B |
After Width: | Height: | Size: 227 B |
After Width: | Height: | Size: 231 B |
After Width: | Height: | Size: 237 B |
After Width: | Height: | Size: 231 B |
After Width: | Height: | Size: 212 B |
After Width: | Height: | Size: 195 B |
After Width: | Height: | Size: 219 B |
After Width: | Height: | Size: 218 B |
After Width: | Height: | Size: 217 B |
After Width: | Height: | Size: 232 B |
After Width: | Height: | Size: 228 B |
After Width: | Height: | Size: 211 B |