1 Commits

Author SHA1 Message Date
17a4963cb6 Version MFF. 2018-09-08 13:07:27 +02:00
102 changed files with 921 additions and 1809 deletions

View File

@ -1,14 +0,0 @@
unused_args = false
allow_defined_top = true
read_globals = {
"DIR_DELIM",
"minetest", "core",
"dump",
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"intllib",
"default",
}

View File

@ -1,35 +0,0 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.1.0] - 2017-10-04
### Added
- 3 new node shapes in the circular saw (thin slabs, available in
"L-shaped", "corner-shaped" and "U-shaped" variations), all with 1/16
thickness.
- New Stairs+ nodes:
- Coral Skeleton
- Desert Sandstone, Silver Sandstone
- Desert Sandstone Brick, Silver Sandstone Brick
- Desert Sandstone Block, Silver Sandstone Block
- Obsidian Block
- Sandstone Block
- Stone Block, Desert Stone Block
- Straw
- Tin Block
- Wool (all colors)
- Other mods can now get a list of all the defined Stairs+ shapes
## [1.0.0] - 2017-02-19
- Initial versioned release.
[1.1.0]: https://github.com/minetest-mods/moreblocks/compare/v1.0.0...v1.1.0
[Unreleased]: https://github.com/minetest-mods/moreblocks/compare/v1.0.0...HEAD

View File

@ -1,10 +0,0 @@
# Contributing to More Blocks
Thank you for your interest in More Blocks! Before contributing,
be sure to know about these few guidelines:
- Contributions have to be licensed under the zlib license (or compatible)
for code, and CC BY-SA 3.0 (or compatible) for assets.
- Make sure to update the changelog, keeping the
[changelog format](http://keepachangelog.com/en/1.0.0/) we use.
- Don't bump the version yourself. Maintainers will do this when necessary.

5
LICENSE.md Normal file → Executable file
View File

@ -1,6 +1,7 @@
# zlib license zlib license
============
Copyright (c) 2011-2017 Hugo Locurcio and contributors Copyright (c) 2011-2015 Calinou and contributors
**This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.** **This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.**

77
README.md Normal file → Executable file
View File

@ -1,76 +1,11 @@
# More Blocks More Blocks
===========
More Blocks for [Minetest](https://www.minetest.net/), a free and open source infinite More Blocks for Minetest <http://minetest.net>, a free/libre infinite
world block sandbox game. world block sandbox game.
[**Forum topic**](https://forum.minetest.net/viewtopic.php?f=11&t=509) To install, just clone this repository into your "mods" directory.
## Installation More Blocks code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported.
### Download the mod **Forum topic:** <https://forum.minetest.net/viewtopic.php?f=11&t=509>
To install More Blocks, clone this Git repository into your Minetest's `mods/`
directory:
```
git clone https://github.com/minetest-mods/moreblocks.git
```
You can also
[download a ZIP archive](https://github.com/minetest-mods/moreblocks/archive/master.zip)
of More Blocks. If you do so, you will need to extract the archive, then rename
the resulting folder from `moreblocks-master` to `moreblocks` this is
**absolutely** necessary to do, else, it won't work!
### Enable the mod
Once you have installed More Blocks, you need to enable it in Minetest.
The procedure is as follows:
#### Using the client's main menu
This is the easiest way to enable More Blocks when playing in singleplayer
(or on a server hosted from a client).
1. Start Minetest and switch to the **Local Game** tab.
2. Select the world you want to enable More Blocks in.
3. Click **Configure**, then enable `moreblocks` by double-clicking it
(or ticking the **Enabled** checkbox).
4. Save the changes, then start a game on the world you enabled More Blocks on.
5. More Blocks should now be running on your world.
#### Using a text editor
This is the recommended way to enable the mod on a server without using a GUI.
1. Make sure Minetest is not currently running (else, it will overwrite
the changes when exiting).
2. Open the world's `world.mt` file using a text editor.
3. Add the following line at the end of the file:
```
load_mod_moreblocks = true
```
If the line is already present in the file, then replace `false` with `true` on that line.
4. Save the file, then start a game on the world you enabled More Blocks on.
5. More Blocks should now be running on your world.
## Version compatibility
More Blocks is currently primarily tested with Minetest 0.4.16.
It may or may not work with newer or older versions. Issues arising in older
versions than 0.4.16 will generally not be fixed.
## License
Copyright © 2011-2017 Hugo Locurcio and contributors
- More Blocks code is licensed under the zlib license, see
[`LICENSE.md`](LICENSE.md) for details.
- Unless otherwise specified, More Blocks textures are licensed under
[CC BY-SA 3.0 Unported](https://creativecommons.org/licenses/by-sa/3.0/).
`moreblocks_copperpatina.png` was created by pithydon, and is licensed under
[CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/).

47
aliases.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: alias definitions More Blocks: alias definitions
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -10,6 +10,37 @@ minetest.register_alias("sweeper", "moreblocks:sweeper")
minetest.register_alias("circular_saw", "moreblocks:circular_saw") minetest.register_alias("circular_saw", "moreblocks:circular_saw")
minetest.register_alias("jungle_stick", "moreblocks:jungle_stick") minetest.register_alias("jungle_stick", "moreblocks:jungle_stick")
-- Wrong drops
-- //MFF(Mg|10/11/15)
-- Microblocks
for _,i in pairs({"", "_1", "_2", "_4", "_12", "_14", "_15"}) do
minetest.register_alias("moreblocks:micro_clay_brick" .. i, "moreblocks:micro_brick" .. i)
end
-- Panels
for _,i in pairs({"", "_1", "_2", "_4", "_12", "_14", "_15"}) do
minetest.register_alias("moreblocks:panel_clay_brick" .. i, "moreblocks:panel_brick" .. i)
end
-- Slabs
for _,i in pairs({"", "_1", "_2", "_quarter", "_three_quarter", "_14", "_15"}) do
minetest.register_alias("moreblocks:slab_clay_brick" .. i, "moreblocks:slab_brick" .. i)
end
-- Stairs
for _,i in pairs({"", "_outer", "_inner", "_alt", "_alt_1", "_alt_2", "_alt_4", "_half"}) do
minetest.register_alias("moreblocks:stair_clay_brick" .. i, "moreblocks:stair_brick" .. i)
end
-- Slopes
for _,i in pairs({"", "_half", "_half_raised", "_outer", "_outer_cut", "_outer_cut_half", "_outer_half", "_outer_half_raised", "_inner", "_inner_half", "_inner_half_raised"}) do
minetest.register_alias("moreblocks:slope_clay_brick" .. i, "moreblocks:slope_brick" .. i)
end
-- Old block/item replacement: -- Old block/item replacement:
minetest.register_alias("moreblocks:oerkkiblock", "default:mossycobble") minetest.register_alias("moreblocks:oerkkiblock", "default:mossycobble")
minetest.register_alias("moreblocks:screwdriver", "screwdriver:screwdriver") minetest.register_alias("moreblocks:screwdriver", "screwdriver:screwdriver")
@ -19,8 +50,6 @@ minetest.register_alias("moreblocks:stone_bricks", "default:stonebrick")
minetest.register_alias("moreblocks:stonebrick", "default:stonebrick") minetest.register_alias("moreblocks:stonebrick", "default:stonebrick")
minetest.register_alias("moreblocks:junglewood", "default:junglewood") minetest.register_alias("moreblocks:junglewood", "default:junglewood")
minetest.register_alias("moreblocks:jungle_wood", "default:junglewood") minetest.register_alias("moreblocks:jungle_wood", "default:junglewood")
minetest.register_alias("moreblocks:fence_jungle_wood", "default:fence_junglewood")
minetest.register_alias("moreblocks:jungle_stick", "default:stick")
for _, t in pairs(circular_saw.names) do for _, t in pairs(circular_saw.names) do
minetest.register_alias("moreblocks:" .. t[1] .. "_jungle_wood" .. t[2], minetest.register_alias("moreblocks:" .. t[1] .. "_jungle_wood" .. t[2],
@ -61,19 +90,17 @@ minetest.register_alias("moreblocks:allfacestree","moreblocks:all_faces_tree")
local horizontal_tree_convert_facedir = {7, 12, 9, 18} local horizontal_tree_convert_facedir = {7, 12, 9, 18}
minetest.register_abm({ minetest.register_abm({
nodenames = {"moreblocks:horizontal_tree","moreblocks:horizontal_jungle_tree"}, nodenames = {"moreblocks:horizontal_tree"},
interval = 1, interval = 1,
chance = 1, chance = 1,
action = function(pos, node) action = function(pos, node)
if node.name == "moreblocks:horizontal_tree" then
node.name = "default:tree"
else
node.name = "default:jungletree"
end
node.param2 = node.param2 < 3 and node.param2 or 0 node.param2 = node.param2 < 3 and node.param2 or 0
minetest.set_node(pos, { minetest.set_node(pos, {
name = node.name, name = "default:tree",
param2 = horizontal_tree_convert_facedir[node.param2 + 1] param2 = horizontal_tree_convert_facedir[node.param2 + 1]
}) })
end, end,
}) })
minetest.register_alias("moreblocks:jungle_stick", "default:stick")
minetest.register_alias("moreblocks:fence_jungle_wood", "default:fence_junglewood")

29
circular_saw.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: circular saw More Blocks: circular saw
Copyright (c) 2011-2017 Hugo Locurcio, Sokomine and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -26,45 +26,35 @@ circular_saw.cost_in_microblocks = {
1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2,
2, 3, 2, 4, 2, 4, 5, 6, 2, 3, 2, 4, 2, 4, 5, 6,
7, 1, 1, 2, 4, 6, 7, 8, 7, 1, 1, 2, 4, 6, 7, 8,
1, 2, 2, 3, 1, 1, 2, 4, 3, 1, 1, 2, 4, 4, 2, 6,
4, 2, 6, 7, 3, 7, 7, 4, 7, 3, 7, 7, 4, 8, 3, 2,
8, 3, 2, 6, 2, 1, 3, 4 6, 2, 1, 3, 4,
} }
-- This parameter is legacy node
circular_saw.names = { circular_saw.names = {
{"micro", "_1"}, {"micro", "_1"},
{"panel", "_1"}, {"panel", "_1"},
{"micro", "_2"},
{"panel", "_2"},
{"micro", "_4"},
{"panel", "_4"},
{"micro", ""}, {"micro", ""},
{"panel", ""}, {"panel", ""},
{"micro", "_12"}, {"micro", "_12"},
{"panel", "_12"}, {"panel", "_12"},
{"micro", "_14"},
{"panel", "_14"},
{"micro", "_15"}, {"micro", "_15"},
{"panel", "_15"}, {"panel", "_15"},
{"stair", "_outer"}, {"stair", "_outer"},
{"stair", ""}, {"stair", ""},
{"stair", "_inner"}, {"stair", "_inner"},
{"slab", "_1"}, {"slab", "_1"},
{"slab", "_2"},
{"slab", "_quarter"}, {"slab", "_quarter"},
{"slab", ""}, {"slab", ""},
{"slab", "_three_quarter"}, {"slab", "_three_quarter"},
{"slab", "_14"},
{"slab", "_15"}, {"slab", "_15"},
{"slab", "_two_sides"},
{"slab", "_three_sides"},
{"slab", "_three_sides_u"},
{"stair", "_half"}, {"stair", "_half"},
{"stair", "_alt_1"}, {"stair", "_alt_1"},
{"stair", "_alt_2"},
{"stair", "_alt_4"}, {"stair", "_alt_4"},
{"stair", "_alt"}, {"stair", "_alt"},
@ -76,7 +66,6 @@ circular_saw.names = {
{"slope", "_inner_half_raised"}, {"slope", "_inner_half_raised"},
{"slope", "_inner_cut"}, {"slope", "_inner_cut"},
{"slope", "_inner_cut_half"}, {"slope", "_inner_cut_half"},
{"slope", "_inner_cut_half_raised"}, {"slope", "_inner_cut_half_raised"},
{"slope", "_outer"}, {"slope", "_outer"},
{"slope", "_outer_half"}, {"slope", "_outer_half"},
@ -108,6 +97,7 @@ function circular_saw:get_output_inv(modname, material, amount, max)
for i = 1, #circular_saw.names do for i = 1, #circular_saw.names do
local t = circular_saw.names[i] local t = circular_saw.names[i]
if not t[3] then
local cost = circular_saw.cost_in_microblocks[i] local cost = circular_saw.cost_in_microblocks[i]
local balance = math.min(math.floor(amount/cost), max) local balance = math.min(math.floor(amount/cost), max)
local nodename = modname .. ":" .. t[1] .. "_" .. material .. t[2] local nodename = modname .. ":" .. t[1] .. "_" .. material .. t[2]
@ -116,6 +106,7 @@ function circular_saw:get_output_inv(modname, material, amount, max)
list[pos] = nodename .. " " .. balance list[pos] = nodename .. " " .. balance
end end
end end
end
return list return list
end end
@ -335,6 +326,8 @@ function circular_saw.on_metadata_inventory_take(
-- The recycle field plays no role here since it is processed immediately. -- The recycle field plays no role here since it is processed immediately.
end end
gui_slots = "listcolors[#606060AA;#808080;#101010;#202020;#FFF]"
function circular_saw.on_construct(pos) function circular_saw.on_construct(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local fancy_inv = default.gui_bg..default.gui_bg_img..default.gui_slots local fancy_inv = default.gui_bg..default.gui_bg_img..default.gui_slots

6
config.lua Normal file → Executable file
View File

@ -1,14 +1,14 @@
--[[ --[[
More Blocks: configuration handling More Blocks: configuration handling
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
moreblocks.config = {} moreblocks.config = {}
local function getbool_default(setting, default) local function getbool_default(setting, default)
local value = minetest.settings:get_bool(setting) local value = minetest.setting_getbool(setting)
if value == nil then if value == nil then
value = default value = default
end end
@ -21,7 +21,7 @@ local function setting(settingtype, name, default)
getbool_default("moreblocks." .. name, default) getbool_default("moreblocks." .. name, default)
else else
moreblocks.config[name] = moreblocks.config[name] =
minetest.settings:get("moreblocks." .. name) or default minetest.setting_get("moreblocks." .. name) or default
end end
end end

63
crafting.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: crafting recipes More Blocks: crafting recipes
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -23,8 +23,10 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "default:wood", output = "default:wood",
recipe = { recipe = {
{"default:stick", "default:stick"}, {"default:stick", "default:stick", "default:stick"},
{"default:stick", "default:stick"}, {"default:stick", "default:stick", "default:stick"},
{"default:stick", "default:stick", "default:stick"}
-- MODIFICATION MADE FOR MFF ^
} }
}) })
@ -186,8 +188,6 @@ minetest.register_craft({
output = "moreblocks:empty_bookshelf", output = "moreblocks:empty_bookshelf",
type = "shapeless", type = "shapeless",
recipe = {"moreblocks:sweeper", "default:bookshelf"}, recipe = {"moreblocks:sweeper", "default:bookshelf"},
replacements = {{"default:bookshelf", "default:book 3"}},
-- When obtaining an empty bookshelf, return the books used in it as well
}) })
minetest.register_craft({ minetest.register_craft({
@ -421,14 +421,14 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "moreblocks:cobble_compressed", output = "moreblocks:cobble_compressed",
recipe = { recipe = {
{"default:cobble", "default:cobble", "default:cobble"}, {"default:cobble"},
{"default:cobble", "default:cobble", "default:cobble"}, {"default:cobble"},
{"default:cobble", "default:cobble", "default:cobble"}, -- MODIFICATION MADE FOR MFF
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = "default:cobble 9", output = "default:cobble 2", -- MODIFICATION MADE FOR MFF
recipe = { recipe = {
{"moreblocks:cobble_compressed"}, {"moreblocks:cobble_compressed"},
} }
@ -438,23 +438,7 @@ minetest.register_craft({
type = "cooking", output = "moreblocks:tar", recipe = "default:gravel", type = "cooking", output = "moreblocks:tar", recipe = "default:gravel",
}) })
minetest.register_craft({ if minetest.setting_getbool("moreblocks.circular_saw_crafting") ~= false then -- “If nil or true then”
type = "shapeless",
output = "moreblocks:copperpatina",
recipe = {"bucket:bucket_water", "default:copperblock"},
replacements = {
{"bucket:bucket_water", "bucket:bucket_empty"}
}
})
minetest.register_craft({
output = "default:copper_ingot 9",
recipe = {
{"moreblocks:copperpatina"},
}
})
if minetest.settings:get_bool("moreblocks.circular_saw_crafting") ~= false then -- “If nil or true then”
minetest.register_craft({ minetest.register_craft({
output = "moreblocks:circular_saw", output = "moreblocks:circular_saw",
recipe = { recipe = {
@ -464,3 +448,30 @@ if minetest.settings:get_bool("moreblocks.circular_saw_crafting") ~= false then
} }
}) })
end end
-- MODIFICATION MADE FOR MFF //MFF(Mg|08/09/15)
minetest.register_craft({
output = "moreblocks:horizontal_jungle_tree 2",
recipe = {
{"default:jungletree", "", "default:jungletree"},
}
})
minetest.register_craft({
output = "default:jungletree 2",
recipe = {
{"moreblocks:horizontal_jungle_tree"},
{"moreblocks:horizontal_jungle_tree"},
}
})
minetest.register_craft({
output = "default:junglewood 4",
recipe = {
{"moreblocks:horizontal_jungle_tree"},
}
})
-- END OF MODIFICATIONS

2
depends.txt Normal file → Executable file
View File

@ -1,4 +1,2 @@
default default
intllib? intllib?
farming?
wool?

10
init.lua Normal file → Executable file
View File

@ -3,7 +3,7 @@
** More Blocks ** ** More Blocks **
By Calinou, with the help of ShadowNinja and VanessaE. By Calinou, with the help of ShadowNinja and VanessaE.
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
===================================================================== =====================================================================
--]] --]]
@ -11,12 +11,8 @@ Licensed under the zlib license. See LICENSE.md for more information.
moreblocks = {} moreblocks = {}
local S local S
if minetest.global_exists("intllib") then if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
S = intllib.make_gettext_pair()
else
S = intllib.Getter() S = intllib.Getter()
end
else else
S = function(s) return s end S = function(s) return s end
end end
@ -32,6 +28,6 @@ dofile(modpath .. "/redefinitions.lua")
dofile(modpath .. "/crafting.lua") dofile(modpath .. "/crafting.lua")
dofile(modpath .. "/aliases.lua") dofile(modpath .. "/aliases.lua")
if minetest.settings:get_bool("log_mods") then if minetest.setting_getbool("log_mods") then
minetest.log("action", S("[moreblocks] loaded.")) minetest.log("action", S("[moreblocks] loaded."))
end end

0
locale/de.txt Normal file → Executable file
View File

0
locale/es.txt Normal file → Executable file
View File

0
locale/fr.txt Normal file → Executable file
View File

View File

@ -1,70 +0,0 @@
#
# Italian translation
# Translator: Emon
#
###init.lua###
[moreblocks] loaded. = [moreblocks] caricato.
###nodes.lua###
Jungle Wood Fence = Recinzione in legno della giungla
Empty Bookshelf = Libreria vuota
Clean Glass = Vetro pulito
Plankstone = Pietra e legno
Wooden Tile = Mattonella in legno
Full Wooden Tile = Mattonella in legno pieno
Centered Wooden Tile = Mattonella in legno centrata
Up Wooden Tile = Mattonella in legno verso l'alto
Down Wooden Tile = Mattonella in legno verso il basso
Left Wooden Tile = Mattonella in legno verso sinistra
Right Wooden Tile = Mattonella in legno verso destra
Circle Stone Bricks = Mattoni concentrici in pietra
Stone Tile = Mattonella in pietra
Split Stone Tile = Mattonella in pietra divisa
Glow Glass = Vetro luminoso
Super Glow Glass = Super vetro luminoso
Coal Glass = Vetro e carbone
Iron Glass = Vetro e ferro
Coal Checker = Scacchiera in carbone
Iron Checker = Scacchiera in ferro
Trap Stone = Pietra trappola
Trap Glass = Vetro trappola
Trap Glow Glass = Vetro luminoso trappola
Trap Super Glow Glass = Super vetro luminoso trappola
Coal Stone = Pietra in carbone
Iron Stone = Pietra in ferro
Coal Stone Bricks = Mattoni di pietra in carbone
Iron Stone Bricks = Mattoni di pietra in ferro
Cactus Checker = Scacchiera in cactus
Cactus Brick = Mattoni di cactus
Sweeper = Spazzola
Jungle Stick = Bastone in legno della giungla
Rope = Corda
All-faces Tree = Albero su ogni lato
###circular_saw.lua###
Circular Saw = Sega circolare
Circular saw, empty (owned by %s) = Sega circolare, vuota (di proprietà di %s)
Circular saw, working with %s (owned by %s) = Sega circolare, in funzione su %s (di proprietà di %s)
Circular saw, empty = Sega circolare, vuota
Circular saw is empty (owned by %s) = La sega circolare è vuota (di proprietà di %s)
Input\nmaterial = Materiale\niniziale
Left-over = Scarto
Max = Max.
Set = Imp.
Recycle\noutput = Ricicla\nfinale
###ownership.lua###
someone = qualcuno
Sorry, %s owns that spot. = Spiacente, quel punto è di proprietà di %s
###./stairsplus/*###
%s Stairs = Scale - %s
%s Slab = Lastra - %s
%s Panel = Pannello - %s
%s Microblock = Microblocco %s
%s Pane = Pannello - %s
%s Fence = Recinzione - %s

0
locale/template.txt Normal file → Executable file
View File

72
models/moreblocks_slope.obj Normal file → Executable file
View File

@ -1,56 +1,26 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v 0.500000 0.500000 0.500000 # www.blender.org
v -0.500000 0.500000 0.500000 mtllib moreblocks_slope.mtl
v -0.500000 -0.500000 -0.500000 o Cube_Cube.002
v 0.500000 -0.500000 -0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 0.7071 -0.7071
s off
f 2/1/1 1/2/1 4/3/1 3/4/1
g bottom
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 -1.0000 -0.0000
s off
f 6/5/2 5/6/2 7/7/2 8/8/2
g right
v -0.500000 0.500000 0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
vt 1.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn -1.0000 0.0000 0.0000
s off
f 9/9/3 11/10/3 10/11/3
g left
v 0.500000 0.500000 0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 1.0000 0.0000 0.0000
s off
f 12/12/4 13/13/4 14/14/4
g back
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
v -0.500000 0.500000 0.500000 v -0.500000 0.500000 0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
vt 1.0000 1.0000 v -0.500000 -0.500000 -0.500000
vt 0.0000 1.0000 v 0.500000 -0.500000 -0.500000
vt 0.0000 0.0000 vt 1.000000 1.000000
vt 1.0000 0.0000 vt 0.000000 1.000000
vn 0.0000 -0.0000 1.0000 vt 0.000000 0.000000
vt 1.000000 0.000000
vn 0.000000 -0.000000 1.000000
vn 0.000000 -1.000000 -0.000000
vn -1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.707100 -0.707100
usemtl None
s off s off
f 15/15/5 16/16/5 17/17/5 18/18/5 f 1/1/1 2/2/1 3/3/1 4/4/1
f 4/3/2 3/4/2 5/1/2 6/2/2
f 2/1/3 5/3/3 3/4/3
f 1/2/4 4/3/4 6/4/4
f 2/1/5 1/2/5 6/3/5 5/4/5

87
models/moreblocks_slope_cut.obj Normal file → Executable file
View File

@ -1,68 +1,33 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v 0.500000 0.500000 0.500000 # www.blender.org
v -0.500000 -0.000000 0.500000 mtllib moreblocks_slope_cut.mtl
v 0.500000 0.000000 -0.500000 o moreblocks_slope_cut
v -0.500000 -0.500000 -0.500000
vt 0.5000 0.0000
vt 1.0000 1.0000
vt 0.5000 2.0000
vt 0.0000 1.0000
vn -0.4082 0.8165 -0.4082
s 1
f 4/1/1 2/2/1 1/3/1 3/4/1
g bottom
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 -0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 -1.0000 -0.0000
s 1
f 6/5/2 5/6/2 8/7/2 7/8/2
g right
v -0.500000 -0.500000 0.500000
v -0.500000 -0.000000 0.500000
v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 0.5000
vn -1.0000 0.0000 0.0000
s 1
f 11/9/3 9/10/3 10/11/3
g left
v 0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v 0.500000 0.000000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 0.5000
vt 0.0000 1.0000
vn 1.0000 0.0000 0.0000
s 1
f 12/12/4 14/13/4 15/14/4 13/15/4
g back
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
v -0.500000 -0.000000 0.500000 v -0.500000 -0.000000 0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 0.5000
vn -0.0000 -0.0000 1.0000
s 1
f 16/16/5 17/17/5 18/18/5 19/19/5
g front
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
v 0.500000 0.000000 -0.500000 v 0.500000 0.000000 -0.500000
v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000 vt 0.000000 0.000000
vt 1.0000 0.0000 vt 1.000000 0.000000
vt 0.0000 0.5000 vt 1.000000 1.000000
vn 0.0000 0.0000 -1.0000 vt 0.000000 0.500000
s 1 vt 1.000000 0.500000
f 20/20/6 22/21/6 21/22/6 vt 0.000000 1.000000
vt 0.500000 0.000000
vt 0.500000 2.000000
vn 0.000000 -0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -1.000000 -0.000000
vn -0.408200 0.816500 -0.408200
vn 0.000000 0.000000 -1.000000
vn -1.000000 0.000000 0.000000
usemtl None
s off
f 1/1/1 2/2/1 3/3/1 4/4/1
f 2/1/2 5/2/2 6/5/2 3/6/2
f 2/3/3 1/6/3 7/1/3 5/2/3
f 7/7/4 4/3/4 3/8/4 6/6/4
f 5/1/5 7/2/5 6/4/5
f 7/1/6 1/2/6 4/5/6

74
models/moreblocks_slope_half.obj Normal file → Executable file
View File

@ -1,56 +1,28 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v 0.500000 -0.000000 0.500000 # www.blender.org
v -0.500000 -0.000000 0.500000 mtllib moreblocks_slope_half.mtl
v -0.500000 -0.500000 -0.500000 o Cube_Cube.002
v 0.500000 -0.500000 -0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 0.8944 -0.4472
s off
f 2/1/1 1/2/1 4/3/1 3/4/1
g bottom
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 -1.0000 -0.0000
s off
f 6/5/2 5/6/2 7/7/2 8/8/2
g right
v -0.500000 -0.000000 0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
vt 1.0000 0.5000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn -1.0000 0.0000 0.0000
s off
f 9/9/3 11/10/3 10/11/3
g left
v 0.500000 -0.000000 0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
vt 0.0000 0.5000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 1.0000 0.0000 0.0000
s off
f 12/12/4 13/13/4 14/14/4
g back
v 0.500000 -0.000000 0.500000 v 0.500000 -0.000000 0.500000
v -0.500000 -0.000000 0.500000 v -0.500000 -0.000000 0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
vt 1.0000 0.5000 v -0.500000 -0.500000 -0.500000
vt 0.0000 0.5000 v 0.500000 -0.500000 -0.500000
vt 0.0000 0.0000 vt 1.000000 0.500000
vt 1.0000 0.0000 vt 0.000000 0.500000
vn 0.0000 -0.0000 1.0000 vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vn 0.000000 -0.000000 1.000000
vn 0.000000 -1.000000 -0.000000
vn -1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.894400 -0.447200
usemtl None
s off s off
f 15/15/5 16/16/5 17/17/5 18/18/5 f 1/1/1 2/2/1 3/3/1 4/4/1
f 4/3/2 3/4/2 5/5/2 6/6/2
f 2/1/3 5/3/3 3/4/3
f 1/2/4 4/3/4 6/4/4
f 2/5/5 1/6/5 6/3/5 5/4/5

86
models/moreblocks_slope_half_raised.obj Normal file → Executable file
View File

@ -1,72 +1,32 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v -0.500000 0.500000 0.500000 # www.blender.org
v -0.500000 0.000000 -0.500000 mtllib moreblocks_slope_half_raised.mtl
v 0.500000 0.000000 -0.500000 o Cube.001
v 0.500000 0.500000 0.500000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vn 0.0000 0.8944 -0.4472
s off
f 2/1/1 1/2/1 4/3/1 3/4/1
g bottom
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vn 0.0000 -1.0000 -0.0000
s off
f 6/5/2 5/6/2 7/7/2 8/8/2
g right
v -0.500000 0.500000 0.500000 v -0.500000 0.500000 0.500000
v -0.500000 0.000000 -0.500000 v -0.500000 0.000000 -0.500000
v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
vt 1.0000 1.0000
vt 0.0000 0.5000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn -1.0000 0.0000 0.0000
s off
f 9/9/3 10/10/3 11/11/3 12/12/3
g left
v 0.500000 0.000000 -0.500000 v 0.500000 0.000000 -0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
vt 1.0000 0.5000 vt 1.000000 1.000000
vt 0.0000 1.0000 vt 0.000000 0.500000
vt 0.0000 0.0000 vt 0.000000 0.000000
vt 1.0000 0.0000 vt 1.000000 0.000000
vn 1.0000 0.0000 0.0000 vt 1.000000 0.500000
vt 0.000000 1.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -0.000000 1.000000
vn 0.000000 -1.000000 -0.000000
vn 0.000000 0.894400 -0.447200
usemtl None.001
s off s off
f 13/13/4 15/14/4 16/15/4 14/16/4 f 1/1/1 2/2/1 3/3/1 4/4/1
g back f 2/5/2 5/2/2 6/3/2 3/4/2
v -0.500000 0.500000 0.500000 f 5/5/3 7/6/3 8/3/3 6/4/3
v -0.500000 -0.500000 0.500000 f 7/1/4 1/6/4 4/3/4 8/4/4
v 0.500000 0.500000 0.500000 f 4/4/5 3/1/5 6/6/5 8/3/5
v 0.500000 -0.500000 0.500000 f 2/4/6 1/1/6 7/6/6 5/3/6
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 -0.0000 1.0000
s off
f 19/17/5 17/18/5 18/19/5 20/20/5
g front
v -0.500000 0.000000 -0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 0.000000 -0.500000
v 0.500000 -0.500000 -0.500000
vt 1.0000 0.5000
vt 0.0000 0.5000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 0.0000 -1.0000
s off
f 21/21/6 23/22/6 24/23/6 22/24/6

102
models/moreblocks_slope_inner.obj Normal file → Executable file
View File

@ -1,81 +1,35 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v 0.500000 0.500000 -0.500000 # www.blender.org
v 0.500000 0.500000 0.500000 mtllib moreblocks_slope_inner.mtl
v -0.500000 0.500000 0.500000 o Cube_Cube.000
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 -0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vn 0.0000 0.7071 -0.7071
vn -0.7071 0.7071 0.0000
s 1
f 3/1/1 2/2/1 4/3/1
f 2/4/2 1/5/2 5/6/2
g bottom
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 -1.0000 -0.0000
s 1
f 9/7/3 7/8/3 6/9/3 8/10/3
l 8 10
g right
v -0.500000 0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
vt 1.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn -1.0000 0.0000 0.0000
s 1
f 11/11/4 12/12/4 13/13/4
g left
v 0.500000 0.500000 -0.500000 v 0.500000 0.500000 -0.500000
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 1.0000 0.0000 0.0000
s 1
f 14/14/5 15/15/5 16/16/5 17/17/5
l 15 18
g back
v 0.500000 0.500000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 0.500000 0.500000 v -0.500000 0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
vt 0.0000 0.0000 vt 1.000000 1.000000
vt 1.0000 0.0000 vt 0.000000 1.000000
vt 1.0000 1.0000 vt 0.000000 0.000000
vt 0.0000 1.0000 vt 1.000000 0.000000
vn 0.0000 -0.0000 1.0000 vn 1.000000 0.000000 0.000000
s 1 vn -1.000000 0.000000 0.000000
f 22/18/6 20/19/6 19/20/6 21/21/6 vn 0.000000 0.707100 -0.707100
l 22 23 vn 0.000000 0.000000 -1.000000
l 19 23 vn 0.000000 -1.000000 -0.000000
g front vn 0.000000 -0.000000 1.000000
v 0.500000 0.500000 -0.500000 vn -0.707100 0.707100 0.000000
v 0.500000 -0.500000 -0.500000 usemtl None
v -0.500000 -0.500000 -0.500000 s off
v -0.500000 -0.500000 -0.500000 f 1/1/1 2/2/1 3/3/1 4/4/1
vt 0.0000 1.0000 f 5/1/2 6/3/2 7/4/2
vt 0.0000 0.0000 f 5/1/3 2/2/3 6/4/3
vt 1.0000 0.0000 f 1/2/4 4/3/4 8/4/4
vn 0.0000 0.0000 -1.0000 f 8/1/5 4/2/5 3/3/5 7/4/5
s 1 f 7/3/6 3/4/6 2/1/6 5/2/6
f 24/22/7 25/23/7 27/24/7 f 2/1/7 1/2/7 8/3/7
l 7 9
l 2 9

90
models/moreblocks_slope_inner_cut.obj Normal file → Executable file
View File

@ -1,72 +1,32 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v 0.500000 0.500000 -0.500000 # www.blender.org
v 0.500000 0.500000 0.500000 mtllib moreblocks_slope_inner_cut.mtl
v -0.500000 0.500000 0.500000 o moreblocks_slope_inner_cut
v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.5000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 1.0000 0.0000
vn -0.5774 0.5774 -0.5774
s 1
f 3/1/1 2/2/1 1/3/1
f 4/4/2 3/5/2 1/6/2
g bottom
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 -1.0000 -0.0000
s 1
f 6/7/3 5/8/3 7/9/3 8/10/3
g right
v -0.500000 -0.500000 0.500000
v -0.500000 0.500000 0.500000
v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vn -1.0000 0.0000 0.0000
s 1
f 11/11/4 9/12/4 10/13/4
g left
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
v 0.500000 0.500000 -0.500000 v 0.500000 0.500000 -0.500000
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 1.0000 0.0000 0.0000
s 1
f 12/14/5 13/15/5 14/16/5 15/17/5
g back
v 0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v -0.500000 0.500000 0.500000 v -0.500000 0.500000 0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 -0.0000 1.0000
s 1
f 18/18/6 16/19/6 17/20/6 19/21/6
g front
v 0.500000 -0.500000 -0.500000
v 0.500000 0.500000 -0.500000
v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000 vt 0.000000 0.000000
vt 1.0000 0.0000 vt 1.000000 0.000000
vt 0.0000 1.0000 vt 1.000000 1.000000
vn 0.0000 0.0000 -1.0000 vt 0.000000 1.000000
s 1 vt 0.500000 0.000000
f 20/22/7 22/23/7 21/24/7 vn 1.000000 0.000000 0.000000
vn 0.000000 -0.000000 1.000000
vn 0.000000 -1.000000 -0.000000
vn 0.000000 1.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn -0.577400 0.577400 -0.577400
usemtl None
s off
f 1/1/1 2/2/1 3/3/1 4/4/1
f 5/1/2 1/2/2 4/3/2 6/4/2
f 2/1/3 1/2/3 5/3/3 7/4/3
f 6/1/4 4/2/4 3/3/4
f 7/1/5 5/2/5 6/3/5
f 2/1/6 7/2/6 3/4/6
f 7/5/7 6/3/7 3/4/7

92
models/moreblocks_slope_inner_cut_half.obj Normal file → Executable file
View File

@ -1,72 +1,34 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v 0.500000 0.000000 -0.500000 # www.blender.org
v 0.500000 -0.000000 0.500000 mtllib moreblocks_slope_inner_cut_half.mtl
v -0.500000 -0.000000 0.500000 o moreblocks_slope_inner_cut_half
v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.5000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 1.0000 0.0000
vn -0.4082 0.8165 -0.4082
s 1
f 3/1/1 2/2/1 1/3/1
f 4/4/2 3/5/2 1/6/2
g bottom
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 -1.0000 -0.0000
s 1
f 6/7/3 5/8/3 7/9/3 8/10/3
g right
v -0.500000 -0.500000 0.500000
v -0.500000 -0.000000 0.500000
v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 0.5000
vn -1.0000 0.0000 0.0000
s 1
f 11/11/4 9/12/4 10/13/4
g left
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
v 0.500000 0.000000 -0.500000 v 0.500000 0.000000 -0.500000
v 0.500000 -0.000000 0.500000 v 0.500000 -0.000000 0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 0.5000
vt 0.0000 0.5000
vn 1.0000 0.0000 0.0000
s 1
f 12/14/5 13/15/5 14/16/5 15/17/5
g back
v 0.500000 -0.500000 0.500000
v 0.500000 -0.000000 0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v -0.500000 -0.000000 0.500000 v -0.500000 -0.000000 0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 0.5000
vt 0.0000 0.5000
vn 0.0000 -0.0000 1.0000
s 1
f 18/18/6 16/19/6 17/20/6 19/21/6
g front
v 0.500000 -0.500000 -0.500000
v 0.500000 0.000000 -0.500000
v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000 vt 0.000000 0.000000
vt 1.0000 0.0000 vt 1.000000 0.000000
vt 0.0000 0.5000 vt 1.000000 0.500000
vn 0.0000 0.0000 -1.0000 vt 0.000000 0.500000
s 1 vt 1.000000 1.000000
f 20/22/7 22/23/7 21/24/7 vt 0.000000 1.000000
vt 0.500000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -0.000000 1.000000
vn 0.000000 -1.000000 -0.000000
vn 0.000000 1.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn -0.408200 0.816500 -0.408200
usemtl None
s off
f 1/1/1 2/2/1 3/3/1 4/4/1
f 5/1/2 1/2/2 4/3/2 6/4/2
f 2/1/3 1/2/3 5/5/3 7/6/3
f 6/1/4 4/2/4 3/5/4
f 7/1/5 5/2/5 6/3/5
f 2/1/6 7/2/6 3/4/6
f 7/7/7 6/5/7 3/6/7

95
models/moreblocks_slope_inner_cut_half_raised.obj Normal file → Executable file
View File

@ -1,76 +1,35 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v 0.500000 0.500000 -0.500000 # www.blender.org
v 0.500000 0.500000 0.500000 mtllib moreblocks_slope_inner_cut_half_raised.mtl
v -0.500000 0.500000 0.500000 o moreblocks_slope_inner_cut_half_raised
v -0.500000 0.000000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.5000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 1.0000 0.0000
vn -0.4082 0.8165 -0.4082
s 1
f 3/1/1 2/2/1 1/3/1
f 4/4/2 3/5/2 1/6/2
g bottom
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 -1.0000 -0.0000
s 1
f 6/7/3 5/8/3 7/9/3 8/10/3
g right
v -0.500000 -0.500000 0.500000
v -0.500000 0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 0.000000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 0.5000
vn -1.0000 0.0000 0.0000
s 1
f 11/11/4 9/12/4 10/13/4 12/14/4
g left
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
v 0.500000 0.500000 -0.500000 v 0.500000 0.500000 -0.500000
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 1.0000 0.0000 0.0000
s 1
f 13/15/5 14/16/5 15/17/5 16/18/5
g back
v 0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v -0.500000 0.500000 0.500000 v -0.500000 0.500000 0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 -0.0000 1.0000
s 1
f 19/19/6 17/20/6 18/21/6 20/22/6
g front
v 0.500000 -0.500000 -0.500000
v 0.500000 0.500000 -0.500000
v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 -0.500000
v -0.500000 0.000000 -0.500000 v -0.500000 0.000000 -0.500000
vt 0.0000 0.0000 vt 0.000000 0.000000
vt 1.0000 0.0000 vt 1.000000 0.000000
vt 1.0000 0.5000 vt 1.000000 1.000000
vt 0.0000 1.0000 vt 0.000000 1.000000
vn -0.0000 0.0000 -1.0000 vt 0.000000 0.500000
s 1 vt 1.000000 0.500000
f 21/23/7 23/24/7 24/25/7 22/26/7 vt 0.500000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -0.000000 1.000000
vn 0.000000 -1.000000 -0.000000
vn 0.000000 1.000000 0.000000
vn -1.000000 0.000000 0.000000
vn -0.000000 0.000000 -1.000000
vn -0.408200 0.816500 -0.408200
usemtl None
s off
f 1/1/1 2/2/1 3/3/1 4/4/1
f 5/1/2 1/2/2 4/3/2 6/4/2
f 2/1/3 1/2/3 5/3/3 7/4/3
f 6/1/4 4/2/4 3/3/4
f 7/1/5 5/2/5 6/3/5 8/5/5
f 2/1/6 7/2/6 8/6/6 3/4/6
f 8/7/7 6/3/7 3/4/7

104
models/moreblocks_slope_inner_half.obj Normal file → Executable file
View File

@ -1,85 +1,35 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v 0.500000 0.000000 -0.500000 # www.blender.org
v 0.500000 -0.000000 0.500000 mtllib moreblocks_slope_inner_half.mtl
v -0.500000 -0.000000 0.500000 o Cube_Cube.001
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 -0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vn 0.0000 0.8944 -0.4472
vn -0.4472 0.8944 0.0000
s off
f 3/1/1 2/2/1 4/3/1
f 2/4/2 1/5/2 5/6/2
g bottom
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 -1.0000 -0.0000
s off
f 10/7/3 7/8/3 6/9/3 9/10/3
l 9 8
l 11 9
g right
v -0.500000 -0.000000 0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
vt 1.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn -1.0000 0.0000 0.0000
s off
f 12/11/4 13/12/4 14/13/4
l 15 14
g left
v 0.500000 0.000000 -0.500000 v 0.500000 0.000000 -0.500000
v 0.500000 -0.000000 0.500000 v 0.500000 -0.000000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 1.0000 0.0000 0.0000
s off
f 16/14/5 17/15/5 18/16/5 19/17/5
l 20 17
g back
v 0.500000 -0.000000 0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.000000 0.500000 v -0.500000 -0.000000 0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
vt 0.0000 0.0000 vt 1.000000 1.000000
vt 1.0000 0.0000 vt 0.000000 1.000000
vt 1.0000 1.0000 vt 0.000000 0.000000
vt 0.0000 1.0000 vt 1.000000 0.000000
vn 0.0000 -0.0000 1.0000 vn 1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.894400 -0.447200
vn 0.000000 0.000000 -1.000000
vn 0.000000 -1.000000 -0.000000
vn 0.000000 -0.000000 1.000000
vn -0.447200 0.894400 0.000000
usemtl None.002
s off s off
f 24/18/6 22/19/6 21/20/6 23/21/6 f 1/1/1 2/2/1 3/3/1 4/4/1
l 25 24 f 5/1/2 6/3/2 7/4/2
l 25 21 f 5/1/3 2/2/3 6/4/3
g front f 1/2/4 4/3/4 8/4/4
v 0.500000 0.000000 -0.500000 f 8/1/5 4/2/5 3/3/5 7/4/5
v 0.500000 -0.500000 -0.500000 f 7/3/6 3/4/6 2/1/6 5/2/6
v -0.500000 -0.500000 -0.500000 f 2/1/7 1/2/7 8/3/7
v -0.500000 -0.500000 -0.500000 l 7 9
vt 0.0000 1.0000 l 2 9
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 0.0000 -1.0000
s off
f 26/22/7 27/23/7 29/24/7

102
models/moreblocks_slope_inner_half_raised.obj Normal file → Executable file
View File

@ -1,86 +1,38 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
# www.blender.org
mtllib moreblocks_slope_inner_half_raised.mtl
o Cube_Cube.003
v 0.500000 0.500000 -0.500000 v 0.500000 0.500000 -0.500000
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
v -0.500000 0.500000 0.500000
v -0.500000 0.000000 -0.500000
v -0.500000 0.000000 -0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 1.0000 0.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 0.8944 -0.4472
vn -0.4472 0.8944 0.0000
s off
f 3/1/1 2/2/1 4/3/1
f 2/2/2 1/4/2 5/5/2
g bottom
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 -1.0000 -0.0000
s off
f 8/6/3 9/7/3 7/8/3 6/9/3
l 10 8
g right
v -0.500000 0.500000 0.500000 v -0.500000 0.500000 0.500000
v -0.500000 0.000000 -0.500000 v -0.500000 0.000000 -0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v -0.500000 0.000000 -0.500000 v -0.500000 0.000000 -0.500000
v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 -0.500000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 0.5000
vt 0.0000 0.0000
vn -1.0000 0.0000 0.0000
s off
f 13/10/4 11/11/4 12/12/4 15/13/4
g left
v 0.500000 0.500000 -0.500000
v 0.500000 0.500000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000 vt 1.000000 1.000000
v 0.500000 -0.500000 0.500000 vt 0.000000 1.000000
vt 1.0000 1.0000 vt 0.000000 0.000000
vt 0.0000 1.0000 vt 1.000000 0.000000
vt 0.0000 0.0000 vt 1.000000 0.500000
vt 1.0000 0.0000 vt 0.000000 0.500000
vn 1.0000 0.0000 0.0000 vn 1.000000 0.000000 0.000000
vn 0.000000 0.894400 -0.447200
vn 0.000000 -0.000000 1.000000
vn -0.447200 0.894400 0.000000
vn 0.000000 -1.000000 -0.000000
vn 0.000000 0.000000 -1.000000
vn -1.000000 0.000000 0.000000
usemtl None.003
s off s off
f 16/14/5 17/15/5 18/16/5 19/17/5 f 1/1/1 2/2/1 3/3/1 4/4/1
l 20 17 f 5/1/2 2/2/2 6/4/2
g back f 7/3/3 3/4/3 2/1/3 5/2/3
v 0.500000 0.500000 0.500000 f 2/2/4 1/3/4 8/4/4
v 0.500000 -0.500000 0.500000 f 7/1/5 9/2/5 4/3/5 3/4/5
v -0.500000 0.500000 0.500000 f 6/5/6 1/2/6 4/3/6 9/4/6
v -0.500000 -0.500000 0.500000 f 7/4/7 5/1/7 6/6/7 9/3/7
v 0.500000 -0.500000 0.500000 l 2 10
vt 0.0000 0.0000 l 7 10
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 1.0000
vn 0.0000 -0.0000 1.0000
s off
f 24/18/6 22/19/6 21/20/6 23/21/6
l 25 21
l 25 24
g front
v 0.500000 0.500000 -0.500000
v 0.500000 -0.500000 -0.500000
v -0.500000 0.000000 -0.500000
v -0.500000 0.000000 -0.500000
v -0.500000 -0.500000 -0.500000
vt 1.0000 0.5000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn -0.0000 0.0000 -1.0000
s off
f 28/22/7 26/23/7 27/24/7 30/25/7
l 29 26

61
models/moreblocks_slope_outer.obj Normal file → Executable file
View File

@ -1,48 +1,25 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v -0.500000 -0.500000 0.500000 # www.blender.org
v -0.500000 -0.500000 -0.500000 mtllib moreblocks_slope_outer.mtl
v 0.500000 -0.500000 -0.500000 o Cube_Cube.004
v 0.500000 0.500000 0.500000
vt 1.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn -0.7071 0.7071 0.0000
vn 0.0000 0.7071 -0.7071
s off
f 4/1/1 2/2/1 1/3/1
f 4/4/2 3/5/2 2/6/2
g bottom
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 -1.0000 -0.0000
s off
f 5/7/3 6/8/3 7/9/3 8/10/3
g right
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
vt 0.0000 0.0000 vt 1.000000 1.000000
vt 1.0000 0.0000 vt 0.000000 1.000000
vt 1.0000 1.0000 vt 0.000000 0.000000
vn 0.0000 -0.0000 1.0000 vt 1.000000 0.000000
vn 0.000000 -1.000000 -0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -0.000000 1.000000
vn -0.707100 0.707100 0.000000
vn 0.000000 0.707100 -0.707100
usemtl None
s off s off
f 10/11/4 9/12/4 11/13/4 f 1/1/1 2/2/1 3/3/1 4/4/1
g left f 5/2/2 1/3/2 4/4/2
v 0.500000 -0.500000 0.500000 f 2/3/3 1/4/3 5/1/3
v 0.500000 -0.500000 -0.500000 f 5/1/4 3/3/4 2/4/4
v 0.500000 0.500000 0.500000 f 5/2/5 4/3/5 3/4/5
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 1.0000 0.0000 0.0000
s off
f 14/14/5 12/15/5 13/16/5

53
models/moreblocks_slope_outer_cut.obj Normal file → Executable file
View File

@ -1,40 +1,23 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v 0.500000 0.500000 0.500000 # www.blender.org
v -0.500000 -0.500000 0.500000 mtllib moreblocks_slope_outer_cut.mtl
v 0.500000 -0.500000 -0.500000 o Cube.002
vt 1.0000 0.0000
vt 0.5000 1.0000
vt 0.0000 0.0000
vn -0.5774 0.5774 -0.5774
s off
f 2/1/1 1/2/1 3/3/1
g bottom
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 0.0000 1.0000
vn 0.0000 -1.0000 -0.0000
s off
f 5/4/2 4/5/2 6/6/2
g right
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
vt 1.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 -0.0000 1.0000
s off
f 7/7/3 8/8/3 9/9/3
g left
v 0.500000 0.500000 0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
vt 1.0000 0.0000 vt 1.000000 1.000000
vt 0.0000 1.0000 vt 0.000000 0.000000
vt 0.0000 0.0000 vt 1.000000 0.000000
vn 1.0000 0.0000 0.0000 vt 0.000000 1.000000
vt 0.500000 1.000000
vn 0.000000 -0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn -0.577400 0.577400 -0.577400
usemtl None.004
s off s off
f 12/10/4 10/11/4 11/12/4 f 1/1/1 2/2/1 3/3/1
f 4/3/2 1/4/2 3/2/2
f 3/2/3 2/3/3 4/4/3
f 2/3/4 1/5/4 4/2/4

54
models/moreblocks_slope_outer_cut_half.obj Normal file → Executable file
View File

@ -1,40 +1,24 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v 0.500000 -0.000000 0.500000 # www.blender.org
v -0.500000 -0.500000 0.500000 mtllib moreblocks_slope_outer_cut_half.mtl
v 0.500000 -0.500000 -0.500000 o Cube.003
vt 1.0000 0.0000
vt 0.5000 1.0000
vt 0.0000 0.0000
vn -0.4082 0.8165 -0.4082
s off
f 2/1/1 1/2/1 3/3/1
g bottom
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 0.0000 1.0000
vn 0.0000 -1.0000 -0.0000
s off
f 5/4/2 4/5/2 6/6/2
g right
v 0.500000 -0.000000 0.500000 v 0.500000 -0.000000 0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
vt 1.0000 0.5000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 -0.0000 1.0000
s off
f 7/7/3 8/8/3 9/9/3
g left
v 0.500000 -0.000000 0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
vt 1.0000 0.0000 vt 1.000000 0.500000
vt 0.0000 0.5000 vt 0.000000 0.000000
vt 0.0000 0.0000 vt 1.000000 0.000000
vn 1.0000 0.0000 0.0000 vt 0.000000 0.500000
vt 0.000000 1.000000
vt 0.500000 1.000000
vn 0.000000 -0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn -0.408200 0.816500 -0.408200
usemtl None.005
s off s off
f 12/10/4 10/11/4 11/12/4 f 1/1/1 2/2/1 3/3/1
f 4/3/2 1/4/2 3/2/2
f 3/2/3 2/3/3 4/5/3
f 2/3/4 1/6/4 4/2/4

74
models/moreblocks_slope_outer_cut_half_raised.obj Normal file → Executable file
View File

@ -1,56 +1,28 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v -0.500000 -0.000000 0.500000 # www.blender.org
v 0.500000 0.500000 0.500000 mtllib moreblocks_slope_outer_cut_half_raised.mtl
v 0.500000 0.000000 -0.500000 o Cube_Cube.005
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vn -0.4082 0.8165 -0.4082
s off
f 1/1/1 2/2/1 3/3/1
g bottom
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
vt 0.0000 1.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vn 0.0000 -1.0000 -0.0000
s off
f 4/4/2 6/5/2 5/6/2
g right
v -0.500000 -0.000000 0.500000
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v 0.500000 0.000000 -0.500000
vt 1.0000 0.0000
vt 1.0000 0.5000
vt 0.0000 0.5000
vt 0.0000 0.0000
vn -0.7071 0.0000 -0.7071
s off
f 8/7/3 7/8/3 10/9/3 9/10/3
g left
v 0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v 0.500000 0.000000 -0.500000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 0.5000
vn 1.0000 0.0000 0.0000
s off
f 12/11/4 11/12/4 13/13/4 14/14/4
g back
v -0.500000 -0.000000 0.500000 v -0.500000 -0.000000 0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
vt 0.0000 0.5000 v 0.500000 -0.500000 -0.500000
vt 0.0000 0.0000 v 0.500000 0.000000 -0.500000
vt 1.0000 0.0000 vt 0.000000 0.500000
vt 1.0000 1.0000 vt 0.000000 0.000000
vn -0.0000 -0.0000 1.0000 vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 0.500000
vn 0.000000 -0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn -0.408200 0.816500 -0.408200
vn -0.707100 0.000000 -0.707100
usemtl None.006
s off s off
f 15/15/5 16/16/5 17/17/5 18/18/5 f 1/1/1 2/2/1 3/3/1 4/4/1
f 4/5/2 3/2/2 5/3/2 6/6/2
f 2/5/3 5/3/3 3/4/3
f 1/2/4 4/3/4 6/4/4
f 2/3/5 1/6/5 6/1/5 5/2/5

63
models/moreblocks_slope_outer_half.obj Normal file → Executable file
View File

@ -1,48 +1,27 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v -0.500000 -0.500000 0.500000 # www.blender.org
v -0.500000 -0.500000 -0.500000 mtllib moreblocks_slope_outer_half.mtl
v 0.500000 -0.500000 -0.500000 o Cube.004
v 0.500000 -0.000000 0.500000
vt 1.0000 0.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vt 0.0000 0.0000
vn 0.0000 0.8944 -0.4472
vn -0.4472 0.8944 0.0000
s off
f 2/1/1 4/2/1 3/3/1
f 1/4/2 4/5/2 2/6/2
g bottom
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
vt 1.0000 1.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn 0.0000 -1.0000 -0.0000
s off
f 5/7/3 6/8/3 7/9/3 8/10/3
g right
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.000000 0.500000 v 0.500000 -0.000000 0.500000
vt 1.0000 0.5000 vt 1.000000 1.000000
vt 0.0000 0.0000 vt 0.000000 1.000000
vt 1.0000 0.0000 vt 0.000000 0.000000
vn 0.0000 -0.0000 1.0000 vt 1.000000 0.000000
vt 1.000000 0.500000
vt 0.000000 0.500000
vn 0.000000 -1.000000 -0.000000
vn 0.000000 -0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.894400 -0.447200
vn -0.447200 0.894400 0.000000
usemtl None.007
s off s off
f 11/11/4 9/12/4 10/13/4 f 1/1/1 2/2/1 3/3/1 4/4/1
g left f 5/5/2 1/3/2 4/4/2
v 0.500000 -0.500000 -0.500000 f 3/4/3 5/6/3 4/3/3
v 0.500000 -0.500000 0.500000 f 2/4/4 5/2/4 3/3/4
v 0.500000 -0.000000 0.500000 f 1/4/5 5/1/5 2/3/5
vt 1.0000 0.0000
vt 0.0000 0.5000
vt 0.0000 0.0000
vn 1.0000 0.0000 0.0000
s off
f 12/14/5 14/15/5 13/16/5

90
models/moreblocks_slope_outer_half_raised.obj Normal file → Executable file
View File

@ -1,74 +1,34 @@
g top # Blender v2.72 (sub 0) OBJ File: ''
v -0.500000 -0.000000 0.500000 # www.blender.org
v 0.500000 0.500000 0.500000 mtllib moreblocks_slope_outer_half_raised.mtl
v 0.500000 0.000000 -0.500000 o Cube_Cube.006
v -0.500000 0.000000 -0.500000
vt 1.0000 0.0000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 1.0000
vn 0.0000 0.8944 -0.4472
vn -0.4472 0.8944 0.0000
s off
f 4/1/1 2/2/1 3/3/1
f 4/1/2 1/4/2 2/2/2
g bottom
v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 -0.500000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vn 0.0000 -1.0000 -0.0000
s off
f 7/5/3 6/6/3 5/7/3 8/8/3
g right
v -0.500000 -0.000000 0.500000
v -0.500000 -0.500000 0.500000
v -0.500000 0.000000 -0.500000
v -0.500000 -0.500000 -0.500000
vt 1.0000 0.5000
vt 0.0000 0.5000
vt 0.0000 0.0000
vt 1.0000 0.0000
vn -1.0000 0.0000 0.0000
s off
f 9/9/4 11/10/4 12/11/4 10/12/4
g left
v 0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000
v 0.500000 -0.500000 -0.500000
v 0.500000 0.000000 -0.500000
vt 0.0000 1.0000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 0.5000
vn 1.0000 0.0000 0.0000
s off
f 14/13/5 13/14/5 15/15/5 16/16/5
g back
v -0.500000 -0.000000 0.500000 v -0.500000 -0.000000 0.500000
v -0.500000 -0.500000 0.500000 v -0.500000 -0.500000 0.500000
v 0.500000 -0.500000 0.500000 v 0.500000 -0.500000 0.500000
v 0.500000 0.500000 0.500000 v 0.500000 0.500000 0.500000
vt 0.0000 0.5000
vt 0.0000 0.0000
vt 1.0000 0.0000
vt 1.0000 1.0000
vn -0.0000 -0.0000 1.0000
s off
f 17/17/6 18/18/6 19/19/6 20/20/6
g front
v 0.500000 -0.500000 -0.500000 v 0.500000 -0.500000 -0.500000
v 0.500000 0.000000 -0.500000 v 0.500000 0.000000 -0.500000
v -0.500000 0.000000 -0.500000 v -0.500000 0.000000 -0.500000
v -0.500000 -0.500000 -0.500000 v -0.500000 -0.500000 -0.500000
vt 0.0000 0.5000 vt 0.000000 0.500000
vt 0.0000 0.0000 vt 0.000000 0.000000
vt 1.0000 0.0000 vt 1.000000 0.000000
vt 1.0000 0.5000 vt 1.000000 1.000000
vn 0.0000 0.0000 -1.0000 vt 0.000000 1.000000
vt 1.000000 0.500000
vn 0.000000 -0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.894400 -0.447200
vn -1.000000 0.000000 0.000000
vn -0.447200 0.894400 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 -1.000000 -0.000000
usemtl None.008
s off s off
f 22/21/7 21/22/7 24/23/7 23/24/7 f 1/1/1 2/2/1 3/3/1 4/4/1
f 4/5/2 3/2/2 5/3/2 6/6/2
f 7/3/3 4/5/3 6/2/3
f 1/6/4 7/1/4 8/2/4 2/3/4
f 7/3/5 1/4/5 4/5/5
f 6/1/6 5/2/6 8/3/6 7/6/6
f 5/5/7 3/2/7 2/3/7 8/4/7

68
nodes.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: node definitions More Blocks: node definitions
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -12,10 +12,6 @@ local sound_stone = default.node_sound_stone_defaults()
local sound_glass = default.node_sound_glass_defaults() local sound_glass = default.node_sound_glass_defaults()
local sound_leaves = default.node_sound_leaves_defaults() local sound_leaves = default.node_sound_leaves_defaults()
-- Don't break on 0.4.14 and earlier.
local sound_metal = (default.node_sound_metal_defaults
and default.node_sound_metal_defaults() or sound_stone)
local function tile_tiles(name) local function tile_tiles(name)
local tex = "moreblocks_" ..name.. ".png" local tex = "moreblocks_" ..name.. ".png"
return {tex, tex, tex, tex, tex.. "^[transformR90", tex.. "^[transformR90"} return {tex, tex, tex, tex, tex.. "^[transformR90", tex.. "^[transformR90"}
@ -35,7 +31,7 @@ local nodes = {
}, },
["wood_tile_flipped"] = { ["wood_tile_flipped"] = {
description = S("Wooden Tile"), description = S("Wooden Tile"),
groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90", tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90",
"default_wood.png^moreblocks_wood_tile.png^[transformR90", "default_wood.png^moreblocks_wood_tile.png^[transformR90",
"default_wood.png^moreblocks_wood_tile.png^[transformR90", "default_wood.png^moreblocks_wood_tile.png^[transformR90",
@ -47,40 +43,40 @@ local nodes = {
}, },
["wood_tile_center"] = { ["wood_tile_center"] = {
description = S("Centered Wooden Tile"), description = S("Centered Wooden Tile"),
groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
tiles = {"default_wood.png^moreblocks_wood_tile_center.png"}, tiles = {"default_wood.png^moreblocks_wood_tile_center.png"},
sounds = sound_wood, sounds = sound_wood,
}, },
["wood_tile_full"] = { ["wood_tile_full"] = {
description = S("Full Wooden Tile"), description = S("Full Wooden Tile"),
groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
tiles = tile_tiles("wood_tile_full"), tiles = tile_tiles("wood_tile_full"),
sounds = sound_wood, sounds = sound_wood,
}, },
["wood_tile_up"] = { ["wood_tile_up"] = {
description = S("Upwards Wooden Tile"), description = S("Upwards Wooden Tile"),
groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
tiles = {"default_wood.png^moreblocks_wood_tile_up.png"}, tiles = {"default_wood.png^moreblocks_wood_tile_up.png"},
sounds = sound_wood, sounds = sound_wood,
no_stairs = true, no_stairs = true,
}, },
["wood_tile_down"] = { ["wood_tile_down"] = {
description = S("Downwards Wooden Tile"), description = S("Downwards Wooden Tile"),
groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_up.png^[transformR180"}, tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_up.png^[transformR180"},
sounds = sound_wood, sounds = sound_wood,
no_stairs = true, no_stairs = true,
}, },
["wood_tile_left"] = { ["wood_tile_left"] = {
description = S("Leftwards Wooden Tile"), description = S("Leftwards Wooden Tile"),
groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_up.png^[transformR270"}, tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_up.png^[transformR270"},
sounds = sound_wood, sounds = sound_wood,
no_stairs = true, no_stairs = true,
}, },
["wood_tile_right"] = { ["wood_tile_right"] = {
description = S("Rightwards Wooden Tile"), description = S("Rightwards Wooden Tile"),
groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_up.png^[transformR90"}, tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_up.png^[transformR90"},
sounds = sound_wood, sounds = sound_wood,
no_stairs = true, no_stairs = true,
@ -141,8 +137,7 @@ local nodes = {
["iron_glass"] = { ["iron_glass"] = {
description = S("Iron Glass"), description = S("Iron Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
--tiles = {"moreblocks_iron_glass.png", "moreblocks_iron_glass_detail.png"}, tiles = {"moreblocks_iron_glass.png", "moreblocks_iron_glass_detail.png"}, --MFF connected glass
tiles = {"moreblocks_iron_glass.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
@ -151,8 +146,7 @@ local nodes = {
["coal_glass"] = { ["coal_glass"] = {
description = S("Coal Glass"), description = S("Coal Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
--tiles = {"moreblocks_coal_glass.png", "moreblocks_coal_glass_detail.png"}, tiles = {"moreblocks_coal_glass.png", "moreblocks_coal_glass_detail.png"}, --MFF connected glass
tiles = {"moreblocks_coal_glass.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
@ -161,8 +155,7 @@ local nodes = {
["clean_glass"] = { ["clean_glass"] = {
description = S("Clean Glass"), description = S("Clean Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
--tiles = {"moreblocks_clean_glass.png", "moreblocks_clean_glass_detail.png"}, tiles = {"moreblocks_clean_glass.png", "moreblocks_clean_glass_detail.png"}, --MFF connected glass
tiles = {"moreblocks_clean_glass.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
@ -190,7 +183,6 @@ local nodes = {
"moreblocks_empty_bookshelf.png"}, "moreblocks_empty_bookshelf.png"},
groups = {snappy = 2, choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, groups = {snappy = 2, choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = sound_wood, sounds = sound_wood,
furnace_burntime = 15,
no_stairs = true, no_stairs = true,
}, },
["coal_stone"] = { ["coal_stone"] = {
@ -235,8 +227,7 @@ local nodes = {
["trap_glass"] = { ["trap_glass"] = {
description = S("Trap Glass"), description = S("Trap Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
--tiles = {"moreblocks_trap_glass.png", "default_glass_detail.png"}, tiles = {"moreblocks_trap_glass.png", "default_glass_detail.png"}, --MFF connected glass
tiles = {"moreblocks_trap_glass.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
walkable = false, walkable = false,
@ -258,11 +249,23 @@ local nodes = {
sounds = sound_wood, sounds = sound_wood,
furnace_burntime = 30, furnace_burntime = 30,
}, },
["horizontal_jungle_tree"] = {
description = S("Horizontal Jungle Tree"),
tiles = {"default_jungletree.png",
"default_jungletree.png",
"default_jungletree.png^[transformR90",
"default_jungletree.png^[transformR90",
"default_jungletree_top.png",
"default_jungletree_top.png"},
paramtype2 = "facedir",
groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
sounds = sound_wood,
furnace_burntime = 30,
},
["glow_glass"] = { ["glow_glass"] = {
description = S("Glow Glass"), description = S("Glow Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
--tiles = {"moreblocks_glow_glass.png", "moreblocks_glow_glass_detail.png"}, tiles = {"moreblocks_glow_glass.png", "moreblocks_glow_glass_detail.png"}, --MFF connected glass
tiles = {"moreblocks_glow_glass.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
light_source = 11, light_source = 11,
@ -272,8 +275,7 @@ local nodes = {
["trap_glow_glass"] = { ["trap_glow_glass"] = {
description = S("Trap Glow Glass"), description = S("Trap Glow Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
--tiles = {"moreblocks_trap_glass.png", "moreblocks_glow_glass_detail.png"}, tiles = {"moreblocks_trap_glass.png", "moreblocks_glow_glass_detail.png"}, --MFF connected glass
tiles = {"moreblocks_trap_glass.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
light_source = 11, light_source = 11,
@ -285,22 +287,20 @@ local nodes = {
["super_glow_glass"] = { ["super_glow_glass"] = {
description = S("Super Glow Glass"), description = S("Super Glow Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
--tiles = {"moreblocks_super_glow_glass.png", "moreblocks_super_glow_glass_detail.png"}, tiles = {"moreblocks_super_glow_glass.png", "moreblocks_super_glow_glass_detail.png"}, --MFF connected glass
tiles = {"moreblocks_super_glow_glass.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
light_source = 14, light_source = default.LIGHT_MAX,
groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
sounds = sound_glass, sounds = sound_glass,
}, },
["trap_super_glow_glass"] = { ["trap_super_glow_glass"] = {
description = S("Trap Super Glow Glass"), description = S("Trap Super Glow Glass"),
drawtype = "glasslike_framed_optional", drawtype = "glasslike_framed_optional",
--tiles = {"moreblocks_trap_super_glow_glass.png", "moreblocks_super_glow_glass_detail.png"}, tiles = {"moreblocks_trap_super_glow_glass.png", "moreblocks_super_glow_glass_detail.png"}, --MFF connected glass
tiles = {"moreblocks_trap_super_glow_glass.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
light_source = 14, light_source = default.LIGHT_MAX,
walkable = false, walkable = false,
groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3}, groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
sounds = sound_glass, sounds = sound_glass,
@ -321,11 +321,6 @@ local nodes = {
sounds = sound_leaves, sounds = sound_leaves,
no_stairs = true, no_stairs = true,
}, },
["copperpatina"] = {
description = S("Copper Patina Block"),
groups = {cracky = 1, level = 2},
sounds = sound_metal,
},
} }
for name, def in pairs(nodes) do for name, def in pairs(nodes) do
@ -358,3 +353,4 @@ minetest.register_craftitem("moreblocks:nothing", {
inventory_image = "invisible.png", inventory_image = "invisible.png",
on_use = function() end, on_use = function() end,
}) })

2
ownership.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: ownership handling More Blocks: ownership handling
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]

67
redefinitions.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: redefinitions of default stuff More Blocks: redefinitions of default stuff
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -10,9 +10,9 @@ Licensed under the zlib license. See LICENSE.md for more information.
minetest.register_craft({ minetest.register_craft({
output = "default:sign_wall 4", output = "default:sign_wall 4",
recipe = { recipe = {
{"default:wood", "default:wood", "default:wood"}, {"group:wood", "group:wood", "group:wood"},
{"default:wood", "default:wood", "default:wood"}, {"group:wood", "group:wood", "group:wood"},
{"", "default:stick", ""}, {"", "group:stick", ""},
} }
}) })
@ -32,16 +32,69 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({ --[[minetest.register_craft({
output = "default:rail 24", output = "default:rail 16", -- /MFF (Mg|06/10/15) => (Ombridride|26/07/15)
recipe = { recipe = {
{"default:steel_ingot", "", "default:steel_ingot"}, {"default:steel_ingot", "", "default:steel_ingot"},
{"default:steel_ingot", "default:stick", "default:steel_ingot"}, {"default:steel_ingot", "default:stick", "default:steel_ingot"},
{"default:steel_ingot", "", "default:steel_ingot"}, {"default:steel_ingot", "", "default:steel_ingot"},
} }
}) })--]]
minetest.register_craft({ minetest.register_craft({
type = "toolrepair", type = "toolrepair",
additional_wear = -0.10, -- Tool repair buff (10% bonus instead of 2%). additional_wear = -0.10, -- Tool repair buff (10% bonus instead of 2%).
}) })
-- Redefinitions of some default nodes
-- ===================================
-- Let there be light. This makes some nodes let light pass through:
minetest.override_item("default:ladder", {
paramtype = "light",
sunlight_propagates = true,
})
minetest.override_item("default:sapling", {
paramtype = "light",
sunlight_propagates = true,
})
minetest.override_item("default:dry_shrub", {
paramtype = "light",
sunlight_propagates = true,
})
minetest.override_item("default:papyrus", {
paramtype = "light",
sunlight_propagates = true,
})
minetest.override_item("default:fence_wood", {
paramtype = "light",
sunlight_propagates = true,
})
minetest.override_item("default:junglegrass", {
paramtype = "light",
sunlight_propagates = true,
})
minetest.override_item("default:junglesapling", {
paramtype = "light",
sunlight_propagates = true,
})
minetest.override_item("default:grass_1", {
inventory_image = "default_grass_3.png", -- Use a bigger inventory image.
wield_image = "default_grass_3.png",
paramtype = "light",
sunlight_propagates = true,
})
for i = 2, 5 do
minetest.override_item("default:grass_" ..i, {
paramtype = "light",
sunlight_propagates = true,
})
end

3
stairsplus/API.md Normal file → Executable file
View File

@ -1,4 +1,5 @@
# API documentation for Stairs+ API documentation for Stairs+
=============================
* `stairsplus:register_all(modname, subname, recipeitem, fields)` * `stairsplus:register_all(modname, subname, recipeitem, fields)`
Registers a stair, slab, panel, microblock, and any other types of Registers a stair, slab, panel, microblock, and any other types of

2
stairsplus/aliases.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: alias definitions More Blocks: alias definitions
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]

4
stairsplus/conversion.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: conversion More Blocks: conversion
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -80,7 +80,6 @@ function stairsplus:register_6dfacedir_conversion(modname, material)
chance = 1, chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider) action = function(pos, node, active_object_count, active_object_count_wider)
local fdir = node.param2 or 0 local fdir = node.param2 or 0
local nfdir
if flip_upside_down and not flip_to_wall then if flip_upside_down and not flip_to_wall then
nfdir = dirs1[fdir + 2] nfdir = dirs1[fdir + 2]
@ -137,3 +136,4 @@ function stairsplus:register_6dfacedir_conversion(modname, material)
}) })
end end
end end

36
stairsplus/init.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: Stairs+ More Blocks: Stairs+
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -12,28 +12,11 @@ local modpath = minetest.get_modpath("moreblocks").. "/stairsplus"
stairsplus = {} stairsplus = {}
stairsplus.expect_infinite_stacks = false stairsplus.expect_infinite_stacks = false
stairsplus.shapes_list = {}
if not minetest.get_modpath("unified_inventory") if not minetest.get_modpath("unified_inventory")
and minetest.settings:get_bool("creative_mode") then and minetest.setting_getbool("creative_mode") then
stairsplus.expect_infinite_stacks = true stairsplus.expect_infinite_stacks = true
end end
function stairsplus.copytable(orig)
local orig_type = type(orig)
local copy
if orig_type == 'table' then
copy = {}
for orig_key, orig_value in next, orig, nil do
copy[stairsplus.copytable(orig_key)] = stairsplus.copytable(orig_value)
end
setmetatable(copy, stairsplus.copytable(getmetatable(orig)))
else
copy = orig
end
return copy
end
function stairsplus:prepare_groups(groups) function stairsplus:prepare_groups(groups)
local result = {} local result = {}
if groups then if groups then
@ -58,21 +41,6 @@ function stairsplus:register_all(modname, subname, recipeitem, fields)
-- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps. -- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps.
end end
function stairsplus:register_alias_all(modname_old, subname_old, modname_new, subname_new)
self:register_stair_alias(modname_old, subname_old, modname_new, subname_new)
self:register_slab_alias(modname_old, subname_old, modname_new, subname_new)
self:register_slope_alias(modname_old, subname_old, modname_new, subname_new)
self:register_panel_alias(modname_old, subname_old, modname_new, subname_new)
self:register_micro_alias(modname_old, subname_old, modname_new, subname_new)
end
function stairsplus:register_alias_force_all(modname_old, subname_old, modname_new, subname_new)
self:register_stair_alias_force(modname_old, subname_old, modname_new, subname_new)
self:register_slab_alias_force(modname_old, subname_old, modname_new, subname_new)
self:register_slope_alias_force(modname_old, subname_old, modname_new, subname_new)
self:register_panel_alias_force(modname_old, subname_old, modname_new, subname_new)
self:register_micro_alias_force(modname_old, subname_old, modname_new, subname_new)
end
function register_stair_slab_panel_micro(modname, subname, recipeitem, groups, images, description, drop, light) function register_stair_slab_panel_micro(modname, subname, recipeitem, groups, images, description, drop, light)
stairsplus:register_all(modname, subname, recipeitem, { stairsplus:register_all(modname, subname, recipeitem, {
groups = groups, groups = groups,

57
stairsplus/microblocks.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: microblock definitions More Blocks: microblock definitions
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -20,7 +20,8 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio
}) })
end end
local microblocks_defs = { function stairsplus:register_micro(modname, subname, recipeitem, fields)
local defs = {
[""] = { [""] = {
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -33,74 +34,44 @@ local microblocks_defs = {
fixed = {-0.5, -0.5, 0, 0, -0.4375, 0.5}, fixed = {-0.5, -0.5, 0, 0, -0.4375, 0.5},
}, },
}, },
["_2"] = { ["_2"] = {legacy = "_1"},
node_box = { ["_4"] = {legacy = ""},
type = "fixed",
fixed = {-0.5, -0.5, 0, 0, -0.375, 0.5},
},
},
["_4"] = {
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, 0, 0, -0.25, 0.5},
},
},
["_12"] = { ["_12"] = {
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = {-0.5, -0.5, 0, 0, 0.25, 0.5}, fixed = {-0.5, -0.5, 0, 0, 0.25, 0.5},
}, },
}, },
["_14"] = { ["_14"] = {legacy = "_15"},
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, 0, 0, 0.375, 0.5},
},
},
["_15"] = { ["_15"] = {
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = {-0.5, -0.5, 0, 0, 0.4375, 0.5}, fixed = {-0.5, -0.5, 0, 0, 0.4375, 0.5},
}, },
} }
} }
for k,v in pairs(microblocks_defs) do
table.insert(stairsplus.shapes_list, { "micro_", k })
end
function stairsplus:register_micro_alias(modname_old, subname_old, modname_new, subname_new)
local defs = stairsplus.copytable(microblocks_defs)
for alternate, def in pairs(defs) do
minetest.register_alias(modname_old .. ":micro_" .. subname_old .. alternate, modname_new .. ":micro_" .. subname_new .. alternate)
end
end
function stairsplus:register_micro_alias_force(modname_old, subname_old, modname_new, subname_new)
local defs = stairsplus.copytable(microblocks_defs)
for alternate, def in pairs(defs) do
minetest.register_alias_force(modname_old .. ":micro_" .. subname_old .. alternate, modname_new .. ":micro_" .. subname_new .. alternate)
end
end
function stairsplus:register_micro(modname, subname, recipeitem, fields)
local defs = stairsplus.copytable(microblocks_defs)
local desc = S("%s Microblock"):format(fields.description) local desc = S("%s Microblock"):format(fields.description)
for alternate, def in pairs(defs) do for alternate, def in pairs(defs) do
if def.legacy then
minetest.register_alias(modname .. ":micro_" .. subname .. alternate,
modname .. ":micro_" .. subname .. def.legacy)
else
for k, v in pairs(fields) do for k, v in pairs(fields) do
def[k] = v def[k] = v
end end
def.drawtype = "nodebox" def.drawtype = "nodebox"
def.paramtype = "light" def.paramtype = "light"
def.paramtype2 = def.paramtype2 or "facedir" def.paramtype2 = "facedir"
def.on_place = minetest.rotate_node def.on_place = minetest.rotate_node
def.groups = stairsplus:prepare_groups(fields.groups) def.groups = stairsplus:prepare_groups(fields.groups)
def.description = desc def.description = desc
if fields.drop and not (type(fields.drop) == "table") then if fields.drop then
def.drop = modname.. ":micro_" ..fields.drop..alternate def.drop = modname.. ":micro_" ..fields.drop..alternate
end end
minetest.register_node(":" ..modname.. ":micro_" ..subname..alternate, def) minetest.register_node(":" ..modname.. ":micro_" ..subname..alternate, def)
end end
end
minetest.register_alias(modname.. ":micro_" ..subname.. "_bottom", modname.. ":micro_" ..subname) minetest.register_alias(modname.. ":micro_" ..subname.. "_bottom", modname.. ":micro_" ..subname)
circular_saw.known_nodes[recipeitem] = {modname, subname} circular_saw.known_nodes[recipeitem] = {modname, subname}

57
stairsplus/panels.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: panel definitions More Blocks: panel definitions
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -20,7 +20,8 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio
}) })
end end
local panels_defs = { function stairsplus:register_panel(modname, subname, recipeitem, fields)
local defs = {
[""] = { [""] = {
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -33,74 +34,44 @@ local panels_defs = {
fixed = {-0.5, -0.5, 0, 0.5, -0.4375, 0.5}, fixed = {-0.5, -0.5, 0, 0.5, -0.4375, 0.5},
}, },
}, },
["_2"] = { ["_2"] = {legacy = "_1"},
node_box = { ["_4"] = {legacy = ""},
type = "fixed",
fixed = {-0.5, -0.5, 0, 0.5, -0.375, 0.5},
},
},
["_4"] = {
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, 0, 0.5, -0.25, 0.5},
},
},
["_12"] = { ["_12"] = {
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = {-0.5, -0.5, 0, 0.5, 0.25, 0.5}, fixed = {-0.5, -0.5, 0, 0.5, 0.25, 0.5},
}, },
}, },
["_14"] = { ["_14"] = {legacy = "_15"},
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, 0, 0.5, 0.375, 0.5},
},
},
["_15"] = { ["_15"] = {
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = {-0.5, -0.5, 0, 0.5, 0.4375, 0.5}, fixed = {-0.5, -0.5, 0, 0.5, 0.4375, 0.5},
}, },
} }
} }
for k,v in pairs(panels_defs) do
table.insert(stairsplus.shapes_list, { "panel_", k })
end
function stairsplus:register_panel_alias(modname_old, subname_old, modname_new, subname_new)
local defs = stairsplus.copytable(panels_defs)
for alternate, def in pairs(defs) do
minetest.register_alias(modname_old .. ":panel_" .. subname_old .. alternate, modname_new .. ":panel_" .. subname_new .. alternate)
end
end
function stairsplus:register_panel_alias_force(modname_old, subname_old, modname_new, subname_new)
local defs = stairsplus.copytable(panels_defs)
for alternate, def in pairs(defs) do
minetest.register_alias_force(modname_old .. ":panel_" .. subname_old .. alternate, modname_new .. ":panel_" .. subname_new .. alternate)
end
end
function stairsplus:register_panel(modname, subname, recipeitem, fields)
local defs = stairsplus.copytable(panels_defs)
local desc = S("%s Panel"):format(fields.description) local desc = S("%s Panel"):format(fields.description)
for alternate, def in pairs(defs) do for alternate, def in pairs(defs) do
if def.legacy then
minetest.register_alias(modname .. ":panel_" .. subname .. alternate,
modname .. ":panel_" .. subname .. def.legacy)
else
for k, v in pairs(fields) do for k, v in pairs(fields) do
def[k] = v def[k] = v
end end
def.drawtype = "nodebox" def.drawtype = "nodebox"
def.paramtype = "light" def.paramtype = "light"
def.paramtype2 = def.paramtype2 or "facedir" def.paramtype2 = "facedir"
def.on_place = minetest.rotate_node def.on_place = minetest.rotate_node
def.description = desc def.description = desc
def.groups = stairsplus:prepare_groups(fields.groups) def.groups = stairsplus:prepare_groups(fields.groups)
if fields.drop and not (type(fields.drop) == "table") then if fields.drop then
def.drop = modname.. ":panel_" ..fields.drop..alternate def.drop = modname.. ":panel_" ..fields.drop..alternate
end end
minetest.register_node(":" ..modname.. ":panel_" ..subname..alternate, def) minetest.register_node(":" ..modname.. ":panel_" ..subname..alternate, def)
end end
end
minetest.register_alias(modname.. ":panel_" ..subname.. "_bottom", modname.. ":panel_" ..subname) minetest.register_alias(modname.. ":panel_" ..subname.. "_bottom", modname.. ":panel_" ..subname)
circular_saw.known_nodes[recipeitem] = {modname, subname} circular_saw.known_nodes[recipeitem] = {modname, subname}

67
stairsplus/registrations.lua Normal file → Executable file
View File

@ -1,13 +1,12 @@
--[[ --[[
More Blocks: registrations More Blocks: registrations
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
local default_nodes = { -- Default stairs/slabs/panels/microblocks: local default_nodes = { -- Default stairs/slabs/panels/microblocks:
"stone", "stone",
"stone_block",
"cobble", "cobble",
"mossycobble", "mossycobble",
"brick", "brick",
@ -17,9 +16,7 @@ local default_nodes = { -- Default stairs/slabs/panels/microblocks:
"copperblock", "copperblock",
"bronzeblock", "bronzeblock",
"diamondblock", "diamondblock",
"tinblock",
"desert_stone", "desert_stone",
"desert_stone_block",
"desert_cobble", "desert_cobble",
"meselamp", "meselamp",
"glass", "glass",
@ -29,40 +26,25 @@ local default_nodes = { -- Default stairs/slabs/panels/microblocks:
"junglewood", "junglewood",
"pine_tree", "pine_tree",
"pine_wood", "pine_wood",
"cherry_tree",
"cherry_plank",
"acacia_tree", "acacia_tree",
"acacia_wood", "acacia_wood",
"aspen_tree",
"aspen_wood",
"obsidian", "obsidian",
"obsidian_block",
"obsidianbrick",
"obsidian_glass", "obsidian_glass",
"stonebrick", "stonebrick",
"desert_stonebrick", "desert_stonebrick",
"sandstonebrick", "sandstonebrick",
"silver_sandstone", "obsidianbrick",
"silver_sandstone_brick",
"silver_sandstone_block",
"desert_sandstone",
"desert_sandstone_brick",
"desert_sandstone_block",
"sandstone_block",
"coral_skeleton",
"farming:straw"
} }
for _, name in pairs(default_nodes) do for _, name in pairs(default_nodes) do
local nodename = "default:"..name local nodename = "default:" .. name
local a,b = string.find(name, ":")
if b then
nodename = name
name = string.sub(name, b+1)
end
local ndef = minetest.registered_nodes[nodename] local ndef = minetest.registered_nodes[nodename]
if ndef then if ndef then
local drop local drop
if type(ndef.drop) == "string" then if type(ndef.drop) == "string" then
drop = ndef.drop:sub((b or 8)+1) drop = ndef.drop:split(" ")[1]:sub(9)
end end
local tiles = ndef.tiles local tiles = ndef.tiles
@ -81,40 +63,3 @@ for _, name in pairs(default_nodes) do
}) })
end end
end end
-- wool registrations
if minetest.get_modpath("wool") then
local colorlist = {
{"white", "White Wool"},
{"grey", "Grey Wool"},
{"black", "Black Wool"},
{"red", "Red Wool"},
{"yellow", "Yellow Wool"},
{"green", "Green Wool"},
{"cyan", "Cyan Wool"},
{"blue", "Blue Wool"},
{"magenta", "Magenta Wool"},
{"orange", "Orange Wool"},
{"violet", "Violet Wool"},
{"brown", "Brown Wool"},
{"pink", "Pink Wool"},
{"dark_grey", "Dark Grey Wool"},
{"dark_green", "Dark Green Wool"},
}
for i in ipairs(colorlist) do
local color = colorlist[i][1]
local colordesc = colorlist[i][2]
stairsplus:register_all("wool", color, "wool:"..color, {
description = colordesc,
tiles = {"wool_"..color..".png"},
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,
flammable=3,wool=1,not_in_creative_inventory=1},
sounds = default.node_sound_defaults(),
sunlight_propagates = true,
})
end
end

75
stairsplus/slabs.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: slab definitions More Blocks: slab definitions
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -20,87 +20,44 @@ function register_slab(modname, subname, recipeitem, groups, images, description
}) })
end end
local slabs_defs = { function stairsplus:register_slab(modname, subname, recipeitem, fields)
local defs = {
[""] = 8, [""] = 8,
["_quarter"] = 4, ["_quarter"] = 4,
["_three_quarter"] = 12, ["_three_quarter"] = 12,
["_1"] = 1, ["_1"] = 1,
["_2"] = 2, ["_2"] = "_1",
["_14"] = 14, ["_14"] = "_three_quarter",
["_15"] = 15, ["_15"] = 15,
["_two_sides"] = {
{ -0.5, -0.5, -0.5, 0.5, -7/16, 7/16 },
{ -0.5, -0.5, 7/16, 0.5, 0.5, 0.5 }
},
["_three_sides"] = {
{ -7/16, -0.5, -0.5, 0.5, -7/16, 7/16 },
{ -7/16, -0.5, 7/16, 0.5, 0.5, 0.5 },
{ -0.5, -0.5, -0.5, -7/16, 0.5, 0.5 }
},
["_three_sides_u"] = {
{ -0.5, -0.5, -0.5, 0.5, 0.5, -7/16 },
{ -0.5, -0.5, -7/16, 0.5, -7/16, 7/16 },
{ -0.5, -0.5, 7/16, 0.5, 0.5, 0.5 }
} }
}
for k,v in pairs(slabs_defs) do
table.insert(stairsplus.shapes_list, { "slab_", k })
end
function stairsplus:register_slab_alias(modname_old, subname_old, modname_new, subname_new)
local defs = stairsplus.copytable(slabs_defs)
for alternate, def in pairs(defs) do
minetest.register_alias(modname_old .. ":slab_" .. subname_old .. alternate, modname_new .. ":slab_" .. subname_new .. alternate)
end
end
function stairsplus:register_slab_alias_force(modname_old, subname_old, modname_new, subname_new)
local defs = stairsplus.copytable(slabs_defs)
for alternate, def in pairs(defs) do
minetest.register_alias_force(modname_old .. ":slab_" .. subname_old .. alternate, modname_new .. ":slab_" .. subname_new .. alternate)
end
end
function stairsplus:register_slab(modname, subname, recipeitem, fields)
local defs = stairsplus.copytable(slabs_defs)
local desc_base = S("%s Slab"):format(fields.description) local desc_base = S("%s Slab"):format(fields.description)
for alternate, shape in pairs(defs) do for alternate, num in pairs(defs) do
if type(num) == type("moo") then
local def = {} minetest.register_alias(modname .. ":slab_" .. subname .. alternate,
modname .. ":slab_" .. subname .. num)
if type(shape) ~= "table" then
def = {
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, (shape/16)-0.5, 0.5},
},
description = ("%s (%d/16)"):format(desc_base, shape)
}
else else
def = { local def = {
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = shape, fixed = {-0.5, -0.5, -0.5, 0.5, (num/16)-0.5, 0.5},
}, }
description = desc_base
} }
end
for k, v in pairs(fields) do for k, v in pairs(fields) do
def[k] = v def[k] = v
end end
def.drawtype = "nodebox" def.drawtype = "nodebox"
def.paramtype = "light" def.paramtype = "light"
def.paramtype2 = def.paramtype2 or "facedir" def.paramtype2 = "facedir"
def.on_place = minetest.rotate_node def.on_place = minetest.rotate_node
def.description = ("%s (%d/16)"):format(desc_base, num)
def.groups = stairsplus:prepare_groups(fields.groups) def.groups = stairsplus:prepare_groups(fields.groups)
if fields.drop and not (type(fields.drop) == "table") then if fields.drop then
def.drop = modname.. ":slab_" .. fields.drop .. alternate def.drop = modname.. ":slab_" .. fields.drop .. alternate
end end
minetest.register_node(":" .. modname .. ":slab_" .. subname .. alternate, def) minetest.register_node(":" .. modname .. ":slab_" .. subname .. alternate, def)
end end
end
minetest.register_alias("stairs:slab_" .. subname, modname .. ":slab_" .. subname) minetest.register_alias("stairs:slab_" .. subname, modname .. ":slab_" .. subname)
circular_saw.known_nodes[recipeitem] = {modname, subname} circular_saw.known_nodes[recipeitem] = {modname, subname}

39
stairsplus/slopes.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: slope definitions More Blocks: slope definitions
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -123,7 +123,8 @@ function register_slope(modname, subname, recipeitem, groups, images, descriptio
}) })
end end
local slopes_defs = { function stairsplus:register_slope(modname, subname, recipeitem, fields)
local defs = {
[""] = { [""] = {
mesh = "moreblocks_slope.obj", mesh = "moreblocks_slope.obj",
collision_box = box_slope, collision_box = box_slope,
@ -141,7 +142,7 @@ local slopes_defs = {
selection_box = box_slope_half_raised, selection_box = box_slope_half_raised,
}, },
--============================================================== --==============================================================
["_inner"] = { ["_inner"] = {
mesh = "moreblocks_slope_inner.obj", mesh = "moreblocks_slope_inner.obj",
@ -159,7 +160,7 @@ local slopes_defs = {
selection_box = box_slope_inner_half_raised, selection_box = box_slope_inner_half_raised,
}, },
--============================================================== --==============================================================
["_inner_cut"] = { ["_inner_cut"] = {
mesh = "moreblocks_slope_inner_cut.obj", mesh = "moreblocks_slope_inner_cut.obj",
@ -177,7 +178,7 @@ local slopes_defs = {
selection_box = box_slope_inner_half_raised, selection_box = box_slope_inner_half_raised,
}, },
--============================================================== --==============================================================
["_outer"] = { ["_outer"] = {
mesh = "moreblocks_slope_outer.obj", mesh = "moreblocks_slope_outer.obj",
@ -195,7 +196,7 @@ local slopes_defs = {
selection_box = box_slope_outer_half_raised, selection_box = box_slope_outer_half_raised,
}, },
--============================================================== --==============================================================
["_outer_cut"] = { ["_outer_cut"] = {
mesh = "moreblocks_slope_outer_cut.obj", mesh = "moreblocks_slope_outer_cut.obj",
@ -217,28 +218,8 @@ local slopes_defs = {
collision_box = box_slope_outer, collision_box = box_slope_outer,
selection_box = box_slope_outer, selection_box = box_slope_outer,
}, },
} }
for k,v in pairs(slopes_defs) do
table.insert(stairsplus.shapes_list, { "slope_", k })
end
function stairsplus:register_slope_alias(modname_old, subname_old, modname_new, subname_new)
local defs = stairsplus.copytable(slopes_defs)
for alternate, def in pairs(defs) do
minetest.register_alias(modname_old .. ":slope_" .. subname_old .. alternate, modname_new .. ":slope_" .. subname_new .. alternate)
end
end
function stairsplus:register_slope_alias_force(modname_old, subname_old, modname_new, subname_new)
local defs = stairsplus.copytable(slopes_defs)
for alternate, def in pairs(defs) do
minetest.register_alias_force(modname_old .. ":slope_" .. subname_old .. alternate, modname_new .. ":slope_" .. subname_new .. alternate)
end
end
function stairsplus:register_slope(modname, subname, recipeitem, fields)
local defs = stairsplus.copytable(slopes_defs)
local desc = S("%s Slope"):format(fields.description) local desc = S("%s Slope"):format(fields.description)
for alternate, def in pairs(defs) do for alternate, def in pairs(defs) do
for k, v in pairs(fields) do for k, v in pairs(fields) do
@ -246,11 +227,11 @@ function stairsplus:register_slope(modname, subname, recipeitem, fields)
end end
def.drawtype = "mesh" def.drawtype = "mesh"
def.paramtype = "light" def.paramtype = "light"
def.paramtype2 = def.paramtype2 or "facedir" def.paramtype2 = "facedir"
def.on_place = minetest.rotate_node def.on_place = minetest.rotate_node
def.description = desc def.description = desc
def.groups = stairsplus:prepare_groups(fields.groups) def.groups = stairsplus:prepare_groups(fields.groups)
if fields.drop and not (type(fields.drop) == "table") then if fields.drop then
def.drop = modname.. ":slope_" ..fields.drop..alternate def.drop = modname.. ":slope_" ..fields.drop..alternate
end end
minetest.register_node(":" ..modname.. ":slope_" ..subname..alternate, def) minetest.register_node(":" ..modname.. ":slope_" ..subname..alternate, def)

50
stairsplus/stairs.lua Normal file → Executable file
View File

@ -1,7 +1,7 @@
--[[ --[[
More Blocks: stair definitions More Blocks: stair definitions
Copyright (c) 2011-2017 Hugo Locurcio and contributors. Copyright (c) 2011-2015 Calinou and contributors.
Licensed under the zlib license. See LICENSE.md for more information. Licensed under the zlib license. See LICENSE.md for more information.
--]] --]]
@ -20,7 +20,8 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio
}) })
end end
local stairs_defs = { function stairsplus:register_stair(modname, subname, recipeitem, fields)
local defs = {
[""] = { [""] = {
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -85,15 +86,7 @@ local stairs_defs = {
}, },
}, },
}, },
["_alt_2"] = { ["_alt_2"] = {legacy = "_alt_1"},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.125, -0.5, 0.5, 0, 0},
{-0.5, 0.375, 0, 0.5, 0.5, 0.5},
},
},
},
["_alt_4"] = { ["_alt_4"] = {
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -103,44 +96,29 @@ local stairs_defs = {
}, },
}, },
}, },
} }
for k,v in pairs(stairs_defs) do
table.insert(stairsplus.shapes_list, { "stair_", k })
end
function stairsplus:register_stair_alias(modname_old, subname_old, modname_new, subname_new)
local defs = stairsplus.copytable(stairs_defs)
for alternate, def in pairs(defs) do
minetest.register_alias(modname_old .. ":stair_" .. subname_old .. alternate, modname_new .. ":stair_" .. subname_new .. alternate)
end
end
function stairsplus:register_stair_alias_force(modname_old, subname_old, modname_new, subname_new)
local defs = stairsplus.copytable(stairs_defs)
for alternate, def in pairs(defs) do
minetest.register_alias_force(modname_old .. ":stair_" .. subname_old .. alternate, modname_new .. ":stair_" .. subname_new .. alternate)
end
end
function stairsplus:register_stair(modname, subname, recipeitem, fields)
local defs = stairsplus.copytable(stairs_defs)
local desc = S("%s Stairs"):format(fields.description) local desc = S("%s Stairs"):format(fields.description)
for alternate, def in pairs(defs) do for alternate, def in pairs(defs) do
if def.legacy then
minetest.register_alias(modname .. ":stair_" .. subname .. alternate,
modname .. ":stair_" .. subname .. def.legacy)
else
for k, v in pairs(fields) do for k, v in pairs(fields) do
def[k] = v def[k] = v
end end
def.drawtype = "nodebox" def.drawtype = "nodebox"
def.paramtype = "light" def.paramtype = "light"
def.paramtype2 = def.paramtype2 or "facedir" def.paramtype2 = "facedir"
def.on_place = minetest.rotate_node def.on_place = minetest.rotate_node
def.description = desc def.description = desc
def.groups = stairsplus:prepare_groups(fields.groups) def.groups = stairsplus:prepare_groups(fields.groups)
if fields.drop and not (type(fields.drop) == "table") then if fields.drop then
def.drop = modname .. ":stair_" .. fields.drop .. alternate def.drop = modname .. ":stair_" .. fields.drop .. alternate
end end
minetest.register_node(":" .. modname .. ":stair_" .. subname .. alternate, def) minetest.register_node(":" .. modname .. ":stair_" .. subname .. alternate, def)
end end
end
minetest.register_alias("stairs:stair_" .. subname, modname .. ":stair_" .. subname) minetest.register_alias("stairs:stair_" .. subname, modname .. ":stair_" .. subname)
circular_saw.known_nodes[recipeitem] = {modname, subname} circular_saw.known_nodes[recipeitem] = {modname, subname}
@ -148,7 +126,7 @@ function stairsplus:register_stair(modname, subname, recipeitem, fields)
-- Some saw-less recipes: -- Some saw-less recipes:
minetest.register_craft({ minetest.register_craft({
output = modname .. ":stair_" .. subname .. " 8", output = modname .. ":stair_" .. subname .. " 6",
recipe = { recipe = {
{recipeitem, "", ""}, {recipeitem, "", ""},
{recipeitem, recipeitem, ""}, {recipeitem, recipeitem, ""},
@ -157,7 +135,7 @@ function stairsplus:register_stair(modname, subname, recipeitem, fields)
}) })
minetest.register_craft({ minetest.register_craft({
output = modname .. ":stair_" .. subname .. " 8", output = modname .. ":stair_" .. subname .. " 6",
recipe = { recipe = {
{"", "", recipeitem}, {"", "", recipeitem},
{"", recipeitem, recipeitem}, {"", recipeitem, recipeitem},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 B

0
textures/invisible.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 68 B

After

Width:  |  Height:  |  Size: 68 B

0
textures/moreblocks_cactus_brick.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 718 B

After

Width:  |  Height:  |  Size: 718 B

0
textures/moreblocks_cactus_checker.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 693 B

After

Width:  |  Height:  |  Size: 693 B

0
textures/moreblocks_circle_stone_bricks.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 448 B

After

Width:  |  Height:  |  Size: 448 B

0
textures/moreblocks_circular_saw_bottom.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 579 B

After

Width:  |  Height:  |  Size: 579 B

0
textures/moreblocks_circular_saw_side.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 478 B

After

Width:  |  Height:  |  Size: 478 B

0
textures/moreblocks_circular_saw_top.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 441 B

After

Width:  |  Height:  |  Size: 441 B

BIN
textures/moreblocks_clean_glass.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 B

After

Width:  |  Height:  |  Size: 170 B

0
textures/moreblocks_clean_glass_detail.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 96 B

After

Width:  |  Height:  |  Size: 96 B

0
textures/moreblocks_coal_checker.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 744 B

After

Width:  |  Height:  |  Size: 744 B

0
textures/moreblocks_coal_glass.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 155 B

After

Width:  |  Height:  |  Size: 155 B

0
textures/moreblocks_coal_glass_detail.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 159 B

After

Width:  |  Height:  |  Size: 159 B

0
textures/moreblocks_coal_glass_stairsplus.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 166 B

After

Width:  |  Height:  |  Size: 166 B

0
textures/moreblocks_coal_stone.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 229 B

After

Width:  |  Height:  |  Size: 229 B

0
textures/moreblocks_coal_stone_bricks.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 484 B

After

Width:  |  Height:  |  Size: 484 B

0
textures/moreblocks_cobble_compressed.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 356 B

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 325 B

BIN
textures/moreblocks_empty_bookshelf.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

After

Width:  |  Height:  |  Size: 210 B

BIN
textures/moreblocks_fence_jungle_wood.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 B

After

Width:  |  Height:  |  Size: 187 B

BIN
textures/moreblocks_fence_wood.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 480 B

After

Width:  |  Height:  |  Size: 478 B

BIN
textures/moreblocks_glass.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 204 B

BIN
textures/moreblocks_glass_stairsplus.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 B

After

Width:  |  Height:  |  Size: 213 B

0
textures/moreblocks_glow_glass.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 157 B

After

Width:  |  Height:  |  Size: 157 B

0
textures/moreblocks_glow_glass_detail.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 161 B

After

Width:  |  Height:  |  Size: 161 B

0
textures/moreblocks_glow_glass_stairsplus.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 169 B

After

Width:  |  Height:  |  Size: 169 B

0
textures/moreblocks_grey_bricks.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 725 B

After

Width:  |  Height:  |  Size: 725 B

0
textures/moreblocks_iron_checker.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 850 B

After

Width:  |  Height:  |  Size: 850 B

0
textures/moreblocks_iron_glass.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 158 B

After

Width:  |  Height:  |  Size: 158 B

0
textures/moreblocks_iron_glass_detail.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 163 B

After

Width:  |  Height:  |  Size: 163 B

0
textures/moreblocks_iron_glass_stairsplus.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 169 B

After

Width:  |  Height:  |  Size: 169 B

0
textures/moreblocks_iron_stone.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 230 B

After

Width:  |  Height:  |  Size: 230 B

0
textures/moreblocks_iron_stone_bricks.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 485 B

After

Width:  |  Height:  |  Size: 485 B

BIN
textures/moreblocks_junglestick.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 B

After

Width:  |  Height:  |  Size: 115 B

0
textures/moreblocks_obsidian_glass_stairsplus.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 144 B

After

Width:  |  Height:  |  Size: 144 B

0
textures/moreblocks_plankstone.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 335 B

After

Width:  |  Height:  |  Size: 335 B

0
textures/moreblocks_plankstone_2.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 354 B

After

Width:  |  Height:  |  Size: 354 B

0
textures/moreblocks_rope.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 356 B

After

Width:  |  Height:  |  Size: 356 B

0
textures/moreblocks_split_stone_tile.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 273 B

After

Width:  |  Height:  |  Size: 273 B

0
textures/moreblocks_split_stone_tile_alt.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 306 B

After

Width:  |  Height:  |  Size: 306 B

0
textures/moreblocks_split_stone_tile_top.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 279 B

0
textures/moreblocks_stone_tile.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 271 B

After

Width:  |  Height:  |  Size: 271 B

0
textures/moreblocks_super_glow_glass.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 154 B

After

Width:  |  Height:  |  Size: 154 B

0
textures/moreblocks_super_glow_glass_detail.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 156 B

After

Width:  |  Height:  |  Size: 156 B

BIN
textures/moreblocks_super_glow_glass_stairsplus.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

After

Width:  |  Height:  |  Size: 168 B

0
textures/moreblocks_sweeper.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 310 B

After

Width:  |  Height:  |  Size: 310 B

0
textures/moreblocks_tar.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 270 B

After

Width:  |  Height:  |  Size: 270 B

BIN
textures/moreblocks_trap_glass.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 164 B

BIN
textures/moreblocks_trap_glow_glass.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 164 B

0
textures/moreblocks_trap_stone.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 333 B

After

Width:  |  Height:  |  Size: 333 B

BIN
textures/moreblocks_trap_super_glow_glass.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 164 B

0
textures/moreblocks_tree_stairsplus.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 311 B

After

Width:  |  Height:  |  Size: 311 B

0
textures/moreblocks_wood_tile.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 396 B

After

Width:  |  Height:  |  Size: 396 B

0
textures/moreblocks_wood_tile_center.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 288 B

After

Width:  |  Height:  |  Size: 288 B

Some files were not shown because too many files have changed in this diff Show More