From f40957a2b16a7555dc22d3edc19f614c702c766d Mon Sep 17 00:00:00 2001 From: Milan2018 Date: Sun, 16 May 2021 19:11:28 +0200 Subject: [PATCH] update --- angledwalls/blend/sloped_wall.blend | Bin 0 -> 485580 bytes angledwalls/init.lua | 1 + angledwalls/models/adoors_Ldoor.obj | 132 +- angledwalls/models/adoors_Ldoor_open.obj | 96 +- angledwalls/models/adoors_Rdoor.obj | 130 +- angledwalls/models/adoors_Rdoor_open.obj | 96 +- angledwalls/models/angled_wall.obj | 121 +- angledwalls/models/angledwalls_corner.obj | 108 +- .../blend source files/adoors_Ldoor.blend | Bin 498600 -> 513480 bytes .../adoors_Ldoor_open.blend | Bin 498792 -> 531136 bytes .../blend source files/adoors_Rdoor.blend | Bin 527328 -> 541760 bytes .../adoors_Rdoor_open.blend | Bin 494992 -> 511152 bytes .../blend source files/sloped_wall.blend | Bin 0 -> 489288 bytes angledwalls/models/low_angled_wall.obj | 126 +- angledwalls/models/media license.txt | 5 + angledwalls/models/sloped_wall.obj | 32 + angledwalls/slopedwalls.lua | 254 +++ boost_cart/README.md | 50 + boost_cart/README.txt | 57 - boost_cart/cart_entity.lua | 45 +- boost_cart/depends.txt | 4 - boost_cart/description.txt | 1 - boost_cart/functions.lua | 19 +- boost_cart/init.lua | 30 +- boost_cart/mod.conf | 8 +- boost_cart/rails.lua | 13 +- boost_cart/textures/crossing_rails.png | Bin 278 -> 0 bytes boost_cart/textures/curved_rails.png | Bin 223 -> 0 bytes boost_cart/textures/rail_curved_upgrade.png | Bin 131 -> 0 bytes boost_cart/textures/rail_network.png | Bin 186 -> 0 bytes boost_cart/textures/rail_sleepers.png | Bin 391 -> 0 bytes boost_cart/textures/rail_sleepers_curved.png | Bin 436 -> 0 bytes boost_cart/textures/rail_straight_upgrade.png | Bin 96 -> 0 bytes boost_cart/textures/straight_rails.png | Bin 201 -> 0 bytes coloredwood/.gitignore | 1 + coloredwood/depends.txt | 1 + coloredwood/init.lua | 36 +- coloredwood/mod.conf | 1 + mydoors/my_door_wood/depends.txt | 3 - mydoors/my_door_wood/init.lua | 29 +- mymillwork/README.md | 39 +- mymillwork/description.txt | 6 +- mymillwork/init.lua | 4 +- mymillwork/materials.lua | 363 ++++ mymillwork/millwork.lua | 779 --------- mymillwork/models/mymillwork_mach1.obj | 399 +++++ mymillwork/models/mymillwork_mach10.obj | 85 + mymillwork/models/mymillwork_mach11.obj | 105 ++ mymillwork/models/mymillwork_mach12.obj | 172 ++ mymillwork/models/mymillwork_mach13.obj | 443 +++++ mymillwork/models/mymillwork_mach14.obj | 48 + mymillwork/models/mymillwork_mach15.obj | 452 +++++ mymillwork/models/mymillwork_mach16.obj | 108 ++ mymillwork/models/mymillwork_mach17.obj | 330 ++++ mymillwork/models/mymillwork_mach18.obj | 428 +++++ mymillwork/models/mymillwork_mach19.obj | 50 + mymillwork/models/mymillwork_mach2.obj | 1101 ++++++++++++ mymillwork/models/mymillwork_mach20.obj | 72 + mymillwork/models/mymillwork_mach21.obj | 48 + mymillwork/models/mymillwork_mach22.obj | 163 ++ mymillwork/models/mymillwork_mach23.obj | 353 ++++ mymillwork/models/mymillwork_mach24.obj | 224 +++ mymillwork/models/mymillwork_mach3.obj | 961 +++++++++++ mymillwork/models/mymillwork_mach4.obj | 735 ++++++++ mymillwork/models/mymillwork_mach5.obj | 182 ++ mymillwork/models/mymillwork_mach6.obj | 226 +++ mymillwork/models/mymillwork_mach7.obj | 116 ++ mymillwork/models/mymillwork_mach8.obj | 149 ++ mymillwork/models/mymillwork_mach9.obj | 930 ++++++++++ mymillwork/nodes.lua | 393 +++++ mymillwork/register.lua | 104 -- mymillwork/screenshot.png | Bin 138717 -> 276654 bytes playeranim/LICENSE.md | 23 - playeranim/README.md | 47 - playeranim/depends.txt | 2 - playeranim/description.txt | 1 - playeranim/init.lua | 301 ---- playeranim/mod.conf | 3 - playeranim/model.lua | 99 -- playeranim/screenshot.png | Bin 88380 -> 0 bytes playeranim/settingtypes.txt | 18 - realchess/.luacheckrc | 7 - realchess/CREDITS | 6 - realchess/LICENSE | 13 - realchess/README.md | 3 - realchess/depends.txt | 4 - realchess/description.txt | 1 - realchess/init.lua | 892 ---------- realchess/mod.conf | 1 - realchess/screenshot.png | Bin 79984 -> 0 bytes realchess/textures/bishop_black.png | Bin 170 -> 0 bytes realchess/textures/bishop_white.png | Bin 175 -> 0 bytes realchess/textures/chess_bg.png | Bin 29706 -> 0 bytes realchess/textures/chessboard_sides.png | Bin 115 -> 0 bytes realchess/textures/chessboard_top.png | Bin 207 -> 0 bytes realchess/textures/king_black.png | Bin 247 -> 0 bytes realchess/textures/king_white.png | Bin 194 -> 0 bytes realchess/textures/knight_black.png | Bin 231 -> 0 bytes realchess/textures/knight_white.png | Bin 235 -> 0 bytes realchess/textures/mailbox_blank16.png | Bin 82 -> 0 bytes realchess/textures/pawn_black.png | Bin 166 -> 0 bytes realchess/textures/pawn_white.png | Bin 166 -> 0 bytes realchess/textures/queen_black.png | Bin 238 -> 0 bytes realchess/textures/queen_white.png | Bin 188 -> 0 bytes realchess/textures/rook_black.png | Bin 172 -> 0 bytes realchess/textures/rook_white.png | Bin 178 -> 0 bytes unifiedbricks/init.lua | 98 +- unifieddyes/API.md | 24 +- unifieddyes/airbrush.lua | 503 ++++++ unifieddyes/aliases.lua | 23 + unifieddyes/api.lua | 494 ++++++ unifieddyes/color-tables.lua | 237 +++ unifieddyes/depends.txt | 4 - unifieddyes/description.txt | 1 - unifieddyes/dyes-crafting.lua | 309 ++++ unifieddyes/init.lua | 1508 +---------------- unifieddyes/locale/de.txt | 74 - unifieddyes/locale/es.txt | 87 - unifieddyes/locale/fr.txt | 87 - unifieddyes/locale/ms.txt | 87 - unifieddyes/locale/pt.txt | 85 - unifieddyes/locale/template.txt | 173 +- unifieddyes/locale/tr.txt | 88 - unifieddyes/locale/unifieddyes.de.tr | 91 + unifieddyes/locale/unifieddyes.es.tr | 89 + unifieddyes/locale/unifieddyes.fr.tr | 104 ++ unifieddyes/locale/unifieddyes.ms.tr | 89 + unifieddyes/locale/unifieddyes.pt.tr | 87 + unifieddyes/locale/unifieddyes.ru.tr | 76 + unifieddyes/locale/unifieddyes.tr.tr | 90 + unifieddyes/mod.conf | 3 + worldedit/.gitignore | 2 + worldedit/ChatCommands.md | 142 +- worldedit/README.md | 99 +- worldedit/Tutorial.md | 12 +- worldedit/WorldEdit API.md | 3 + worldedit/modpack.conf | 2 + worldedit/modpack.txt | 0 worldedit/worldedit/code.lua | 7 - worldedit/worldedit/common.lua | 7 +- worldedit/worldedit/cuboid.lua | 19 +- worldedit/worldedit/init.lua | 16 +- worldedit/worldedit/manipulations.lua | 367 ++-- worldedit/worldedit/mod.conf | 2 + worldedit/worldedit/serialization.lua | 100 +- worldedit/worldedit/visualization.lua | 1 + worldedit/worldedit_brush/depends.txt | 2 - worldedit/worldedit_brush/init.lua | 104 +- worldedit/worldedit_brush/mod.conf | 3 + worldedit/worldedit_commands/cuboid.lua | 344 ++-- worldedit/worldedit_commands/depends.txt | 1 - worldedit/worldedit_commands/init.lua | 1313 ++++++++------ worldedit/worldedit_commands/mark.lua | 83 +- worldedit/worldedit_commands/mod.conf | 3 + worldedit/worldedit_commands/safe.lua | 44 +- worldedit/worldedit_commands/wand.lua | 47 +- worldedit/worldedit_gui/depends.txt | 7 - worldedit/worldedit_gui/functionality.lua | 550 +++--- worldedit/worldedit_gui/init.lua | 31 +- worldedit/worldedit_gui/mod.conf | 4 + worldedit/worldedit_shortcommands/depends.txt | 1 - worldedit/worldedit_shortcommands/init.lua | 90 +- worldedit/worldedit_shortcommands/mod.conf | 3 + 163 files changed, 13848 insertions(+), 6460 deletions(-) create mode 100644 angledwalls/blend/sloped_wall.blend create mode 100644 angledwalls/models/blend source files/sloped_wall.blend create mode 100644 angledwalls/models/sloped_wall.obj create mode 100644 angledwalls/slopedwalls.lua create mode 100644 boost_cart/README.md delete mode 100644 boost_cart/README.txt delete mode 100644 boost_cart/depends.txt delete mode 100644 boost_cart/description.txt delete mode 100644 boost_cart/textures/crossing_rails.png delete mode 100644 boost_cart/textures/curved_rails.png delete mode 100644 boost_cart/textures/rail_curved_upgrade.png delete mode 100644 boost_cart/textures/rail_network.png delete mode 100644 boost_cart/textures/rail_sleepers.png delete mode 100644 boost_cart/textures/rail_sleepers_curved.png delete mode 100644 boost_cart/textures/rail_straight_upgrade.png delete mode 100644 boost_cart/textures/straight_rails.png create mode 100644 coloredwood/.gitignore delete mode 100644 mydoors/my_door_wood/depends.txt create mode 100644 mymillwork/materials.lua delete mode 100644 mymillwork/millwork.lua create mode 100644 mymillwork/models/mymillwork_mach1.obj create mode 100644 mymillwork/models/mymillwork_mach10.obj create mode 100644 mymillwork/models/mymillwork_mach11.obj create mode 100644 mymillwork/models/mymillwork_mach12.obj create mode 100644 mymillwork/models/mymillwork_mach13.obj create mode 100644 mymillwork/models/mymillwork_mach14.obj create mode 100644 mymillwork/models/mymillwork_mach15.obj create mode 100644 mymillwork/models/mymillwork_mach16.obj create mode 100644 mymillwork/models/mymillwork_mach17.obj create mode 100644 mymillwork/models/mymillwork_mach18.obj create mode 100644 mymillwork/models/mymillwork_mach19.obj create mode 100644 mymillwork/models/mymillwork_mach2.obj create mode 100644 mymillwork/models/mymillwork_mach20.obj create mode 100644 mymillwork/models/mymillwork_mach21.obj create mode 100644 mymillwork/models/mymillwork_mach22.obj create mode 100644 mymillwork/models/mymillwork_mach23.obj create mode 100644 mymillwork/models/mymillwork_mach24.obj create mode 100644 mymillwork/models/mymillwork_mach3.obj create mode 100644 mymillwork/models/mymillwork_mach4.obj create mode 100644 mymillwork/models/mymillwork_mach5.obj create mode 100644 mymillwork/models/mymillwork_mach6.obj create mode 100644 mymillwork/models/mymillwork_mach7.obj create mode 100644 mymillwork/models/mymillwork_mach8.obj create mode 100644 mymillwork/models/mymillwork_mach9.obj create mode 100644 mymillwork/nodes.lua delete mode 100644 mymillwork/register.lua delete mode 100644 playeranim/LICENSE.md delete mode 100644 playeranim/README.md delete mode 100644 playeranim/depends.txt delete mode 100644 playeranim/description.txt delete mode 100644 playeranim/init.lua delete mode 100644 playeranim/mod.conf delete mode 100644 playeranim/model.lua delete mode 100644 playeranim/screenshot.png delete mode 100644 playeranim/settingtypes.txt delete mode 100644 realchess/.luacheckrc delete mode 100644 realchess/CREDITS delete mode 100644 realchess/LICENSE delete mode 100644 realchess/README.md delete mode 100644 realchess/depends.txt delete mode 100644 realchess/description.txt delete mode 100644 realchess/init.lua delete mode 100644 realchess/mod.conf delete mode 100644 realchess/screenshot.png delete mode 100644 realchess/textures/bishop_black.png delete mode 100644 realchess/textures/bishop_white.png delete mode 100644 realchess/textures/chess_bg.png delete mode 100644 realchess/textures/chessboard_sides.png delete mode 100644 realchess/textures/chessboard_top.png delete mode 100644 realchess/textures/king_black.png delete mode 100644 realchess/textures/king_white.png delete mode 100644 realchess/textures/knight_black.png delete mode 100644 realchess/textures/knight_white.png delete mode 100644 realchess/textures/mailbox_blank16.png delete mode 100644 realchess/textures/pawn_black.png delete mode 100644 realchess/textures/pawn_white.png delete mode 100644 realchess/textures/queen_black.png delete mode 100644 realchess/textures/queen_white.png delete mode 100644 realchess/textures/rook_black.png delete mode 100644 realchess/textures/rook_white.png create mode 100644 unifieddyes/airbrush.lua create mode 100644 unifieddyes/aliases.lua create mode 100644 unifieddyes/api.lua create mode 100644 unifieddyes/color-tables.lua delete mode 100644 unifieddyes/depends.txt delete mode 100644 unifieddyes/description.txt create mode 100644 unifieddyes/dyes-crafting.lua delete mode 100644 unifieddyes/locale/de.txt delete mode 100644 unifieddyes/locale/es.txt delete mode 100644 unifieddyes/locale/fr.txt delete mode 100644 unifieddyes/locale/ms.txt delete mode 100644 unifieddyes/locale/pt.txt delete mode 100644 unifieddyes/locale/tr.txt create mode 100644 unifieddyes/locale/unifieddyes.de.tr create mode 100644 unifieddyes/locale/unifieddyes.es.tr create mode 100644 unifieddyes/locale/unifieddyes.fr.tr create mode 100644 unifieddyes/locale/unifieddyes.ms.tr create mode 100644 unifieddyes/locale/unifieddyes.pt.tr create mode 100644 unifieddyes/locale/unifieddyes.ru.tr create mode 100644 unifieddyes/locale/unifieddyes.tr.tr create mode 100644 worldedit/.gitignore create mode 100644 worldedit/modpack.conf delete mode 100644 worldedit/modpack.txt create mode 100644 worldedit/worldedit/mod.conf delete mode 100644 worldedit/worldedit_brush/depends.txt create mode 100644 worldedit/worldedit_brush/mod.conf delete mode 100644 worldedit/worldedit_commands/depends.txt create mode 100644 worldedit/worldedit_commands/mod.conf delete mode 100644 worldedit/worldedit_gui/depends.txt create mode 100644 worldedit/worldedit_gui/mod.conf delete mode 100644 worldedit/worldedit_shortcommands/depends.txt create mode 100644 worldedit/worldedit_shortcommands/mod.conf diff --git a/angledwalls/blend/sloped_wall.blend b/angledwalls/blend/sloped_wall.blend new file mode 100644 index 0000000000000000000000000000000000000000..07dd404c5bc6c51efb2813e207283bf583aeec71 GIT binary patch literal 485580 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νeh)Xtk-yP$YdeM4=O%-%d7Q`b1R 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 A-~a#s literal 0 HcmV?d00001 diff --git a/angledwalls/init.lua b/angledwalls/init.lua index a88e872..c019298 100755 --- a/angledwalls/init.lua +++ b/angledwalls/init.lua @@ -3,6 +3,7 @@ dofile(minetest.get_modpath("angledwalls").."/angledwalls.lua") dofile(minetest.get_modpath("angledwalls").."/angledglass.lua") dofile(minetest.get_modpath("angledwalls").."/adoors.lua") +dofile(minetest.get_modpath("angledwalls").."/slopedwalls.lua") if minetest.get_modpath("bakedclay") then dofile(minetest.get_modpath("angledwalls").."/bakedclay.lua") diff --git a/angledwalls/models/adoors_Ldoor.obj b/angledwalls/models/adoors_Ldoor.obj index 8126f27..d25d812 100644 --- a/angledwalls/models/adoors_Ldoor.obj +++ b/angledwalls/models/adoors_Ldoor.obj @@ -1,61 +1,67 @@ -# Blender v2.76 (sub 0) OBJ File: 'angled_Rdoor_open.blend' +# Blender v2.79 (sub 0) OBJ File: 'adoors_Ldoor.blend' # www.blender.org -mtllib adoors_Ldoor.mtl +o Cube.002 +v -0.500000 -0.500000 0.375000 +v -0.375000 -0.500000 0.375000 +v -0.375000 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 1.500000 0.375000 +v -0.375000 1.500000 0.375000 +v -0.375000 1.500000 0.500000 +v -0.500000 1.500000 0.500000 +vt 0.026316 1.000000 +vt 0.026316 0.968750 +vt 0.000000 0.968750 +vt 0.000100 0.999900 +vt 0.842105 1.000000 +vt 0.813143 0.999900 +vt 0.815789 0.968750 +vt 0.842105 0.968750 +vt 0.842105 -0.000000 +vt 0.815789 1.000000 +vt 0.815789 0.000000 +vt 0.026316 0.000000 +vt 0.026316 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.815789 0.000000 +vt 0.842105 0.000000 +vt 0.842105 1.000000 +vt 0.815789 1.000000 +vt 0.000000 1.000000 +vt 0.026316 1.000000 +vt 0.026316 0.000000 +vt 0.000000 0.000000 +vn 0.5773 0.5773 -0.5773 +vn 0.5773 -0.5773 -0.5773 +s 1 +f 1/1/1 4/2/1 3/3/1 2/4/1 +f 5/5/2 6/6/2 7/7/2 8/8/2 +f 1/9/1 5/5/2 6/10/2 2/11/1 +f 2/12/1 6/13/2 7/14/2 3/15/1 +f 3/16/1 4/17/1 8/18/2 7/19/2 +f 5/20/2 8/21/2 4/22/1 1/23/1 o Plane -v 0.397028 1.501070 -0.404606 -v 0.397028 -0.498930 -0.404606 -v -0.409074 1.501070 0.401496 -v -0.409074 -0.498930 0.401496 +v 0.375000 1.500000 -0.375000 +v 0.375000 -0.500000 -0.375000 +v -0.375000 1.500000 0.375000 +v -0.375000 -0.500000 0.375000 vt 0.421053 1.000000 vt -0.000000 1.000000 vt 0.000000 0.000000 vt 0.421053 0.000000 -vn 0.707100 -0.000000 0.707100 -usemtl glass +vn 0.7071 0.0000 0.7071 s off -f 1/1/1 3/2/1 4/3/1 2/4/1 -o Cube.002_Cube.001 -v -0.503075 -0.498926 0.394008 -v -0.399111 -0.498897 0.396733 -v -0.401835 -0.498934 0.500697 -v -0.505799 -0.498963 0.497973 -v -0.503647 1.501074 0.394711 -v -0.399682 1.501103 0.397435 -v -0.402407 1.501066 0.501399 -v -0.506371 1.501037 0.498675 -vt 0.026316 1.000000 -vt 0.026316 0.968750 -vt 0.000000 0.968750 -vt 0.000100 0.999900 -vt 0.842105 1.000000 -vt 0.813143 0.999900 -vt 0.815789 0.968750 -vt 0.842105 0.968750 -vt 0.842105 -0.000000 -vt 0.815789 1.000000 -vt 0.815789 0.000000 -vt 0.026316 0.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vn 0.592100 0.577700 -0.561800 -vn 0.592400 -0.577000 -0.562200 -usemtl Material -s 1 -f 5/5/2 8/6/2 7/7/2 6/8/2 -f 9/9/3 10/10/3 11/11/3 12/12/3 -f 5/13/2 9/9/3 10/14/3 6/15/2 -f 6/16/2 10/5/3 11/17/3 7/18/2 -f 7/15/2 8/13/2 12/9/3 11/14/3 -f 9/17/3 12/5/3 8/16/2 5/18/2 +f 9/24/3 11/25/3 12/26/3 10/27/3 o Cube.001 -v 0.400306 -0.498923 -0.508187 -v 0.504263 -0.498828 -0.505199 -v 0.501274 -0.498942 -0.401242 -v 0.397317 -0.499038 -0.404231 -v 0.398407 1.501075 -0.506035 -v 0.502365 1.501170 -0.503046 -v 0.499376 1.501056 -0.399089 -v 0.395419 1.500960 -0.402078 +v 0.375000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.375000 +v 0.375000 -0.500000 -0.375000 +v 0.375000 1.500000 -0.500000 +v 0.500000 1.500000 -0.500000 +v 0.500000 1.500000 -0.375000 +v 0.375000 1.500000 -0.375000 vt 0.026316 1.000000 vt 0.026316 0.968750 vt 0.000000 0.968750 @@ -68,15 +74,23 @@ vt 0.842105 -0.000000 vt 0.815789 1.000000 vt 0.815789 0.000000 vt 0.026316 0.000000 +vt 0.026316 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 -vn 0.593100 0.578500 -0.559900 -vn 0.594200 -0.576200 -0.561100 -usemtl Material +vt 0.815789 0.000000 +vt 0.842105 0.000000 +vt 0.842105 1.000000 +vt 0.815789 1.000000 +vt 0.000000 1.000000 +vt 0.026316 1.000000 +vt 0.026316 0.000000 +vt 0.000000 0.000000 +vn 0.5773 0.5773 -0.5773 +vn 0.5773 -0.5773 -0.5773 s 1 -f 13/19/4 16/20/4 15/21/4 14/22/4 -f 17/23/5 18/24/5 19/25/5 20/26/5 -f 13/27/4 17/23/5 18/28/5 14/29/4 -f 14/30/4 18/19/5 19/31/5 15/32/4 -f 15/29/4 16/27/4 20/23/5 19/28/5 -f 17/31/5 20/19/5 16/30/4 13/32/4 +f 13/28/4 16/29/4 15/30/4 14/31/4 +f 17/32/5 18/33/5 19/34/5 20/35/5 +f 13/36/4 17/32/5 18/37/5 14/38/4 +f 14/39/4 18/40/5 19/41/5 15/42/4 +f 15/43/4 16/44/4 20/45/5 19/46/5 +f 17/47/5 20/48/5 16/49/4 13/50/4 diff --git a/angledwalls/models/adoors_Ldoor_open.obj b/angledwalls/models/adoors_Ldoor_open.obj index 98757ab..d140678 100644 --- a/angledwalls/models/adoors_Ldoor_open.obj +++ b/angledwalls/models/adoors_Ldoor_open.obj @@ -1,15 +1,14 @@ -# Blender v2.76 (sub 0) OBJ File: 'adoors_Ldoor.blend' +# Blender v2.79 (sub 0) OBJ File: 'adoors_Ldoor_open.blend' # www.blender.org -mtllib adoors_Ldoor_open.mtl -o Cube.003_Cube.000 -v 0.508182 -0.499176 -0.500426 -v 0.505969 -0.499081 -0.396449 -v 0.401992 -0.499195 -0.398663 -v 0.404206 -0.499291 -0.502639 -v 0.506015 1.500822 -0.502307 -v 0.503802 1.500917 -0.398330 -v 0.399825 1.500803 -0.400544 -v 0.402039 1.500707 -0.504520 +o Cube.001 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.375000 +v 0.375000 -0.500000 -0.375000 +v 0.375000 -0.500000 -0.500000 +v 0.500000 1.500000 -0.500000 +v 0.500000 1.500000 -0.375000 +v 0.375000 1.500000 -0.375000 +v 0.375000 1.500000 -0.500000 vt 0.026316 1.000000 vt 0.026316 0.968750 vt 0.000000 0.968750 @@ -22,27 +21,35 @@ vt 0.842105 -0.000000 vt 0.815789 1.000000 vt 0.815789 0.000000 vt 0.026316 0.000000 +vt 0.026316 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 -vn 0.564300 0.578500 0.588900 -vn 0.565500 -0.576200 0.590000 -usemtl Material +vt 0.815789 0.000000 +vt 0.842105 0.000000 +vt 0.842105 1.000000 +vt 0.815789 1.000000 +vt 0.000000 1.000000 +vt 0.026316 1.000000 +vt 0.026316 0.000000 +vt 0.000000 0.000000 +vn 0.5773 0.5773 0.5773 +vn 0.5773 -0.5773 0.5773 s 1 f 1/1/1 4/2/1 3/3/1 2/4/1 f 5/5/2 6/6/2 7/7/2 8/8/2 f 1/9/1 5/5/2 6/10/2 2/11/1 -f 2/12/1 6/1/2 7/13/2 3/14/1 -f 3/11/1 4/9/1 8/5/2 7/10/2 -f 5/13/2 8/1/2 4/12/1 1/14/1 +f 2/12/1 6/13/2 7/14/2 3/15/1 +f 3/16/1 4/17/1 8/18/2 7/19/2 +f 5/20/2 8/21/2 4/22/1 1/23/1 o Cube.000 -v -0.400726 -0.499178 -1.397053 -v -0.402675 -0.499149 -1.293071 -v -0.506657 -0.499187 -1.295020 -v -0.504708 -0.499215 -1.399002 -v -0.401433 1.500822 -1.397618 -v -0.403382 1.500850 -1.293636 -v -0.507363 1.500813 -1.295585 -v -0.505415 1.500784 -1.399567 +v -0.375000 -0.500000 -1.375000 +v -0.375000 -0.500000 -1.250000 +v -0.500000 -0.500000 -1.250000 +v -0.500000 -0.500000 -1.375000 +v -0.375000 1.500000 -1.375000 +v -0.375000 1.500000 -1.250000 +v -0.500000 1.500000 -1.250000 +v -0.500000 1.500000 -1.375000 vt 0.026316 1.000000 vt 0.026316 0.968750 vt 0.000000 0.968750 @@ -55,28 +62,35 @@ vt 0.842105 -0.000000 vt 0.815789 1.000000 vt 0.815789 0.000000 vt 0.026316 0.000000 +vt 0.026316 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 -vn 0.566200 0.577700 0.587900 -vn 0.566600 -0.577000 0.588200 -usemtl Material +vt 0.815789 0.000000 +vt 0.842105 0.000000 +vt 0.842105 1.000000 +vt 0.815789 1.000000 +vt 0.000000 1.000000 +vt 0.026316 1.000000 +vt 0.026316 0.000000 +vt 0.000000 0.000000 +vn 0.5773 0.5773 0.5773 +vn 0.5773 -0.5773 0.5773 s 1 -f 9/15/3 12/16/3 11/17/3 10/18/3 -f 13/19/4 14/20/4 15/21/4 16/22/4 -f 9/23/3 13/19/4 14/24/4 10/25/3 -f 10/26/3 14/15/4 15/27/4 11/28/3 -f 11/25/3 12/23/3 16/19/4 15/24/4 -f 13/27/4 16/15/4 12/26/3 9/28/3 +f 9/24/3 12/25/3 11/26/3 10/27/3 +f 13/28/4 14/29/4 15/30/4 16/31/4 +f 9/32/3 13/28/4 14/33/4 10/34/3 +f 10/35/3 14/36/4 15/37/4 11/38/3 +f 11/39/3 12/40/3 16/41/4 15/42/4 +f 13/43/4 16/44/4 12/45/3 9/46/3 o Plane.001 -v 0.404579 1.500818 -0.502931 -v 0.404580 -0.499182 -0.502931 -v -0.407513 1.500817 -1.302998 -v -0.407512 -0.499183 -1.302998 +v 0.375000 1.500000 -0.500000 +v 0.375000 -0.500000 -0.500000 +v -0.375000 1.500000 -1.250000 +v -0.375000 -0.500000 -1.250000 vt 0.421053 1.000000 vt -0.000000 1.000000 vt 0.000000 0.000000 vt 0.421053 0.000000 -vn -0.701800 -0.000000 0.712400 -usemtl glass +vn -0.7071 -0.0000 0.7071 s off -f 17/29/5 19/30/5 20/31/5 18/32/5 +f 17/47/5 19/48/5 20/49/5 18/50/5 diff --git a/angledwalls/models/adoors_Rdoor.obj b/angledwalls/models/adoors_Rdoor.obj index cc03b81..383c2db 100644 --- a/angledwalls/models/adoors_Rdoor.obj +++ b/angledwalls/models/adoors_Rdoor.obj @@ -1,28 +1,67 @@ -# Blender v2.76 (sub 0) OBJ File: 'angled_Rdoor.blend' +# Blender v2.79 (sub 0) OBJ File: 'adoors_Rdoor.blend' # www.blender.org -mtllib angled_Rdoor.mtl +o Cube.001_Cube.002 +v 0.375000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 -0.375000 +v 0.375000 -0.500000 -0.375000 +v 0.375000 1.500000 -0.500000 +v 0.500000 1.500000 -0.500000 +v 0.500000 1.500000 -0.375000 +v 0.375000 1.500000 -0.375000 +vt 0.026316 1.000000 +vt 0.026316 0.968750 +vt 0.000000 0.968750 +vt 0.000100 0.999900 +vt 0.842105 1.000000 +vt 0.813143 0.999900 +vt 0.815789 0.968750 +vt 0.842105 0.968750 +vt 0.842105 -0.000000 +vt 0.815789 1.000000 +vt 0.815789 0.000000 +vt 0.026316 0.000000 +vt 0.026316 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.815789 0.000000 +vt 0.842105 0.000000 +vt 0.842105 1.000000 +vt 0.815789 1.000000 +vt 0.000000 1.000000 +vt 0.026316 1.000000 +vt 0.026316 0.000000 +vt 0.000000 0.000000 +vn 0.5773 0.5773 -0.5773 +vn 0.5773 -0.5773 -0.5773 +s 1 +f 1/1/1 4/2/1 3/3/1 2/4/1 +f 5/5/2 6/6/2 7/7/2 8/8/2 +f 1/9/1 5/5/2 6/10/2 2/11/1 +f 2/12/1 6/13/2 7/14/2 3/15/1 +f 3/16/1 4/17/1 8/18/2 7/19/2 +f 5/20/2 8/21/2 4/22/1 1/23/1 o Plane -v -0.409074 1.501070 0.401496 -v -0.409074 -0.498930 0.401496 -v 0.397028 1.501070 -0.404606 -v 0.397028 -0.498930 -0.404606 +v -0.375000 1.500000 0.375000 +v -0.375000 -0.500000 0.375000 +v 0.375000 1.500000 -0.375000 +v 0.375000 -0.500000 -0.375000 vt 0.421053 1.000000 vt -0.000000 1.000000 vt 0.000000 0.000000 vt 0.421053 0.000000 -vn -0.707100 0.000000 -0.707100 -usemtl glass +vn -0.7071 0.0000 -0.7071 s off -f 1/1/1 3/2/1 4/3/1 2/4/1 +f 9/24/3 11/25/3 12/26/3 10/27/3 o Cube.002_Cube.001 -v -0.503075 -0.498926 0.394008 -v -0.399111 -0.498897 0.396733 -v -0.401835 -0.498934 0.500697 -v -0.505799 -0.498963 0.497973 -v -0.503647 1.501074 0.394711 -v -0.399682 1.501103 0.397435 -v -0.402407 1.501066 0.501399 -v -0.506371 1.501037 0.498675 +v -0.500000 -0.500000 0.375000 +v -0.375000 -0.500000 0.375000 +v -0.375000 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 1.500000 0.375000 +v -0.375000 1.500000 0.375000 +v -0.375000 1.500000 0.500000 +v -0.500000 1.500000 0.500000 vt 0.026316 1.000000 vt 0.026316 0.968750 vt 0.000000 0.968750 @@ -35,48 +74,23 @@ vt 0.842105 -0.000000 vt 0.815789 1.000000 vt 0.815789 0.000000 vt 0.026316 0.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vn 0.592100 0.577700 -0.561800 -vn 0.592400 -0.577000 -0.562200 -usemtl Material -s 1 -f 5/5/2 8/6/2 7/7/2 6/8/2 -f 9/9/3 10/10/3 11/11/3 12/12/3 -f 5/13/2 9/9/3 10/14/3 6/15/2 -f 6/16/2 10/5/3 11/17/3 7/18/2 -f 7/15/2 8/13/2 12/9/3 11/14/3 -f 9/17/3 12/5/3 8/16/2 5/18/2 -o Cube.001 -v 0.400306 -0.498923 -0.508187 -v 0.504263 -0.498828 -0.505199 -v 0.501274 -0.498942 -0.401242 -v 0.397317 -0.499038 -0.404231 -v 0.398407 1.501075 -0.506035 -v 0.502365 1.501170 -0.503046 -v 0.499376 1.501056 -0.399089 -v 0.395419 1.500960 -0.402078 vt 0.026316 1.000000 -vt 0.026316 0.968750 -vt 0.000000 0.968750 -vt 0.000100 0.999900 -vt 0.842105 1.000000 -vt 0.813143 0.999900 -vt 0.815789 0.968750 -vt 0.842105 0.968750 -vt 0.842105 -0.000000 -vt 0.815789 1.000000 -vt 0.815789 0.000000 -vt 0.026316 0.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 -vn 0.593100 0.578500 -0.559900 -vn 0.594200 -0.576200 -0.561100 -usemtl Material +vt 0.815789 0.000000 +vt 0.842105 0.000000 +vt 0.842105 1.000000 +vt 0.815789 1.000000 +vt 0.000000 1.000000 +vt 0.026316 1.000000 +vt 0.026316 0.000000 +vt 0.000000 0.000000 +vn 0.5773 0.5773 -0.5773 +vn 0.5773 -0.5773 -0.5773 s 1 -f 13/19/4 16/20/4 15/21/4 14/22/4 -f 17/23/5 18/24/5 19/25/5 20/26/5 -f 13/27/4 17/23/5 18/28/5 14/29/4 -f 14/30/4 18/19/5 19/31/5 15/32/4 -f 15/29/4 16/27/4 20/23/5 19/28/5 -f 17/31/5 20/19/5 16/30/4 13/32/4 +f 13/28/4 16/29/4 15/30/4 14/31/4 +f 17/32/5 18/33/5 19/34/5 20/35/5 +f 13/36/4 17/32/5 18/37/5 14/38/4 +f 14/39/4 18/40/5 19/41/5 15/42/4 +f 15/43/4 16/44/4 20/45/5 19/46/5 +f 17/47/5 20/48/5 16/49/4 13/50/4 diff --git a/angledwalls/models/adoors_Rdoor_open.obj b/angledwalls/models/adoors_Rdoor_open.obj index 147a728..45c09b2 100644 --- a/angledwalls/models/adoors_Rdoor_open.obj +++ b/angledwalls/models/adoors_Rdoor_open.obj @@ -1,15 +1,14 @@ -# Blender v2.76 (sub 0) OBJ File: 'angled_Rdoor.blend' +# Blender v2.79 (sub 0) OBJ File: 'adoors_Rdoor_open.blend' # www.blender.org -mtllib angled_Rdoor_open.mtl -o Cube.003_Cube.000 -v -1.382111 -0.507440 -0.387847 -v -1.375507 -0.510378 -0.491596 -v -1.271718 -0.510468 -0.484987 -v -1.278321 -0.507529 -0.381238 -v -1.376806 1.491761 -0.444137 -v -1.370202 1.488822 -0.547885 -v -1.266413 1.488733 -0.541276 -v -1.273016 1.491672 -0.437528 +o Cube.002 +v -1.375000 -0.500000 -0.375000 +v -1.375000 -0.500000 -0.500000 +v -1.250000 -0.500000 -0.500000 +v -1.250000 -0.500000 -0.375000 +v -1.375000 1.500000 -0.375000 +v -1.375000 1.500000 -0.500000 +v -1.250000 1.500000 -0.500000 +v -1.250000 1.500000 -0.375000 vt 0.026316 1.000000 vt 0.026316 0.968750 vt 0.000000 0.968750 @@ -22,27 +21,35 @@ vt 0.842105 -0.000000 vt 0.815789 1.000000 vt 0.815789 0.000000 vt 0.026316 0.000000 +vt 0.026316 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 -vn -0.538000 0.561300 -0.628900 -vn -0.541000 -0.592900 -0.596400 -usemtl Material +vt 0.815789 0.000000 +vt 0.842105 0.000000 +vt 0.842105 1.000000 +vt 0.815789 1.000000 +vt 0.000000 1.000000 +vt 0.026316 1.000000 +vt 0.026316 0.000000 +vt 0.000000 0.000000 +vn -0.5773 0.5773 -0.5773 +vn -0.5773 -0.5773 -0.5773 s 1 f 1/1/1 4/2/1 3/3/1 2/4/1 f 5/5/2 6/6/2 7/7/2 8/8/2 f 1/9/1 5/5/2 6/10/2 2/11/1 -f 2/12/1 6/1/2 7/13/2 3/14/1 -f 3/11/1 4/9/1 8/5/2 7/10/2 -f 5/13/2 8/1/2 4/12/1 1/14/1 +f 2/12/1 6/13/2 7/14/2 3/15/1 +f 3/16/1 4/17/1 8/18/2 7/19/2 +f 5/20/2 8/21/2 4/22/1 1/23/1 o Cube.000 -v -0.511889 -0.481628 0.546017 -v -0.505550 -0.484634 0.442254 -v -0.401744 -0.484653 0.448596 -v -0.408083 -0.481648 0.552359 -v -0.507987 1.517536 0.488352 -v -0.501648 1.514531 0.384588 -v -0.397842 1.514511 0.390931 -v -0.404181 1.517517 0.494694 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 0.375000 +v -0.375000 -0.500000 0.375000 +v -0.375000 -0.500000 0.500000 +v -0.500000 1.500000 0.500000 +v -0.500000 1.500000 0.375000 +v -0.375000 1.500000 0.375000 +v -0.375000 1.500000 0.500000 vt 0.026316 1.000000 vt 0.026316 0.968750 vt 0.000000 0.968750 @@ -55,28 +62,35 @@ vt 0.842105 -0.000000 vt 0.815789 1.000000 vt 0.815789 0.000000 vt 0.026316 0.000000 +vt 0.026316 1.000000 vt 0.000000 1.000000 vt 0.000000 0.000000 -vn -0.539900 0.560500 -0.627900 -vn -0.542200 -0.593700 -0.594600 -usemtl Material +vt 0.815789 0.000000 +vt 0.842105 0.000000 +vt 0.842105 1.000000 +vt 0.815789 1.000000 +vt 0.000000 1.000000 +vt 0.026316 1.000000 +vt 0.026316 0.000000 +vt 0.000000 0.000000 +vn -0.5773 0.5773 -0.5773 +vn -0.5773 -0.5773 -0.5773 s 1 -f 9/15/3 12/16/3 11/17/3 10/18/3 -f 13/19/4 14/20/4 15/21/4 16/22/4 -f 9/23/3 13/19/4 14/24/4 10/25/3 -f 10/26/3 14/15/4 15/27/4 11/28/3 -f 11/25/3 12/23/3 16/19/4 15/24/4 -f 13/27/4 16/15/4 12/26/3 9/28/3 +f 9/24/3 12/25/3 11/26/3 10/27/3 +f 13/28/4 14/29/4 15/30/4 16/31/4 +f 9/32/3 13/28/4 14/33/4 10/34/3 +f 10/35/3 14/36/4 15/37/4 11/38/3 +f 11/39/3 12/40/3 16/41/4 15/42/4 +f 13/43/4 16/44/4 12/45/3 9/46/3 o Plane.001 -v -0.497916 1.514770 0.394113 -v -0.501136 -0.484379 0.452374 -v -1.275487 1.491736 -0.439227 -v -1.278707 -0.507413 -0.380966 +v -0.500000 1.500000 0.375000 +v -0.500000 -0.500000 0.375000 +v -1.250000 1.500000 -0.375000 +v -1.250000 -0.500000 -0.375000 vt 0.421053 1.000000 vt -0.000000 1.000000 vt 0.000000 0.000000 vt 0.421053 0.000000 -vn -0.731300 0.021000 0.681800 -usemtl glass +vn -0.7071 -0.0000 0.7071 s off -f 17/29/5 19/30/5 20/31/5 18/32/5 +f 17/47/5 19/48/5 20/49/5 18/50/5 diff --git a/angledwalls/models/angled_wall.obj b/angledwalls/models/angled_wall.obj index 9af31fa..e169a66 100755 --- a/angledwalls/models/angled_wall.obj +++ b/angledwalls/models/angled_wall.obj @@ -1,64 +1,69 @@ -# Blender v2.77 (sub 0) OBJ File: 'angled_wall.blend' +# Blender v2.79 (sub 0) OBJ File: '' # www.blender.org +mtllib angled_wall.mtl o Cube -v 0.500000 -0.500000 -0.500000 -v 0.000000 -0.500000 0.500000 -v -0.500000 -0.500000 0.500000 -v 0.000000 -0.500000 -0.500000 -v 0.500000 0.500000 -0.500000 -v -0.000000 0.500000 0.500000 -v -0.500000 0.500000 0.500000 -v -0.000000 0.500000 -0.500000 -v -0.500000 -0.500000 -0.000000 -v -0.500000 0.500000 -0.000000 -v 0.500000 -0.500000 0.000000 -v 0.500000 0.500000 0.000000 -vt 0.5000 1.0000 -vt 0.5000 0.0000 -vt 1.0000 0.0000 -vt 1.0000 1.0000 -vt 1.0000 0.0000 -vt 1.0000 1.0000 -vt 0.5000 1.0000 -vt 0.5000 0.0000 -vt 1.0000 0.0000 -vt 1.0000 1.0000 -vt 0.5000 1.0000 -vt 0.5000 0.0000 -vt 0.5000 0.0000 -vt 0.5000 1.0000 -vt -0.0000 1.0000 -vt -0.0000 0.0000 -vt 1.0000 0.0000 -vt 1.0000 1.0000 -vt -0.0000 1.0000 -vt 0.0000 0.0000 -vt 0.5000 0.0000 -vt -0.0000 0.5000 -vt -0.0000 0.0000 -vt 1.0000 0.5000 -vt 0.0000 0.5000 -vt 0.5000 1.0000 -vt 0.0000 1.0000 -vt 1.0000 0.5000 -vn -0.7071 -0.0000 -0.7071 -vn -1.0000 -0.0000 0.0000 +v 0.000000 0.499800 -0.499800 +v 0.000000 -0.499800 -0.499800 +v -0.499800 -0.499800 -0.000000 +v -0.499800 0.499800 0.000000 +v -0.499800 -0.499800 0.499800 +v -0.499800 0.499800 0.499800 +v 0.499800 -0.499800 -0.499800 +v 0.499800 0.499800 -0.499800 +v 0.499800 0.499800 0.000000 +v 0.499800 -0.499800 -0.000000 +v 0.000000 -0.499800 0.499800 +v 0.000000 0.499800 0.499800 +vt 0.250000 1.000000 +vt 0.250000 0.000000 +vt 0.750000 0.000000 +vt 0.750000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.750000 1.000000 +vt 0.750000 0.000000 +vt 0.250000 0.000000 +vt 0.250000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt -0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt -0.000000 0.500000 +vt -0.000000 0.000000 +vt 0.500000 1.000000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 0.500000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.500000 +vt 0.500000 0.000000 +vn -0.7071 0.0000 -0.7071 +vn -0.2971 -0.6303 -0.7173 +vn -0.7173 -0.6303 -0.2971 +vn -0.5774 -0.5774 0.5774 +vn -1.0000 0.0000 0.0000 +vn 0.5774 -0.5774 -0.5774 vn 1.0000 -0.0000 0.0000 -vn -0.0000 -0.0000 1.0000 +vn 0.7173 -0.6303 0.2971 +vn 0.2971 -0.6303 0.7173 +vn 0.0000 -0.0000 1.0000 vn 0.7071 -0.0000 0.7071 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -s off -f 8/1/1 4/2/1 9/3/1 10/4/1 -f 3/5/2 7/6/2 10/7/2 9/8/2 -f 1/9/3 5/10/3 12/11/3 11/12/3 -f 2/13/4 6/14/4 7/15/4 3/16/4 -f 6/14/5 2/13/5 11/17/5 12/18/5 -f 5/19/6 1/20/6 4/2/6 8/1/6 -f 8/21/7 12/22/7 5/23/7 -f 7/6/7 6/14/7 10/24/7 -f 8/21/7 10/24/7 6/14/7 12/22/7 -f 11/25/8 4/26/8 1/27/8 -f 3/5/8 9/28/8 2/13/8 -f 4/26/8 11/25/8 2/13/8 9/28/8 +usemtl None.001 +s 1 +f 1/1/1 2/2/2 3/3/3 4/4/1 +f 5/5/4 6/6/5 4/4/5 3/3/3 +f 7/7/6 8/8/7 9/9/7 10/10/8 +f 11/11/9 12/12/10 6/13/10 5/14/4 +f 12/12/11 11/11/9 10/10/8 9/9/11 +f 8/15/12 7/16/6 2/2/2 1/1/12 +f 1/17/13 9/18/13 8/19/13 +f 6/6/13 12/20/13 4/21/13 +f 1/17/13 4/21/13 12/20/13 9/18/13 +f 10/22/8 2/23/2 7/24/6 +f 5/5/4 3/25/3 11/26/9 +f 2/23/2 10/22/8 11/26/9 3/25/3 diff --git a/angledwalls/models/angledwalls_corner.obj b/angledwalls/models/angledwalls_corner.obj index ffaea6f..0e5e459 100644 --- a/angledwalls/models/angledwalls_corner.obj +++ b/angledwalls/models/angledwalls_corner.obj @@ -1,56 +1,62 @@ -# Blender v2.77 (sub 0) OBJ File: 'angledwalls_corner.blend' +# Blender v2.79 (sub 0) OBJ File: '' # www.blender.org +mtllib angledwalls_corner.mtl o Cube -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.000000 -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.000000 -v 0.000000 -0.500000 -0.500000 -v 0.000000 0.500000 -0.500000 -vt 0.5000 1.0000 -vt 0.5000 0.0000 -vt 1.0000 0.0000 -vt 1.0000 1.0000 -vt 1.0000 0.0000 -vt 1.0000 1.0000 -vt 0.5000 1.0000 -vt 0.5000 0.0000 -vt 1.0000 0.0000 -vt 1.0000 1.0000 -vt 0.0000 1.0000 -vt 0.0000 0.0000 -vt 1.0000 0.0000 -vt 1.0000 1.0000 -vt 0.0000 1.0000 -vt 0.0000 0.0000 -vt 0.0000 1.0000 -vt 0.0000 0.0000 -vt 0.0000 0.0000 -vt 0.5000 0.0000 -vt 1.0000 0.5000 -vt 1.0000 0.5000 -vt 0.5000 1.0000 -vt 0.0000 1.0000 +v 0.000000 0.499800 -0.499800 +v 0.000000 -0.499800 -0.499800 +v -0.499800 -0.499800 -0.000000 +v -0.499800 0.499800 0.000000 +v -0.499800 -0.499800 0.499800 +v -0.499800 0.499800 0.499800 +v 0.499800 -0.499800 -0.499800 +v 0.499800 0.499800 -0.499800 +v 0.499800 0.499800 0.499800 +v 0.499800 -0.499800 0.499800 +vt 0.250000 1.000000 +vt 0.250000 0.000000 +vt 0.750000 0.000000 +vt 0.750000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.312500 0.000000 +vt 0.312500 1.000000 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt 1.000000 0.500000 +vt 1.000000 0.500000 +vt 0.500000 1.000000 +vt 0.000000 1.000000 vn -0.7071 0.0000 -0.7071 -vn -1.0000 -0.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn -0.0000 -0.0000 1.0000 +vn -0.2971 -0.6303 -0.7173 +vn -0.7173 -0.6303 -0.2971 +vn -0.5774 -0.5774 0.5774 +vn -1.0000 0.0000 0.0000 +vn 0.5774 -0.5774 -0.5774 +vn 1.0000 -0.0000 0.0000 +vn 0.5774 -0.5774 0.5774 +vn 0.0000 -0.0000 1.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -s off -f 10/1/1 9/2/1 8/3/1 4/4/1 -f 3/5/2 7/6/2 4/7/2 8/8/2 -f 1/9/3 5/10/3 6/11/3 2/12/3 -f 2/13/4 6/14/4 7/15/4 3/16/4 -f 5/17/5 1/18/5 9/2/5 10/1/5 -f 5/19/6 10/20/6 6/11/6 -f 7/6/6 6/11/6 4/21/6 -f 10/20/6 4/21/6 6/11/6 -f 3/5/7 8/22/7 2/12/7 -f 2/12/7 9/23/7 1/24/7 -f 9/23/7 2/12/7 8/22/7 +usemtl None.000 +s 1 +f 1/1/1 2/2/2 3/3/3 4/4/1 +f 5/5/4 6/6/5 4/4/5 3/3/3 +f 7/7/6 8/8/7 9/9/7 10/10/8 +f 10/11/8 9/12/9 6/13/9 5/14/4 +f 8/15/10 7/16/6 2/17/2 1/18/10 +f 8/19/11 1/20/11 9/9/11 +f 6/6/11 9/9/11 4/21/11 +f 1/20/11 4/21/11 9/9/11 +f 5/5/4 3/22/3 10/10/8 +f 10/10/8 2/23/2 7/24/6 +f 2/23/2 10/10/8 3/22/3 diff --git a/angledwalls/models/blend source files/adoors_Ldoor.blend b/angledwalls/models/blend source files/adoors_Ldoor.blend index 7d52ae4b930437d0022c3253a4cb6ab294e29aa6..c44fee679d79383298ed369635937a242066f19a 100644 GIT binary patch literal 513480 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
?*cWoa4|?#g6@JJ?y{12bAN1hgF8q*-dc*iZ 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∾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

aEjzdY|U%jq!P3 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 z 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

2T6 zAqL@N5;hiQY_7u~4%cx>Zz5^L!;Ft#0!Zk0TP5N;F;u1uk`Oj2B!lGmr+}1@3Q|KF zNDJv8z27~Rfp8filix&@*-xH9imNPs*Hu>BvO#vpf$W@q_l+{n<+p_O#lZdD0i4YNAbz+Mw%t*aK-wV@9B*2OJ5ZuPjX4-KFpG=j#^1plU(&HNs) z`s}-p`1YO5{hQ|aw}6(=3R*)OXbZBJA^RAzpV5x%_Rs-3LMP}9UC4V^kb8eO%-BkuVBI<2DAy!Z;X@+XR>hlVCD#Q(!7g zgXu5>X2LA|XTuzr3-e$;NI5RRf1y$CzwbNA{7A-8*aQ%+IW9E7#j#JM4g+unTs>9@q=}U_Tr{mxFK!`(gM4in22w6*)4`78yt2C>(?1 zZ~{(J2B$Dj!x@lukh7TQ;5=M_i*N}pLs8?5(KE(G)E)EyhqC7|5#c5pC~{7r^?^oT$3=zIp*+O+aVG-!0B(^m-3)nfIsV3-~u-U;TKu_ zAq1j8DE%%f@j|gjgXk~@w`S-X1A9#TVnJ-|VGsvnE>4rLL&SV zgUkh!;FlC+9889p98y3^NCm0=LsS|_>mRJr`MXql+%iB$^vwjBAq!+hUN+3^kOOi; zF2d!8JdhXiL4GKJUqL8@y)byN7lESaRt!1CaVr7wWWJ4iDJYF!87K?opgiF!5T+tj zg31t1xGGQ;s&QQ%YGAL4Sqo|trw(Ras0a0-0sajkTqRMB@NbO03G$ozzg5k+ZcdmM zAZN$+QARDX@5OB8pI5c^e@|a|Ps4a`wBa`RwS{)j9%K!rgCSc^#^}a+sEng|XO$8MS+|)nvZOm_btF&2#a7b{+(EBU*exp zErn%pn|bqc;;!)jll0C0bc;T}lJIeO-jsVtpyelHoGEV=?yF%9;n$+a65_6dTEw<+zvZnCwK_E%U{zpQ-AKpzw#k-Njv>? zw|{-L$4J+rS-kq1I$9Z$EZSbfk9!gFWq!I3xmPqlWQqP}yZY;%ZeF$D-(U0Nv=svz zX-l~?Cnr8@bDEqxm9?&eh8$TpWuA`xupythI`$*jk76FfJdSw+PGUcWd764U183nJ zoX70~eitz>!DYAtSK*q!UAyidNt08%HwY{G-o(5Gw?X!L?-1@T+=Kh@03O04e}@rI z`psj)KEdrNJcH-(0=Jj&3j1q#18?D-zf%k6^x1oVUHd>iWwUD9N8CTbXZS*0e}(nL z{RZFR2mFcOPuwXQIl?B#DHKgfmUU#Rt^93P&1Un{>^7H*Wc#5Uwx7yrW2}cj4p_Lr zO}HS4j6E3l5QqX%ArzuPbcg{lAr{0YY#4FkKwO9i@ontEU?zk_kQkCcQb-2LAqAv_ zRFE3dASW%PgY=LAw~UYpGD8-~3fUk#lC=Ml{B$NVkpD&QujP1xT17(pH%!w{>D@Pb<$K^3|af(me zDv(A+s05X5shP+7=DadiJW%1dRiWIg+8(NEludQQ)qt8%3u+@v<|cJ8>l$g9XT$A$44Oj=XlV=9T4A=fg=lS%*A`?w zsU6|l+holBtUA~NwT?DflW}RCY*Dn%HhJ!Ms4h0&{3DC%YKy9Mv&pr%9w12lHx|RaJUikHfKF}BXL4Ozk17Q#h zwv|>xY|*u$wiwzlTTE>@`50k~rH!=3)<)q!8peQ}OB;(h4#vY-QW1+lZE&#BK%@ZU)oEM zyVQ_vRm%vo9REo$gE4cuf0$Zf3sEa6?^U)?Z8b875_S#Y%z9?cg0SmgJ!}9es|s}5 zf#hQ&>1=|{Ao;3+{}$K^+mN#zcEC>9h1+h@*#moFA8z~M97DkY%&C;aL0fWlh;lq^ zE5>_UQs=BC;dd00Gj1Fso#Su#3tJ82sbb@nm9xf36 zB3y#Ya0RY{Q83F}fnNrOdwWTeuf{cAXB{}R^M-_0`B?7X=G zyiR23Y{i^`9)6hq;4#*HQ)@Q6*%s~gG~CnvJE?3uvB>1YRV7c=HHneFB?cow^ZIZY(?{J6)VYc|Mk&rZ9SlhoM>%Q*quYLaFS zbj*pYT#(zILks4lHLiaPlTFKme_qH(y!@n7z@D2k2TB#htq{5vhFXko9?cdB-TZEw#ZzcZ2Ts{Dl2`If>5sv>wQn^EI`IQxsV}?FG0i6`({4PGHsOoE%_l3+hFJpE;^p!O~-~Cw1zAWvfzg^@PPy>)VkTeECJk}Ei zqtg(Gh89EdOU`rjFneKbxKWRu|HzA^Z>CwFIg8o9i;$NhNGW2p!x6}rbAZ(-n~~Uq zIJNKk&%AIRgD~R>w8GYB`6^3ln!JQqs)l>22_#;|Jk zlIT^EJeMTToOvYNY?uRcVV=Dd^MCVtKGzG-bs_A=Z4uXtVF@gSWpIsgbvbFSu$QJ! z^Ab0R+z{SwSc$Avuo~77W-Z~@!Ft#L8(|Y{hAprawt!(cd!fRQi?M#C5w3*%rsOn`|n2`0l7mg|G+~N2+A>%_Z3F5E#iEqdmO&6dfpKV?1f&UqM?MsiL+Fmct5I z39Dc=tbw(#4%Wj4*a(|oGi-sau#NP#M`DivJiJ*&k0*_ABaNMrWG%f4`c%QKis7~k zoy<9QRorF#HOJYrJoD_PZW`;=7=PG{#l9Ez!G1UZ2fcaes8!c`6E7(w^U63x`iGJI z2ONQ;a14&a2{;L-;53{e>{(=;gY$3!F2W_ajNcWw3fH*44mYshgj;YM?!a9b#rSp) zz3yXwfZT_`nvHryoX7Bl>!*>}M}_C`0$#!^cnxpxe@nP`@E$(ENB9Jv;R}3?R8{+i z`5k`1pYRiS0Y+({gT=uKXz+8eZ_2d|><|eY;Di7O1Q)ou83aLO2!;?y&e~BFWJEg=}HKZX-T1baIJz+CIM#u!2Aq!-6RMWCyW+z?_M-AGt%*B`kJ6tLkL&V&G=YyEt)5IAUuh9ZprsQImOaP1?b6ub72Bd)x z;p>Cw&;YX`G=j$XHNk8O%^dQcenYLfqY?eD5%C)t@>-Cd>?@_v8uR?s8284w*VN3s z)zn&&$5xbkYe%rkN*ylbnWqhLe9!f5u@?l|LRoAy3{r;eAc)QceY+I~0K)&=WkoO)2U0g5J;v`a(aD zH2YJh1JGw6*w?O9> z=q&Glx8z!$`K)RzVaGXIG47eqA>+B0XO0Pu*32q7Pr&sgM;pqT`6q3B3QWb#Y$t7v zdD%452(pV@)}_!#_QGah&V*U`&4%5))foufwa~%*=E5B0%!PT5mfC#6Omno=@>*MI z3rKq*X)bce``zuetiYX)cuuvLGKhih<{pN*KP&ID1~K1Vf~=(xGFi{U9!k!ZW3E8& zm9Pp{qt_Z(i~BlQ?`WrOaL5?~b8lgzL+01=Y%lM)vxY^S&5rik7T5~gsFUrE4%!ZM z*@>U**Y3jH4SR6gi_Cqn9}eJl5K~UK$b0It_bU6N``HVA$a#tq){c~|%m6!*KbJa$ z{KJI*!x2P1yVMaQEtfiq`!UMsIGli!ggFJL;S8L0gs5{4*>Pk&i!@~q>;ieb=;+Ki zz@7kZm*EOrCHytG?&xCNt8UyEk8pqN=wY;pC-^_*`WZY2c`kW@-g57}M&BF5EnqjRpOJvsiP0uxuU-75 zZeJ4r6?uN`NUObZ^rF4?)O1T5?Jct2IeL?xT<2Bq9esYY_w|PJy;Ix|xe~5_g!>2L zdwAnl(v>r=AGwyZo}Vy3gFMZC!Td`4LA*ikuX3wzj@;@y{D426{`6X{J$~o51)jWqS?&FZl zem?Qjc=P1pZE&U~Mx3;`rGw)1OL<-o=Phxc?sDe71NANC5Z5vhxe`a}nfZlt5*o_2 zgz@FUlp$|kr*}>^@{<9bGLm=M&rW2Sf{ZYg3AfCU#W|H{@u`%+)QCFE>eVqDW_HK{ z=6<%MCFfkHX*r$dw`*k2_8ILV7hycS!H!5HPqHVN8#hyL&LNO~UdRXep#T(g&M@k( zkaH$_%6b>i@60!4qzWbtfsvmu)3n0K@~wS(u!~NjXAzKjX*|XZQ@2^@HdQN%yL^49 z80i#u&Nk{p-Zzl_-gLZG@8+u>B?x26^z|iE_ma4mg3=)0NGXF^7G%6GN4qHRoNJ7Y z6|h%?N>CZXp$b%mYR-Aa+KA-8Iyy*wh@Lg@Gw%s~~M6T!{XFufI0kxd-Sw~`h zm9}8&Ci;e}+7ztRa~h34#U)FWZjGt;CeFo-<7VATn=;3tUu9>u6{!=+ z*AmJ~(lXzpYKn|z&;p$$TwL0BIA1W3uSkgw(*C8)q%TMrG^gxjoN7Uwme2}XQxq~1Ev59N7;H5uc* zd-f`wG1N$>%!$ml+!0geIKKXng|;a7e-C5DY#8M<_ijf!H&RX;Np~aZifpGELwd3{ z>$Vi<9FFA=wu(4aZRojKT%&&H1?m@ry$lHsZ-AkjL?!&$x4!}WVAA-a12go`4BbZ0w z7#t_e2{;L-;Iwm_mW8i>C@{-h&f80yF#FpX;>ddiXQ_j8a31f2xzirwR(tb+4Jae9+d|0z^R#Y#@hx8{I7hjTZ*BDve8t{@`j+58arY57OhqAVIr?i3yd|Hyc8knvICGp=Yn|v8Z@+M>KG3??mGLL(8cHpseIsSe_Zo`>@27d639G8KHyBB~lylPyNMB=D6i7 zr@i?#pN-}tFAeFM?--ql&`t82ma<5Pj_KjAWhQdYYH}}(LY-Zv56Jy21K~14Cddp~ zAS+~p?2yA-2QrqL`8;RLWu@#Ty$bqy+T^ctlrbcyk&g@9!+hn(TopOFanA#Jk(&?l zLjfoVg`hBapa>L&Vo)4P1YGo{A$gGZ?{rnt(CZR?=I`IAX0 zFy`Ej{dMe31MX|h@T<$br#X7G2;fW_?yaCTWopiS_@*TGwgLCFb^#Bx_5pXb4gn9f z^n7)S6?M{isC6{bdE}L4j;&G-l9sgdIXrjD^HnG0%KpE|k4s+LGah@mH*`i`BJKly z*{g4iy$gBoiaw@J=64Hkd7jC-g$E-ss;4d3~WDZv9~Z_JJ^n{0t5VQA1!T z48v_Wj38b(U&|U9P!RpCJWoEM{tIgId@SEg_3#BPKfa_j3fZFxKL*AcbNp1J7Fn%iXZH-+#r7oUnb%^SBj z=}ZS%HKJ3;3Iv_{QjQ2#}JpXc`aqRj=XsI%9ua#3(|XKElSp<)+2j^k(bZ-ebP1t ze9|_-X4rz?R@fHsg*q|!{kL6?^yL=Px5OF_ISBKI4kAOe9?{lUZ z|D%wF`JSwM9K&uUelE)MIN?2fMNQT)PvCwMIk^~nDL-A_`#pu5tl_$phW7HTBJY*> z-g(n?S!+2R@JgK_J>Pq9XN_``FR`&-hP?A!7bV;itAt}d3#)XiF1lSr{w25!@~x;V zm{;K%@vg&-06*Q1oSWEh!ELyM|6RBT_u)Z+KRr33OtG_%2M+`6Iz_@b6GMNSnfgIjrq@BJDaPoC6^L-q7&X;n_3nHtTxMRL1 z?i+XucaiZ9^F2hf2B806*E}DR&ky+7XloxSn;^bMC+k?B(CIUL0nW4-@xBsH-bMe0 z`JHrrVE)<@a8v&5?-Bkd?i|Ke8t7mN3^K~01bTMki+0kk9?>oyJLIc&1(h|hkn#%* z(f#J=k!M6>%M6T*r>Mj>2`+z_5sG*>mvl9ZnkygwlV_6{=o*W7YiaK?55CJ-8%7U|gOG$;9u<>#u^^nU z_?dDO7-sCigtRAS3dD~CaS0O-Gd?7Mgj^?r#E=A%LbAX_Mt#KQg@ELNiP4*NPVB`n z-IgSj6>Gj+rv#brr^1x)5u^@GO8NTM?$8UrG~ySS3>nM=ksTLd=>z43uJ|C#K{ghASc(kAa`J1 zdWCskp%tk-q@Oo1MCF70$SXjYf=~zwgC{T#&q`L~d8`Q6MWGlJhZ0Z{WE_xLgt7!ofw@(aKv`eOshS3+)tiwi``=-c6Bo<^7aSTz4i+7w8Jzkl!78Ku_p}e{bjmeL>2wAL07L02qjy zy!SE)`(PNt^-vfF!(jxBgi$a$FddqtV;D_GJ2Lf1WciN9<~q_C;*SLnU!v40jd8>o zPo7Qx^t!B}Ou&C)UJwJnpj4o&CaqnqOLONQ}LSy z@-2_)m@{BzU}9}nU`Bm*U?%#DtlP-9Zlp|Qe_i@C>rR20=`W^VF6wtKy3K=hmMpl3 zsri9f^{DulV~k&bdoI3~DfhXB$X^7D1G6KQeNF63VHshT!wOhwgwMg)n1iy(fxa@= zrtdRmm~(7XpES;#$jC{UoZc|<{*@U<-k;CK7db=tYUeC#W_=ZTS&hzN&Mf*G(v$ba zB~SAGtF>H<9_xNfU*3~gkDH8N8)#RO?#95}dSu+?o0XdgyAU?R7T5~gU_0!9ov;gb z!ye>FJKT#LSySn#<u!4MZ+z(T}6XE-2gg@6d7i&@=XG$Y+?EohPKp?ol4M7kYf*}N=KvW2YXb>G@ zKul!Cg4nLSDh%S_78l~V=YF@5--d5ZTN& zqchi$eHr=wN?ZCuMs&%9ezHH88B^M=)KeDhSs@!_M+aGh&4HN{axrPkjhP4XLOxdk zJ-^HMO$C=K;L4^KBwisX>?){xT=HGELV6L>DhkD1QDn}LM^BbbAdAKJP(Fc&XxXkwk65rHG)+abMKv@kYts$60T_urO zl6WNznZt-P+(?gSbXO^z?;_(@%J3Ucn2}yTkv9rPlZP=d7UUd8e`Jm`+BD^cJvaJg z2f0^GAk0M9Y34q1UzKNbc^6&El=s1qHQD72o&vupJ-X^lj>T_IW^|^$fhyQ$JEr5kwFM`F$Sc16}mcepZ;VP%EgjKMb>ou;} z+FH_G2kViQ2$`&Ek#DEk;Hsf*giZKuM(!5a3cmAJ+puqkW#n@t&zU>0?}S~j8}>j) z>Os!i?Zv*&RbJoks-PcmRn!lqT-#jdME4I|*`+l6~q^*iXY5I1A@M%J)2GJWS4?>K9z{8%$M@RRvj<^^2~``XyIY z-r}f=TUFd#>N4qGA-{Fe`6_X*dF5P3&l}X!P0Ed4Pxx|PeR$WGI4{|EzfBn4cVYcL zBdTU(t-_~oHN8A%m+lb%u1oYNt=}WgeOE^9flJQ+nYwaz6bML<_3vmClGm`U5%KBHKHgQ z8RZ>9*e`_n3R3qn-sCe@DP8ItZr>^6AIQ&#dtBzAW}cfEbH6_$bZp8zswpy?B2)Hf z8teI~`x4f8{NhRz{U_n%+co(N`8+eyh8bMZjpt+TQ|n$!YmDCK;~@n4ZX71%i&iZDnLc31eI|QhkMK)s&HKudo_?}-RfM|fSMq4 zom!M*ZK%U_UBbw>k?UdB=ehwjghrHSV`u_tS%qv${+hXE?nBQbtjxb!5UwTmR+z0Z z+dx}r2koH)bR>Q!=nP$;D{kGOJM?hNZ?Z5?!MzvshCUF^FH6NV%2B@GE8oS3UcredPnfI6!S~O$rd>m=X zd$|+bJ!toGKKR%9;)&=p$sL8ax_y06)`NM+9Tvf4WNs&o9n``seu-eV@&0ZveTv(u zrXp_|d62PN&JN4@is^1SYg|H;?~zP_8TikHSuoq(Tc6|3t>(f!<{qxw zlh3{AAm3uzhq)j31Gpb_n|m>`Z+^(#pFFYdgWovf2J`C-0l-^B-n9GZf8cinJgPrw zndzGE)Uwvk^$zzyJ-QK>=Wo(EP8ugLPr@lU4QJpioWt)A+S_^T#pqubh<_0-aeW!& zz0jWA>#pE-m9W>~I`(+_AlVErXwOHe&WAIal$Tuy5ckymJqyo`(}|IN|vIAa3S)9|=E#8W6pBw}!m)?GE*k^yECr zC&GF7b&WuNDdV%dpZ*2+U%Cv^zmn%@?g9EY+`kj{2mI+CsyDEW(0{r|>KXXO4BqM@ zP5GwqDDGv&nXJe-<$ETzDmHz%r&2epuSnn5gLqd5tl$U!U<)$G#$x2pjy)3m(x0_} zpzO+toB-SdLB>rNA7^nx5JZMx2!SXN6+$5zM28p<6JkMZ;>&lN{8(2GLuMR^8?=eq z+Nk0M$vDKi06HZA-}#J$L7VwCN1wlpiN$zgGIdUb%wNB+V2=5TaZ3V8Az4sPl^jwa zFC|3bUYZJ1`f+Of(?D8C7sR^)5#tcgP3V~cGJ&4K#^`I=v3EwtU{+!MxHIPTewNXU>muBPS2x@&=9N z`BK7+)$;|(YQT8HjVBy)L1g47jC=!1=2YF-<#GXU@Zm3Y%{oMoOBD<_9JCfmg{mLWh`qNvOZ8AJ=$QefLReLL1hSsDo~VPWnotXBLmj9K^`Jg9fQHZr8bcFk3eBK7w1Ae-3R*)OXbbJ2J#>JM z&a{V7lhLX6Y7)n-a(V8_sPVaOk8<} z(N!Pfbktt3LcqI0gq3HgewgyT=KiEP00vTbgM#F(`6NrH*+WUoWBfXfFD`Qg+=mCv{6~1xUBb^|PW!uj zU!31%&L*!CM$WQ`PQEa6jC`2xKK*=tB6}`A3v2`d;xb^}X^R^3A-7e0Ii-G8TQz_AxGK^*>~c z3tICJ8NN0%E@&-dn$!~`kzIQfgrFU5TsRJ51qk$yfBz3_ Cgwuln delta 83012 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 diff --git a/angledwalls/models/blend source files/adoors_Rdoor.blend b/angledwalls/models/blend source files/adoors_Rdoor.blend index ae16b56b71c1d51fc6fc263396ce6362c8b3608f..9b672739e7baecd64213c47431956648e6d54946 100644 GIT binary patch literal 541760 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

MF@ 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 diff --git a/angledwalls/models/blend source files/adoors_Rdoor_open.blend b/angledwalls/models/blend source files/adoors_Rdoor_open.blend index fb49414a9b8aa73305db53467540fafc9054d78c..ae8787946038eba0b9e45725a41a0dd0d1c047fb 100644 GIT binary patch literal 511152 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
    xJZ&&S^!X4^dmG z)r|-U+RE@?r?Ytk+g^T|SHXa_30#`Vjf>%Y zP@t7Upfr%prMC=pD_E?5o>}*nIdx*R=cQM+!5ct~C-1cT_w7#lbNg zF)+gX-dGU~iPqQ=MH$x=8r@0i^K^Axh{bwOQ=F&|n`Cy=7^0b`CA#`Y?UnLw)G8{C zOk%Dk)iRf>`QwI8R6e4RL}*cK6DVHDVC2#zk}!O(gRK&4>ph-hi6-0#VM<{B`6<-^ zv+=@cQ|+c_+~ika!_SkKdt%}w1^2nT9$+%>#7*nYSv|;Xv=QQm>G_x_%#9t>iXph> zEz!F{)W<%(=?ZX0C00P()^W}1#4m}&c`Wrj?F^!BZTHbN_QogjdEHNkyB`K}<|QqT zST|q5=bh}}5yA*RZ3Sn*JSy^zqw60oQ}QjF*gT0|H}vdYj!9rQKZR%hOp z0(gNvU+8?8IegQ+m5)vo1cR&Rvc+NgbV)qz8bxVN@{N&z^Fp4H+?S9@Nh6;erXEy3 z_U>$unkkCc_G?P6Z2L>sRYinnrlNc8*NzXvHEQ2be!K0`$oJzC!$Rp%O+*93ermM! zJrN$FN{T25JVqd_;&--wN5U;Ia`iJiOsJ`6Q-hgwiM^Az;zJDRN^q@OEnKI0*V9W| zTVxIOzC53xi#Wo#`e{=m*Epf8v&O{2VY1Dy0f%Z+#;vN?6dtNtmrjMXBMN-N0j*1_ zwCI*0jA4Cf=_oP^(;8$@>@|~X8xlbq)`o^LlMC&&GgDhNBFP0!4X_Wbohvv7%j`5= z{?@?2Ap^?161C$tZk>+I!A%8)onk_ehIy=Fyufw3*R@(I48i@TaNv$@pK5ikx~2}| zZ85WL;H3HRY>jNGbr!yk;;D$Cy2^@eZ&V=x4r4nO*0DV>VSW`CR9L;$_zr%sy2Q`6 z+^1{H-CmtMi}jwO;>wYh)~W2wDdHqt%$C12Q5@uSeN>}0&Dc0V4ij;Ioqs^VsQxm3ZGhDjU)2-S4%3A(J3NPFZx7D2rE zj2q9G^x~MKMO>%LwCWmcZV7euY&iv0k{c$n=^pCzJ8il@DOaeg)tR@tsrK;Sy6IvK z>&C+6hPoPCFu9AuSK;2?V+mE;$tf=ft%pK-cM^Vve=@tSRtNZ#Ark5)bQD+`BnFz3 zdQOJ*ZIBS(a+2CS*EP&?L>^PIeCN$xf@m+YcoCw{MB8kxn_^!D598R{v1Y21%*=}1 zfS@hZ()KpF+PkUEqm5M0i|n09ty5R%-r%2ZFLImcS}#Rz-V+PotkUI5MPZb;B8M^B zLMw8qYuA_Hi=3462F)%-u2m|2kxPT5&?~#ta9v7!N7|h&6z#aE*o8Kjm%6BV^zE6V z$fixFZM8-ya;@RI57ytsK}my)c#FbS!@?9f%wWndau^dobXnv$o;|N3hlbACob_!f zuC!`M(F)1QC73&3gHH=)4n;*ZYT~5JJjb(FW&Oe5wPV|PYUY~^nj9-YX8R+ke?(Dt3g&T~y>^^nPWRVD8?!Gfn>4H-VM_a)b~uKXC6k-;=4z6j+$WvMY#j8Mh3(Z4idjY{57c*tB_>*(Q(8H-wRK&sbMnE)a2Iu_#bNxXbB+`3)J8f_ zQvs-PIfLo}@*JtNjTQkUJ!Lc%AWgH-!)LW6sb3W;B=)vPTwr8`OSBxs2Qq!Sp_aw7 z7JANbSZMQCN0>_a>wJ^U2tcsWOq-jwT*5$$iA>n`gc4goi!5*T<@M<({Z3^bOJ8elz_mLNWxg!+ZJd*zRY3h*)X~5PpT{7L>o&euHEi9%Bd9^F z!NQiCllc}i4KBr2Uv21~_H@j|&N)t>xlO%oX*0zx`Bb0a@-1)ZvHlrixe>j-MC`QC z12rH#;(*|MHR%E^wrXdF__|ettt#a(qNd=z5jFmv1u+iaOjWw^%uJJY2YuDV32dxz ztq6>_cm;dM)(id~E5PO&)}IZw5n^tWxX<1U%8yfu)ao9P$pHLQ(hdIAQ8Ahxr4}2; z5{qW~N`j824{w^kQBwVAc}%G%v-q_mFy`i;)2wZ%Lp^n@eP(iuzKA((8mr;dWN#{X zP5S~1G=-gNBbtSd)BQV>zIcuSi!89ho+V#W#)6F3jxrr!eyjv7fT2?Q&Yx0RcgD`(!vvGktFnWN#k>@nsY+d3%flzo zSqp5*WO;&;k+Z4VdFyS5M6>zhPSs>zH}6soq!#$88~Gy%jSGB^O6M{XrJ(Wd^=P5S z_$UqWX>RH~<4i{?Xl2=Df(bMEfRS4@!W#EY37T82K3I0!rjflQrj3rEx6;uT-9{H74^1nquu`J1(z0_#8=Ez;dWvF8Uzv(-3>uk5 zp3ZT=*RZU`Y#dGU)bb-}NhgPtw9yBnI1NDz8WRns4iey!db=S;(hZ^0b|URdER5FX zPVSXW?8*Cy9X5=Qz;~uG)#%F1#FOgu1zO@T1qHS==oBPLoh$`C)hYScl7(mD#iXW9 z^u(GxV>_b_9h&#=WT^$;llZZ8Vrml6Qz(jU-_~$*l4Tp0&cGEo8C#j!tv@nRdB;qh zn>DMi_^Qp4`5;M6r47)t zB=0tLQD+SU8;&IJ#&iUc%iE14=B-KVD zJLMU5qjtvEBb_s~hUN(e*c=&}Cve>|=M0IOru7AaQC@dQJks}Q@NUK-eBLUYLUZ1G zs$F7M&`;uPq4@wNALJ?Rv+{xI4Yr*-;ebLn2-B>&Q@Kz%NisA~L6x(I>1!^OBJVm8 zO{n6Vy%9t#Z_Lum)FlM`Xx;SvP4scGMT^PzrBb|{#$9io56*`dhiQ4-ubfb1x za`ReTAt39FRfJ5XA%$^z!B?t}D781?Q(GIDK#6P0 zq%j^_;kz+@LXOpaUG|>mX1Z=oW;wHxn@Octa^(tg$<zc*0X}9=tB&0f6H(|L%nf`fJ{t2?k9)N~=gdSN{a~WtUZaK0ruGG$ z9rjs@=#+5cNsvjV+#WrrcM`g@J@KoH*DWP>F-3{Fu1TLA(|ZUzkz0*nN1RL7(Id~h zse7j5xxk%V7wvpu*GrTAzCan_o#?F2#-}~R9aF238e~|74jtVR4x}#iaLsI)F}tV@ z7x)%rK7Zbrg&C9T0HZP=#ASNgvCF$no1WTxJF57ALwCA&=YptYC(lJENZ*;bP1s-_ z7)_L7{h+`-d6!k9Wz2zitAoTPO2uprN!-%c z;{=|#n{X~}lBI4E3^mk`H(^>T7)g9n2W29)B)+!LR~Dm;vY;iBAO%9J18PKA)4bJi zg3n4KqOBH?yt0N*bunR@kxu7Y8FFuy+}WH_z(zWSjxDRvLI;1{4y&5cq`PK<_ht}H zvE!amfH1?(b^4w!`gil)j)BrJF-e%WX#Q9`vbbnIduyrxI7BpeZA9uR(dq{1OLz68VKMA=7!U7E|LmHo2p4L)O~f4rlA~&ee5|jD94Z zT|OM_wZtWut=bRgnc2B~cQ@9c+s#fMEC{?RI$lO|aSO{r?FWnFj4A@P-kWQ^ z$7{h$=@|nHOcemLw960(`Sgv!Mrk;pq0z)1)Ud`sQ@CE843A*P-6ph*Y3Z37KR{>Q ze2UJRso%*kuCr<07}J+XT+GHm^R-kO(0P@KE^yC>HJ#xGJJpjo)|#9_Hsj?(?L-7d zjVxBudLnqn8|K^J)yWJ~)BMSgM3Qskx@WT#vT7D+Wo zLTIYe$s%JlzEO3%!8N~E6GtfAgNmCbPG6H96p=B_uMi%Qc^Q2@V!d_Rj1^r9>}E8Q zY@2&|Ykpf^!Zvl;RN`+ACOS)<7_D^FNIg>jba1CGHaR5Djbo%I#8A=EtTf0NsW*Lp zkg17U+xG`6PE4GOgiYGjjU8(>X?|bGm6QIy(5ufu>`4C~Iao2|_vc{6(8W0r*)r`w z4fWNez3MP4r@HEJ#pyYjT}?tOc&?nn3IU3vuGW48x=_-gTulP246<@Es|;40*wn~C zttO$ByjMxAHMUX^wB0x$@AF%lnUz8{ zw0HDsEud{|WZn>+?+M$5u%v0;3az~X z)u%QB<}zMH`8|o5R!9C?f;767J5n{uaP79GhlV4na?S0toU9lRGp2dg7>+8UEHfT) zEu$|?geCe13?b+T0HxO!C_fg9L~q9Ul@)5+2P{SuCR3&A1)5J zgjYjb7!n@ioxxyW_zK$*8w?~|eQscGbhxh^Bkxs&(V2@g14Bj0eb_G#%QB;L_2HJx z*7v29ywvlf-&|Nf3?t65w(%zc#TK5}|rXv=g_wm`Vi zVMr+k-1YB#`&~vF6@)oIoSj`xn8n2SZ0<3_bcJUL)6d=*mT9BRZJFhir;88@btnF3 zXU?~<6`5zl^4zt#Kc*TGa($IlrwkYS5N3`dG-VPw^kUO z9YVg(C#N&v+!%All9j?Ol}<$9M8M-b<7!+qq6Qiq8=AL6;3u*<`t{MPfHN;nvwWxRbh_H(c; zBOfzq$1^FF>b!zWw$*Uz5x%*0QSe+?1FQ-9g!T9>$E_T!VLnO@z&<}uR*xMgxrE~TY{}{ z+nTqwAFp9up{Q3h;e70n_=ICcZU*t8Ln9iX!Mrcn4~!o zcOYS>fLdCpf%K>1KMnhIi_6<+2Jg6C|gU_R&oo%nTuqi8|-Edbr1 z2lV2;5Y$?$ZWk62W-;k30ZVCR^~N6`Tf^gVVtez!~67tGhwrhxD=^5yx3E?X&4!>(IM?O#XfXehSV3=i+}J z_!)pYgbPUT=b#o`2rdG@0R8EeB_Mzdz4Djz$Q%ejZJ_quie8cf0c5Pd%WXvTA4%#O z7a9}0gkM=d?+c~hHT)V}LK>HX-w=cP=Vd_D{kJ@S2QCL!fZu~F!BzNOOGlK3R z?|+4Us?Yxo{2km2?qfXO&xm?}un&TVz{B7X@F;i;JPw8u{}bRz@DzBOcmDyN0ndWx z!1Le*{9XhvftSH6;8mb8`WpBrcpba}-UM%fx4}E$UGOjP9{4wSAAA5l1RsHq!6)ET z@EQ0Vd;z`$UxBZ|H{e_FAMjuBKkyw0nevbU*-S2I?3G~7fl^SG+0*)eVZO_8A4gqR zLuGgi9wm!8gf-|OYl1#tE#6x@vp4isbvQEg&FmA_;k|xfUBVk}!<_W>^+Y)L-0%Jd0a6Mh@8 zEpFR^Az*t@iQ5ifN3au^L3wu0>=%YIqpD91BhKN38v&H|NS?cZUBPbn?QZFnhf$dK zAgw)#V=v5mgY%)Tnl0|9UiQJhFQ}z2?U#;w=rG|&gE62ARD&8Y7Sw`qKrpbzl;h4C=vwUXNV4!j&b$m00>(pYS~FE)c1CnuZLIp+JIu*weC`XUI6Aav#)KoOo4H^qy<~05 zGmm%YgC~hs^IP$_5{Cy3#=jGEQOCoWk=CGXj>4X=E4>R{#;u!t_kiBaSm>!}kLYSF zCuuCC92$#@2wT{XHU1XkwgfB%M}uR)vEVpxJXi)!04IWzz{%hga4P-eG~(R|sEv|- zyd1yN!4JS0;7t5~2z~_40%ubXKL$U+{8MlaI2W7;en$B7!3E&w;6mIk0>1#i1iu0o zgJ0u!3Ahye23!Vy3w{SK2UmdKgDb&R;A-#(-n)i$ueG)s75<3*I-qvB-r7s;SZj59 z1L1E3H-VeME#Ob!&)_fMR&X2d-VW{ncY?ccyBpjC{tEt<5rt42<-*@-n|pzH)137a zR)yH_2eoh!XBM>C1H`3vEo`R;iSHrsFn9z!3LXQGgD1d~;3@Dl_y>3fJPV!!&x04h zi{K^jGG%;)yuFI~HSkaHI(P%T3El#4lZSV}yWn5c&wJqCxW5lR!0kiu5$2DT;9Kw?@L$6I4}1qg7PLFz< zMi6c!*oE@!%5yhxKXtJ?&rx6xuqW6H><#uIU;7evKX7J-wNJKh7?VAKwL-#UOr*r( zxi<<`**ZA-Iw(pVyvU?b&HK(n!_#6OOZvXXpnmzQ#Xb&<2NS^l-~ccY48XsR=cMdp zc%Fo&^bM0qzaAWz70sIvrjS3;um<9v3N-JF&l8OkKOj0cjd-Sm8RTzfcCgX6gRmbA z4gs6co_i9!}B?gEsTm*vf@=>hehJL-Cu-a~_xvIzT7rBA%nb0@CrdMmBWg-otyn*#m9Owh((8 zc~RNb=VlmJpReCVyuUcxKx%!%lI+y5ly{G|yiX&1QlDz0zTp_c9h)5#jswSoWmdOa zg%h%>-@>}|vZ#(vB>j`{I~klp+^1qc4NS!>`mr4M)4>mLOUif#<}>mCA^4HyB^!<) z|7T%7o3K9yKLI}l=YVs;dEjT@d~gByIq!Mi zW)BJ1We*M4XAcWEWDgHFW*fsz*(1Wu*`{zywmJMMJ1hJ-+Y!)@8w;dXEb zxD(t3?j}EbP>y?e{uTTU{2km2?jv9M{+qM9R-LO}@5g@z<$Zws*7AIi=R@FO@QBs_ zobV`lsR(_-W5n|~;h(@y{p3mfH5Wg{^J(%8#S8zy{~7Qscn){_58(ye zUc|pYD>%t{Un1^9C}#=wmwERU(4Uo`fnHg?X=K^(lG9o0g_lpM`NNt(g{&=C^*VN;Os=&#pSI zr?c&hQRbcOkvwzZ?d)9M4dESr-p$T4zsIxl?fGW5gAlp!FVcOF^8cIX`&q42Nr7>n zpEJ7%-$}h6W##;Ua398UsD6jCnpGWsWbWO_NV-X}n|F>1A7{J5C)owzQ~cCF)Hl>e zYN^}LvU3>CeZ%MUv(Jd<3-BfQ3VaQ|0pEiEfc~tw)#vV{e*cU8f7u@5SNVErGp!m_ z2F1G&GxH(l{;Z@4$}_;rEiN!Gf&bI$dWpp$-duBRDAD^`lWM)oGNxoHZMGz2OZEsQ zB}i&YLMSCn87MC~+TzHTuwDV5ldm;+9!@H2^6X`u(5IwNSgYh1>P&Gs@4g;+Tbp=h zXOCUM9cdQs>y#W9(`0Q^!rF$o#AEj-&Gkx-Pv2ReuoGjx`y&BZJEpM#=?nlHf`Poh z5!l$`ftC};reF||d}Fhc6JlD-)0R$o7);nLcz4T^6RB6_yF6@V;ZKTbl!vXcZxhS9 zEzj-15U@R{C0?7id2a{uxMRu5F^yBgP9>*?ol8y&L-89%9Q}|&^jU5Fs-9RcSscvs zm`9eJjug=Aa+i{kVOQK#j@^iFcQ6X<0rupbq@8M!aCjQ5rO4mj`0WGsCER{7?$Nlb zj@1Xol$;Ukm^GC7yI*z5nb4r59p&e9B1h79i089jRU_25TRu!~GHcSGODfbLp3$j+TIM33onD(&)aZ{h)2pY8x?@s{@ z;D8dXF>+xl?@z-%op9?R!_C;cKaTCIzW* z{mzn$LRZNza7R`K7L@!l`uq6l=Di-EaoS5<3rl`Q%jLo%%!gzzHnZeYi%WjZ%$Khd zwb7E;PD7C*EhX-wdFL3OqD#k?TpW%guH&&U11EsR_@4+)0w;r0z^RPs(@HLhWB*ci zel7~9gC7w73~(m+VN9nMsZ`QuhLN+u%vI`V8f$9*9}(YKC6~qVkz+r{{eO)6PblMq zNG$yQ5PpjN93XmlF3ve0F8`k~ofc?NGRtKKu9Z2a0S-!3b*OXivt|jar z!F7bY9%!8000uBu-N^GMa5K0C{0WH0{2Ba({ND<01Gj@afXZ_xY25|xCd_(-Kazak zgSi%IgZJrG(fvW;uhi4uY%F>C*XG^7$2fh=T?cJbeL8KpmozpakN5G;{e*o0JP01b z|6$U5g!$!B;(QGAR{O?Pe#4?4&ES71L!ZRTlJe-B&I(1 z!Q0>`_qTWsMT+X~>Kn}A#Q6@WHOZ>#4f!Pa7Z}ew34N_Dxiy`G-Xr|KEgZ5!@~XJs zC+-g{es7l#3G)&5k4tWg{Vs%0uzw0f7eAveKF9n8&o6m?1%3`nOKvAVZ$HJWeV(sz z{|0;u{saCC{zn`O@cRz)Qu%EyNSN2Pd<_a~5>Fqn7FZkf1?!MzKd>(7kNru?zaG!^!Ly{f0r^os zI2WjoxqBjw`YZd!e+wHC&&FUAuoUTb8Ev>J zX)GY_h4k}5ytf(HJa;d&>F;4Mep?WBcJ{uM9-d!vFFc>-B!6#9!iasT+_@Z1(`2eghDLOR=nN-!86a0l|SBiIS-42FVXV0dox zFd~<%hqS&CKZRsD_aJ>!()kCWb-q8LKCqPazxd2u$d~$TEmB5CFg_0vZcx}Y=6^Th z77w(0ZV>w_NxmNrqsX6R2YV21Pp}u*n>_AAxUG4AU!MDc(O`__OKaIjLRIdOP@Q`; z)X-nD>=2C2JsxUvPlR!~zF|C=0QLt55TE#$i8+@c)M3}!brSi}+G{e;dLS9Xfjp-G z$r2iPN^UWg=QJ=K%m6dNK|s92!8|2rKZH0Br5x%fhw(fdG=d{Q6KDprC{qh)1+#(b zVh-=Mfp%~tam@wuzHKpa=AVgm}XM-Pu zpMam{oj(L=YgLQ*U{A5{n^XI`MH0D3vw5QpMwi?Yle%!FNph>;8(nV zG59sOB==0XH1}-y4QX7K+cEqWx8LO+3YX_32YU`4?m0^Fob{)zX(!da8Pw+Z;1H1{;pB0b#(OcwWZ{E}%=G)ZoJK$aLFXDYK_e%ITX}q6%m3SpvdopZh zb&brIGJFU=BA$=IC*V`?8E&70FTj`JEATb=27C+t1O5yC2fhQLl=%i^K?%r#QczaP z`V>@PUITRHo@Q6l^Sx&2YoSl+Kf_w3&O@(V%DR&<>tOH4b6wCMtOwQy8-M{|Log6* zMEH#fy9v)tu@3^9Vc(qe&Lxe(Jh#AaOR!bxt6^*G+kolR!M23m4h#X?<6jAO06T)6 zz|LSO7zT!yz8*#pZY0>H^xUv(sn#I-huunF47=kt3hV*)B<{UR->^E~yYzD8i@yu| z;I=Q2PJzbAe#AE#j3Im#&uUPEc`VObFb?y0Fahk(dk27tpbls)JBjCH{OZAhU<&1J z;5ijcE7csr-WYB(z)ai@BK*NT4*`c_J`70KbvX7$a0K~n!fg-Snz7FUEua<526I3g z{_Q-EEPWH{b25)4`%b=pGZ+7PU_R&oouCUG1+KE>{3y8qHhzz%cc8=R|uG z;Gf`i@CH~&yS!PtL3pe5{qT0FGzmW7%@5-H&_=?%3x?wQamnt~pV|^y$(VT${2TOU zJ~UeTKIQ==`~gpe`H<&F;A8L!dHoc8M&3Wi{ss6Fd1NA54a@Akw?j$UJ0Vy0ZYVAL zS12oUnS|3hczEm;U=6S)=u_tN(!S(vtuo|Spf6Yl^uupm`GfVq`d|R#ZUf#MfO$hO z5S)$Mk>qtF%p2pk3D^|#Ag~$c&B0*IA5aJHgDo(B$a72bz7^OS|80PH!EN!|4u}p8 z;kiAi1UrBo!A@oCg`L6Bvi@OMS>G@mw-I0@`P~KV3U&j#6W=JFdw@N`USMy+?F04& z`+?D545-4d8q{DO3u-Zs1LMit1mf8rw*$an@!Po9fl2sH2KC@TFokdpgqaGaf$3ld z;bww^z`@uL0f%BfjOXE?k#~;Z*#w%wEYN~~E0__s4YTo|gSn0P+si%)M`E8#n0Y|D zV|P-ECAg=GL#;RTbeOhlZT3q?nnRX#eHE+ zcTw3F^mS-0>5322dRDYzaP~{=Nc9M}6dVnX0mp*l!0})iI02kUUQgnAGB|~JP6cYy z8EE2chgQyM!Gm+|J?MbHRDwXW)F?E&wy2F+V5IXJ)=;Sba@tzorgz;dyu?@v!|_?_5~+ z4f_P&B2V~FxQP1xMOmNlOUm^t-V-gmnCGvF^Aesj&@NgVZKF$xTYTSdcwPp63x0?H zLS*fimyHZpfZu~x;hV4I-K)y}NBTaVUSZ5%P58}NZ)y%%yW~4)oX7VE+^+%G68?|m z<8t1;4(v@nt|$H*z>VOhGRa0YZwv}ImxaulmM72eErkCQVgAhXFW^>i8>l7h?PZxv z#`Di?oG*uX$qL5l9c8n^otAD%rX=Rq^O%Dqm1OQRKjtFh7k_#;@jjO+B`)RP`&IFt z?tbB(va(Dm+Ex%Y(pJ60lk+~Zxs3EqCF}Z|#Ur^Xd^+ZPEq-`)%=cq{faileAL98i zcm(sKJRhT-9tTf=C&5#=J&oT#cs>K31^2i6B0fB|4bFc546HU^u3 zO$j@QcQyl?gTY{na`s?&ZUwdm+kkDsc3=qD9#n!Iz>Z)iuru)t1;fB_Fao!cU>C3} z*bVFsMu9!Ro?tJqcR9MeU|+Bw7|pw5z?t;TD)LtiYRbzqW6Rgb)RwQA8CSkmM*7p^ z2|EGo4-NnmK^^dYzO{K9+D`nFK|S&HN25z_2NFj8cnZ(G(c+U^18GbJ)4=rdo#5jW zo>#Qu%`gMEnbiA1n*AZJQBYv=7rn$UNW>)#S znU?Z(GOgvGvbXtOm`!|hKwEjA&<>6SbHO|?zr25@gJ);?dYLZbI|@jiw1Dv4<)XP? zg`V=YGri@K$@I-EEMGsfs9fv*HN)cag#XwrEGge0v$R}%>3|Hn%M8TAE@{KY-DBn192IV-je3Q%%%QwyZ2>-Ld*+6<}Kj!%p@Kf*v@t;FmoeRzb7m@DI zc%Bb>33~x~`Z>6euovK=4{fF`anQMsibi!UsIB#cU7KFVH zTn}yls;dSD?J1PwM$)+n+zeE%L-D@_{0aP-c>V%z1-F6Qal3ij}@oiZ#%vvt5~!wk;6LAq~(x4_%r9iY6u3;qS(BM#B_rL2qoO}^d- zACwOWA5v!@m2aKt_q}oV4Ih_pllg==J}uui^BM7}?4R@e0(?mvUzKn7f5b5)^EGYv z4dKPZd`tS8L;piv{TK5M0R4J6h1J!A-ch;=r?^z+O6KEA`f(-w7`aRN4w*Gp`M$#T z4d0OlLVe=cF|*++!>Ru(Y%<=xPBRspTmc*>vOMQ_UPL}hd6t1%ll$(JDX;LpSW&Sv zbNkTD8raLgnxGF@t6~`GqSJ@DFIWfk1M7nRU_G!t@ofMGfDOSwun}o*3^W%@UZT3+ z1pB7=y-8gT!n_&pZeB4wv+hdeVm(5-TU3n5Y+2DaYz4Ni7@66oV$;mFV7rQ4GDCQO zdr%2>06SLfN?+YoYzcjZxeK?Q!B7EBXq}}PM%u%{h>G2@@0J;fc^6QNcJ!KnSUe)r z#oq8;EA~CLxAYh^7wkj(?wgrhA=-khsUqnk$n`KE2&NFvLUP(bx@xPbJg4C{9n1hT zf%^GDq&Wl4>4Piw%WSbynh71=HXK5@L&0HI4$8u_kvNV3O}ICMS)c{?RxlgP0d3@^ zy`q0O63oSa9+=NN9iS8cE^rj)+1Wl}0b#oaiCr1dG68-W9*Ugz!tj z(G_C|yJ9^l&!aQP5U=!W4(FZm#C2>%6|+(mHBv>}X`Zjn9EYFwpN}W5Wfe7<%~u&$ zG7blX6Do9G$osr#_KDx!e9sCUBDmKiVUm>1_ zQv<{+Iw4vsT6F>bKL^?e-j6kw+TcR$7ZL6k)K8Z3YF()Qsrj-V8g_8SMDjI}GEbz; z=sXhcSKwmsYj8;!fO zL%}dG9E<=X!7gA|up8JNi~@UrJ;7dJZ?F&87wiW{gE62ARD&8Y7Sw`qU_6)r_6G-m ziJ%Tl0+T^KI1o$$4PYvm2Bw1MhomLKP`ihYC==?>9MT zw=KQ*x%)itW+w9IPbSG^VrLRehAA)=ronWW0W)D1%!WBI7v{lyh=&F65-fy8uo#xW zQdkBr!*W;w39u4Y!D?6oYhfL%hYheXRWrA4ZsIy6_*0oSI?T?eOh7KX?MeUGCido3 zP3Tuoqr|eXt)6z(F_!hl%ewxyR|)*a8E*k zh>X{X{|#in32(vM@D98S@4;C(2j}4eelH^HefR)AgiG)dT*mDRd<>s(|0#UN_2=*f zT!m|J9p=!!-9WD|xxR_qTfmr&b(=7E;4b%HrD7fxzJYJyJNO=cfP1*#$KQ|e6Z{On zzyo*)kKor-E$!bhe}_NdPxuSi0AtzUKr#<2pdq=3c~kCFKuSmj9`J$>{1AX3FM|-I zhBS~Co?`4M9Wv4*BLjXiLMF%zSs*K9!!0}HfSmZvh20a7oBKSNX6%S{EnLUNmb3C< zpC6v&zJTI@Fm3YFn9sno$S4Sf@KYFya9tF?#h^Gm2PL2+l=8H)OJkNHTv<;W%Ch=m z^npDAt2|VIb&RjfXWer}{8fU=_^kp7yp*b9R)gwL1Hw=fYC&xXGUi=}Fm*lI?0O!r zRo~N=esEjLZClE1Tf2cLXg!a+`U_{BcD(c3;nvP|Ylz=QxD{sH&6MZ%b~<(r(pur( z!EWs7$oB(n9q}}UW~8$@#6b&aN!V7P{;=e?=DH2E#jTyEz1<#tI(Rzq4bcgio!olV z(bJi+n9kgH=DrJY;DZ0oARW43c7<-x9k&-Sdq7W*_UU)EdwIH1|GE*rn=7w3@o8S^ zX}de$U){0qj(uC(q^+&phcxyj-}`yeSfzM|>-pyCPnhU;{Q$13f%G3pe9HGQD^42o zTn4$%CSVQ59OCIgf3^qmdmvxmk!h@<$Q<@JS;M&=0V7>`+IPZ!O|F$sRpCXb38P>% zgxO80c*ek37zg8F0w~UjJkv?&Gnssx;^}4k(0?l7ronWWfm<+H8+)dwpf!s;nhkS2 z9&0Z4^B^H*Z}Pr3I`>9r?f>q>y}tQktoitj_w=RRGv6T#xYswwOP+r8Dp^m!{UT3) z@|yl9Wqb)N#m{7s+j&NRUBYBV+-OU_^nV;2O))4*OO~~4u zD3kFlt}~Fbt(e=;dpqoao#?d-c4NN>_Id`|uXwbEz|1Y|^QeEVZ+q==XAFxl2Rwu9 zgK!8A^GuF-2HQu`3l9ptfA1?x9Y1?zYC z1O9}+!17MUZ8Ew~CXS>r8{4b(NK?qyDY#Af4>#UV#JA9zY8M1*@?(C|kfJQqA;-&_ zB8Y+dNJd|dlM-+%$kAcW8@HKc*GkPgyA2FM7R zKzklDV>ZOh!qF*NA)CV5)9mbCt^bV7-c(t=%yRByu*G%G4xrpX7?|IsSswrn7NA_kMJvaH22g2;mj!pEd zabSHT^PNFj@_FY_M--;El^>ln{vKu*xBUM?eR&dnH2ziqzfZx_-g(4f+8Mq3wa)Ar z?4R|{cXc)Euw@^QT;}r$Unr8MFuTF&mbhUGV^;*~P%rhp9>*^6sP0;GKbYsOe8`z> zA#xQ)&zb&(cM%%uUVfr!Ffz3Bx~O-to1S9mRGhSHK09x+CCJEbJ%?QhDCu3wxA;sevHg$T{61Y!@fQ=0G*NYJZ3{s zd)(2E@>A=6yCAQn?%Uk2f4FbqM)P#A{)yxwhY9U4x$ zMsQz(FeAY{FV&CjZvB@|s?X7QUc~Px?+(hQ%IZ$HE_Wln=9#fy3Hf8ZD$~2%I;g$Z z>KBFFywGV3rro%ZVh{Plcm?vJbyV~HImvI8RqYWP>)q?tE1hE_J;sp+<-6La@x(I$ zCSo^XM$@VCtd1M;McF z_uVsB>CJ4-_Nq^0%JL9Q^>L#0p(JHd@Bc7u#Y&jtHFLLfz5B?geZ;$ucqQ9w%_BaI z%?6XzVI7Y7?wRk^d@SRV$c^{zxASr`g$1_TFVa10zFi%8Ka-w?um~2D2bxn_!u3*E z1}}s1NqM@Q>(rFD6_^RI5>~-#SOaTe9ju29un{)FW_aJ#hjC1|Y#gwY_B;fvt=@pO z4Ys4}4(~yGC+Xeg>cZMY##485t?wW04b;5b9`08lZ!fZ5fqk$a4q$%}4#8nK0!QJP z_YmcU{ulGxY24Y;L-uj()xSD{c@q5wA@3B|%wD?X^fcG6!WnoC*{{PJ@Fr*-{acuC z!#nUUe%^z#a1PFU58EX<{lfy2=UQ*CGGXf51;S`w!9||I`|trwp#A+2^AdUR5#jR^ z_A+^L1wQs_KSXxx6YM`l*U#{`gY-oAoPUm;_Bd#NLmYBPgX;Vj*k1+hZ@7ke9d5vv za1(C9ZMXyf_wze!-zDy^crIUi&yhcjS$LaT-;xg1C$)>;k#5Z|XrKP~$om1k?_qZz zek9ya@UvHYI~Ys#9wA?3f0TAhCTlQ|^#C4n{Rn>LdN9vhlIo8Nbe_tz=xPhqdVLbM%XjF@Vji|5bIS8e=o0mpb2A@uyQQNBTB$M8Z_iUmL>Pr-K!=L+yo%*pkq<^XP!yUMO*K}bUd@m)B(NEis7#~JO?G9B$R^E zPzK6Io`Kp@lg{_uzO3?I@ilQipiCy^quP*iZaO~X9Tv?$`l`sOfPF=%gxtzd1*$?d zs17wC3^kz^)P_1x*LNurhti<^caBxh)$1eb%)ig5AEVQnt ziSIM=RqiHV!@$$leDPZwm?oxXa%i7do?wuSs%AHq@gXeqb;Z# zbDchu#@wT2-LysRk=+40LMP}9U7#?hLS+V4+n~!0yQ@!a3web+^@Y0Q$Mo%(U+21q z?@PNUZXN0O^g@r`KGvjR-xvCkr>5`2nUY)&@ZGQn`fl2TeAn&4zFT%tPMu;zop^59 zL)>_7M`W3{Rr#Q}RL)oN-Kp=Zp~%(zzvSm6t%GQf!@L`YAuliQf$_}McjtOIX&-?; zMkjM_K~3^!Bz7;tC>RZ6&}%IEk3-&gn1J0xn8fvDm_mA{`qEm{U^>jeZYInkTpXum z&GuD8{}{d}@ACYs+4?@#nWHQ&Mr*Gq@8g_-%sS3k*79wr%xw|nfklS_X~B+ zoWG}i3^{3=caxWUNK2Sg#$pLyjoPcRD2+?)MfNLhS{~x|z~1M3VDE08+f65%(f35JlfFM_$CJjeb-K$b zbUh6^FLnZD_EqAlirh1puVJq<@m?qF1D@3z=>DefPu}~iX~z9+C`o@$;~wvD9Ygr? z<~|AzTH@%(|AG$#-w|C!&z z|6ka%7~8VJfn@%Wn-6u-b0jC)sa)NrT-@>KRJ&?cjK8{-+@ID-&M9{-c^}0RCIzH~ zRQ`0tEqkrcVvmoXJwDj`Ff~5y#|(2Kp6&X{kSHU7eGq>d+YR|MqT9b^nDAjv&`TDH zH?=D(b3|5_MEf+Zeb&VLwC;Vj#QSvIr}t-1yw{vVn3MO+^Ug_rnzk$h{xZ5@bMXwN z4`Z$z{-IYw^t<6pi%z= zKu-MR!h8a9Lmuw)LO#e3PeK8IUiW!qV?)4G{(R`oI49S&F@wqSlUI!Sa{mmdzyBT^={(_`~^+S9Ysz0oKk|pq45=ud7!jyrsP>%cZP{Ch`T4CNRlp?Dl@mKPvwJJju z!z5^Fq>n>5l;)ume2}XLmS-MLYR|%Q$}>wd!Zfq*B*E64}IXNWOeX+ zt&aYCmY#7Ze@WM5hZy;#HHz$0#jno5r0r&nzs6DuIbFzyGXBz5SLo*d&Fb#2V7=hi z_)0mehrh7XlQ?=2t~d0dyp5vV_2s%XQgvRo($PP z8Or@I{0xT?FcSGM!YCLGV{jh}<6t}}4=3PnB20qG*lFL(6t1VjH14Ov444VCU^dKw zx&9((QiNu-2<6D=kvG}zXl%xj<`I5AggJ@QAvfX)vw$=k_o9x*P+r1)p}&~pA(Z+Q z=6j0yLB4?&;kFo-Kwa|OjENO@%WOi*Zak}E&Qjc#fzI-H8FM+T@aMA={KcJ>{^zJK z8n@9|H_B7Zud7Zo?&L2)eKBt3dA_UBZ4DGjRucQ{)>?llCq3?sXyeymU!K!4^`2Xg z{0*?tUk0hnYjV9Aw%}(gY=iBt|FX1=Wyzbe=&Qaqb)PoF^s$XTg}mjEQ4T-lB7U_0 z%J|X#`SP5|nU+&K6Jkm@J4nk;bk6QA>Fgpt?H5;?bpF+D?xn|`zs0Y85__>z`}GRt zO7ZUVS8!5euQMz6<99tAfP-)d4#N>R3di6$oPd+aQ8_$?9F3_Au`4=r6Z?skoYTmC z)vtZ$+JA2RmM1>-OZ2UGhHyGh_cct7ExnHU1~T6SeMi2<{oC*kXpH_{%=h3d>|WcN#?%&n!2O31J&)lM*B`-UxPty4!zb`5dw%b zUqaHno|(J5iQO%@4R_!!e1-0s^K;;9uD?Onx9}Zqv3wsy=l{Ov{s*`R_u)tQ34VrO z-~s5o4?VAkTt9+e;Wu4l_dBxx0PU^$6Z0?ZSqx*@;6O5n0i8LX98>2+M9++f{cGg8_?L4&IkFx%EuwP`QgdHT3XDt)abRep%tA1f%48%filizZ}d!v z%Ffe)%FZ)^fb}dC49vF*1(sWdp$IaI2C6v4B%9u5Ci*&>m(lqv1E>qd(d9Yx)BIcs zOqE+br;=Qkg3?e19W(}87PB0br_)vevm#W2%7Lm*l|b}Ng@9ExP}-?Rxav?NP|XPk zbS_(UrzUaLg4%%v)bAS3O7zG`TT%zRx}dgW9M40~w;uO8=d?a%19%=9LL+DlO`s|0 z42fo#%^?mlb00lpq6POYp%t`-HqaK@L3`+ceyZ;sF*OF(39~cl=>lD$8+3;kpa=AX zUZnk!S9SL#_IuWFdLyR~^o6|WtNEyYT=$0ou3YAH2sg-$OLNY&3EYp2(Fk(1-=HhC z^^`H5iRS&%ST)^#NYeSEwVX7Z1k5Taw>`f@yD$Vf>R$}S90tRQa|Dcp7hx2PhA}Xf zvNsOK!-RlN6RwS{+7Vf1ZNo%Yo;$a}d!P>Pb#P}ao%f*PQ~xQLtghqd6k=AB;uhwe zRMVM6+H%t0n@o74lg1}lH9%fXC9Y|h(*yO8S&wk_T$wWnGt-TaZ}dQYhjWo}tM9rk zz|ZW6o8--bxujtp%m=N*n25}Hw@j07TvtH9GN5K1H zS{(3NOYpOla9V4&j5_mjpaJ>?tmWvn0un%VAD+AB-Zj-Er&ZtH?i8(9^=;)eX6@27!e0+aj|R>S z!h9JhZr==O{h!g5wX5jT8riLpt)8;l#^|`2nbTZIdCEnbV#e#*xP72o#Csd=fSLPm zOW9!_8cpv~uD((k#ZCRQG@N{`ev=tbQQc--j5eUX(;jy1DtC7Qc`1^DF4ttG%i0j#37!-?00g zJpKdum9fuBAJnAz1-I|_XQGZh=tuQHW)Ea)ex|!qg=b$kCKtcB@`Cdh{&aRtWmi7m zjFe#-S9Ih1nD^8m+-x>NJ3*b)#yWr8VuHQMr(WFlLgrb&V(Nt$9ep zby~uvbHhdbtIg`qbL~%<{)CCj)3{z<&NVP+yrn09lNAJc%iG5NRIh-Tmv=DFTW-7uu+JSF zLK%ws<(8}mu+IlNFIs2SmbZpQWSMcb{J~N@XXdT&^N9Xp z0dyW}4`<9_I64k@^Xw_o^)x&~e)XrF&*j#;80%TW6in37%>8p_t&Uc>QY1A$NF|J#(i;k4oW~tCQIAlVWti;6=RtioouSu|>qfXW zh9=Mynn82ygo*&hbLKo|srVF=-e!Y~*PBd{9@FT$vx zev^fM3ie}QER2IVepxDun~yrbSLfoEvBu+n0`Uyw*-Yem5=;iI9#I=Hh3hIj!>O3l zU^;%^;~CE2dM4KzqexEsJBxIyEn5$>v2SNhWjtBWOmRiyFn+?E%9r#TVOj&lw>^D*OL0hskt<{k62ozWdTk0&ne%Y7+0igK^@!Aa|j7oyLiU^;enN9&-* zgW2N_8(=Xqj}XUEo6E+RM&fo)f4MpM}=e&vATM)J;5|@eB?5Sm}pZlZ1$xbFWEZ^V6^Dc3`hj|vx z!Fjj<7vX)}-lV*Jz;$iv*N23^1RrsK8MH5SH1E1A*nN!OPvBFob2(ES^B$!S#Qo>+ z1zg4bT5z0mo$DK1e+f51W9zptZ^IqjZX$DuHI;IvG@87+i~UzT)31Zm7(1Fqnx{q5 zZ2a8d{rL^```h4D=R5owU8lQ#z7Nh|PGJUNW^k`EV(OCCRs4Y8dvG6q49?^^&&1zM z{Biyuc4obg{LkVENH6x*kao`Quzn#vttWYazc9b9;pdk!9tI~kkFZbDWs37FY0em& zKze!^(CVhCP@@yDi zQQdb!?A3u7NDi@(B4pae+N3Wf*Qp>$f5rkrWh^gpeAxRz?Ph?(S%MIP)Q|?!LOMtf z86YEMg3OQwvO+e(>)fW~j4NkHW)8?1+RxM4XXOg19b#MnopM8TeMX+p0e;Of>aI4i zHeXCe=e)>F`h5k{=I6sMKRgKqLglQd;A!MN1L=5|K8vY(ToCs{P#B7Y*ej6O4)NWD zp2eUzMCYMY?^tK-KF{Z{58+>Z$r7ZYBr-}t>Cim4u9e|>7&@k56gD|;=Cb(LH+MPQ z%ZKJVoBi>Wt$3baJkQVck18OiBK|6c=JS0iKl7c+A&mwsz~2J=(HBHU75wN7DD|mE zGRqYJcJSe@XU#Z7C}33!#XHrJQv*G&;4q5epfK{y{EZ1aJ0?Bf5N13s55MnHGgQZ_ zX2V`p&o9kS54{r)(?F|Twbd|$ZI{1o66Q+%8&A>A@_|yd8{!FjSn;Kv(Dn z-Qfl30X?A?^oBmr7y3be7ytud5DbPPFcgN7uHm7D{kej`C^PhTWY zM!{$p198;BJkBC#Y-lmheKBDd6IS0ajx~-jL+o!EAz*J1e)SDC0aNESPbAJsFqvmJ zC8S;RO9;CpFBJRw ze;p?pmOcXZGeavL^Kb0sKY>2&-{nWc{9Wcs(kee%%Oahkepb2ZF!oXXqHdDCnmP~- z_iy*V%U=`Gk9h@T&!#>n#j*A=-Hji~U-vKFWfzq}e+F4|L+c~qjm)lS+=U#~xL}xH z2l{tDCb@5nq?s}o38QC|Hrb}g^Dy$}5y$+{=Evk1d&RNkKXo+jQ60Db?RjtekLSJp zG5IEKlF!Vzo5#|}l#lq(&c|fLhju+CBU)zSL%V6y^qgpk+%mK$@m~FrFu!Hl^=kQo1BSD%B4_ey)Dvgi8Refmn&T z3Rb)EA5V-gms^fbB+4_-g*hbG-y+BSCacEk9)FJwArIFga~*!wuCB-20Md6OM9at~ zt~X=9h4y7DY=iBv19rkL+;+nr{O#plb1ddJ2Gt(1wi&y9upbVqi`&AlJuRVeLCs3Psc-NXwjm5_*2d-*5IDN-$~v#d3YzC!i=8xe;OUsZ~K`3 Ss>aP?Q`Truy(*p_`}-f&Rr`bh delta 82937 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∨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®$(_lB! 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 + +function slopedwalls.register_sloped_wall(subname, recipeitem, groups, images, description, sounds) +groups.sloped = 1 +minetest.register_node(":slopedwalls:sloped_wall" .. subname, { + description = description, + drawtype = "mesh", + mesh = "sloped_wall.obj", + tiles = images, + paramtype = "light", + paramtype2 = "facedir", + groups = groups, + sounds = sounds, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.3125, -0.25, 0.5, 0.5}, + {-0.5, -0.5, 0.3125, 0.375, 0.5, 0.5}, + {-0.5, -0.5, -0.375, -0.3125, 0.5, 0.5}, + {-0.5, -0.5, 0.375, 0.4375, 0.5, 0.5}, + {-0.5, -0.5, -0.4375, -0.375, 0.5, 0.5}, + {-0.5, -0.5, 0.4375, 0.5, 0.5, 0.5}, + {-0.5, -0.5, -0.5, -0.4375, 0.5, 0.5}, + {-0.5, -0.5, 0.25, 0.3125, 0.5, 0.5}, + {-0.5, -0.5, -0.25, -0.1875, 0.5, 0.5}, + {-0.5, -0.5, 0.1875, 0.25, 0.5, 0.5}, + {-0.5, -0.5, -0.1875, -0.125, 0.5, 0.5}, + {-0.5, -0.5, 0.125, 0.1875, 0.5, 0.5}, + {-0.5, -0.5, -0.125, -0.0625, 0.5, 0.5}, + {-0.5, -0.5, 0.0625, 0.125, 0.5, 0.5}, + {-0.5, -0.5, -0.0625, 0, 0.5, 0.5}, + {-0.5, -0.5, 0, 0.0625, 0.5, 0.5}, + } + } +}) +end + + +-- Register sloped walls + +slopedwalls.register_sloped_wall("_acacia_wood", "default:acacia_wood", + {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_acacia_wood.png"}, + "Acacia Sloped Wall", + default.node_sound_wood_defaults()) + +slopedwalls.register_sloped_wall("_aspen_wood", "default:aspen_wood", + {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_aspen_wood.png"}, + "Aspen Sloped Wall", + default.node_sound_wood_defaults()) + +slopedwalls.register_sloped_wall("_junglewood", "default:junglewood", + {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_junglewood.png"}, + "Junglewood Sloped Wall", + default.node_sound_wood_defaults()) + +slopedwalls.register_sloped_wall("_pine_wood", "default:pine_wood", + {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_pine_wood.png"}, + "Pine Sloped Wall", + default.node_sound_wood_defaults()) + +slopedwalls.register_sloped_wall("_wood", "default:wood", + {snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3}, + {"default_wood.png"}, + "Wooden Sloped Wall", + default.node_sound_wood_defaults()) + +slopedwalls.register_sloped_wall("_brick", "default:brick", + {cracky = 3}, + {"default_brick.png"}, + "Brick Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_clay", "default:clay", + {cracky = 3}, + {"default_clay.png"}, + "Clay Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_cobble", "default:cobble", + {cracky = 3}, + {"default_cobble.png"}, + "Cobblestone Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_mossycobble", "default:mossycobble", + {cracky = 3}, + {"default_mossycobble.png"}, + "Mossy Cobblestone Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_desert_cobble", "default:desert_cobble", + {cracky = 3}, + {"default_desert_cobble.png"}, + "Desert Cobble Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_desert_stone", "default:desert_stone", + {cracky = 3}, + {"default_desert_stone.png"}, + "Desert Stone Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_desert_stone_block", "default:desert_stone_block", + {cracky = 3}, + {"default_desert_stone_block.png"}, + "Desert Stone Block Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_desert_stonebrick", "default:desert_stonebrick", + {cracky = 3}, + {"default_desert_stone_brick.png"}, + "Desert Stone Brick Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_desert_sandstone", "default:desert_sandstone", + {cracky = 3}, + {"default_desert_sandstone.png"}, + "Desert Sandstone Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_desert_sandstone_block", "default:desert_sandstone_block", + {cracky = 3}, + {"default_desert_sandstone_block.png"}, + "Desert Sandstone Block Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_desert_sandstone_brick", "default:desert_sandstone_brick", + {cracky = 3}, + {"default_desert_sandstone_brick.png"}, + "Desert Sandstone Brick Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_sandstone", "default:sandstone", + {crumbly = 1, cracky = 3}, + {"default_sandstone.png"}, + "Sandstone Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_sandstone_block", "default:sandstone_block", + {cracky = 2}, + {"default_sandstone_block.png"}, + "Sandstone Block Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_sandstonebrick", "default:sandstonebrick", + {cracky = 2}, + {"default_sandstone_brick.png"}, + "Sandstone Brick Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_silver_sandstone", "default:silver_sandstone", + {crumbly = 1, cracky = 3}, + {"default_silver_sandstone.png"}, + "Silver Sandstone Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_silver_sandstone_block", "default:silver_sandstone_block", + {crumbly = 1, cracky = 3}, + {"default_silver_sandstone_block.png"}, + "Silver Sandstone Block Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_silver_sandstone_brick", "default:silver_sandstone_brick", + {crumbly = 1, cracky = 3}, + {"default_silver_sandstone_brick.png"}, + "Silver Sandstone Brick Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_stone", "default:stone", + {cracky = 3}, + {"default_stone.png"}, + "Stone Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_stone_block", "default:stone_block", + {cracky = 3}, + {"default_stone_block.png"}, + "Stone Block Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_stonebrick", "default:stonebrick", + {cracky = 3}, + {"default_stone_brick.png"}, + "Stone Brick Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_obsidian", "default:obsidian", + {cracky = 1, level = 2}, + {"default_obsidian.png"}, + "Obsidian Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_obsidian_block", "default:obsidian_block", + {cracky = 1, level = 2}, + {"default_obsidian_block.png"}, + "Obsidian Block Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_obsidianbrick", "default:obsidianbrick", + {cracky = 1, level = 2}, + {"default_obsidian_brick.png"}, + "Obsidian Brick Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_bronzeblock", "default:bronzeblock", + {cracky = 1, level = 2}, + {"default_bronze_block.png"}, + "Bronze Block Sloped Wall", + default.node_sound_metal_defaults()) + +slopedwalls.register_sloped_wall("_copperblock", "default:copperblock", + {cracky = 1, level = 2}, + {"default_copper_block.png"}, + "Copper Block Sloped Wall", + default.node_sound_metal_defaults()) + +slopedwalls.register_sloped_wall("_diamondblock", "default:diamondblock", + {cracky = 1}, + {"default_diamond_block.png"}, + "Diamond Block Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_goldblock", "default:goldblock", + {cracky = 1}, + {"default_gold_block.png"}, + "Gold Block Sloped Wall", + default.node_sound_stone_defaults()) + +slopedwalls.register_sloped_wall("_meseblock", "default:meseblock", + {cracky = 1, level = 2}, + {"default_mese_block.png"}, + "Mese Block Sloped Wall", + default.node_sound_metal_defaults()) + +slopedwalls.register_sloped_wall("_steelblock", "default:steelblock", + {cracky = 1, level = 2}, + {"default_steel_block.png"}, + "Steel Block Sloped Wall", + default.node_sound_metal_defaults()) + +slopedwalls.register_sloped_wall("_tinblock", "default:tinblock", + {cracky = 1, level = 2}, + {"default_tin_block.png"}, + "Tin Block Sloped Wall", + default.node_sound_metal_defaults()) diff --git a/boost_cart/README.md b/boost_cart/README.md new file mode 100644 index 0000000..765d505 --- /dev/null +++ b/boost_cart/README.md @@ -0,0 +1,50 @@ +# Boost Cart +Based on (and fully compatible with) the mod "carts" by PilzAdam +and the one contained in the subgame "minetest_game". +Target: Run smoothly as possible, even on laggy servers. + +## Features +- A fast cart for your railway or roller coaster +- Easily configurable cart speed using the Advanced Settings +- Boost and brake rails +- By mesecons controlled Start-Stop rails +- Detector rails that send a mesecons signal when the cart drives over them +- Rail junction switching with the 'right/left' walking keys +- Handbrake with the 'back' key +- Support for non-minetest_game subgames +- Descend from cart using the `sneak` key + +## Settings +This mod can be adjusted to fit the preference of a player or server. Use the `Settings -> All Settings` dialog in the main menu or tune your +minetest.conf file manually: + +#### `boost_cart.speed_max = 10` +* Maximal speed of the cart in m/s +* Possible values: 1 ... 100 + +#### `boost_cart.punch_speed_max = 7` +* Maximal speed to which the driving player can accelerate the cart by punching from inside the cart. +* Possible values: -1 ... 100 +* Value `-1` will disable this feature. + +## License for everything +CC-0, if not specified otherwise below + + + Authors +--------- +Various authors +- carts_rail_*.png + +kddekadenz +- cart_bottom.png +- cart_side.png +- cart_top.png + +klankbeeld (CC-BY 3.0) +- http://freesound.org/people/klankbeeld/sounds/174042/ +- cart_rail.*.ogg + +Zeg9 +- cart.x +- cart.png \ No newline at end of file diff --git a/boost_cart/README.txt b/boost_cart/README.txt deleted file mode 100644 index 994a6ef..0000000 --- a/boost_cart/README.txt +++ /dev/null @@ -1,57 +0,0 @@ - Minetest mod: boost_cart -========================== -Based on (and fully compatible with) the mod "carts" by PilzAdam -and the one contained in the subgame "minetest_game". -Target: Run smoothly as possible, even on laggy servers. - - - Features ----------- -- A fast cart for your railway or roller coaster -- Easily configurable cart speed using the Advanced Settings -- Boost and brake rails -- By mesecons controlled Start-Stop rails -- Detector rails that send a mesecons signal when the cart drives over them -- Rail junction switching with the 'right/left' walking keys -- Handbrake with the 'back' key -- Support for non-minetest_game subgames - - - Settings ----------- -This mod can be adjusted to fit the conditions of a player or server. -Use the Advanced Settings dialog in the main menu or tune your -minetest.conf file manually: - -boost_cart.speed_max = 10 - ^ Possible values: 1 ... 100 - ^ Maximal speed of the cart in m/s - -boost_cart.punch_speed_max = 7 - ^ Possible values: -1 ... 100 - ^ Maximal speed to which the driving player can accelerate the cart - by punching from inside the cart. -1 will disable this feature. - - - License for everything ------------------------- -CC-0, if not specified otherwise below - - - Authors ---------- -Various authors - carts_rail_*.png - -kddekadenz - cart_bottom.png - cart_side.png - cart_top.png - -klankbeeld (CC-BY 3.0) - http://freesound.org/people/klankbeeld/sounds/174042/ - cart_rail.*.ogg - -Zeg9 - cart.x - cart.png \ No newline at end of file diff --git a/boost_cart/cart_entity.lua b/boost_cart/cart_entity.lua index f25e6c3..5368b5e 100644 --- a/boost_cart/cart_entity.lua +++ b/boost_cart/cart_entity.lua @@ -1,6 +1,4 @@ -local HAVE_MESECONS_ENABLED = minetest.global_exists("mesecon") - function boost_cart:on_rail_step(entity, pos, distance) -- Play rail sound if entity.sound_counter <= 0 then @@ -13,7 +11,7 @@ function boost_cart:on_rail_step(entity, pos, distance) end entity.sound_counter = entity.sound_counter - distance - if HAVE_MESECONS_ENABLED then + if boost_cart.MESECONS then boost_cart:signal_detector_rail(pos) end end @@ -40,7 +38,7 @@ local cart_entity = { } -- Model and textures -if boost_cart.mtg_compat then +if boost_cart.MTG_CARTS then cart_entity.initial_properties.mesh = "carts_cart.b3d" cart_entity.initial_properties.textures = {"carts_cart.png"} end @@ -97,6 +95,7 @@ end function cart_entity:on_detach_child(child) if child and child:get_player_name() == self.driver then self.driver = nil + boost_cart:manage_attachment(child, nil) end end @@ -157,7 +156,8 @@ function cart_entity:on_punch(puncher, time_from_last_punch, tool_capabilities, end local punch_interval = 1 - if tool_capabilities and tool_capabilities.full_punch_interval then + -- Faulty tool registrations may cause the interval to be set to 0 ! + if tool_capabilities and (tool_capabilities.full_punch_interval or 0) > 0 then punch_interval = tool_capabilities.full_punch_interval end time_from_last_punch = math.min(time_from_last_punch or punch_interval, punch_interval) @@ -289,7 +289,7 @@ function cart_entity:on_step(dtime) acc = speed_mod * 10 end end - if acc == nil and boost_cart.mtg_compat then + if acc == nil and boost_cart.MTG_CARTS then -- MTG Cart API adaption local rail_node = minetest.get_node(vector.round(pos)) local railparam = carts.railparams[rail_node.name] @@ -305,6 +305,12 @@ function cart_entity:on_step(dtime) acc = -0.4 end end + if ctrl and ctrl.sneak then + -- Descend when sneak is pressed + boost_cart:manage_attachment(player, nil) + player = nil + ctrl = nil + end if acc then -- Slow down or speed up, depending on Y direction @@ -341,10 +347,13 @@ function cart_entity:on_step(dtime) if self.punched then -- Collect dropped items for _, obj_ in pairs(minetest.get_objects_inside_radius(pos, 1)) do - if not obj_:is_player() and - obj_:get_luaentity() and - not obj_:get_luaentity().physical_state and - obj_:get_luaentity().name == "__builtin:item" then + local ent = obj_:get_luaentity() + -- Careful here: physical_state and disable_physics are item-internal APIs + if ent and ent.name == "__builtin:item" and ent.physical_state then + -- Check API to support 5.2.0 and older + if ent.disable_physics then + ent:disable_physics() + end obj_:set_attach(self.object, "", {x=0, y=0, z=0}, {x=0, y=0, z=0}) self.attached_items[#self.attached_items + 1] = obj_ @@ -380,18 +389,14 @@ function cart_entity:on_step(dtime) -- Change player model rotation, depending on the Y direction if player and dir.y ~= old_y_dir then - local feet = {x=0, y=0, z=0} + local feet = {x=0, y=-4, z=0} local eye = {x=0, y=-4, z=0} - feet.y = boost_cart.old_player_model and 6 or -4 + if dir.y ~= 0 then -- TODO: Find a better way to calculate this - if boost_cart.old_player_model then - feet.y = feet.y + 2 - feet.z = -dir.y * 6 - else - feet.y = feet.y + 4 - feet.z = -dir.y * 2 - end + feet.y = feet.y + 4 + feet.z = -dir.y * 2 + eye.z = -dir.y * 8 end player:set_attach(self.object, "", feet, @@ -414,7 +419,7 @@ end minetest.register_entity(":carts:cart", cart_entity) -- Register item to place the entity -if not boost_cart.mtg_compat then +if not boost_cart.MTG_CARTS then minetest.register_craftitem(":carts:cart", { description = "Cart (Sneak+Click to pick up)", inventory_image = minetest.inventorycube( diff --git a/boost_cart/depends.txt b/boost_cart/depends.txt deleted file mode 100644 index 705a8eb..0000000 --- a/boost_cart/depends.txt +++ /dev/null @@ -1,4 +0,0 @@ -default -mesecons? -moreores? -carts? \ No newline at end of file diff --git a/boost_cart/description.txt b/boost_cart/description.txt deleted file mode 100644 index bbb244c..0000000 --- a/boost_cart/description.txt +++ /dev/null @@ -1 +0,0 @@ -This mod offers improved minecarts and a few more rail types. \ No newline at end of file diff --git a/boost_cart/functions.lua b/boost_cart/functions.lua index b77deea..77d2dde 100644 --- a/boost_cart/functions.lua +++ b/boost_cart/functions.lua @@ -10,19 +10,18 @@ function boost_cart:manage_attachment(player, obj) if not player then return end - local status = obj ~= nil - local player_name = player:get_player_name() - if default.player_attached[player_name] == status then + local wants_attach = obj ~= nil + local attached = player:get_attach() ~= nil + + if attached == wants_attach then return end - default.player_attached[player_name] = status - if status then - local y_pos = self.old_player_model and 6 or -4 - if player:get_properties().visual == "upright_sprite" then - y_pos = -4 - end - player:set_attach(obj, "", {x=0, y=y_pos, z=0}, {x=0, y=0, z=0}) + local player_name = player:get_player_name() + boost_cart.player_attached[player_name] = wants_attach + + if wants_attach then + player:set_attach(obj, "", {x=0, y=-4, z=0}, {x=0, y=0, z=0}) player:set_eye_offset({x=0, y=-4, z=0},{x=0, y=-4, z=0}) else player:set_detach() diff --git a/boost_cart/init.lua b/boost_cart/init.lua index 4261b9a..874b9a2 100644 --- a/boost_cart/init.lua +++ b/boost_cart/init.lua @@ -1,12 +1,15 @@ +if not minetest.features.object_use_texture_alpha then + error("[boost_cart] Your Minetest version is no longer supported." + .. " (Version < 5.0.0)") +end + boost_cart = {} boost_cart.modpath = minetest.get_modpath("boost_cart") - - -if not minetest.settings then - error("[boost_cart] Your Minetest version is no longer supported." - .. " (Version <= 0.4.15)") -end +boost_cart.MESECONS = minetest.global_exists("mesecon") +boost_cart.MTG_CARTS = minetest.global_exists("carts") and carts.pathfinder +boost_cart.PLAYER_API = minetest.global_exists("player_api") +boost_cart.player_attached = {} local function getNum(setting) return tonumber(minetest.settings:get(setting)) @@ -20,27 +23,22 @@ boost_cart.punch_speed_max = getNum("boost_cart.punch_speed_max") or 7 boost_cart.path_distance_max = 3 --- Support for non-default games -if not default.player_attached then - default.player_attached = {} +if boost_cart.PLAYER_API then + -- This is a table reference! + boost_cart.player_attached = player_api.player_attached end -minetest.after(0, function() - boost_cart.old_player_model = not minetest.global_exists("player_api") -end) - dofile(boost_cart.modpath.."/functions.lua") dofile(boost_cart.modpath.."/rails.lua") -if minetest.global_exists("mesecon") then +if boost_cart.MESECONS then dofile(boost_cart.modpath.."/detector.lua") --else -- minetest.register_alias("carts:powerrail", "boost_cart:detectorrail") -- minetest.register_alias("carts:powerrail", "boost_cart:detectorrail_on") end -boost_cart.mtg_compat = minetest.global_exists("carts") and carts.pathfinder -if boost_cart.mtg_compat then +if boost_cart.MTG_CARTS then minetest.log("action", "[boost_cart] Overwriting definitions of similar carts mod") end dofile(boost_cart.modpath.."/cart_entity.lua") diff --git a/boost_cart/mod.conf b/boost_cart/mod.conf index 7da19df..6ddf5ed 100644 --- a/boost_cart/mod.conf +++ b/boost_cart/mod.conf @@ -1 +1,7 @@ -name = boost_cart \ No newline at end of file +name = boost_cart +description = """ +Boost Cart +The mod that add a cart and new kinds of rails to your world. +""" +depends = default +optional_depends = mesecons, moreores, carts, player_api diff --git a/boost_cart/rails.lua b/boost_cart/rails.lua index 66604f5..0fb1a33 100644 --- a/boost_cart/rails.lua +++ b/boost_cart/rails.lua @@ -16,18 +16,21 @@ boost_cart:register_rail(":"..regular_rail_itemname, { }) -- Moreores' copper rail +local copperrail_registered = false if minetest.get_modpath("moreores") then minetest.register_alias("carts:copperrail", "moreores:copper_rail") - if minetest.raillike_group then + local raildef = minetest.registered_nodes["moreores:copper_rail"] + if raildef and minetest.raillike_group then -- Ensure that this rail uses the same connect_to_raillike - local new_groups = minetest.registered_nodes["moreores:copper_rail"].groups - new_groups.connect_to_raillike = minetest.raillike_group("rail") + raildef.groups.connect_to_raillike = minetest.raillike_group("rail") minetest.override_item("moreores:copper_rail", { - groups = new_groups + groups = raildef.groups }) + copperrail_registered = true end -else +end +if not copperrail_registered then boost_cart:register_rail(":carts:copperrail", { description = "Copper rail", tiles = { diff --git a/boost_cart/textures/crossing_rails.png b/boost_cart/textures/crossing_rails.png deleted file mode 100644 index a32a264086e73e2f03fac680c338461c67b931c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmV+x0qOpUP)<`9 zQ>7A^=h-z)qx!!0c|zhi4prB6s@CH?&zmpHvbd0>ueJ6~3HsZ%c^`R*$-eKtkkgq! zi#T}t*--zN!iCixS cyhRa4Pyb0?p7ZYlYi(tW zk(~3M03hy^5{WUcHwYnAq+O8K`e@&$0;D?UhTx+BFzVicQvqrt`3W8hknFu*f^Qp? zQdZbs!A|v|;98EI^A%ur{Oi?pV@$=UT?0z#QmRs_a?bk(*za~lXRwr#2qBJ6urq)A Z?FTXjTl27DvatXF002ovPDHLkV1lXSTl)Y2 diff --git a/boost_cart/textures/rail_curved_upgrade.png b/boost_cart/textures/rail_curved_upgrade.png deleted file mode 100644 index 78d9251c7b9713722fe233d923fe91fef45422ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`UY;(FAr*6y6Bh_<=y72F_dorI z|1?H}-ku(w9u>(3Z{866zY^iDY?!~#~ur)ZOq&)fm{r!Doo%nq+%caC(gcKC?_51y2ZD5p=lH!?f zU$1t*;q-L<;Ac(g=jR2cF$5+WRDOE$f6tyh3HuLaNHlzO%$o4i;J}F!Ck{-SJ-geu ktAnv(uR+#<07C|byTA0GtnNPT4|EKJr>mdKI;Vst0G#7VhyVZp diff --git a/boost_cart/textures/rail_sleepers.png b/boost_cart/textures/rail_sleepers.png deleted file mode 100644 index 5157195387bbca3942f379540db71b659a7a6727..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 391 zcmV;20eJq2P)(4)6`rW5r459+;U^XKVCw8A@1gqM1 z>=9T11bDev7+!w(#UQ}V!obeT#PIX?Ke$2sK(R}&K0*v&L~_Bjtxp*l$OJ5el@MXT zvMRIx4F4gH`1QJ6%hjm%*p{I3x^iJ$wx} z@#EJ&V1M6x!UX2S!U2RqY*09Wz?o}b5iV$0dVdgv!Mo2t!2+Okz{APH@a6j-aC(pw zVrRJj{2Q1J3L9=th@B|u;PkcUV2xl2sAph)e)@ui;m5Ck@bvHtO8-Z8LH~xw0~`jk zi;e!noFD=8^QW(W;qfjj3P}%dKS9C>=0%W~bEjN{gu&fMZ{eQ0diNhZ?m_hX51--w l|M2w>b{BN4en@s0002NnlNQtC4JZHr002ovPDHLkV1jERxUT>J diff --git a/boost_cart/textures/rail_sleepers_curved.png b/boost_cart/textures/rail_sleepers_curved.png deleted file mode 100644 index 36f76394f260d5a6d874829cb4b83701b7f8c581..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 436 zcmV;l0ZaagP)KgN!&2`7ZeXA5)AZ114;I%vi|C@PA^q{{Q@` z7a4IHP#dNEUs*;F#jh~%`_F#{er{I$F8KND55wIj?->@B8~=~*Jd0w8ARjx!$FINf z8_>1pA!BKX-2W#pzc8$>GyfmjbP{ez^Rl~)pxBsEX!t*)|2!kkFz8!pR!h&45T>u098y+*3g~@#{CkscYZC zf%f&sU$91GCqrzN{r>|f2MUv058g5`!n^>o0j97p;QxOfE;feupMJs(;|2yK$YroF z0VPQ_1!0Cuw_an00Z0)N7oK=whA}e!XE=Z36~mj4-x*A`CGZF0lr2x-hOx3Rf(?V^ e2YoehuonRzHM$M=xnDp40000Ygr+Ar*6y6CIfU|2O`Vo|2N_ sB7R);c$2T9X2O+*KxQ{y2_2w%-3B&Cr7ySc1GO-Cy85}Sb4q9e087jo9{>OV diff --git a/boost_cart/textures/straight_rails.png b/boost_cart/textures/straight_rails.png deleted file mode 100644 index 99e7bf9594b763bd773c41277eb7cad968c539b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FglULn`LXo$ScRAjsot-8t8} z!`pJgTxQFbz1$WpUwyQc6WwNiDhqn`yh@Rz&x{dz_v&qkBN(3r;QJ<2w_&)aY1Jk#6(bQ^=GtDnm{r-UW|(fCU) diff --git a/coloredwood/.gitignore b/coloredwood/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/coloredwood/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/coloredwood/depends.txt b/coloredwood/depends.txt index f727feb..3ab55ba 100644 --- a/coloredwood/depends.txt +++ b/coloredwood/depends.txt @@ -1,3 +1,4 @@ default unifieddyes moreblocks? +signs_lib? diff --git a/coloredwood/init.lua b/coloredwood/init.lua index da0e859..54aa708 100644 --- a/coloredwood/init.lua +++ b/coloredwood/init.lua @@ -51,6 +51,10 @@ end -- the actual nodes! +local groups = table.copy(minetest.registered_items["default:wood"].groups) +groups.ud_param2_colorable = 1 +groups.not_in_creative_inventory=1 + minetest.register_node("coloredwood:wood_block", { description = "Colored wooden planks", tiles = { "coloredwood_base.png" }, @@ -59,7 +63,7 @@ minetest.register_node("coloredwood:wood_block", { palette = "unifieddyes_palette_extended.png", walkable = true, sunlight_propagates = false, - groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2, not_in_creative_inventory=1, ud_param2_colorable = 1}, + groups = groups, sounds = default.node_sound_wood_defaults(), }) @@ -84,6 +88,7 @@ for _, color in ipairs(unifieddyes.HUES_WITH_GREY) do after_place_node = function(pos, placer, itemstack, pointed_thing) minetest.rotate_node(itemstack, placer, pointed_thing) end, + on_dig = unifieddyes.on_dig, groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=2, not_in_creative_inventory=1, ud_param2_colorable = 1}, } ) @@ -97,6 +102,11 @@ local coloredwood_cuts = {} if coloredwood.enable_stairsplus then + local groups2 = table.copy(minetest.registered_items["default:wood"].groups) + groups2.wood = nil + groups2.ud_param2_colorable = 1 + groups2.not_in_creative_inventory=1 + for _, i in pairs(minetest.registered_nodes) do local chk = string.sub(i.name, 1, 20) @@ -119,7 +129,7 @@ if coloredwood.enable_stairsplus then end minetest.override_item(i.name, { - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1, not_in_creative_inventory=1, ud_param2_colorable = 1}, + groups = groups2, paramtype2 = "colorfacedir", palette = "unifieddyes_palette_greys.png", airbrush_replacement_node = "coloredwood:"..class.."_wood_grey_"..shape @@ -147,10 +157,13 @@ for _, mname in ipairs(coloredwood_cuts) do }) end +groups = table.copy(minetest.registered_items["default:wood"].groups) +groups.ud_param2_colorable = 1 + minetest.override_item("default:wood", { palette = "unifieddyes_palette_extended.png", airbrush_replacement_node = "coloredwood:wood_block", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1, ud_param2_colorable = 1}, + groups = groups, }) default.register_fence("coloredwood:fence", { @@ -158,14 +171,19 @@ default.register_fence("coloredwood:fence", { texture = "coloredwood_fence_base.png", paramtype2 = "color", palette = "unifieddyes_palette_extended.png", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, ud_param2_colorable = 1}, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, ud_param2_colorable = 1, not_in_creative_inventory=1}, sounds = default.node_sound_wood_defaults(), - material = "coloredwood:wood_block" + material = "coloredwood:wood_block", + on_dig = unifieddyes.on_dig, }) +groups = table.copy(minetest.registered_items["default:fence_wood"].groups) +groups.ud_param2_colorable = 1 + minetest.override_item("default:fence_wood", { palette = "unifieddyes_palette_extended.png", - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, ud_param2_colorable = 1} + airbrush_replacement_node = "coloredwood:fence", + groups = groups }) -- Crafts @@ -203,4 +221,10 @@ unifieddyes.register_color_craft({ } }) +if minetest.get_modpath("signs_lib") then + minetest.override_item("coloredwood:fence", { + check_for_pole = true + }) +end + print("[Colored Wood] Loaded!") diff --git a/coloredwood/mod.conf b/coloredwood/mod.conf index dc263d8..f8b9671 100644 --- a/coloredwood/mod.conf +++ b/coloredwood/mod.conf @@ -1 +1,2 @@ name = coloredwood +min_minetest_version = 5.2.0 diff --git a/mydoors/my_door_wood/depends.txt b/mydoors/my_door_wood/depends.txt deleted file mode 100644 index 567219e..0000000 --- a/mydoors/my_door_wood/depends.txt +++ /dev/null @@ -1,3 +0,0 @@ -default -stairs? -moreblocks? \ No newline at end of file diff --git a/mydoors/my_door_wood/init.lua b/mydoors/my_door_wood/init.lua index f3babaa..6aaf536 100644 --- a/mydoors/my_door_wood/init.lua +++ b/mydoors/my_door_wood/init.lua @@ -7,45 +7,18 @@ local door_wood = { -- color, desc, image {"yellow", "Clear Stained", "yellow"}, {"black", "Black", "black"}, } -local function my_door_wood_block_stairs(nodename, def) - local mod = string.match (nodename,"(.+):") - local name = string.match (nodename,":(.+)") - minetest.register_node(nodename,def) - if minetest.get_modpath("moreblocks") then - stairsplus:register_all( - mod, - name, - nodename, - { - description = def.description, - tiles = def.tiles, - groups = def.groups, - sounds = def.sounds, - } - ) - elseif minetest.get_modpath("stairs") then - stairs.register_stair_and_slab(name,nodename, - def.groups, - def.tiles, - ("%s Stair"):format(def.description), - ("%s Slab"):format(def.description), - def.sounds - ) - end -end for i in ipairs(door_wood) do local color = door_wood[i][1] local desc = door_wood[i][2] local img = door_wood[i][3] -my_door_wood_block_stairs("my_door_wood:wood_"..color, { +minetest.register_node("my_door_wood:wood_"..color, { description = desc.." Wood", drawtype = "normal", paramtype = "light", tiles = {"mydoors_"..img.."_wood.png"}, paramtype = "light", groups = {cracky = 2, choppy = 2}, - sounds = default.node_sound_wood_defaults(), }) diff --git a/mymillwork/README.md b/mymillwork/README.md index fff3649..4fe6298 100644 --- a/mymillwork/README.md +++ b/mymillwork/README.md @@ -5,42 +5,19 @@ Crown Mold, Baseboards, Columns and more To minetest Licence - DWYWPL -If you want to add or remove a texture simply edit the table at the top of millwork.lua file. +If you want to add or remove a texture simply edit the materials.lua file. -Right now I have these textures: White, Sandstone, Desert Sand and Clay. The others are commented out. - -Each texture has 28 nodes so careful that you don't add too many textures. +Each texture has 24 nodes so careful that you don't add too many textures. -local material = {--{Name for description}, {image without .png}, {item name}, {mod name} - { "White", "crownmold_white","white","wool"}, - --- { "Cobble", "default_cobble","cobble","default"}, - - { "Sandstone", "default_sandstone","sandstone","default"}, - --- { "Desert Stone", "default_desert_stone","desert_stone","default"}, - --- { "Stone", "default_stone","stone","default"}, - --- { "Tree", "default_tree","tree","default"}, - - { "Desert Sand", "default_desert_sand","desert_sand","default"}, - - { "Clay", "default_clay","clay","default"}, - --- { "Dirt", "default_dirt","dirt","default"}, -} - -Newish API example: +API example: ```lua -mymillwork.register_all( - "default_stone", - "Stone", - "default_stone.png", - {cracky = 3,not_in_creative_inventory=1}, - "default:stone" +mymillwork.register("default:stone", + "default_stone", + "Stone", + "default_stone.png", + {cracky=3, stone=1, not_in_creative_inventory=1}, ) ``` diff --git a/mymillwork/description.txt b/mymillwork/description.txt index d9415f2..a05af2b 100644 --- a/mymillwork/description.txt +++ b/mymillwork/description.txt @@ -2,11 +2,9 @@ Crown molding, columns and baseboards of different styles. -If you want to add or remove a texture simply edit the table at the top of millwork.lua file. +If you want to add or remove a texture simply edit the materials.lua file. -Right now I have these textures: White, Sandstone, Desert Sand and Clay. The others are commented out. - -Each texture has 28 nodes so careful that you don't add too many textures. +Each texture has 24 nodes so careful that you don't add too many textures. diff --git a/mymillwork/init.lua b/mymillwork/init.lua index 5e592fd..6bf57de 100644 --- a/mymillwork/init.lua +++ b/mymillwork/init.lua @@ -1,4 +1,4 @@ mymillwork = {} -dofile(minetest.get_modpath("mymillwork").."/millwork.lua") dofile(minetest.get_modpath("mymillwork").."/machines.lua") -dofile(minetest.get_modpath("mymillwork").."/register.lua") +dofile(minetest.get_modpath("mymillwork").."/nodes.lua") +dofile(minetest.get_modpath("mymillwork").."/materials.lua") diff --git a/mymillwork/materials.lua b/mymillwork/materials.lua new file mode 100644 index 0000000..924b602 --- /dev/null +++ b/mymillwork/materials.lua @@ -0,0 +1,363 @@ +local nici = 1 +-- Default Materials + +--default:stone +mymillwork.register("default:stone", + "default_stone", + "Stone", + "default_stone.png", + {cracky = 3, stone = 1, not_in_creative_inventory = nici} +) + +--default:cobble +mymillwork.register("default:cobble", + "default_cobble", + "Cobblestone", + "default_cobble.png", + {cracky = 3, stone = 2, not_in_creative_inventory = nici} +) + +--default:stonebrick +mymillwork.register("default:stonebrick", + "default_stone_brick", + "Stone Brick", + "default_stone_brick.png", + {cracky = 2, stone = 1, not_in_creative_inventory = nici} +) + +--default:stone_block +mymillwork.register("default:stone_block", + "default_stone_block", + "Stone Block", + "default_stone_block.png", + {cracky = 2, stone = 1, not_in_creative_inventory = nici} +) + +--default:mossycobble +mymillwork.register("default:mossycobble", + "default_mossy_cobble", + "Mossy Cobble", + "default_mossycobble.png", + {cracky = 3, stone = 1, not_in_creative_inventory = nici} +) + +--default:desert_stone +mymillwork.register("default:desert_stone", + "default_desert_stone", + "Desert Stone", + "default_desert_stone.png", + {cracky = 3, stone = 1, not_in_creative_inventory = nici} +) + +--default:desert_cobble +mymillwork.register("default:desert_cobble", + "default_desert_cobble", + "Desert Cobblestone", + "default_desert_cobble.png", + {cracky = 3, stone = 2, not_in_creative_inventory = nici} +) + +--default:desert_stonebrick +mymillwork.register("default:desert_stonebrick", + "default_desert_stone_brick", + "Desert Stone Brick", + "default_desert_stone_brick.png", + {cracky = 2, stone = 1, not_in_creative_inventory = nici} +) +--default:desert_stone_block +mymillwork.register("default:desert_stone_block", + "default_desert_stone_block", + "Desert Stone Block", + "default_desert_stone_block.png", + {cracky = 2, stone = 1, not_in_creative_inventory = nici} +) + +--default:sandstone +mymillwork.register("default:sandstone", + "default_sandstone", + "Sandstone", + "default_sandstone.png", + {crumbly = 1, cracky = 3, not_in_creative_inventory = nici} +) + +--default:sandstonebrick +mymillwork.register("default:sandstonebrick", + "default_sandstone_brick", + "Sandstone Brick", + "default_sandstone_brick.png", + {cracky = 3, not_in_creative_inventory = nici} +) + +--default:sandstone_block +mymillwork.register("default:sandstone_block", + "default_sandstone_block", + "Sandstone Block", + "default_sandstone_block.png", + {cracky = 2, not_in_creative_inventory = nici} +) + +--default:desert_sandstone +mymillwork.register("default:desert_sandstone", + "default_desert_sandstone", + "Desert Sandstone", + "default_desert_sandstone.png", + {crumbly = 1, cracky = 3, not_in_creative_inventory = nici} +) + +--default:desert_sandstone_brick +mymillwork.register("default:desert_sandstone_brick", + "default_desert_sandstone_brick", + "Desert Sandstone Brick", + "default_desert_sandstone_brick.png", + {cracky = 2, not_in_creative_inventory = nici} +) + +--default:desert_sandstone_block +mymillwork.register("default:desert_sandstone_block", + "default_desert_sandstone_block", + "Desert Sandstone Block", + "default_desert_sandstone_block.png", + {cracky = 2, not_in_creative_inventory = nici} +) + +--default:silver_sandstone +mymillwork.register("default:silver_sandstone", + "default_silver_sandstone", + "Silver Sandstone", + "default_silver_sandstone.png", + {crumbly = 1, cracky = 3, not_in_creative_inventory = nici} +) + +--default:silver_sandstone_brick +mymillwork.register("default:silver_sandstone_brick", + "default_silver_sandstone_brick", + "Silver Sandstone Brick", + "default_silver_sandstone_brick.png", + {cracky = 2, not_in_creative_inventory = nici} +) + +--default:silver_sandstone_block +mymillwork.register("default:silver_sandstone_block", + "default_silver_sandstone_block", + "Silver Sandstone Blocl", + "default_silver_sandstone_block.png", + {cracky = 2, not_in_creative_inventory = nici} +) + +--default:obsidian +mymillwork.register("default:obsidian", + "default_obsidian", + "Obsidian", + "default_obsidian.png", + {cracky = 1, level = 2, not_in_creative_inventory = nici} +) + +--default:obsidianbrick +mymillwork.register("default:obsidianbrick", + "default_obsidian_brick", + "Obsidian Brick", + "default_obsidian_brick.png", + {cracky = 1, level = 2, not_in_creative_inventory = nici} +) + +--default:obsidian_block +mymillwork.register("default:obsidian_block", + "default_obsidian_block", + "Obsidian Block", + "default_obsidian_block.png", + {cracky = 1, level = 2, not_in_creative_inventory = nici} +) + +--default:clay +mymillwork.register("default:clay", + "default_clay", + "Clay", + "default_clay.png", + {crumbly = 3, not_in_creative_inventory = nici} +) + +--default:snow + +--default:snowblock +mymillwork.register("default:snowblock", + "default_snowblock", + "Snow Block", + "default_snow.png", + {crumbly = 3, not_in_creative_inventory = nici} +) + +--default:ice +mymillwork.register("default:ice", + "default_ice", + "Ice", + "default_ice.png", + {crumbly = 3, not_in_creative_inventory = nici} +) + +--default:tree +mymillwork.register("default:tree", + "default_tree", + "Tree", + "default_tree.png", + {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, not_in_creative_inventory = nici} +) + +--default:wood +mymillwork.register("default:wood", + "default_wood", + "Wood", + "default_wood.png", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1, not_in_creative_inventory = nici} +) + +--default:jungletree +mymillwork.register("default:jungletree", + "default_jungletree", + "Jungle Tree", + "default_jungletree.png", + {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, not_in_creative_inventory = nici} +) + +--default:junglewood +mymillwork.register("default:junglewood", + "default_junglewood", + "Jungle Wood", + "default_junglewood.png", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1, not_in_creative_inventory = nici} +) + +--default:pine_tree +mymillwork.register("default:pine_tree", + "default_pine_tree", + "Pine Tree", + "default_pine_tree.png", + {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3, not_in_creative_inventory = nici} +) + +--default:pine_wood +mymillwork.register("default:pine_wood", + "default_pine_wood", + "Pine Wood", + "default_pine_wood.png", + {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1, not_in_creative_inventory = nici} +) + +--default:acacia_tree +mymillwork.register("default:acacia_tree", + "default_acacia_tree", + "Acacia Tree", + "default_acacia_tree.png", + {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, not_in_creative_inventory = nici} +) + +--default:acacia_wood +mymillwork.register("default:acacia_wood", + "default_acacia_wood", + "Acacia Wood", + "default_acacia_wood.png", + {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1, not_in_creative_inventory = nici} +) + +--default:aspen_tree +mymillwork.register("default:aspen_tree", + "default_aspen_tree", + "Aspen Tree", + "default_aspen_tree.png", + {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3, not_in_creative_inventory = nici} +) + +--default:aspen_wood +mymillwork.register("default:aspen_wood", + "default_aspen_wood", + "Aspen Wood", + "default_aspen_wood.png", + {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1, not_in_creative_inventory = nici} +) + +--default:coalblock +mymillwork.register("default:coalblock", + "default_coal_block", + "Coal Block", + "default_coal_block.png", + {cracky = 3, not_in_creative_inventory = nici} +) + +--default:steelblock +mymillwork.register("default:steelblock", + "default_steel_block", + "Steel Block", + "default_steel_block.png", + {cracky = 1, level = 2, not_in_creative_inventory = nici} +) + +--default:copperblock +mymillwork.register("default:copperblock", + "default_copper_block", + "Copper Block", + "default_copper_block.png", + {cracky = 1, level = 2, not_in_creative_inventory = nici} +) + +--default:tinblock +mymillwork.register("default:tinblock", + "default_tin_block", + "Tin Block", + "default_tin_block.png", + {cracky = 1, level = 2, not_in_creative_inventory = nici} +) + +--default:bronzeblock +mymillwork.register("default:bronzeblock", + "default_bronze_block", + "Bronze Block", + "default_bronze_block.png", + {cracky = 1, level = 2, not_in_creative_inventory = nici} +) + +--default:goldblock +mymillwork.register("default:goldblock", + "default_gold_block", + "Gold Block", + "default_gold_block.png", + {cracky = 1, level = 2, not_in_creative_inventory = nici} +) + +--default:mese +mymillwork.register("default:mese", + "default_mese_block", + "Mese Block", + "default_mese_block.png", + {cracky = 1, level = 2, not_in_creative_inventory = nici} +) + +--default:diamondblock +mymillwork.register("default:diamondblock", + "default_diamond_block", + "Diamond Block", + "default_diamond_block.png", + {cracky = 1, level = 3, not_in_creative_inventory = nici} +) + +--default:glass +mymillwork.register("default:glass", + "default_glass", + "Glass", + "default_glass.png", + {cracky = 3, oddly_breakable_by_hand = 3, not_in_creative_inventory = nici} +) + +--default:obsidian_glass +mymillwork.register("default:obsidian_glass", + "default_obsidian_glass", + "Obsidian Glass", + "default_obsidian_glass.png", + {cracky = 3, oddly_breakable_by_hand = 3, not_in_creative_inventory = nici} +) + +--default:brick +mymillwork.register("default:brick", + "default_brick", + "Brick", + "default_brick.png", + {cracky = 3, not_in_creative_inventory = nici} +) diff --git a/mymillwork/millwork.lua b/mymillwork/millwork.lua deleted file mode 100644 index a3e8891..0000000 --- a/mymillwork/millwork.lua +++ /dev/null @@ -1,779 +0,0 @@ -mymillwork.registered = {} - -function mymillwork.register_all(mat, desc, image, group, itm) - -minetest.register_node(":mymillwork:crownmould_"..mat, { - description = desc.." Crown Mould", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, 0.5, 0.4375, 0.5, -0.5, 0.5}, - {-0.5, 0.4375, 0.375, 0.5, 0.25, 0.5}, - {-0.5, 0.125, 0.375, 0.5, -0.5, 0.5}, - {-0.5, -0.0625, 0.3125, 0.5, -0.5, 0.5}, - {-0.5, -0.1875, 0.25, 0.5, -0.5, 0.5}, - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - {-0.5, -0.375, -0.4375, 0.5, -0.5, -0.25}, - {-0.5, -0.375, -0.125, 0.5, -0.5, 0.5}, - {-0.5, -0.3125, 0.0625, 0.5, -0.5, 0.5}, - {-0.5, -0.25, 0.1875, 0.5, -0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,-0.5,0.5,0.5,0.5}, - }, - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:crownmould_ic_"..mat, { - description = desc.." Crown Mould IC", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, 0.5, 0.4375, 0.5, -0.5, 0.5}, - {-0.5, 0.4375, 0.375, 0.5, 0.25, 0.5}, - {-0.5, 0.125, 0.375, 0.5, -0.5, 0.5}, - {-0.5, -0.0625, 0.3125, 0.5, -0.5, 0.5}, - {-0.5, -0.1875, 0.25, 0.5, -0.5, 0.5}, - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - {-0.5, -0.375, -0.4375, 0.5, -0.5, -0.25}, - {-0.5, -0.375, -0.125, 0.5, -0.5, 0.5}, - {-0.5, -0.3125, 0.0625, 0.5, -0.5, 0.5}, - {-0.5, -0.25, 0.1875, 0.5, -0.5, 0.5}, - {0.4375, 0.5, -0.5, 0.5, -0.5, 0.5}, - {0.375, 0.4375, -0.5, 0.5, 0.25, 0.5}, - {0.375, 0.125, -0.5, 0.5, -0.5, 0.5}, - {0.3125, -0.0625, -0.5, 0.5, -0.5, 0.5}, - {0.25, -0.1875, -0.5, 0.5, -0.5, 0.5}, - {-0.4375, -0.375, -0.5, -0.25, -0.5, 0.5}, - {-0.125, -0.375, -0.5, 0.5, -0.5, 0.5}, - {0.0625, -0.3125, -0.5, 0.5, -0.5, 0.5}, - {0.1875, -0.25, -0.5, 0.5, -0.5, 0.5}, - {-0.25, -0.375, -0.25, 0.5, -0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,-0.5,0.5,0.5,0.5}, - }, - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:crownmould_oc_"..mat, { - description = desc.." Crown Mould OC", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - {-0.5, 0.5, 0.4375, -0.4375, -0.5, 0.5}, - {-0.5, 0.4375, 0.375, -0.375, 0.25, 0.5}, - {-0.5, 0.125, 0.375, -0.375, -0.5, 0.5}, - {-0.5, -0.0625, 0.3125, -0.3125, -0.5, 0.5}, - {-0.5, -0.1875, 0.25, -0.25, -0.5, 0.5}, - {-0.5, -0.25, 0.1875, -0.1875, -0.5, 0.5}, - {-0.5, -0.3125, 0.0625, -0.0625, -0.5, 0.5}, - {-0.5, -0.375, -0.125, 0.125, -0.5, 0.5}, - {-0.5, -0.375, -0.4375, 0.4375, -0.5, -0.25}, - {0.25, -0.375, -0.4375, 0.4375, -0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,-0.5,0.5,0.5,0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:crownmould_beam_"..mat, { - description = desc.." Crown Mould with Beam", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, 0.5, 0.4375, 0.5, -0.5, 0.5}, - {-0.5, 0.4375, 0.375, 0.5, 0.25, 0.5}, - {-0.5, 0.125, 0.375, 0.5, -0.5, 0.5}, - {-0.5, -0.0625, 0.3125, 0.5, -0.5, 0.5}, - {-0.5, -0.1875, 0.25, 0.5, -0.5, 0.5}, - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - {-0.5, -0.375, -0.4375, 0.5, -0.5, -0.25}, - {-0.5, -0.375, -0.125, 0.5, -0.5, 0.5}, - {-0.5, -0.3125, 0.0625, 0.5, -0.5, 0.5}, - {-0.5, -0.25, 0.1875, 0.5, -0.5, 0.5}, - {-0.25, -0.25, -0.5, 0.25, -0.5, 0.5}, - {-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5}, - {0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:column_" ..mat, { - description = desc.." Column", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.1875, 0.5, 0.5, 0.1875}, - {-0.4375, -0.5, -0.3125, 0.4375, 0.5, 0.3125}, - {-0.375, -0.5, -0.375, 0.375, 0.5, 0.375}, - {-0.3125, -0.5, -0.4375, 0.3125, 0.5, 0.4375}, - {-0.1875, -0.5, -0.5, 0.1875, 0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,-0.5,0.5,0.5,0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:column_base_"..mat, { - description = desc.." Column Base", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.1875, 0.5, 0.5, 0.1875}, - {-0.4375, -0.5, -0.3125, 0.4375, 0.5, 0.3125}, - {-0.375, -0.5, -0.375, 0.375, 0.5, 0.375}, - {-0.3125, -0.5, -0.4375, 0.3125, 0.5, 0.4375}, - {-0.1875, -0.5, -0.5, 0.1875, 0.5, 0.5}, - {-0.5, -0.5, -0.5, 0.5, -0.1875, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,-0.5,0.5,0.5,0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:column_half_"..mat, { - description = desc.." Half Column", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3125, 0.5, 0.5, 0.5}, - {-0.4375, -0.5, 0.1875, 0.4375, 0.5, 0.5}, - {-0.375, -0.5, 0.125, 0.375, 0.5, 0.5}, - {-0.3125, -0.5, 0.0625, 0.3125, 0.5, 0.4375}, - {-0.1875, -0.5, 0, 0.1875, 0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,0,0.5,0.5,0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:column_half_base_"..mat, { - description = desc.." Half Column Base", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3125, 0.5, 0.5, 0.5}, - {-0.1875, -0.5, 0, 0.1875, 0.5, 0.5}, - {-0.4375, -0.5, 0.1875, 0.4375, 0.5, 0.5}, - {-0.3125, -0.5, 0.0625, 0.3125, 0.5, 0.5}, - {-0.375, -0.5, 0.125, 0.375, 0.5, 0.5}, - {-0.5, -0.5, -0.0625, 0.5, -0.1875, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,-0.0625,0.5,0.5,0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:column_half_wbeam_"..mat, { - description = desc.." Half Column Base With Beam", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, 0.5, 0.3125, 0.5, -0.5, 0.5}, - {-0.4375, 0.5, 0.1875, 0.4375, -0.5, 0.5}, - {-0.375, 0.5, 0.125, 0.375, -0.5, 0.5}, - {-0.3125, 0.5, 0.0625, 0.3125, -0.5, 0.4375}, - {-0.1875, 0.5, 0, 0.1875, -0.5, 0.5}, - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - {-0.25, -0.25, -0.5, 0.25, -0.5, 0.5}, - {-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5}, - {0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5}, - {-0.5, -0.375, -0.4375, 0.5, -0.5, -0.25}, - {-0.5, -0.375, -0.125, 0.5, -0.5, 0.5}, - {-0.5, -0.3125, 0.0625, 0.5, -0.5, 0.5}, - {-0.5, -0.25, 0.1875, 0.5, -0.5, 0.5}, - {-0.5, -0.1875, 0.25, 0.5, -0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,-0.5,0.5,0.5,0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:column_quarter_"..mat, { - description = desc.." Quarter Column", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3125, 0, 0.5, 0.5}, - {-0.5, -0.5, 0, -0.3125, 0.5, 0.5}, - {-0.5, -0.5, 0.1875, -0.0625, 0.5, 0.5}, - {-0.5, -0.5, 0.0625, -0.1875, 0.5, 0.5}, - {-0.5, -0.5, 0.125, -0.125, 0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,0,0,0.5,0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:column_quarter_base_"..mat, { - description = desc.." Quarter Column Base", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3125, 0, 0.5, 0.5}, - {-0.5, -0.5, 0, -0.3125, 0.5, 0.5}, - {-0.5, -0.5, 0.1875, -0.0625, 0.5, 0.5}, - {-0.5, -0.5, 0.0625, -0.1875, 0.5, 0.5}, - {-0.5, -0.5, 0.125, -0.125, 0.5, 0.5}, - {-0.5, -0.5, -0.0625, 0.0625, -0.1875, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,-0.5,0.5,0.5,0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:column_quarter_wbase_"..mat, { - description = desc.." Quarter Column Base Baseboard", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3125, 0, 0.5, 0.5}, - {-0.5, -0.5, 0, -0.3125, 0.5, 0.5}, - {-0.5, -0.5, 0.1875, -0.0625, 0.5, 0.5}, - {-0.5, -0.5, 0.0625, -0.1875, 0.5, 0.5}, - {-0.5, -0.5, 0.125, -0.125, 0.5, 0.5}, - {-0.5, -0.5, -0.0625, 0.0625, -0.1875, 0.5}, - {-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5}, - {-0.4375, -0.5, -0.5, -0.5, -0.1875, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,-0.5,0.5,0.5,0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:column_quarter_fancybase_"..mat, { - description = desc.." Quarter Column Base Fancy Baseboard", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3125, 0, 0.5, 0.5}, - {-0.5, -0.5, 0, -0.3125, 0.5, 0.5}, - {-0.5, -0.5, 0.1875, -0.0625, 0.5, 0.5}, - {-0.5, -0.5, 0.0625, -0.1875, 0.5, 0.5}, - {-0.5, -0.5, 0.125, -0.125, 0.5, 0.5}, - {-0.5, -0.5, 0.3125, 0.5, -0.1875, 0.5}, - {-0.5, -0.5, 0.4375, 0.5, 0.1875, 0.5}, - {-0.5, -0.5, 0.375, 0.5, -0.0625, 0.5}, - {-0.5, 0, 0.375, 0.5, 0.125, 0.5}, - {-0.5, -0.5, -0.5, -0.4375, 0.1875, 0.5}, - {-0.5, -0.5, -0.5, -0.3125, -0.1875, 0.5}, - {-0.5, -0.5, -0.5, -0.375, -0.0625, 0.5}, - {-0.5, 0, -0.5, -0.375, 0.125, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5,-0.5,-0.5,0.5,0.5,0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:ceiling_" ..mat, { - description = desc.." Ceiling", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:ceiling_post_"..mat, { - description = desc.." Ceiling with Post", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - {-0.125, 0.5, -0.0625, 0.125, -0.5, 0.0625}, - {-0.0625, 0.5, -0.125, 0.0625, -0.5, 0.125}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - {-0.125, 0.5, -0.0625, 0.125, -0.5, 0.0625}, - {-0.0625, 0.5, -0.125, 0.0625, -0.5, 0.125}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:beam_ceiling_"..mat, { - description = desc.." Ceiling with Beam", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5}, - {-0.1875, -0.25, -0.5, 0.25, -0.5, 0.5}, - {0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5}, - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.1875, -0.5, 0.5, -0.5, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:beam_ceiling_t_"..mat, { - description = desc.." Ceiling with Beam T", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5}, - {-0.1875, -0.25, -0.5, 0.25, -0.5, 0.5}, - {0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5}, - {-0.5, -0.25, -0.25, 0.5, -0.5, 0.25}, - {-0.5, -0.1875, -0.25, 0.5, -0.5, -0.1875}, - {-0.5, -0.1875, 0.1875, 0.5, -0.5, 0.25}, - {-0.25, -0.1875, -0.25, 0.25, -0.5, 0.1875}, - {-0.5, -0.4375, -0.5, 0.5, -0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.1875, -0.5, 0.5, -0.5, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:beam_" ..mat, { - description = desc.." Beam", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5}, - {-0.1875, -0.25, -0.5, 0.25, -0.5, 0.5}, - {0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.25, -0.1875, -0.5, 0.25, -0.5, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:beam_t_"..mat, { - description = desc.." Beam T", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.25, -0.1875, -0.5, -0.1875, -0.5, 0.5}, - {-0.1875, -0.25, -0.5, 0.25, -0.5, 0.5}, - {0.1875, -0.1875, -0.5, 0.25, -0.5, 0.5}, - {-0.5, -0.25, -0.25, 0.5, -0.5, 0.25}, - {-0.5, -0.1875, -0.25, 0.5, -0.5, -0.1875}, - {-0.5, -0.1875, 0.1875, 0.5, -0.5, 0.25}, - {-0.25, -0.1875, -0.25, 0.25, -0.5, 0.1875}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.1875, -0.5, 0.5, -0.5, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:base_" ..mat, { - description = desc.." Baseboard", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3375, 0.5, -0.0875, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:base_ic_"..mat, { - description = desc.." Baseboard IC", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5}, - {-0.4375, -0.5, -0.5, -0.5, -0.1875, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3375, 0.5, -0.0875, 0.5}, - {-0.3375, -0.5, -0.5, -0.5, -0.0875, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:base_oc_"..mat, { - description = desc.." Baseboard OC", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.4375, -0.4375, -0.1875, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3, -0.3, -0.1875, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:base_fancy_"..mat, { - description = desc.." Fancy Baseboard", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3125, 0.5, -0.1875, 0.5}, - {-0.5, -0.5, 0.4375, 0.5, 0.1875, 0.5}, - {-0.5, -0.5, 0.375, 0.5, -0.0625, 0.5}, - {-0.5, 0, 0.375, 0.5, 0.125, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.25, 0.5, 0.25, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:base_fancy_ic_"..mat, { - description = desc.." Fancy Baseboard IC", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3125, 0.5, -0.1875, 0.5}, - {-0.5, -0.5, 0.4375, 0.5, 0.1875, 0.5}, - {-0.5, -0.5, 0.375, 0.5, -0.0625, 0.5}, - {-0.5, 0, 0.375, 0.5, 0.125, 0.5}, - {-0.5, -0.5, -0.5, -0.4375, 0.1875, 0.5}, - {-0.5, -0.5, -0.5, -0.3125, -0.1875, 0.5}, - {-0.5, -0.5, -0.5, -0.375, -0.0625, 0.5}, - {-0.5, 0, -0.5, -0.375, 0.125, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.25, 0.5, 0.25, 0.5}, - {-0.5, -0.5, -0.5, -0.25, 0.25, 0.5}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -minetest.register_node(":mymillwork:base_fancy_oc_"..mat, { - description = desc.." Fancy Baseboard OC", - drawtype = "nodebox", - tiles = {image}, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = true, - groups = group, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.3125, -0.3125, -0.1875, 0.5}, - {-0.5, -0.5, 0.4375, -0.4375, 0.1875, 0.5}, - {-0.5, -0.5, 0.375, -0.375, -0.0625, 0.5}, - {-0.5, 0, 0.375, -0.375, 0.125, 0.5}, - } - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.5, -0.25, 0.25, 0.25}, - } - }, - sounds = default.node_sound_wood_defaults(), - on_place = minetest.rotate_node, -}) - -table.insert(mymillwork.registered, {itm, mat}) - -end diff --git a/mymillwork/models/mymillwork_mach1.obj b/mymillwork/models/mymillwork_mach1.obj new file mode 100644 index 0000000..6b077a2 --- /dev/null +++ b/mymillwork/models/mymillwork_mach1.obj @@ -0,0 +1,399 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v -0.500000 -0.125000 0.375000 +v -0.500000 -0.062500 0.375000 +v 0.500000 -0.125000 0.375000 +v 0.500000 -0.062500 0.375000 +v -0.500000 -0.062500 0.437500 +v 0.500000 -0.062500 0.437500 +v -0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.375000 +v -0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.375000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.125000 0.437500 +v 0.500000 0.125000 0.437500 +v 0.500000 0.250000 0.437500 +v -0.500000 0.250000 0.437500 +v 0.500000 0.250000 0.375000 +v -0.500000 0.250000 0.375000 +v 0.500000 0.437500 0.375000 +v -0.500000 0.437500 0.375000 +v -0.500000 0.437500 0.437500 +v 0.500000 0.437500 0.437500 +v -0.500000 0.500000 0.437500 +v 0.500000 0.500000 0.437500 +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.437500 -0.500000 +v 0.500000 -0.437500 -0.500000 +v -0.500000 -0.437500 -0.437500 +v 0.500000 -0.437500 -0.437500 +v -0.500000 -0.375000 -0.437500 +v 0.500000 -0.375000 -0.437500 +v -0.500000 -0.375000 -0.250000 +v 0.500000 -0.375000 -0.250000 +v -0.500000 -0.437500 -0.250000 +v 0.500000 -0.437500 -0.250000 +v -0.500000 -0.437500 -0.125000 +v 0.500000 -0.437500 -0.125000 +v -0.500000 -0.375000 -0.125000 +v 0.500000 -0.375000 -0.125000 +v -0.500000 -0.375000 -0.000000 +v 0.500000 -0.375000 0.000000 +v -0.500000 -0.437500 -0.000000 +v 0.500000 -0.437500 0.000000 +v -0.500000 -0.437500 0.062500 +v 0.500000 -0.437500 0.062500 +v -0.500000 -0.375000 0.062500 +v 0.500000 -0.375000 0.062500 +v -0.500000 -0.375000 0.125000 +v 0.500000 -0.375000 0.125000 +v 0.500000 -0.172197 0.339286 +v -0.500000 -0.172197 0.339286 +v -0.500000 -0.217358 0.301029 +v 0.500000 -0.217358 0.301029 +v -0.500000 -0.260345 0.260345 +v 0.500000 -0.260345 0.260345 +v -0.500000 -0.301029 0.217358 +v 0.500000 -0.301029 0.217358 +v -0.500000 -0.339286 0.172197 +v 0.500000 -0.339286 0.172197 +v -0.500000 -0.375000 -0.000000 +v -0.500000 -0.125000 0.375000 +v -0.500000 -0.062500 0.437500 +v -0.500000 -0.062500 0.375000 +v -0.500000 0.000000 0.437500 +v -0.500000 0.125000 0.375000 +v -0.500000 0.000000 0.375000 +v -0.500000 0.125000 0.437500 +v -0.500000 0.250000 0.437500 +v -0.500000 0.250000 0.375000 +v 0.500000 -0.437500 -0.250000 +v 0.500000 -0.375000 -0.437500 +v 0.500000 -0.437500 0.000000 +v 0.500000 -0.375000 -0.125000 +v 0.500000 -0.375000 0.000000 +v 0.500000 -0.437500 0.062500 +v 0.500000 -0.125000 0.375000 +v 0.500000 -0.062500 0.437500 +v 0.500000 -0.062500 0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.437500 +vt 0.000000 0.375000 +vt 0.000000 0.437500 +vt 1.000000 0.375000 +vt 1.000000 0.437500 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 0.000000 0.437500 +vt 0.000000 0.500000 +vt 1.000000 0.437500 +vt 1.000000 0.500000 +vt 1.000000 0.062500 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 0.000000 0.125000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 0.625000 +vt 0.000000 0.625000 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.625000 +vt 0.000000 0.625000 +vt 1.000000 0.750000 +vt 0.000000 0.750000 +vt 1.000000 0.062500 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 0.000000 0.125000 +vt 1.000000 0.750000 +vt 0.000000 0.750000 +vt 1.000000 0.937500 +vt 0.000000 0.937500 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 0.000000 0.937500 +vt 0.000000 1.000000 +vt 1.000000 0.937500 +vt 1.000000 1.000000 +vt 0.000000 0.062500 +vt 0.000000 0.000000 +vt 1.000000 0.062500 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.062500 +vt 1.000000 0.000000 +vt 1.000000 0.062500 +vt 0.000000 1.000000 +vt 0.000000 0.937500 +vt 1.000000 1.000000 +vt 1.000000 0.937500 +vt 0.000000 0.062500 +vt 0.000000 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 0.000000 0.937500 +vt 0.000000 0.750000 +vt 1.000000 0.937500 +vt 1.000000 0.750000 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 0.000000 0.750000 +vt 0.000000 0.625000 +vt 1.000000 0.750000 +vt 1.000000 0.625000 +vt 0.000000 0.062500 +vt 0.000000 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 0.000000 0.625000 +vt 0.000000 0.500000 +vt 1.000000 0.625000 +vt 1.000000 0.500000 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 0.000000 0.500000 +vt 0.000000 0.437500 +vt 1.000000 0.500000 +vt 1.000000 0.437500 +vt 0.000000 0.062500 +vt 0.000000 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 0.000000 0.437500 +vt 0.000000 0.375000 +vt 1.000000 0.437500 +vt 1.000000 0.375000 +vt 1.000000 0.327803 +vt 0.000000 0.327803 +vt 0.000000 0.282642 +vt 1.000000 0.282642 +vt 0.000000 0.239655 +vt 1.000000 0.239655 +vt 0.000000 0.282642 +vt 1.000000 0.282642 +vt 0.000000 0.327803 +vt 1.000000 0.327803 +vt 1.000000 0.000000 +vt 0.937500 0.062500 +vt 1.000000 0.062500 +vt 0.750000 0.062500 +vt 0.750000 0.125000 +vt 0.937500 0.125000 +vt 0.625000 0.062500 +vt 0.500000 0.062500 +vt 0.500000 0.125000 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.375000 0.125000 +vt 0.437500 0.125000 +vt 0.282642 0.198971 +vt 0.239655 0.239655 +vt 0.327803 0.160714 +vt 0.198971 0.282642 +vt 0.160714 0.327803 +vt 0.125000 0.375000 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.062500 0.500000 +vt 0.125000 0.625000 +vt 0.125000 0.500000 +vt 0.062500 0.625000 +vt 0.062500 0.750000 +vt 0.125000 0.937500 +vt 0.125000 0.750000 +vt 0.062500 0.937500 +vt 0.062500 1.000000 +vt 0.937500 0.062500 +vt 0.750000 0.062500 +vt 0.750000 0.125000 +vt 0.937500 0.125000 +vt 0.625000 0.062500 +vt 0.500000 0.062500 +vt 0.625000 0.125000 +vt 0.500000 0.125000 +vt 0.375000 0.125000 +vt 0.437500 0.062500 +vt 0.437500 0.125000 +vt 0.000000 0.000000 +vt 0.282642 0.198971 +vt 0.239655 0.239655 +vt 0.327803 0.160714 +vt 0.198971 0.282642 +vt 0.160714 0.327803 +vt 0.125000 0.375000 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.125000 0.625000 +vt 0.062500 0.500000 +vt 0.125000 0.500000 +vt 0.062500 0.625000 +vt 0.125000 0.937500 +vt 0.062500 0.750000 +vt 0.125000 0.750000 +vt 0.062500 0.937500 +vt 0.000000 1.000000 +vt 0.062500 1.000000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.6034 -0.7974 +vn 0.0000 0.6464 -0.7630 +vn 0.0000 0.6874 -0.7263 +vn 0.0000 0.7263 -0.6874 +vn 0.0000 0.7630 -0.6464 +vn 0.0000 0.7974 -0.6034 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 2/2/1 4/4/1 +f 2/5/2 5/6/2 4/7/2 +f 4/7/2 5/6/2 6/8/2 +f 5/9/1 7/10/1 6/11/1 +f 6/11/1 7/10/1 8/12/1 +f 8/13/3 7/14/3 9/15/3 +f 7/14/3 10/16/3 9/15/3 +f 9/17/1 10/18/1 11/19/1 +f 10/18/1 12/20/1 11/19/1 +f 12/21/2 13/22/2 11/23/2 +f 11/23/2 13/22/2 14/24/2 +f 14/25/1 13/26/1 15/27/1 +f 13/26/1 16/28/1 15/27/1 +f 15/29/3 16/30/3 17/31/3 +f 16/30/3 18/32/3 17/31/3 +f 17/33/1 18/34/1 19/35/1 +f 18/34/1 20/36/1 19/35/1 +f 20/37/2 21/38/2 19/39/2 +f 19/39/2 21/38/2 22/40/2 +f 21/41/1 23/42/1 22/43/1 +f 22/43/1 23/42/1 24/44/1 +f 23/45/2 25/46/2 24/47/2 +f 24/47/2 25/46/2 26/48/2 +f 25/49/4 27/50/4 26/51/4 +f 26/51/4 27/50/4 28/52/4 +f 28/52/3 27/50/3 29/53/3 +f 27/50/3 30/54/3 29/53/3 +f 30/55/1 31/56/1 29/57/1 +f 29/57/1 31/56/1 32/58/1 +f 31/59/2 33/60/2 32/61/2 +f 32/61/2 33/60/2 34/62/2 +f 33/63/1 35/64/1 34/65/1 +f 34/65/1 35/64/1 36/66/1 +f 35/67/2 37/68/2 36/69/2 +f 36/69/2 37/68/2 38/70/2 +f 37/71/4 39/72/4 38/73/4 +f 38/73/4 39/72/4 40/74/4 +f 39/75/2 41/76/2 40/77/2 +f 40/77/2 41/76/2 42/78/2 +f 41/79/1 43/80/1 42/81/1 +f 42/81/1 43/80/1 44/82/1 +f 43/83/2 45/84/2 44/85/2 +f 44/85/2 45/84/2 46/86/2 +f 45/87/4 47/88/4 46/89/4 +f 46/89/4 47/88/4 48/90/4 +f 47/91/2 49/92/2 48/93/2 +f 48/93/2 49/92/2 50/94/2 +f 49/95/1 51/96/1 50/97/1 +f 50/97/1 51/96/1 52/98/1 +f 51/99/2 53/100/2 52/101/2 +f 52/101/2 53/100/2 54/102/2 +f 1/1/5 3/3/5 55/103/5 +f 56/104/5 1/1/5 55/103/5 +f 57/105/6 55/103/6 58/106/6 +f 57/105/6 56/104/6 55/103/6 +f 59/107/7 58/106/7 60/108/7 +f 59/107/7 57/105/7 58/106/7 +f 61/109/8 60/108/8 62/110/8 +f 61/109/8 59/107/8 60/108/8 +f 63/111/9 62/110/9 64/112/9 +f 63/111/9 61/109/9 62/110/9 +f 53/100/10 64/112/10 54/102/10 +f 53/100/10 63/111/10 64/112/10 +f 30/113/11 33/114/11 31/115/11 +f 30/113/11 39/116/11 33/114/11 +f 33/114/11 37/117/11 35/118/11 +f 39/116/11 37/117/11 33/114/11 +f 30/113/11 41/119/11 39/116/11 +f 30/113/11 47/120/11 41/119/11 +f 41/119/11 65/121/11 43/122/11 +f 47/120/11 65/121/11 41/119/11 +f 49/123/11 53/124/11 51/125/11 +f 61/126/11 27/50/11 59/127/11 +f 63/128/11 27/50/11 61/126/11 +f 53/124/11 27/50/11 63/128/11 +f 49/123/11 27/50/11 53/124/11 +f 27/50/11 57/129/11 59/127/11 +f 27/50/11 56/130/11 57/129/11 +f 27/50/11 66/131/11 56/130/11 +f 66/131/11 67/132/11 68/133/11 +f 27/50/11 67/132/11 66/131/11 +f 69/134/11 70/135/11 71/136/11 +f 69/134/11 72/137/11 70/135/11 +f 73/138/11 20/139/11 74/140/11 +f 73/138/11 21/141/11 20/139/11 +f 21/141/11 25/49/11 23/142/11 +f 73/138/11 25/49/11 21/141/11 +f 27/50/11 25/49/11 72/137/11 +f 27/50/11 72/137/11 69/134/11 +f 27/50/11 69/134/11 67/132/11 +f 72/137/11 25/49/11 73/138/11 +f 30/113/11 27/50/11 49/123/11 +f 30/113/11 49/123/11 47/120/11 +f 34/143/12 29/57/12 32/58/12 +f 75/144/12 29/57/12 34/143/12 +f 38/145/12 34/143/12 76/146/12 +f 38/145/12 75/144/12 34/143/12 +f 42/147/12 29/57/12 75/144/12 +f 77/148/12 42/147/12 78/149/12 +f 77/148/12 29/57/12 42/147/12 +f 79/150/12 77/148/12 78/149/12 +f 54/151/12 80/152/12 52/153/12 +f 28/154/12 62/155/12 60/156/12 +f 28/154/12 64/157/12 62/155/12 +f 28/154/12 54/151/12 64/157/12 +f 28/154/12 80/152/12 54/151/12 +f 58/158/12 28/154/12 60/156/12 +f 55/159/12 28/154/12 58/158/12 +f 81/160/12 28/154/12 55/159/12 +f 82/161/12 81/160/12 83/162/12 +f 82/161/12 28/154/12 81/160/12 +f 84/163/12 85/164/12 86/165/12 +f 87/166/12 85/164/12 84/163/12 +f 19/167/12 15/168/12 17/169/12 +f 22/170/12 15/168/12 19/167/12 +f 26/171/12 22/170/12 24/172/12 +f 26/171/12 15/168/12 22/170/12 +f 26/171/12 28/154/12 87/166/12 +f 87/166/12 28/154/12 85/164/12 +f 85/164/12 28/154/12 82/161/12 +f 26/171/12 87/166/12 15/168/12 +f 28/154/12 29/57/12 80/152/12 +f 80/152/12 29/57/12 77/148/12 diff --git a/mymillwork/models/mymillwork_mach10.obj b/mymillwork/models/mymillwork_mach10.obj new file mode 100644 index 0000000..ce175d5 --- /dev/null +++ b/mymillwork/models/mymillwork_mach10.obj @@ -0,0 +1,85 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.400544 -0.500000 -0.000000 +v 0.216773 -0.500000 0.076120 +v 0.400544 0.500000 -0.000000 +v 0.216773 0.500000 0.076120 +v 0.500000 0.500000 0.000000 +v 0.500000 -0.500000 0.000000 +v 0.076120 -0.500000 0.216773 +v 0.076120 0.500000 0.216773 +v 0.000000 -0.500000 0.400544 +v 0.500000 -0.500000 0.500000 +v 0.000000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.000000 0.500000 0.400544 +v 0.000000 0.500000 0.500000 +vt 0.900544 0.000000 +vt 0.716773 0.000000 +vt 0.900544 1.000000 +vt 0.716773 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.576120 0.000000 +vt 0.576120 1.000000 +vt 0.500000 0.099456 +vt 1.000000 0.000000 +vt 0.500000 0.000000 +vt 0.576120 0.283227 +vt 0.716773 0.423880 +vt 0.900544 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.000000 +vt 0.500000 0.099456 +vt 0.500000 0.000000 +vt 0.576120 0.283227 +vt 0.716773 0.423880 +vt 0.900544 0.500000 +vt 1.000000 0.500000 +vt 0.500000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt 0.283227 1.000000 +vt 0.283227 0.000000 +vt 0.099456 1.000000 +vt 0.099456 0.000000 +vt 1.000000 1.000000 +vt 0.500000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vn -0.3827 0.0000 -0.9239 +vn 0.0000 0.0000 -1.0000 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.9239 0.0000 -0.3827 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 2/2/1 4/4/1 +f 5/5/2 1/1/2 3/3/2 +f 6/6/2 1/1/2 5/5/2 +f 2/2/3 7/7/3 4/4/3 +f 4/4/3 7/7/3 8/8/3 +f 9/9/4 10/10/4 11/11/4 +f 7/12/4 10/10/4 9/9/4 +f 7/12/4 2/13/4 10/10/4 +f 2/13/4 1/14/4 10/10/4 +f 1/14/4 6/15/4 10/10/4 +f 12/16/5 13/17/5 14/18/5 +f 12/16/5 8/19/5 13/17/5 +f 4/20/5 8/19/5 12/16/5 +f 3/21/5 4/20/5 12/16/5 +f 5/22/5 3/21/5 12/16/5 +f 5/23/6 12/24/6 10/25/6 +f 5/23/6 10/25/6 6/26/6 +f 8/27/7 7/28/7 13/29/7 +f 7/28/7 9/30/7 13/29/7 +f 12/31/8 14/32/8 11/11/8 +f 12/31/8 11/11/8 10/10/8 +f 13/29/9 11/33/9 14/34/9 +f 9/30/9 11/33/9 13/29/9 diff --git a/mymillwork/models/mymillwork_mach11.obj b/mymillwork/models/mymillwork_mach11.obj new file mode 100644 index 0000000..cd0392a --- /dev/null +++ b/mymillwork/models/mymillwork_mach11.obj @@ -0,0 +1,105 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.000000 -0.500000 0.000000 +v 0.500000 -0.500000 0.500000 +v 0.000000 -0.500000 0.500000 +v 0.500000 -0.500000 0.000000 +v 0.000000 -0.187500 0.500000 +v 0.000000 -0.187500 0.400544 +v 0.000000 -0.187500 0.000000 +v 0.500000 0.500000 0.500000 +v 0.000000 0.500000 0.500000 +v 0.500000 -0.187500 0.000000 +v 0.500000 0.500000 0.000000 +v 0.400544 -0.187500 0.000000 +v 0.076120 -0.187500 0.216773 +v 0.216773 -0.187500 0.076120 +v 0.000000 0.500000 0.400544 +v 0.076120 0.500000 0.216773 +v 0.216773 0.500000 0.076120 +v 0.400544 0.500000 0.000000 +vt 0.500000 0.500000 +vt 1.000000 0.000000 +vt 0.500000 0.000000 +vt 1.000000 0.500000 +vt 0.000000 0.000000 +vt 0.000000 0.312500 +vt 0.099456 0.312500 +vt 0.500000 0.000000 +vt 0.500000 0.312500 +vt 0.500000 0.312500 +vt 1.000000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 0.312500 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt 0.000000 1.000000 +vt 0.500000 1.000000 +vt 0.900544 0.312500 +vt 1.000000 0.000000 +vt 1.000000 0.312500 +vt 0.576120 0.283227 +vt 0.500000 0.500000 +vt 0.500000 0.099456 +vt 0.716773 0.423880 +vt 0.900544 0.500000 +vt 0.099456 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.500000 0.099456 +vt 0.500000 0.000000 +vt 0.576120 0.283227 +vt 0.716773 0.423880 +vt 0.900544 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.900544 1.000000 +vt 0.283227 0.312500 +vt 0.283227 1.000000 +vt 0.716773 1.000000 +vt 0.716773 0.312500 +vt 0.576120 1.000000 +vt 0.576120 0.312500 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9239 0.0000 -0.3827 +vn -0.7071 0.0000 -0.7071 +vn -0.3827 0.0000 -0.9239 +s off +f 1/1/1 2/2/1 3/3/1 +f 1/1/1 4/4/1 2/2/1 +f 3/5/2 5/6/2 6/7/2 +f 1/8/2 6/7/2 7/9/2 +f 1/8/2 3/5/2 6/7/2 +f 2/2/3 5/10/3 3/3/3 +f 8/11/3 9/12/3 5/10/3 +f 8/11/3 5/10/3 2/2/3 +f 10/13/4 2/14/4 4/15/4 +f 8/16/4 2/14/4 10/13/4 +f 11/17/4 8/16/4 10/13/4 +f 12/18/5 1/8/5 7/9/5 +f 4/19/5 12/18/5 10/20/5 +f 4/19/5 1/8/5 12/18/5 +f 13/21/6 7/22/6 6/23/6 +f 14/24/6 7/22/6 13/21/6 +f 12/25/6 7/22/6 14/24/6 +f 15/26/2 6/7/2 9/27/2 +f 6/7/2 5/6/2 9/27/2 +f 8/28/6 15/29/6 9/30/6 +f 8/28/6 16/31/6 15/29/6 +f 17/32/6 16/31/6 8/28/6 +f 18/33/6 17/32/6 8/28/6 +f 11/34/6 18/33/6 8/28/6 +f 11/35/5 12/18/5 18/36/5 +f 10/20/5 12/18/5 11/35/5 +f 13/37/7 6/7/7 16/38/7 +f 16/38/7 6/7/7 15/26/7 +f 17/39/8 14/40/8 16/41/8 +f 14/40/8 13/42/8 16/41/8 +f 18/36/9 12/18/9 17/39/9 +f 12/18/9 14/40/9 17/39/9 diff --git a/mymillwork/models/mymillwork_mach12.obj b/mymillwork/models/mymillwork_mach12.obj new file mode 100644 index 0000000..7f879a9 --- /dev/null +++ b/mymillwork/models/mymillwork_mach12.obj @@ -0,0 +1,172 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.500000 -0.187500 0.000000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.000000 +v 0.500000 0.500000 0.500000 +v 0.500000 0.500000 0.000000 +v 0.000000 -0.187500 0.500000 +v 0.000000 -0.500000 0.500000 +v 0.000000 0.500000 0.500000 +v 0.000000 0.500000 0.400544 +v 0.076120 0.500000 0.216773 +v 0.216773 0.500000 0.076120 +v 0.400544 0.500000 0.000000 +v 0.000000 -0.500000 0.437500 +v 0.437500 -0.500000 0.000000 +v 0.000000 -0.500000 0.000000 +v 0.437500 -0.187500 -0.000000 +v 0.400544 -0.187500 0.000000 +v 0.500000 -0.187500 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.000000 -0.187500 0.437500 +v 0.000000 -0.187500 0.400544 +v -0.500000 -0.187500 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.076120 -0.187500 0.216773 +v 0.216773 -0.187500 0.076120 +v -0.500000 -0.500000 0.437500 +v 0.000000 -0.187500 0.000000 +v 0.437500 -0.500000 -0.500000 +v 0.437500 -0.187500 -0.500000 +v -0.500000 -0.187500 0.437500 +vt 0.500000 0.312500 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt 0.000000 1.000000 +vt 0.500000 1.000000 +vt 1.000000 0.000000 +vt 0.500000 0.312500 +vt 0.500000 0.000000 +vt 1.000000 1.000000 +vt 0.500000 1.000000 +vt 1.000000 0.000000 +vt 0.500000 0.099456 +vt 0.500000 0.000000 +vt 0.576120 0.283227 +vt 0.716773 0.423880 +vt 0.900544 0.500000 +vt 1.000000 0.500000 +vt 0.500000 0.062500 +vt 0.937500 0.500000 +vt 1.000000 0.500000 +vt 0.500000 0.500000 +vt 1.000000 1.000000 +vt 0.937500 0.312500 +vt 0.900544 1.000000 +vt 1.000000 0.312500 +vt 0.900544 0.312500 +vt 1.000000 0.312500 +vt 1.000000 0.000000 +vt 0.099456 1.000000 +vt 0.062500 0.312500 +vt 0.000000 1.000000 +vt 0.099456 0.312500 +vt 0.000000 0.312500 +vt 0.000000 0.312500 +vt 0.000000 0.000000 +vt 0.283227 0.312500 +vt 0.283227 1.000000 +vt 0.716773 1.000000 +vt 0.716773 0.312500 +vt 0.576120 1.000000 +vt 0.576120 0.312500 +vt 0.000000 0.062500 +vt 0.062500 0.000000 +vt 0.500000 0.000000 +vt 0.500000 0.312500 +vt 0.937500 0.000000 +vt 1.000000 1.000000 +vt 0.937500 1.000000 +vt 0.937500 1.000000 +vt 0.937500 0.500000 +vt 1.000000 1.000000 +vt 1.000000 0.500000 +vt 0.937500 0.000000 +vt 0.937500 0.312500 +vt 0.500000 0.000000 +vt 0.500000 0.062500 +vt 0.000000 0.062500 +vt 0.000000 0.000000 +vt 0.062500 0.000000 +vt 0.062500 0.312500 +vt 0.576120 0.283227 +vt 0.500000 0.500000 +vt 0.500000 0.099456 +vt 0.716773 0.423880 +vt 0.900544 0.500000 +vt 0.500000 0.312500 +vt 0.500000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.312500 +vt 0.500000 0.000000 +vt 0.500000 0.312500 +vt 1.000000 0.000000 +vt 1.000000 0.312500 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn -0.9239 0.0000 -0.3827 +vn -0.7071 0.0000 -0.7071 +vn -0.3827 0.0000 -0.9239 +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 2/2/1 1/1/1 +f 5/5/1 4/4/1 1/1/1 +f 2/6/2 6/7/2 7/8/2 +f 4/9/2 8/10/2 6/7/2 +f 4/9/2 6/7/2 2/6/2 +f 4/11/3 9/12/3 8/13/3 +f 4/11/3 10/14/3 9/12/3 +f 11/15/3 10/14/3 4/11/3 +f 12/16/3 11/15/3 4/11/3 +f 5/17/3 12/16/3 4/11/3 +f 13/18/4 2/6/4 7/8/4 +f 14/19/4 3/20/4 2/6/4 +f 14/19/4 2/6/4 13/18/4 +f 15/21/4 14/19/4 13/18/4 +f 5/22/5 16/23/5 12/24/5 +f 1/25/5 16/23/5 5/22/5 +f 16/23/5 17/26/5 12/24/5 +f 1/1/1 3/3/1 18/27/1 +f 18/27/1 3/3/1 19/28/1 +f 9/29/6 20/30/6 8/31/6 +f 21/32/6 20/30/6 9/29/6 +f 20/30/6 6/33/6 8/31/6 +f 7/8/2 6/7/2 22/34/2 +f 7/8/2 22/34/2 23/35/2 +f 24/36/7 21/32/7 10/37/7 +f 10/37/7 21/32/7 9/29/7 +f 11/38/8 25/39/8 10/40/8 +f 25/39/8 24/41/8 10/40/8 +f 12/24/9 17/26/9 11/38/9 +f 17/26/9 25/39/9 11/38/9 +f 13/18/4 7/8/4 23/35/4 +f 13/18/4 23/35/4 26/42/4 +f 13/43/6 20/30/6 21/32/6 +f 15/44/6 21/32/6 27/45/6 +f 15/44/6 13/43/6 21/32/6 +f 17/26/5 15/44/5 27/45/5 +f 14/46/5 17/26/5 16/23/5 +f 14/46/5 15/44/5 17/26/5 +f 3/20/4 14/19/4 19/47/4 +f 19/47/4 14/19/4 28/48/4 +f 29/49/3 16/50/3 18/51/3 +f 16/50/3 1/52/3 18/51/3 +f 18/27/5 19/28/5 28/53/5 +f 18/27/5 28/53/5 29/54/5 +f 6/55/3 20/56/3 30/57/3 +f 6/55/3 30/57/3 22/58/3 +f 23/35/6 22/34/6 26/59/6 +f 26/59/6 22/34/6 30/60/6 +f 24/61/3 27/62/3 21/63/3 +f 25/64/3 27/62/3 24/61/3 +f 17/65/3 27/62/3 25/64/3 +f 20/66/5 13/67/5 26/68/5 +f 20/66/5 26/68/5 30/69/5 +f 14/70/6 16/71/6 28/72/6 +f 28/72/6 16/71/6 29/73/6 diff --git a/mymillwork/models/mymillwork_mach13.obj b/mymillwork/models/mymillwork_mach13.obj new file mode 100644 index 0000000..2397d88 --- /dev/null +++ b/mymillwork/models/mymillwork_mach13.obj @@ -0,0 +1,443 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body001 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.187500 0.375000 +v -0.500000 -0.500000 0.312500 +v -0.500000 -0.187500 0.312500 +v -0.500000 -0.062500 0.437500 +v -0.500000 -0.062500 0.375000 +v -0.500000 -0.000000 0.437500 +v -0.500000 0.125000 0.375000 +v -0.500000 -0.000000 0.375000 +v -0.500000 0.125000 0.437500 +v -0.500000 0.187500 0.500000 +v -0.500000 0.187500 0.437500 +v -0.000000 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.000000 -0.500000 0.400544 +v -0.500000 -0.500000 0.312500 +v 0.036469 -0.500000 0.312500 +v 0.036469 -0.500000 0.312500 +v -0.500000 -0.187500 0.312500 +v 0.036469 -0.187500 0.312500 +v 0.010581 -0.187500 0.375000 +v -0.500000 -0.187500 0.375000 +v -0.500000 -0.062500 0.375000 +v 0.010581 -0.062500 0.375000 +v -0.000000 -0.062500 0.400544 +v -0.500000 -0.062500 0.437500 +v -0.000000 -0.062500 0.437500 +v -0.500000 -0.000000 0.437500 +v -0.000000 0.000000 0.437500 +v -0.000000 0.000000 0.400544 +v -0.500000 -0.000000 0.375000 +v 0.010581 0.000000 0.375000 +v -0.500000 0.125000 0.375000 +v 0.010581 0.125000 0.375000 +v -0.000000 0.125000 0.400544 +v -0.500000 0.125000 0.437500 +v -0.000000 0.125000 0.437500 +v -0.500000 0.187500 0.437500 +v -0.000000 0.187500 0.437500 +v -0.500000 0.187500 0.500000 +v -0.000000 0.187500 0.500000 +v -0.500000 0.187500 0.500000 +v -0.000000 0.187500 0.500000 +v 0.312500 -0.500000 0.500000 +v 0.312500 -0.500000 0.312500 +v 0.076120 0.500000 0.216773 +v -0.000000 0.500000 0.400544 +v 0.076120 -0.500000 0.216773 +v -0.000000 0.500000 0.400544 +v -0.000000 0.187500 0.437500 +v -0.000000 0.500000 0.500000 +v -0.000000 0.125000 0.400544 +v -0.000000 0.125000 0.437500 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.216773 -0.500000 0.076120 +v 0.312500 -0.500000 0.036469 +v 0.500000 -0.500000 0.312500 +v 0.076120 0.500000 0.216773 +v 0.216773 0.500000 0.076120 +v 0.400544 0.500000 -0.000000 +v 0.500000 0.500000 -0.000000 +v 0.216773 0.500000 0.076120 +v 0.500000 -0.500000 0.000000 +v 0.500000 0.187500 -0.000000 +v 0.400544 0.500000 -0.000000 +v 0.375000 0.125000 0.010581 +v 0.400544 0.125000 -0.000000 +v 0.400544 0.000000 -0.000000 +v 0.375000 -0.062500 0.010581 +v 0.375000 0.000000 0.010581 +v 0.400544 -0.062500 -0.000000 +v 0.375000 -0.187500 0.010581 +v 0.312500 -0.187500 0.036469 +v 0.312500 -0.500000 0.036469 +v 0.400544 -0.500000 0.000000 +v 0.437500 0.187500 -0.000000 +v 0.437500 0.125000 -0.000000 +v 0.400544 0.125000 -0.000000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.187500 -0.500000 +v 0.437500 -0.062500 -0.500000 +v 0.375000 -0.062500 -0.500000 +v 0.437500 -0.062500 -0.000000 +v 0.375000 -0.187500 -0.500000 +v 0.312500 -0.187500 -0.500000 +v 0.312500 -0.500000 -0.500000 +v 0.437500 0.125000 -0.500000 +v 0.375000 0.125000 -0.500000 +v 0.437500 0.125000 -0.000000 +v 0.375000 0.000000 -0.500000 +v 0.437500 0.000000 -0.500000 +v 0.437500 0.000000 -0.000000 +v 0.500000 0.187500 -0.000000 +v 0.500000 0.187500 -0.500000 +v 0.437500 0.187500 -0.500000 +v 0.437500 0.187500 -0.000000 +v 0.500000 0.187500 -0.500000 +v 0.437500 0.125000 -0.500000 +v 0.437500 0.187500 -0.500000 +v 0.437500 0.000000 -0.500000 +v 0.375000 0.125000 -0.500000 +v 0.375000 0.000000 -0.500000 +v 0.437500 -0.062500 -0.500000 +v 0.375000 -0.187500 -0.500000 +v 0.375000 -0.062500 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.312500 -0.500000 -0.500000 +v 0.312500 -0.187500 -0.500000 +vt 0.000000 0.000000 +vt 0.125000 0.312500 +vt 0.187500 0.000000 +vt 0.187500 0.312500 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.062500 0.500000 +vt 0.125000 0.625000 +vt 0.125000 0.500000 +vt 0.062500 0.625000 +vt 0.000000 0.687500 +vt 0.062500 0.687500 +vt 0.500000 0.000000 +vt 0.000000 0.000000 +vt 0.500000 0.099456 +vt 0.000000 0.187500 +vt 0.536469 0.187500 +vt 0.536469 0.000000 +vt 0.000000 0.312500 +vt 0.536469 0.312500 +vt 0.000000 0.000000 +vt 0.536469 0.187500 +vt 0.000000 0.187500 +vt 0.510581 0.125000 +vt 0.000000 0.125000 +vt 0.510581 0.312500 +vt 0.000000 0.437500 +vt 0.510581 0.437500 +vt 0.000000 0.312500 +vt 0.510581 0.125000 +vt 0.000000 0.125000 +vt 0.500000 0.099456 +vt 0.000000 0.062500 +vt 0.500000 0.062500 +vt 0.500000 0.437500 +vt 0.000000 0.500000 +vt 0.500000 0.500000 +vt 0.000000 0.437500 +vt 0.500000 0.062500 +vt 0.000000 0.062500 +vt 0.500000 0.099456 +vt 0.000000 0.125000 +vt 0.510581 0.125000 +vt 0.510581 0.500000 +vt 0.000000 0.625000 +vt 0.510581 0.625000 +vt 0.000000 0.500000 +vt 0.510581 0.125000 +vt 0.000000 0.125000 +vt 0.500000 0.099456 +vt 0.000000 0.062500 +vt 0.500000 0.062500 +vt 0.500000 0.625000 +vt 0.000000 0.687500 +vt 0.500000 0.687500 +vt 0.000000 0.625000 +vt 0.500000 0.062500 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt 0.000000 0.062500 +vt 0.000000 0.687500 +vt 0.500000 0.687500 +vt 0.812500 0.000000 +vt 0.812500 0.187500 +vt 0.283227 1.000000 +vt 0.125000 0.625000 +vt 0.099456 1.000000 +vt 0.099456 0.625000 +vt 0.125000 0.500000 +vt 0.125000 0.437500 +vt 0.099456 0.500000 +vt 0.099456 0.437500 +vt 0.187500 0.312500 +vt 0.125000 0.312500 +vt 0.283227 0.000000 +vt 0.187500 0.000000 +vt 0.062500 0.437500 +vt 0.062500 0.500000 +vt 0.099456 1.000000 +vt 0.062500 0.687500 +vt 0.000000 1.000000 +vt 0.099456 0.625000 +vt 0.000000 0.687500 +vt 0.062500 0.625000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.500000 1.000000 +vt 0.576120 0.283227 +vt 0.536469 0.187500 +vt 0.716773 0.423880 +vt 0.812500 0.463531 +vt 1.000000 0.187500 +vt 1.000000 0.000000 +vt 0.500000 0.099456 +vt 0.500000 0.000000 +vt 0.576120 0.283227 +vt 0.716773 0.423880 +vt 0.900544 0.500000 +vt 1.000000 0.500000 +vt 0.716773 1.000000 +vt 0.716773 0.000000 +vt 0.576120 1.000000 +vt 0.576120 0.000000 +vt 0.500000 0.000000 +vt 0.500000 0.687500 +vt 0.187500 0.000000 +vt 0.000000 0.000000 +vt 0.500000 1.000000 +vt 0.000000 1.000000 +vt 0.900544 1.000000 +vt 0.875000 0.625000 +vt 0.900544 0.625000 +vt 0.900544 0.500000 +vt 0.875000 0.437500 +vt 0.875000 0.500000 +vt 0.900544 0.437500 +vt 0.875000 0.312500 +vt 0.812500 0.312500 +vt 0.812500 0.000000 +vt 0.812500 0.463531 +vt 0.900544 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.937500 0.687500 +vt 0.900544 1.000000 +vt 1.000000 0.687500 +vt 0.937500 0.625000 +vt 0.900544 0.625000 +vt 1.000000 0.000000 +vt 1.000000 0.687500 +vt 0.900544 0.500000 +vt 0.937500 1.000000 +vt 0.875000 1.000000 +vt 0.937500 0.500000 +vt 0.875000 0.489419 +vt 0.489419 0.437500 +vt 1.000000 0.437500 +vt 1.000000 0.312500 +vt 0.489419 0.312500 +vt 0.875000 0.489419 +vt 0.875000 1.000000 +vt 0.812500 1.000000 +vt 0.812500 0.463531 +vt 0.463531 0.312500 +vt 1.000000 0.312500 +vt 1.000000 0.000000 +vt 0.463531 0.000000 +vt 0.900544 0.500000 +vt 0.937500 1.000000 +vt 0.875000 1.000000 +vt 0.937500 0.500000 +vt 0.875000 0.489419 +vt 0.489419 0.625000 +vt 1.000000 0.625000 +vt 1.000000 0.500000 +vt 0.489419 0.500000 +vt 0.875000 1.000000 +vt 0.937500 1.000000 +vt 0.875000 0.489419 +vt 0.937500 0.500000 +vt 0.937500 0.437500 +vt 0.812500 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.937500 1.000000 +vt 0.937500 0.500000 +vt 0.500000 0.687500 +vt 1.000000 0.687500 +vt 1.000000 0.625000 +vt 0.500000 0.625000 +vt 1.000000 0.687500 +vt 0.937500 0.625000 +vt 0.937500 0.687500 +vt 0.937500 0.500000 +vt 0.875000 0.625000 +vt 0.875000 0.500000 +vt 0.937500 0.437500 +vt 0.875000 0.312500 +vt 0.875000 0.437500 +vt 1.000000 0.000000 +vt 0.812500 0.000000 +vt 0.812500 0.312500 +vt 0.500000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.437500 +vt 0.500000 0.437500 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.9239 -0.0000 -0.3827 +vn -0.7071 0.0000 -0.7071 +vn 1.0000 0.0000 0.0000 +vn -0.3827 -0.0000 -0.9239 +s off +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 2/2/1 4/4/1 +f 2/2/1 5/5/1 6/6/1 +f 1/1/1 5/5/1 2/2/1 +f 7/7/1 8/8/1 9/9/1 +f 7/7/1 10/10/1 8/8/1 +f 10/10/1 11/11/1 12/12/1 +f 7/7/1 11/11/1 10/10/1 +f 1/1/1 11/11/1 7/7/1 +f 1/1/1 7/7/1 5/5/1 +f 13/13/2 14/14/2 15/15/2 +f 15/15/2 16/16/2 17/17/2 +f 14/14/2 16/16/2 15/15/2 +f 18/18/3 19/19/3 20/20/3 +f 16/21/3 19/19/3 18/18/3 +f 20/22/4 19/23/4 21/24/4 +f 19/23/4 22/25/4 21/24/4 +f 21/26/3 23/27/3 24/28/3 +f 22/29/3 23/27/3 21/26/3 +f 24/30/4 23/31/4 25/32/4 +f 25/32/4 26/33/4 27/34/4 +f 23/31/4 26/33/4 25/32/4 +f 27/35/3 28/36/3 29/37/3 +f 26/38/3 28/36/3 27/35/3 +f 29/39/2 28/40/2 30/41/2 +f 30/41/2 31/42/2 32/43/2 +f 28/40/2 31/42/2 30/41/2 +f 32/44/3 33/45/3 34/46/3 +f 31/47/3 33/45/3 32/44/3 +f 34/48/4 33/49/4 35/50/4 +f 35/50/4 36/51/4 37/52/4 +f 33/49/4 36/51/4 35/50/4 +f 37/53/3 38/54/3 39/55/3 +f 36/56/3 38/54/3 37/53/3 +f 39/57/4 40/58/4 41/59/4 +f 38/60/4 40/58/4 39/57/4 +f 42/61/5 13/13/5 43/62/5 +f 42/61/5 14/14/5 13/13/5 +f 13/13/2 15/15/2 44/63/2 +f 44/63/2 17/17/2 45/64/2 +f 15/15/2 17/17/2 44/63/2 +f 46/65/6 34/66/6 47/67/6 +f 34/66/6 35/68/6 47/67/6 +f 32/69/6 24/70/6 30/71/6 +f 24/70/6 25/72/6 30/71/6 +f 34/66/6 20/73/6 32/69/6 +f 46/65/6 20/73/6 34/66/6 +f 32/69/6 20/73/6 24/70/6 +f 20/73/6 21/74/6 24/70/6 +f 48/75/6 18/76/6 20/73/6 +f 46/65/6 48/75/6 20/73/6 +f 30/71/1 27/77/1 29/78/1 +f 25/72/1 27/77/1 30/71/1 +f 49/79/1 50/80/1 51/81/1 +f 49/79/1 52/82/1 50/80/1 +f 50/80/1 43/83/1 51/81/1 +f 52/82/1 53/84/1 50/80/1 +f 54/85/5 43/62/5 55/86/5 +f 55/86/5 43/62/5 44/63/5 +f 44/63/5 43/62/5 13/13/5 +f 54/85/5 51/87/5 43/62/5 +f 48/88/2 45/64/2 18/89/2 +f 48/88/2 56/90/2 45/64/2 +f 56/90/2 57/91/2 45/64/2 +f 44/63/2 45/64/2 55/86/2 +f 45/64/2 58/92/2 55/86/2 +f 54/93/4 49/94/4 51/95/4 +f 54/93/4 59/96/4 49/94/4 +f 60/97/4 59/96/4 54/93/4 +f 61/98/4 60/97/4 54/93/4 +f 62/99/4 61/98/4 54/93/4 +f 63/100/7 56/101/7 46/102/7 +f 56/101/7 48/103/7 46/102/7 +f 64/104/8 65/105/8 58/106/8 +f 58/106/8 65/105/8 55/107/8 +f 62/108/8 54/109/8 65/105/8 +f 65/105/8 54/109/8 55/107/8 +f 66/110/9 67/111/9 63/100/9 +f 68/112/9 67/111/9 66/110/9 +f 69/113/9 70/114/9 71/115/9 +f 72/116/9 70/114/9 69/113/9 +f 73/117/9 74/118/9 70/114/9 +f 71/115/9 74/118/9 67/111/9 +f 67/111/9 74/118/9 63/100/9 +f 70/114/9 74/118/9 71/115/9 +f 57/119/9 56/101/9 74/118/9 +f 56/101/9 63/100/9 74/118/9 +f 45/64/2 75/120/2 58/92/2 +f 75/120/2 76/121/2 58/92/2 +f 76/121/2 64/122/2 58/92/2 +f 62/123/3 77/124/3 61/125/3 +f 65/126/3 77/124/3 62/123/3 +f 78/127/3 79/128/3 77/124/3 +f 77/124/3 79/128/3 61/125/3 +f 65/105/8 64/104/8 80/129/8 +f 65/105/8 80/129/8 81/130/8 +f 72/131/4 82/132/4 83/133/4 +f 72/131/4 84/134/4 82/132/4 +f 70/135/4 72/131/4 83/133/4 +f 70/136/1 83/137/1 85/138/1 +f 73/139/1 70/136/1 85/138/1 +f 73/140/4 85/141/4 86/142/4 +f 74/143/4 73/140/4 86/142/4 +f 74/144/1 86/145/1 87/146/1 +f 57/147/1 74/144/1 87/146/1 +f 68/148/4 88/149/4 89/150/4 +f 68/148/4 90/151/4 88/149/4 +f 67/152/4 68/148/4 89/150/4 +f 67/153/1 89/154/1 91/155/1 +f 71/156/1 67/153/1 91/155/1 +f 69/113/2 91/157/2 92/158/2 +f 69/113/2 71/159/2 91/157/2 +f 93/160/2 69/113/2 92/158/2 +f 93/160/3 84/161/3 69/113/3 +f 84/161/3 72/116/3 69/113/3 +f 76/121/2 75/120/2 87/162/2 +f 76/121/2 87/162/2 80/163/2 +f 64/122/2 76/121/2 80/163/2 +f 94/164/4 95/165/4 96/166/4 +f 97/167/4 94/164/4 96/166/4 +f 97/168/1 96/169/1 88/170/1 +f 90/171/1 97/168/1 88/170/1 +f 98/172/3 99/173/3 100/174/3 +f 99/173/3 101/175/3 102/176/3 +f 98/172/3 101/175/3 99/173/3 +f 101/175/3 103/177/3 102/176/3 +f 98/172/3 104/178/3 101/175/3 +f 104/178/3 105/179/3 106/180/3 +f 104/178/3 107/181/3 105/179/3 +f 105/179/3 108/182/3 109/183/3 +f 107/181/3 108/182/3 105/179/3 +f 98/172/3 107/181/3 104/178/3 +f 93/184/1 92/185/1 82/186/1 +f 84/187/1 93/184/1 82/186/1 diff --git a/mymillwork/models/mymillwork_mach14.obj b/mymillwork/models/mymillwork_mach14.obj new file mode 100644 index 0000000..59c7e7f --- /dev/null +++ b/mymillwork/models/mymillwork_mach14.obj @@ -0,0 +1,48 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.437500 -0.500000 +v 0.500000 -0.437500 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.437500 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.437500 0.500000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.062500 +vt 1.000000 0.062500 +vt 0.000000 0.000000 +vt 0.000000 0.062500 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.062500 +vt 0.000000 0.062500 +vt 1.000000 0.000000 +vt 1.000000 0.062500 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 1/1/1 3/3/1 4/4/1 +f 5/5/2 1/1/2 4/4/2 +f 5/5/2 4/4/2 6/6/2 +f 7/7/3 5/8/3 6/9/3 +f 7/7/3 6/9/3 8/10/3 +f 2/11/4 7/7/4 8/10/4 +f 2/11/4 8/10/4 3/12/4 +f 2/13/5 1/14/5 5/8/5 +f 2/13/5 5/8/5 7/7/5 +f 4/15/6 3/16/6 6/17/6 +f 6/17/6 3/16/6 8/18/6 diff --git a/mymillwork/models/mymillwork_mach15.obj b/mymillwork/models/mymillwork_mach15.obj new file mode 100644 index 0000000..c4330b9 --- /dev/null +++ b/mymillwork/models/mymillwork_mach15.obj @@ -0,0 +1,452 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.437500 -0.500000 +v 0.500000 -0.437500 -0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.437500 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.437500 0.500000 +v 0.095756 -0.437500 0.080348 +v 0.080348 -0.437500 0.095756 +v 0.108253 -0.437500 0.062500 +v 0.062500 -0.437500 0.108253 +v 0.000000 -0.437500 -0.125000 +v -0.125000 -0.437500 -0.000000 +v -0.021706 -0.437500 -0.123101 +v -0.042753 -0.437500 -0.117462 +v 0.117462 -0.437500 0.042753 +v -0.062500 -0.437500 -0.108253 +v -0.080348 -0.437500 -0.095756 +v -0.095756 -0.437500 -0.080348 +v -0.108253 -0.437500 -0.062500 +v -0.117462 -0.437500 -0.042753 +v -0.123101 -0.437500 -0.021706 +v 0.042753 -0.437500 0.117462 +v 0.123101 -0.437500 0.021706 +v 0.021706 -0.437500 0.123101 +v 0.125000 -0.437500 0.000000 +v -0.000000 -0.437500 0.125000 +v 0.123101 -0.437500 -0.021706 +v 0.117462 -0.437500 -0.042753 +v 0.108253 -0.437500 -0.062500 +v 0.095756 -0.437500 -0.080348 +v -0.080348 -0.437500 0.095756 +v -0.062500 -0.437500 0.108253 +v -0.042753 -0.437500 0.117462 +v -0.021706 -0.437500 0.123101 +v 0.080348 -0.437500 -0.095756 +v -0.095756 -0.437500 0.080348 +v 0.062500 -0.437500 -0.108253 +v -0.108253 -0.437500 0.062500 +v 0.042753 -0.437500 -0.117462 +v -0.117462 -0.437500 0.042753 +v -0.123101 -0.437500 0.021706 +v 0.021706 -0.437500 -0.123101 +v -0.125000 0.500000 -0.000000 +v -0.123101 0.500000 0.021706 +v -0.117462 0.500000 0.042753 +v -0.108253 0.500000 0.062500 +v 0.125000 0.500000 0.000000 +v 0.123101 0.500000 -0.021706 +v -0.095756 0.500000 0.080348 +v 0.117462 0.500000 -0.042753 +v -0.080348 0.500000 0.095756 +v 0.108253 0.500000 -0.062500 +v -0.062500 0.500000 0.108253 +v 0.095756 0.500000 -0.080348 +v -0.042753 0.500000 0.117462 +v 0.080348 0.500000 -0.095756 +v -0.021706 0.500000 0.123101 +v 0.062500 0.500000 -0.108253 +v -0.000000 0.500000 0.125000 +v 0.042753 0.500000 -0.117462 +v 0.021706 0.500000 0.123101 +v 0.021706 0.500000 -0.123101 +v 0.042753 0.500000 0.117462 +v 0.000000 0.500000 -0.125000 +v 0.062500 0.500000 0.108253 +v -0.021706 0.500000 -0.123101 +v 0.080348 0.500000 0.095756 +v -0.042753 0.500000 -0.117462 +v 0.095756 0.500000 0.080348 +v -0.062500 0.500000 -0.108253 +v 0.108253 0.500000 0.062500 +v -0.080348 0.500000 -0.095756 +v 0.117462 0.500000 0.042753 +v -0.095756 0.500000 -0.080348 +v 0.123101 0.500000 0.021706 +v -0.108253 0.500000 -0.062500 +v -0.117462 0.500000 -0.042753 +v -0.123101 0.500000 -0.021706 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.062500 +vt 1.000000 0.062500 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.062500 +vt 1.000000 0.062500 +vt 0.000000 0.000000 +vt 0.000000 0.062500 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.595756 0.419652 +vt 0.580348 0.404244 +vt 1.000000 0.000000 +vt 0.608253 0.437500 +vt 0.562500 0.391747 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.500000 0.625000 +vt 0.375000 0.500000 +vt 0.000000 0.000000 +vt 0.478294 0.623101 +vt 0.457247 0.617462 +vt 0.617462 0.457247 +vt 0.437500 0.608253 +vt 0.419652 0.595756 +vt 0.404244 0.580348 +vt 0.391747 0.562500 +vt 0.382538 0.542753 +vt 0.376899 0.521706 +vt 0.542753 0.382538 +vt 0.623101 0.478294 +vt 0.521706 0.376899 +vt 0.625000 0.500000 +vt 0.500000 0.375000 +vt 0.623101 0.521706 +vt 0.617462 0.542753 +vt 0.608253 0.562500 +vt 0.595756 0.580348 +vt 0.419652 0.404244 +vt 0.437500 0.391747 +vt 0.457247 0.382538 +vt 0.478294 0.376899 +vt 0.580348 0.595756 +vt 0.404244 0.419652 +vt 0.562500 0.608253 +vt 0.391747 0.437500 +vt 0.542753 0.617462 +vt 0.382538 0.457247 +vt 0.376899 0.478294 +vt 0.521706 0.623101 +vt 1.000000 0.062500 +vt 0.500000 1.000000 +vt 0.478294 0.062500 +vt 0.478294 1.000000 +vt 0.457247 0.062500 +vt 0.457247 1.000000 +vt 0.437500 0.062500 +vt 0.437500 1.000000 +vt 0.500000 1.000000 +vt 0.521706 0.062500 +vt 0.521706 1.000000 +vt 0.500000 0.062500 +vt 0.419652 0.062500 +vt 0.419652 1.000000 +vt 0.542753 0.062500 +vt 0.542753 1.000000 +vt 0.404244 1.000000 +vt 0.419652 0.062500 +vt 0.419652 1.000000 +vt 0.404244 0.062500 +vt 0.562500 0.062500 +vt 0.562500 1.000000 +vt 0.437500 0.062500 +vt 0.437500 1.000000 +vt 0.580348 0.062500 +vt 0.580348 1.000000 +vt 0.457247 0.062500 +vt 0.457247 1.000000 +vt 0.595756 1.000000 +vt 0.580348 0.062500 +vt 0.580348 1.000000 +vt 0.595756 0.062500 +vt 0.478294 0.062500 +vt 0.478294 1.000000 +vt 0.562500 0.062500 +vt 0.562500 1.000000 +vt 0.500000 0.062500 +vt 0.500000 1.000000 +vt 0.542753 0.062500 +vt 0.542753 1.000000 +vt 0.521706 0.062500 +vt 0.521706 1.000000 +vt 0.521706 0.062500 +vt 0.521706 1.000000 +vt 0.542753 0.062500 +vt 0.542753 1.000000 +vt 0.500000 0.062500 +vt 0.500000 1.000000 +vt 0.562500 0.062500 +vt 0.562500 1.000000 +vt 0.478294 0.062500 +vt 0.478294 1.000000 +vt 0.580348 0.062500 +vt 0.580348 1.000000 +vt 0.457247 0.062500 +vt 0.457247 1.000000 +vt 0.595756 0.062500 +vt 0.595756 1.000000 +vt 0.437500 0.062500 +vt 0.437500 1.000000 +vt 0.419652 0.062500 +vt 0.437500 0.062500 +vt 0.419652 1.000000 +vt 0.437500 1.000000 +vt 0.419652 0.062500 +vt 0.419652 1.000000 +vt 0.457247 0.062500 +vt 0.457247 1.000000 +vt 0.404244 0.062500 +vt 0.404244 1.000000 +vt 0.478294 0.062500 +vt 0.478294 1.000000 +vt 0.580348 0.062500 +vt 0.562500 0.062500 +vt 0.580348 1.000000 +vt 0.562500 1.000000 +vt 0.542753 0.062500 +vt 0.542753 1.000000 +vt 0.521706 0.062500 +vt 0.521706 1.000000 +vt 0.500000 0.062500 +vt 0.521706 0.376899 +vt 0.542753 0.382538 +vt 0.562500 0.391747 +vt 0.580348 0.404244 +vt 0.595756 0.419652 +vt 0.623101 0.521706 +vt 0.500000 0.375000 +vt 0.608253 0.437500 +vt 0.617462 0.457247 +vt 0.623101 0.478294 +vt 0.625000 0.500000 +vt 0.478294 0.376899 +vt 0.437500 0.391747 +vt 0.457247 0.382538 +vt 0.595756 0.580348 +vt 0.617462 0.542753 +vt 0.608253 0.562500 +vt 0.404244 0.419652 +vt 0.419652 0.404244 +vt 0.382538 0.457247 +vt 0.391747 0.437500 +vt 0.521706 0.623101 +vt 0.580348 0.595756 +vt 0.562500 0.608253 +vt 0.542753 0.617462 +vt 0.376899 0.478294 +vt 0.376899 0.521706 +vt 0.500000 0.625000 +vt 0.478294 0.623101 +vt 0.375000 0.500000 +vt 0.382538 0.542753 +vt 0.457247 0.617462 +vt 0.404244 0.580348 +vt 0.437500 0.608253 +vt 0.419652 0.595756 +vt 0.391747 0.562500 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.9962 0.0000 0.0872 +vn -0.9659 0.0000 0.2588 +vn -0.9063 0.0000 0.4226 +vn 0.9962 0.0000 -0.0872 +vn -0.8192 0.0000 0.5736 +vn 0.9659 0.0000 -0.2588 +vn -0.7071 0.0000 0.7071 +vn 0.9063 0.0000 -0.4226 +vn -0.5736 0.0000 0.8192 +vn 0.8192 0.0000 -0.5736 +vn -0.4226 0.0000 0.9063 +vn 0.7071 0.0000 -0.7071 +vn -0.2588 0.0000 0.9659 +vn 0.5736 0.0000 -0.8192 +vn -0.0872 0.0000 0.9962 +vn 0.4226 0.0000 -0.9063 +vn 0.0872 0.0000 0.9962 +vn 0.2588 0.0000 -0.9659 +vn 0.2588 0.0000 0.9659 +vn 0.0872 0.0000 -0.9962 +vn 0.4226 0.0000 0.9063 +vn -0.0872 0.0000 -0.9962 +vn 0.5736 0.0000 0.8192 +vn -0.2588 0.0000 -0.9659 +vn 0.7071 0.0000 0.7071 +vn -0.4226 0.0000 -0.9063 +vn 0.8192 0.0000 0.5736 +vn -0.5736 0.0000 -0.8192 +vn 0.9063 0.0000 0.4226 +vn -0.7071 0.0000 -0.7071 +vn 0.9659 0.0000 0.2588 +vn -0.8192 0.0000 -0.5736 +vn 0.9962 0.0000 0.0872 +vn -0.9063 0.0000 -0.4226 +vn -0.9659 0.0000 -0.2588 +vn -0.9962 0.0000 -0.0872 +s off +f 1/1/1 2/2/1 3/3/1 +f 1/1/1 3/3/1 4/4/1 +f 2/5/2 5/6/2 6/7/2 +f 2/5/2 6/7/2 3/8/2 +f 7/9/3 1/1/3 4/4/3 +f 7/9/3 4/4/3 8/10/3 +f 2/11/4 1/12/4 7/13/4 +f 2/11/4 7/13/4 5/6/4 +f 9/14/5 10/15/5 8/16/5 +f 8/16/5 11/17/5 9/14/5 +f 10/15/5 12/18/5 8/16/5 +f 4/19/5 3/20/5 13/21/5 +f 14/22/5 3/20/5 6/23/5 +f 13/21/5 3/20/5 15/24/5 +f 15/24/5 3/20/5 16/25/5 +f 8/16/5 17/26/5 11/17/5 +f 16/25/5 3/20/5 18/27/5 +f 18/27/5 3/20/5 19/28/5 +f 19/28/5 3/20/5 20/29/5 +f 20/29/5 3/20/5 21/30/5 +f 21/30/5 3/20/5 22/31/5 +f 22/31/5 3/20/5 23/32/5 +f 23/32/5 3/20/5 14/22/5 +f 12/18/5 24/33/5 8/16/5 +f 8/16/5 25/34/5 17/26/5 +f 24/33/5 26/35/5 8/16/5 +f 8/16/5 27/36/5 25/34/5 +f 26/35/5 28/37/5 8/16/5 +f 27/36/5 4/19/5 29/38/5 +f 29/38/5 4/19/5 30/39/5 +f 30/39/5 4/19/5 31/40/5 +f 31/40/5 4/19/5 32/41/5 +f 8/16/5 4/19/5 27/36/5 +f 33/42/5 6/23/5 34/43/5 +f 34/43/5 6/23/5 35/44/5 +f 35/44/5 6/23/5 36/45/5 +f 36/45/5 6/23/5 28/37/5 +f 28/37/5 6/23/5 8/16/5 +f 4/19/5 37/46/5 32/41/5 +f 33/42/5 38/47/5 6/23/5 +f 4/19/5 39/48/5 37/46/5 +f 38/47/5 40/49/5 6/23/5 +f 4/19/5 41/50/5 39/48/5 +f 40/49/5 42/51/5 6/23/5 +f 42/51/5 43/52/5 6/23/5 +f 4/19/5 44/53/5 41/50/5 +f 4/19/5 13/21/5 44/53/5 +f 43/52/5 14/22/5 6/23/5 +f 5/6/6 7/13/6 8/54/6 +f 5/6/6 8/54/6 6/7/6 +f 45/55/7 43/56/7 46/57/7 +f 43/56/8 42/58/8 46/57/8 +f 46/57/8 42/58/8 47/59/8 +f 47/59/9 40/60/9 48/61/9 +f 42/58/9 40/60/9 47/59/9 +f 49/62/10 29/63/10 50/64/10 +f 27/65/10 29/63/10 49/62/10 +f 48/61/11 38/66/11 51/67/11 +f 40/60/11 38/66/11 48/61/11 +f 50/64/12 30/68/12 52/69/12 +f 29/63/12 30/68/12 50/64/12 +f 51/70/13 33/71/13 53/72/13 +f 38/73/13 33/71/13 51/70/13 +f 52/69/14 31/74/14 54/75/14 +f 30/68/14 31/74/14 52/69/14 +f 53/72/15 34/76/15 55/77/15 +f 33/71/15 34/76/15 53/72/15 +f 54/75/16 32/78/16 56/79/16 +f 31/74/16 32/78/16 54/75/16 +f 55/77/17 35/80/17 57/81/17 +f 34/76/17 35/80/17 55/77/17 +f 56/82/18 37/83/18 58/84/18 +f 32/85/18 37/83/18 56/82/18 +f 57/81/19 36/86/19 59/87/19 +f 37/83/20 39/88/20 58/84/20 +f 35/80/19 36/86/19 57/81/19 +f 58/84/20 39/88/20 60/89/20 +f 59/87/21 28/90/21 61/91/21 +f 36/86/21 28/90/21 59/87/21 +f 39/88/22 41/92/22 60/89/22 +f 60/89/22 41/92/22 62/93/22 +f 61/91/23 26/94/23 63/95/23 +f 28/90/23 26/94/23 61/91/23 +f 41/92/24 44/96/24 62/93/24 +f 62/93/24 44/96/24 64/97/24 +f 63/95/25 24/98/25 65/99/25 +f 26/94/25 24/98/25 63/95/25 +f 44/96/26 13/100/26 64/97/26 +f 64/97/26 13/100/26 66/101/26 +f 65/99/27 12/102/27 67/103/27 +f 24/98/27 12/102/27 65/99/27 +f 13/100/28 15/104/28 66/101/28 +f 66/101/28 15/104/28 68/105/28 +f 67/103/29 10/106/29 69/107/29 +f 15/104/30 16/108/30 68/105/30 +f 12/102/29 10/106/29 67/103/29 +f 68/105/30 16/108/30 70/109/30 +f 10/106/31 9/110/31 69/107/31 +f 69/107/31 9/110/31 71/111/31 +f 16/108/32 18/112/32 70/109/32 +f 70/109/32 18/112/32 72/113/32 +f 9/114/33 11/115/33 71/116/33 +f 71/116/33 11/115/33 73/117/33 +f 18/112/34 19/118/34 72/113/34 +f 72/113/34 19/118/34 74/119/34 +f 11/115/35 17/120/35 73/117/35 +f 73/117/35 17/120/35 75/121/35 +f 19/118/36 20/122/36 74/119/36 +f 74/119/36 20/122/36 76/123/36 +f 17/120/37 25/124/37 75/121/37 +f 75/121/37 25/124/37 77/125/37 +f 20/126/38 21/127/38 76/128/38 +f 25/124/39 27/65/39 77/125/39 +f 76/128/38 21/127/38 78/129/38 +f 77/125/39 27/65/39 49/62/39 +f 21/127/40 22/130/40 78/129/40 +f 78/129/40 22/130/40 79/131/40 +f 22/130/41 23/132/41 79/131/41 +f 79/131/41 23/132/41 80/133/41 +f 23/132/42 14/134/42 80/133/42 +f 80/133/42 14/134/42 45/55/42 +f 14/134/7 43/56/7 45/55/7 +f 63/135/5 65/136/5 67/137/5 +f 63/135/5 67/137/5 69/138/5 +f 63/135/5 69/138/5 71/139/5 +f 50/140/5 61/141/5 63/135/5 +f 50/140/5 71/139/5 73/142/5 +f 50/140/5 73/142/5 75/143/5 +f 50/140/5 75/143/5 77/144/5 +f 50/140/5 77/144/5 49/145/5 +f 50/140/5 63/135/5 71/139/5 +f 59/146/5 61/141/5 50/140/5 +f 55/147/5 57/148/5 59/146/5 +f 56/149/5 50/140/5 52/150/5 +f 56/149/5 52/150/5 54/151/5 +f 56/149/5 59/146/5 50/140/5 +f 56/149/5 55/147/5 59/146/5 +f 51/152/5 53/153/5 55/147/5 +f 47/154/5 48/155/5 51/152/5 +f 64/156/5 56/149/5 58/157/5 +f 64/156/5 58/157/5 60/158/5 +f 64/156/5 60/158/5 62/159/5 +f 64/156/5 55/147/5 56/149/5 +f 64/156/5 51/152/5 55/147/5 +f 64/156/5 47/154/5 51/152/5 +f 46/160/5 47/154/5 64/156/5 +f 80/161/5 64/156/5 66/162/5 +f 80/161/5 66/162/5 68/163/5 +f 80/161/5 45/164/5 46/160/5 +f 80/161/5 46/160/5 64/156/5 +f 79/165/5 68/163/5 70/166/5 +f 79/165/5 80/161/5 68/163/5 +f 76/167/5 79/165/5 70/166/5 +f 76/167/5 70/166/5 72/168/5 +f 76/167/5 72/168/5 74/169/5 +f 76/167/5 78/170/5 79/165/5 diff --git a/mymillwork/models/mymillwork_mach16.obj b/mymillwork/models/mymillwork_mach16.obj new file mode 100644 index 0000000..f3f5dbd --- /dev/null +++ b/mymillwork/models/mymillwork_mach16.obj @@ -0,0 +1,108 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v -0.187500 -0.187500 -0.500000 +v -0.250000 -0.187500 -0.500000 +v -0.250000 -0.187500 0.500000 +v -0.187500 -0.187500 0.500000 +v -0.187500 -0.250000 -0.500000 +v -0.187500 -0.250000 0.500000 +v 0.187500 -0.250000 -0.500000 +v 0.187500 -0.250000 0.500000 +v 0.187500 -0.187500 -0.500000 +v 0.187500 -0.187500 0.500000 +v 0.250000 -0.187500 -0.500000 +v 0.250000 -0.187500 0.500000 +v 0.250000 -0.500000 0.500000 +v 0.250000 -0.500000 -0.500000 +v -0.250000 -0.500000 -0.500000 +v -0.250000 -0.500000 0.500000 +v -0.250000 -0.187500 -0.500000 +v -0.187500 -0.187500 -0.500000 +v 0.250000 -0.187500 -0.500000 +v 0.187500 -0.187500 -0.500000 +v -0.250000 -0.187500 0.500000 +v -0.187500 -0.187500 0.500000 +v 0.250000 -0.187500 0.500000 +v 0.187500 -0.187500 0.500000 +vt 0.312500 1.000000 +vt 0.250000 1.000000 +vt 0.250000 0.000000 +vt 0.312500 0.000000 +vt 1.000000 0.250000 +vt 1.000000 0.312500 +vt 0.000000 0.312500 +vt 0.000000 0.250000 +vt 0.687500 1.000000 +vt 0.312500 1.000000 +vt 0.312500 0.000000 +vt 0.687500 0.000000 +vt 1.000000 0.312500 +vt 1.000000 0.250000 +vt 0.000000 0.250000 +vt 0.000000 0.312500 +vt 0.750000 1.000000 +vt 0.687500 1.000000 +vt 0.687500 0.000000 +vt 0.750000 0.000000 +vt 1.000000 0.312500 +vt 0.000000 0.312500 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.250000 1.000000 +vt 0.750000 1.000000 +vt 0.750000 0.000000 +vt 0.250000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.312500 +vt 1.000000 0.312500 +vt 0.312500 0.250000 +vt 0.250000 0.000000 +vt 0.250000 0.312500 +vt 0.312500 0.312500 +vt 0.687500 0.250000 +vt 0.750000 0.000000 +vt 0.750000 0.312500 +vt 0.687500 0.312500 +vt 0.312500 0.250000 +vt 0.250000 0.312500 +vt 0.312500 0.312500 +vt 0.687500 0.250000 +vt 0.750000 0.312500 +vt 0.687500 0.312500 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 1/1/1 3/3/1 4/4/1 +f 5/5/2 1/6/2 4/7/2 +f 5/5/2 4/7/2 6/8/2 +f 7/9/1 5/10/1 6/11/1 +f 7/9/1 6/11/1 8/12/1 +f 9/13/3 7/14/3 8/15/3 +f 9/13/3 8/15/3 10/16/3 +f 11/17/1 9/18/1 10/19/1 +f 11/17/1 10/19/1 12/20/1 +f 11/21/2 12/22/2 13/23/2 +f 14/24/2 11/21/2 13/23/2 +f 15/25/4 14/26/4 13/27/4 +f 15/25/4 13/27/4 16/28/4 +f 15/29/3 16/30/3 3/31/3 +f 2/32/3 15/29/3 3/31/3 +f 5/33/5 15/34/5 17/35/5 +f 18/36/5 5/33/5 17/35/5 +f 7/37/5 14/38/5 15/34/5 +f 7/37/5 15/34/5 5/33/5 +f 19/39/5 7/37/5 20/40/5 +f 19/39/5 14/38/5 7/37/5 +f 16/28/6 6/41/6 21/42/6 +f 6/41/6 22/43/6 21/42/6 +f 16/28/6 13/27/6 6/41/6 +f 13/27/6 8/44/6 6/41/6 +f 8/44/6 23/45/6 24/46/6 +f 13/27/6 23/45/6 8/44/6 diff --git a/mymillwork/models/mymillwork_mach17.obj b/mymillwork/models/mymillwork_mach17.obj new file mode 100644 index 0000000..0947ba3 --- /dev/null +++ b/mymillwork/models/mymillwork_mach17.obj @@ -0,0 +1,330 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v -0.250000 -0.500000 -0.500000 +v -0.250000 -0.500000 -0.250000 +v -0.250000 -0.187500 -0.500000 +v -0.250000 -0.187500 -0.250000 +v 0.250000 -0.187500 -0.500000 +v 0.187500 -0.250000 -0.500000 +v 0.187500 -0.187500 -0.500000 +v 0.250000 -0.500000 -0.500000 +v -0.187500 -0.187500 -0.500000 +v -0.187500 -0.250000 -0.500000 +v -0.500000 -0.500000 -0.250000 +v -0.500000 -0.187500 -0.250000 +v -0.250000 -0.500000 0.250000 +v 0.250000 -0.500000 0.250000 +v -0.250000 -0.500000 0.500000 +v 0.250000 -0.500000 0.500000 +v -0.500000 -0.500000 0.250000 +v 0.250000 -0.500000 -0.250000 +v 0.500000 -0.500000 -0.250000 +v 0.500000 -0.500000 0.250000 +v -0.250000 -0.187500 0.187500 +v -0.500000 -0.187500 0.250000 +v -0.250000 -0.187500 0.250000 +v -0.500000 -0.187500 0.187500 +v -0.187500 -0.187500 0.250000 +v -0.250000 -0.187500 0.500000 +v -0.187500 -0.187500 0.500000 +v -0.250000 -0.187500 -0.187500 +v -0.500000 -0.187500 -0.187500 +v 0.250000 -0.187500 0.250000 +v 0.187500 -0.187500 0.500000 +v 0.250000 -0.187500 0.500000 +v 0.187500 -0.187500 0.250000 +v -0.187500 -0.187500 -0.250000 +v 0.250000 -0.187500 0.187500 +v 0.500000 -0.187500 0.250000 +v 0.500000 -0.187500 0.187500 +v 0.187500 -0.187500 -0.250000 +v 0.250000 -0.187500 -0.187500 +v 0.250000 -0.187500 -0.250000 +v 0.500000 -0.187500 -0.250000 +v 0.500000 -0.187500 -0.187500 +v -0.187500 -0.250000 -0.250000 +v 0.187500 -0.250000 -0.250000 +v -0.500000 -0.250000 -0.187500 +v -0.500000 -0.250000 0.187500 +v -0.187500 -0.250000 0.500000 +v 0.187500 -0.250000 0.500000 +v 0.500000 -0.250000 0.187500 +v 0.500000 -0.250000 -0.187500 +v 0.250000 -0.250000 -0.187500 +v 0.250000 -0.250000 0.187500 +v 0.187500 -0.250000 0.250000 +v -0.187500 -0.250000 0.250000 +v -0.250000 -0.250000 0.187500 +v -0.250000 -0.250000 -0.187500 +vt 1.000000 0.000000 +vt 0.750000 0.000000 +vt 1.000000 0.312500 +vt 0.750000 0.312500 +vt 0.750000 0.312500 +vt 0.687500 0.250000 +vt 0.687500 0.312500 +vt 0.750000 0.000000 +vt 0.312500 0.312500 +vt 0.312500 0.250000 +vt 0.250000 0.312500 +vt 0.250000 0.000000 +vt 0.250000 0.000000 +vt 0.000000 0.000000 +vt 0.250000 0.312500 +vt 0.000000 0.312500 +vt 0.250000 0.250000 +vt 0.750000 0.250000 +vt 0.250000 0.000000 +vt 0.750000 0.000000 +vt 0.000000 0.750000 +vt 0.250000 0.750000 +vt 0.000000 0.250000 +vt 0.750000 0.750000 +vt 1.000000 0.750000 +vt 1.000000 0.250000 +vt 0.250000 1.000000 +vt 0.750000 1.000000 +vt 0.250000 0.312500 +vt 0.000000 0.250000 +vt 0.250000 0.250000 +vt 0.000000 0.312500 +vt 0.312500 0.250000 +vt 0.250000 0.000000 +vt 0.312500 0.000000 +vt 0.250000 0.687500 +vt 0.000000 0.750000 +vt 0.000000 0.687500 +vt 0.250000 0.750000 +vt 0.750000 0.250000 +vt 0.687500 0.000000 +vt 0.750000 0.000000 +vt 0.687500 0.250000 +vt 0.312500 0.750000 +vt 0.750000 0.312500 +vt 0.250000 1.000000 +vt 1.000000 0.250000 +vt 0.312500 1.000000 +vt 1.000000 0.312500 +vt 0.687500 0.750000 +vt 0.750000 0.687500 +vt 0.750000 0.750000 +vt 1.000000 0.750000 +vt 1.000000 0.687500 +vt 0.750000 1.000000 +vt 0.687500 1.000000 +vt 1.000000 0.312500 +vt 0.750000 0.312500 +vt 1.000000 0.250000 +vt 0.750000 0.250000 +vt 0.312500 0.750000 +vt 0.687500 1.000000 +vt 0.312500 1.000000 +vt 0.687500 0.750000 +vt 0.750000 0.312500 +vt 1.000000 0.312500 +vt 0.750000 0.250000 +vt 1.000000 0.250000 +vt 0.750000 0.000000 +vt 1.000000 0.000000 +vt 0.750000 0.312500 +vt 1.000000 0.312500 +vt 0.750000 0.312500 +vt 0.687500 0.250000 +vt 0.687500 0.312500 +vt 0.750000 0.000000 +vt 0.312500 0.312500 +vt 0.312500 0.250000 +vt 0.250000 0.312500 +vt 0.250000 0.000000 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.000000 0.312500 +vt 0.250000 0.312500 +vt 0.000000 0.000000 +vt 0.000000 0.312500 +vt 0.250000 0.312500 +vt 0.312500 0.250000 +vt 0.312500 0.312500 +vt 0.687500 0.250000 +vt 0.750000 0.312500 +vt 0.687500 0.312500 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.000000 0.312500 +vt 0.250000 0.312500 +vt 0.750000 0.000000 +vt 1.000000 0.000000 +vt 0.750000 0.312500 +vt 1.000000 0.312500 +vt 0.250000 0.312500 +vt 0.312500 0.250000 +vt 0.312500 0.312500 +vt 0.250000 0.000000 +vt 0.687500 0.312500 +vt 0.687500 0.250000 +vt 0.750000 0.312500 +vt 0.750000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.312500 +vt 1.000000 0.312500 +vt 0.750000 0.312500 +vt 1.000000 0.250000 +vt 0.750000 0.250000 +vt 0.687500 0.312500 +vt 0.312500 0.312500 +vt 0.687500 0.250000 +vt 0.312500 0.250000 +vt 0.750000 0.250000 +vt 1.000000 0.250000 +vt 0.000000 0.312500 +vt 0.250000 0.312500 +vt 0.000000 0.250000 +vt 0.250000 0.250000 +vt 0.687500 0.312500 +vt 0.312500 0.312500 +vt 0.687500 0.250000 +vt 0.312500 0.250000 +vt 0.250000 0.312500 +vt 0.000000 0.312500 +vt 0.250000 0.250000 +vt 0.000000 0.250000 +vt 0.000000 0.250000 +vt 0.250000 0.250000 +vt 0.312500 0.312500 +vt 0.687500 0.312500 +vt 0.312500 0.250000 +vt 0.687500 0.250000 +vt 0.250000 0.312500 +vt 0.000000 0.312500 +vt 0.250000 0.250000 +vt 0.000000 0.250000 +vt 0.312500 0.312500 +vt 0.687500 0.312500 +vt 0.312500 0.250000 +vt 0.687500 0.250000 +vt 0.250000 0.312500 +vt 0.000000 0.687500 +vt 0.000000 0.312500 +vt 0.250000 0.687500 +vt 0.312500 0.000000 +vt 0.687500 0.000000 +vt 0.750000 0.687500 +vt 1.000000 0.312500 +vt 1.000000 0.687500 +vt 0.750000 0.312500 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 2/2/1 4/4/1 +f 5/5/2 6/6/2 7/7/2 +f 5/5/2 8/8/2 6/6/2 +f 9/9/2 10/10/2 3/11/2 +f 8/8/2 10/10/2 6/6/2 +f 10/10/2 1/12/2 3/11/2 +f 8/8/2 1/12/2 10/10/2 +f 2/13/2 11/14/2 4/15/2 +f 4/15/2 11/14/2 12/16/2 +f 13/17/3 14/18/3 15/19/3 +f 15/19/3 14/18/3 16/20/3 +f 11/21/3 2/22/3 17/23/3 +f 17/23/3 2/22/3 13/17/3 +f 2/22/3 18/24/3 13/17/3 +f 13/17/3 18/24/3 14/18/3 +f 14/18/3 19/25/3 20/26/3 +f 18/24/3 19/25/3 14/18/3 +f 1/27/3 8/28/3 2/22/3 +f 2/22/3 8/28/3 18/24/3 +f 21/29/4 22/30/4 23/31/4 +f 21/29/4 24/32/4 22/30/4 +f 25/33/4 26/34/4 27/35/4 +f 25/33/4 23/31/4 26/34/4 +f 25/33/4 21/29/4 23/31/4 +f 28/36/4 12/37/4 29/38/4 +f 28/36/4 21/29/4 25/33/4 +f 4/39/4 12/37/4 28/36/4 +f 30/40/4 31/41/4 32/42/4 +f 30/40/4 33/43/4 31/41/4 +f 34/44/4 4/39/4 28/36/4 +f 35/45/4 25/33/4 33/43/4 +f 35/45/4 33/43/4 30/40/4 +f 3/46/4 4/39/4 34/44/4 +f 36/47/4 35/45/4 30/40/4 +f 9/48/4 3/46/4 34/44/4 +f 37/49/4 35/45/4 36/47/4 +f 38/50/4 28/36/4 25/33/4 +f 38/50/4 25/33/4 35/45/4 +f 38/50/4 34/44/4 28/36/4 +f 39/51/4 38/50/4 35/45/4 +f 40/52/4 38/50/4 39/51/4 +f 41/53/4 39/51/4 42/54/4 +f 41/53/4 40/52/4 39/51/4 +f 5/55/4 7/56/4 38/50/4 +f 5/55/4 38/50/4 40/52/4 +f 9/57/5 34/58/5 10/59/5 +f 10/59/5 34/58/5 43/60/5 +f 43/61/4 6/62/4 10/63/4 +f 43/61/4 44/64/4 6/62/4 +f 38/65/1 7/66/1 44/67/1 +f 44/67/1 7/66/1 6/68/1 +f 18/69/5 8/70/5 40/71/5 +f 40/71/5 8/70/5 5/72/5 +f 12/73/1 45/74/1 29/75/1 +f 12/73/1 11/76/1 45/74/1 +f 24/77/1 46/78/1 22/79/1 +f 11/76/1 46/78/1 45/74/1 +f 46/78/1 17/80/1 22/79/1 +f 11/76/1 17/80/1 46/78/1 +f 17/81/6 13/82/6 22/83/6 +f 22/83/6 13/82/6 23/84/6 +f 13/82/1 15/85/1 23/84/1 +f 23/84/1 15/85/1 26/86/1 +f 26/87/6 47/88/6 27/89/6 +f 26/87/6 15/19/6 47/88/6 +f 15/19/6 48/90/6 47/88/6 +f 48/90/6 32/91/6 31/92/6 +f 48/90/6 16/20/6 32/91/6 +f 15/19/6 16/20/6 48/90/6 +f 16/93/5 14/94/5 32/95/5 +f 32/95/5 14/94/5 30/96/5 +f 14/97/6 20/98/6 30/99/6 +f 30/99/6 20/98/6 36/100/6 +f 36/101/5 49/102/5 37/103/5 +f 36/101/5 20/104/5 49/102/5 +f 42/105/5 50/106/5 41/107/5 +f 20/104/5 50/106/5 49/102/5 +f 50/106/5 19/108/5 41/107/5 +f 20/104/5 19/108/5 50/106/5 +f 19/109/2 18/69/2 41/110/2 +f 41/110/2 18/69/2 40/71/2 +f 42/111/6 39/112/6 50/113/6 +f 50/113/6 39/112/6 51/114/6 +f 39/115/5 35/116/5 51/117/5 +f 51/117/5 35/116/5 52/118/5 +f 35/45/2 37/49/2 52/119/2 +f 52/119/2 37/49/2 49/120/2 +f 31/121/1 33/122/1 48/123/1 +f 48/123/1 33/122/1 53/124/1 +f 33/125/6 25/126/6 53/127/6 +f 53/127/6 25/126/6 54/128/6 +f 25/129/5 27/130/5 54/131/5 +f 54/131/5 27/130/5 47/132/5 +f 24/32/2 21/29/2 46/133/2 +f 46/133/2 21/29/2 55/134/2 +f 21/135/1 28/136/1 55/137/1 +f 55/137/1 28/136/1 56/138/1 +f 28/139/6 29/140/6 56/141/6 +f 56/141/6 29/140/6 45/142/6 +f 34/143/2 38/144/2 43/145/2 +f 43/145/2 38/144/2 44/146/2 +f 55/147/4 45/148/4 46/149/4 +f 55/147/4 56/150/4 45/148/4 +f 53/127/4 47/151/4 48/152/4 +f 53/127/4 54/128/4 47/151/4 +f 51/153/4 49/154/4 50/155/4 +f 51/153/4 52/156/4 49/154/4 diff --git a/mymillwork/models/mymillwork_mach18.obj b/mymillwork/models/mymillwork_mach18.obj new file mode 100644 index 0000000..6648233 --- /dev/null +++ b/mymillwork/models/mymillwork_mach18.obj @@ -0,0 +1,428 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v -0.250000 -0.187500 0.187500 +v -0.500000 -0.187500 0.250000 +v -0.250000 -0.187500 0.250000 +v -0.500000 -0.187500 0.187500 +v -0.187500 -0.187500 0.250000 +v -0.250000 -0.187500 0.500000 +v -0.187500 -0.187500 0.500000 +v -0.250000 -0.187500 -0.187500 +v -0.500000 -0.187500 -0.250000 +v -0.500000 -0.187500 -0.187500 +v -0.250000 -0.187500 -0.250000 +v 0.250000 -0.187500 0.250000 +v 0.187500 -0.187500 0.500000 +v 0.250000 -0.187500 0.500000 +v 0.187500 -0.187500 0.250000 +v -0.187500 -0.187500 -0.250000 +v 0.250000 -0.187500 0.187500 +v -0.250000 -0.187500 -0.500000 +v 0.500000 -0.187500 0.250000 +v -0.187500 -0.187500 -0.500000 +v 0.500000 -0.187500 0.187500 +v 0.187500 -0.187500 -0.250000 +v 0.250000 -0.187500 -0.187500 +v 0.250000 -0.187500 -0.250000 +v 0.500000 -0.187500 -0.250000 +v 0.500000 -0.187500 -0.187500 +v 0.250000 -0.187500 -0.500000 +v 0.187500 -0.187500 -0.500000 +v 0.500000 -0.250000 0.187500 +v 0.500000 -0.437500 0.250000 +v 0.500000 -0.250000 -0.187500 +v 0.500000 -0.437500 -0.250000 +v 0.250000 -0.250000 -0.187500 +v 0.250000 -0.250000 0.187500 +v 0.250000 -0.437500 0.250000 +v 0.250000 -0.437500 0.500000 +v -0.187500 -0.250000 0.500000 +v -0.250000 -0.437500 0.500000 +v 0.187500 -0.250000 0.500000 +v 0.187500 -0.250000 0.250000 +v -0.187500 -0.250000 0.250000 +v -0.250000 -0.437500 0.250000 +v -0.500000 -0.437500 0.250000 +v -0.500000 -0.250000 -0.187500 +v -0.500000 -0.437500 -0.250000 +v -0.500000 -0.250000 0.187500 +v -0.250000 -0.250000 0.187500 +v -0.250000 -0.250000 -0.187500 +v -0.250000 -0.437500 -0.250000 +v -0.250000 -0.437500 -0.500000 +v 0.187500 -0.250000 -0.500000 +v 0.250000 -0.437500 -0.500000 +v -0.187500 -0.250000 -0.500000 +v -0.187500 -0.250000 -0.250000 +v 0.187500 -0.250000 -0.250000 +v 0.250000 -0.437500 -0.250000 +v 0.500000 -0.500000 -0.250000 +v 0.500000 -0.500000 0.250000 +v 0.500000 -0.437500 0.500000 +v 0.250000 -0.500000 0.500000 +v -0.250000 -0.500000 0.500000 +v -0.500000 -0.437500 0.500000 +v -0.500000 -0.500000 0.250000 +v -0.500000 -0.500000 -0.250000 +v -0.500000 -0.437500 -0.500000 +v -0.250000 -0.500000 -0.500000 +v 0.250000 -0.500000 -0.500000 +v 0.500000 -0.437500 -0.500000 +v -0.250000 -0.500000 -0.250000 +v -0.250000 -0.500000 0.250000 +v 0.250000 -0.500000 0.250000 +v 0.250000 -0.500000 -0.250000 +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.250000 0.312500 +vt 0.000000 0.250000 +vt 0.250000 0.250000 +vt 0.000000 0.312500 +vt 0.312500 0.250000 +vt 0.250000 0.000000 +vt 0.312500 0.000000 +vt 0.250000 0.687500 +vt 0.000000 0.750000 +vt 0.000000 0.687500 +vt 0.250000 0.750000 +vt 0.750000 0.250000 +vt 0.687500 0.000000 +vt 0.750000 0.000000 +vt 0.687500 0.250000 +vt 0.312500 0.750000 +vt 0.750000 0.312500 +vt 0.250000 1.000000 +vt 1.000000 0.250000 +vt 0.312500 1.000000 +vt 1.000000 0.312500 +vt 0.687500 0.750000 +vt 0.750000 0.687500 +vt 0.750000 0.750000 +vt 1.000000 0.750000 +vt 1.000000 0.687500 +vt 0.750000 1.000000 +vt 0.687500 1.000000 +vt 0.250000 0.312500 +vt 0.312500 0.250000 +vt 0.312500 0.312500 +vt 0.250000 0.062500 +vt 0.687500 0.312500 +vt 0.687500 0.250000 +vt 0.750000 0.312500 +vt 0.750000 0.062500 +vt 1.000000 0.312500 +vt 0.750000 0.312500 +vt 1.000000 0.250000 +vt 0.750000 0.250000 +vt 0.687500 0.312500 +vt 0.312500 0.312500 +vt 0.687500 0.250000 +vt 0.312500 0.250000 +vt 0.750000 0.250000 +vt 1.000000 0.250000 +vt 0.750000 0.312500 +vt 1.000000 0.062500 +vt 1.000000 0.312500 +vt 0.750000 0.062500 +vt 0.000000 0.312500 +vt 0.250000 0.062500 +vt 0.250000 0.312500 +vt 0.000000 0.062500 +vt 0.250000 0.312500 +vt 0.312500 0.250000 +vt 0.312500 0.312500 +vt 0.250000 0.062500 +vt 0.687500 0.250000 +vt 0.750000 0.312500 +vt 0.687500 0.312500 +vt 0.750000 0.062500 +vt 0.000000 0.312500 +vt 0.250000 0.312500 +vt 0.000000 0.250000 +vt 0.250000 0.250000 +vt 0.687500 0.312500 +vt 0.312500 0.312500 +vt 0.687500 0.250000 +vt 0.312500 0.250000 +vt 0.250000 0.312500 +vt 0.000000 0.312500 +vt 0.250000 0.250000 +vt 0.000000 0.250000 +vt 0.250000 0.312500 +vt 0.000000 0.062500 +vt 0.000000 0.312500 +vt 0.250000 0.062500 +vt 0.000000 0.312500 +vt 0.000000 0.062500 +vt 0.750000 0.312500 +vt 0.687500 0.250000 +vt 0.687500 0.312500 +vt 0.750000 0.062500 +vt 0.312500 0.312500 +vt 0.312500 0.250000 +vt 0.250000 0.312500 +vt 0.250000 0.062500 +vt 0.000000 0.250000 +vt 0.250000 0.250000 +vt 0.312500 0.312500 +vt 0.687500 0.312500 +vt 0.312500 0.250000 +vt 0.687500 0.250000 +vt 0.250000 0.312500 +vt 0.000000 0.312500 +vt 0.250000 0.250000 +vt 0.000000 0.250000 +vt 0.250000 0.312500 +vt 0.000000 0.062500 +vt 0.000000 0.312500 +vt 0.250000 0.062500 +vt 1.000000 0.312500 +vt 0.750000 0.062500 +vt 0.750000 0.312500 +vt 1.000000 0.062500 +vt 0.750000 0.312500 +vt 0.687500 0.250000 +vt 0.687500 0.312500 +vt 0.750000 0.062500 +vt 0.312500 0.312500 +vt 0.312500 0.250000 +vt 0.250000 0.312500 +vt 0.250000 0.062500 +vt 1.000000 0.312500 +vt 0.750000 0.312500 +vt 1.000000 0.250000 +vt 0.750000 0.250000 +vt 0.312500 0.312500 +vt 0.687500 0.312500 +vt 0.312500 0.250000 +vt 0.687500 0.250000 +vt 0.750000 0.312500 +vt 1.000000 0.312500 +vt 0.750000 0.250000 +vt 1.000000 0.250000 +vt 0.750000 0.312500 +vt 1.000000 0.062500 +vt 1.000000 0.312500 +vt 0.750000 0.062500 +vt 1.000000 0.312500 +vt 1.000000 0.062500 +vt 0.750000 0.000000 +vt 0.250000 0.000000 +vt 0.750000 0.687500 +vt 1.000000 0.312500 +vt 1.000000 0.687500 +vt 0.750000 0.312500 +vt 1.000000 0.250000 +vt 0.750000 0.250000 +vt 0.750000 0.000000 +vt 1.000000 0.000000 +vt 0.750000 0.000000 +vt 0.250000 0.000000 +vt 0.312500 0.000000 +vt 0.687500 0.000000 +vt 0.250000 0.250000 +vt 0.000000 0.250000 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.250000 0.000000 +vt 0.750000 0.000000 +vt 0.250000 0.312500 +vt 0.000000 0.687500 +vt 0.000000 0.312500 +vt 0.250000 0.687500 +vt 0.250000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.750000 +vt 0.250000 0.750000 +vt 0.250000 0.000000 +vt 0.750000 0.000000 +vt 0.312500 0.750000 +vt 0.687500 1.000000 +vt 0.312500 1.000000 +vt 0.687500 0.750000 +vt 1.000000 1.000000 +vt 0.750000 0.750000 +vt 1.000000 0.750000 +vt 0.750000 1.000000 +vt 0.000000 0.250000 +vt 0.250000 0.750000 +vt 0.250000 0.250000 +vt 0.000000 0.750000 +vt 0.750000 0.250000 +vt 0.750000 0.750000 +vt 1.000000 0.750000 +vt 1.000000 0.250000 +vt 0.250000 1.000000 +vt 0.750000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 0.062500 +vt 0.000000 0.062500 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.062500 +vt 0.000000 0.062500 +vt 0.000000 0.000000 +vt 1.000000 0.062500 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.062500 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 1/1/1 4/4/1 2/2/1 +f 5/5/1 6/6/1 7/7/1 +f 5/5/1 3/3/1 6/6/1 +f 5/5/1 1/1/1 3/3/1 +f 8/8/1 9/9/1 10/10/1 +f 8/8/1 1/1/1 5/5/1 +f 11/11/1 9/9/1 8/8/1 +f 12/12/1 13/13/1 14/14/1 +f 12/12/1 15/15/1 13/13/1 +f 16/16/1 11/11/1 8/8/1 +f 17/17/1 5/5/1 15/15/1 +f 17/17/1 15/15/1 12/12/1 +f 18/18/1 11/11/1 16/16/1 +f 19/19/1 17/17/1 12/12/1 +f 20/20/1 18/18/1 16/16/1 +f 21/21/1 17/17/1 19/19/1 +f 22/22/1 8/8/1 5/5/1 +f 22/22/1 5/5/1 17/17/1 +f 22/22/1 16/16/1 8/8/1 +f 23/23/1 22/22/1 17/17/1 +f 24/24/1 22/22/1 23/23/1 +f 25/25/1 23/23/1 26/26/1 +f 25/25/1 24/24/1 23/23/1 +f 27/27/1 28/28/1 22/22/1 +f 27/27/1 22/22/1 24/24/1 +f 19/29/2 29/30/2 21/31/2 +f 19/29/2 30/32/2 29/30/2 +f 26/33/2 31/34/2 25/35/2 +f 30/32/2 31/34/2 29/30/2 +f 31/34/2 32/36/2 25/35/2 +f 30/32/2 32/36/2 31/34/2 +f 26/37/3 23/38/3 31/39/3 +f 31/39/3 23/38/3 33/40/3 +f 23/41/2 17/42/2 33/43/2 +f 33/43/2 17/42/2 34/44/2 +f 17/17/4 21/21/4 34/45/4 +f 34/45/4 21/21/4 29/46/4 +f 12/47/3 30/48/3 19/49/3 +f 35/50/3 30/48/3 12/47/3 +f 14/51/2 35/52/2 12/53/2 +f 36/54/2 35/52/2 14/51/2 +f 6/55/3 37/56/3 7/57/3 +f 6/55/3 38/58/3 37/56/3 +f 39/59/3 14/60/3 13/61/3 +f 37/56/3 36/62/3 39/59/3 +f 38/58/3 36/62/3 37/56/3 +f 39/59/3 36/62/3 14/60/3 +f 13/63/5 15/64/5 39/65/5 +f 39/65/5 15/64/5 40/66/5 +f 15/67/3 5/68/3 40/69/3 +f 40/69/3 5/68/3 41/70/3 +f 5/71/2 7/72/2 41/73/2 +f 41/73/2 7/72/2 37/74/2 +f 3/75/5 38/76/5 6/77/5 +f 42/78/5 38/76/5 3/75/5 +f 2/79/3 42/78/3 3/75/3 +f 43/80/3 42/78/3 2/79/3 +f 9/81/5 44/82/5 10/83/5 +f 9/81/5 45/84/5 44/82/5 +f 4/85/5 46/86/5 2/87/5 +f 45/84/5 46/86/5 44/82/5 +f 46/86/5 43/88/5 2/87/5 +f 45/84/5 43/88/5 46/86/5 +f 4/4/4 1/1/4 46/89/4 +f 46/89/4 1/1/4 47/90/4 +f 1/91/5 8/92/5 47/93/5 +f 47/93/5 8/92/5 48/94/5 +f 8/95/3 10/96/3 48/97/3 +f 48/97/3 10/96/3 44/98/3 +f 11/99/4 45/100/4 9/101/4 +f 49/102/4 45/100/4 11/99/4 +f 18/103/5 49/104/5 11/105/5 +f 50/106/5 49/104/5 18/103/5 +f 27/107/4 51/108/4 28/109/4 +f 27/107/4 52/110/4 51/108/4 +f 20/111/4 53/112/4 18/113/4 +f 52/110/4 53/112/4 51/108/4 +f 53/112/4 50/114/4 18/113/4 +f 52/110/4 50/114/4 53/112/4 +f 20/115/2 16/116/2 53/117/2 +f 53/117/2 16/116/2 54/118/2 +f 16/119/4 22/120/4 54/121/4 +f 54/121/4 22/120/4 55/122/4 +f 22/123/5 28/124/5 55/125/5 +f 55/125/5 28/124/5 51/126/5 +f 24/127/2 52/128/2 27/129/2 +f 56/130/2 52/128/2 24/127/2 +f 25/131/4 56/130/4 24/127/4 +f 32/132/4 56/130/4 25/131/4 +f 30/32/2 57/133/2 32/36/2 +f 58/134/2 57/133/2 30/32/2 +f 33/135/1 29/136/1 31/137/1 +f 33/135/1 34/138/1 29/136/1 +f 30/139/1 35/140/1 36/141/1 +f 30/139/1 36/141/1 59/142/1 +f 38/58/3 60/143/3 36/62/3 +f 61/144/3 60/143/3 38/58/3 +f 40/69/1 37/145/1 39/146/1 +f 40/69/1 41/70/1 37/145/1 +f 42/147/1 43/148/1 62/149/1 +f 42/147/1 62/149/1 38/150/1 +f 45/84/5 63/151/5 43/88/5 +f 64/152/5 63/151/5 45/84/5 +f 47/153/1 44/154/1 46/155/1 +f 47/153/1 48/156/1 44/154/1 +f 50/157/1 65/158/1 45/159/1 +f 50/157/1 45/159/1 49/160/1 +f 52/110/4 66/161/4 50/114/4 +f 67/162/4 66/161/4 52/110/4 +f 54/163/1 51/164/1 53/165/1 +f 54/163/1 55/166/1 51/164/1 +f 68/167/1 56/168/1 32/169/1 +f 68/167/1 52/170/1 56/168/1 +f 63/171/6 69/172/6 70/173/6 +f 64/174/6 69/172/6 63/171/6 +f 70/173/6 71/175/6 61/144/6 +f 61/144/6 71/175/6 60/143/6 +f 69/172/6 72/176/6 70/173/6 +f 70/173/6 72/176/6 71/175/6 +f 71/175/6 57/177/6 58/178/6 +f 72/176/6 57/177/6 71/175/6 +f 66/179/6 67/180/6 69/172/6 +f 69/172/6 67/180/6 72/176/6 +f 32/36/2 73/181/2 68/182/2 +f 57/133/2 73/181/2 32/36/2 +f 59/183/2 58/134/2 30/32/2 +f 74/184/2 58/134/2 59/183/2 +f 36/62/3 74/185/3 59/186/3 +f 60/143/3 74/185/3 36/62/3 +f 62/187/3 61/144/3 38/58/3 +f 75/188/3 61/144/3 62/187/3 +f 43/88/5 75/188/5 62/187/5 +f 63/151/5 75/188/5 43/88/5 +f 65/189/5 64/152/5 45/84/5 +f 76/190/5 64/152/5 65/189/5 +f 50/114/4 76/191/4 65/192/4 +f 66/161/4 76/191/4 50/114/4 +f 68/182/4 67/162/4 52/110/4 +f 73/181/4 67/162/4 68/182/4 +f 63/171/6 70/173/6 75/188/6 +f 75/188/6 70/173/6 61/144/6 +f 76/193/6 66/179/6 64/174/6 +f 64/174/6 66/179/6 69/172/6 +f 72/176/6 73/194/6 57/177/6 +f 67/180/6 73/194/6 72/176/6 +f 71/175/6 58/178/6 60/143/6 +f 60/143/6 58/178/6 74/185/6 diff --git a/mymillwork/models/mymillwork_mach19.obj b/mymillwork/models/mymillwork_mach19.obj new file mode 100644 index 0000000..4d90257 --- /dev/null +++ b/mymillwork/models/mymillwork_mach19.obj @@ -0,0 +1,50 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.500000 -0.187500 0.437500 +v -0.500000 -0.500000 0.437500 +v -0.500000 -0.187500 0.437500 +v 0.500000 -0.500000 0.437500 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.187500 0.500000 +v -0.500000 -0.187500 0.500000 +v -0.500000 -0.500000 0.500000 +vt 0.999750 0.312594 +vt 0.000250 0.000250 +vt 0.000250 0.312594 +vt 0.999750 0.000250 +vt 0.000250 0.000250 +vt 0.062719 0.000250 +vt 0.062719 0.312594 +vt 0.000250 0.312594 +vt 0.000250 0.312594 +vt 0.999750 0.000250 +vt 0.999750 0.312594 +vt 0.000250 0.000250 +vt 0.062719 0.000250 +vt 0.062719 0.312594 +vt 0.000250 0.062719 +vt 0.999750 0.062719 +vt 0.999750 0.062719 +vt 0.000250 0.062719 +vt 0.999750 0.000250 +vt 0.000250 0.000250 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 2/2/1 1/1/1 +f 5/5/2 4/6/2 1/7/2 +f 5/5/2 1/7/2 6/8/2 +f 7/9/3 5/10/3 6/11/3 +f 8/12/3 5/10/3 7/9/3 +f 2/13/4 8/12/4 7/9/4 +f 2/13/4 7/9/4 3/14/4 +f 2/15/5 4/16/5 5/10/5 +f 2/15/5 5/10/5 8/12/5 +f 1/17/6 3/18/6 6/19/6 +f 6/19/6 3/18/6 7/20/6 diff --git a/mymillwork/models/mymillwork_mach2.obj b/mymillwork/models/mymillwork_mach2.obj new file mode 100644 index 0000000..b5876fa --- /dev/null +++ b/mymillwork/models/mymillwork_mach2.obj @@ -0,0 +1,1101 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body001 +v -0.375000 -0.125000 0.375000 +v -0.375000 -0.125000 -0.500000 +v -0.375000 -0.062500 0.375000 +v -0.375000 -0.062500 -0.500000 +v -0.437500 0.500000 -0.500000 +v -0.437500 0.437500 -0.500000 +v -0.500000 0.500000 -0.500000 +v -0.437500 0.250000 -0.500000 +v -0.375000 0.437500 -0.500000 +v -0.375000 0.250000 -0.500000 +v -0.437500 0.125000 -0.500000 +v -0.437500 -0.000000 -0.500000 +v -0.375000 0.125000 -0.500000 +v -0.375000 -0.000000 -0.500000 +v -0.437500 -0.062500 -0.500000 +v -0.339286 -0.172197 -0.500000 +v -0.500000 -0.437500 -0.500000 +v -0.301029 -0.217358 -0.500000 +v -0.260345 -0.260345 -0.500000 +v -0.217358 -0.301029 -0.500000 +v -0.172197 -0.339286 -0.500000 +v -0.125000 -0.375000 -0.500000 +v -0.062500 -0.375000 -0.500000 +v -0.062500 -0.437500 -0.500000 +v -0.437500 -0.062500 0.375000 +v 0.500000 -0.125000 0.375000 +v 0.500000 -0.062500 0.375000 +v -0.351934 -0.156094 0.351934 +v -0.327763 -0.186337 0.327763 +v -0.291904 -0.227419 0.291904 +v -0.253671 -0.266961 0.253671 +v -0.213121 -0.304804 0.213121 +v -0.125000 -0.375000 0.062500 +v -0.169980 -0.341057 0.169980 +v -0.125000 -0.375000 0.125000 +v -0.125000 -0.375000 0.000000 +v -0.125000 -0.375000 -0.125000 +v -0.125000 -0.375000 -0.250000 +v -0.125000 -0.375000 -0.437500 +v -0.062500 -0.375000 -0.437500 +v -0.062500 -0.437500 -0.437500 +v 0.500000 -0.500000 -0.500000 +v 0.437500 -0.437500 -0.500000 +v 0.500000 -0.437500 -0.500000 +v 0.250000 -0.437500 -0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.000000 -0.437500 -0.500000 +v 0.125000 -0.437500 -0.500000 +v -0.500000 0.500000 0.437500 +v -0.500000 0.437500 0.375000 +v -0.500000 0.437500 0.437500 +v -0.500000 0.250000 0.375000 +v -0.500000 0.125000 0.437500 +v -0.500000 0.250000 0.437500 +v -0.500000 0.125000 0.375000 +v -0.500000 0.000000 0.375000 +v -0.500000 -0.062500 0.437500 +v -0.500000 0.000000 0.437500 +v -0.500000 -0.062500 0.375000 +v -0.500000 -0.172197 0.339286 +v -0.500000 -0.125000 0.375000 +v -0.500000 -0.217358 0.301029 +v -0.500000 -0.260345 0.260345 +v -0.500000 -0.301029 0.217358 +v -0.500000 -0.375000 0.062500 +v -0.500000 -0.339286 0.172197 +v -0.500000 -0.375000 0.125000 +v -0.500000 -0.375000 -0.000000 +v -0.500000 -0.437500 -0.000000 +v -0.500000 -0.437500 0.062500 +v -0.500000 -0.375000 -0.125000 +v -0.500000 -0.375000 -0.250000 +v -0.500000 -0.437500 -0.250000 +v -0.500000 -0.437500 -0.125000 +v -0.500000 -0.375000 -0.437500 +v -0.500000 -0.437500 -0.437500 +v -0.437500 0.500000 0.437500 +v -0.437500 0.437500 0.437500 +v -0.437500 0.437500 0.375000 +v -0.375000 0.437500 0.375000 +v -0.375000 0.250000 0.375000 +v -0.437500 0.250000 0.375000 +v -0.437500 0.125000 0.375000 +v -0.437500 0.250000 0.437500 +v -0.437500 0.125000 0.437500 +v -0.375000 0.125000 0.375000 +v -0.375000 0.000000 0.375000 +v -0.437500 0.000000 0.375000 +v -0.437500 0.000000 0.437500 +v -0.437500 -0.062500 0.437500 +v -0.375000 -0.062500 0.437500 +v 0.500000 -0.062500 0.437500 +v 0.500000 -0.375000 0.125000 +v 0.500000 -0.437500 0.062500 +v 0.500000 -0.375000 0.062500 +v 0.500000 -0.437500 0.500000 +v 0.500000 -0.301029 0.217358 +v 0.500000 -0.260345 0.260345 +v 0.500000 -0.339286 0.172197 +v 0.500000 -0.217358 0.301029 +v 0.500000 -0.172197 0.339286 +v 0.500000 0.125000 0.375000 +v 0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.437500 +v 0.500000 0.437500 0.375000 +v 0.500000 0.250000 0.437500 +v 0.500000 0.250000 0.375000 +v 0.500000 0.437500 0.437500 +v 0.500000 0.500000 0.500000 +v 0.500000 0.500000 0.437500 +v 0.437500 -0.375000 0.125000 +v 0.250000 -0.375000 0.125000 +v 0.125000 -0.375000 0.125000 +v 0.000000 -0.375000 0.125000 +v -0.062500 -0.375000 0.125000 +v -0.062500 -0.375000 -0.250000 +v -0.062500 -0.375000 -0.125000 +v -0.062500 -0.375000 0.000000 +v -0.062500 -0.375000 0.062500 +v 0.000000 -0.375000 -0.437500 +v 0.000000 -0.437500 -0.437500 +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.437500 -0.437500 +v 0.500000 -0.437500 -0.250000 +v 0.500000 -0.437500 -0.125000 +v 0.500000 -0.437500 0.000000 +v 0.437500 -0.437500 -0.437500 +v 0.250000 -0.375000 -0.500000 +v 0.437500 -0.375000 -0.500000 +v 0.000000 -0.375000 -0.500000 +v 0.125000 -0.375000 -0.500000 +v 0.125000 -0.437500 -0.437500 +v 0.250000 -0.437500 -0.437500 +v -0.437500 0.500000 0.500000 +v -0.375000 0.437500 0.437500 +v -0.375000 0.250000 0.437500 +v -0.375000 0.125000 0.437500 +v -0.375000 0.000000 0.437500 +v 0.437500 -0.375000 0.062500 +v 0.437500 -0.437500 0.062500 +v -0.375000 0.437500 0.500000 +v 0.437500 -0.375000 0.500000 +v -0.437500 0.437500 0.500000 +v 0.437500 -0.437500 0.500000 +v -0.375000 0.250000 0.500000 +v 0.250000 -0.375000 0.500000 +v -0.375000 0.125000 0.500000 +v 0.125000 -0.375000 0.500000 +v 0.250000 -0.437500 0.500000 +v -0.437500 0.250000 0.500000 +v -0.437500 0.125000 0.500000 +v 0.125000 -0.437500 0.500000 +v -0.375000 0.000000 0.500000 +v 0.000000 -0.375000 0.500000 +v -0.437500 0.000000 0.500000 +v -0.437500 -0.062500 0.500000 +v -0.375000 -0.062500 0.500000 +v -0.062500 -0.437500 0.500000 +v 0.000000 -0.437500 0.500000 +v -0.062500 -0.375000 0.500000 +v -0.375000 -0.125000 0.500000 +v -0.339286 -0.172197 0.500000 +v -0.172197 -0.339286 0.500000 +v -0.125000 -0.375000 0.500000 +v -0.217358 -0.301029 0.500000 +v -0.301029 -0.217358 0.500000 +v -0.260345 -0.260345 0.500000 +v 0.000000 -0.375000 0.062500 +v 0.125000 -0.375000 0.062500 +v 0.250000 -0.375000 0.062500 +v 0.000000 -0.375000 -0.250000 +v -0.062500 -0.437500 -0.125000 +v -0.062500 -0.437500 -0.250000 +v 0.000000 -0.375000 -0.125000 +v 0.000000 -0.375000 0.000000 +v -0.062500 -0.437500 0.062500 +v -0.062500 -0.437500 0.000000 +v 0.437500 -0.437500 0.000000 +v 0.500000 -0.375000 -0.125000 +v 0.500000 -0.375000 0.000000 +v 0.437500 -0.437500 -0.125000 +v 0.437500 -0.437500 -0.250000 +v 0.500000 -0.375000 -0.437500 +v 0.500000 -0.375000 -0.250000 +v 0.437500 -0.375000 -0.437500 +v 0.250000 -0.375000 -0.437500 +v 0.125000 -0.375000 -0.437500 +v 0.437500 -0.375000 0.000000 +v 0.000000 -0.437500 0.062500 +v 0.125000 -0.375000 0.000000 +v 0.250000 -0.437500 0.062500 +v 0.125000 -0.437500 0.062500 +v 0.250000 -0.375000 0.000000 +v 0.000000 -0.437500 -0.250000 +v 0.125000 -0.375000 -0.250000 +v 0.000000 -0.437500 -0.125000 +v 0.000000 -0.437500 0.000000 +v 0.125000 -0.375000 -0.125000 +v 0.437500 -0.375000 -0.125000 +v 0.437500 -0.375000 -0.250000 +v 0.250000 -0.375000 -0.250000 +v 0.125000 -0.437500 0.000000 +v 0.250000 -0.437500 0.000000 +v 0.250000 -0.375000 -0.125000 +v 0.125000 -0.437500 -0.250000 +v 0.250000 -0.437500 -0.250000 +v 0.125000 -0.437500 -0.125000 +v 0.250000 -0.437500 -0.125000 +vt 0.125000 0.375000 +vt 1.000000 0.375000 +vt 0.125000 0.437500 +vt 1.000000 0.437500 +vt 0.062500 1.000000 +vt 0.062500 0.937500 +vt 0.000000 1.000000 +vt 0.062500 0.750000 +vt 0.125000 0.937500 +vt 0.125000 0.750000 +vt 0.062500 0.625000 +vt 0.062500 0.500000 +vt 0.125000 0.625000 +vt 0.125000 0.500000 +vt 0.125000 0.437500 +vt 0.125000 0.375000 +vt 0.062500 0.437500 +vt 0.160714 0.327803 +vt 0.000000 0.062500 +vt 0.198971 0.282642 +vt 0.239655 0.239655 +vt 0.282642 0.198971 +vt 0.327803 0.160714 +vt 0.375000 0.125000 +vt 0.437500 0.125000 +vt 0.437500 0.062500 +vt 0.125000 0.125000 +vt 0.125000 1.000000 +vt 0.062500 0.125000 +vt 0.062500 1.000000 +vt 1.000000 0.375000 +vt 1.000000 0.437500 +vt 0.148066 0.343906 +vt 1.000000 0.327803 +vt 0.172237 0.313663 +vt 1.000000 0.282642 +vt 0.208096 0.272581 +vt 1.000000 0.239655 +vt 0.246329 0.233039 +vt 0.282642 1.000000 +vt 0.246329 0.246329 +vt 0.286879 0.286879 +vt 0.239655 1.000000 +vt 0.375000 0.437500 +vt 0.330020 0.330020 +vt 0.375000 0.375000 +vt 0.327803 1.000000 +vt 0.375000 0.500000 +vt 0.375000 0.625000 +vt 0.375000 0.750000 +vt 0.375000 0.937500 +vt 0.375000 1.000000 +vt 0.437500 0.937500 +vt 0.437500 1.000000 +vt 1.000000 0.062500 +vt 0.937500 0.125000 +vt 0.937500 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.000000 +vt 0.937500 0.062500 +vt 1.000000 0.062500 +vt 0.750000 0.062500 +vt 0.000000 0.000000 +vt 0.500000 0.062500 +vt 0.625000 0.062500 +vt 0.062500 1.000000 +vt 0.125000 0.937500 +vt 0.062500 0.937500 +vt 0.125000 0.750000 +vt 0.062500 0.625000 +vt 0.062500 0.750000 +vt 0.125000 0.625000 +vt 0.125000 0.500000 +vt 0.062500 0.437500 +vt 0.062500 0.500000 +vt 0.125000 0.437500 +vt 0.160714 0.327803 +vt 0.125000 0.375000 +vt 0.198971 0.282642 +vt 1.000000 1.000000 +vt 0.239655 0.239655 +vt 0.282642 0.198971 +vt 0.437500 0.125000 +vt 0.327803 0.160714 +vt 0.375000 0.125000 +vt 0.500000 0.125000 +vt 0.500000 0.062500 +vt 0.437500 0.062500 +vt 0.625000 0.125000 +vt 0.750000 0.125000 +vt 0.750000 0.062500 +vt 0.625000 0.062500 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 0.062500 0.062500 +vt 0.000000 0.062500 +vt 0.062500 0.937500 +vt 0.125000 0.937500 +vt 0.062500 1.000000 +vt 1.000000 0.937500 +vt 1.000000 1.000000 +vt 0.125000 0.125000 +vt 0.125000 1.000000 +vt 0.062500 0.125000 +vt 0.062500 1.000000 +vt 0.125000 0.750000 +vt 1.000000 0.750000 +vt 0.125000 0.937500 +vt 1.000000 0.937500 +vt 0.062500 0.125000 +vt 0.062500 1.000000 +vt 0.125000 0.125000 +vt 0.125000 1.000000 +vt 0.125000 0.625000 +vt 0.062500 0.750000 +vt 0.062500 0.625000 +vt 0.125000 0.750000 +vt 1.000000 0.625000 +vt 1.000000 0.750000 +vt 0.125000 0.125000 +vt 0.125000 1.000000 +vt 0.062500 0.125000 +vt 0.062500 1.000000 +vt 0.125000 0.500000 +vt 1.000000 0.500000 +vt 0.125000 0.625000 +vt 1.000000 0.625000 +vt 0.062500 0.125000 +vt 0.062500 1.000000 +vt 0.125000 0.125000 +vt 0.125000 1.000000 +vt 0.125000 0.437500 +vt 0.062500 0.500000 +vt 0.062500 0.437500 +vt 0.125000 0.500000 +vt 1.000000 0.437500 +vt 1.000000 0.500000 +vt 0.062500 0.062500 +vt 0.125000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 0.375000 0.125000 +vt 0.437500 0.062500 +vt 0.437500 0.125000 +vt 0.000000 0.062500 +vt 0.282642 0.198971 +vt 0.239655 0.239655 +vt 0.327803 0.160714 +vt 0.198971 0.282642 +vt 0.160714 0.327803 +vt 0.125000 0.375000 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.125000 0.625000 +vt 0.062500 0.500000 +vt 0.125000 0.500000 +vt 0.062500 0.625000 +vt 0.125000 0.937500 +vt 0.062500 0.750000 +vt 0.125000 0.750000 +vt 0.062500 0.937500 +vt 0.000000 1.000000 +vt 0.062500 1.000000 +vt 1.000000 0.327803 +vt 1.000000 0.282642 +vt 1.000000 0.239655 +vt 1.000000 0.282642 +vt 1.000000 0.327803 +vt 0.937500 0.375000 +vt 1.000000 0.375000 +vt 0.750000 0.375000 +vt 0.625000 0.375000 +vt 0.500000 0.375000 +vt 0.437500 0.375000 +vt 0.437500 0.750000 +vt 0.437500 0.625000 +vt 0.437500 0.500000 +vt 0.437500 0.437500 +vt 0.437500 0.062500 +vt 0.500000 0.125000 +vt 0.500000 0.062500 +vt 0.437500 0.125000 +vt 0.500000 1.000000 +vt 0.437500 0.937500 +vt 0.500000 0.937500 +vt 0.437500 1.000000 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.937500 0.062500 +vt 0.750000 0.062500 +vt 0.000000 0.000000 +vt 0.625000 0.062500 +vt 0.500000 0.062500 +vt 1.000000 1.000000 +vt 0.937500 0.937500 +vt 1.000000 0.937500 +vt 0.937500 1.000000 +vt 0.750000 0.125000 +vt 0.937500 0.125000 +vt 0.500000 0.125000 +vt 0.625000 0.125000 +vt 0.750000 1.000000 +vt 0.625000 0.937500 +vt 0.750000 0.937500 +vt 0.625000 1.000000 +vt 0.062500 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.937500 +vt 0.125000 0.937500 +vt 1.000000 1.000000 +vt 0.062500 0.062500 +vt 0.125000 0.062500 +vt 1.000000 0.750000 +vt 1.000000 0.937500 +vt 0.062500 0.062500 +vt 0.125000 0.062500 +vt 1.000000 0.625000 +vt 0.125000 0.625000 +vt 1.000000 0.750000 +vt 0.125000 0.750000 +vt 0.062500 0.062500 +vt 0.125000 0.062500 +vt 1.000000 0.500000 +vt 1.000000 0.625000 +vt 0.062500 0.062500 +vt 0.125000 0.062500 +vt 1.000000 0.437500 +vt 0.125000 0.437500 +vt 1.000000 0.500000 +vt 0.125000 0.500000 +vt 0.937500 0.437500 +vt 1.000000 0.437500 +vt 0.937500 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.125000 +vt 0.062500 1.000000 +vt 0.125000 0.937500 +vt 1.000000 1.000000 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 0.062500 0.937500 +vt 0.937500 0.062500 +vt 0.125000 0.750000 +vt 0.750000 0.125000 +vt 0.125000 0.625000 +vt 0.625000 0.125000 +vt 0.750000 0.062500 +vt 0.062500 0.750000 +vt 0.062500 0.625000 +vt 0.625000 0.062500 +vt 0.125000 0.500000 +vt 0.500000 0.125000 +vt 0.062500 0.500000 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.437500 0.062500 +vt 0.500000 0.062500 +vt 0.437500 0.125000 +vt 0.125000 0.375000 +vt 0.160714 0.327803 +vt 0.327803 0.160714 +vt 0.375000 0.125000 +vt 0.282642 0.198971 +vt 0.198971 0.282642 +vt 0.239655 0.239655 +vt 1.000000 0.062500 +vt 1.000000 0.000000 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 0.500000 0.437500 +vt 0.625000 0.437500 +vt 0.750000 0.437500 +vt 0.500000 0.937500 +vt 0.500000 0.750000 +vt 0.625000 0.062500 +vt 0.750000 0.125000 +vt 0.625000 0.125000 +vt 0.750000 0.062500 +vt 0.500000 0.625000 +vt 0.500000 0.500000 +vt 0.437500 0.062500 +vt 0.500000 0.125000 +vt 0.437500 0.125000 +vt 0.500000 0.062500 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.500000 +vt 0.937500 0.437500 +vt 1.000000 0.437500 +vt 0.937500 0.500000 +vt 0.625000 0.125000 +vt 0.500000 0.125000 +vt 1.000000 0.750000 +vt 0.937500 0.625000 +vt 1.000000 0.625000 +vt 0.937500 0.750000 +vt 0.937500 0.125000 +vt 0.750000 0.125000 +vt 0.937500 0.062500 +vt 1.000000 0.125000 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 1.000000 0.125000 +vt 0.937500 0.937500 +vt 0.750000 1.000000 +vt 0.750000 0.937500 +vt 0.937500 1.000000 +vt 0.625000 0.937500 +vt 0.500000 1.000000 +vt 0.625000 1.000000 +vt 0.937500 0.062500 +vt 1.000000 0.125000 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 0.750000 0.062500 +vt 0.625000 0.062500 +vt 0.750000 0.125000 +vt 0.625000 0.125000 +vt 0.500000 0.062500 +vt 0.437500 0.125000 +vt 0.437500 0.062500 +vt 0.500000 0.125000 +vt 0.500000 0.062500 +vt 0.500000 0.125000 +vt 0.625000 0.500000 +vt 0.750000 0.062500 +vt 0.625000 0.062500 +vt 0.750000 0.125000 +vt 0.625000 0.125000 +vt 0.937500 0.500000 +vt 0.750000 0.500000 +vt 0.500000 0.125000 +vt 0.437500 0.062500 +vt 0.500000 0.062500 +vt 0.437500 0.125000 +vt 0.625000 0.750000 +vt 0.437500 0.062500 +vt 0.500000 0.125000 +vt 0.500000 0.062500 +vt 0.437500 0.125000 +vt 0.437500 0.750000 +vt 0.500000 0.625000 +vt 0.500000 0.750000 +vt 0.437500 0.625000 +vt 0.500000 0.125000 +vt 0.437500 0.062500 +vt 0.500000 0.062500 +vt 0.437500 0.125000 +vt 0.625000 0.625000 +vt 0.500000 0.500000 +vt 0.437500 0.437500 +vt 0.500000 0.437500 +vt 0.437500 0.500000 +vt 1.000000 0.125000 +vt 0.937500 0.062500 +vt 1.000000 0.062500 +vt 0.937500 0.125000 +vt 0.937500 0.625000 +vt 1.000000 0.500000 +vt 1.000000 0.625000 +vt 0.937500 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.125000 +vt 0.625000 0.062500 +vt 0.750000 0.062500 +vt 0.625000 0.125000 +vt 0.750000 0.125000 +vt 1.000000 0.125000 +vt 0.937500 0.062500 +vt 1.000000 0.062500 +vt 0.937500 0.125000 +vt 1.000000 0.750000 +vt 1.000000 0.937500 +vt 0.937500 0.750000 +vt 0.750000 0.750000 +vt 0.437500 0.062500 +vt 0.437500 0.125000 +vt 0.500000 0.062500 +vt 0.437500 0.125000 +vt 0.437500 0.062500 +vt 0.500000 0.125000 +vt 0.500000 0.125000 +vt 0.437500 0.062500 +vt 0.437500 0.125000 +vt 0.500000 0.062500 +vt 0.750000 0.500000 +vt 0.625000 0.437500 +vt 0.750000 0.437500 +vt 0.625000 0.500000 +vt 0.750000 0.625000 +vt 0.625000 0.125000 +vt 0.750000 0.125000 +vt 0.625000 0.062500 +vt 0.750000 0.062500 +vt 0.750000 0.125000 +vt 0.625000 0.062500 +vt 0.750000 0.062500 +vt 0.625000 0.125000 +vt 0.750000 0.125000 +vt 0.625000 0.062500 +vt 0.750000 0.062500 +vt 0.625000 0.125000 +vt 0.625000 0.062500 +vt 0.750000 0.125000 +vt 0.625000 0.125000 +vt 0.750000 0.062500 +vt 0.750000 0.062500 +vt 0.750000 0.125000 +vt 0.625000 0.125000 +vt 0.625000 0.062500 +vt 0.750000 0.750000 +vt 0.625000 0.625000 +vt 0.750000 0.625000 +vt 0.625000 0.750000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8031 0.5958 0.0000 +vn 0.7811 0.6244 -0.0002 +vn 0.7974 0.6034 0.0004 +vn 0.7532 0.6578 -0.0003 +vn 0.7630 0.6464 0.0004 +vn 0.7188 0.6952 -0.0003 +vn 0.7263 0.6874 0.0004 +vn 0.6822 0.7312 -0.0002 +vn 0.6874 0.7263 0.0003 +vn 0.6024 0.7982 0.0000 +vn 0.6433 0.7656 -0.0001 +vn 0.6464 0.7630 0.0002 +vn 0.6028 0.7979 0.0001 +vn 0.6034 0.7974 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.0004 0.6034 -0.7974 +vn 0.0000 0.5958 -0.8031 +vn -0.0004 0.6464 -0.7630 +vn 0.0002 0.6244 -0.7811 +vn -0.0004 0.6874 -0.7263 +vn 0.0003 0.6578 -0.7532 +vn -0.0003 0.7263 -0.6874 +vn 0.0003 0.6952 -0.7188 +vn -0.0002 0.7630 -0.6464 +vn 0.0002 0.7312 -0.6822 +vn 0.0000 0.7974 -0.6034 +vn 0.0001 0.7656 -0.6433 +vn -0.0001 0.7979 -0.6028 +vn 0.0000 0.7982 -0.6024 +vn 0.0000 0.0000 1.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 2/2/1 4/4/1 3/3/1 +f 5/5/2 6/6/2 7/7/2 +f 6/6/2 8/8/2 7/7/2 +f 9/9/2 10/10/2 6/6/2 +f 6/6/2 10/10/2 8/8/2 +f 8/8/2 11/11/2 7/7/2 +f 11/11/2 12/12/2 7/7/2 +f 13/13/2 14/14/2 11/11/2 +f 11/11/2 14/14/2 12/12/2 +f 4/15/2 2/16/2 15/17/2 +f 16/18/2 17/19/2 2/16/2 +f 18/20/2 17/19/2 16/18/2 +f 15/17/2 17/19/2 12/12/2 +f 12/12/2 17/19/2 7/7/2 +f 2/16/2 17/19/2 15/17/2 +f 18/20/2 19/21/2 17/19/2 +f 19/21/2 20/22/2 17/19/2 +f 20/22/2 21/23/2 17/19/2 +f 21/23/2 22/24/2 17/19/2 +f 23/25/2 24/26/2 22/24/2 +f 22/24/2 24/26/2 17/19/2 +f 3/27/3 4/28/3 25/29/3 +f 4/28/3 15/30/3 25/29/3 +f 26/31/2 1/1/2 27/32/2 +f 1/1/2 3/3/2 27/32/2 +f 2/2/4 1/1/4 28/33/4 +f 16/34/5 28/33/5 29/35/5 +f 16/34/6 2/2/6 28/33/6 +f 18/36/7 29/35/7 30/37/7 +f 18/36/8 16/34/8 29/35/8 +f 19/38/9 30/37/9 31/39/9 +f 19/38/10 18/36/10 30/37/10 +f 20/40/11 31/41/11 32/42/11 +f 20/40/12 19/43/12 31/41/12 +f 33/44/13 34/45/13 35/46/13 +f 21/47/14 32/42/14 34/45/14 +f 21/47/15 20/40/15 32/42/15 +f 36/48/13 34/45/13 33/44/13 +f 37/49/16 21/47/16 34/45/16 +f 37/49/13 34/45/13 36/48/13 +f 38/50/17 21/47/17 37/49/17 +f 39/51/17 21/47/17 38/50/17 +f 22/52/17 21/47/17 39/51/17 +f 40/53/3 22/52/3 39/51/3 +f 23/54/3 22/52/3 40/53/3 +f 24/55/1 40/56/1 41/57/1 +f 24/55/1 23/58/1 40/56/1 +f 42/59/2 43/60/2 44/61/2 +f 42/59/2 45/62/2 43/60/2 +f 46/63/2 17/19/2 24/26/2 +f 42/59/2 46/63/2 24/26/2 +f 42/59/2 24/26/2 47/64/2 +f 42/59/2 47/64/2 48/65/2 +f 42/59/2 48/65/2 45/62/2 +f 49/66/18 50/67/18 51/68/18 +f 52/69/18 53/70/18 54/71/18 +f 52/69/18 55/72/18 53/70/18 +f 56/73/18 57/74/18 58/75/18 +f 56/73/18 59/76/18 57/74/18 +f 59/76/18 60/77/18 61/78/18 +f 56/73/18 62/79/18 59/76/18 +f 59/76/18 62/79/18 60/77/18 +f 50/67/18 7/80/18 52/69/18 +f 49/66/18 7/80/18 50/67/18 +f 52/69/18 7/80/18 55/72/18 +f 56/73/18 63/81/18 62/79/18 +f 64/82/18 65/83/18 66/84/18 +f 66/84/18 65/83/18 67/85/18 +f 63/81/18 68/86/18 64/82/18 +f 56/73/18 68/86/18 63/81/18 +f 64/82/18 68/86/18 65/83/18 +f 65/83/18 69/87/18 70/88/18 +f 68/86/18 69/87/18 65/83/18 +f 55/72/18 71/89/18 56/73/18 +f 7/80/18 71/89/18 55/72/18 +f 56/73/18 71/89/18 68/86/18 +f 7/80/18 72/90/18 71/89/18 +f 71/89/18 73/91/18 74/92/18 +f 72/90/18 73/91/18 71/89/18 +f 7/80/18 75/93/18 72/90/18 +f 75/93/18 17/94/18 76/95/18 +f 7/80/18 17/94/18 75/93/18 +f 77/96/3 5/5/3 49/97/3 +f 5/5/3 7/7/3 49/97/3 +f 78/98/1 79/99/1 77/100/1 +f 6/101/1 5/102/1 79/99/1 +f 79/99/1 5/102/1 77/100/1 +f 80/103/3 9/104/3 79/105/3 +f 9/104/3 6/106/3 79/105/3 +f 81/107/1 10/108/1 80/109/1 +f 10/108/1 9/110/1 80/109/1 +f 82/111/19 8/112/19 81/113/19 +f 8/112/19 10/114/19 81/113/19 +f 83/115/1 84/116/1 85/117/1 +f 83/115/1 82/118/1 84/116/1 +f 11/119/1 8/120/1 83/115/1 +f 83/115/1 8/120/1 82/118/1 +f 86/121/3 13/122/3 83/123/3 +f 13/122/3 11/124/3 83/123/3 +f 87/125/1 14/126/1 86/127/1 +f 14/126/1 13/128/1 86/127/1 +f 88/129/19 12/130/19 87/131/19 +f 12/130/19 14/132/19 87/131/19 +f 25/133/1 89/134/1 90/135/1 +f 25/133/1 88/136/1 89/134/1 +f 15/137/1 12/138/1 25/133/1 +f 25/133/1 12/138/1 88/136/1 +f 3/27/3 90/139/3 91/140/3 +f 25/29/3 90/139/3 3/27/3 +f 27/141/3 3/27/3 92/142/3 +f 3/27/3 91/140/3 92/142/3 +f 93/143/1 94/144/1 95/145/1 +f 96/146/1 97/147/1 98/148/1 +f 96/146/1 99/149/1 97/147/1 +f 96/146/1 93/143/1 99/149/1 +f 96/146/1 94/144/1 93/143/1 +f 100/150/1 96/146/1 98/148/1 +f 101/151/1 96/146/1 100/150/1 +f 26/152/1 96/146/1 101/151/1 +f 92/153/1 26/152/1 27/154/1 +f 92/153/1 96/146/1 26/152/1 +f 102/155/1 103/156/1 104/157/1 +f 105/158/1 103/156/1 102/155/1 +f 106/159/1 107/160/1 108/161/1 +f 109/162/1 107/160/1 106/159/1 +f 110/163/1 109/162/1 111/164/1 +f 110/163/1 107/160/1 109/162/1 +f 110/163/1 96/146/1 92/153/1 +f 110/163/1 92/153/1 103/156/1 +f 110/163/1 103/156/1 105/158/1 +f 110/163/1 105/158/1 107/160/1 +f 28/33/20 26/31/20 101/165/20 +f 28/33/21 1/1/21 26/31/21 +f 29/35/22 101/165/22 100/166/22 +f 29/35/23 28/33/23 101/165/23 +f 30/37/24 100/166/24 98/167/24 +f 30/37/25 29/35/25 100/166/25 +f 31/41/26 98/167/26 97/168/26 +f 31/39/27 30/37/27 98/167/27 +f 32/42/28 97/168/28 99/169/28 +f 32/42/29 31/41/29 97/168/29 +f 112/170/30 99/169/30 93/171/30 +f 34/45/31 32/42/31 99/169/31 +f 113/172/30 99/169/30 112/170/30 +f 114/173/32 34/45/32 99/169/32 +f 114/173/30 99/169/30 113/172/30 +f 115/174/33 34/45/33 114/173/33 +f 116/175/33 34/45/33 115/174/33 +f 35/46/33 34/45/33 116/175/33 +f 40/53/3 38/50/3 117/176/3 +f 39/51/3 38/50/3 40/53/3 +f 118/177/3 117/176/3 37/49/3 +f 117/176/3 38/50/3 37/49/3 +f 37/49/3 119/178/3 118/177/3 +f 37/49/3 36/48/3 119/178/3 +f 120/179/3 119/178/3 33/44/3 +f 119/178/3 36/48/3 33/44/3 +f 120/179/3 35/46/3 116/175/3 +f 33/44/3 35/46/3 120/179/3 +f 41/180/2 121/181/2 122/182/2 +f 41/180/2 40/183/2 121/181/2 +f 47/184/3 41/185/3 122/186/3 +f 24/187/3 41/185/3 47/184/3 +f 123/188/19 42/189/19 124/190/19 +f 123/188/19 46/191/19 42/189/19 +f 46/192/18 76/95/18 17/94/18 +f 76/95/18 73/91/18 75/93/18 +f 46/192/18 73/91/18 76/95/18 +f 73/91/18 72/90/18 75/93/18 +f 46/192/18 74/92/18 73/91/18 +f 74/92/18 69/87/18 71/89/18 +f 46/192/18 69/87/18 74/92/18 +f 69/87/18 68/86/18 71/89/18 +f 70/88/18 67/85/18 65/83/18 +f 66/84/18 123/188/18 64/82/18 +f 67/85/18 123/188/18 66/84/18 +f 70/88/18 123/188/18 67/85/18 +f 123/188/18 63/81/18 64/82/18 +f 123/188/18 62/79/18 63/81/18 +f 123/188/18 60/77/18 62/79/18 +f 123/188/18 61/78/18 60/77/18 +f 61/78/18 57/74/18 59/76/18 +f 123/188/18 57/74/18 61/78/18 +f 58/75/18 55/72/18 56/73/18 +f 58/75/18 53/70/18 55/72/18 +f 54/71/18 50/67/18 52/69/18 +f 54/71/18 51/68/18 50/67/18 +f 51/68/18 125/193/18 49/66/18 +f 54/71/18 125/193/18 51/68/18 +f 123/188/18 125/193/18 54/71/18 +f 123/188/18 54/71/18 53/70/18 +f 123/188/18 53/70/18 58/75/18 +f 123/188/18 58/75/18 57/74/18 +f 46/192/18 123/188/18 70/88/18 +f 46/192/18 70/88/18 69/87/18 +f 126/194/1 42/59/1 44/61/1 +f 127/195/1 42/59/1 126/194/1 +f 96/146/1 124/196/1 94/144/1 +f 124/196/1 42/59/1 128/197/1 +f 128/197/1 42/59/1 127/195/1 +f 124/196/1 128/197/1 129/198/1 +f 124/196/1 129/198/1 94/144/1 +f 44/199/3 130/200/3 126/201/3 +f 43/202/3 130/200/3 44/199/3 +f 131/203/2 43/60/2 45/62/2 +f 132/204/2 43/60/2 131/203/2 +f 133/205/2 48/65/2 47/64/2 +f 134/206/2 48/65/2 133/205/2 +f 45/207/3 135/208/3 136/209/3 +f 48/210/3 135/208/3 45/207/3 +f 77/96/3 49/97/3 137/211/3 +f 49/97/3 125/212/3 137/211/3 +f 109/213/2 138/214/2 111/215/2 +f 78/98/2 77/100/2 138/214/2 +f 138/214/2 77/100/2 111/215/2 +f 80/103/3 78/216/3 138/217/3 +f 79/105/3 78/216/3 80/103/3 +f 108/218/2 81/107/2 106/219/2 +f 81/107/2 80/109/2 106/219/2 +f 84/220/19 81/113/19 139/221/19 +f 84/220/19 82/111/19 81/113/19 +f 105/222/2 140/223/2 107/224/2 +f 140/223/2 139/225/2 107/224/2 +f 85/117/2 84/116/2 140/223/2 +f 140/223/2 84/116/2 139/225/2 +f 86/121/3 85/226/3 140/227/3 +f 83/123/3 85/226/3 86/121/3 +f 104/228/2 87/125/2 102/229/2 +f 87/125/2 86/127/2 102/229/2 +f 89/230/19 87/131/19 141/231/19 +f 89/230/19 88/129/19 87/131/19 +f 92/232/2 91/233/2 103/234/2 +f 91/233/2 141/235/2 103/234/2 +f 90/135/2 89/134/2 91/233/2 +f 91/233/2 89/134/2 141/235/2 +f 142/236/3 93/171/3 95/237/3 +f 142/236/3 112/170/3 93/171/3 +f 143/238/2 95/239/2 94/240/2 +f 143/238/2 142/241/2 95/239/2 +f 137/242/34 144/243/34 110/244/34 +f 145/245/34 96/246/34 110/244/34 +f 137/242/34 146/247/34 144/243/34 +f 145/245/34 147/248/34 96/246/34 +f 144/243/34 148/249/34 110/244/34 +f 110/244/34 149/250/34 145/245/34 +f 148/249/34 150/251/34 110/244/34 +f 149/250/34 151/252/34 152/253/34 +f 110/244/34 151/252/34 149/250/34 +f 150/251/34 151/252/34 110/244/34 +f 153/254/34 154/255/34 148/249/34 +f 148/249/34 154/255/34 150/251/34 +f 151/252/34 155/256/34 152/253/34 +f 156/257/34 157/258/34 150/251/34 +f 150/251/34 157/258/34 151/252/34 +f 158/259/34 159/260/34 156/257/34 +f 156/257/34 159/260/34 160/261/34 +f 157/258/34 161/262/34 162/263/34 +f 163/264/34 161/262/34 157/258/34 +f 164/265/34 165/266/34 160/261/34 +f 163/264/34 166/267/34 167/268/34 +f 157/258/34 168/269/34 163/264/34 +f 163/264/34 168/269/34 166/267/34 +f 160/261/34 169/270/34 156/257/34 +f 165/266/34 169/270/34 160/261/34 +f 156/257/34 170/271/34 157/258/34 +f 157/258/34 170/271/34 168/269/34 +f 169/270/34 170/271/34 156/257/34 +f 111/272/3 77/96/3 110/273/3 +f 77/96/3 137/211/3 110/273/3 +f 106/274/3 80/103/3 109/275/3 +f 80/103/3 138/217/3 109/275/3 +f 107/276/19 139/221/19 108/277/19 +f 139/221/19 81/113/19 108/277/19 +f 102/278/3 86/121/3 105/279/3 +f 86/121/3 140/227/3 105/279/3 +f 103/280/19 141/231/19 104/281/19 +f 141/231/19 87/131/19 104/281/19 +f 171/282/3 116/175/3 115/174/3 +f 120/179/3 116/175/3 171/282/3 +f 172/283/3 115/174/3 114/173/3 +f 171/282/3 115/174/3 172/283/3 +f 173/284/3 114/173/3 113/172/3 +f 172/283/3 114/173/3 173/284/3 +f 142/236/3 173/284/3 112/170/3 +f 173/284/3 113/172/3 112/170/3 +f 121/285/3 117/176/3 174/286/3 +f 40/53/3 117/176/3 121/285/3 +f 175/287/1 117/288/1 118/289/1 +f 176/290/1 117/288/1 175/287/1 +f 177/291/3 119/178/3 178/292/3 +f 118/177/3 119/178/3 177/291/3 +f 179/293/1 119/294/1 120/295/1 +f 180/296/1 119/294/1 179/293/1 +f 121/297/18 47/298/18 122/299/18 +f 133/300/18 47/298/18 121/297/18 +f 125/193/34 146/247/34 137/242/34 +f 96/246/34 147/248/34 124/190/34 +f 146/247/34 148/249/34 144/243/34 +f 145/245/34 149/250/34 147/248/34 +f 146/247/34 153/254/34 148/249/34 +f 125/193/34 153/254/34 146/247/34 +f 149/250/34 152/253/34 147/248/34 +f 147/248/34 152/253/34 124/190/34 +f 152/253/34 155/256/34 124/190/34 +f 150/251/34 158/259/34 156/257/34 +f 154/255/34 158/259/34 150/251/34 +f 151/252/34 162/263/34 155/256/34 +f 157/258/34 162/263/34 151/252/34 +f 155/256/34 162/263/34 124/190/34 +f 160/261/34 159/260/34 164/265/34 +f 167/268/34 161/262/34 163/264/34 +f 164/265/34 123/188/34 165/266/34 +f 165/266/34 123/188/34 169/270/34 +f 169/270/34 123/188/34 170/271/34 +f 170/271/34 123/188/34 168/269/34 +f 168/269/34 123/188/34 166/267/34 +f 166/267/34 123/188/34 167/268/34 +f 167/268/34 123/188/34 161/262/34 +f 159/260/34 123/188/34 164/265/34 +f 125/193/34 123/188/34 153/254/34 +f 153/254/34 123/188/34 154/255/34 +f 154/255/34 123/188/34 158/259/34 +f 158/259/34 123/188/34 159/260/34 +f 123/188/34 124/190/34 161/262/34 +f 161/262/34 124/190/34 162/263/34 +f 129/301/3 143/302/3 94/303/3 +f 181/304/3 143/302/3 129/301/3 +f 129/198/1 128/197/1 182/305/1 +f 183/306/1 129/198/1 182/305/1 +f 127/307/3 184/308/3 128/309/3 +f 185/310/3 184/308/3 127/307/3 +f 127/195/1 126/194/1 186/311/1 +f 187/312/1 127/195/1 186/311/1 +f 130/313/1 132/314/1 188/315/1 +f 43/316/1 132/314/1 130/313/1 +f 130/313/2 186/317/2 126/318/2 +f 130/313/2 188/315/2 186/317/2 +f 189/319/18 45/320/18 136/321/18 +f 131/322/18 45/320/18 189/319/18 +f 188/323/3 131/324/3 189/325/3 +f 132/326/3 131/324/3 188/323/3 +f 190/327/3 133/328/3 121/285/3 +f 134/329/3 133/328/3 190/327/3 +f 135/330/1 134/331/1 190/332/1 +f 48/333/1 134/331/1 135/330/1 +f 136/334/2 135/335/2 189/336/2 +f 135/335/2 190/337/2 189/336/2 +f 181/338/1 142/339/1 143/340/1 +f 181/338/1 191/341/1 142/339/1 +f 192/342/2 179/293/2 171/343/2 +f 179/293/2 120/295/2 171/343/2 +f 193/344/3 171/282/3 172/283/3 +f 193/344/3 178/292/3 171/282/3 +f 194/345/2 195/346/2 173/347/2 +f 195/346/2 172/348/2 173/347/2 +f 191/349/3 173/284/3 142/236/3 +f 191/349/3 196/350/3 173/284/3 +f 174/351/34 176/352/34 197/353/34 +f 117/354/34 176/352/34 174/351/34 +f 190/327/3 174/286/3 198/355/3 +f 121/285/3 174/286/3 190/327/3 +f 175/356/2 177/357/2 199/358/2 +f 175/356/2 118/359/2 177/357/2 +f 176/360/3 199/361/3 197/362/3 +f 176/360/3 175/363/3 199/361/3 +f 178/364/34 180/365/34 200/366/34 +f 119/367/34 180/365/34 178/364/34 +f 201/368/3 178/292/3 193/344/3 +f 177/291/3 178/292/3 201/368/3 +f 200/369/3 179/370/3 192/371/3 +f 180/372/3 179/370/3 200/369/3 +f 183/373/34 181/374/34 129/375/34 +f 191/376/34 181/374/34 183/373/34 +f 202/377/3 183/378/3 182/379/3 +f 202/377/3 191/349/3 183/378/3 +f 184/380/2 182/381/2 128/382/2 +f 184/380/2 202/383/2 182/381/2 +f 184/384/1 185/385/1 202/386/1 +f 185/385/1 203/387/1 202/386/1 +f 187/388/34 185/389/34 127/390/34 +f 203/391/34 185/389/34 187/388/34 +f 188/323/3 187/392/3 186/393/3 +f 188/323/3 203/394/3 187/392/3 +f 188/323/3 204/395/3 203/394/3 +f 189/325/3 204/395/3 188/323/3 +f 189/325/3 198/355/3 204/395/3 +f 190/327/3 198/355/3 189/325/3 +f 178/364/18 192/396/18 171/397/18 +f 178/364/18 200/366/18 192/396/18 +f 205/398/1 172/399/1 195/400/1 +f 205/398/1 193/401/1 172/399/1 +f 196/402/18 194/403/18 173/404/18 +f 196/402/18 206/405/18 194/403/18 +f 206/406/3 195/407/3 194/408/3 +f 205/409/3 195/407/3 206/406/3 +f 202/377/3 196/350/3 191/349/3 +f 207/410/3 196/350/3 202/377/3 +f 177/411/18 174/412/18 199/413/18 +f 174/412/18 197/414/18 199/413/18 +f 198/355/3 177/291/3 201/368/3 +f 198/355/3 174/286/3 177/291/3 +f 201/368/3 196/350/3 207/410/3 +f 201/368/3 193/344/3 196/350/3 +f 203/394/3 207/410/3 202/377/3 +f 203/394/3 204/395/3 207/410/3 +f 204/415/34 208/416/34 209/417/34 +f 198/418/34 208/416/34 204/415/34 +f 196/419/34 205/420/34 206/421/34 +f 193/422/34 205/420/34 196/419/34 +f 210/423/1 198/424/1 201/425/1 +f 208/426/1 198/424/1 210/423/1 +f 211/427/2 210/423/2 207/428/2 +f 210/423/2 201/425/2 207/428/2 +f 207/429/18 209/417/18 211/430/18 +f 204/415/18 209/417/18 207/429/18 +f 209/431/3 210/432/3 211/433/3 +f 208/434/3 210/432/3 209/431/3 diff --git a/mymillwork/models/mymillwork_mach20.obj b/mymillwork/models/mymillwork_mach20.obj new file mode 100644 index 0000000..87cfa34 --- /dev/null +++ b/mymillwork/models/mymillwork_mach20.obj @@ -0,0 +1,72 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.500000 -0.500000 -0.500000 +v 0.437500 -0.500000 -0.500000 +v 0.500000 -0.187500 -0.500000 +v 0.437500 -0.187500 -0.500000 +v 0.437500 -0.187500 0.437500 +v 0.437500 -0.500000 0.437500 +v -0.500000 -0.187500 0.437500 +v -0.500000 -0.500000 0.437500 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.187500 0.500000 +v 0.500000 -0.187500 0.500000 +v 0.500000 -0.500000 0.500000 +vt 1.000000 0.000000 +vt 0.937500 0.000000 +vt 1.000000 0.312500 +vt 0.937500 0.312500 +vt 1.000000 0.000000 +vt 0.062500 0.312500 +vt 1.000000 0.312500 +vt 0.062500 0.000000 +vt 0.937500 0.000000 +vt 0.000000 0.312500 +vt 0.937500 0.312500 +vt 0.000000 0.000000 +vt 0.062500 0.000000 +vt 0.000000 0.000000 +vt 0.062500 0.312500 +vt 0.000000 0.312500 +vt 1.000000 0.312500 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.312500 +vt 0.000000 0.062500 +vt 0.937500 0.062500 +vt 0.937500 1.000000 +vt 1.000000 1.000000 +vt 0.937500 0.062500 +vt 0.000000 0.062500 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.937500 1.000000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 2/2/1 4/4/1 +f 2/5/2 5/6/2 4/7/2 +f 2/5/2 6/8/2 5/6/2 +f 6/9/1 7/10/1 5/11/1 +f 6/9/1 8/12/1 7/10/1 +f 8/13/2 9/14/2 7/15/2 +f 7/15/2 9/14/2 10/16/2 +f 9/14/3 11/17/3 10/16/3 +f 9/14/3 12/18/3 11/17/3 +f 12/19/4 3/3/4 11/20/4 +f 12/19/4 1/1/4 3/3/4 +f 8/21/5 6/22/5 9/14/5 +f 6/22/5 12/18/5 9/14/5 +f 2/23/5 1/24/5 6/22/5 +f 6/22/5 1/24/5 12/18/5 +f 5/25/6 7/26/6 10/27/6 +f 11/28/6 5/25/6 10/27/6 +f 3/29/6 4/30/6 5/25/6 +f 3/29/6 5/25/6 11/28/6 diff --git a/mymillwork/models/mymillwork_mach21.obj b/mymillwork/models/mymillwork_mach21.obj new file mode 100644 index 0000000..194992a --- /dev/null +++ b/mymillwork/models/mymillwork_mach21.obj @@ -0,0 +1,48 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v -0.437500 -0.500000 0.437500 +v -0.500000 -0.500000 0.437500 +v -0.500000 -0.187500 0.437500 +v -0.437500 -0.187500 0.437500 +v -0.437500 -0.500000 0.500000 +v -0.437500 -0.187500 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.187500 0.500000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 0.200000 +vt 1.000000 0.200000 +vt 1.000000 0.200000 +vt 0.000000 0.200000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 1/1/1 3/3/1 4/4/1 +f 5/5/2 1/1/2 4/4/2 +f 5/5/2 4/4/2 6/6/2 +f 7/7/3 5/8/3 6/9/3 +f 7/7/3 6/9/3 8/10/3 +f 2/11/4 7/7/4 8/10/4 +f 2/11/4 8/10/4 3/12/4 +f 2/13/5 1/14/5 5/8/5 +f 2/13/5 5/8/5 7/7/5 +f 4/15/6 3/16/6 6/17/6 +f 6/17/6 3/16/6 8/18/6 diff --git a/mymillwork/models/mymillwork_mach22.obj b/mymillwork/models/mymillwork_mach22.obj new file mode 100644 index 0000000..32641da --- /dev/null +++ b/mymillwork/models/mymillwork_mach22.obj @@ -0,0 +1,163 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.312500 +v -0.500000 -0.500000 0.312500 +v 0.500000 -0.187500 0.312500 +v -0.500000 -0.187500 0.312500 +v -0.500000 -0.187500 0.375000 +v 0.500000 -0.187500 0.375000 +v 0.500000 -0.062500 0.375000 +v -0.500000 -0.062500 0.375000 +v -0.500000 -0.062500 0.437500 +v 0.500000 -0.062500 0.437500 +v -0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.375000 +v -0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.375000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.125000 0.437500 +v 0.500000 0.125000 0.437500 +v -0.500000 0.187500 0.437500 +v 0.500000 0.187500 0.437500 +v -0.500000 0.187500 0.500000 +v 0.500000 0.187500 0.500000 +v -0.500000 -0.062500 0.437500 +v -0.500000 -0.062500 0.375000 +v -0.500000 0.000000 0.437500 +v -0.500000 0.125000 0.375000 +v -0.500000 0.000000 0.375000 +v -0.500000 0.125000 0.437500 +v -0.500000 0.187500 0.500000 +v -0.500000 0.187500 0.437500 +v 0.500000 -0.187500 0.375000 +v 0.500000 -0.062500 0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.437500 +v 0.500000 0.187500 0.500000 +v 0.500000 0.187500 0.437500 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.272727 +vt 0.000000 0.272727 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.454545 +vt 0.000000 0.454545 +vt 0.000000 0.272727 +vt 0.000000 0.181818 +vt 1.000000 0.272727 +vt 1.000000 0.181818 +vt 1.000000 0.454545 +vt 0.000000 0.454545 +vt 1.000000 0.636364 +vt 0.000000 0.636364 +vt 0.000000 0.181818 +vt 0.000000 0.090909 +vt 1.000000 0.181818 +vt 1.000000 0.090909 +vt 0.000000 0.636364 +vt 0.000000 0.727273 +vt 1.000000 0.636364 +vt 1.000000 0.727273 +vt 1.000000 0.090909 +vt 0.000000 0.090909 +vt 1.000000 0.181818 +vt 0.000000 0.181818 +vt 1.000000 0.727273 +vt 0.000000 0.727273 +vt 1.000000 0.909091 +vt 0.000000 0.909091 +vt 0.000000 0.181818 +vt 0.000000 0.090909 +vt 1.000000 0.181818 +vt 1.000000 0.090909 +vt 0.000000 0.909091 +vt 0.000000 1.000000 +vt 1.000000 0.909091 +vt 1.000000 1.000000 +vt 0.000000 0.090909 +vt 0.000000 0.000000 +vt 1.000000 0.090909 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 0.125000 0.454545 +vt 0.187500 0.000000 +vt 0.187500 0.454545 +vt 0.062500 0.636364 +vt 0.125000 0.636364 +vt 0.062500 0.727273 +vt 0.125000 0.909091 +vt 0.125000 0.727273 +vt 0.062500 0.909091 +vt 0.000000 1.000000 +vt 0.062500 1.000000 +vt 0.125000 0.454545 +vt 0.000000 0.000000 +vt 0.187500 0.000000 +vt 0.187500 0.454545 +vt 0.062500 0.636364 +vt 0.125000 0.636364 +vt 0.125000 0.909091 +vt 0.062500 0.727273 +vt 0.125000 0.727273 +vt 0.062500 0.909091 +vt 0.000000 1.000000 +vt 0.062500 1.000000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 2/2/1 4/4/1 3/3/1 +f 3/5/2 4/6/2 5/7/2 +f 4/6/2 6/8/2 5/7/2 +f 6/9/3 7/10/3 5/11/3 +f 5/11/3 7/10/3 8/12/3 +f 8/13/2 7/14/2 9/15/2 +f 7/14/2 10/16/2 9/15/2 +f 10/17/3 11/18/3 9/19/3 +f 9/19/3 11/18/3 12/20/3 +f 11/21/2 13/22/2 12/23/2 +f 12/23/2 13/22/2 14/24/2 +f 14/25/1 13/26/1 15/27/1 +f 13/26/1 16/28/1 15/27/1 +f 15/29/2 16/30/2 17/31/2 +f 16/30/2 18/32/2 17/31/2 +f 18/33/3 19/34/3 17/35/3 +f 17/35/3 19/34/3 20/36/3 +f 19/37/2 21/38/2 20/39/2 +f 20/39/2 21/38/2 22/40/2 +f 21/41/3 23/42/3 22/43/3 +f 22/43/3 23/42/3 24/44/3 +f 23/45/4 2/2/4 24/46/4 +f 24/46/4 2/2/4 1/1/4 +f 2/2/5 7/47/5 4/48/5 +f 4/48/5 7/47/5 6/49/5 +f 7/47/5 25/50/5 26/51/5 +f 2/2/5 25/50/5 7/47/5 +f 27/52/5 28/53/5 29/54/5 +f 27/52/5 30/55/5 28/53/5 +f 30/55/5 31/56/5 32/57/5 +f 27/52/5 31/56/5 30/55/5 +f 2/2/5 31/56/5 25/50/5 +f 25/50/5 31/56/5 27/52/5 +f 33/58/6 1/59/6 3/60/6 +f 33/58/6 3/60/6 5/61/6 +f 12/62/6 33/58/6 34/63/6 +f 12/62/6 1/59/6 33/58/6 +f 35/64/6 36/65/6 37/66/6 +f 38/67/6 36/65/6 35/64/6 +f 39/68/6 38/67/6 40/69/6 +f 39/68/6 36/65/6 38/67/6 +f 39/68/6 1/59/6 12/62/6 +f 39/68/6 12/62/6 36/65/6 diff --git a/mymillwork/models/mymillwork_mach23.obj b/mymillwork/models/mymillwork_mach23.obj new file mode 100644 index 0000000..ef5dd8c --- /dev/null +++ b/mymillwork/models/mymillwork_mach23.obj @@ -0,0 +1,353 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.187500 0.375000 +v -0.500000 -0.500000 0.312500 +v -0.500000 -0.187500 0.312500 +v -0.500000 -0.062500 0.437500 +v -0.500000 -0.062500 0.375000 +v -0.500000 0.000000 0.437500 +v -0.500000 0.125000 0.375000 +v -0.500000 0.000000 0.375000 +v -0.500000 0.125000 0.437500 +v -0.500000 0.187500 0.500000 +v -0.500000 0.187500 0.437500 +v 0.312500 -0.500000 0.500000 +v 0.312500 -0.500000 0.312500 +v 0.312500 -0.187500 0.312500 +v -0.500000 -0.187500 0.312500 +v -0.500000 -0.187500 0.375000 +v 0.312500 -0.187500 0.375000 +v 0.375000 -0.062500 0.375000 +v 0.375000 -0.187500 0.375000 +v -0.500000 -0.062500 0.375000 +v 0.375000 -0.062500 0.437500 +v -0.500000 -0.062500 0.437500 +v 0.437500 -0.062500 0.437500 +v 0.437500 0.000000 0.437500 +v 0.375000 0.000000 0.437500 +v -0.500000 0.000000 0.437500 +v 0.375000 0.000000 0.375000 +v -0.500000 0.000000 0.375000 +v 0.375000 0.125000 0.375000 +v -0.500000 0.125000 0.375000 +v 0.375000 0.125000 0.437500 +v 0.437500 0.187500 0.437500 +v 0.437500 0.125000 0.437500 +v 0.437500 0.187500 0.500000 +v -0.500000 0.187500 0.500000 +v 0.375000 0.125000 0.500000 +v 0.437500 0.125000 0.500000 +v 0.437500 0.000000 0.500000 +v 0.375000 -0.062500 0.500000 +v 0.437500 -0.062500 0.500000 +v 0.375000 0.000000 0.500000 +v 0.312500 -0.187500 0.500000 +v 0.375000 -0.187500 0.500000 +v 0.500000 -0.500000 0.312500 +v 0.500000 -0.500000 0.500000 +v 0.312500 -0.187500 -0.500000 +v 0.312500 -0.500000 -0.500000 +v 0.375000 -0.187500 0.312500 +v 0.375000 -0.062500 -0.500000 +v 0.375000 -0.187500 -0.500000 +v 0.437500 -0.062500 0.375000 +v 0.437500 0.000000 0.375000 +v 0.437500 0.000000 -0.500000 +v 0.437500 -0.062500 -0.500000 +v 0.375000 0.125000 -0.500000 +v 0.375000 0.000000 -0.500000 +v 0.437500 0.125000 0.375000 +v 0.437500 0.187500 -0.500000 +v 0.437500 0.125000 -0.500000 +v 0.500000 0.187500 0.500000 +v 0.500000 0.187500 0.437500 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.187500 0.375000 +v 0.500000 -0.187500 0.312500 +v 0.500000 -0.062500 0.437500 +v 0.500000 -0.062500 0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.437500 +v 0.500000 0.187500 -0.500000 +v 0.437500 0.125000 -0.500000 +v 0.437500 0.187500 -0.500000 +v 0.375000 0.000000 -0.500000 +v 0.375000 -0.062500 -0.500000 +v 0.312500 -0.500000 -0.500000 +vt 0.000000 0.000000 +vt 0.125000 0.312500 +vt 0.187500 0.000000 +vt 0.187500 0.312500 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.062500 0.500000 +vt 0.125000 0.625000 +vt 0.125000 0.500000 +vt 0.062500 0.625000 +vt 0.000000 0.687500 +vt 0.062500 0.687500 +vt 0.812500 0.000000 +vt 0.812500 0.187500 +vt 0.000000 0.187500 +vt 0.812500 0.000000 +vt 0.000000 0.000000 +vt 0.812500 0.312500 +vt 0.000000 0.312500 +vt 0.812500 0.187500 +vt 0.000000 0.125000 +vt 0.812500 0.125000 +vt 0.000000 0.187500 +vt 0.812500 0.312500 +vt 0.875000 0.437500 +vt 0.875000 0.312500 +vt 0.000000 0.312500 +vt 0.000000 0.437500 +vt 0.875000 0.125000 +vt 0.000000 0.125000 +vt 0.875000 0.062500 +vt 0.000000 0.062500 +vt 0.937500 0.437500 +vt 0.875000 0.437500 +vt 0.937500 0.500000 +vt 0.875000 0.500000 +vt 0.000000 0.437500 +vt 0.000000 0.500000 +vt 0.875000 0.062500 +vt 0.000000 0.062500 +vt 0.875000 0.125000 +vt 0.000000 0.125000 +vt 0.875000 0.500000 +vt 0.000000 0.500000 +vt 0.875000 0.625000 +vt 0.000000 0.625000 +vt 0.875000 0.125000 +vt 0.000000 0.125000 +vt 0.875000 0.062500 +vt 0.000000 0.062500 +vt 0.875000 0.625000 +vt 0.937500 0.687500 +vt 0.937500 0.625000 +vt 0.000000 0.625000 +vt 0.000000 0.687500 +vt 0.937500 0.062500 +vt 0.000000 0.062500 +vt 0.937500 0.000000 +vt 0.000000 0.000000 +vt 0.937500 0.687500 +vt 0.875000 0.625000 +vt 0.937500 0.625000 +vt 0.937500 0.500000 +vt 0.875000 0.437500 +vt 0.937500 0.437500 +vt 0.875000 0.500000 +vt 0.812500 0.312500 +vt 0.875000 0.312500 +vt 0.000000 0.687500 +vt 1.000000 0.187500 +vt 1.000000 0.000000 +vt 0.187500 0.000000 +vt 1.000000 0.312500 +vt 1.000000 0.000000 +vt 0.187500 0.312500 +vt 0.875000 0.187500 +vt 0.875000 0.125000 +vt 0.187500 0.312500 +vt 1.000000 0.437500 +vt 1.000000 0.312500 +vt 0.125000 0.437500 +vt 0.125000 0.312500 +vt 0.937500 0.125000 +vt 0.937500 0.062500 +vt 0.937500 0.062500 +vt 0.937500 0.125000 +vt 0.125000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.437500 +vt 0.125000 0.437500 +vt 0.062500 0.500000 +vt 0.062500 0.437500 +vt 0.125000 0.625000 +vt 1.000000 0.625000 +vt 1.000000 0.500000 +vt 0.125000 0.500000 +vt 0.937500 0.125000 +vt 0.937500 0.062500 +vt 0.125000 0.625000 +vt 1.000000 0.687500 +vt 1.000000 0.625000 +vt 0.062500 0.687500 +vt 0.062500 0.625000 +vt 1.000000 0.000000 +vt 1.000000 0.062500 +vt 1.000000 0.687500 +vt 0.812500 1.000000 +vt 1.000000 1.000000 +vt 0.125000 0.312500 +vt 0.187500 0.000000 +vt 0.187500 0.312500 +vt 0.000000 0.000000 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.125000 0.625000 +vt 0.062500 0.500000 +vt 0.125000 0.500000 +vt 0.062500 0.625000 +vt 0.000000 0.687500 +vt 0.062500 0.687500 +vt 1.000000 0.687500 +vt 0.937500 0.625000 +vt 0.937500 0.687500 +vt 0.937500 0.500000 +vt 0.937500 0.437500 +vt 0.875000 0.500000 +vt 0.875000 0.625000 +vt 0.875000 0.312500 +vt 0.875000 0.437500 +vt 1.000000 0.000000 +vt 0.812500 0.000000 +vt 0.812500 0.312500 +vt 0.875000 1.000000 +vt 0.812500 1.000000 +vt 0.937500 1.000000 +vt 0.875000 1.000000 +vt 0.875000 1.000000 +vt 0.937500 1.000000 +vt 0.937500 1.000000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 0.937500 1.000000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 2/2/1 4/4/1 +f 2/2/1 5/5/1 6/6/1 +f 1/1/1 5/5/1 2/2/1 +f 7/7/1 8/8/1 9/9/1 +f 7/7/1 10/10/1 8/8/1 +f 10/10/1 11/11/1 12/12/1 +f 7/7/1 11/11/1 10/10/1 +f 1/1/1 11/11/1 7/7/1 +f 1/1/1 7/7/1 5/5/1 +f 13/13/2 1/1/2 14/14/2 +f 1/1/2 3/15/2 14/14/2 +f 14/16/3 3/17/3 15/18/3 +f 3/17/3 16/19/3 15/18/3 +f 15/20/4 17/21/4 18/22/4 +f 16/23/4 17/21/4 15/20/4 +f 18/24/3 19/25/3 20/26/3 +f 17/27/3 21/28/3 18/24/3 +f 18/24/3 21/28/3 19/25/3 +f 19/29/4 21/30/4 22/31/4 +f 21/30/4 23/32/4 22/31/4 +f 24/33/3 22/34/3 25/35/3 +f 22/34/3 26/36/3 25/35/3 +f 22/34/3 23/37/3 26/36/3 +f 23/37/3 27/38/3 26/36/3 +f 26/39/2 27/40/2 28/41/2 +f 27/40/2 29/42/2 28/41/2 +f 28/43/3 29/44/3 30/45/3 +f 29/44/3 31/46/3 30/45/3 +f 30/47/4 31/48/4 32/49/4 +f 31/48/4 10/50/4 32/49/4 +f 32/51/3 33/52/3 34/53/3 +f 10/54/3 12/55/3 32/51/3 +f 32/51/3 12/55/3 33/52/3 +f 33/56/4 12/57/4 35/58/4 +f 12/57/4 36/59/4 35/58/4 +f 35/60/5 37/61/5 38/62/5 +f 39/63/5 40/64/5 41/65/5 +f 42/66/5 40/64/5 39/63/5 +f 40/64/5 43/67/5 44/68/5 +f 42/66/5 43/67/5 40/64/5 +f 37/61/5 36/69/5 42/66/5 +f 35/60/5 36/69/5 37/61/5 +f 42/66/5 36/69/5 43/67/5 +f 43/67/5 1/1/5 13/13/5 +f 36/69/5 1/1/5 43/67/5 +f 13/13/2 45/70/2 46/71/2 +f 13/13/2 14/14/2 45/70/2 +f 14/72/1 47/73/1 48/74/1 +f 14/72/1 15/75/1 47/73/1 +f 18/22/4 49/76/4 15/20/4 +f 18/22/4 20/77/4 49/76/4 +f 49/78/1 50/79/1 51/80/1 +f 49/78/1 19/81/1 50/79/1 +f 20/82/1 19/81/1 49/78/1 +f 22/31/4 52/83/4 19/29/4 +f 22/31/4 24/84/4 52/83/4 +f 25/85/2 28/41/2 53/86/2 +f 25/85/2 26/39/2 28/41/2 +f 53/87/1 54/88/1 55/89/1 +f 52/90/1 25/91/1 53/87/1 +f 52/90/1 53/87/1 55/89/1 +f 24/92/1 25/91/1 52/90/1 +f 30/93/1 56/94/1 57/95/1 +f 28/96/1 30/93/1 57/95/1 +f 32/49/4 58/97/4 30/47/4 +f 32/49/4 34/98/4 58/97/4 +f 58/99/1 59/100/1 60/101/1 +f 58/99/1 33/102/1 59/100/1 +f 34/103/1 33/102/1 58/99/1 +f 35/58/4 61/104/4 62/105/4 +f 35/58/4 62/105/4 33/56/4 +f 38/62/5 61/106/5 35/60/5 +f 39/63/5 61/106/5 38/62/5 +f 42/66/5 38/62/5 37/61/5 +f 42/66/5 39/63/5 38/62/5 +f 41/65/5 61/106/5 39/63/5 +f 44/68/5 41/65/5 40/64/5 +f 46/71/5 41/65/5 44/68/5 +f 13/13/5 44/68/5 43/67/5 +f 13/13/5 46/71/5 44/68/5 +f 46/71/5 61/106/5 41/65/5 +f 14/14/2 48/107/2 63/108/2 +f 45/70/2 14/14/2 63/108/2 +f 64/109/6 45/110/6 65/111/6 +f 64/109/6 46/112/6 45/110/6 +f 66/113/6 64/109/6 67/114/6 +f 66/113/6 46/112/6 64/109/6 +f 68/115/6 69/116/6 70/117/6 +f 71/118/6 69/116/6 68/115/6 +f 61/119/6 71/118/6 62/120/6 +f 61/119/6 69/116/6 71/118/6 +f 61/119/6 46/112/6 69/116/6 +f 69/116/6 46/112/6 66/113/6 +f 72/121/3 73/122/3 74/123/3 +f 72/121/3 54/124/3 73/122/3 +f 72/121/3 55/125/3 54/124/3 +f 73/122/3 75/126/3 56/127/3 +f 54/124/3 75/126/3 73/122/3 +f 55/125/3 51/128/3 76/129/3 +f 55/125/3 63/130/3 51/128/3 +f 51/128/3 77/131/3 47/132/3 +f 63/130/3 77/131/3 51/128/3 +f 72/121/3 63/130/3 55/125/3 +f 49/76/4 51/133/4 47/134/4 +f 15/20/4 49/76/4 47/134/4 +f 52/83/4 55/135/4 50/136/4 +f 19/29/4 52/83/4 50/136/4 +f 28/41/2 57/137/2 54/138/2 +f 53/86/2 28/41/2 54/138/2 +f 58/97/4 60/139/4 56/140/4 +f 30/47/4 58/97/4 56/140/4 +f 62/105/4 72/141/4 59/142/4 +f 33/56/4 62/105/4 59/142/4 +f 65/111/6 63/130/6 72/121/6 +f 65/111/6 45/110/6 63/130/6 +f 67/114/6 64/109/6 65/111/6 +f 70/117/6 66/113/6 67/114/6 +f 70/117/6 65/111/6 72/121/6 +f 70/117/6 67/114/6 65/111/6 +f 69/116/6 66/113/6 70/117/6 +f 68/115/6 70/117/6 72/121/6 +f 62/120/6 71/118/6 68/115/6 +f 62/120/6 68/115/6 72/121/6 diff --git a/mymillwork/models/mymillwork_mach24.obj b/mymillwork/models/mymillwork_mach24.obj new file mode 100644 index 0000000..ead79ef --- /dev/null +++ b/mymillwork/models/mymillwork_mach24.obj @@ -0,0 +1,224 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v -0.500000 0.187500 0.500000 +v -0.437500 0.125000 0.500000 +v -0.437500 0.187500 0.500000 +v -0.437500 0.000000 0.500000 +v -0.375000 0.000000 0.500000 +v -0.375000 0.125000 0.500000 +v -0.437500 -0.062500 0.500000 +v -0.375000 -0.187500 0.500000 +v -0.375000 -0.062500 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.312500 -0.500000 0.500000 +v -0.312500 -0.187500 0.500000 +v -0.500000 -0.500000 0.312500 +v -0.312500 -0.500000 0.312500 +v -0.312500 -0.187500 0.375000 +v -0.312500 -0.187500 0.312500 +v -0.375000 -0.187500 0.375000 +v -0.375000 -0.062500 0.437500 +v -0.375000 -0.062500 0.375000 +v -0.437500 -0.062500 0.437500 +v -0.437500 0.000000 0.437500 +v -0.375000 0.000000 0.437500 +v -0.375000 0.125000 0.375000 +v -0.375000 0.000000 0.375000 +v -0.375000 0.125000 0.437500 +v -0.437500 0.125000 0.437500 +v -0.437500 0.187500 0.437500 +v -0.500000 0.187500 0.437500 +v -0.500000 0.125000 0.437500 +v -0.500000 0.125000 0.375000 +v -0.500000 0.000000 0.437500 +v -0.500000 0.000000 0.375000 +v -0.500000 -0.062500 0.437500 +v -0.500000 -0.062500 0.375000 +v -0.500000 -0.187500 0.375000 +v -0.500000 -0.187500 0.312500 +v -0.375000 -0.187500 0.312500 +v -0.437500 -0.062500 0.375000 +v -0.437500 0.000000 0.375000 +v -0.437500 0.125000 0.375000 +vt 0.000000 1.000000 +vt 0.333333 0.909091 +vt 0.333333 1.000000 +vt 0.333333 0.727273 +vt 0.666667 0.727273 +vt 0.666667 0.909091 +vt 0.333333 0.636364 +vt 0.666667 0.454545 +vt 0.666667 0.636364 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.454545 +vt 0.000000 0.272727 +vt 1.000000 0.272727 +vt 0.000000 0.454545 +vt 0.000000 0.000000 +vt 0.666667 0.454545 +vt 1.000000 0.000000 +vt 1.000000 0.454545 +vt 0.666667 0.181818 +vt 1.000000 0.000000 +vt 1.000000 0.181818 +vt 0.666667 0.000000 +vt 0.333333 0.636364 +vt 0.666667 0.454545 +vt 0.666667 0.636364 +vt 0.000000 0.636364 +vt 0.000000 0.454545 +vt 0.333333 0.090909 +vt 0.666667 0.000000 +vt 0.666667 0.090909 +vt 0.333333 0.000000 +vt 0.000000 0.727273 +vt 0.333333 0.636364 +vt 0.333333 0.727273 +vt 0.000000 0.636364 +vt 0.666667 0.090909 +vt 0.333333 0.000000 +vt 0.333333 0.090909 +vt 0.666667 0.000000 +vt 0.666667 0.909091 +vt 0.333333 0.727273 +vt 0.666667 0.727273 +vt 0.333333 0.909091 +vt 0.000000 0.909091 +vt 0.000000 0.727273 +vt 0.333333 0.090909 +vt 0.666667 0.000000 +vt 0.666667 0.090909 +vt 0.333333 0.000000 +vt 0.000000 1.000000 +vt 0.333333 0.909091 +vt 0.333333 1.000000 +vt 0.000000 0.909091 +vt 0.333333 0.000000 +vt 0.000000 0.090909 +vt 0.000000 0.000000 +vt 0.333333 0.090909 +vt 0.333333 0.909091 +vt 0.333333 1.000000 +vt 0.666667 0.909091 +vt 0.333333 0.727273 +vt 0.666667 0.727273 +vt 0.333333 0.636364 +vt 0.666667 0.636364 +vt 0.666667 0.454545 +vt 1.000000 0.454545 +vt 1.000000 0.000000 +vt 0.666667 0.454545 +vt 0.000000 0.000000 +vt 0.000000 0.454545 +vt 1.000000 0.272727 +vt 0.666667 0.272727 +vt 0.333333 0.636364 +vt 0.000000 0.454545 +vt 0.000000 0.636364 +vt 0.333333 0.181818 +vt 0.666667 0.181818 +vt 0.000000 0.636364 +vt 0.000000 0.727273 +vt 0.666667 0.181818 +vt 0.333333 0.181818 +vt 0.333333 0.727273 +vt 0.333333 0.909091 +vt 0.000000 0.727273 +vt 0.000000 0.909091 +vt 0.333333 0.181818 +vt 0.666667 0.181818 +vt 0.000000 0.909091 +vt 0.000000 1.000000 +vt 0.000000 0.181818 +vt 0.000000 0.090909 +vt 0.000000 0.090909 +vt 0.000000 0.181818 +vt 0.000000 0.181818 +vt 0.000000 0.090909 +vt 0.000000 0.272727 +vt 0.000000 0.181818 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 1/1/1 4/4/1 2/2/1 +f 2/2/1 5/5/1 6/6/1 +f 4/4/1 5/5/1 2/2/1 +f 1/1/1 7/7/1 4/4/1 +f 7/7/1 8/8/1 9/9/1 +f 7/7/1 10/10/1 8/8/1 +f 8/8/1 11/11/1 12/12/1 +f 10/10/1 11/11/1 8/8/1 +f 1/1/1 10/10/1 7/7/1 +f 10/10/2 13/13/2 11/11/2 +f 13/13/2 14/14/2 11/11/2 +f 12/15/3 11/16/3 15/17/3 +f 15/17/3 14/18/3 16/19/3 +f 11/16/3 14/18/3 15/17/3 +f 17/20/4 12/21/4 15/22/4 +f 8/23/4 12/21/4 17/20/4 +f 18/24/3 17/25/3 19/26/3 +f 9/27/3 8/28/3 18/24/3 +f 18/24/3 8/28/3 17/25/3 +f 20/29/4 9/30/4 18/31/4 +f 7/32/4 9/30/4 20/29/4 +f 4/33/3 20/34/3 21/35/3 +f 4/33/3 7/36/3 20/34/3 +f 22/37/2 4/38/2 21/39/2 +f 5/40/2 4/38/2 22/37/2 +f 23/41/3 22/42/3 24/43/3 +f 25/44/3 22/42/3 23/41/3 +f 6/45/3 5/46/3 25/44/3 +f 25/44/3 5/46/3 22/42/3 +f 26/47/4 6/48/4 25/49/4 +f 2/50/4 6/48/4 26/47/4 +f 3/51/3 26/52/3 27/53/3 +f 3/51/3 2/54/3 26/52/3 +f 3/55/4 28/56/4 1/57/4 +f 27/58/4 28/56/4 3/55/4 +f 29/59/5 1/1/5 28/60/5 +f 30/61/5 31/62/5 29/59/5 +f 32/63/5 31/62/5 30/61/5 +f 29/59/5 31/62/5 1/1/5 +f 31/62/5 33/64/5 1/1/5 +f 34/65/5 35/66/5 33/64/5 +f 36/67/5 13/68/5 35/66/5 +f 35/66/5 10/10/5 33/64/5 +f 13/68/5 10/10/5 35/66/5 +f 10/10/5 1/1/5 33/64/5 +f 16/19/6 14/18/6 37/69/6 +f 37/69/6 13/70/6 36/71/6 +f 14/18/6 13/70/6 37/69/6 +f 16/72/4 17/20/4 15/22/4 +f 37/73/4 17/20/4 16/72/4 +f 17/25/6 38/74/6 19/26/6 +f 35/75/6 34/76/6 38/74/6 +f 35/75/6 38/74/6 17/25/6 +f 38/77/4 18/31/4 19/78/4 +f 38/77/4 20/29/4 18/31/4 +f 33/79/6 21/35/6 20/34/6 +f 33/79/6 31/80/6 21/35/6 +f 21/39/2 24/81/2 22/37/2 +f 21/39/2 39/82/2 24/81/2 +f 39/83/6 23/41/6 24/43/6 +f 39/83/6 40/84/6 23/41/6 +f 32/85/6 30/86/6 40/84/6 +f 32/85/6 40/84/6 39/83/6 +f 40/87/4 25/49/4 23/88/4 +f 40/87/4 26/47/4 25/49/4 +f 29/89/6 27/53/6 26/52/6 +f 29/89/6 28/90/6 27/53/6 +f 30/91/4 26/47/4 40/87/4 +f 30/91/4 29/92/4 26/47/4 +f 31/93/2 39/82/2 21/39/2 +f 31/93/2 32/94/2 39/82/2 +f 34/95/4 20/29/4 38/77/4 +f 34/95/4 33/96/4 20/29/4 +f 36/97/4 17/20/4 37/73/4 +f 36/97/4 35/98/4 17/20/4 diff --git a/mymillwork/models/mymillwork_mach3.obj b/mymillwork/models/mymillwork_mach3.obj new file mode 100644 index 0000000..93e009e --- /dev/null +++ b/mymillwork/models/mymillwork_mach3.obj @@ -0,0 +1,961 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.500000 -0.125000 0.375000 +v 0.437500 -0.062500 0.375000 +v 0.500000 -0.062500 0.375000 +v 0.375000 -0.125000 0.375000 +v 0.375000 -0.062500 0.375000 +v 0.375000 -0.062500 0.437500 +v 0.375000 -0.125000 0.500000 +v 0.375000 -0.062500 0.500000 +v 0.437500 -0.062500 0.437500 +v 0.500000 -0.062500 0.437500 +v 0.500000 -0.437500 -0.437500 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.437500 -0.500000 +v 0.500000 -0.437500 -0.250000 +v 0.500000 -0.375000 -0.250000 +v 0.500000 -0.375000 -0.437500 +v 0.500000 -0.437500 -0.125000 +v 0.500000 -0.437500 0.000000 +v 0.500000 -0.375000 0.000000 +v 0.500000 -0.375000 -0.125000 +v 0.500000 -0.375000 0.125000 +v 0.500000 -0.437500 0.062500 +v 0.500000 -0.375000 0.062500 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.301029 0.217358 +v 0.500000 -0.260345 0.260345 +v 0.500000 -0.339286 0.172197 +v 0.500000 -0.217358 0.301029 +v 0.500000 -0.172197 0.339286 +v 0.500000 -0.125000 0.375000 +v 0.500000 -0.062500 0.375000 +v 0.500000 0.125000 0.437500 +v 0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.437500 0.437500 +v 0.500000 0.250000 0.437500 +v 0.500000 0.250000 0.375000 +v 0.500000 0.437500 0.375000 +v 0.500000 0.500000 0.500000 +v 0.500000 0.500000 0.437500 +v 0.351934 -0.156094 0.351934 +v 0.327763 -0.186337 0.327763 +v 0.291904 -0.227419 0.291904 +v 0.253671 -0.266961 0.253671 +v 0.213121 -0.304804 0.213121 +v 0.169980 -0.341057 0.169980 +v 0.125000 -0.375000 0.125000 +v 0.437500 0.500000 0.500000 +v 0.437500 0.437500 0.500000 +v 0.375000 0.437500 0.500000 +v 0.437500 0.250000 0.500000 +v 0.375000 0.250000 0.500000 +v 0.437500 0.125000 0.500000 +v 0.437500 0.000000 0.500000 +v 0.375000 0.125000 0.500000 +v 0.375000 0.000000 0.500000 +v 0.437500 -0.062500 0.500000 +v 0.301029 -0.217358 0.500000 +v 0.339286 -0.172197 0.500000 +v 0.260345 -0.260345 0.500000 +v 0.217358 -0.301029 0.500000 +v 0.172197 -0.339286 0.500000 +v 0.125000 -0.375000 0.500000 +v 0.062500 -0.375000 0.500000 +v 0.062500 -0.437500 0.500000 +v -0.000000 -0.375000 0.500000 +v -0.125000 -0.437500 0.500000 +v -0.000000 -0.437500 0.500000 +v -0.125000 -0.375000 0.500000 +v -0.250000 -0.375000 0.500000 +v -0.437500 -0.437500 0.500000 +v -0.250000 -0.437500 0.500000 +v -0.437500 -0.375000 0.500000 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.437500 0.500000 +v 0.437500 0.000000 0.437500 +v 0.500000 0.000000 0.437500 +v 0.437500 0.000000 0.375000 +v 0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.375000 +v 0.437500 0.125000 0.375000 +v 0.375000 0.000000 0.375000 +v 0.375000 0.125000 0.375000 +v 0.500000 0.125000 0.437500 +v 0.437500 0.125000 0.437500 +v 0.437500 0.250000 0.437500 +v 0.437500 0.250000 0.375000 +v 0.437500 0.437500 0.375000 +v 0.375000 0.250000 0.375000 +v 0.375000 0.437500 0.375000 +v 0.437500 0.437500 0.437500 +v 0.437500 0.500000 0.437500 +v -0.500000 -0.500000 -0.500000 +v 0.062500 -0.437500 -0.500000 +v -0.125000 -0.437500 -0.500000 +v -0.250000 -0.437500 -0.500000 +v -0.437500 -0.437500 -0.500000 +v -0.500000 -0.437500 -0.500000 +v 0.000000 -0.437500 -0.500000 +v 0.062500 -0.437500 -0.437500 +v 0.125000 -0.375000 -0.437500 +v 0.500000 -0.375000 -0.437500 +v 0.062500 -0.375000 -0.437500 +v 0.125000 -0.375000 -0.250000 +v 0.500000 -0.437500 -0.250000 +v 0.062500 -0.375000 -0.250000 +v 0.062500 -0.437500 -0.250000 +v 0.062500 -0.437500 -0.125000 +v 0.125000 -0.375000 -0.125000 +v 0.500000 -0.375000 -0.125000 +v 0.062500 -0.375000 -0.125000 +v 0.125000 -0.375000 0.000000 +v 0.500000 -0.375000 0.000000 +v 0.500000 -0.437500 0.000000 +v 0.062500 -0.375000 0.000000 +v 0.062500 -0.437500 0.000000 +v 0.062500 -0.437500 0.062500 +v 0.500000 -0.437500 0.062500 +v 0.125000 -0.375000 0.062500 +v 0.062500 -0.375000 0.062500 +v 0.375000 0.437500 0.437500 +v 0.375000 0.250000 0.437500 +v 0.375000 0.125000 0.437500 +v 0.375000 0.000000 0.437500 +v 0.062500 -0.375000 0.125000 +v -0.000000 -0.437500 0.062500 +v -0.000000 -0.375000 0.125000 +v -0.000000 -0.375000 0.062500 +v -0.125000 -0.375000 0.125000 +v -0.125000 -0.437500 0.062500 +v -0.125000 -0.375000 0.062500 +v -0.250000 -0.437500 0.062500 +v -0.250000 -0.375000 0.125000 +v -0.250000 -0.375000 0.062500 +v -0.437500 -0.375000 0.125000 +v -0.437500 -0.437500 0.062500 +v -0.437500 -0.375000 0.062500 +v -0.500000 -0.437500 0.062500 +v -0.500000 -0.437500 -0.437500 +v -0.500000 -0.437500 -0.250000 +v -0.500000 -0.437500 -0.000000 +v -0.500000 -0.437500 -0.125000 +v -0.437500 -0.437500 -0.437500 +v -0.250000 -0.437500 -0.437500 +v 0.000000 -0.437500 -0.437500 +v -0.125000 -0.437500 -0.437500 +v -0.000000 -0.437500 -0.250000 +v -0.000000 -0.437500 -0.125000 +v -0.000000 -0.437500 0.000000 +v -0.250000 -0.437500 0.000000 +v -0.125000 -0.437500 0.000000 +v -0.437500 -0.437500 -0.000000 +v -0.437500 -0.437500 -0.125000 +v -0.437500 -0.437500 -0.250000 +v -0.437500 -0.375000 -0.437500 +v -0.250000 -0.375000 -0.437500 +v -0.125000 -0.437500 -0.250000 +v -0.250000 -0.437500 -0.250000 +v -0.125000 -0.375000 -0.437500 +v 0.000000 -0.375000 -0.437500 +v -0.125000 -0.437500 -0.125000 +v -0.250000 -0.437500 -0.125000 +v -0.437500 -0.375000 -0.000000 +v -0.437500 -0.375000 -0.125000 +v -0.437500 -0.375000 -0.250000 +v -0.250000 -0.375000 -0.250000 +v -0.000000 -0.375000 -0.250000 +v -0.125000 -0.375000 -0.250000 +v -0.000000 -0.375000 -0.125000 +v -0.000000 -0.375000 0.000000 +v -0.125000 -0.375000 -0.125000 +v -0.125000 -0.375000 0.000000 +v -0.250000 -0.375000 -0.125000 +v -0.250000 -0.375000 -0.000000 +vt 1.000000 0.375000 +vt 0.937500 0.437500 +vt 1.000000 0.437500 +vt 0.875000 0.375000 +vt 0.875000 0.437500 +vt 0.125000 0.375000 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.000000 0.375000 +vt 0.000000 0.437500 +vt 0.875000 0.125000 +vt 0.937500 0.062500 +vt 0.937500 0.125000 +vt 0.875000 0.062500 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 0.937500 0.062500 +vt 1.000000 0.000000 +vt 1.000000 0.062500 +vt 0.750000 0.062500 +vt 0.750000 0.125000 +vt 0.937500 0.125000 +vt 0.625000 0.062500 +vt 0.500000 0.062500 +vt 0.500000 0.125000 +vt 0.625000 0.125000 +vt 0.375000 0.125000 +vt 0.437500 0.062500 +vt 0.437500 0.125000 +vt 0.000000 0.000000 +vt 0.282642 0.198971 +vt 0.239655 0.239655 +vt 0.327803 0.160714 +vt 0.198971 0.282642 +vt 0.160714 0.327803 +vt 0.125000 0.375000 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.062500 0.625000 +vt 0.062500 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.625000 +vt 0.062500 0.937500 +vt 0.062500 0.750000 +vt 0.125000 0.750000 +vt 0.125000 0.937500 +vt 0.000000 1.000000 +vt 0.062500 1.000000 +vt 0.851934 0.343906 +vt 1.000000 0.327803 +vt 0.827763 0.313663 +vt 1.000000 0.282642 +vt 0.791904 0.272581 +vt 1.000000 0.239655 +vt 0.753671 0.246329 +vt 1.000000 0.282642 +vt 0.753671 0.233039 +vt 0.713120 0.286879 +vt 1.000000 0.327803 +vt 0.669980 0.330020 +vt 1.000000 0.375000 +vt 0.625000 0.375000 +vt 0.937500 1.000000 +vt 0.937500 0.937500 +vt 1.000000 1.000000 +vt 0.875000 0.937500 +vt 0.937500 0.750000 +vt 0.875000 0.750000 +vt 0.937500 0.625000 +vt 0.937500 0.500000 +vt 0.875000 0.625000 +vt 0.875000 0.500000 +vt 0.875000 0.437500 +vt 0.875000 0.375000 +vt 0.937500 0.437500 +vt 1.000000 0.000000 +vt 0.801029 0.282642 +vt 0.839286 0.327803 +vt 0.760345 0.239655 +vt 0.717358 0.198971 +vt 0.672197 0.160714 +vt 0.625000 0.125000 +vt 0.562500 0.125000 +vt 0.562500 0.062500 +vt 0.500000 0.125000 +vt 0.375000 0.062500 +vt 0.500000 0.062500 +vt 0.375000 0.125000 +vt 0.250000 0.125000 +vt 0.062500 0.062500 +vt 0.250000 0.062500 +vt 0.062500 0.125000 +vt 0.000000 0.000000 +vt 0.000000 0.062500 +vt 0.625000 0.000000 +vt 0.672197 0.000000 +vt 0.717358 0.000000 +vt 0.246329 0.233039 +vt 0.000000 0.239655 +vt 0.208096 0.272581 +vt 0.760345 0.000000 +vt 0.000000 0.282642 +vt 0.172237 0.313663 +vt 0.000000 0.327803 +vt 0.148066 0.343906 +vt 0.937500 0.000000 +vt 0.875000 0.000000 +vt 1.000000 0.437500 +vt 0.937500 0.500000 +vt 1.000000 0.500000 +vt 0.937500 0.437500 +vt 1.000000 0.062500 +vt 0.937500 0.125000 +vt 1.000000 0.125000 +vt 0.937500 0.062500 +vt 0.937500 0.500000 +vt 1.000000 0.625000 +vt 1.000000 0.500000 +vt 0.937500 0.625000 +vt 0.875000 0.500000 +vt 0.875000 0.625000 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 0.937500 0.062500 +vt 0.937500 0.625000 +vt 1.000000 0.750000 +vt 1.000000 0.625000 +vt 0.937500 0.750000 +vt 0.937500 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.125000 +vt 0.937500 0.750000 +vt 1.000000 0.937500 +vt 1.000000 0.750000 +vt 0.937500 0.937500 +vt 0.875000 0.750000 +vt 0.875000 0.937500 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 0.937500 0.062500 +vt 0.937500 0.937500 +vt 1.000000 1.000000 +vt 1.000000 0.937500 +vt 0.937500 1.000000 +vt 0.937500 0.062500 +vt 1.000000 0.000000 +vt 1.000000 0.062500 +vt 0.937500 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 0.562500 0.062500 +vt 0.375000 0.062500 +vt 0.000000 0.000000 +vt 0.250000 0.062500 +vt 0.062500 0.062500 +vt 0.000000 0.062500 +vt 0.500000 0.062500 +vt 1.000000 1.000000 +vt 0.562500 0.937500 +vt 1.000000 0.937500 +vt 0.562500 1.000000 +vt 1.000000 0.062500 +vt 0.625000 0.125000 +vt 1.000000 0.125000 +vt 0.562500 0.062500 +vt 0.562500 0.125000 +vt 1.000000 0.937500 +vt 0.625000 0.750000 +vt 1.000000 0.750000 +vt 0.625000 0.937500 +vt 1.000000 0.125000 +vt 0.625000 0.125000 +vt 1.000000 0.062500 +vt 0.562500 0.125000 +vt 0.562500 0.062500 +vt 1.000000 0.750000 +vt 0.562500 0.625000 +vt 1.000000 0.625000 +vt 0.562500 0.750000 +vt 1.000000 0.062500 +vt 0.625000 0.125000 +vt 1.000000 0.125000 +vt 0.562500 0.062500 +vt 0.562500 0.125000 +vt 1.000000 0.625000 +vt 0.625000 0.500000 +vt 1.000000 0.500000 +vt 0.625000 0.625000 +vt 1.000000 0.125000 +vt 0.625000 0.125000 +vt 1.000000 0.062500 +vt 0.562500 0.125000 +vt 0.562500 0.062500 +vt 1.000000 0.500000 +vt 0.562500 0.437500 +vt 1.000000 0.437500 +vt 0.562500 0.500000 +vt 1.000000 0.062500 +vt 0.625000 0.125000 +vt 1.000000 0.125000 +vt 0.562500 0.062500 +vt 0.562500 0.125000 +vt 1.000000 0.437500 +vt 0.625000 0.437500 +vt 0.062500 0.937500 +vt 0.000000 1.000000 +vt 0.062500 1.000000 +vt 0.000000 0.937500 +vt 0.875000 0.062500 +vt 0.937500 0.000000 +vt 0.875000 0.000000 +vt 0.125000 0.750000 +vt 0.062500 0.937500 +vt 0.125000 0.937500 +vt 0.062500 0.750000 +vt 0.000000 0.750000 +vt 0.000000 0.937500 +vt 0.937500 0.000000 +vt 0.875000 0.062500 +vt 0.875000 0.000000 +vt 0.062500 0.625000 +vt 0.000000 0.750000 +vt 0.062500 0.750000 +vt 0.000000 0.625000 +vt 0.875000 0.062500 +vt 0.937500 0.000000 +vt 0.875000 0.000000 +vt 0.125000 0.500000 +vt 0.062500 0.625000 +vt 0.125000 0.625000 +vt 0.062500 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.625000 +vt 0.875000 0.000000 +vt 0.875000 0.062500 +vt 0.937500 0.000000 +vt 0.000000 0.437500 +vt 0.062500 0.500000 +vt 0.062500 0.437500 +vt 0.000000 0.500000 +vt 0.562500 0.375000 +vt 0.562500 0.000000 +vt 0.437500 0.062500 +vt 0.375000 0.125000 +vt 0.437500 0.125000 +vt 0.000000 0.062500 +vt 0.000000 0.125000 +vt 0.500000 0.437500 +vt 0.500000 0.000000 +vt 0.562500 0.000000 +vt 0.375000 0.125000 +vt 0.437500 0.062500 +vt 0.437500 0.125000 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 0.375000 0.375000 +vt 0.500000 0.000000 +vt 0.500000 0.375000 +vt 0.375000 0.000000 +vt 0.437500 0.062500 +vt 0.375000 0.125000 +vt 0.437500 0.125000 +vt 0.000000 0.062500 +vt 0.000000 0.125000 +vt 0.250000 0.437500 +vt 0.375000 0.000000 +vt 0.375000 0.437500 +vt 0.250000 0.000000 +vt 0.375000 0.125000 +vt 0.437500 0.062500 +vt 0.437500 0.125000 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 0.062500 0.375000 +vt 0.062500 0.000000 +vt 0.250000 0.375000 +vt 0.250000 0.000000 +vt 0.437500 0.062500 +vt 0.375000 0.125000 +vt 0.437500 0.125000 +vt 0.000000 0.062500 +vt 0.000000 0.125000 +vt 0.000000 0.437500 +vt 0.062500 0.000000 +vt 0.062500 0.437500 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.937500 0.062500 +vt 1.000000 0.062500 +vt 0.750000 0.062500 +vt 0.437500 0.062500 +vt 0.500000 0.062500 +vt 0.625000 0.062500 +vt 0.875000 0.125000 +vt 0.875000 0.125000 +vt 0.875000 0.125000 +vt 0.875000 0.125000 +vt 0.000000 1.000000 +vt 0.000000 0.937500 +vt 0.062500 1.000000 +vt 0.062500 0.937500 +vt 0.250000 1.000000 +vt 0.250000 0.937500 +vt 0.500000 0.937500 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.937500 +vt 0.937500 0.062500 +vt 0.750000 0.125000 +vt 0.937500 0.125000 +vt 0.750000 0.062500 +vt 0.562500 0.937500 +vt 0.562500 0.750000 +vt 0.500000 0.750000 +vt 0.500000 0.625000 +vt 0.625000 0.062500 +vt 0.500000 0.125000 +vt 0.625000 0.125000 +vt 0.500000 0.062500 +vt 0.562500 0.625000 +vt 0.562500 0.500000 +vt 0.500000 0.500000 +vt 0.562500 0.437500 +vt 0.500000 0.062500 +vt 0.375000 0.125000 +vt 0.500000 0.125000 +vt 0.375000 0.062500 +vt 0.375000 0.437500 +vt 0.500000 0.437500 +vt 0.250000 0.500000 +vt 0.375000 0.500000 +vt 0.250000 0.062500 +vt 0.062500 0.062500 +vt 0.250000 0.125000 +vt 0.062500 0.125000 +vt 0.250000 0.437500 +vt 0.062500 0.437500 +vt 0.000000 0.500000 +vt 0.062500 0.500000 +vt 0.000000 0.625000 +vt 0.062500 0.625000 +vt 0.000000 0.750000 +vt 0.062500 0.750000 +vt 0.250000 0.062500 +vt 0.062500 0.125000 +vt 0.250000 0.125000 +vt 0.062500 0.062500 +vt 0.375000 0.750000 +vt 0.250000 0.750000 +vt 0.500000 0.062500 +vt 0.375000 0.125000 +vt 0.500000 0.125000 +vt 0.375000 0.062500 +vt 0.375000 0.625000 +vt 0.250000 0.625000 +vt 0.625000 0.062500 +vt 0.500000 0.125000 +vt 0.625000 0.125000 +vt 0.500000 0.062500 +vt 0.937500 0.062500 +vt 0.750000 0.125000 +vt 0.937500 0.125000 +vt 0.750000 0.062500 +vt 0.062500 0.937500 +vt 0.062500 0.750000 +vt 0.250000 0.937500 +vt 0.250000 0.750000 +vt 0.937500 0.125000 +vt 0.750000 0.125000 +vt 0.937500 0.062500 +vt 0.750000 0.062500 +vt 0.937500 0.125000 +vt 0.750000 0.125000 +vt 0.937500 0.062500 +vt 0.750000 0.062500 +vt 0.937500 0.062500 +vt 0.750000 0.125000 +vt 0.937500 0.125000 +vt 0.750000 0.062500 +vt 0.375000 0.937500 +vt 0.375000 0.750000 +vt 0.500000 0.937500 +vt 0.500000 0.750000 +vt 0.625000 0.125000 +vt 0.500000 0.125000 +vt 0.625000 0.062500 +vt 0.500000 0.062500 +vt 0.500000 0.062500 +vt 0.375000 0.125000 +vt 0.500000 0.125000 +vt 0.375000 0.062500 +vt 0.500000 0.125000 +vt 0.375000 0.062500 +vt 0.500000 0.062500 +vt 0.375000 0.125000 +vt 0.375000 0.062500 +vt 0.375000 0.125000 +vt 0.625000 0.062500 +vt 0.500000 0.125000 +vt 0.625000 0.125000 +vt 0.500000 0.062500 +vt 0.625000 0.125000 +vt 0.500000 0.125000 +vt 0.625000 0.062500 +vt 0.500000 0.062500 +vt 0.250000 0.125000 +vt 0.062500 0.062500 +vt 0.250000 0.062500 +vt 0.062500 0.125000 +vt 0.062500 0.625000 +vt 0.250000 0.500000 +vt 0.250000 0.625000 +vt 0.062500 0.500000 +vt 0.250000 0.062500 +vt 0.062500 0.125000 +vt 0.250000 0.125000 +vt 0.062500 0.062500 +vt 0.250000 0.125000 +vt 0.062500 0.062500 +vt 0.250000 0.062500 +vt 0.062500 0.125000 +vt 0.375000 0.625000 +vt 0.500000 0.500000 +vt 0.500000 0.625000 +vt 0.375000 0.500000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.0025 0.6034 -0.7974 +vn 0.0000 0.5958 -0.8031 +vn -0.0020 0.6464 -0.7630 +vn 0.0011 0.6238 -0.7816 +vn -0.0014 0.6874 -0.7263 +vn 0.0013 0.6569 -0.7539 +vn -0.0009 0.7263 -0.6874 +vn 0.0008 0.6947 -0.7193 +vn -0.0005 0.7630 -0.6464 +vn 0.0005 0.7309 -0.6825 +vn -0.0002 0.7974 -0.6034 +vn 0.0002 0.7655 -0.6435 +vn 0.0000 0.7982 -0.6024 +vn 0.0000 0.0000 1.0000 +vn -0.6024 0.7982 0.0000 +vn -0.6435 0.7655 0.0002 +vn -0.6034 0.7974 -0.0002 +vn -0.6825 0.7309 0.0005 +vn -0.6464 0.7630 -0.0005 +vn -0.7193 0.6947 0.0008 +vn -0.6874 0.7263 -0.0009 +vn -0.7539 0.6569 0.0013 +vn -0.7263 0.6874 -0.0014 +vn -0.7816 0.6238 0.0011 +vn -0.7630 0.6464 -0.0020 +vn -0.8031 0.5958 0.0000 +vn -0.7974 0.6034 -0.0025 +vn 0.0000 -1.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 2/2/1 1/1/1 +f 4/4/1 5/5/1 2/2/1 +f 4/6/2 6/7/2 5/8/2 +f 7/9/2 8/10/2 6/7/2 +f 7/9/2 6/7/2 4/6/2 +f 5/11/3 9/12/3 2/13/3 +f 6/14/3 9/12/3 5/11/3 +f 2/13/3 10/15/3 3/16/3 +f 2/13/3 9/12/3 10/15/3 +f 11/17/4 12/18/4 13/19/4 +f 14/20/4 12/18/4 11/17/4 +f 15/21/4 11/17/4 16/22/4 +f 15/21/4 14/20/4 11/17/4 +f 17/23/4 12/18/4 14/20/4 +f 18/24/4 12/18/4 17/23/4 +f 19/25/4 17/23/4 20/26/4 +f 19/25/4 18/24/4 17/23/4 +f 21/27/4 22/28/4 23/29/4 +f 24/30/4 25/31/4 26/32/4 +f 24/30/4 27/33/4 25/31/4 +f 24/30/4 21/27/4 27/33/4 +f 24/30/4 22/28/4 21/27/4 +f 28/34/4 24/30/4 26/32/4 +f 29/35/4 24/30/4 28/34/4 +f 30/36/4 24/30/4 29/35/4 +f 10/37/4 30/36/4 31/38/4 +f 10/37/4 24/30/4 30/36/4 +f 32/39/4 33/40/4 34/41/4 +f 32/39/4 34/41/4 35/42/4 +f 36/43/4 37/44/4 38/45/4 +f 36/43/4 38/45/4 39/46/4 +f 40/47/4 36/43/4 41/48/4 +f 40/47/4 37/44/4 36/43/4 +f 40/47/4 24/30/4 10/37/4 +f 40/47/4 10/37/4 33/40/4 +f 40/47/4 33/40/4 32/39/4 +f 40/47/4 32/39/4 37/44/4 +f 24/30/4 12/18/4 18/24/4 +f 24/30/4 18/24/4 22/28/4 +f 42/49/5 1/1/5 29/50/5 +f 42/49/6 4/4/6 1/1/6 +f 43/51/7 29/50/7 28/52/7 +f 43/51/8 42/49/8 29/50/8 +f 44/53/9 28/52/9 26/54/9 +f 44/53/10 43/51/10 28/52/10 +f 45/55/11 26/54/11 25/56/11 +f 45/57/12 44/53/12 26/54/12 +f 46/58/13 25/56/13 27/59/13 +f 46/58/14 45/55/14 25/56/14 +f 47/60/15 27/59/15 21/61/15 +f 47/60/16 46/58/16 27/59/16 +f 48/62/17 47/60/17 21/61/17 +f 49/63/18 50/64/18 40/65/18 +f 51/66/18 52/67/18 50/64/18 +f 50/64/18 52/67/18 40/65/18 +f 51/66/18 53/68/18 52/67/18 +f 52/67/18 54/69/18 40/65/18 +f 54/69/18 55/70/18 40/65/18 +f 56/71/18 57/72/18 54/69/18 +f 54/69/18 57/72/18 55/70/18 +f 8/73/18 7/74/18 58/75/18 +f 58/75/18 24/76/18 55/70/18 +f 59/77/18 24/76/18 60/78/18 +f 60/78/18 24/76/18 7/74/18 +f 55/70/18 24/76/18 40/65/18 +f 7/74/18 24/76/18 58/75/18 +f 59/77/18 61/79/18 24/76/18 +f 61/79/18 62/80/18 24/76/18 +f 62/80/18 63/81/18 24/76/18 +f 63/81/18 64/82/18 24/76/18 +f 65/83/18 66/84/18 64/82/18 +f 64/82/18 66/84/18 24/76/18 +f 67/85/18 68/86/18 69/87/18 +f 70/88/18 68/86/18 67/85/18 +f 71/89/18 72/90/18 73/91/18 +f 74/92/18 72/90/18 71/89/18 +f 73/91/18 75/93/18 68/86/18 +f 76/94/18 75/93/18 72/90/18 +f 68/86/18 75/93/18 69/87/18 +f 72/90/18 75/93/18 73/91/18 +f 75/93/18 24/76/18 66/84/18 +f 75/93/18 66/84/18 69/87/18 +f 48/62/19 64/95/19 47/60/19 +f 47/60/20 63/96/20 46/58/20 +f 64/95/21 63/96/21 47/60/21 +f 46/58/22 62/97/22 45/55/22 +f 63/96/23 62/97/23 46/58/23 +f 45/98/24 61/99/24 44/100/24 +f 62/97/25 61/101/25 45/55/25 +f 44/100/26 59/102/26 43/103/26 +f 61/99/27 59/102/27 44/100/27 +f 43/103/28 60/104/28 42/105/28 +f 59/102/29 60/104/29 43/103/29 +f 42/105/30 7/9/30 4/6/30 +f 60/104/31 7/9/31 42/105/31 +f 6/14/3 58/106/3 9/12/3 +f 8/107/3 58/106/3 6/14/3 +f 10/108/1 77/109/1 78/110/1 +f 9/111/1 77/109/1 10/108/1 +f 78/112/32 79/113/32 80/114/32 +f 77/115/32 79/113/32 78/112/32 +f 79/116/1 81/117/1 80/118/1 +f 79/116/1 82/119/1 81/117/1 +f 83/120/1 84/121/1 79/116/1 +f 79/116/1 84/121/1 82/119/1 +f 82/122/3 85/123/3 81/124/3 +f 82/122/3 86/125/3 85/123/3 +f 86/126/1 37/127/1 85/128/1 +f 86/126/1 87/129/1 37/127/1 +f 87/130/32 38/131/32 37/132/32 +f 87/130/32 88/133/32 38/131/32 +f 88/134/1 39/135/1 38/136/1 +f 88/134/1 89/137/1 39/135/1 +f 90/138/1 91/139/1 88/134/1 +f 88/134/1 91/139/1 89/137/1 +f 89/140/3 36/141/3 39/142/3 +f 89/140/3 92/143/3 36/141/3 +f 92/144/1 41/145/1 36/146/1 +f 92/144/1 93/147/1 41/145/1 +f 93/148/3 40/149/3 41/150/3 +f 93/148/3 49/151/3 40/149/3 +f 75/93/32 94/152/32 24/76/32 +f 24/76/32 94/152/32 12/153/32 +f 12/18/1 95/154/1 13/19/1 +f 96/155/1 94/156/1 97/157/1 +f 94/156/1 98/158/1 97/157/1 +f 94/156/1 99/159/1 98/158/1 +f 12/18/1 94/156/1 100/160/1 +f 12/18/1 100/160/1 95/154/1 +f 100/160/1 94/156/1 96/155/1 +f 13/161/3 101/162/3 11/163/3 +f 95/164/3 101/162/3 13/161/3 +f 11/165/1 102/166/1 103/167/1 +f 11/165/1 101/168/1 102/166/1 +f 101/168/1 104/169/1 102/166/1 +f 103/170/3 105/171/3 15/172/3 +f 102/173/3 105/171/3 103/170/3 +f 15/174/18 105/175/18 106/176/18 +f 107/177/18 108/178/18 105/175/18 +f 105/175/18 108/178/18 106/176/18 +f 106/179/3 109/180/3 17/181/3 +f 108/182/3 109/180/3 106/179/3 +f 17/183/1 110/184/1 111/185/1 +f 17/183/1 109/186/1 110/184/1 +f 109/186/1 112/187/1 110/184/1 +f 111/188/3 113/189/3 114/190/3 +f 110/191/3 113/189/3 111/188/3 +f 114/192/18 113/193/18 115/194/18 +f 116/195/18 117/196/18 113/193/18 +f 113/193/18 117/196/18 115/194/18 +f 115/197/3 118/198/3 119/199/3 +f 117/200/3 118/198/3 115/197/3 +f 119/201/1 120/202/1 23/203/1 +f 119/201/1 118/204/1 120/202/1 +f 118/204/1 121/205/1 120/202/1 +f 23/206/3 48/62/3 21/61/3 +f 120/207/3 48/62/3 23/206/3 +f 92/208/2 49/209/2 93/210/2 +f 50/211/2 49/209/2 92/208/2 +f 122/212/3 50/213/3 92/143/3 +f 51/214/3 50/213/3 122/212/3 +f 90/215/2 122/216/2 91/217/2 +f 123/218/2 122/216/2 90/215/2 +f 53/219/2 51/220/2 122/216/2 +f 53/219/2 122/216/2 123/218/2 +f 52/221/32 123/222/32 87/130/32 +f 52/221/32 53/223/32 123/222/32 +f 86/224/2 52/225/2 87/226/2 +f 54/227/2 52/225/2 86/224/2 +f 124/228/3 54/229/3 86/125/3 +f 56/230/3 54/229/3 124/228/3 +f 83/231/2 124/232/2 84/233/2 +f 125/234/2 124/232/2 83/231/2 +f 57/235/2 56/236/2 124/232/2 +f 57/235/2 124/232/2 125/234/2 +f 77/115/32 57/237/32 125/238/32 +f 55/239/32 57/237/32 77/115/32 +f 58/240/2 77/241/2 9/242/2 +f 58/240/2 55/243/2 77/241/2 +f 126/244/3 65/245/3 48/62/3 +f 65/245/3 64/95/3 48/62/3 +f 118/246/2 126/247/2 121/248/2 +f 118/246/2 66/249/2 126/247/2 +f 66/249/2 65/250/2 126/247/2 +f 127/251/3 69/252/3 118/198/3 +f 69/252/3 66/253/3 118/198/3 +f 128/254/4 127/255/4 129/256/4 +f 67/257/4 69/258/4 128/254/4 +f 128/254/4 69/258/4 127/255/4 +f 130/259/3 67/260/3 128/261/3 +f 70/262/3 67/260/3 130/259/3 +f 131/263/2 130/264/2 132/265/2 +f 131/263/2 68/266/2 130/264/2 +f 68/266/2 70/267/2 130/264/2 +f 133/268/3 68/269/3 131/270/3 +f 73/271/3 68/269/3 133/268/3 +f 134/272/4 133/273/4 135/274/4 +f 71/275/4 73/276/4 134/272/4 +f 134/272/4 73/276/4 133/273/4 +f 136/277/3 74/278/3 134/279/3 +f 74/278/3 71/280/3 134/279/3 +f 137/281/2 136/282/2 138/283/2 +f 137/281/2 72/284/2 136/282/2 +f 72/284/2 74/285/2 136/282/2 +f 139/286/3 72/287/3 137/288/3 +f 76/289/3 72/287/3 139/286/3 +f 94/290/2 140/291/2 99/292/2 +f 94/290/2 141/293/2 140/291/2 +f 75/93/2 76/94/2 139/294/2 +f 94/290/2 75/93/2 142/295/2 +f 94/290/2 142/295/2 143/296/2 +f 94/290/2 143/296/2 141/293/2 +f 142/295/2 75/93/2 139/294/2 +f 77/115/32 83/297/32 79/113/32 +f 77/115/32 125/238/32 83/297/32 +f 124/228/3 82/122/3 84/298/3 +f 124/228/3 86/125/3 82/122/3 +f 88/133/32 123/222/32 90/299/32 +f 87/130/32 123/222/32 88/133/32 +f 91/300/3 92/143/3 89/140/3 +f 122/212/3 92/143/3 91/300/3 +f 99/301/3 140/302/3 98/303/3 +f 140/302/3 144/304/3 98/303/3 +f 97/305/3 98/303/3 145/306/3 +f 98/303/3 144/304/3 145/306/3 +f 146/307/3 95/164/3 100/308/3 +f 146/307/3 101/162/3 95/164/3 +f 145/306/3 96/309/3 97/305/3 +f 145/306/3 147/310/3 96/309/3 +f 100/308/3 147/310/3 146/307/3 +f 96/309/3 147/310/3 100/308/3 +f 101/311/2 107/312/2 104/313/2 +f 108/314/2 107/312/2 101/311/2 +f 104/315/3 105/171/3 102/173/3 +f 107/316/3 105/171/3 104/315/3 +f 148/317/3 109/180/3 108/182/3 +f 149/318/3 109/180/3 148/317/3 +f 109/319/2 116/320/2 112/321/2 +f 117/322/2 116/320/2 109/319/2 +f 112/323/3 116/324/3 110/191/3 +f 116/324/3 113/189/3 110/191/3 +f 150/325/3 127/251/3 117/200/3 +f 127/251/3 118/198/3 117/200/3 +f 126/244/3 120/207/3 121/326/3 +f 126/244/3 48/62/3 120/207/3 +f 127/327/1 132/328/1 129/329/1 +f 131/330/1 132/328/1 127/327/1 +f 132/331/3 128/261/3 129/332/3 +f 130/259/3 128/261/3 132/331/3 +f 151/333/3 131/270/3 152/334/3 +f 133/268/3 131/270/3 151/333/3 +f 133/335/1 137/336/1 135/337/1 +f 137/336/1 138/338/1 135/337/1 +f 136/277/3 135/339/3 138/340/3 +f 136/277/3 134/279/3 135/339/3 +f 142/341/3 137/288/3 153/342/3 +f 139/286/3 137/288/3 142/341/3 +f 143/343/3 153/342/3 154/344/3 +f 142/341/3 153/342/3 143/343/3 +f 141/345/3 154/344/3 155/346/3 +f 143/343/3 154/344/3 141/345/3 +f 140/302/3 155/346/3 144/304/3 +f 141/345/3 155/346/3 140/302/3 +f 145/347/1 156/348/1 157/349/1 +f 144/350/1 156/348/1 145/347/1 +f 146/307/3 108/182/3 101/162/3 +f 148/317/3 108/182/3 146/307/3 +f 145/306/3 158/351/3 147/310/3 +f 159/352/3 158/351/3 145/306/3 +f 146/353/1 160/354/1 161/355/1 +f 147/356/1 160/354/1 146/353/1 +f 149/318/3 117/200/3 109/180/3 +f 150/325/3 117/200/3 149/318/3 +f 148/317/3 162/357/3 149/318/3 +f 158/351/3 162/357/3 148/317/3 +f 150/325/3 131/270/3 127/251/3 +f 152/334/3 131/270/3 150/325/3 +f 163/358/3 152/334/3 162/357/3 +f 151/333/3 152/334/3 163/358/3 +f 151/333/3 137/288/3 133/268/3 +f 153/342/3 137/288/3 151/333/3 +f 154/359/2 164/360/2 165/361/2 +f 153/362/2 164/360/2 154/359/2 +f 159/352/3 154/344/3 163/358/3 +f 155/346/3 154/344/3 159/352/3 +f 144/363/2 166/364/2 156/365/2 +f 155/366/2 166/364/2 144/363/2 +f 156/367/3 166/368/3 157/369/3 +f 166/368/3 167/370/3 157/369/3 +f 157/371/4 167/372/4 145/373/4 +f 167/372/4 159/374/4 145/373/4 +f 161/375/4 168/376/4 146/377/4 +f 168/376/4 148/378/4 146/377/4 +f 159/352/3 163/358/3 158/351/3 +f 163/358/3 162/357/3 158/351/3 +f 147/379/2 169/380/2 160/381/2 +f 158/382/2 169/380/2 147/379/2 +f 160/383/3 169/384/3 161/385/3 +f 169/384/3 168/386/3 161/385/3 +f 170/387/4 171/388/4 149/389/4 +f 171/388/4 150/390/4 149/389/4 +f 149/391/1 172/392/1 170/393/1 +f 162/394/1 172/392/1 149/391/1 +f 168/395/18 158/396/18 148/397/18 +f 169/398/18 158/396/18 168/395/18 +f 171/388/18 152/399/18 150/390/18 +f 173/400/18 152/399/18 171/388/18 +f 162/401/2 173/402/2 172/403/2 +f 152/404/2 173/402/2 162/401/2 +f 174/405/4 175/406/4 163/407/4 +f 175/406/4 151/408/4 163/407/4 +f 175/409/18 153/410/18 151/411/18 +f 164/412/18 153/410/18 175/409/18 +f 165/413/3 175/414/3 174/415/3 +f 164/416/3 175/414/3 165/413/3 +f 163/417/1 165/418/1 174/419/1 +f 154/420/1 165/418/1 163/417/1 +f 167/421/18 155/422/18 159/423/18 +f 166/424/18 155/422/18 167/421/18 +f 172/425/3 171/426/3 170/427/3 +f 173/428/3 171/426/3 172/425/3 diff --git a/mymillwork/models/mymillwork_mach4.obj b/mymillwork/models/mymillwork_mach4.obj new file mode 100644 index 0000000..7dfbe04 --- /dev/null +++ b/mymillwork/models/mymillwork_mach4.obj @@ -0,0 +1,735 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v -0.500000 -0.125000 0.375000 +v -0.500000 -0.062500 0.375000 +v 0.500000 -0.125000 0.375000 +v 0.500000 -0.062500 0.375000 +v 0.187500 -0.187500 0.326797 +v 0.500000 -0.172197 0.339286 +v 0.250000 -0.187500 0.326797 +v 0.500000 -0.217358 0.301029 +v -0.187500 -0.187500 0.326797 +v -0.500000 -0.172197 0.339286 +v -0.250000 -0.187500 0.326797 +v -0.187500 -0.208820 0.308594 +v 0.187500 -0.208820 0.308594 +v 0.500000 -0.260345 0.260345 +v 0.250000 -0.229052 0.290401 +v -0.187500 -0.229658 0.289841 +v 0.187500 -0.229658 0.289841 +v 0.187500 -0.250000 0.270552 +v -0.500000 -0.217358 0.301029 +v -0.187500 -0.250000 0.270552 +v 0.500000 -0.301029 0.217358 +v 0.250000 -0.268679 0.251919 +v 0.250000 -0.306278 0.211453 +v -0.500000 -0.260345 0.260345 +v -0.250000 -0.229052 0.290401 +v 0.500000 -0.339286 0.172197 +v 0.250000 -0.341750 0.169109 +v -0.500000 -0.301029 0.217358 +v -0.250000 -0.268679 0.251919 +v -0.250000 -0.306278 0.211453 +v 0.500000 -0.375000 0.125000 +v 0.250000 -0.375000 0.125000 +v -0.500000 -0.339286 0.172197 +v -0.250000 -0.341750 0.169109 +v -0.500000 -0.375000 0.125000 +v -0.250000 -0.375000 0.125000 +v -0.500000 -0.062500 0.437500 +v 0.500000 -0.062500 0.437500 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.437500 -0.437500 +v -0.500000 -0.437500 -0.500000 +v -0.500000 -0.437500 -0.250000 +v -0.500000 -0.375000 -0.250000 +v -0.500000 -0.375000 -0.437500 +v -0.500000 -0.437500 -0.125000 +v -0.500000 -0.437500 -0.000000 +v -0.500000 -0.375000 -0.000000 +v -0.500000 -0.375000 -0.125000 +v -0.500000 -0.437500 0.062500 +v -0.500000 -0.375000 0.062500 +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.125000 0.375000 +v -0.500000 -0.062500 0.437500 +v -0.500000 -0.062500 0.375000 +v -0.500000 0.000000 0.437500 +v -0.500000 0.125000 0.375000 +v -0.500000 0.000000 0.375000 +v -0.500000 0.125000 0.437500 +v -0.500000 0.250000 0.437500 +v -0.500000 0.437500 0.375000 +v -0.500000 0.250000 0.375000 +v -0.500000 0.437500 0.437500 +v -0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.437500 +v 0.500000 -0.437500 -0.437500 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.437500 -0.500000 +v 0.500000 -0.437500 -0.250000 +v 0.500000 -0.375000 -0.437500 +v 0.500000 -0.375000 -0.250000 +v 0.500000 -0.437500 -0.125000 +v 0.500000 -0.437500 0.000000 +v 0.500000 -0.375000 0.000000 +v 0.500000 -0.375000 -0.125000 +v 0.500000 -0.437500 0.062500 +v 0.500000 -0.375000 0.062500 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.125000 0.375000 +v 0.500000 -0.062500 0.437500 +v 0.500000 -0.062500 0.375000 +v 0.500000 0.125000 0.437500 +v 0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.437500 0.437500 +v 0.500000 0.250000 0.437500 +v 0.500000 0.250000 0.375000 +v 0.500000 0.437500 0.375000 +v 0.500000 0.500000 0.500000 +v 0.500000 0.500000 0.437500 +v -0.250000 -0.375000 0.062500 +v -0.250000 -0.375000 0.000000 +v -0.250000 -0.437500 0.062500 +v -0.250000 -0.437500 0.000000 +v -0.250000 -0.375000 -0.125000 +v -0.250000 -0.375000 -0.250000 +v -0.250000 -0.437500 -0.125000 +v -0.250000 -0.437500 -0.250000 +v -0.250000 -0.375000 -0.437500 +v -0.250000 -0.437500 -0.500000 +v -0.250000 -0.437500 -0.437500 +v -0.250000 -0.187500 -0.500000 +v -0.187500 -0.187500 -0.500000 +v -0.187500 -0.250000 -0.500000 +v 0.187500 -0.250000 -0.500000 +v 0.187500 -0.187500 -0.500000 +v 0.250000 -0.187500 -0.500000 +v 0.250000 -0.375000 0.062500 +v 0.250000 -0.375000 0.000000 +v 0.250000 -0.437500 0.062500 +v 0.250000 -0.437500 0.000000 +v 0.250000 -0.375000 -0.125000 +v 0.250000 -0.375000 -0.250000 +v 0.250000 -0.437500 -0.250000 +v 0.250000 -0.437500 -0.125000 +v 0.250000 -0.375000 -0.437500 +v 0.250000 -0.437500 -0.500000 +v 0.250000 -0.437500 -0.437500 +v -0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.375000 +v -0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.375000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.125000 0.437500 +v 0.500000 0.125000 0.437500 +v -0.500000 0.250000 0.437500 +v -0.500000 0.250000 0.375000 +v 0.187500 -0.187500 0.500000 +v 0.250000 -0.187500 0.500000 +v 0.250000 -0.500000 0.500000 +v -0.187500 -0.187500 0.500000 +v -0.250000 -0.187500 0.500000 +v -0.187500 -0.250000 0.500000 +v 0.187500 -0.250000 0.500000 +v -0.250000 -0.500000 0.500000 +v -0.250000 -0.500000 -0.500000 +v -0.500000 -0.375000 -0.000000 +v 0.250000 -0.500000 -0.500000 +v 0.500000 -0.375000 -0.437500 +v 0.500000 -0.437500 -0.250000 +v 0.500000 -0.375000 -0.125000 +v 0.500000 -0.375000 0.000000 +v 0.500000 -0.437500 0.000000 +v 0.500000 -0.437500 0.062500 +vt 0.000000 0.375000 +vt 0.000000 0.437500 +vt 1.000000 0.375000 +vt 1.000000 0.437500 +vt 0.687500 0.312500 +vt 1.000000 0.327803 +vt 0.750000 0.312500 +vt 1.000000 0.282642 +vt 0.312500 0.312500 +vt 0.000000 0.327803 +vt 0.250000 0.312500 +vt 0.312500 0.291180 +vt 0.687500 0.291180 +vt 1.000000 0.239655 +vt 0.750000 0.270949 +vt 0.312500 0.270342 +vt 0.687500 0.270342 +vt 0.687500 0.250000 +vt 0.000000 0.282642 +vt 0.312500 0.250000 +vt 1.000000 0.282642 +vt 0.750000 0.248081 +vt 0.750000 0.288547 +vt 0.000000 0.239655 +vt 0.250000 0.270949 +vt 1.000000 0.327803 +vt 0.750000 0.330891 +vt 0.000000 0.282642 +vt 0.250000 0.248081 +vt 0.250000 0.288547 +vt 1.000000 0.375000 +vt 0.750000 0.375000 +vt 0.000000 0.327803 +vt 0.250000 0.330891 +vt 0.000000 0.375000 +vt 0.250000 0.375000 +vt 0.250000 0.231321 +vt 0.750000 0.231321 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.000000 +vt 0.937500 0.062500 +vt 1.000000 0.062500 +vt 0.750000 0.062500 +vt 0.750000 0.125000 +vt 0.937500 0.125000 +vt 0.625000 0.062500 +vt 0.500000 0.062500 +vt 0.500000 0.125000 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.375000 0.125000 +vt 0.437500 0.125000 +vt 0.282642 0.198971 +vt 0.000000 0.000000 +vt 0.239655 0.239655 +vt 0.327803 0.160714 +vt 0.198971 0.282642 +vt 0.160714 0.327803 +vt 0.125000 0.375000 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.062500 0.500000 +vt 0.125000 0.625000 +vt 0.125000 0.500000 +vt 0.062500 0.625000 +vt 0.062500 0.750000 +vt 0.125000 0.937500 +vt 0.125000 0.750000 +vt 0.062500 0.937500 +vt 0.000000 1.000000 +vt 0.062500 1.000000 +vt 0.937500 0.062500 +vt 1.000000 0.000000 +vt 1.000000 0.062500 +vt 0.750000 0.062500 +vt 0.937500 0.125000 +vt 0.750000 0.125000 +vt 0.625000 0.062500 +vt 0.500000 0.062500 +vt 0.500000 0.125000 +vt 0.625000 0.125000 +vt 0.375000 0.125000 +vt 0.437500 0.062500 +vt 0.437500 0.125000 +vt 0.000000 0.000000 +vt 0.282642 0.198971 +vt 0.239655 0.239655 +vt 0.327803 0.160714 +vt 0.198971 0.282642 +vt 0.160714 0.327803 +vt 0.125000 0.375000 +vt 0.062500 0.437500 +vt 0.125000 0.437500 +vt 0.062500 0.625000 +vt 0.062500 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.625000 +vt 0.062500 0.937500 +vt 0.062500 0.750000 +vt 0.125000 0.750000 +vt 0.125000 0.937500 +vt 0.000000 1.000000 +vt 0.062500 1.000000 +vt 0.250000 0.437500 +vt 0.000000 0.437500 +vt 0.437500 0.125000 +vt 0.375000 0.125000 +vt 0.330891 0.158250 +vt 0.288547 0.193722 +vt 0.500000 0.125000 +vt 0.248081 0.231321 +vt 0.209599 0.270949 +vt 0.437500 0.062500 +vt 0.500000 0.062500 +vt 0.625000 0.125000 +vt 0.173203 0.312500 +vt 0.750000 0.125000 +vt 0.625000 0.062500 +vt 0.750000 0.062500 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 1.000000 0.312500 +vt 0.250000 1.000000 +vt 0.250000 0.173203 +vt 0.312500 0.173203 +vt 0.312500 1.000000 +vt 1.000000 0.312500 +vt 0.210159 0.270342 +vt 0.229448 0.250000 +vt 0.191406 0.291180 +vt 0.173203 0.312500 +vt 1.000000 0.250000 +vt 0.312500 1.000000 +vt 0.312500 0.229448 +vt 0.687500 0.229448 +vt 0.687500 1.000000 +vt 1.000000 0.312500 +vt 0.229448 0.250000 +vt 0.210159 0.270342 +vt 0.191406 0.291180 +vt 0.173203 0.312500 +vt 1.000000 0.250000 +vt 0.687500 1.000000 +vt 0.687500 0.173203 +vt 0.750000 0.173203 +vt 0.750000 1.000000 +vt 0.437500 0.125000 +vt 0.330891 0.158250 +vt 0.375000 0.125000 +vt 0.288547 0.193722 +vt 0.500000 0.125000 +vt 0.248081 0.231321 +vt 0.209599 0.270949 +vt 0.437500 0.062500 +vt 0.500000 0.062500 +vt 0.625000 0.125000 +vt 0.173203 0.312500 +vt 1.000000 0.312500 +vt 0.750000 0.125000 +vt 0.750000 0.062500 +vt 0.625000 0.062500 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 1.000000 0.437500 +vt 0.750000 0.437500 +vt 0.000000 0.437500 +vt 0.000000 0.500000 +vt 1.000000 0.437500 +vt 1.000000 0.500000 +vt 1.000000 0.062500 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 0.000000 0.125000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 0.625000 +vt 0.000000 0.625000 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.625000 +vt 0.000000 0.625000 +vt 1.000000 0.750000 +vt 0.000000 0.750000 +vt 1.000000 0.062500 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 0.000000 0.125000 +vt 1.000000 0.750000 +vt 0.000000 0.750000 +vt 1.000000 0.937500 +vt 0.000000 0.937500 +vt 0.000000 0.125000 +vt 0.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 0.000000 0.937500 +vt 0.000000 1.000000 +vt 1.000000 0.937500 +vt 1.000000 1.000000 +vt 0.000000 0.062500 +vt 0.000000 0.000000 +vt 1.000000 0.062500 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.687500 0.312500 +vt 0.750000 0.312500 +vt 1.000000 0.000000 +vt 0.750000 0.000000 +vt 0.312500 0.312500 +vt 0.250000 0.312500 +vt 0.312500 0.250000 +vt 0.687500 0.250000 +vt 0.250000 0.000000 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.250000 0.000000 +vt 0.000000 0.000000 +vt 0.250000 0.062500 +vt 0.000000 0.062500 +vt 0.250000 1.000000 +vt 0.000000 0.937500 +vt 0.250000 0.937500 +vt 0.000000 1.000000 +vt 0.250000 0.062500 +vt 0.000000 0.062500 +vt 0.250000 0.125000 +vt 0.000000 0.125000 +vt 0.250000 0.937500 +vt 0.000000 0.750000 +vt 0.250000 0.750000 +vt 0.000000 0.937500 +vt 0.250000 0.125000 +vt 0.000000 0.062500 +vt 0.250000 0.062500 +vt 0.000000 0.125000 +vt 0.250000 0.750000 +vt 0.000000 0.625000 +vt 0.250000 0.625000 +vt 0.000000 0.750000 +vt 0.250000 0.062500 +vt 0.000000 0.062500 +vt 0.250000 0.125000 +vt 0.000000 0.125000 +vt 0.250000 0.625000 +vt 0.000000 0.500000 +vt 0.250000 0.500000 +vt 0.000000 0.625000 +vt 0.250000 0.125000 +vt 0.000000 0.062500 +vt 0.250000 0.062500 +vt 0.000000 0.125000 +vt 0.250000 0.500000 +vt 0.000000 0.500000 +vt 0.250000 0.437500 +vt 0.000000 0.437500 +vt 0.250000 0.062500 +vt 0.000000 0.062500 +vt 0.250000 0.125000 +vt 0.000000 0.125000 +vt 0.750000 1.000000 +vt 1.000000 1.000000 +vt 0.750000 0.062500 +vt 0.750000 0.000000 +vt 1.000000 1.000000 +vt 0.750000 0.937500 +vt 1.000000 0.937500 +vt 0.750000 1.000000 +vt 1.000000 0.062500 +vt 0.750000 0.125000 +vt 1.000000 0.125000 +vt 0.750000 0.062500 +vt 1.000000 0.937500 +vt 0.750000 0.750000 +vt 1.000000 0.750000 +vt 0.750000 0.937500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.750000 +vt 0.750000 0.625000 +vt 1.000000 0.625000 +vt 0.750000 0.750000 +vt 1.000000 0.062500 +vt 0.750000 0.125000 +vt 1.000000 0.125000 +vt 0.750000 0.062500 +vt 1.000000 0.625000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 0.750000 0.625000 +vt 1.000000 0.125000 +vt 0.750000 0.062500 +vt 1.000000 0.062500 +vt 0.750000 0.125000 +vt 1.000000 0.500000 +vt 0.750000 0.437500 +vt 1.000000 0.437500 +vt 0.750000 0.500000 +vt 1.000000 0.062500 +vt 0.750000 0.125000 +vt 1.000000 0.125000 +vt 0.750000 0.062500 +vt 0.312500 0.250000 +vt 0.250000 0.312500 +vt 0.312500 0.312500 +vt 0.687500 0.250000 +vt 0.750000 0.312500 +vt 0.687500 0.312500 +vn 0.0000 0.0000 -1.0000 +vn 0.0023 0.6034 -0.7974 +vn 0.0000 0.6323 -0.7747 +vn -0.0014 0.6464 -0.7630 +vn 0.0000 0.6107 -0.7919 +vn -0.0023 0.6034 -0.7974 +vn 0.0000 0.6493 -0.7605 +vn -0.0013 0.6874 -0.7263 +vn 0.0000 0.6881 -0.7256 +vn 0.0000 0.6689 -0.7433 +vn 0.0014 0.6464 -0.7630 +vn -0.0010 0.7263 -0.6874 +vn 0.0007 0.7326 -0.6807 +vn 0.0013 0.6874 -0.7263 +vn -0.0008 0.7630 -0.6464 +vn 0.0004 0.7666 -0.6422 +vn -0.0007 0.7326 -0.6807 +vn 0.0010 0.7263 -0.6874 +vn -0.0004 0.7974 -0.6034 +vn 0.0000 0.7985 -0.6019 +vn -0.0004 0.7666 -0.6422 +vn 0.0008 0.7630 -0.6464 +vn 0.0004 0.7974 -0.6034 +vn -0.0010 0.6967 -0.7174 +vn -0.0012 0.6589 -0.7522 +vn 0.0010 0.6967 -0.7174 +vn 0.0012 0.6589 -0.7522 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 2/2/1 4/4/1 +f 5/5/2 3/3/2 6/6/2 +f 5/5/3 6/6/3 7/7/3 +f 8/8/4 7/7/4 6/6/4 +f 9/9/5 1/1/5 3/3/5 +f 9/9/5 3/3/5 5/5/5 +f 10/10/3 9/9/3 11/11/3 +f 10/10/6 1/1/6 9/9/6 +f 12/12/7 5/5/7 13/13/7 +f 12/12/7 9/9/7 5/5/7 +f 14/14/8 15/15/8 8/8/8 +f 16/16/9 17/17/9 18/18/9 +f 16/16/10 13/13/10 17/17/10 +f 16/16/10 12/12/10 13/13/10 +f 19/19/11 10/10/11 11/11/11 +f 20/20/9 16/16/9 18/18/9 +f 21/21/12 22/22/12 14/14/12 +f 23/23/13 22/22/13 21/21/13 +f 24/24/14 19/19/14 25/25/14 +f 26/26/15 23/23/15 21/21/15 +f 27/27/16 23/23/16 26/26/16 +f 28/28/17 29/29/17 30/30/17 +f 28/28/18 24/24/18 29/29/18 +f 31/31/19 27/27/19 26/26/19 +f 32/32/20 27/27/20 31/31/20 +f 33/33/21 30/30/21 34/34/21 +f 33/33/22 28/28/22 30/30/22 +f 35/35/23 33/33/23 34/34/23 +f 35/35/20 34/34/20 36/36/20 +f 25/25/24 29/37/24 24/24/24 +f 11/11/25 25/25/25 19/19/25 +f 22/38/26 15/15/26 14/14/26 +f 15/15/27 7/7/27 8/8/27 +f 2/39/28 37/40/28 4/41/28 +f 4/41/28 37/40/28 38/42/28 +f 39/43/29 40/44/29 41/45/29 +f 39/43/29 42/46/29 40/44/29 +f 40/44/29 43/47/29 44/48/29 +f 42/46/29 43/47/29 40/44/29 +f 39/43/29 45/49/29 42/46/29 +f 39/43/29 46/50/29 45/49/29 +f 45/49/29 47/51/29 48/52/29 +f 46/50/29 47/51/29 45/49/29 +f 49/53/29 35/54/29 50/55/29 +f 28/56/29 51/57/29 24/58/29 +f 33/59/29 51/57/29 28/56/29 +f 35/54/29 51/57/29 33/59/29 +f 49/53/29 51/57/29 35/54/29 +f 51/57/29 19/60/29 24/58/29 +f 51/57/29 10/61/29 19/60/29 +f 51/57/29 52/62/29 10/61/29 +f 52/62/29 53/63/29 54/64/29 +f 51/57/29 53/63/29 52/62/29 +f 55/65/29 56/66/29 57/67/29 +f 55/65/29 58/68/29 56/66/29 +f 59/69/29 60/70/29 61/71/29 +f 59/69/29 62/72/29 60/70/29 +f 62/72/29 63/73/29 64/74/29 +f 59/69/29 63/73/29 62/72/29 +f 51/57/29 63/73/29 53/63/29 +f 53/63/29 63/73/29 55/65/29 +f 55/65/29 63/73/29 58/68/29 +f 58/68/29 63/73/29 59/69/29 +f 39/43/29 51/57/29 49/53/29 +f 39/43/29 49/53/29 46/50/29 +f 65/75/30 66/76/30 67/77/30 +f 68/78/30 65/75/30 69/79/30 +f 68/78/30 66/76/30 65/75/30 +f 70/80/30 68/78/30 69/79/30 +f 71/81/30 66/76/30 68/78/30 +f 72/82/30 66/76/30 71/81/30 +f 73/83/30 71/81/30 74/84/30 +f 73/83/30 72/82/30 71/81/30 +f 31/85/30 75/86/30 76/87/30 +f 77/88/30 21/89/30 14/90/30 +f 77/88/30 26/91/30 21/89/30 +f 77/88/30 31/85/30 26/91/30 +f 77/88/30 75/86/30 31/85/30 +f 8/92/30 77/88/30 14/90/30 +f 6/93/30 77/88/30 8/92/30 +f 78/94/30 77/88/30 6/93/30 +f 79/95/30 78/94/30 80/96/30 +f 79/95/30 77/88/30 78/94/30 +f 81/97/30 82/98/30 83/99/30 +f 81/97/30 83/99/30 84/100/30 +f 85/101/30 86/102/30 87/103/30 +f 85/101/30 87/103/30 88/104/30 +f 89/105/30 85/101/30 90/106/30 +f 89/105/30 86/102/30 85/101/30 +f 89/105/30 77/88/30 79/95/30 +f 89/105/30 79/95/30 82/98/30 +f 89/105/30 82/98/30 81/97/30 +f 89/105/30 81/97/30 86/102/30 +f 77/88/30 66/76/30 75/86/30 +f 75/86/30 66/76/30 72/82/30 +f 91/107/28 50/108/28 36/36/28 +f 50/108/28 35/35/28 36/36/28 +f 91/109/29 36/110/29 34/111/29 +f 91/109/29 34/111/29 30/112/29 +f 92/113/29 30/112/29 29/114/29 +f 92/113/29 29/114/29 25/115/29 +f 92/113/29 93/116/29 91/109/29 +f 92/113/29 94/117/29 93/116/29 +f 92/113/29 91/109/29 30/112/29 +f 95/118/29 25/115/29 11/119/29 +f 95/118/29 92/113/29 25/115/29 +f 96/120/29 97/121/29 95/118/29 +f 96/120/29 98/122/29 97/121/29 +f 99/123/29 100/124/29 101/125/29 +f 102/126/29 99/123/29 96/120/29 +f 102/126/29 95/118/29 11/119/29 +f 102/126/29 96/120/29 95/118/29 +f 102/126/29 100/124/29 99/123/29 +f 102/127/28 11/128/28 9/129/28 +f 103/130/28 102/127/28 9/129/28 +f 103/131/30 16/132/30 20/133/30 +f 103/131/30 12/134/30 16/132/30 +f 103/131/30 9/135/30 12/134/30 +f 104/136/30 103/131/30 20/133/30 +f 104/137/28 20/138/28 18/139/28 +f 105/140/28 104/137/28 18/139/28 +f 106/141/29 18/142/29 17/143/29 +f 106/141/29 17/143/29 13/144/29 +f 106/141/29 13/144/29 5/145/29 +f 106/141/29 105/146/29 18/142/29 +f 106/147/28 5/148/28 7/149/28 +f 107/150/28 106/147/28 7/149/28 +f 108/151/30 27/152/30 32/153/30 +f 108/151/30 23/154/30 27/152/30 +f 109/155/30 22/156/30 23/154/30 +f 109/155/30 15/157/30 22/156/30 +f 109/155/30 23/154/30 108/151/30 +f 110/158/30 109/155/30 108/151/30 +f 111/159/30 109/155/30 110/158/30 +f 112/160/30 7/161/30 15/157/30 +f 112/160/30 15/157/30 109/155/30 +f 107/162/30 7/161/30 112/160/30 +f 107/162/30 112/160/30 113/163/30 +f 114/164/30 112/160/30 115/165/30 +f 114/164/30 113/163/30 112/160/30 +f 116/166/30 107/162/30 113/163/30 +f 117/167/30 116/166/30 118/168/30 +f 117/167/30 107/162/30 116/166/30 +f 76/169/28 32/32/28 31/31/28 +f 108/170/28 32/32/28 76/169/28 +f 37/171/1 119/172/1 38/173/1 +f 38/173/1 119/172/1 120/174/1 +f 120/175/31 119/176/31 121/177/31 +f 119/176/31 122/178/31 121/177/31 +f 121/179/1 122/180/1 123/181/1 +f 122/180/1 124/182/1 123/181/1 +f 124/183/28 125/184/28 123/185/28 +f 123/185/28 125/184/28 126/186/28 +f 126/187/1 125/188/1 86/189/1 +f 125/188/1 127/190/1 86/189/1 +f 86/191/31 127/192/31 87/193/31 +f 127/192/31 128/194/31 87/193/31 +f 87/195/1 128/196/1 88/197/1 +f 128/196/1 60/198/1 88/197/1 +f 60/199/28 62/200/28 88/201/28 +f 88/201/28 62/200/28 85/202/28 +f 62/203/1 64/204/1 85/205/1 +f 85/205/1 64/204/1 90/206/1 +f 64/207/28 63/208/28 90/209/28 +f 90/209/28 63/208/28 89/210/28 +f 89/211/32 129/212/32 130/213/32 +f 130/213/32 77/214/32 89/211/32 +f 130/213/32 131/215/32 77/214/32 +f 63/73/32 132/216/32 89/211/32 +f 89/211/32 132/216/32 129/212/32 +f 63/73/32 133/217/32 132/216/32 +f 129/212/32 134/218/32 135/219/32 +f 132/216/32 134/218/32 129/212/32 +f 133/217/32 51/57/32 136/220/32 +f 63/73/32 51/57/32 133/217/32 +f 136/220/31 39/221/31 137/222/31 +f 51/57/31 39/221/31 136/220/31 +f 137/223/1 39/224/1 100/225/1 +f 39/224/1 41/226/1 100/225/1 +f 100/227/28 40/228/28 101/229/28 +f 41/230/28 40/228/28 100/227/28 +f 101/231/1 40/232/1 99/233/1 +f 40/232/1 44/234/1 99/233/1 +f 99/235/28 43/236/28 96/237/28 +f 44/238/28 43/236/28 99/235/28 +f 96/239/32 42/240/32 98/241/32 +f 43/242/32 42/240/32 96/239/32 +f 98/243/28 45/244/28 97/245/28 +f 42/246/28 45/244/28 98/243/28 +f 97/247/1 45/248/1 95/249/1 +f 45/248/1 48/250/1 95/249/1 +f 95/251/28 138/252/28 92/253/28 +f 48/254/28 138/252/28 95/251/28 +f 92/255/32 46/256/32 94/257/32 +f 138/258/32 46/256/32 92/255/32 +f 94/259/28 46/260/28 93/261/28 +f 46/260/28 49/262/28 93/261/28 +f 93/263/1 49/264/1 91/265/1 +f 49/264/1 50/266/1 91/265/1 +f 77/214/31 139/267/31 66/268/31 +f 131/215/31 139/267/31 77/214/31 +f 66/76/1 117/269/1 67/77/1 +f 139/270/1 117/269/1 66/76/1 +f 67/271/28 118/272/28 65/273/28 +f 117/274/28 118/272/28 67/271/28 +f 65/275/1 116/276/1 140/277/1 +f 118/278/1 116/276/1 65/275/1 +f 140/279/28 113/280/28 70/281/28 +f 116/282/28 113/280/28 140/279/28 +f 70/283/32 114/164/32 141/284/32 +f 113/163/32 114/164/32 70/283/32 +f 141/285/28 115/286/28 71/287/28 +f 114/288/28 115/286/28 141/285/28 +f 71/289/1 112/290/1 142/291/1 +f 115/292/1 112/290/1 71/289/1 +f 142/293/28 109/294/28 143/295/28 +f 112/296/28 109/294/28 142/293/28 +f 143/297/32 111/298/32 144/299/32 +f 109/300/32 111/298/32 143/297/32 +f 144/301/28 110/302/28 145/303/28 +f 111/304/28 110/302/28 144/301/28 +f 145/305/1 108/306/1 76/307/1 +f 110/308/1 108/306/1 145/305/1 +f 104/309/1 100/225/1 102/310/1 +f 103/311/1 104/309/1 102/310/1 +f 117/269/1 100/225/1 104/309/1 +f 105/312/1 117/269/1 104/309/1 +f 107/313/1 105/312/1 106/314/1 +f 107/313/1 117/269/1 105/312/1 +f 129/212/32 135/219/32 130/213/32 +f 135/219/32 131/215/32 130/213/32 +f 133/217/32 134/218/32 132/216/32 +f 135/219/32 134/218/32 131/215/32 +f 134/218/32 136/220/32 131/215/32 +f 133/217/32 136/220/32 134/218/32 +f 136/220/31 139/267/31 131/215/31 +f 136/220/31 137/222/31 139/267/31 +f 139/270/1 100/225/1 117/269/1 +f 137/223/1 100/225/1 139/270/1 diff --git a/mymillwork/models/mymillwork_mach5.obj b/mymillwork/models/mymillwork_mach5.obj new file mode 100644 index 0000000..82506ca --- /dev/null +++ b/mymillwork/models/mymillwork_mach5.obj @@ -0,0 +1,182 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.423880 -0.500000 -0.283227 +v 0.283227 -0.500000 -0.423880 +v 0.423880 0.500000 -0.283227 +v 0.283227 0.500000 -0.423880 +v 0.099456 -0.500000 -0.500000 +v 0.099456 0.500000 -0.500000 +v -0.099456 -0.500000 -0.500000 +v -0.099456 0.500000 -0.500000 +v -0.283227 -0.500000 -0.423880 +v -0.283227 0.500000 -0.423880 +v -0.423880 -0.500000 -0.283227 +v -0.423880 0.500000 -0.283227 +v -0.500000 0.500000 -0.099456 +v -0.500000 -0.500000 -0.099456 +v -0.500000 -0.500000 0.099456 +v -0.500000 0.500000 0.099456 +v -0.423880 -0.500000 0.283227 +v -0.423880 0.500000 0.283227 +v -0.283227 -0.500000 0.423880 +v -0.283227 0.500000 0.423880 +v -0.099456 -0.500000 0.500000 +v -0.099456 0.500000 0.500000 +v 0.099456 -0.500000 0.500000 +v 0.099456 0.500000 0.500000 +v 0.283227 0.500000 0.423880 +v 0.283227 -0.500000 0.423880 +v 0.423880 -0.500000 0.283227 +v 0.423880 0.500000 0.283227 +v 0.500000 -0.500000 0.099456 +v 0.500000 0.500000 0.099456 +v 0.500000 -0.500000 -0.099456 +v 0.500000 0.500000 -0.099456 +vt 0.923880 0.000000 +vt 0.783227 0.000000 +vt 0.923880 1.000000 +vt 0.783227 1.000000 +vt 0.599456 0.000000 +vt 0.599456 1.000000 +vt 0.400544 0.000000 +vt 0.400544 1.000000 +vt 0.216773 0.000000 +vt 0.216773 1.000000 +vt 0.076120 0.000000 +vt 0.076120 1.000000 +vt 0.783227 1.000000 +vt 0.783227 0.000000 +vt 0.599456 1.000000 +vt 0.599456 0.000000 +vt 0.400544 0.000000 +vt 0.400544 1.000000 +vt 0.216773 0.000000 +vt 0.216773 1.000000 +vt 0.076120 0.000000 +vt 0.216773 0.000000 +vt 0.076120 1.000000 +vt 0.216773 1.000000 +vt 0.400544 0.000000 +vt 0.400544 1.000000 +vt 0.599456 0.000000 +vt 0.599456 1.000000 +vt 0.783227 1.000000 +vt 0.783227 0.000000 +vt 0.923880 0.000000 +vt 0.923880 1.000000 +vt 0.216773 0.000000 +vt 0.400544 0.000000 +vt 0.216773 1.000000 +vt 0.400544 1.000000 +vt 0.599456 0.000000 +vt 0.599456 1.000000 +vt 0.783227 1.000000 +vt 0.783227 0.000000 +vt 0.076120 0.216773 +vt 0.000000 0.400544 +vt 0.216773 0.076120 +vt 0.783227 0.076120 +vt 0.000000 0.599456 +vt 0.076120 0.783227 +vt 0.923880 0.216773 +vt 0.216773 0.923880 +vt 0.400544 1.000000 +vt 0.599456 1.000000 +vt 0.923880 0.783227 +vt 1.000000 0.400544 +vt 1.000000 0.599456 +vt 0.783227 0.923880 +vt 0.000000 0.400544 +vt 0.076120 0.216773 +vt 0.216773 0.076120 +vt 0.783227 0.076120 +vt 0.400544 0.000000 +vt 0.599456 0.000000 +vt 0.076120 0.783227 +vt 0.000000 0.599456 +vt 0.923880 0.216773 +vt 0.216773 0.923880 +vt 0.923880 0.783227 +vt 1.000000 0.400544 +vt 1.000000 0.599456 +vt 0.783227 0.923880 +vn 0.7071 0.0000 -0.7071 +vn 0.3827 0.0000 -0.9239 +vn 0.0000 0.0000 -1.0000 +vn -0.3827 0.0000 -0.9239 +vn -0.7071 0.0000 -0.7071 +vn -0.9239 0.0000 -0.3827 +vn -1.0000 0.0000 0.0000 +vn -0.9239 0.0000 0.3827 +vn -0.7071 0.0000 0.7071 +vn -0.3827 0.0000 0.9239 +vn 0.0000 0.0000 1.0000 +vn 0.3827 0.0000 0.9239 +vn 0.7071 0.0000 0.7071 +vn 0.9239 0.0000 0.3827 +vn 1.0000 0.0000 0.0000 +vn 0.9239 0.0000 -0.3827 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 2/2/1 4/4/1 +f 2/2/2 5/5/2 4/4/2 +f 4/4/2 5/5/2 6/6/2 +f 5/5/3 7/7/3 6/6/3 +f 6/6/3 7/7/3 8/8/3 +f 7/7/4 9/9/4 8/8/4 +f 8/8/4 9/9/4 10/10/4 +f 9/9/5 11/11/5 10/10/5 +f 10/10/5 11/11/5 12/12/5 +f 12/13/6 11/14/6 13/15/6 +f 11/14/6 14/16/6 13/15/6 +f 14/16/7 15/17/7 13/15/7 +f 13/15/7 15/17/7 16/18/7 +f 15/17/8 17/19/8 16/18/8 +f 16/18/8 17/19/8 18/20/8 +f 17/21/9 19/22/9 18/23/9 +f 18/23/9 19/22/9 20/24/9 +f 19/22/10 21/25/10 20/24/10 +f 20/24/10 21/25/10 22/26/10 +f 21/25/11 23/27/11 22/26/11 +f 22/26/11 23/27/11 24/28/11 +f 24/28/12 23/27/12 25/29/12 +f 23/27/12 26/30/12 25/29/12 +f 26/30/13 27/31/13 25/29/13 +f 25/29/13 27/31/13 28/32/13 +f 27/33/14 29/34/14 28/35/14 +f 28/35/14 29/34/14 30/36/14 +f 29/34/15 31/37/15 30/36/15 +f 30/36/15 31/37/15 32/38/15 +f 32/38/16 31/37/16 3/39/16 +f 31/37/16 1/40/16 3/39/16 +f 17/41/17 15/42/17 19/43/17 +f 19/43/17 26/44/17 21/25/17 +f 21/25/17 26/44/17 23/27/17 +f 15/42/17 26/44/17 19/43/17 +f 14/45/17 11/46/17 15/42/17 +f 15/42/17 27/47/17 26/44/17 +f 11/46/17 27/47/17 15/42/17 +f 9/48/17 7/49/17 11/46/17 +f 7/49/17 5/50/17 11/46/17 +f 27/47/17 1/51/17 29/52/17 +f 29/52/17 1/51/17 31/53/17 +f 11/46/17 1/51/17 27/47/17 +f 5/50/17 1/51/17 11/46/17 +f 5/50/17 2/54/17 1/51/17 +f 16/55/18 18/56/18 20/57/18 +f 25/58/18 20/57/18 22/59/18 +f 25/58/18 22/59/18 24/60/18 +f 25/58/18 16/55/18 20/57/18 +f 12/61/18 13/62/18 16/55/18 +f 28/63/18 16/55/18 25/58/18 +f 28/63/18 12/61/18 16/55/18 +f 8/8/18 10/64/18 12/61/18 +f 6/6/18 8/8/18 12/61/18 +f 3/65/18 28/63/18 30/66/18 +f 3/65/18 30/66/18 32/67/18 +f 3/65/18 12/61/18 28/63/18 +f 3/65/18 6/6/18 12/61/18 +f 4/68/18 6/6/18 3/65/18 diff --git a/mymillwork/models/mymillwork_mach6.obj b/mymillwork/models/mymillwork_mach6.obj new file mode 100644 index 0000000..e2d7627 --- /dev/null +++ b/mymillwork/models/mymillwork_mach6.obj @@ -0,0 +1,226 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +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.099456 -0.187500 0.500000 +v -0.500000 -0.187500 0.500000 +v 0.099456 -0.187500 0.500000 +v 0.500000 -0.187500 0.500000 +v 0.500000 -0.187500 0.099456 +v 0.500000 -0.187500 -0.099456 +v 0.500000 -0.187500 -0.500000 +v 0.099456 -0.187500 -0.500000 +v -0.099456 -0.187500 -0.500000 +v -0.500000 -0.187500 -0.500000 +v -0.500000 -0.187500 -0.099456 +v -0.500000 -0.187500 0.099456 +v -0.283227 -0.187500 0.423880 +v -0.423880 -0.187500 0.283227 +v -0.099456 0.500000 0.500000 +v 0.099456 0.500000 0.500000 +v 0.283227 -0.187500 0.423880 +v 0.423880 -0.187500 0.283227 +v 0.500000 0.500000 0.099456 +v 0.500000 0.500000 -0.099456 +v 0.423880 -0.187500 -0.283227 +v 0.283227 -0.187500 -0.423880 +v 0.099456 0.500000 -0.500000 +v -0.099456 0.500000 -0.500000 +v -0.423880 -0.187500 -0.283227 +v -0.283227 -0.187500 -0.423880 +v -0.500000 0.500000 -0.099456 +v -0.500000 0.500000 0.099456 +v -0.423880 0.500000 0.283227 +v -0.283227 0.500000 0.423880 +v 0.423880 0.500000 0.283227 +v 0.283227 0.500000 0.423880 +v 0.423880 0.500000 -0.283227 +v 0.283227 0.500000 -0.423880 +v -0.423880 0.500000 -0.283227 +v -0.283227 0.500000 -0.423880 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.400544 0.312500 +vt 0.000000 0.312500 +vt 0.599456 0.312500 +vt 1.000000 0.312500 +vt 0.000000 0.000000 +vt 0.400544 0.312500 +vt 0.000000 0.312500 +vt 1.000000 0.000000 +vt 0.599456 0.312500 +vt 1.000000 0.312500 +vt 0.599456 0.312500 +vt 0.000000 0.000000 +vt 0.400544 0.312500 +vt 0.000000 0.312500 +vt 1.000000 0.000000 +vt 0.599456 0.312500 +vt 1.000000 0.312500 +vt 0.400544 0.312500 +vt 0.216773 0.076120 +vt 0.076120 0.216773 +vt 0.000000 0.000000 +vt 0.000000 0.400544 +vt 0.400544 0.000000 +vt 0.400544 1.000000 +vt 0.599456 1.000000 +vt 1.000000 0.000000 +vt 0.783227 0.076120 +vt 0.599456 0.000000 +vt 0.923880 0.216773 +vt 1.000000 0.400544 +vt 0.400544 1.000000 +vt 0.599456 1.000000 +vt 1.000000 1.000000 +vt 0.923880 0.783227 +vt 1.000000 0.599456 +vt 0.783227 0.923880 +vt 0.599456 1.000000 +vt 0.599456 1.000000 +vt 0.400544 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.599456 +vt 0.076120 0.783227 +vt 0.216773 0.923880 +vt 0.400544 1.000000 +vt 0.599456 1.000000 +vt 0.400544 1.000000 +vt 0.216773 1.000000 +vt 0.216773 0.312500 +vt 0.076120 0.312500 +vt 0.216773 0.312500 +vt 0.076120 1.000000 +vt 0.216773 1.000000 +vt 1.000000 0.599456 +vt 0.923880 0.216773 +vt 1.000000 0.400544 +vt 0.783227 0.076120 +vt 0.400544 0.000000 +vt 0.599456 0.000000 +vt 0.216773 0.076120 +vt 0.923880 0.783227 +vt 0.783227 0.923880 +vt 0.000000 0.400544 +vt 0.076120 0.216773 +vt 0.000000 0.599456 +vt 0.076120 0.783227 +vt 0.216773 0.923880 +vt 0.783227 1.000000 +vt 0.783227 0.312500 +vt 0.923880 0.312500 +vt 0.923880 1.000000 +vt 0.216773 1.000000 +vt 0.216773 0.312500 +vt 0.783227 0.312500 +vt 0.783227 1.000000 +vt 0.923880 1.000000 +vt 0.923880 0.312500 +vt 0.783227 1.000000 +vt 0.783227 0.312500 +vt 0.216773 1.000000 +vt 0.216773 0.312500 +vt 0.076120 1.000000 +vt 0.076120 0.312500 +vt 0.783227 1.000000 +vt 0.783227 0.312500 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9239 0.0000 0.3827 +vn -0.7071 0.0000 0.7071 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 0.9239 +vn 0.7071 0.0000 0.7071 +vn 0.9239 0.0000 0.3827 +vn 0.9239 0.0000 -0.3827 +vn 0.7071 0.0000 -0.7071 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 -0.9239 +vn -0.7071 0.0000 -0.7071 +vn -0.9239 0.0000 -0.3827 +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 2/2/1 1/1/1 +f 1/1/2 5/5/2 6/6/2 +f 1/1/2 7/7/2 5/5/2 +f 7/7/2 3/3/2 8/8/2 +f 1/1/2 3/3/2 7/7/2 +f 3/9/3 9/10/3 8/11/3 +f 9/10/3 2/12/3 10/13/3 +f 10/13/3 2/12/3 11/14/3 +f 3/9/3 2/12/3 9/10/3 +f 2/12/4 12/15/4 11/14/4 +f 12/15/4 4/16/4 13/17/4 +f 13/17/4 4/16/4 14/18/4 +f 2/12/4 4/16/4 12/15/4 +f 4/19/5 15/20/5 14/21/5 +f 15/20/5 1/1/5 16/22/5 +f 16/22/5 1/1/5 6/6/5 +f 4/19/5 1/1/5 15/20/5 +f 17/23/6 18/24/6 6/25/6 +f 16/26/6 6/25/6 18/24/6 +f 5/27/6 17/23/6 6/25/6 +f 19/28/2 5/5/2 20/29/2 +f 5/5/2 7/7/2 20/29/2 +f 8/30/6 21/31/6 7/32/6 +f 22/33/6 21/31/6 8/30/6 +f 9/34/6 22/33/6 8/30/6 +f 23/35/3 9/10/3 24/36/3 +f 9/10/3 10/13/3 24/36/3 +f 11/37/6 25/38/6 10/39/6 +f 11/37/6 26/40/6 25/38/6 +f 11/37/6 12/41/6 26/40/6 +f 27/42/4 12/15/4 28/43/4 +f 12/15/4 13/17/4 28/43/4 +f 14/44/6 15/45/6 29/46/6 +f 30/47/6 14/44/6 29/46/6 +f 13/48/6 14/44/6 30/47/6 +f 31/49/5 15/20/5 32/50/5 +f 15/20/5 16/22/5 32/50/5 +f 32/50/7 16/22/7 33/51/7 +f 16/22/7 18/52/7 33/51/7 +f 18/53/8 17/54/8 33/55/8 +f 33/55/8 17/54/8 34/56/8 +f 34/56/9 17/54/9 19/28/9 +f 17/54/9 5/5/9 19/28/9 +f 24/57/6 35/58/6 23/59/6 +f 24/57/6 36/60/6 35/58/6 +f 19/61/6 20/62/6 36/60/6 +f 34/63/6 19/61/6 36/60/6 +f 27/42/6 24/57/6 37/64/6 +f 27/42/6 37/64/6 38/65/6 +f 27/42/6 36/60/6 24/57/6 +f 32/66/6 33/67/6 34/63/6 +f 28/43/6 32/66/6 34/63/6 +f 28/43/6 34/63/6 36/60/6 +f 28/43/6 36/60/6 27/42/6 +f 31/68/6 32/66/6 28/43/6 +f 39/69/6 28/43/6 40/70/6 +f 39/69/6 31/68/6 28/43/6 +f 20/29/10 7/7/10 36/71/10 +f 7/7/10 21/72/10 36/71/10 +f 21/72/11 22/73/11 36/71/11 +f 36/71/11 22/73/11 35/74/11 +f 35/75/12 22/76/12 23/35/12 +f 22/76/12 9/10/12 23/35/12 +f 10/13/13 25/77/13 24/36/13 +f 24/36/13 25/77/13 37/78/13 +f 37/79/14 25/80/14 38/81/14 +f 25/80/14 26/82/14 38/81/14 +f 38/81/15 26/82/15 27/42/15 +f 26/82/15 12/15/15 27/42/15 +f 28/43/16 13/17/16 40/83/16 +f 13/17/16 30/84/16 40/83/16 +f 40/83/17 30/84/17 39/85/17 +f 30/84/17 29/86/17 39/85/17 +f 39/87/18 29/88/18 31/49/18 +f 29/88/18 15/20/18 31/49/18 diff --git a/mymillwork/models/mymillwork_mach7.obj b/mymillwork/models/mymillwork_mach7.obj new file mode 100644 index 0000000..58b4dc5 --- /dev/null +++ b/mymillwork/models/mymillwork_mach7.obj @@ -0,0 +1,116 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v 0.423880 -0.500000 0.216773 +v 0.283227 -0.500000 0.076120 +v 0.423880 0.500000 0.216773 +v 0.283227 0.500000 0.076120 +v 0.500000 0.500000 0.400544 +v 0.500000 -0.500000 0.400544 +v 0.099456 -0.500000 0.000000 +v 0.099456 0.500000 0.000000 +v -0.500000 -0.500000 0.400544 +v -0.423880 -0.500000 0.216773 +v -0.500000 -0.500000 0.500000 +v -0.283227 -0.500000 0.076120 +v -0.099456 -0.500000 0.000000 +v 0.500000 -0.500000 0.500000 +v -0.423880 0.500000 0.216773 +v -0.500000 0.500000 0.400544 +v -0.500000 0.500000 0.500000 +v -0.283227 0.500000 0.076120 +v -0.099456 0.500000 0.000000 +v 0.500000 0.500000 0.500000 +vt 0.283227 0.000000 +vt 0.423880 0.000000 +vt 0.283227 1.000000 +vt 0.423880 1.000000 +vt 0.099456 1.000000 +vt 0.099456 0.000000 +vt 0.783227 0.000000 +vt 0.599456 0.000000 +vt 0.783227 1.000000 +vt 0.599456 1.000000 +vt 0.000000 0.099456 +vt 0.076120 0.283227 +vt 0.000000 0.000000 +vt 0.216773 0.423880 +vt 0.400544 0.500000 +vt 0.599456 0.500000 +vt 1.000000 0.000000 +vt 0.923880 0.283227 +vt 1.000000 0.099456 +vt 0.783227 0.423880 +vt 0.076120 0.283227 +vt 0.000000 0.099456 +vt 0.000000 0.000000 +vt 0.216773 0.423880 +vt 0.400544 0.500000 +vt 0.599456 0.500000 +vt 1.000000 0.000000 +vt 0.923880 0.283227 +vt 1.000000 0.099456 +vt 0.783227 0.423880 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.400544 0.000000 +vt 0.400544 1.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.099456 1.000000 +vt 0.099456 0.000000 +vt 0.283227 1.000000 +vt 0.283227 0.000000 +vt 0.423880 0.000000 +vt 0.423880 1.000000 +vt 0.216773 0.000000 +vt 0.216773 1.000000 +vn 0.7071 0.0000 -0.7071 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 -0.9239 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn -0.9239 0.0000 -0.3827 +vn -0.7071 0.0000 -0.7071 +vn -0.3827 0.0000 -0.9239 +s off +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 2/2/1 4/4/1 +f 5/5/2 6/6/2 3/3/2 +f 6/6/2 1/1/2 3/3/2 +f 2/7/3 7/8/3 4/9/3 +f 4/9/3 7/8/3 8/10/3 +f 9/11/4 10/12/4 11/13/4 +f 10/12/4 12/14/4 11/13/4 +f 12/14/4 13/15/4 11/13/4 +f 11/13/4 7/16/4 14/17/4 +f 13/15/4 7/16/4 11/13/4 +f 14/17/4 1/18/4 6/19/4 +f 7/16/4 2/20/4 14/17/4 +f 14/17/4 2/20/4 1/18/4 +f 15/21/5 16/22/5 17/23/5 +f 18/24/5 15/21/5 17/23/5 +f 19/25/5 18/24/5 17/23/5 +f 8/26/5 17/23/5 20/27/5 +f 8/26/5 19/25/5 17/23/5 +f 3/28/5 20/27/5 5/29/5 +f 4/30/5 8/26/5 20/27/5 +f 4/30/5 20/27/5 3/28/5 +f 20/31/6 6/6/6 5/5/6 +f 14/32/6 6/6/6 20/31/6 +f 7/8/7 13/33/7 8/10/7 +f 8/10/7 13/33/7 19/34/7 +f 20/35/8 17/36/8 14/17/8 +f 14/17/8 17/36/8 11/13/8 +f 16/37/9 11/13/9 17/36/9 +f 9/38/9 11/13/9 16/37/9 +f 15/39/10 10/40/10 16/37/10 +f 10/40/10 9/38/10 16/37/10 +f 12/41/11 10/40/11 18/42/11 +f 18/42/11 10/40/11 15/39/11 +f 13/33/12 12/43/12 19/34/12 +f 19/34/12 12/43/12 18/44/12 diff --git a/mymillwork/models/mymillwork_mach8.obj b/mymillwork/models/mymillwork_mach8.obj new file mode 100644 index 0000000..4b5d24e --- /dev/null +++ b/mymillwork/models/mymillwork_mach8.obj @@ -0,0 +1,149 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v -0.500000 -0.500000 0.000000 +v 0.500000 -0.500000 0.000000 +v -0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v -0.500000 -0.187500 0.400544 +v -0.500000 -0.187500 0.000000 +v -0.500000 -0.187500 0.500000 +v 0.099456 -0.187500 0.000000 +v 0.500000 -0.187500 0.000000 +v -0.099456 -0.187500 0.000000 +v 0.500000 -0.187500 0.500000 +v 0.500000 -0.187500 0.400544 +v -0.500000 0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.400544 +v -0.423880 -0.187500 0.216773 +v -0.283227 -0.187500 0.076120 +v 0.423880 -0.187500 0.216773 +v 0.283227 -0.187500 0.076120 +v 0.099456 0.500000 0.000000 +v -0.099456 0.500000 0.000000 +v 0.500000 0.500000 0.400544 +v 0.423880 0.500000 0.216773 +v 0.283227 0.500000 0.076120 +v -0.283227 0.500000 0.076120 +v -0.423880 0.500000 0.216773 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.500000 0.000000 +vt 0.099456 0.312500 +vt 0.500000 0.312500 +vt 0.000000 0.312500 +vt 1.000000 0.000000 +vt 0.599456 0.312500 +vt 1.000000 0.312500 +vt 0.000000 0.000000 +vt 0.400544 0.312500 +vt 0.000000 0.312500 +vt 0.000000 0.312500 +vt 0.000000 0.000000 +vt 0.099456 0.312500 +vt 0.500000 0.000000 +vt 0.500000 0.312500 +vt 1.000000 0.312500 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 0.099456 1.000000 +vt 0.000000 0.500000 +vt 0.000000 0.099456 +vt 0.076120 0.283227 +vt 0.216773 0.423880 +vt 0.400544 0.500000 +vt 1.000000 0.500000 +vt 0.923880 0.283227 +vt 1.000000 0.099456 +vt 0.783227 0.423880 +vt 0.599456 0.500000 +vt 0.599456 1.000000 +vt 0.400544 1.000000 +vt 0.000000 1.000000 +vt 0.099456 1.000000 +vt 0.923880 0.283227 +vt 1.000000 0.000000 +vt 1.000000 0.099456 +vt 0.783227 0.423880 +vt 0.599456 0.500000 +vt 0.400544 0.500000 +vt 0.000000 0.000000 +vt 0.216773 0.423880 +vt 0.076120 0.283227 +vt 0.000000 0.099456 +vt 0.283227 1.000000 +vt 0.283227 0.312500 +vt 0.216773 1.000000 +vt 0.216773 0.312500 +vt 0.423880 1.000000 +vt 0.423880 0.312500 +vt 0.283227 0.312500 +vt 0.283227 1.000000 +vt 0.423880 1.000000 +vt 0.423880 0.312500 +vt 0.783227 1.000000 +vt 0.783227 0.312500 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9239 0.0000 -0.3827 +vn -0.3827 0.0000 -0.9239 +vn -0.7071 0.0000 -0.7071 +vn 0.9239 0.0000 -0.3827 +vn 0.7071 0.0000 -0.7071 +vn 0.3827 0.0000 -0.9239 +s off +f 1/1/1 2/2/1 3/3/1 +f 3/3/1 2/2/1 4/4/1 +f 1/5/2 5/6/2 6/7/2 +f 5/6/2 3/3/2 7/8/2 +f 1/5/2 3/3/2 5/6/2 +f 2/9/3 8/10/3 9/11/3 +f 8/10/3 1/12/3 10/13/3 +f 10/13/3 1/12/3 6/14/3 +f 2/9/3 1/12/3 8/10/3 +f 11/15/4 4/16/4 12/17/4 +f 12/17/4 2/18/4 9/19/4 +f 4/16/4 2/18/4 12/17/4 +f 11/20/5 13/21/5 7/8/5 +f 11/20/5 7/8/5 3/3/5 +f 11/20/5 3/3/5 4/4/5 +f 14/22/5 13/21/5 11/20/5 +f 15/23/2 5/6/2 13/21/2 +f 5/6/2 7/8/2 13/21/2 +f 6/24/6 5/25/6 16/26/6 +f 17/27/6 6/24/6 16/26/6 +f 10/28/6 6/24/6 17/27/6 +f 9/29/6 18/30/6 12/31/6 +f 9/29/6 19/32/6 18/30/6 +f 9/29/6 8/33/6 19/32/6 +f 20/34/3 8/10/3 21/35/3 +f 8/10/3 10/13/3 21/35/3 +f 14/36/4 12/17/4 22/37/4 +f 11/15/4 12/17/4 14/36/4 +f 23/38/6 14/39/6 22/40/6 +f 24/41/6 14/39/6 23/38/6 +f 20/42/6 14/39/6 24/41/6 +f 21/43/6 13/44/6 14/39/6 +f 21/43/6 14/39/6 20/42/6 +f 25/45/6 13/44/6 21/43/6 +f 26/46/6 15/47/6 13/44/6 +f 26/46/6 13/44/6 25/45/6 +f 26/48/7 16/49/7 15/23/7 +f 16/49/7 5/6/7 15/23/7 +f 21/35/8 10/13/8 25/50/8 +f 10/13/8 17/51/8 25/50/8 +f 25/52/9 17/53/9 26/48/9 +f 17/53/9 16/49/9 26/48/9 +f 12/17/10 18/54/10 22/37/10 +f 22/37/10 18/54/10 23/55/10 +f 23/55/11 18/54/11 24/56/11 +f 18/54/11 19/57/11 24/56/11 +f 24/58/12 19/59/12 20/34/12 +f 19/59/12 8/10/12 20/34/12 diff --git a/mymillwork/models/mymillwork_mach9.obj b/mymillwork/models/mymillwork_mach9.obj new file mode 100644 index 0000000..186c7b5 --- /dev/null +++ b/mymillwork/models/mymillwork_mach9.obj @@ -0,0 +1,930 @@ +# Blender v2.79 (sub 0) OBJ File: '' +# www.blender.org +g node0_Body +v -0.250000 -0.375000 0.000000 +v -0.500000 -0.437500 -0.000000 +v -0.250000 -0.437500 0.000000 +v -0.500000 -0.375000 -0.000000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.437500 -0.437500 +v -0.500000 -0.437500 -0.500000 +v -0.500000 -0.437500 -0.250000 +v -0.500000 -0.375000 -0.437500 +v -0.500000 -0.375000 -0.250000 +v -0.500000 -0.437500 -0.125000 +v -0.500000 -0.375000 -0.125000 +v -0.500000 -0.437500 0.062500 +v -0.500000 -0.375000 0.125000 +v -0.500000 -0.375000 0.062500 +v -0.500000 -0.500000 0.400544 +v -0.500000 -0.339286 0.172197 +v -0.500000 -0.301029 0.217358 +v -0.500000 -0.260345 0.260345 +v -0.500000 -0.217358 0.301029 +v -0.500000 -0.172197 0.339286 +v -0.500000 -0.125000 0.375000 +v -0.500000 -0.062500 0.400544 +v -0.500000 -0.062500 0.375000 +v -0.250345 -0.437500 0.062500 +v -0.250000 -0.437500 0.062357 +v -0.250000 -0.187500 0.062357 +v -0.250000 -0.375000 -0.125000 +v -0.250000 -0.375000 -0.250000 +v -0.250000 -0.437500 -0.125000 +v -0.250000 -0.437500 -0.250000 +v -0.250000 -0.375000 -0.437500 +v -0.250000 -0.437500 -0.500000 +v -0.250000 -0.437500 -0.437500 +v -0.250000 -0.187500 -0.500000 +v -0.489419 -0.125000 0.375000 +v -0.473396 -0.175889 0.336316 +v -0.456148 -0.224389 0.294677 +v -0.440422 -0.263964 0.256709 +v -0.423880 -0.301553 0.216773 +v -0.384086 -0.335433 0.176979 +v -0.358397 -0.355612 0.151290 +v -0.332107 -0.375000 0.125000 +v -0.283227 -0.375000 0.076120 +v -0.250345 -0.375000 0.062500 +v -0.250000 -0.500000 -0.500000 +v -0.250000 -0.500000 0.062357 +v -0.283227 -0.500000 0.076120 +v -0.423880 -0.500000 0.216773 +v -0.500000 0.437500 0.437500 +v -0.500000 0.500000 0.500000 +v -0.500000 0.500000 0.437500 +v -0.500000 0.437500 0.400544 +v -0.500000 0.250000 0.437500 +v -0.500000 0.250000 0.400544 +v -0.500000 0.125000 0.400544 +v -0.500000 0.000000 0.400544 +v -0.500000 0.125000 0.437500 +v -0.500000 0.000000 0.437500 +v -0.500000 -0.062500 0.437500 +v -0.500000 -0.500000 0.500000 +v -0.489419 -0.062500 0.375000 +v -0.099456 0.500000 0.000000 +v -0.187500 -0.187500 0.036469 +v -0.283227 0.500000 0.076120 +v -0.099456 -0.250000 0.000000 +v -0.187500 -0.250000 0.036469 +v -0.187500 -0.250000 -0.500000 +v -0.187500 -0.187500 -0.500000 +v 0.250000 -0.437500 -0.500000 +v 0.187500 -0.250000 -0.500000 +v 0.250000 -0.187500 -0.500000 +v 0.187500 -0.187500 -0.500000 +v -0.423880 0.500000 0.216773 +v -0.489419 0.437500 0.375000 +v -0.500000 0.500000 0.400544 +v -0.489419 0.250000 0.375000 +v -0.489419 0.125000 0.375000 +v -0.489419 0.000000 0.375000 +v 0.250000 -0.500000 -0.500000 +v 0.099456 -0.500000 0.000000 +v 0.250000 -0.500000 0.062357 +v -0.099456 -0.500000 0.000000 +v -0.250000 -0.500000 0.500000 +v 0.500000 -0.500000 0.500000 +v 0.250000 -0.187500 0.500000 +v 0.250000 -0.500000 0.500000 +v 0.187500 -0.250000 0.500000 +v -0.187500 -0.187500 0.500000 +v -0.187500 -0.250000 0.500000 +v 0.187500 -0.187500 0.500000 +v 0.500000 0.500000 0.500000 +v -0.250000 -0.187500 0.500000 +v 0.500000 0.500000 0.437500 +v -0.500000 0.250000 0.375000 +v -0.500000 0.437500 0.375000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.000000 0.375000 +v 0.099456 -0.250000 0.000000 +v 0.187500 -0.250000 0.036469 +v 0.099456 0.500000 0.000000 +v 0.283227 0.500000 0.076120 +v 0.423880 0.500000 0.216773 +v 0.500000 0.500000 0.400544 +v 0.250000 -0.437500 0.062357 +v 0.250000 -0.375000 0.000000 +v 0.250000 -0.187500 0.062357 +v 0.250000 -0.437500 0.000000 +v 0.250000 -0.375000 -0.125000 +v 0.250000 -0.375000 -0.250000 +v 0.250000 -0.437500 -0.125000 +v 0.250000 -0.437500 -0.250000 +v 0.250000 -0.375000 -0.437500 +v 0.250000 -0.437500 -0.437500 +v 0.187500 -0.187500 0.036469 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.437500 -0.500000 +v 0.423880 -0.500000 0.216773 +v 0.500000 -0.500000 0.400544 +v 0.283227 -0.500000 0.076120 +v 0.500000 0.437500 0.437500 +v 0.500000 0.250000 0.437500 +v 0.500000 0.437500 0.400544 +v 0.500000 0.250000 0.400544 +v 0.500000 0.125000 0.437500 +v 0.500000 0.000000 0.400544 +v 0.500000 0.125000 0.400544 +v 0.500000 0.000000 0.437500 +v 0.500000 -0.062500 0.437500 +v 0.500000 -0.062500 0.400544 +v 0.250345 -0.437500 0.062500 +v 0.250345 -0.375000 0.062500 +v 0.283227 -0.375000 0.076120 +v 0.423880 -0.301553 0.216773 +v 0.399201 -0.322955 0.192094 +v 0.332107 -0.375000 0.125000 +v 0.373884 -0.343598 0.166777 +v 0.489419 0.437500 0.375000 +v 0.489419 0.250000 0.375000 +v 0.489419 0.125000 0.375000 +v 0.489419 0.000000 0.375000 +v 0.489419 -0.062500 0.375000 +v 0.489419 -0.125000 0.375000 +v 0.474225 -0.173404 0.338318 +v 0.457924 -0.219659 0.298962 +v 0.441359 -0.261715 0.258973 +v 0.500000 -0.437500 -0.437500 +v 0.500000 -0.375000 -0.437500 +v 0.500000 -0.375000 -0.250000 +v 0.500000 -0.437500 -0.250000 +v 0.500000 -0.437500 -0.125000 +v 0.500000 -0.375000 -0.125000 +v 0.500000 -0.375000 0.000000 +v 0.500000 -0.437500 0.000000 +v 0.500000 -0.437500 0.062500 +v 0.500000 -0.375000 0.125000 +v 0.500000 -0.375000 0.062500 +v 0.500000 -0.339286 0.172197 +v 0.500000 -0.301029 0.217358 +v 0.500000 -0.260345 0.260345 +v 0.500000 -0.217358 0.301029 +v 0.500000 -0.172197 0.339286 +v 0.500000 -0.125000 0.375000 +v 0.500000 -0.062500 0.375000 +v 0.500000 0.000000 0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.437500 0.375000 +v 0.500000 0.250000 0.375000 +vt 0.250000 0.125000 +vt 0.000000 0.062500 +vt 0.250000 0.062500 +vt 0.000000 0.125000 +vt 1.000000 0.000000 +vt 0.937500 0.062500 +vt 1.000000 0.062500 +vt 0.750000 0.062500 +vt 0.937500 0.125000 +vt 0.750000 0.125000 +vt 0.625000 0.062500 +vt 0.500000 0.125000 +vt 0.625000 0.125000 +vt 0.500000 0.062500 +vt 0.437500 0.062500 +vt 0.375000 0.125000 +vt 0.437500 0.125000 +vt 0.099456 0.000000 +vt 0.327803 0.160714 +vt 0.282642 0.198971 +vt 0.239655 0.239655 +vt 0.198971 0.282642 +vt 0.160714 0.327803 +vt 0.125000 0.375000 +vt 0.099456 0.437500 +vt 0.125000 0.437500 +vt 0.250000 0.500000 +vt 0.249655 0.437500 +vt 0.250000 0.437643 +vt 0.000000 0.500000 +vt 0.000000 0.437500 +vt 0.500000 0.125000 +vt 0.500000 0.062500 +vt 0.437643 0.062500 +vt 0.437643 0.312500 +vt 0.625000 0.125000 +vt 0.750000 0.125000 +vt 0.625000 0.062500 +vt 0.750000 0.062500 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 1.000000 0.312500 +vt 0.250000 0.625000 +vt 0.000000 0.500000 +vt 0.250000 0.500000 +vt 0.000000 0.625000 +vt 0.000000 0.327803 +vt 0.010581 0.375000 +vt 0.026604 0.324111 +vt 0.000000 0.375000 +vt 0.000000 0.282642 +vt 0.043852 0.275611 +vt 0.000000 0.239655 +vt 0.059578 0.236036 +vt 0.000000 0.282642 +vt 0.059578 0.243291 +vt 0.076120 0.283227 +vt 0.000000 0.327803 +vt 0.115914 0.323021 +vt 0.141603 0.348710 +vt 0.000000 0.375000 +vt 0.167893 0.375000 +vt 0.216773 0.423880 +vt 0.000000 0.437500 +vt 0.249655 0.437500 +vt 0.249655 0.062500 +vt 0.000000 0.125000 +vt 0.249655 0.125000 +vt 0.000000 0.062500 +vt 0.250000 0.062500 +vt 0.000000 0.062500 +vt 0.250000 0.125000 +vt 0.000000 0.125000 +vt 0.250000 0.750000 +vt 0.000000 0.625000 +vt 0.250000 0.625000 +vt 0.000000 0.750000 +vt 0.250000 0.125000 +vt 0.000000 0.062500 +vt 0.250000 0.062500 +vt 0.000000 0.125000 +vt 0.250000 0.937500 +vt 0.000000 0.750000 +vt 0.250000 0.750000 +vt 0.000000 0.937500 +vt 0.250000 0.062500 +vt 0.000000 0.062500 +vt 0.250000 0.125000 +vt 0.000000 0.125000 +vt 0.250000 1.000000 +vt 0.000000 0.937500 +vt 0.250000 0.937500 +vt 0.000000 1.000000 +vt 0.250000 0.000000 +vt 0.000000 0.000000 +vt 0.250000 0.062500 +vt 0.000000 0.062500 +vt 0.250000 0.437643 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.216773 0.423880 +vt 0.076120 0.283227 +vt 0.000000 0.099456 +vt 0.062500 0.937500 +vt 0.000000 1.000000 +vt 0.062500 1.000000 +vt 0.099456 0.937500 +vt 0.062500 0.750000 +vt 0.099456 0.750000 +vt 0.099456 0.625000 +vt 0.099456 0.500000 +vt 0.062500 0.625000 +vt 0.062500 0.500000 +vt 0.062500 0.437500 +vt 0.000000 0.000000 +vt 0.000000 0.125000 +vt 0.000000 0.099456 +vt 0.010581 0.125000 +vt 0.010581 0.437500 +vt 0.000000 0.437500 +vt 0.400544 1.000000 +vt 0.312500 0.312500 +vt 0.216773 1.000000 +vt 0.400544 0.250000 +vt 0.312500 0.250000 +vt 0.250000 0.312500 +vt 0.250000 0.062500 +vt 0.216773 0.125000 +vt 0.312500 0.250000 +vt 0.250000 0.312500 +vt 0.312500 0.312500 +vt 0.750000 0.062500 +vt 0.687500 0.250000 +vt 0.750000 0.312500 +vt 0.687500 0.312500 +vt 0.250000 1.000000 +vt 0.250000 0.437643 +vt 0.312500 0.463531 +vt 0.312500 1.000000 +vt 0.167893 0.125000 +vt 0.141603 0.144388 +vt 0.115914 0.164567 +vt 0.423880 1.000000 +vt 0.283227 0.198447 +vt 0.283227 1.000000 +vt 0.423880 0.125000 +vt 0.076120 0.198447 +vt 0.125000 0.937500 +vt 0.099456 1.000000 +vt 0.125000 0.750000 +vt 0.125000 0.625000 +vt 0.125000 0.500000 +vt 0.125000 0.437500 +vt 0.163684 0.324111 +vt 0.125000 0.375000 +vt 0.243291 0.236036 +vt 0.205323 0.275611 +vt 0.750000 0.000000 +vt 0.599456 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.437643 +vt 0.400544 0.500000 +vt 0.250000 0.000000 +vt 1.000000 0.000000 +vt 0.750000 0.312500 +vt 0.750000 0.000000 +vt 0.687500 0.250000 +vt 0.312500 0.312500 +vt 0.312500 0.250000 +vt 0.687500 0.312500 +vt 1.000000 1.000000 +vt 0.250000 0.312500 +vt 1.000000 0.000000 +vt 0.000000 0.062500 +vt 0.000000 0.000000 +vt 1.000000 0.062500 +vt 0.125000 0.750000 +vt 0.125000 0.937500 +vt 0.125000 0.625000 +vt 0.125000 0.500000 +vt 0.312500 1.000000 +vt 0.312500 0.463531 +vt 0.400544 0.500000 +vt 0.687500 1.000000 +vt 0.599456 0.500000 +vt 0.687500 0.463531 +vt 1.000000 0.250000 +vt 0.463531 0.312500 +vt 0.463531 0.250000 +vt 1.000000 0.312500 +vt 0.076120 0.283227 +vt 0.000000 0.099456 +vt 0.216773 0.423880 +vt 0.400544 0.500000 +vt 0.599456 0.500000 +vt 0.783227 0.423880 +vt 0.923880 0.283227 +vt 1.000000 0.099456 +vt 0.599456 1.000000 +vt 0.599456 0.250000 +vt 0.437643 0.062500 +vt 0.500000 0.125000 +vt 0.437643 0.312500 +vt 0.500000 0.062500 +vt 0.625000 0.125000 +vt 0.750000 0.125000 +vt 0.625000 0.062500 +vt 0.750000 0.062500 +vt 1.000000 0.312500 +vt 0.937500 0.125000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 0.750000 1.000000 +vt 0.687500 0.463531 +vt 0.750000 0.437643 +vt 0.687500 1.000000 +vt 1.000000 0.250000 +vt 0.463531 0.250000 +vt 0.463531 0.312500 +vt 1.000000 0.312500 +vt 0.000000 0.099456 +vt 0.000000 0.125000 +vt 0.010581 0.125000 +vt 0.000000 0.500000 +vt 0.010581 0.625000 +vt 0.010581 0.500000 +vt 0.000000 0.625000 +vt 0.000000 0.125000 +vt 0.000000 0.099456 +vt 0.010581 0.125000 +vt 0.000000 0.099456 +vt 0.000000 0.125000 +vt 0.010581 0.125000 +vt 0.000000 0.750000 +vt 0.010581 0.937500 +vt 0.010581 0.750000 +vt 0.000000 0.937500 +vt 0.000000 0.125000 +vt 0.000000 0.099456 +vt 0.010581 0.125000 +vt 1.000000 0.000000 +vt 1.000000 0.062500 +vt 0.923880 0.283227 +vt 1.000000 1.000000 +vt 1.000000 0.099456 +vt 0.783227 0.423880 +vt 0.000000 1.000000 +vt 0.062500 0.937500 +vt 0.062500 1.000000 +vt 0.062500 0.750000 +vt 0.099456 0.937500 +vt 0.099456 0.750000 +vt 0.062500 0.625000 +vt 0.099456 0.500000 +vt 0.099456 0.625000 +vt 0.062500 0.500000 +vt 0.062500 0.437500 +vt 0.099456 0.000000 +vt 0.099456 0.437500 +vt 0.000000 0.000000 +vt 0.783227 1.000000 +vt 0.687500 0.312500 +vt 0.750000 0.312500 +vt 0.687500 0.250000 +vt 0.750345 0.062500 +vt 0.750000 0.062500 +vt 0.750345 0.125000 +vt 0.783227 0.125000 +vt 0.099456 1.000000 +vt 0.283227 1.000000 +vt 0.283227 0.198447 +vt 0.423880 1.000000 +vt 0.307906 0.177045 +vt 0.832107 0.125000 +vt 0.873884 0.156402 +vt 0.899201 0.177045 +vt 0.125000 0.937500 +vt 0.125000 0.750000 +vt 0.125000 0.625000 +vt 0.125000 0.500000 +vt 0.125000 0.437500 +vt 0.125000 0.375000 +vt 0.161682 0.326596 +vt 0.201038 0.280341 +vt 0.241027 0.238285 +vt 1.000000 1.000000 +vt 0.750000 0.937500 +vt 1.000000 0.937500 +vt 0.750000 1.000000 +vt 1.000000 0.062500 +vt 0.750000 0.125000 +vt 1.000000 0.125000 +vt 0.750000 0.062500 +vt 1.000000 0.937500 +vt 0.750000 0.750000 +vt 1.000000 0.750000 +vt 0.750000 0.937500 +vt 1.000000 0.125000 +vt 1.000000 0.062500 +vt 1.000000 0.750000 +vt 0.750000 0.625000 +vt 1.000000 0.625000 +vt 0.750000 0.750000 +vt 1.000000 0.062500 +vt 0.750000 0.125000 +vt 1.000000 0.125000 +vt 0.750000 0.062500 +vt 1.000000 0.625000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 0.750000 0.625000 +vt 1.000000 0.125000 +vt 0.750000 0.062500 +vt 1.000000 0.062500 +vt 0.750000 0.125000 +vt 1.000000 0.500000 +vt 0.750345 0.437500 +vt 1.000000 0.437500 +vt 0.750000 0.500000 +vt 0.750000 0.437643 +vt 0.937500 0.062500 +vt 0.750000 0.062500 +vt 0.937500 0.125000 +vt 0.750000 0.125000 +vt 0.625000 0.062500 +vt 0.500000 0.062500 +vt 0.625000 0.125000 +vt 0.500000 0.125000 +vt 0.375000 0.125000 +vt 0.437500 0.062500 +vt 0.437500 0.125000 +vt 0.327803 0.160714 +vt 0.282642 0.198971 +vt 0.239655 0.239655 +vt 0.198971 0.282642 +vt 0.160714 0.327803 +vt 0.125000 0.375000 +vt 0.125000 0.437500 +vt 0.125000 0.500000 +vt 0.125000 0.625000 +vt 0.125000 0.937500 +vt 0.125000 0.750000 +vt 1.000000 0.437500 +vt 0.832107 0.375000 +vt 1.000000 0.375000 +vt 0.783227 0.423880 +vt 0.750345 0.437500 +vt 1.000000 0.062500 +vt 1.000000 0.125000 +vt 1.000000 0.327803 +vt 0.989419 0.375000 +vt 1.000000 0.375000 +vt 0.974225 0.326596 +vt 1.000000 0.282642 +vt 0.957924 0.280341 +vt 1.000000 0.239655 +vt 0.941359 0.238285 +vt 1.000000 0.282642 +vt 0.941359 0.241027 +vt 0.923880 0.283227 +vt 0.899201 0.307906 +vt 1.000000 0.327803 +vt 0.873884 0.333223 +vt 0.989419 0.125000 +vt 1.000000 0.099456 +vt 1.000000 0.125000 +vt 1.000000 0.437500 +vt 0.989419 0.437500 +vt 0.989419 0.125000 +vt 1.000000 0.099456 +vt 1.000000 0.125000 +vt 0.989419 0.750000 +vt 1.000000 0.937500 +vt 1.000000 0.750000 +vt 0.989419 0.937500 +vt 1.000000 0.099456 +vt 0.989419 0.125000 +vt 1.000000 0.125000 +vt 0.989419 0.125000 +vt 1.000000 0.099456 +vt 1.000000 0.125000 +vt 0.989419 0.500000 +vt 1.000000 0.625000 +vt 1.000000 0.500000 +vt 0.989419 0.625000 +vt 1.000000 0.099456 +vt 0.989419 0.125000 +vt 1.000000 0.125000 +vn -0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.0051 0.6041 -0.7969 +vn 0.0000 0.6034 -0.7974 +vn -0.0058 0.6502 -0.7597 +vn 0.0045 0.6464 -0.7630 +vn -0.0020 0.6919 -0.7220 +vn 0.0050 0.6874 -0.7263 +vn -0.0003 0.7281 -0.6854 +vn 0.0022 0.7263 -0.6874 +vn 0.0014 0.7621 -0.6475 +vn -0.0006 0.7861 -0.6181 +vn 0.0003 0.7630 -0.6464 +vn 0.0000 0.8048 -0.5935 +vn 0.0028 0.7974 -0.6034 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.3827 0.0000 -0.9239 +vn -0.7071 0.0000 -0.7071 +vn -0.9239 -0.0000 -0.3827 +vn 1.0000 0.0000 0.0000 +vn 0.3827 0.0000 -0.9239 +vn 0.7071 0.0000 -0.7071 +vn 0.9239 0.0000 -0.3827 +vn 0.0017 0.6037 -0.7972 +vn -0.0016 0.6464 -0.7630 +vn 0.0020 0.6476 -0.7620 +vn -0.0019 0.6874 -0.7263 +vn 0.0009 0.6889 -0.7249 +vn -0.0009 0.7263 -0.6874 +vn 0.0003 0.7271 -0.6865 +vn -0.0040 0.7630 -0.6464 +vn -0.0002 0.7555 -0.6551 +vn -0.0013 0.7974 -0.6034 +vn 0.0007 0.7747 -0.6323 +vn 0.0000 0.7994 -0.6008 +s off +f 1/1/1 2/2/1 3/3/1 +f 4/4/1 2/2/1 1/1/1 +f 5/5/2 6/6/2 7/7/2 +f 6/6/2 8/8/2 9/9/2 +f 5/5/2 8/8/2 6/6/2 +f 8/8/2 10/10/2 9/9/2 +f 5/5/2 11/11/2 8/8/2 +f 11/11/2 4/12/2 12/13/2 +f 2/14/2 4/12/2 11/11/2 +f 13/15/2 14/16/2 15/17/2 +f 14/16/2 16/18/2 17/19/2 +f 13/15/2 16/18/2 14/16/2 +f 16/18/2 18/20/2 17/19/2 +f 16/18/2 19/21/2 18/20/2 +f 16/18/2 20/22/2 19/21/2 +f 16/18/2 21/23/2 20/22/2 +f 16/18/2 22/24/2 21/23/2 +f 22/24/2 23/25/2 24/26/2 +f 5/5/2 16/18/2 11/11/2 +f 11/11/2 16/18/2 2/14/2 +f 2/14/2 16/18/2 13/15/2 +f 16/18/2 23/25/2 22/24/2 +f 3/27/3 25/28/3 26/29/3 +f 3/27/3 2/30/3 25/28/3 +f 2/30/3 13/31/3 25/28/3 +f 1/32/2 3/33/2 26/34/2 +f 27/35/2 28/36/2 1/32/2 +f 27/35/2 1/32/2 26/34/2 +f 29/37/2 30/38/2 28/36/2 +f 29/37/2 31/39/2 30/38/2 +f 29/37/2 28/36/2 27/35/2 +f 32/40/2 33/41/2 34/42/2 +f 35/43/2 32/40/2 29/37/2 +f 35/43/2 29/37/2 27/35/2 +f 35/43/2 33/41/2 32/40/2 +f 28/44/3 4/45/3 1/46/3 +f 12/47/3 4/45/3 28/44/3 +f 21/48/4 36/49/4 37/50/4 +f 21/48/5 22/51/5 36/49/5 +f 20/52/6 37/50/6 38/53/6 +f 20/52/7 21/48/7 37/50/7 +f 19/54/8 38/53/8 39/55/8 +f 19/54/9 20/52/9 38/53/9 +f 18/56/10 39/57/10 40/58/10 +f 18/56/11 19/54/11 39/57/11 +f 17/59/12 40/58/12 41/60/12 +f 17/59/13 41/60/13 42/61/13 +f 17/59/14 18/56/14 40/58/14 +f 14/62/15 42/61/15 43/63/15 +f 14/62/16 17/59/16 42/61/16 +f 44/64/3 15/65/3 43/63/3 +f 15/65/3 14/62/3 43/63/3 +f 45/66/3 15/65/3 44/64/3 +f 25/67/17 15/68/17 45/69/17 +f 13/70/17 15/68/17 25/67/17 +f 30/71/17 11/72/17 28/73/17 +f 11/72/17 12/74/17 28/73/17 +f 31/75/3 11/76/3 30/77/3 +f 8/78/3 11/76/3 31/75/3 +f 29/79/1 8/80/1 31/81/1 +f 10/82/1 8/80/1 29/79/1 +f 32/83/3 10/84/3 29/85/3 +f 9/86/3 10/84/3 32/83/3 +f 34/87/17 6/88/17 32/89/17 +f 6/88/17 9/90/17 32/89/17 +f 33/91/3 6/92/3 34/93/3 +f 7/94/3 6/92/3 33/91/3 +f 46/95/17 5/96/17 33/97/17 +f 5/96/17 7/98/17 33/97/17 +f 47/99/18 5/100/18 46/101/18 +f 48/102/18 5/100/18 47/99/18 +f 49/103/18 5/100/18 48/102/18 +f 16/104/18 5/100/18 49/103/18 +f 50/105/2 51/106/2 52/107/2 +f 53/108/2 54/109/2 50/105/2 +f 55/110/2 54/109/2 53/108/2 +f 50/105/2 54/109/2 51/106/2 +f 56/111/2 57/112/2 58/113/2 +f 57/112/2 59/114/2 58/113/2 +f 23/25/2 16/18/2 60/115/2 +f 16/18/2 61/116/2 60/115/2 +f 61/116/2 51/106/2 60/115/2 +f 60/115/2 51/106/2 59/114/2 +f 59/114/2 51/106/2 58/113/2 +f 58/113/2 51/106/2 54/109/2 +f 24/117/3 23/118/3 62/119/3 +f 22/51/17 62/120/17 36/49/17 +f 22/51/17 24/121/17 62/120/17 +f 63/122/19 64/123/19 65/124/19 +f 66/125/19 64/123/19 63/122/19 +f 66/125/19 67/126/19 64/123/19 +f 64/123/19 27/127/19 65/124/19 +f 26/128/19 25/67/19 45/69/19 +f 27/127/19 26/128/19 45/69/19 +f 27/127/19 45/69/19 44/129/19 +f 44/129/19 65/124/19 27/127/19 +f 68/130/17 33/97/17 35/131/17 +f 69/132/17 68/130/17 35/131/17 +f 70/133/17 33/97/17 68/130/17 +f 71/134/17 70/133/17 68/130/17 +f 72/135/17 71/134/17 73/136/17 +f 72/135/17 70/133/17 71/134/17 +f 35/137/3 27/138/3 64/139/3 +f 69/140/3 35/137/3 64/139/3 +f 43/141/20 42/142/20 44/129/20 +f 42/142/20 41/143/20 44/129/20 +f 65/144/20 40/145/20 74/146/20 +f 44/147/20 40/145/20 65/144/20 +f 41/143/20 40/148/20 44/129/20 +f 74/146/21 75/149/21 76/150/21 +f 75/149/21 53/108/21 76/150/21 +f 74/146/21 77/151/21 75/149/21 +f 74/146/21 78/152/21 77/151/21 +f 77/151/21 56/111/21 55/110/21 +f 78/152/21 56/111/21 77/151/21 +f 79/153/21 23/25/21 57/112/21 +f 62/154/21 23/25/21 79/153/21 +f 78/152/21 40/145/21 79/153/21 +f 74/146/21 40/145/21 78/152/21 +f 62/154/21 37/155/21 36/156/21 +f 40/145/21 39/157/21 79/153/21 +f 79/153/21 38/158/21 62/154/21 +f 62/154/21 38/158/21 37/155/21 +f 39/157/21 38/158/21 79/153/21 +f 80/159/17 33/97/17 70/133/17 +f 46/95/17 33/97/17 80/159/17 +f 81/160/18 80/161/18 82/162/18 +f 83/163/18 80/161/18 81/160/18 +f 47/99/18 46/101/18 83/163/18 +f 83/163/18 46/101/18 80/161/18 +f 16/104/18 84/164/18 61/116/18 +f 16/104/18 49/103/18 84/164/18 +f 49/103/18 48/102/18 84/164/18 +f 48/102/18 47/99/18 84/164/18 +f 85/165/1 86/166/1 87/167/1 +f 88/168/1 89/169/1 90/170/1 +f 91/171/1 89/169/1 88/168/1 +f 86/166/1 92/172/1 91/171/1 +f 85/165/1 92/172/1 86/166/1 +f 91/171/1 92/172/1 89/169/1 +f 84/164/1 93/173/1 61/116/1 +f 89/169/1 51/106/1 93/173/1 +f 93/173/1 51/106/1 61/116/1 +f 92/172/1 51/106/1 89/169/1 +f 92/174/3 52/175/3 51/176/3 +f 94/177/3 52/175/3 92/174/3 +f 76/150/2 53/108/2 52/107/2 +f 53/108/2 50/105/2 52/107/2 +f 95/178/2 53/108/2 96/179/2 +f 55/110/2 53/108/2 95/178/2 +f 55/110/2 58/113/2 54/109/2 +f 56/111/2 58/113/2 55/110/2 +f 57/112/2 97/180/2 98/181/2 +f 57/112/2 56/111/2 97/180/2 +f 57/112/2 23/25/2 59/114/2 +f 23/25/2 60/115/2 59/114/2 +f 68/182/3 67/183/3 66/184/3 +f 71/185/3 99/186/3 100/187/3 +f 71/185/3 66/184/3 99/186/3 +f 71/185/3 68/182/3 66/184/3 +f 68/188/22 64/189/22 67/190/22 +f 68/188/22 69/191/22 64/189/22 +f 74/192/3 76/193/3 52/175/3 +f 65/194/3 74/192/3 52/175/3 +f 63/195/3 65/194/3 52/175/3 +f 101/196/3 52/175/3 94/177/3 +f 101/196/3 63/195/3 52/175/3 +f 102/197/3 101/196/3 94/177/3 +f 103/198/3 94/177/3 104/199/3 +f 103/198/3 102/197/3 94/177/3 +f 101/200/17 66/125/17 63/122/17 +f 99/201/17 66/125/17 101/200/17 +f 105/202/22 106/203/22 107/204/22 +f 108/205/22 106/203/22 105/202/22 +f 109/206/22 107/204/22 106/203/22 +f 110/207/22 109/206/22 111/208/22 +f 110/207/22 107/204/22 109/206/22 +f 112/209/22 110/207/22 111/208/22 +f 72/210/22 107/204/22 110/207/22 +f 113/211/22 72/210/22 110/207/22 +f 70/212/22 113/211/22 114/213/22 +f 70/212/22 72/210/22 113/211/22 +f 72/214/3 115/215/3 107/216/3 +f 72/214/3 73/217/3 115/215/3 +f 71/218/2 100/219/2 115/220/2 +f 73/221/2 71/218/2 115/220/2 +f 57/222/18 98/223/18 79/224/18 +f 98/225/17 78/226/17 79/227/17 +f 98/225/17 97/228/17 78/226/17 +f 97/229/3 56/230/3 78/231/3 +f 55/232/18 95/233/18 77/234/18 +f 95/235/17 75/236/17 77/237/17 +f 95/235/17 96/238/17 75/236/17 +f 96/239/3 53/240/3 75/241/3 +f 116/242/17 70/133/17 117/243/17 +f 80/159/17 70/133/17 116/242/17 +f 118/244/18 116/245/18 119/246/18 +f 120/247/18 116/245/18 118/244/18 +f 82/162/18 116/245/18 120/247/18 +f 82/162/18 80/161/18 116/245/18 +f 47/99/18 83/163/18 84/164/18 +f 84/164/18 81/160/18 87/167/18 +f 83/163/18 81/160/18 84/164/18 +f 81/160/18 82/162/18 87/167/18 +f 86/166/1 88/168/1 87/167/1 +f 86/166/1 91/171/1 88/168/1 +f 88/168/1 84/164/1 87/167/1 +f 88/168/1 90/170/1 84/164/1 +f 89/169/1 93/173/1 90/170/1 +f 90/170/1 93/173/1 84/164/1 +f 87/167/18 119/246/18 85/165/18 +f 87/167/18 118/244/18 119/246/18 +f 82/162/18 120/247/18 87/167/18 +f 87/167/18 120/247/18 118/244/18 +f 92/248/22 121/249/22 94/250/22 +f 121/249/22 122/251/22 123/252/22 +f 92/248/22 122/251/22 121/249/22 +f 122/251/22 124/253/22 123/252/22 +f 125/254/22 126/255/22 127/256/22 +f 128/257/22 126/255/22 125/254/22 +f 129/258/22 119/259/22 130/260/22 +f 85/261/22 119/259/22 129/258/22 +f 92/248/22 85/261/22 129/258/22 +f 92/248/22 129/258/22 128/257/22 +f 92/248/22 128/257/22 125/254/22 +f 92/248/22 125/254/22 122/251/22 +f 102/262/23 115/263/23 101/200/23 +f 107/264/23 115/263/23 102/262/23 +f 100/265/23 99/201/23 115/263/23 +f 115/263/23 99/201/23 101/200/23 +f 131/266/23 105/267/23 132/268/23 +f 105/267/23 107/264/23 132/268/23 +f 132/268/23 107/264/23 133/269/23 +f 102/262/23 133/269/23 107/264/23 +f 94/250/22 121/249/22 104/270/22 +f 121/249/22 123/252/22 104/270/22 +f 103/271/24 134/272/24 102/273/24 +f 134/272/24 135/274/24 102/273/24 +f 136/275/24 133/269/24 137/276/24 +f 137/276/24 133/269/24 135/277/24 +f 135/277/24 133/269/24 102/262/24 +f 123/252/25 138/278/25 104/270/25 +f 138/278/25 103/271/25 104/270/25 +f 138/278/25 139/279/25 103/271/25 +f 124/253/25 140/280/25 139/279/25 +f 127/256/25 140/280/25 124/253/25 +f 139/279/25 140/280/25 103/271/25 +f 126/255/25 130/260/25 141/281/25 +f 130/260/25 142/282/25 141/281/25 +f 143/283/25 144/284/25 142/282/25 +f 142/282/25 145/285/25 141/281/25 +f 144/284/25 145/285/25 142/282/25 +f 145/285/25 146/286/25 141/281/25 +f 141/281/25 134/272/25 140/280/25 +f 140/280/25 134/272/25 103/271/25 +f 146/286/25 134/272/25 141/281/25 +f 117/287/3 114/288/3 147/289/3 +f 70/290/3 114/288/3 117/287/3 +f 147/291/17 113/292/17 148/293/17 +f 114/294/17 113/292/17 147/291/17 +f 148/295/3 110/296/3 149/297/3 +f 113/298/3 110/296/3 148/295/3 +f 149/299/1 112/209/1 150/300/1 +f 110/207/1 112/209/1 149/299/1 +f 150/301/3 111/302/3 151/303/3 +f 112/304/3 111/302/3 150/301/3 +f 151/305/17 109/306/17 152/307/17 +f 111/308/17 109/306/17 151/305/17 +f 152/309/3 106/310/3 153/311/3 +f 109/312/3 106/310/3 152/309/3 +f 153/313/1 108/314/1 154/315/1 +f 106/316/1 108/314/1 153/313/1 +f 154/317/3 131/318/3 155/319/3 +f 108/320/3 131/318/3 154/317/3 +f 108/320/3 105/321/3 131/318/3 +f 147/322/22 116/242/22 117/243/22 +f 150/323/22 147/322/22 148/324/22 +f 150/323/22 116/242/22 147/322/22 +f 149/325/22 150/323/22 148/324/22 +f 151/326/22 116/242/22 150/323/22 +f 154/327/22 151/326/22 152/328/22 +f 153/329/22 154/327/22 152/328/22 +f 156/330/22 155/331/22 157/332/22 +f 119/259/22 156/330/22 158/333/22 +f 119/259/22 155/331/22 156/330/22 +f 159/334/22 119/259/22 158/333/22 +f 160/335/22 119/259/22 159/334/22 +f 161/336/22 119/259/22 160/335/22 +f 162/337/22 119/259/22 161/336/22 +f 163/338/22 119/259/22 162/337/22 +f 130/260/22 163/338/22 164/339/22 +f 119/259/22 116/242/22 151/326/22 +f 119/259/22 151/326/22 154/327/22 +f 119/259/22 154/327/22 155/331/22 +f 130/260/22 119/259/22 163/338/22 +f 128/257/22 130/260/22 126/255/22 +f 129/258/22 130/260/22 128/257/22 +f 127/256/22 165/340/22 166/341/22 +f 127/256/22 126/255/22 165/340/22 +f 122/251/22 125/254/22 124/253/22 +f 125/254/22 127/256/22 124/253/22 +f 167/342/22 124/253/22 168/343/22 +f 123/252/22 124/253/22 167/342/22 +f 157/344/3 136/345/3 156/346/3 +f 133/347/3 136/345/3 157/344/3 +f 157/344/3 132/348/3 133/347/3 +f 155/349/17 131/266/17 157/350/17 +f 131/266/17 132/268/17 157/350/17 +f 162/351/5 143/352/5 163/353/5 +f 144/354/26 143/352/26 162/351/26 +f 161/355/27 144/354/27 162/351/27 +f 145/356/28 144/354/28 161/355/28 +f 160/357/29 145/356/29 161/355/29 +f 146/358/30 145/356/30 160/357/30 +f 159/359/31 146/360/31 160/357/31 +f 134/361/32 146/360/32 159/359/32 +f 135/362/33 159/359/33 158/363/33 +f 135/362/34 134/361/34 159/359/34 +f 137/364/35 158/363/35 156/346/35 +f 137/364/36 135/362/36 158/363/36 +f 136/345/37 137/364/37 156/346/37 +f 142/365/3 130/366/3 164/367/3 +f 143/352/17 164/368/17 163/353/17 +f 143/352/17 142/369/17 164/368/17 +f 138/370/3 123/371/3 167/372/3 +f 139/373/17 167/374/17 168/375/17 +f 139/373/17 138/376/17 167/374/17 +f 124/377/18 139/378/18 168/379/18 +f 140/380/3 127/381/3 166/382/3 +f 141/383/17 166/384/17 165/385/17 +f 141/383/17 140/386/17 166/384/17 +f 126/387/18 141/388/18 165/389/18 diff --git a/mymillwork/nodes.lua b/mymillwork/nodes.lua new file mode 100644 index 0000000..98049df --- /dev/null +++ b/mymillwork/nodes.lua @@ -0,0 +1,393 @@ +mymillwork.registered = {} + +mymillwork.nodes = { + { suffix = "crownmould", + model = "mymillwork_mach1.obj", + mdesc = "Crown Mould", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, 0.125, 0.5, -0.125, 0.375}, + {-0.5, -0.375, 0.375, 0.5, 0.5, 0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, 0.125, 0.5, -0.125, 0.375}, + {-0.5, -0.375, 0.375, 0.5, 0.5, 0.5}, + } + }, + }, + + { suffix = "crownmould_ic", + model = "mymillwork_mach2.obj", + mdesc = "Crown Mould IC", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, 0.125, 0.375, -0.125, 0.375}, + {0.125, -0.375, -0.5, 0.375, -0.125, 0.125}, + {-0.5, -0.375, 0.375, 0.5, 0.5, 0.5}, + {0.375, -0.375, -0.5, 0.5, 0.5, 0.375}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, 0.125, 0.375, -0.125, 0.375}, + {0.125, -0.375, -0.5, 0.375, -0.125, 0.125}, + {-0.5, -0.375, 0.375, 0.5, 0.5, 0.5}, + {0.375, -0.375, -0.5, 0.5, 0.5, 0.375}, + } + }, + }, + + { suffix = "crownmould_oc", + model = "mymillwork_mach3.obj", + mdesc = "Crown Mould OC", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, 0.125, -0.125, -0.125, 0.5}, + {-0.5, -0.125, 0.375, -0.375, 0.5, 0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, 0.125, -0.125, -0.125, 0.5}, + {-0.5, -0.125, 0.375, -0.375, 0.5, 0.5}, + } + }, + }, + + { suffix = "crownmould_beam", + model = "mymillwork_mach4.obj", + mdesc = "Crown Mould with Beam", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, 0.125, 0.5, -0.125, 0.375}, + {-0.25, -0.375, -0.5, 0.25, -0.1875, 0.125}, + {-0.5, -0.375, 0.375, 0.5, 0.5, 0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, 0.125, 0.5, -0.125, 0.375}, + {-0.25, -0.375, -0.5, 0.25, -0.1875, 0.125}, + {-0.5, -0.375, 0.375, 0.5, 0.5, 0.5}, + } + }, + }, + + { suffix = "column", + model = "mymillwork_mach5.obj", + mdesc = "Column", + sbox = { type = "fixed", + fixed = {{-0.5,-0.5,-0.5,0.5,0.5,0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5,-0.5,-0.5,0.5,0.5,0.5}, + } + }, + }, + + { suffix = "column_base", + model = "mymillwork_mach6.obj", + mdesc = "Column Base", + sbox = { type = "fixed", + fixed = {{-0.5,-0.5,-0.5,0.5,0.5,0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5,-0.5,-0.5,0.5,0.5,0.5}, + } + }, + }, + + { suffix = "column_half", + model = "mymillwork_mach7.obj", + mdesc = "Half Column", + sbox = { type = "fixed", + fixed = {{-0.5,-0.5,0.0,0.5,0.5,0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5,-0.5,0.0,0.5,0.5,0.5}, + } + }, + }, + + { suffix = "column_half_base", + model = "mymillwork_mach8.obj", + mdesc = "Half Column Base", + sbox = { type = "fixed", + fixed = {{-0.5,-0.5,0.0,0.5,0.5,0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5,-0.5,0.0,0.5,0.5,0.5}, + } + }, + }, + + { suffix = "column_half_wbeam", + model = "mymillwork_mach9.obj", + mdesc = "Half Column Base With Beam", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, 0.0, 0.5, 0.5, 0.5}, + {-0.25, -0.375, -0.5, 0.25, -0.1875, 0.0}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, + {-0.5, -0.375, 0.0, 0.5, 0.5, 0.5}, + {-0.25, -0.375, -0.5, 0.25, -0.1875, 0.0}, + } + }, + }, + + { suffix = "column_quarter", + model = "mymillwork_mach10.obj", + mdesc = "Quarter Column", + sbox = { type = "fixed", + fixed = {{-0.5,-0.5,0,0,0.5,0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5,-0.5,0,0,0.5,0.5}, + } + }, + }, + + { suffix = "column_quarter_base", + model = "mymillwork_mach11.obj", + mdesc = "Quarter Column Base", + sbox = { type = "fixed", + fixed = {{-0.5,-0.5,0,0,0.5,0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5,-0.5,0,0,0.5,0.5}, + } + }, + }, + + { suffix = "column_quarter_wbase", + model = "mymillwork_mach12.obj", + mdesc = "Quarter Column Base Baseboard", + sbox = { type = "fixed", + fixed = {{-0.5,-0.5,0,0,0.5,0.5}, + {0.0, -0.5, 0.4375, 0.5, -0.1875, 0.5}, + {-0.5, -0.5, -0.5, -0.4375, -0.1875, 0.0}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5,-0.5,0,0,0.5,0.5}, + {0.0, -0.5, 0.4375, 0.5, -0.1875, 0.5}, + {-0.5, -0.5, -0.5, -0.4375, -0.1875, 0.0}, + } + }, + }, + + { suffix = "column_quarter_fancybase", + model = "mymillwork_mach13.obj", + mdesc = "Quarter Column Base Fancy Baseboard", + sbox = { type = "fixed", + fixed = {{-0.5,-0.5,0,0,0.5,0.5}, + {0.0, -0.5, 0.3125, 0.5, 0.1875, 0.5}, + {-0.5, -0.5, -0.5, -0.3125, 0.1875, 0.0}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5,-0.5,0,0,0.5,0.5}, + {0.0, -0.5, 0.3125, 0.5, 0.1875, 0.5}, + {-0.5, -0.5, -0.5, -0.3125, 0.1875, 0.0}, + } + }, + }, + + { suffix = "ceiling", + model = "mymillwork_mach14.obj", + mdesc = "Ceiling", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + } + }, + }, + + { suffix = "ceiling_post", + model = "mymillwork_mach15.obj", + mdesc = "Ceiling with Post", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + {-0.125, -0.4375, -0.125, 0.125, 0.5, 0.125}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + {-0.125, -0.4375, -0.125, 0.125, 0.5, 0.125}, + } + }, + }, + + { suffix = "beam", + model = "mymillwork_mach16.obj", + mdesc = "Beam", + sbox = { type = "fixed", + fixed = {{-0.25, -0.5, -0.5, 0.25, -0.1875, 0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.25, -0.5, -0.5, 0.25, -0.1875, 0.5}, + } + }, + }, + + { suffix = "beam_t", + model = "mymillwork_mach17.obj", + mdesc = "Beam T", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.25, -0.25, -0.1875, 0.25}, + {-0.25, -0.5, -0.5, 0.25, -0.1875, 0.5}, + {0.25, -0.5, -0.25, 0.5, -0.1875, 0.25}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.25, -0.25, -0.1875, 0.25}, + {-0.25, -0.5, -0.5, 0.25, -0.1875, 0.5}, + {0.25, -0.5, -0.25, 0.5, -0.1875, 0.25}, + } + }, + }, + + { suffix = "beam_ceiling_t", + model = "mymillwork_mach18.obj", + mdesc = "Ceiling with Beam T", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + {-0.5, -0.4375, -0.25, -0.25, -0.1875, 0.25}, + {-0.25, -0.4375, -0.5, 0.25, -0.1875, 0.5}, + {0.25, -0.4375, -0.25, 0.5, -0.1875, 0.25}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, + {-0.5, -0.4375, -0.25, -0.25, -0.1875, 0.25}, + {-0.25, -0.4375, -0.5, 0.25, -0.1875, 0.5}, + {0.25, -0.4375, -0.25, 0.5, -0.1875, 0.25}, + } + }, + }, + + { suffix = "base", + model = "mymillwork_mach19.obj", + mdesc = "Baseboard", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5}, + } + }, + }, + + { suffix = "base_ic", + model = "mymillwork_mach20.obj", + mdesc = "Baseboard IC", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5}, + {-0.5, -0.5, -0.5, -0.4375, -0.1875, 0.4375}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5}, + } + }, + }, + + { suffix = "base_oc", + model = "mymillwork_mach21.obj", + mdesc = "Baseboard OC", + sbox = { type = "fixed", + fixed = {{0.4375, -0.5, 0.4375, 0.5, -0.1875, 0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, 0.4375, 0.5, -0.1875, 0.5}, + } + }, + }, + + { suffix = "base_fancy", + model = "mymillwork_mach22.obj", + mdesc = "Fancy Baseboard", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, 0.3125, 0.5, 0.1875, 0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, 0.3125, 0.5, 0.1875, 0.5}, + } + }, + }, + + { suffix = "base_fancy_ic", + model = "mymillwork_mach23.obj", + mdesc = "Fancy Baseboard IC", + sbox = { type = "fixed", + fixed = {{-0.5, -0.5, 0.3125, 0.5, 0.1875, 0.5}, + {-0.5, -0.5, -0.5, -0.3125, 0.1875, 0.3125}, + } + }, + cbox = { type = "fixed", + fixed = {{-0.5, -0.5, 0.3125, 0.5, 0.1875, 0.5}, + {-0.5, -0.5, -0.5, -0.3125, 0.1875, 0.3125}, + } + }, + }, + + { suffix = "base_fancy_oc", + model = "mymillwork_mach24.obj", + mdesc = "Fancy Baseboard OC", + sbox = { type = "fixed", + fixed = {{0.3125, -0.5, 0.3125, 0.5, 0.1875, 0.5}, + } + }, + cbox = { type = "fixed", + fixed = {{0.3125, -0.5, 0.3125, 0.5, 0.1875, 0.5}, + } + }, + }, + +} + +function mymillwork.register(material, node_suffix, desc, image, group) + + for __, data in ipairs(mymillwork.nodes) do + mymillwork.register_all(data.suffix, data.model, data.mdesc, data.sbox, data.cbox, + node_suffix, material, desc, image, group) + end + +end + +function mymillwork.register_all(suffix, model, mdesc, sbox, cbox, node_suffix, material, desc, image, group) + + minetest.register_node("mymillwork:" .. suffix .. "_" .. node_suffix, { + description = desc .. " " .. mdesc, + drawtype = "mesh", + mesh = model, + tiles = { image }, + selection_box = sbox, + collision_box = cbox, + paramtype = "light", + paramtype2 = "facedir", + groups = group, + on_place = minetest.rotate_node, + }) + + table.insert(mymillwork.registered, {material, node_suffix}) + +end diff --git a/mymillwork/register.lua b/mymillwork/register.lua deleted file mode 100644 index fd9c8b8..0000000 --- a/mymillwork/register.lua +++ /dev/null @@ -1,104 +0,0 @@ - -mymillwork.register_all( - "default_stone", - "Stone", - "default_stone.png", - {cracky = 3,not_in_creative_inventory=1}, - "default:stone" - ) - -mymillwork.register_all( - "default_stone_brick", - "Stone Brick", - "default_stone_brick.png", - {cracky = 3,not_in_creative_inventory=1}, - "default:stonebrick" - ) - -mymillwork.register_all( - "default_cobble", - "Cobble", - "default_cobble.png", - {cracky = 3,not_in_creative_inventory=1}, - "default:cobble" - ) - -mymillwork.register_all( - "default_desert_stone", - "Desert Stone", - "default_desert_stone.png", - {cracky = 3,not_in_creative_inventory=1}, - "default:desert_stone" - ) - -mymillwork.register_all( - "default_sandstone", - "Sandstone", - "default_sandstone.png", - {crumbly=2, cracky = 3, not_in_creative_inventory=1}, - "default:sandstone" - ) - -mymillwork.register_all( - "default_clay", - "Clay", - "default_clay.png", - {crumbly=3,not_in_creative_inventory=1}, - "default:clay" - ) - -mymillwork.register_all( - "default_wood", - "Wood", - "default_wood.png", - {choppy = 3,not_in_creative_inventory=1}, - "default:wood" - ) - -mymillwork.register_all( - "default_junglewood", - "Jungle Wood", - "default_junglewood.png", - {choppy=2,oddly_breakable_by_hand=2,flammable=2,not_in_creative_inventory=1}, - "default:junglewood" - ) - -mymillwork.register_all( - "default_pine_wood", - "Pine Wood", - "default_pine_wood.png", - {choppy = 3,not_in_creative_inventory=1}, - "default:pine_wood" - ) - -mymillwork.register_all( - "default_acacia_wood", - "Acacia Wood", - "default_acacia_wood.png", - {choppy = 3,not_in_creative_inventory=1}, - "default:pine_acacia" - ) - -mymillwork.register_all( - "default_aspen_wood", - "Aspen Wood", - "default_aspen_wood.png", - {choppy = 3,not_in_creative_inventory=1}, - "default:aspen_wood" - ) - -mymillwork.register_all( - "default_coal_block", - "Coal Block", - "default_coal_block.png", - {cracky = 3,not_in_creative_inventory=1}, - "default:coalblock" - ) - -mymillwork.register_all( - "default_obsidian", - "Obsidian", - "default_obsidian.png", - {cracky = 1,not_in_creative_inventory=1}, - "default:obsidian" - ) diff --git a/mymillwork/screenshot.png b/mymillwork/screenshot.png index e301c2f92b4ee01946a169673065df13d51cf92c..3a5ff68dae202e420b8f610806b10e747484cc5d 100644 GIT binary patch literal 276654 zcmV)zK#{+RP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3*tk{r2_h5zFea|Aec90#k}++dDB-$N!zk=>G+ zWMXxbRavnhe0hr_-1)!%z3zYbQ-T$ja&4uT;`x($>S6Fr^PfMTf6b@&_xm%V58qFJ z``q;(-v<7T{2M>NDChI94L;AmPN?bo`TYHJSJ&s8(7qS?{^EOIA9ZJa|2?jKFBHS) zb4$Ng^jUKHhsXK;AJ+G>-;4kGbE*VmXRa563nvYMgTIZxL+nAHbiU8A z@^_5(_px(7zx^Y4z5aZ}-(u&-_lWp=D4Z|f1IiyU`hITtkI#QxP!ama71^(>{q~D! z_G3+diQT=s-FrSyH&P)|#eE;jK1=v4g99g_jPJCqSc^gLt<6_1cfBABM_u+r?_47jas&vg1Oj2*31P9eL%TVU@H%E~WyWhO!Z+!W3 zKhyf_j}jZnV18k4JmB#2bBUSlS8c_Y=g4u{C+9z{VRe5mK!~_^W-(NEGG8oaE9Pqm z)r>ec@-tX@h$&1mU^$0v?vk4r3(09g_vV~x@7R#T=VPFSMC4d#lBRYcSt(`er=~^? zjU01wIp>mVZn@`CVo4>JQfd)KjT&pJxt3aMtG$jETWYzLR$FVmjUIXg!g4RYy54&4 zV{p^Kr3YsZju>Nx8E2Y#mRV<;eU3%>thDkftFE^C8awQ`Y5!ezb-V4p$FV~xopkak zr=E8D8JAkS@ur(^x%IZ&@A#RuZ&rWLn*EWvf1Ne^W=$DO@3{IaYkXYmk4u=~Br9iR zEF>f2RT-e5gL3AZr4*Do<;?d$Q{+I_EGs$Nlrb`xj)i>fXYPJw?qBB3<@9gmE&Q|0 zIi>EukvXT-eKYshy!}nq_IQjEUxL(yim8tmV7rmKryE1Ab=`gAsyh&y;v0|K076?k z)>_gjqvf+#>(&;~cy>M`RaRx)c@Bze68avO-8p!!!gY@C_ndwSD^0|cjS4W)aghTy zElJ92s4d$reRl7-{sKd%K{d_Vr8H-Yo1iY9Y7KZZc9zc4cIuO;bI}w=7hdkRMx05Ka$W9QpYO{bu6wGOL7dPgd9rzBEP3&#eo&x|MYtC^W zKA@;rY)j)DO?LCjvCjjIH-F}?d=BgPwigjyNoVAcE_K1d>+})b$;${u z?5Ffq55Zd{W%0?$b5X(*vTd7^SpB41==|CY*>ZCV0qP?b)Cf&m(;~t(u%vZKeqVmC zV=t&S%C)ki(ITRtF+qhp*3wTkS@{$ix$2G*zaZ2-bybx?_CrkpA_U6Z*IWC%o$Cyp zOoYIj)lG#l0*F@^1v%nz)D!`_Aq)_3m3=lqS7Qkd>r9&O%LzMN~G{6jyi*~2|XqFk2wKDsn z9`_96);(x{BWvUyAWF2d2XJO*K?-~YOo&TG)3#Zpm3o(~xNdLN#GxZ{(i!079{1dV zj-eC=&*N#ZK$)>T(DCrtt&LLXu};P*4mtqEmdXKuJJr;WFE`Qz@WR&9?|LcxNXdF3C#&sX%6@+09vY#`*^~^5{97f16BZ#!kol$ zPl|+QXOWz9&he@;bj_@pn5W!&Nm}qc6~?+XWtYG`SeEvu3w@Emq2b7W7-0O=gV8)% zD@fEY;>3B>*+-b`3H<&28r#`M2Mm7YoNyvuN=G;7^2>5gPsy3^5q}A3W9O=oc^pJ&<9+6KL@9x=A7#iccNRgG3>q zo5T~GGp%QuF;@=v0e+-wii7BPW<4jvjV!ld7Wyqd^y{hkut2ZZ_ZEOjz&=9}GFx;8 zXaW!W)fxrajBL=-QP)8s9T*OV!JAOao9qUw;;|&pLRF)kcyv+*o6}LM&vN($R+PYv zK);6^0q_8qKvM#&u?{`a0vfH=puXk*gY7{)RQd#scUP-rusm}>2pCB3ZwPL0xDFD< zZy_o!asw`;TgQ6t8PPBl5^-BaGp$yVQE$E;WKEZDAVsIj28)I)CTQhX1aX1WODji=!JQevGDX&C8rhbwve+c&7$B%RMCdV>s}mnsozfdrF6S1 z(iUVPaz2es_hy7gK=TkEl*T}bG{_8n0360%&*x#sPLu(%7NHk!gGFd}L|yC#ITXao znkdkcd4Tk2aKNUZG;O@vgaDVyNco|>cP46Ub9*W~(V3_N^;m+*vZ$OQL6f$V5#1VQV`oLBV#eNK~LS#^^$JUSV+4OAqu8hl7HPpqvc$-28PPQX(` zMwumqI?K^>1cBrg*Q6?01H>bZDR5LZwVViJqa`~ziC6$Ma?memI_P~57|{3xwCqqp zF5IKk=mPvl;>DvZoOE#%a+Z$J;sMv}XLtq*u7uXnfy=i{S$Fz+RjCPp4-r8=A|2H` zavK?5z^VvmKrB09hAdOqNSqT(hlAt;?llBr3jtV=Uz3&W4!%6Xbz*Z$zM3meKLv7# zLMZI91(L~^f-1&3rviEes*B#kSpx(eYB1Nj>Vpy@(osqTq#)do2~UZ(M0zKb1I8G^ zI4UP&t5EXT63e*fAXADDbZ|Zz5`i5%CcKz*J8GBsAOP!PdBWfV$-#i~AedAX7TN{N z0O_nrg&=wzmA@M z0Y#sH%fuZAeyA;?Uj?xXKQ<-X;UL(Mp3MVRY8QAZ8K*`|0EK-cYp7J{F(cUFBYq7` z5Cg>Uf*)BYDi@7`vLy|;yOgMV5jjAjyb`Ly2W}Pkoj9}-ND3u|t*XP&Epuy12AU(S zX~@8>`~=*j=pj@%4vqpza5QCK7fjEJb=PCee4s`@u!g0|%0fZZ#oAqy6QmB8IU0v& zI7Op4bg73p$&f>dut3EXFMyJXLU|2DRG$G#1B{Sc^7;udgW6Ghm)n3$usD*YLxaaV zNEoI@2V>qy7XpU+S(!!V9vY>zS=yz}@H7b>Pkq8txWb+eWmTjCcGwPrx+VIFL>`{U zL(CyC)+xibA>(H{y`vo@{u{M2@ieeK!Nko{8jut|`x*oZzr2)WQh?H=fW;G(NqxSN zu1BH-!jF^{Tyh>r2JmcFXf3h6Hm{?;L7zz~Z~$dWecbul#)u?#w*}yoZl=_PDf|Q| z!zP3g$qM!m7%0q9C%6za1lh-)pm=Cu1TCJMJCd<6<=Eg!wCoLtdH9Fh0*u&QK+mh# z+Hw$L9K;4|!ODmaVhiY{)j*mJzS0)rMLG?4WD(HAKT*V(r|vZjN>EMAZfb16b58WM zXSD=y;)9UI4RaV^Opvh5KnG*7KO?`(X&Qm!iVS5FbBS1-1D;Tz zC=IR+zv28K6ohA?>Yo|_+IIy;5h_rSKQ2|3pu{^xT+lSI8bymL8${!146haA@Fv`f zEyaT*To+z~!l@?Grd67|ER&KV0tnh}d@UM5LkK)K(s%Nd2%e*1GvX6iq!829w1U#Y z|EH?C|8k8G6Gn(IA5Bo7i|!9^)kT18l3uG3)SdR!0TP9#4`px^?Ll*5B7j;u$aS7A zdNLOlzRD)}`d9=?LUMRDdff$D2oNfclm=eplUfU5_Kit#MT;F7fn4_}*aQR(%9!Ny zGon$O8{q^RMH!tG5IL+!6A(B;&{)hZ4se?U$()BzS#_fZr4U6t$JYjhkka z2&uiW5Slh{Sw9fT8i`PF0TRWwyn!Wfi=pF!v@7l$hS|@!3(xabb=KQJ21g)-51_cF z4Dc5^IAI#2^ct+LkVB`-S~w*r!}E#~Y&1zaX^1ScenDpW0d{86l# zlEYxu7CC1a)drm&K?X_`FBXFs($T$Gx~BslQ>9O>qC^cGt5~?!Njfr94jm8##qf>6 zhl~I_{N`YtCK@st{3a7gl(zf`b+W+wi7rzaZ1Em^uo}EXomZI(G{WF#GDbbpLv^_J zrdL_w-EvEKDni~ONW0WXBcK^J7pGpNY{!0MUuuy`Yd1kX=*!zz%E2_&1J^@D3%!+EDLQ zUxeoXhu6PxWVXDOr(0K=)>OriVTcQ@O~~XAXyS!uZB=v; z;JXr-1rYJ0CRgZL7;<`qZ^T?1A#dt(*z*mpKqaV(dT|!zinKWcI+GacBa?)4lK`5M zqj@R}HZ-XT%S7sEdEEnK18&fX$UkJwAoK<)9`j9eB+Lx=$f$D!MT^uF35WRUt%VjV zpZ6HR6^t|RSBUHCCpx^9a+qf~FGCY~w%vsrY8B`RJJTZzD;=RBHV&W=GQ}gW7sh1Z zg{eA6Tv5IxDnNE#V;yNa5n4kIHZVxD744=2Jd!14YF-DrP~_86LpBB!xTC%?3MjZy zqNcD=HO#d{o2-p2f_G7($Yo5pChq>aPLbn)Gvan%L<^Fm7e2sE zq6h)VQM7{xjuA&t9|5v8P=KPUM^C>uK3YDmg|WrDEQHj;Cw{jm8A~a^rM(eK#Mxdl zd9*K12FBw_i3e;@swTpKsk>SGR`8im8h})d1L_2JMSo(yA?VRvWlRAoP43XQRSiPL zgpaSU z+FCTlI2lRadG@M#m_{%_n_6T>0zjDnY$zX%U>Z6>vixp!czf!*YX?q@yfKC=h|fP; zDoZ=k;Ectr5q1KsqmwPtxB;}K!qEd&GK0#;Oi@sy*V@T7P9jH2L2*P%wt#_dcO5FEAC1k4znG-}i9LL1i)jcHr%6=V!&rK>z3%Qkv)mN3_P@r1i*;u+(Bzoye%`YEHC?iI>;4%C*|RHJE13z0Snp|o*uFbz8d(eB>i*J0sCXARCao9vXu>>%Dr(ZcV&Zrr0}}5yEt02GP0F>(0&4s#pL3^nYuwwfgM=VwXhqTi20Tgz z#ueFgCM{7gUWUKplA2n|870kgX%IY>Muh`UOM7a&%#6;Dm?+e?L|)O94e)6aX9$6T zK171`E|-|!tdH!WxpCAOUYF%*D329{tRJyvSW>Sk=31qaGt6s%WoAvpV9CLbz14md zh`@3}xC6URS3|}@dxCg zHPb?50xN!Pk%P&m(!%sA!WMmGNPvk#LgQlnDafnA1*aITe92Te5I>bbNVKPQD-r|* zQ@ER2rS#*Y!-fGOxkFtCi#6qII?P|`cHZ&ErQ zB|$qBT@UUVsCRG^-GdF)-drbBbVfvSpaszr!1Z#fs!{Re86Iiq9b$|4EvNb<6Nk-0 zB~CJ2W)m!f?6m9w9J3rOl1ITqv5`SZZ8_HR_T$KII(i`_N6bikhUbo>eLQ^2G@K4e z2P?Gmwxy8pj@>0Zo#s?@4OqTONkKWWCZz7r3{3AIKzkeL!Si*&h5`CAt{5-6O)uDF z?}TzigLzPocx#t{YC?eogf8``J!QRJL9oRDppmw=ApeCemYPRf!P?UWe07SN0~X!Q z>XPdyV4g{4k~#YI^rbCDi3@7SQ1ul$6&ls4-AnX?>xt&$6W|lrE_&xj`g{v&GPK{| zfu=cL($MH?E0Q`l#3h9sIBFp{!p;;V;*$vAQKt4RsZ>Y~9D+OE-UalAdV)JB0~{Q} zCwymiOH$9%IU5vpntnrV6;qSm4w5gBDMvysI3iekqEA$%9s%n$Df3zbZ6nU3XTkit zi)%!7V*$AB4uF5dUPEP??Ev+;*i`#!R+eU`eY0L>iF#VxCh81_0Vf=DriT_nJ-3as zrWp~*{pk&DJ`TW}@AwfN`7!C*NwL;$s9$)%^=cR5$i;*~?zQEsGVyH!ry1vqf{qyr z6ZK96SOPqCy&t1vZl|rlV-TWGhxEi2cSsyxQ}jX)))xJ`G?qk6v0k){8t>!QN;ga$MVbz*dIC3VZyWQ`;jx(_4g z?i>0xa*B`lj2FF`Tv~9q=7O8?PYP6HnITzLy|ZZmWxLQ z3hPLx0KpvUomdctUX&ynU3*6d#Z>I;u79z121L4lF(zvKHt=Z99(8 zO9?6%3Qd2RUWh`TV(Yc>O!IJ(UJ*bp;Ag`iFO)@TRhzDQ3j>m;j*iKIr=Up|ClH*b z_f(KusBOJc#U+Qbfgh*xP@gn(((8`eOTBtgX62EzyADH;ehh{MEII^oqBi7D(z_vQ z7OlF_N{zBS8W<7-jq~;9`4VOLZraTPtn~s#@ET@rjo69pwQ|nJ#FQ?q&=xUZ^i}+zaF}!iDI(pEn2)ItS~Z zrj4fegfyZf|5y;c%kT*}WZ|_rM0wJf3sHx5E*kNU8Ng~>-`$*qhwR;nc(lp$5^8Uz zc;scM1;|BH63YO`(R-69Kd3dp?d=$)`+120pn~ijg?3-M;D2OWFQ?o>?N#lUKw(}l zFala$1d(3Y3&}(>!340=?lc&@;^cWM^*OA8X+2aW^~ zmmhX0f2f(cxqAe%hh)f1b^(a+@WV`xPe1(>|F8e^{{R3*3JD*6Jl@_u001zbfY4cm%N48e_a?00u-t zWR?r%^btg2;BpNe#*-^XN^r~SQN!(vnh%~e)QhAP1Ce(`bMn_UFh_A zX7=ovIsGR52$0<^Bk=|Ko{r2t6X0y)E^Wh<`igOQ)rz-|e zy@^j;JjaEC0C012_4@VIXdMA&_X*PzNq2R--8t`o8M41kzLIEIe#~J}wrzhrHr~hc zfZ^_iAG1pX07QZpUy~ys&Xzcj56*xX-j}@#Pj3bQ04U31y;|x* z+5G*4`J)8yec$)#^oi)=;-ao=B9c{Vtu@x9HydNDbKd*>E5g20M8n=6)=k)tr|vBR z7;8=6r{8F;>&1eig<zs4L8;U|J#p#Tho%fl|ixw%pUn!+D5h+D-*tGD%{kNuT zTVo6}1HyW>UavRlBAj#k!y#QS27`n75%Rks<}trk?|EbZiIhs~8JWZVm&J~R|NH;; zzy905{Vm&i@b2B)zBf-#&&;0VS{JKwW(Ube8=Yi+z}Gi7A3nVQ>tFx7F^0!`E;A3{ zquH#=^3Q+%m;GV?`S(B4;zz*sdP&2zh>gH}JEa>XW>Cq4%bbNg5&0_;DpL8TUa!_= zS$gmO+kg8jGcT9Rzx?H25Rph}tpTy`yZ`au|J7O>Zy+=9zx?S>@7}%h&M|vk6tZr` z6_Qej=$!kn|MmYi#$;;}0riO_ z_TC+i2W^T)U2Cmn=PRX*G1fXn2zxa;@bDColYe4n=R6ULdq6~`(0laW=QlSQf29-= zS!2bT7-OEE9+%72VzD41B3iCiMNu4%M{6wrTWg$ia#rE^sJ!E=o>(|%mdEMMxEtiYmfB!ldJDxwbNhpWYKwuu= z08AF=!^0yWyuP^-o4~*T!?KYzi->WF$=wYR9-dfMc{IW44bJ=B{%CrWFGvJrOfHyD zgfHxKXFuOr`4LVm^-~6s88F>S9KUmX0HxGwS=V(1ncZUMuI={wqqR-~>im2?^LD%4 z@Af>4+P(7*ovdv+TdlP>vX~J7j5SIrmAwHGecXEToBXiedm0DdSvFW@HWFw5-+xRR1@vQL?$C<9kd(YlOIzA#P zC5t~LEu%;W5dj(aq%9*vrBqQAM7cv^X7JuyYkFghF+PhVTrd=PD#isqx&Ov%4PSo8 z^adbjYaIb6E`R|pE-vow?!9+sb~vB&8s}bhUH84Q5<&hXaR30Q>WYZkrp>ZAAfnvO zr<@^$%rVEw9@NxqVV)Nd(AecEtu-R-;y!x)`UU|p<_`$){Jb^BaAr2N*4Niph=7F1 zBxiu*`})Tpe;8|EoDaOdxe+&y0L=XNfBcJJXA=ZukbQ?b9+s`O z$72(XB+ecFdb4)UHBEcc+RIMHafmWada@_+!pl1M?c43)a6BH4>-Acq`$B8ITJ?S3 zwyhJRxNDh)Ctr)_Y8OLvXjw%E65>*4nBp<=YXlEK9Au zwN8#th)l|RpT2H#xy~~p69#)Fjz3TCCH$126%mV~AVt<%Nyv}KqcLW+T1j$Wl;wri z&GFcFt=LavjAyTv#&m(n)g5072nzj=LA zRi%7lv8aFh?c?q3!{Kl|<;MqS{~vMlCteTtk4@8jc>hji8C4cl%8$WnpU;1Blvro) zYP)W~KgL@!jXpQ$XP7Khw?{&^e5IOU;41nIVF-DRPxjLnk?2Gh8h>+#9?7dfGPoL+t zY4;7jYJBr2$M3q%7*myHx*NvY!+xJKSI?}XkJm~el5>`sUqD=jXCsb3iwX#lh*BWy zy?4%~Kqq*VnEB1mAG4)DJT_(|(pqatpg~`dG z%wU-@biQ6eSGr%F+`60Oilm)_9}+^M%Pz|-Ti#2m)j$ET;NEZ6IGRaJ;sRaH?GUDtJ8CzyQZ z&QZd8X5{GM*n0<({9{aihiJevd*_H)p#X|l6ouAW;6e7>ww*DiuIsWaC8{V(a?XiW zLIkB~o~&p7lpQ<5u+Kws&*;6!kbxj_^v4K_6cyy06>!fOv)yhNi^Za@afAXw$(~`r3SYo zVA&{V88#jwDk3ThQi`%56;YCS+xMN#!kSd#M8Z&dU>-*;j3?6e|F>QqLuB*fA#f5k zdGEKo-N=FRY*%M^Jm7T z`TqU;kbuSWzrMa+)HN^wfwA^)fBW}2@Tqkn!3QF+_s3)Vf~QAB&K!bH%d~0Qn5E#z z-va>i#l=O}^}Vt9g6STu>M24yufv?Q)ot57K0Rx#z4zjZ`o4d9ey;0!wOk4awpc96 zvTWNnl$X4Bu~?q!^eKIpDjvp{q}R+UMFZY@1}{Z4`D|5@a?bR|d+(e-9FBc&7K;Gp zOZFfA{aGiLmzrX!A>^2tlE8$$$I=5LYF$WHA*s^gaOh3HTCS8*09+J>Qk%AIz+B7(6CN z(2~c1%;}R2iwCD^ha6^<&1Xh%2v1H#+9`Yyt225yMX8sIx+sdYWDvl6J|3IBz$!DV zZ+f%a?T?w=NojOi`96!jWQ|E-D`DVlgA)^2D^-Yu-J-lt7&|5mI$2Wh0SPkiiLoAl zM1f58+6T2N20(9+w+ZCGceJ z;im}w$pTx57>6A5lr6u!yjU(5^BS9XE`Bi9!*~J`&?Lg2)aLVVBcimHU_^@cR`LspNQm&}<~jzY;Yz=K`!;}q90(0X zq2=y-@08NRZisl*_wTn^h$k1Ke*NW_bTW6hx6U~n6MYbHxmXSb?ylc%cUM=JFL-(Y z;JB&>glf0jk5Ng?k(RoyzTe*EP8{KM!F5<-3}XZM^C;ANzP-K65i{?-Bwl^r8)K@f zS}qn^DMhqgF3X~5+Rj=dmJ6gRlBe&?JQVLaaa9ljkwWgz%mCgy09Gi7C2FNqP1agt z>;UFhRb5w-Mrf^xC^GdvFWU7>-T5KOBQU$jmqcc;}vsEYP|Z=IXeo-xKN304`1 z0s>VIhdP1Y|A)%riCr{7sU*sAZUjjxtwNrPd6tgT5(N)$neBj~o;&+W27rr;4FLT3 z@%RGhpI7Uvsv=Tt+l|R9bL!>DGmZbsF;>TO0KnvERapUmbAG$sN08X`iB2u;(p zO$!n&$TQcFxhQ$~wKrTGzJC@p$;{ zw@)W4JFzsw$(-r*$-XzEI57HqM7+L!wLct8Z_-1J`OOKa2LBlfh};LrQY-)f{QmuW zFGe}T3>A@}^vvA0ZP#^+x?U_6!jxGp7uFW7kYfY=CrjTES*b*w3)TIsc%PyHdB1ZG z(Gw{Neg#4>#yIEY+l}e#dQp}|1oO)j4NTm;X9i&85L!qagESbI2%ZyBB-SYv^3;GC zYL6i-U}mY@FP96YG=T61blbMQ=^?8Wyp-Gn{S?W!7M`EB%jIIZ3i0FNaQyqffByLK z-Fm&^u;z+C|M}OiUvKyOBS%hL%5fOZB*-`=ri}~R6FeBa=g)t9d;jjuX0tlU-A!>s3u#t>-znn z$r7M=ClS2!$L6@-9md?_DQhGn?toAY(pPw9mDPi_)@%nNw=q^Lo5DUK5)6Oxbz^#N z7UUqR3?&xFmV4{Ti7FcLqD|kIMX8i*Myje>5UhCS-g&PTfqcx~$<0D`iL%vZZl(c>xH=aZZ1- z-2=~&Wu!oZc#cUh`B5n%MZoam$D=&Kn9vVZ_pe{S^0=z>@#BZ0D59VD($|2f(oX5R z?)LU>lv*$=rLM29Q&9Ew+c#tF?DVLPQ7q?5#f3G1)B=?Y1Lf{%^3_ug~XsUqCE{Mwweu@)d*ZJJ29c0ZP$v8 zi^)BnjJQ&zfSKn>c0%$=(ec>yy}7u&5Qc&C{`b#c-@LxQzJ3+E&hX>MciZj$>(}oi zGEKzDc;Kr|&Cx($VP;^;(x8+gq*d_k`(4|0Z*H!6Kp@G_DzZ7TCZzJaEbG73ZgLySBeSXSraNgd#emguZ=xddg3fh+f}Z2X0@$lGAELL_ngu`+LY^TxJ0H<(E%IQOGZj$K#KO zAM;>kQ7_U;>-)azIz;r$P18&~eJs$7%cICzo=DgCxq-;q;c>HB?{+(8MnIs<#_}1^@|bAlY8&^csv+m7K??1#${P5rP{8QbSL#S;fNfA=V*E%y^iVgzSLaXxLIveY9EpF^WU z5=bYehrj*odL|gi&vL(}!4OtT&*w z#xwEvnBx?Dbljet3M)9@R@0Ib<{9Udk9e{JkVqQ+*?V{~m>6=f*}{(-f=>eV=U`=P zEll=r=C*}-EAQ7z7e#qI9zy~hw^de;h+PCYrpugn>GgytEytp`@=zqFK^$z zNgOXZ^xfUvkkPVILajAM{|yYzS?|5pAxj`4=2>zd z)2ZI{*4af&?v+x@#j@9Z*LGemP2w0z!bOxb%mb1Se!$uU1(B56v++h~dfV-8v8Y$e zh3w_Sq51c}fBx{{P14(`s`A%gKi%IyY`6QfSU69pGSizoGBliXRl+YHpPr9R^Wpv5 zvQk6cG|0IO@3hVx_D$cL7)6i0FXGvh6n>FX{D@lSv1Fa#SsC{p6=wY49>e8URI<$Nfil&Goh7Eh^vI5 zqiVt=Va)S*X2))1MiG7Hv?e#5kVughe`?k*sx(k54c@;QROQ5`7j?dS?^3fz0sz`}cYJ@$uuw^u5p9?U>0A46I0PHW%rG zZQG;*77-nf?avxAQRq1u0FCKIs0j1eikTFxSIej8Ee>53Jc_?^68S8Hh%jd6??Y?= zlTOX&?e=guQdUqWqN3156qM;^p{Ug4q`Tc(yW8!Hq7ZsK5!H2_{5{Ni?TC;;2|#uZ z7CQ&@6-7~K4S=ak;H>lHQ{k;F3#FBbBwIp6QmL=qdFR+Q!+ z?_!@xDn*4{zU{i>p~)+=QLW;X7|o;)cyN7;@c*@Ud4xyuERJ9X!p(YB)n$N`;v2iJ z+wYIz5=J#k=#4oX4uk`%qbN$xL%9k72uJif52KcM#?U2jf;sQmp;t`)0)Xe|ZT`1B0(&`SABbgV-vBi9nj#_!547*i)AJSpuCK0; z26hV~+~40jKO$(px_lKH7MKAk7N#Jwg>kogPGs{epWW6Y0-$ANzf0L*d?hywNb6w!zc3EFm9ce`iq`mXD{x~imtF3Nh+ zd>^{cJqMZGtl92d3qX*^8M9^tg$r08Det{^o&lV(UEgc1MAc3aQB^tXdSjS9A}Hzl z^8rY()_S4NB}u!`703WAbOedG^WTx)f|$0=j>v!l-6gZ)N;A(`(6ZgfI)0x z>PM2klypCdR9>FsEDMdLO0RWcjCtPfR;xu>l)`(zzkh7o?)`_iI#wL6Z?1}>`1bAY zgc?Sk!{bP+l1D}Fsh1rALJV!!{q1kRfBN)(y;|jOv({~Q2WQ<&6wnvkd@Lai+YIq! zeu8Jf%Za5yIH4z!>UDKptyT*a^3-s}eQ$RAqaBzyL)({ge!ts2K0PsWT`yM4WkP+* zqG;PTf#H)AnH22VGY})^Jp579U5?=s5rqzQ1_o=aQN0u|C5+HYJFr8GV^+fsgfh{%Qi%Lmq4qsl537mA{Et{Gw!XSFWQ{N+TaXY{J-$`~UJmRZK7 zr!~QxS^r`UeoXM6l6<945)pR0o%dcT_4@TqM1)D$__ud=lLNkc_cnZcpnRmrC&ZRt zzkZ!RtUvwfPpKp1;o+fe+sQ2`%WAXU$c}T~AA^$0P)C!PsVWP2Nnr^AK?_BBipL<9 zMX_G5zJI@C?_G3|QH>5yfH|2i*$L(0s7r+@s+NvJ;QRX@B>ksR)FLu~QZKHOoi838 zn4KHyG>SrZyJ*=qZQFL8sLiB`nzgp=I>|5`Grg!em1hNsH-J&nQe_&PQeCjtc74}% zecN)|cB|E@s>%S)6Ip8#`Bp#+A6bFmL9{aBm#SRQ*H|N!`}FPT!LpOPLPW@+ONs%S zwz1aMbuI4~(m>lbLMBM1_dN9(WX5BIpJzYcYTkQedeIBpZuiT@Vz~?y(EZ`~`|n@g zzInY`EmDZOSk%A&{zdTfxku%R8|9F>4ivm;!(K}6F)920@%ihgPaoFnWuT!R+x`A{ zQVDgSo=y5h_>AwL6*lq3H|5|uBcAIyNPD3u^u=af6guBC&bi~EISShdv&uezcm8lV zJU%@osJ!c1MYLEfLJq2QQIuWRrnAVA^LfkrL>6#d`VEpq1BR~@`ynXo`(A0SBjH(V zC64lBGCiGgFk$M&=J!O#nJBj_rM$GUAp%3!_eD{r0$foPec$=aABPpfqprCZa^aj? zB&tDqF77fVJ|DYsg1z$Gwry{W@O3ga3`m7_2ViFa|G4ui#Z)!Q}#X{Wq{lgCcSS^=jQKaY; z01k)4?d1NvdGn^OYcYbxm_PpbGSMdhz*m=7lA96H z@hBAI0arsJ?|HvJUToIzG7CgJ{nOJECk2v_YV*a#rtP{QwiW4)S$j+@G)?6Q;9QSG zu0<@^7Xv>${Ak;D;K@f%4@1Knr3^+2)e_WjY&jMEFs-yAWt|oAspIk3w(WAUsOuWX zWIdnNs?X&UN-5{O#KrQ`LQS1S#PKu|mEBtV{QO+i)oQg8no#JQ=4epwn}TUK2lEd?9+f2X3sF< zu~JB62c`j@3k8@{(_Ii;(!h~?=e_T{PAwK$2CSGvP4}l1h6z&-VlxU1+CZESxlu&v zw5>7LnxZHLbytdlicU&Qy~Fb$!3)KL8Tn$|H_t2*nPU2lF@4|leLv!jX0JI>GhfM= z{9>ws@~HWH($LTB0aW^<8n-P>uW?LiQi`+=V|DTz*L!cQ5#lh`jD?~~X>~g9hR_1AKe#FK(v)S`diBrT9moO0t0r?n) zjKJ&H*C~#WuDLH?zKTv#a^>&dy^+E^VNNI?fSNB~zs?pXzIpQ|J?p>y?Qhe$2@FM1 z$l8-Ac}h9d*= zb6t*+P$b9vmh_E>*1^u)p2V~y;#(-7p^Qz z>zuPTWDtn#Sq9Ps%8W{b5JFF&j{^P9IR>UMQ318q7`1nDYPTSn&9SkC6`CF*mSv@s z4)qI$apE*u4MBdNh)-qq5XJ(rE{fjt?%6F@%Ou2jd-u?`-J3TziL~|h?d#QQ@yD0% z%%`EGX{wJ|V_w34!{mam;$^y!WYFOolp^QI4JnnMtbDCrZc@D<9MPL;)e9G({%4`ux86 zOo+bgy3~n^h(%cnJL%Wzf;A60pn z$G%)p0e>~2#mIjg5{QzS@oW7S+;M7MTZE`$D2(0zO#|p?z8hL=kO3}GSm67Y6 zkY-^VRZoNUbK8N4nz4L6pUvlCv0Na6^s^;m&Jgs7a)9>IaBRy~&%7&9S)L=ON6 zKEGJhtD#Vch_K!6C#1Qnt5>VlI`HrY^@u@jV7uM!w!6tCzIhW!&CJj=&C~Pq^j?S> zOWZ-?)RK-)XAqd=-zj|39=t)?g#VLtBXSt_n&z+4J+$HZZ6|06|(24$Cx68jb0D44H~Tdp}g@8Gy2ApePEZw9Klp)^2yZ zq9~S&MN-oBp8LK_jky!BI&yG=Th&3WGR!kbBnGiQiRL}v3f2m-zik@R_w`~?Xf4v& zipW|kjBzAXtb~gfstiG4SGxOT{GFIxWM)4M$75keIT)zCX_S_br+U-Zm1wD=@D+q> zgD*^>Vpf$}zXweb@DG-rNY1j|i*P^4CuvZtw2f zaZ~%K(Q~i|n8;J3iLuC$pk4y=tIPHA*b3eBBt*VgRL=Rf>j3Z!{r^SRKh}YPpGx`8 zjx#ByR&}{rEwmcd6#Ks4?;FuO8kZB$7_;B+kB1}A80ku@1jcyh+NNDD7f}tAi?ZY{ z0@^&7<!Jh~8w+ho{YI>(R?5e)GPTza61hYGb}rPzDcBlM8urflYyxC1 z^n|g5H@Jk1Sn)y0%T%D;r9IN*V)x zOhts3df)Md-{Dw9Oc1H8F92RHI4Y&2Z70&H(}-bbWLDmo+8o6Bh0JKcf`PpHI$ra2 zRqyu)m}=ceg_4tUw`Vp@RaZq(^j$aKK0KQkfrxcg8DpJuIb1&x-VvguaGDVjXz=R; zoF4sen5Mx)`}DXjUdRrWQC>IK*Avot#;OZvdwqQ^Uq^Gi01*JbefvHE1a+Z*`SdB( z!M}X@a;j{~?7g+NEK6z2N`oO(Y#70~CHK2S;?PV%rFdw)OU+Snjfe#~9F91n?ZC8A zFA?qp4iLT%4pWX8QiV0e65_XZ&wKB=Dl6xmwN_GR=|}X5H9F9bQ3PdUH7bOzq?9$r zNs-w*amk3N6e(4Tr+3~PW46|oWw~4|N-DJ?y;vFy?thBNGobpZn2@14m~~aIH>)X)=#&*vimtC;y?S-w zod5jCw>}FmPK?QYVO&8FI>ocF{!7HZ;lGPQUtFxDO(QRM9u7@!>@>~+FxDLQ$Nk}u zjSCnajX-ngF`EHn+7<=8i9EF;O?eloS0qXeHMvSI&joF=J3JKoW8FKSJ>#4+#weu{ z;yY=t=W*H!IbuiTGcjH9LyAsz!w2?gK3}fyd#zMVa54AvFEq>i{2_t_vbolt$_F$H zEejwC;;B4rlEF2DdVgL=pU+4g&(WDv3UXa3q4eNsZP%P5T!>0*&YcnmFA9Bm)iuTh znzDw4tQ#hlx~DQS<%w1APqo-hBr#^^ENtQtkB52EVxB%HT~x>Bn3o!8Hop!>6hO{< zi6>3=6G=@1$}5LTDH%?G|M0-fWm#TcUdC+*0MNFrB=nqhC0tx=QmmR+=q1tJZnyjW zelkMm!}|}3BK_mXkH^Qy`HGYqWsE7xqVIb|&`OEGgVqYOfWTVw^t`=!ef>g04*>e{ z>3NiYBVJr=o}RbP`Jsu425#lhYZrqh;gDz1-E>6cB&p-VV$$adiGu0c3rnzESAfq^am@YtTlbt zk6R{&Qij%wh(z&Df*xtbZ@aGRyU`>x=c4wtMnt8w478A#%UWC2btUw8A}R{!T%2cx z-h1azD&G{S#V*jE=TS%wTP4jqA0jLyOy&08^v<~?up?PWuH`pP3s7YV3eJmL35!h7 zqA~XI@oBwYNj-^~zkIp9yxhEfdm}4AYxVZc>#8j8?tU;t;foAI?G{>zu|ZQIQ&k?A|mmOMib0H5H}^MqP8-br!0YpvE& z+Q<&!tUESs+jOHLXfg`d`@`Yz^t?@EX<=52yla}875XLs1k+}K-WWtmR#7`k#-d@K4H3mUV|*te_@IdV_3O8(&aPHB*Vha{0M5BNCm#T0+BpF9 zT~`!^wGJ_a@>;39Em6|_MMrfGLknm!krV(*W~<94?bp=HR*y}3MX z&fJo?)5W#d^_?_O1t39d&NOWje$H81&u4MuIgw|SJ1VUcZ0MX9Ir`{zMv{e-io0hX z3aO$r=d#Gvd!0S#$jXgesicnt;Joj9vsmavz}C8O;}kjVzEFgkC*MPR(P$7dQ_v?5 zA1C5$>|U;+Hf`CTYl+O5;p2!InBioH0>VgzY?9McMdk3d)= zq2DX5Ut(rwtyB4MfgI)p{we8&&%zHwivl*s#!tllPR|GfS!3JXK9`rz!j+;A&YxS-aB#A-QmBc|YZYz61f^ZChbRi8e6 zj7>d2imtC;Jv}`;>n2@BIO|f)PYy>MR2oz6N6jI1UESaRNOUt%xsur`Nm({Fx^sjs zhYErO6DQ|G1gJf7mpE!iC*)9TjUh_lzV8FANlOZ@VyC!|e!7slen!_s&%W>buJ7jr z9|^JNbPque67U}xF+u)MCgsXRSs^VlbD|@tfK~Df^*+QPE2g4SSn94R%d#xWFqtu{ zAWFNSWNxR85#c#zZ`2PSVRh0IVXVohf^x#)3d(% zG4TjTL*x);2c>h!r_txs1Q^T4;CPMz0*rxiILQRc?b4|E%?}Otgd~$Q%y{1_}1; zc6|Euv2ELJV5sqV_Fv4H72STn&0*o?MCLs<)MewH6SILZo4=P%B*9(zE~~1lEDHv{ zy}dWaTwY$>+}y;mDTs*A&(FhYGcdp}pFXWtD;)aDnITzvTW zL6(@Y=5K%d_em!d0xlLS0QSx^^PxFbRh?AQopZ4qhn_ja^oW4CSk|jJlPu!)nE#(n zEIVMh*sPnjO$j|BaIRPjnd;39x*1i22$5ro??t01RDbRteso=@6e(3X=dCr?Icx2~ zT2V<9_olV-o+MEqqLL_YdkZ7gl{)8Ht+iqTWDzSBbmEG#&{`QQ?Rf6_`T2M}u2$=+ zDv?l>^(3CvS|`LZg=xmvPPP*!kpRXBjK|a&=e0B;#8FMMF?T;&XnT8E-{I!s#ePOeV<0-h;d0(fK(I+wDyD| zBM^{>B2n583l5Z1SGF-UvCflqcpt$z}q*k6{*L^=afTWB%huX>zE4p0b{O~d}^2s zFc*bhua}|FlWGm2ByVO35ch4j51RHq%XLv&JSh4bAH`FIy*B8Xi!g(863IGm+ooA8 zmZXS-oK!ggRLl$k(P0?6T~89|0ANhomrgA;Ja-Q2&az6E%VD~)QaX1SlUea@NTv~H zx^=U(o;BNG6=T*O4<>b5uFk9e zr?9cHcOQ-Z8)c``SVWQyM6fMUo2@ko#mp8M20gzQB|~0*O+HqY<#hDiPmhpKI?emw zl_J9D#4~@XAqJFIMNza(oAUwU2&j_`*a>uxI1bGxY=0c&QUE}JF>KmKvhbUmYaHhE zqI2%+*Kd%`=c=mm_3N9oH6UAM@;?vv51|n>q5l9MK72^TweR0==Y`awEMsSZF~+oQ z+xML$>qI01*m4>!0|Eiyus_0^!7a@1r%vqRvMQF##ogV*h?x{Q*qIb==(*2nCqoY& za314Cq8=~tX>8?Vu6PQ}eNmwMPj!4;7~I-Z$Ape zZ+M#V%M8!k9fS^7`MOv2qWb#vb})!J3;jhR{Um#v;ru{^>&>bxN5f0J^U{ehPgSgQ zhyCH$G?8W@z3v=aqej!siO4yhvfw!9C8!!JA{%w+thHU&*7X7jIbb$rZ~6fS3mn7f z2s!-&GM_Dyxlq($iPXr)XBXXfU5XCdw#h`UKq>9nz?pIHaWHgf(#aWuL(|=u&NE5H z z!2O(-72vmFU0UZ%-}im*B!S6>>XOEDlW_m(-jVr9!#OvPsYK3m+WcJUl9^$(UMZzt zR$fR{ud*nVQrmHV+EfG=ChZ+3p!;+5z?|Pu6k2PI2%^@iwO%e)L!AfV$K#{(E@R;G zr$MhC#{&-m0KId!_jfoJr@gq?TwGi*dtl!0_rnnSY|B?=E#NvcAKOMcyw>YYNCtH9 z^ghm7%j%nUfmwd6RxMrLlR*%A-!^+c%?k5hsU(&Ju9h2A;W zbzRr@i@M%yF3O@50*joFX!CVl7nM3N>Dh6V_!#d`?>(R7py&WTNDKYESHN9 z@85p?cI!O@^Eul#5+j|N?dc#Ef~u+(i#mV!&im%rv~BNaXn}K1+ULCY(xx#mp;BuU zuxC%0{wh^!pPxz6tr9Rd?bhD(L{wF^xNu!)W^atiMw{i0y0UY_cv55~AtQhc&e1|8 znK(ilU)l6})AwCfRdSDrP-Sd+9G4mL(LQsp%iaT0;yLF+br|?!gVVLv5|#NVtelz< zr%mz+SNo#7b1_N?00xo=pBJjLS{{G}pN7ni>+3UaAm{azxdcP*rY4>~R{^)q9*&1L z%AN=L4TXwiP#&CY8$J~cGrrIY7>BD*yvPY3e}aw|UBWoJN%uw=(Ak*zFtTFI1`Y3D zuU0akd_vtnS6&-c2{6EulWA&`bRV*cJ0cik_lG?IynXv7z%D@n0;EEpgA*4Qo3REJ zr^+<~JpA}!jD>M~%b$Mx6Crv)2Ke^v`)IZ`0s>ZLo&LLz)akD4IL5(AEyp=KdD4eN z)AxPajHf((7@b*Yr5^XsCmT}2cGXuM%=QHs~N)f3_-~?vwjj`61Raq8g zsy-x!yz?G~h?%C>Go}Ia1k(FHwAIs4P!HrL=e#K8iL#R1!=`DBG3)hOlKZkOl~!Hb z8Eb$cFIo&Vz0}O@84=Pb1YPJ)pWa`-x|HTg0mzl2&1Q9M+UD3uBJ%zAzG>UHZ*Ju7 z)ph;p)BC&I2j^TqKf_t~yxk{xoUxP$PZ0 zpzK_z-FojM#T9^olu|;K0sw}t>!dU*=C3HqMASbEv8J{Qr8rijCq__ORc*%i3{)5d zKEcgKSo4flPQO?gMH^+eWYwjZ

    Syv7eWy$6IOGB%$jPA@y2}EUC7KNUW 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%0DL@>_oJ52dC>I<`8u+L(5hK?@mvYkZ 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

    Kh3I- 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

    oo22Ml#os0}EcX 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
      c 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%0DNpAsS*=$-P3GDGPqzCs7J|-vC@W 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 0 then - self[player].yaw_history = {} - end - end, - - -- bone_rotations - get_bone_rotation = function(self, player, bone) - return self[player].bone_rotations[bone] - end, - - set_bone_rotation = function(self, player, bone, rotation) - self[player].bone_rotations[bone] = rotation - end, - - -- bone_positions - get_bone_position = function(self, player, bone) - return self[player].bone_positions[bone] - end, - - set_bone_position = function(self, player, bone, position) - self[player].bone_positions[bone] = position - end, - - -- previous_animation - get_previous_animation = function(self, player) - return self[player].previous_animation - end, - - set_previous_animation = function(self, player, animation) - self[player].previous_animation = animation - end, - } -}) - -minetest.register_on_joinplayer(function(player) - players_animation_data:init_player(player) -end) - -local vector_add, vector_equals = vector.add, vector.equals -local function rotate_bone(player, bone, rotation, position_optional) - local previous_rotation = players_animation_data:get_bone_rotation(player, bone) - local rotation = vector_add(rotation, BONE_ROTATION[bone]) - - local previous_position = players_animation_data:get_bone_position(player, bone) - local position = BONE_POSITION[bone] - if position_optional then - position = vector_add(position, position_optional) - end - - if not previous_rotation - or not previous_position - or not vector_equals(rotation, previous_rotation) - or not vector_equals(position, previous_position) then - player:set_bone_position(bone, position, rotation) - players_animation_data:set_bone_rotation(player, bone, rotation) - players_animation_data:set_bone_position(player, bone, position) - end -end - --- Animation alias -local STAND = 1 -local WALK = 2 -local MINE = 3 -local WALK_MINE = 4 -local SIT = 5 -local LAY = 6 - --- Bone alias -local BODY = "Body" -local HEAD = "Head" -local CAPE = "Cape" -local LARM = "Arm_Left" -local RARM = "Arm_Right" -local LLEG = "Leg_Left" -local RLEG = "Leg_Right" - -local math_sin, math_cos, math_pi = math.sin, math.cos, math.pi -local ANIMATIONS = { - [STAND] = function(player, _time) - rotate_bone(player, BODY, {x = 0, y = 0, z = 0}) - rotate_bone(player, CAPE, {x = 0, y = 0, z = 0}) - rotate_bone(player, LARM, {x = 0, y = 0, z = 0}) - rotate_bone(player, RARM, {x = 0, y = 0, z = 0}) - rotate_bone(player, LLEG, {x = 0, y = 0, z = 0}) - rotate_bone(player, RLEG, {x = 0, y = 0, z = 0}) - end, - - [LAY] = function(player, _time) - rotate_bone(player, HEAD, {x = 0, y = 0, z = 0}) - rotate_bone(player, CAPE, {x = 0, y = 0, z = 0}) - rotate_bone(player, LARM, {x = 0, y = 0, z = 0}) - rotate_bone(player, RARM, {x = 0, y = 0, z = 0}) - rotate_bone(player, LLEG, {x = 0, y = 0, z = 0}) - rotate_bone(player, RLEG, {x = 0, y = 0, z = 0}) - rotate_bone(player, BODY, BONE_ROTATION.body_lay, BONE_POSITION.body_lay) - end, - - [SIT] = function(player, _time) - rotate_bone(player, LARM, {x = 0, y = 0, z = 0}) - rotate_bone(player, RARM, {x = 0, y = 0, z = 0}) - rotate_bone(player, LLEG, {x = 90, y = 0, z = 0}) - rotate_bone(player, RLEG, {x = 90, y = 0, z = 0}) - rotate_bone(player, BODY, BONE_ROTATION.body_sit, BONE_POSITION.body_sit) - end, - - [WALK] = function(player, time) - local speed = get_animation_speed(player) - local sin = math_sin(time * speed * math_pi) - - rotate_bone(player, CAPE, {x = -35 * sin - 35, y = 0, z = 0}) - rotate_bone(player, LARM, {x = -55 * sin, y = 0, z = 0}) - rotate_bone(player, RARM, {x = 55 * sin, y = 0, z = 0}) - rotate_bone(player, LLEG, {x = 55 * sin, y = 0, z = 0}) - rotate_bone(player, RLEG, {x = -55 * sin, y = 0, z = 0}) - end, - - [MINE] = function(player, time) - local speed = get_animation_speed(player) - - local cape_sin = math_sin(time * speed * math_pi) - local rarm_sin = math_sin(2 * time * speed * math_pi) - local rarm_cos = -math_cos(2 * time * speed * math_pi) - local pitch = 90 - get_pitch_deg(player) - - rotate_bone(player, CAPE, {x = -5 * cape_sin - 5, y = 0, z = 0}) - rotate_bone(player, LARM, {x = 0, y = 0, z = 0}) - rotate_bone(player, RARM, {x = 10 * rarm_sin + pitch, y = 10 * rarm_cos, z = 0}) - rotate_bone(player, LLEG, {x = 0, y = 0, z = 0}) - rotate_bone(player, RLEG, {x = 0, y = 0, z = 0}) - end, - - [WALK_MINE] = function(player, time) - local speed = get_animation_speed(player) - - local sin = math_sin(time * speed * math_pi) - local rarm_sin = math_sin(2 * time * speed * math_pi) - local rarm_cos = -math_cos(2 * time * speed * math_pi) - local pitch = 90 - get_pitch_deg(player) - - rotate_bone(player, CAPE, {x = -35 * sin - 35, y = 0, z = 0}) - rotate_bone(player, LARM, {x = -55 * sin, y = 0, z = 0}) - rotate_bone(player, RARM, {x = 10 * rarm_sin + pitch, y = 10 * rarm_cos, z = 0}) - rotate_bone(player, LLEG, {x = 55 * sin, y = 0, z = 0}) - rotate_bone(player, RLEG, {x = -55 * sin, y = 0, z = 0}) - end, -} - -local function set_animation(player, animation, force_animate) - local animation_changed - = (players_animation_data:get_previous_animation(player) ~= animation) - - if force_animate or animation_changed then - players_animation_data:set_previous_animation(player, animation) - ANIMATIONS[animation](player, players_animation_data:get_time(player)) - end -end - -local function rotate_head(player) - local head_x_rotation = -get_pitch_deg(player) - rotate_bone(player, HEAD, {x = head_x_rotation, y = 0, z = 0}) -end - -local table_remove, math_deg = table.remove, math.deg -local function rotate_body_and_head(player) - local body_x_rotation = (function() - local sneak = player:get_player_control().sneak - return sneak and BODY_X_ROTATION_SNEAK or 0 - end)() - - local body_y_rotation = (function() - local yaw_history = players_animation_data:get_yaw_history(player) - if #yaw_history > BODY_ROTATION_DELAY then - local body_yaw = table_remove(yaw_history, 1) - local player_yaw = player:get_look_horizontal() - return math_deg(player_yaw - body_yaw) - end - return 0 - end)() - - rotate_bone(player, BODY, {x = body_x_rotation, y = body_y_rotation, z = 0}) - - local head_x_rotation = -get_pitch_deg(player) - rotate_bone(player, HEAD, {x = head_x_rotation, y = -body_y_rotation, z = 0}) -end - - -local function animate_player(player, dtime) - local animation = get_animation(player).animation - - -- Yaw history - if animation == "lay" or animation == "sit" then - players_animation_data:clear_yaw_history(player) - else - players_animation_data:add_yaw_to_history(player) - end - - -- Increment animation time - if animation == "walk" - or animation == "mine" - or animation == "walk_mine" then - players_animation_data:increment_time(player, dtime) - else - players_animation_data:reset_time(player) - end - - -- Set animation - if animation == "stand" then - set_animation(player, STAND) - elseif animation == "lay" then - set_animation(player, LAY) - elseif animation == "sit" then - set_animation(player, SIT) - elseif animation == "walk" then - set_animation(player, WALK, true) - elseif animation == "mine" then - set_animation(player, MINE, true) - elseif animation == "walk_mine" then - set_animation(player, WALK_MINE, true) - end - - -- Rotate body and head - if animation == "lay" then - -- Do nothing - elseif animation == "sit" then - rotate_head(player) - else - rotate_body_and_head(player) - end -end - -local minetest_get_connected_players = minetest.get_connected_players -minetest.register_globalstep(function(dtime) - for _, player in ipairs(minetest_get_connected_players()) do - animate_player(player, dtime) - end -end) diff --git a/playeranim/mod.conf b/playeranim/mod.conf deleted file mode 100644 index 3e162f0..0000000 --- a/playeranim/mod.conf +++ /dev/null @@ -1,3 +0,0 @@ -name = playeranim -description = Adds animations to the players' head and right arm. -optional_depends = player_api, default diff --git a/playeranim/model.lua b/playeranim/model.lua deleted file mode 100644 index 717382c..0000000 --- a/playeranim/model.lua +++ /dev/null @@ -1,99 +0,0 @@ --- Bone alias -local BODY = "Body" -local HEAD = "Head" -local CAPE = "Cape" -local LARM = "Arm_Left" -local RARM = "Arm_Right" -local LLEG = "Leg_Left" -local RLEG = "Leg_Right" - --- Version of player model -local DEFAULT_PLAYER_MODEL_VERSION = "MTG_4_Jun_2017" - -local VALID_PLAYER_MODEL_VERSIONS = { - MTG_4_Jun_2017 = true, - MTG_4_Nov_2017 = true, -} - -local LEGACY_PLAYER_MODEL_VERSIONS = { - default_character_v1 = true, - default_character_v2 = true, - default_character_v3 = true, -} - -local BONE_POSITIONS = { - MTG_4_Jun_2017 = { - [BODY] = {x = 0, y = -3.5, z = 0}, - [HEAD] = {x = 0, y = 6.5, z = 0}, - [CAPE] = {x = 0, y = 6.5, z = 1.2}, - [LARM] = {x = 3, y = 5.5, z = 0}, - [RARM] = {x = -3, y = 5.5, z = 0}, - [LLEG] = {x = 1, y = 0, z = 0}, - [RLEG] = {x = -1, y = 0, z = 0}, - - body_sit = {x = 0, y = -5.5, z = 0}, - body_lay = {x = 0, y = -5.5, z = 0}, - }, - MTG_4_Nov_2017 = { - [BODY] = {x = 0, y = 6.25, z = 0}, - [HEAD] = {x = 0, y = 6.5, z = 0}, - [CAPE] = {x = 0, y = 6.5, z = 1.2}, - [LARM] = {x = 3, y = 5.5, z = 0}, - [RARM] = {x = -3, y = 5.5, z = 0}, - [LLEG] = {x = 1, y = 0, z = 0}, - [RLEG] = {x = -1, y = 0, z = 0}, - - body_sit = {x = 0, y = -5, z = 0}, - body_lay = {x = 0, y = -5, z = 0}, - }, -} - -local BONE_ROTATIONS = { - MTG_4_Jun_2017 = { - [BODY] = {x = 0, y = 0, z = 0}, - [HEAD] = {x = 0, y = 0, z = 0}, - [CAPE] = {x = 0, y = 0, z = 0}, - [LARM] = {x = 0, y = 0, z = 0}, - [RARM] = {x = 0, y = 0, z = 0}, - [LLEG] = {x = 0, y = 0, z = 0}, - [RLEG] = {x = 0, y = 0, z = 0}, - - body_sit = {x = 0, y = 0, z = 0}, - body_lay = {x = 270, y = 0, z = 0}, - }, - MTG_4_Nov_2017 = { - [BODY] = {x = 0, y = 0, z = 0}, - [HEAD] = {x = 0, y = 0, z = 0}, - [CAPE] = {x = 0, y = 0, z = 0}, - [LARM] = {x = 0, y = 0, z = 0}, - [RARM] = {x = 0, y = 0, z = 0}, - [LLEG] = {x = 0, y = 0, z = 0}, - [RLEG] = {x = 0, y = 0, z = 0}, - - body_sit = {x = 0, y = 0, z = 0}, - body_lay = {x = 270, y = 0, z = 0}, - }, -} - -local PLAYER_MODEL_VERSION = (function() - local version = minetest.settings:get("playeranim.model_version") - if version == nil or version == "" then - version = DEFAULT_PLAYER_MODEL_VERSION - end - - if LEGACY_PLAYER_MODEL_VERSIONS[version] then - error("The model version '" .. version .. "' is no longer suppported") - elseif not VALID_PLAYER_MODEL_VERSIONS[version] then - error("Invalid value for playeranim.model_version in minetest.conf: " .. version) - end - - return version -end)() - -local BONE_POSITION = BONE_POSITIONS[PLAYER_MODEL_VERSION] -local BONE_ROTATION = BONE_ROTATIONS[PLAYER_MODEL_VERSION] -if not BONE_POSITION or not BONE_ROTATION then - error("Internal error: invalid player_model_version: " .. PLAYER_MODEL_VERSION) -end - -return BONE_POSITION, BONE_ROTATION diff --git a/playeranim/screenshot.png b/playeranim/screenshot.png deleted file mode 100644 index 57aeefe751042e4dd137de97eda8d88ff62a966d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88380 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

      dW`a; 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 diff --git a/realchess/textures/bishop_black.png b/realchess/textures/bishop_black.png deleted file mode 100644 index b9d0670f9754bfa39060a363bc41a4cb8c3743b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=37ROj1%(0s;cAuCBVe zx=Be%ii(QUAH|#k$}yG%`2{mLJiCzwmkLu3KZR)-Z1T?-hdD6%9P z>|%42;91lfaI~pOVAf4t38keONgRSkf+8&%LdCr1Eh`LJBs(}6=GL=WpJgo;1)9a+ M>FVdQ&MBb@0Ov?6i~s-t diff --git a/realchess/textures/bishop_white.png b/realchess/textures/bishop_white.png deleted file mode 100644 index c474e7edcfcf288d1a2f0e2dfc10d71f0ef8c420..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=3|@Wyg;npE+}8Z*OmF zYwPXXw>NCquypCtm!}q{0HqmAg8YIR9G=}s19F@^T^vI=t|uShieO&QW8k{NVbTJI zmWg^ii3Y30oh5i4wFMk)Y7&?gxt3KaHR}q8pb?iy35)R^lPCoqG4~0LGZ+|7e`lAi TecJmKXc~j3tDnm{r-UW|Gc7w5 diff --git a/realchess/textures/chess_bg.png b/realchess/textures/chess_bg.png deleted file mode 100644 index 41ee603d2ea813dd31f85053a16f0db1e0235c4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29706 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 Hn}+-!8HU}Av@kL-D={oAwJA6Qlx6UA^>bP0 Hl+XkK0HYbL diff --git a/realchess/textures/chessboard_top.png b/realchess/textures/chessboard_top.png deleted file mode 100644 index 9dcbf5de8c2af5d23855e32e80d6d794eed9e9c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF3h)VW1=1E;3ZGB(PYJi`@-=91 zRx7iV`FCr+v5Ks&ywtz*lRg~o_<44Urj$g|UISa8YQ~ZvzhDN3XE)M-oM2BE#}JO| z$p@HJtW{K1SQ>c*KPz86CFkIleeKbbO&ki&QLGwEI8uDHSh+$EU8!J_T%=$+(ZF<; zfoZG5G0_Q9?h22!JbV=<7;Y>~I?m&$Q^w4oxmvo|HG9KWpz#czu6{1-oD!Mc(&YqlY6hHzX@P5^?Sga(FCca7#ihEoD<9U6w5np_-B zAuCo$S!p$eNU$#FXbk1-vgC3yk>qmR%IU-+F~euFf>P_LE&;_&XmEZj5Xk0>Ld8I0O?r zI=H(REND=e@K8-9ZN&?Ypu{P6RG7k4H5O`cTuk8*V&LX<%23-J)X~vZr0C*tGtfZb l42Q9Pt3d=aE2{+1UH|(z?AKHm?+04I;OXk;vd$@?2>|c6JB*-tA!Qt7BG!Q4r+uensgH_f8$l)yTh%9Dc;1&j9Muu5) zB!GhKC7!;n?Dx4O`8X7h8E@VM6!P$NaSY+Oo}A#oto0+U@k-We!&cr0ACNWo?L0tJ_i5gRx|dKWEVU>0LwxERPbA>g;) Qd7zmLp00i_>zopr06FzL?*IS* diff --git a/realchess/textures/knight_white.png b/realchess/textures/knight_white.png deleted file mode 100644 index d6c01a1f54da3a62e4090a6190563d0094e1978d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aHDq8YD=V8hbLR2m$2V-) z(A(SF+SC)S`Z@*u@gb%2Uu_VYZn8D%MjWiG^$=lt9p@UV{1IXbl@Q5sCVBi)8 zVMc~ob0mO*>?NMQuI%@@B>6bx*@M8#f5Mw47WdqO@pPj0VTWsTvX-X)ZISJ4vi*Y+~YxU|rP#r!%R~ zDM4{+K(gxwDMtkcV~OBi7KsH;0dMmh1tvO)x^_(HTChNIhT=0Ro{Q&}XlNX0U}a!1 XKE>|wd$;ghpwSGTu6{1-oD!MNCquypBCYmN3xKxxL3AirP+hi5m^fE<5M7sn8e>&XsmUQGhCGysbzJMo!W7XWFYebbEJ-NdnSQIA0!(x0$CrXj$ gnuFs4DIW%g_8**_YCOw0fkrcUy85}Sb4q9e08&*uZ~y=R diff --git a/realchess/textures/rook_black.png b/realchess/textures/rook_black.png deleted file mode 100644 index c0c5f86c3cbe40f91d1b67caeb38f3380623ab36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=37ROacM|y1KfGii)nT zu1QHr($dnaPSk1wwFIvE0Hk)yQ6r1oHw`^^o OX$+pOelF{r5}E*x;4fqV diff --git a/realchess/textures/rook_white.png b/realchess/textures/rook_white.png deleted file mode 100644 index e76ff59019931f92f8e025642d7d06c29dbee993..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=3|@Wiw~aY;A2le*AcE zZ|{Z;8*bmey>#i)d&`Z_0i_vBg8YIR9G=}s19DtFT^vI=t|uShl3-OZ*&LwMlA5Qp zf+KCl3>7Ddw0E8YY{j#LLbfhYXh|!|Z|%@nZQ|4t!o$jZu&1CujHB5!Ab?@^SqAYU W4pZho{~iMkWbkzLb6Mw<&;$UtfIH^^ diff --git a/unifiedbricks/init.lua b/unifiedbricks/init.lua index e72b7f4..7e6e3d0 100644 --- a/unifiedbricks/init.lua +++ b/unifiedbricks/init.lua @@ -103,16 +103,21 @@ minetest.register_node("unifiedbricks:brickblock", { paramtype = "light", paramtype2 = "color", palette = "unifieddyes_palette_extended.png", + place_param2 = 240, is_ground_content = true, groups = {cracky=3, not_in_creative_inventory=1, ud_param2_colorable = 1}, sounds = default.node_sound_stone_defaults(), on_construct = unifieddyes.on_construct, + after_place_node = unifieddyes.recolor_on_place, + after_dig_node = unifieddyes.after_dig_node, + drop = "default:brick" }) minetest.override_item("default:brick", { + ud_replacement_node = "unifiedbricks:brickblock", palette = "unifieddyes_palette_extended.png", - airbrush_replacement_node = "unifiedbricks:brickblock", groups = {cracky = 3, ud_param2_colorable = 1}, + after_place_node = unifieddyes.recolor_on_place }) minetest.register_node("unifiedbricks:clayblock", { @@ -122,18 +127,23 @@ minetest.register_node("unifiedbricks:clayblock", { }, paramtype2 = "color", palette = "unifieddyes_palette_extended.png", + place_param2 = 240, is_ground_content = true, groups = {crumbly=3, not_in_creative_inventory=1, ud_param2_colorable = 1}, sounds = default.node_sound_dirt_defaults({ footstep = "", }), on_construct = unifieddyes.on_construct, + after_place_node = unifieddyes.recolor_on_place, + after_dig_node = unifieddyes.after_dig_node, + drop = "default:clay" }) minetest.override_item("default:clay", { + ud_replacement_node = "unifiedbricks:clayblock", palette = "unifieddyes_palette_extended.png", - airbrush_replacement_node = "unifiedbricks:clayblock", groups = {crumbly = 3, ud_param2_colorable = 1}, + after_place_node = unifieddyes.recolor_on_place, }) minetest.register_node("unifiedbricks:brickblock_multicolor_dark", { @@ -147,10 +157,13 @@ minetest.register_node("unifiedbricks:brickblock_multicolor_dark", { paramtype = "light", paramtype2 = "color", palette = "unifieddyes_palette_extended.png", + place_param2 = 240, is_ground_content = true, groups = {cracky=3, ud_param2_colorable = 1}, sounds = default.node_sound_stone_defaults(), on_construct = unifieddyes.on_construct, + after_place_node = unifieddyes.recolor_on_place, + after_dig_node = unifieddyes.after_dig_node, }) minetest.register_node("unifiedbricks:brickblock_multicolor_medium", { @@ -164,10 +177,13 @@ minetest.register_node("unifiedbricks:brickblock_multicolor_medium", { paramtype = "light", paramtype2 = "color", palette = "unifieddyes_palette_extended.png", + place_param2 = 240, is_ground_content = true, groups = {cracky=3, ud_param2_colorable = 1}, sounds = default.node_sound_stone_defaults(), on_construct = unifieddyes.on_construct, + after_place_node = unifieddyes.recolor_on_place, + after_dig_node = unifieddyes.after_dig_node, }) minetest.register_node("unifiedbricks:brickblock_multicolor_light", { @@ -181,10 +197,13 @@ minetest.register_node("unifiedbricks:brickblock_multicolor_light", { paramtype = "light", paramtype2 = "color", palette = "unifieddyes_palette_extended.png", + place_param2 = 240, is_ground_content = true, groups = {cracky=3, ud_param2_colorable = 1}, sounds = default.node_sound_stone_defaults(), on_construct = unifieddyes.on_construct, + after_place_node = unifieddyes.recolor_on_place, + after_dig_node = unifieddyes.after_dig_node, }) minetest.register_craft( { @@ -220,61 +239,6 @@ minetest.register_craft( { }, }) -unifieddyes.register_color_craft({ - output = "unifiedbricks:brickblock", - palette = "extended", - neutral_node = "default:brick", - type = "shapeless", - recipe = { - "NEUTRAL_NODE", - "MAIN_DYE" - } -}) - -unifieddyes.register_color_craft({ - output = "unifiedbricks:clayblock", - palette = "extended", - neutral_node = "default:clay", - type = "shapeless", - recipe = { - "NEUTRAL_NODE", - "MAIN_DYE" - } -}) - -unifieddyes.register_color_craft({ - output = "unifiedbricks:brickblock_multicolor_dark", - palette = "extended", - neutral_node = "unifiedbricks:brickblock_multicolor_dark", - type = "shapeless", - recipe = { - "NEUTRAL_NODE", - "MAIN_DYE" - } -}) - -unifieddyes.register_color_craft({ - output = "unifiedbricks:brickblock_multicolor_medium", - palette = "extended", - neutral_node = "unifiedbricks:brickblock_multicolor_medium", - type = "shapeless", - recipe = { - "NEUTRAL_NODE", - "MAIN_DYE" - } -}) - -unifieddyes.register_color_craft({ - output = "unifiedbricks:brickblock_multicolor_light", - palette = "extended", - neutral_node = "unifiedbricks:brickblock_multicolor_light", - type = "shapeless", - recipe = { - "NEUTRAL_NODE", - "MAIN_DYE" - } -}) - -- static nodes unifiedbricks.register_old_static_block = function(name, formalname, blocktype) @@ -379,4 +343,24 @@ minetest.register_lbm({ end }) +minetest.register_lbm({ + name = "unifiedbricks:recolor_bricks", + label = "Convert 89-color bricks to use UD extended palette", + run_at_every_load = false, + nodenames = { + "unifiedbricks:clayblock", + "unifiedbricks:brickblock", + "unifiedbricks:brickblock_multicolor_dark", + "unifiedbricks:brickblock_multicolor_medium", + "unifiedbricks:brickblock_multicolor_light", + }, + action = function(pos, node) + local meta = minetest.get_meta(pos) + if meta:get_string("palette") ~= "ext" then + minetest.swap_node(pos, { name = node.name, param2 = unifieddyes.convert_classic_palette[node.param2] }) + meta:set_string("palette", "ext") + end + end +}) + print("[UnifiedBricks] Loaded!") diff --git a/unifieddyes/API.md b/unifieddyes/API.md index 6f1b9d0..08b2ee2 100644 --- a/unifieddyes/API.md +++ b/unifieddyes/API.md @@ -12,8 +12,8 @@ minetest.register_node("mymod:colored_node", { paramtype2 = "color", palette = "unifieddyes_palette_extended.png", groups = {snappy = 1, cracky = 2, ud_param2_colorable = 1} - on_construct = unifieddyes.on_construct, - airbrush_replacement_node = "mymod:my_other_colored_node" + airbrush_replacement_node = "mymod:my_other_colored_node", + on_dig = unifieddyes.on_dig }) ``` @@ -32,12 +32,14 @@ minetest.register_node("mymod:colored_node", { If your node if of the kind where you need the split palette, but you need to put the *full color name* into the node name, as opposed to just the hue, then add the keys `ud_color_start` and `ud_color_end` and set them to the positions of the first and last characters of the color name (where 1 is the first character of the mod name at the start of the node name, i.e. "mymod:foo_bar_orange_baz" would have the start set to 15 and the end at 20). -`on_construct`: see below. - `airbrush_replacement_node`: The node to swap in when the airbrush is used on this node. For example, you could `minetest.override_item()` on some default node to add this field, pointing to a colorable node of your own, so that when the default node is painted, it's replaced with yours in the new color. #### Function calls +**`unifieddyes.on_dig(pos, node, digger)`** + +Set in a node definition's `on_dig` callback, this makes sure that if the player digs a neutral node, i.e. a colorable node that was left uncolored/white after placing, they receive a version of that item that has been stripped of its itemstack color setting, so that it is identical to what would have been in their inventory when that node was originally placed. This prevents the engine splitting stacks of that item due to technically-different but visually-identical itemstack coloring. This function is only needed in the definition of colorable versions of a node, not any uncolored counterparts. For example, if you have a mod that has a simple, wooden chair, and the mod turns it into one with a colored seat cushion when you airbrush or craft it with dye, then only that latter colored-seat version needs this function. + **`unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)` `unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)`** @@ -86,10 +88,6 @@ This is called when a node is punched while wielding the airbrush. This one does just what it sounds like - it shows the color selector formspec. -**`unifieddyes.on_construct(pos)`** - -This function, usually called from your node definition's `on_construct`, just sets the `palette = "ext"` metadata key for the node after it's been placed. This can then be read in an LBM to determine if this node needs to be converted from the old 89-color palette to the extended 256-color palette. Although it is good practice to call this for any node that uses the 256-color palette, it isn't actually necessary as long as the node has never used the 89-color palette, and won't be subjected to an LBM that changes its color. - **`unifieddyes.register_color_craft(recipe)`** This will loop through all of Unified Dyes' color lists, generating one recipe for every color in the palette given in the call. Example usage: @@ -127,7 +125,6 @@ Makes a colored itemstack out of the given `itemstack` and `color` (as a dye, e. Does just what it sounds like - it registers all the nodes that are needed for a given base node (`def`) to be able to use the split palette, each named according to `name`, with the palette hue appended. If a custom drop is needed, it can be passed along (only a string is allowed here, specifying a single item). - #### Tables In addition to the above API calls, Unified Dyes provides several useful tables @@ -151,8 +148,8 @@ If your mod used the old paradigm where you craft a neutral-colored item, place ```lua place_param2 = 240, after_dig_node = unifieddyes.after_dig_node, - after_place_node = unifieddyes.recolor_on_place, - ud_replacement_node = "mod:some_node" + ud_replacement_node = "mod:some_node", + on_dig = unifieddyes.on_dig ``` * Add the `airbrush_replacement_node` key to the node definition, if needed. @@ -167,10 +164,9 @@ If your mod used the old paradigm where you craft a neutral-colored item, place * Convert that remaining texture to grayscale, enhance its contrast as much as you can without distorting it, and rename it and the node it'll be used to something neutral-sounding. -* Add the `on_construct` and `palette` keys to your neutral node definition, for example: +* Add the `palette` key to your neutral node definition, for example: `palette = "unifieddyes_palette_extended.png",` - `on_construct = unifieddyes.on_construct,` * Adjust your node's groups to specify that the node can be colored. Example (note the last item): @@ -180,7 +176,7 @@ If your mod used the old paradigm where you craft a neutral-colored item, place * Add the above recipes helper call (which replaces those delted recipes) -* If your colored node is based on someone else's neutral node, for example if you made a mod that creates multiple colors of minetest_game's default clay, you may find it best to create a single "stand-in" node that's identical to the neutral node, but named for your mod, hidden from the creative inventory, and which has a properly-prepared grayscale texture image in addition to the above keys. Use `minetest.override_item()` to add the `on_construct`, `palette`, and `airbrush_replacement_node` keys, and the `ud_param2_colorable` group, to that "someone else's" node. Then use that node and your custom, hidden node in the craft helper call. +* If your colored node is based on someone else's neutral node, for example if you made a mod that creates multiple colors of minetest_game's default clay, you may find it best to create a single "stand-in" node that's identical to the neutral node, but named for your mod, hidden from the creative inventory, and which has a properly-prepared grayscale texture image in addition to the above keys. Use `minetest.override_item()` to add the `palette` and `airbrush_replacement_node` keys, and the `ud_param2_colorable` group, to that "someone else's" node. Then use that node and your custom, hidden node in the craft helper call. * You will need to write a run-only-once LBM to convert your old statically-colored nodes to use hardware coloring. See above for functions that will help reduce the work required for this part. diff --git a/unifieddyes/airbrush.lua b/unifieddyes/airbrush.lua new file mode 100644 index 0000000..262ca24 --- /dev/null +++ b/unifieddyes/airbrush.lua @@ -0,0 +1,503 @@ +-- This file supplies all the code related to the airbrush + +local S = minetest.get_translator("unifieddyes") + +function unifieddyes.on_airbrush(itemstack, player, pointed_thing) + local player_name = player:get_player_name() + local painting_with = nil + + if unifieddyes.player_current_dye[player_name] then + painting_with = unifieddyes.player_current_dye[player_name] + end + + if not painting_with then + minetest.chat_send_player(player_name, "*** You need to set a color first.") + minetest.chat_send_player(player_name, "*** Right-click any random node to open the color selector,") + minetest.chat_send_player(player_name, "*** or shift+right-click a colorized node to use its color.") + minetest.chat_send_player(player_name, "*** Be sure to click \"Accept\", or the color you select will be ignored.") + return + end + + local pos = minetest.get_pointed_thing_position(pointed_thing) + if not pos then + local look_angle = player:get_look_vertical() + if look_angle > -1.55 then + minetest.chat_send_player(player_name, "*** No node selected") + else + local hexcolor = unifieddyes.get_color_from_dye_name(painting_with) + if hexcolor then + local r = tonumber(string.sub(hexcolor,1,2),16) + local g = tonumber(string.sub(hexcolor,3,4),16) + local b = tonumber(string.sub(hexcolor,5,6),16) + player:set_sky({r=r,g=g,b=b,a=255},"plain") + end + end + return + end + + local node = minetest.get_node(pos) + local def = minetest.registered_items[node.name] + if not def then return end + + if minetest.is_protected(pos, player_name) then + minetest.chat_send_player(player_name, "*** Sorry, someone else owns that node.") + return + end + + if not (def.groups and def.groups.ud_param2_colorable and def.groups.ud_param2_colorable > 0) then + minetest.chat_send_player(player_name, "*** That node can't be colored.") + return + end + + local palette = nil + local fdir = 0 + if not def or not def.palette then + minetest.chat_send_player(player_name, "*** That node can't be colored -- it's either undefined or has no palette.") + return + elseif def.palette == "unifieddyes_palette_extended.png" then + palette = "extended" + elseif def.palette == "unifieddyes_palette_colorwallmounted.png" then + palette = "wallmounted" + fdir = node.param2 % 8 + elseif def.palette ~= "unifieddyes_palette_extended.png" + and def.palette ~= "unifieddyes_palette_colorwallmounted.png" + and string.find(def.palette, "unifieddyes_palette_") then + palette = "split" + fdir = node.param2 % 32 + else + minetest.chat_send_player(player_name, "*** That node can't be colored -- it has an invalid color mode.") + return + end + + local idx, hue = unifieddyes.getpaletteidx(painting_with, palette) + local inv = player:get_inventory() + if (not creative or not creative.is_enabled_for(player_name)) and not inv:contains_item("main", painting_with) then + local suff = "" + if not idx then + suff = " Besides, "..string.sub(painting_with, 5).." can't be applied to that node." + end + minetest.chat_send_player(player_name, "*** You're in survival mode, and you're out of "..string.sub(painting_with, 5).."."..suff) + return + end + + if not idx then + minetest.chat_send_player(player_name, "*** "..string.sub(painting_with, 5).." can't be applied to that node.") + return + end + + local oldidx = node.param2 - fdir + local name = def.airbrush_replacement_node or node.name + + if palette == "split" then + + local modname = string.sub(name, 1, string.find(name, ":")-1) + local nodename2 = string.sub(name, string.find(name, ":")+1) + local oldcolor = "snozzberry" + local newcolor = "razzberry" -- intentionally misspelled ;-) + + if def.ud_color_start and def.ud_color_end then + oldcolor = string.sub(node.name, def.ud_color_start, def.ud_color_end) + newcolor = string.sub(painting_with, 5) + else + if hue ~= 0 then + newcolor = unifieddyes.HUES_EXTENDED[hue][1] + else + newcolor = "grey" + end + + if def.airbrush_replacement_node then + oldcolor = "grey" + else + local s = string.sub(def.palette, 21) + oldcolor = string.sub(s, 1, string.find(s, "s.png")-1) + end + end + + name = modname..":"..string.gsub(nodename2, oldcolor, newcolor) + + if not minetest.registered_items[name] then + minetest.chat_send_player(player_name, "*** "..string.sub(painting_with, 5).." can't be applied to that node.") + return + end + elseif idx == oldidx then + return + end + minetest.swap_node(pos, {name = name, param2 = fdir + idx}) + if not creative or not creative.is_enabled_for(player_name) then + inv:remove_item("main", painting_with) + return + end +end + +local hps = 0.6 -- horizontal position scale +local vps = 1.3 -- vertical position scale +local vs = 0.1 -- vertical shift/offset + +local color_button_size = ";0.75,0.75;" +local color_square_size = ";0.69,0.69;" + +function unifieddyes.make_readable_color(color) + -- is this a low saturation color? + local has_low_saturtation = string.find(color, "s50"); + + -- remove _s50 tag, we care about that later again + local s = string.gsub(color, "_s50", "") + + -- replace underscores with spaces to make it look nicer + local s = string.gsub(s, "_", " ") + + -- capitalize words, you know, looks nicer ;) + s = string.gsub(s, "(%l)(%w*)", function(a,b) return string.upper(a)..b end) + + -- add the word dye, this is what the translations expect + s = s.." Dye" + + -- if it is a low sat color, append an appropriate string + if has_low_saturtation then + s = s.." (low saturation)" + end + + return s +end + +function unifieddyes.make_colored_square(hexcolor, colorname, showall, creative, painting_with, nodepalette, hp, v2, selindic, inv, explist) + + local dye = "dye:"..colorname + + local overlay = "" + local colorize = minetest.formspec_escape("^[colorize:#"..hexcolor..":255") + + if not creative and inv:contains_item("main", dye) then + overlay = "^unifieddyes_onhand_overlay.png" + end + + local unavail_overlay = "" + if not showall and not unifieddyes.palette_has_color[nodepalette.."_"..colorname] + or (explist and not explist[colorname]) then + if overlay == "" then + unavail_overlay = "^unifieddyes_unavailable_overlay.png" + else + unavail_overlay = "^unifieddyes_onhand_unavailable_overlay.png" + end + end + + local tooltip = "tooltip["..colorname..";".. + S(unifieddyes.make_readable_color(colorname)).. + "\n(dye:"..colorname..")]" + + if dye == painting_with then + overlay = "^unifieddyes_select_overlay.png" + selindic = "unifieddyes_white_square.png"..colorize..overlay..unavail_overlay.."]"..tooltip + end + + local form + if unavail_overlay == "" then + form = "image_button[".. + (hp*hps)..","..(v2*vps+vs).. + color_button_size.. + "unifieddyes_white_square.png"..colorize..overlay..unavail_overlay..";".. + colorname..";]".. + tooltip + else + form = "image[".. + (hp*hps)..","..(v2*vps+vs).. + color_square_size.. + "unifieddyes_white_square.png"..colorize..overlay..unavail_overlay.."]".. + tooltip + end + + return form, selindic +end + +function unifieddyes.show_airbrush_form(player) + if not player then return end + + local t = {} + + local player_name = player:get_player_name() + local painting_with = unifieddyes.player_selected_dye[player_name] or unifieddyes.player_current_dye[player_name] + local creative = creative and creative.is_enabled_for(player_name) + local inv = player:get_inventory() + local nodepalette = "extended" + local showall = unifieddyes.player_showall[player_name] + + t[1] = "size[14.5,8.5]label[7,-0.3;"..S("Select a color:").."]" + local selindic = "unifieddyes_select_overlay.png^unifieddyes_question.png]" + + local last_right_click = unifieddyes.player_last_right_clicked[player_name] + if last_right_click then + if not last_right_click.def then + last_right_click.def = {} + last_right_click.undef = true + elseif last_right_click.def.palette then + if last_right_click.def.palette == "unifieddyes_palette_colorwallmounted.png" then + nodepalette = "wallmounted" + elseif last_right_click.def.palette == "unifieddyes_palette_extended.png" then + t[#t+1] = "label[0.5,8.25;"..S("(Right-clicked a node that supports all 256 colors, showing them all)").."]" + showall = true + elseif last_right_click.def.palette ~= "unifieddyes_palette_extended.png" + and last_right_click.def.palette ~= "unifieddyes_palette_colorwallmounted.png" + and string.find(last_right_click.def.palette, "unifieddyes_palette_") then + nodepalette = "split" + end + end + end + + if last_right_click.undef then + t[#t+1] = "label[0.5,8.25;"..S("(Right-clicked an undefined node, showing all colors)").."]" + elseif not last_right_click.def.groups + or not last_right_click.def.groups.ud_param2_colorable + or not last_right_click.def.palette + or not string.find(last_right_click.def.palette, "unifieddyes_palette_") then + t[#t+1] = "label[0.5,8.25;"..S("(Right-clicked a node not supported by the Airbrush, showing all colors)").."]" + end + + local explist = last_right_click.def.explist + + for v = 0, 6 do + local val = unifieddyes.VALS_EXTENDED[v+1] + + local sat = "" + local v2=(v/2) + + for hi, h in ipairs(unifieddyes.HUES_EXTENDED) do + local hue = h[1] + local hp=hi-1 + + local r = h[2] + local g = h[3] + local b = h[4] + + local factor = 40 + if v > 3 then + factor = 75 + v2 = (v-2) + end + + local r2 = math.max(math.min(r + (4-v)*factor, 255), 0) + local g2 = math.max(math.min(g + (4-v)*factor, 255), 0) + local b2 = math.max(math.min(b + (4-v)*factor, 255), 0) + + local hexcolor = string.format("%02x", r2)..string.format("%02x", g2)..string.format("%02x", b2) + local f + f, selindic = unifieddyes.make_colored_square(hexcolor, val..hue..sat, showall, creative, painting_with, nodepalette, hp, v2, selindic, inv, explist) + t[#t+1] = f + end + + if v > 3 then + sat = "_s50" + v2 = (v-1.5) + + for hi, h in ipairs(unifieddyes.HUES_EXTENDED) do + local hue = h[1] + local hp=hi-1 + + local r = h[2] + local g = h[3] + local b = h[4] + + local factor = 75 + + local pr = 0.299 + local pg = 0.587 + local pb = 0.114 + + local r2 = math.max(math.min(r + (4-v)*factor, 255), 0) + local g2 = math.max(math.min(g + (4-v)*factor, 255), 0) + local b2 = math.max(math.min(b + (4-v)*factor, 255), 0) + + local p = math.sqrt(r2*r2*pr + g2*g2*pg + b2*b2*pb) + local r3 = math.floor(p+(r2-p)*0.5) + local g3 = math.floor(p+(g2-p)*0.5) + local b3 = math.floor(p+(b2-p)*0.5) + + local hexcolor = string.format("%02x", r3)..string.format("%02x", g3)..string.format("%02x", b3) + local f + f, selindic = unifieddyes.make_colored_square(hexcolor, val..hue..sat, showall, creative, painting_with, nodepalette, hp, v2, selindic, inv, explist) + t[#t+1] = f + end + end + end + + local v2=5 + for y = 0, 15 do + + local hp=15-y + + local hexgrey = string.format("%02x", y*17)..string.format("%02x", y*17)..string.format("%02x", y*17) + local grey = "grey_"..y + + if y == 0 then grey = "black" + elseif y == 4 then grey = "dark_grey" + elseif y == 8 then grey = "grey" + elseif y == 11 then grey = "light_grey" + elseif y == 15 then grey = "white" + end + + local f + f, selindic = unifieddyes.make_colored_square(hexgrey, grey, showall, creative, painting_with, nodepalette, hp, v2, selindic, inv, explist) + t[#t+1] = f + + end + + if not creative then + t[#t+1] = "image[10," + t[#t+1] = (vps*5.55+vs) + t[#t+1] = color_button_size + t[#t+1] = "unifieddyes_onhand_overlay.png]label[10.7," + t[#t+1] = (vps*5.51+vs) + t[#t+1] = ";"..S("Dyes").."]" + t[#t+1] = "label[10.7," + t[#t+1] = (vps*5.67+vs) + t[#t+1] = ";on hand]" + + end + + t[#t+1] = "image[10," + t[#t+1] = (vps*5+vs) + t[#t+1] = color_button_size + t[#t+1] = selindic + + if painting_with then + t[#t+1] = "label[10.7," + t[#t+1] = (vps*4.90+vs) + t[#t+1] = ";"..S("Your selection:").."]" + t[#t+1] = "label[10.7," + t[#t+1] = (vps*5.07+vs) + t[#t+1] = ";" + t[#t+1] = S(unifieddyes.make_readable_color(string.sub(painting_with, 5))) + t[#t+1] = "]label[10.7," + t[#t+1] = (vps*5.24+vs) + t[#t+1] = ";(" + t[#t+1] = painting_with + t[#t+1] = ")]" + else + t[#t+1] = "label[10.7," + t[#t+1] = (vps*5.07+vs) + t[#t+1] = ";"..S("Your selection").."]" + end + + t[#t+1] = "button_exit[10.5,8;2,1;cancel;"..S("Cancel").."]button_exit[12.5,8;2,1;accept;"..S("Accept").."]" + + + if last_right_click and last_right_click.def and nodepalette ~= "extended" then + if showall then + t[#t+1] = "button[0,8;2,1;show_avail;"..S("Show Available").."]" + t[#t+1] = "label[2,8.25;"..S("(Currently showing all 256 colors)").."]" + else + t[#t+1] = "button[0,8;2,1;show_all;"..S("Show All Colors").."]" + t[#t+1] = "label[2,8.25;"..S("(Currently only showing what the right-clicked node can use)").."]" + end + end + + minetest.show_formspec(player_name, "unifieddyes:dye_select_form", table.concat(t)) +end + +minetest.register_on_player_receive_fields(function(player, formname, fields) + + if formname == "unifieddyes:dye_select_form" then + + local player_name = player:get_player_name() + local nodepalette = "extended" + local showall = unifieddyes.player_showall[player_name] + + local last_right_click = unifieddyes.player_last_right_clicked[player_name] + if last_right_click and last_right_click.def then + if last_right_click.def.palette then + if last_right_click.def.palette == "unifieddyes_palette_colorwallmounted.png" then + nodepalette = "wallmounted" + elseif last_right_click.def.palette ~= "unifieddyes_palette_extended.png" then + nodepalette = "split" + end + end + end + + if fields.show_all then + unifieddyes.player_showall[player_name] = true + unifieddyes.show_airbrush_form(player) + return + elseif fields.show_avail then + unifieddyes.player_showall[player_name] = false + unifieddyes.show_airbrush_form(player) + return + elseif fields.quit then + if fields.accept then + local dye = unifieddyes.player_selected_dye[player_name] + if not dye then + minetest.chat_send_player(player_name, "*** Clicked \"Accept\", but no color was selected!") + return + elseif not showall + and not unifieddyes.palette_has_color[nodepalette.."_"..string.sub(dye, 5)] then + minetest.chat_send_player(player_name, "*** Clicked \"Accept\", but the selected color can't be used on the") + minetest.chat_send_player(player_name, "*** node that was right-clicked (and \"Show All\" wasn't in effect).") + if unifieddyes.player_current_dye[player_name] then + minetest.chat_send_player(player_name, "*** Ignoring it and sticking with "..string.sub(unifieddyes.player_current_dye[player_name], 5)..".") + else + minetest.chat_send_player(player_name, "*** Ignoring it.") + end + return + else + unifieddyes.player_current_dye[player_name] = dye + unifieddyes.player_selected_dye[player_name] = nil + minetest.chat_send_player(player_name, "*** Selected "..string.sub(dye, 5).." for the airbrush.") + return + end + else -- assume "Cancel" or Esc. + unifieddyes.player_selected_dye[player_name] = nil + return + end + else + local s1 = string.sub(minetest.serialize(fields), 11) + local s3 = string.sub(s1,1, string.find(s1, '"')-1) + + local inv = player:get_inventory() + local creative = creative and creative.is_enabled_for(player_name) + local dye = "dye:"..s3 + + if (showall or unifieddyes.palette_has_color[nodepalette.."_"..s3]) and + (minetest.registered_items[dye] and (creative or inv:contains_item("main", dye))) then + unifieddyes.player_selected_dye[player_name] = dye + unifieddyes.show_airbrush_form(player) + end + end + end +end) + +minetest.register_tool("unifieddyes:airbrush", { + description = S("Dye Airbrush"), + inventory_image = "unifieddyes_airbrush.png", + use_texture_alpha = true, + tool_capabilities = { + full_punch_interval=0.1, + }, + range = 12, + on_use = unifieddyes.on_airbrush, + on_place = function(itemstack, placer, pointed_thing) + local keys = placer:get_player_control() + local player_name = placer:get_player_name() + local pos = minetest.get_pointed_thing_position(pointed_thing) + local node + local def + + if pos then node = minetest.get_node(pos) end + if node then def = minetest.registered_items[node.name] end + + unifieddyes.player_last_right_clicked[player_name] = {pos = pos, node = node, def = def} + + if not keys.aux1 then + unifieddyes.show_airbrush_form(placer) + elseif keys.aux1 then + if not pos or not def then return end + local newcolor = unifieddyes.color_to_name(node.param2, def) + + if newcolor and string.find(def.paramtype2, "color") then + minetest.chat_send_player(player_name, "*** Switching to "..newcolor.." for the airbrush, to match that node.") + unifieddyes.player_current_dye[player_name] = "dye:"..newcolor + else + minetest.chat_send_player(player_name, "*** That node is uncolored.") + end + elseif def.on_rightclick then + return def.on_rightclick(pos, node, placer, itemstack, pointed_thing) + end + end +}) diff --git a/unifieddyes/aliases.lua b/unifieddyes/aliases.lua new file mode 100644 index 0000000..785eb58 --- /dev/null +++ b/unifieddyes/aliases.lua @@ -0,0 +1,23 @@ +minetest.register_alias("dye:light_red", "dye:pink") +minetest.register_alias("dye:medium_orange", "dye:brown") + +minetest.register_alias("unifieddyes:black", "dye:black") +minetest.register_alias("unifieddyes:dark_grey", "dye:dark_grey") +minetest.register_alias("unifieddyes:grey", "dye:grey") +minetest.register_alias("unifieddyes:light_grey", "dye:light_grey") +minetest.register_alias("unifieddyes:white", "dye:white") + +minetest.register_alias("unifieddyes:grey_0", "dye:black") +minetest.register_alias("unifieddyes:grey_4", "dye:dark_grey") +minetest.register_alias("unifieddyes:grey_8", "dye:grey") +minetest.register_alias("unifieddyes:grey_11", "dye:light_grey") +minetest.register_alias("unifieddyes:grey_15", "dye:white") + +minetest.register_alias("unifieddyes:white_paint", "dye:white") +minetest.register_alias("unifieddyes:titanium_dioxide", "dye:white") +minetest.register_alias("unifieddyes:lightgrey_paint", "dye:light_grey") +minetest.register_alias("unifieddyes:grey_paint", "dye:grey") +minetest.register_alias("unifieddyes:darkgrey_paint", "dye:dark_grey") +minetest.register_alias("unifieddyes:carbon_black", "dye:black") + +minetest.register_alias("unifieddyes:brown", "dye:brown") diff --git a/unifieddyes/api.lua b/unifieddyes/api.lua new file mode 100644 index 0000000..8b4eb14 --- /dev/null +++ b/unifieddyes/api.lua @@ -0,0 +1,494 @@ +-- This file supplies the majority of Unified Dyes' API + +local S = minetest.get_translator("unifieddyes") + +unifieddyes.player_current_dye = {} +unifieddyes.player_selected_dye = {} +unifieddyes.player_last_right_clicked = {} +unifieddyes.palette_has_color = {} +unifieddyes.player_showall = {} + +-- if a node with a palette is placed in the world, +-- but the itemstack used to place it has no palette_index (color byte), +-- create something appropriate to make it officially white. + +minetest.register_on_placenode( + function(pos, newnode, placer, oldnode, itemstack, pointed_thing) + local def = minetest.registered_items[newnode.name] + + if not def + or not def.palette + or def.after_place_node + or not placer then + return false + end + + local param2 + if not string.find(itemstack:to_string(), "palette_index") then + if def.palette == "unifieddyes_palette_extended.png" + and def.paramtype2 == "color" then + param2 = 240 + elseif def.palette == "unifieddyes_palette_colorwallmounted.png" + and def.paramtype2 == "colorwallmounted" then + param2 = newnode.param2 % 8 + elseif string.find(def.palette, "unifieddyes_palette_") + and def.paramtype2 == "colorfacedir" then -- it's a split palette + param2 = newnode.param2 % 32 + end + + if param2 then + minetest.swap_node(pos, {name = newnode.name, param2 = param2}) + end + end + + if def.palette ~= "" then + minetest.get_meta(pos):set_int("palette_index", param2 or 240) + end + end +) + +-- The complementary function: strip-off the color if the node being dug is still white/neutral + +local function move_item(item, pos, inv, digger, fix_color) + if not (digger and digger:is_player()) then return end + local creative = creative_mode or minetest.check_player_privs(digger, "creative") + item = unifieddyes.fix_bad_color_info(item, fix_color) + if inv:room_for_item("main", item) + and (not creative or not inv:contains_item("main", item, true)) then + inv:add_item("main", item) + elseif not creative then + minetest.item_drop(ItemStack(item), digger, pos) + end + minetest.remove_node(pos) +end + +function unifieddyes.on_dig(pos, node, digger) + if not digger then return end + local playername = digger:get_player_name() + if minetest.is_protected(pos, playername) then + minetest.record_protection_violation(pos, playername) + return + end + + local oldparam2 = minetest.get_node(pos).param2 + local def = minetest.registered_items[node.name] + local fix_color + + if def.paramtype2 == "color" and oldparam2 == 240 and def.palette == "unifieddyes_palette_extended.png" then + fix_color = 240 + elseif def.paramtype2 == "color" and oldparam2 == 0 and def.palette == "unifieddyes_palette_extended.png" then + fix_color = 0 + elseif def.paramtype2 == "colorwallmounted" and math.floor(oldparam2 / 8) == 0 and def.palette == "unifieddyes_palette_colorwallmounted.png" then + fix_color = 0 + elseif def.paramtype2 == "colorfacedir" and math.floor(oldparam2 / 32) == 0 and string.find(def.palette, "unifieddyes_palette_") then + fix_color = 0 + end + + local inv = digger:get_inventory() + if fix_color then + move_item(node.name, pos, inv, digger, fix_color) + else + return minetest.node_dig(pos, node, digger) + end +end + +-- just stubs to keep old mods from crashing when expecting auto-coloring +-- or getting back the dye on dig. + +function unifieddyes.recolor_on_place(foo) +end + +function unifieddyes.after_dig_node(foo) +end + +-- This helper function creates multiple copies of the passed node, +-- for the split palette - one per hue, plus grey - and assigns +-- proper palettes and other attributes + +function unifieddyes.generate_split_palette_nodes(name, def, drop) + for _, color in ipairs(unifieddyes.HUES_WITH_GREY) do + local def2 = table.copy(def) + local desc_color = string.gsub(string.upper(string.sub(color, 1, 1))..string.sub(color, 2), "_", " ") + if string.sub(def2.description, -1) == ")" then + def2.description = string.sub(def2.description, 1, -2)..", "..desc_color.." shades)" + else + def2.description = def2.description.."("..desc_color.." shades)" + end + def2.palette = "unifieddyes_palette_"..color.."s.png" + def2.paramtype2 = "colorfacedir" + def2.groups.ud_param2_colorable = 1 + + if drop then + def2.drop = { + items = { + {items = {drop.."_"..color}, inherit_color = true }, + } + } + end + + minetest.register_node(":"..name.."_"..color, def2) + end +end + +-- This helper function creates a colored itemstack + +function unifieddyes.fix_bad_color_info(item, paletteidx) + local stack=minetest.itemstring_with_color(item, paletteidx) + return string.gsub(stack, "u0001color", "u0001palette_index") +end + +function unifieddyes.make_colored_itemstack(item, palette, color) + local paletteidx = unifieddyes.getpaletteidx(color, palette) + return unifieddyes.fix_bad_color_info(item, paletteidx), paletteidx +end + +-- these helper functions register all of the recipes needed to create colored +-- nodes with any of the dyes supported by that node's palette. + +local function register_c(craft, h, sat, val) + local hue = (type(h) == "table") and h[1] or h + local color = "" + if val then + if craft.palette == "wallmounted" then + color = val..hue..sat + else + color = val..hue..sat + end + else + color = hue -- if val is nil, then it's grey. + end + + local dye = "dye:"..color + local recipe = minetest.serialize(craft.recipe) + recipe = string.gsub(recipe, "MAIN_DYE", dye) + recipe = string.gsub(recipe, "NEUTRAL_NODE", craft.neutral_node) + local newrecipe = minetest.deserialize(recipe) + + local coutput = craft.output or "" + local output = coutput + if craft.output_prefix then + if craft.palette ~= "split" then + output = craft.output_prefix..color..craft.output_suffix..coutput + else + if hue == "white" or hue == "black" or string.find(hue, "grey") then + output = craft.output_prefix.."grey"..craft.output_suffix..coutput + elseif hue == "pink" then + dye = "dye:light_red" + output = craft.output_prefix.."red"..craft.output_suffix..coutput + else + output = craft.output_prefix..hue..craft.output_suffix..coutput + end + end + end + + local colored_itemstack = + unifieddyes.make_colored_itemstack(output, craft.palette, dye) + + minetest.register_craft({ + output = colored_itemstack, + type = craft.type, + recipe = newrecipe + }) + +end + +function unifieddyes.register_color_craft(craft) + local hues_table = unifieddyes.HUES_EXTENDED + local sats_table = unifieddyes.SATS + local vals_table = unifieddyes.VALS_SPLIT + local greys_table = unifieddyes.GREYS + + if craft.palette == "wallmounted" then + register_c(craft, "green", "", "light_") + register_c(craft, "blue", "", "light_") + hues_table = unifieddyes.HUES_WALLMOUNTED + sats_table = {""} + vals_table = unifieddyes.VALS + elseif craft.palette == "extended" then + vals_table = unifieddyes.VALS_EXTENDED + greys_table = unifieddyes.GREYS_EXTENDED + end + + for _, hue in ipairs(hues_table) do + for _, val in ipairs(vals_table) do + for _, sat in ipairs(sats_table) do + + if sat == "_s50" and val ~= "" and val ~= "medium_" and val ~= "dark_" then break end + register_c(craft, hue, sat, val) + + end + end + end + + for _, grey in ipairs(greys_table) do + register_c(craft, grey) + end + + register_c(craft, "pink") + +end + +-- code borrowed from homedecor +-- call this function to reset the rotation of a "wallmounted" object on place + +function unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) + local node = minetest.get_node(pos) + local colorbits = node.param2 - (node.param2 % 8) + + local yaw = placer:get_look_horizontal() + local dir = minetest.yaw_to_dir(yaw) -- -1.5) + local pitch = placer:get_look_vertical() + + local fdir = minetest.dir_to_wallmounted(dir) + + if pitch < -(math.pi/8) then + fdir = 0 + elseif pitch > math.pi/8 then + fdir = 1 + end + minetest.swap_node(pos, { name = node.name, param2 = fdir+colorbits }) +end + +-- use this when you have a "wallmounted" node that should never be oriented +-- to floor or ceiling... + +function unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) + local node = minetest.get_node(pos) + local colorbits = node.param2 - (node.param2 % 8) + local yaw = placer:get_look_horizontal() + local dir = minetest.yaw_to_dir(yaw+1.5) + local fdir = minetest.dir_to_wallmounted(dir) + + minetest.swap_node(pos, { name = node.name, param2 = fdir+colorbits }) +end + +-- ... and use this one to force that kind of node off of floor/ceiling +-- orientation after the screwdriver rotates it. + +function unifieddyes.fix_after_screwdriver_nsew(pos, node, user, mode, new_param2) + local new_fdir = new_param2 % 8 + local color = new_param2 - new_fdir + if new_fdir < 2 then + new_fdir = 2 + minetest.swap_node(pos, { name = node.name, param2 = new_fdir + color }) + return true + end +end + +function unifieddyes.is_buildable_to(placer_name, ...) + for _, pos in ipairs({...}) do + local node = minetest.get_node_or_nil(pos) + local def = node and minetest.registered_nodes[node.name] + if not (def and def.buildable_to) or minetest.is_protected(pos, placer_name) then + return false + end + end + return true +end + +function unifieddyes.get_hsv(name) -- expects a node/item name + local hue = "" + local a,b + for _, i in ipairs(unifieddyes.HUES_EXTENDED) do + a,b = string.find(name, "_"..i[1]) + if a then + hue = i[1] + break + end + end + + if string.find(name, "_light_grey") then hue = "light_grey" + elseif string.find(name, "_lightgrey") then hue = "light_grey" + elseif string.find(name, "_dark_grey") then hue = "dark_grey" + elseif string.find(name, "_darkgrey") then hue = "dark_grey" + elseif string.find(name, "_grey") then hue = "grey" + elseif string.find(name, "_white") then hue = "white" + elseif string.find(name, "_black") then hue = "black" + end + + local sat = "" + if string.find(name, "_s50") then sat = "_s50" end + + local val = "" + if string.find(name, "dark_") then val = "dark_" end + if string.find(name, "medium_") then val = "medium_" end + if string.find(name, "light_") then val = "light_" end + + return hue, sat, val +end + +-- code partially borrowed from cheapie's plasticbox mod + +-- in the function below, color is just a color string, while +-- palette_type can be: +-- +-- "extended" = 256 color palette +-- "split" = 200 color palette split into pieces for colorfacedir +-- "wallmounted" = 32-color abridged palette + +function unifieddyes.getpaletteidx(color, palette_type) + + local origcolor = color + + if string.sub(color,1,4) == "dye:" then + color = string.sub(color,5,-1) + elseif string.sub(color,1,12) == "unifieddyes:" then + color = string.sub(color,13,-1) + else + return + end + + if palette_type == "wallmounted" then + if unifieddyes.gpidx_grayscale_wallmounted[color] then + return (unifieddyes.gpidx_grayscale_wallmounted[color] * 8), 0 + end + elseif palette_type == "split" then + if unifieddyes.gpidx_grayscale[color] then + return (unifieddyes.gpidx_grayscale[color] * 32), 0 + end + elseif palette_type == "extended" then + if unifieddyes.gpidx_grayscale_extended[color] then + return unifieddyes.gpidx_grayscale_extended[color]+240, 0 + end + end + + local shade = "" -- assume full + if string.sub(color,1,6) == "faint_" then + shade = "faint" + color = string.sub(color,7,-1) + elseif string.sub(color,1,7) == "pastel_" then + shade = "pastel" + color = string.sub(color,8,-1) + elseif string.sub(color,1,6) == "light_" then + shade = "light" + color = string.sub(color,7,-1) + elseif string.sub(color,1,7) == "bright_" then + shade = "bright" + color = string.sub(color,8,-1) + elseif string.sub(color,1,7) == "medium_" then + shade = "medium" + color = string.sub(color,8,-1) + elseif string.sub(color,1,5) == "dark_" then + shade = "dark" + color = string.sub(color,6,-1) + end + if string.sub(color,-4,-1) == "_s50" then + shade = shade.."s50" + color = string.sub(color,1,-5) + end + + if palette_type == "wallmounted" then + if color == "green" and shade == "light" then return 48,3 + elseif color == "brown" then return 17,1 + elseif color == "pink" then return 56,7 + elseif color == "blue" and shade == "light" then return 40,5 + elseif unifieddyes.gpidx_hues_wallmounted[color] and unifieddyes.gpidx_shades_wallmounted[shade] then + return (unifieddyes.gpidx_shades_wallmounted[shade] * 64 + unifieddyes.gpidx_hues_wallmounted[color] * 8), unifieddyes.gpidx_hues_wallmounted[color] + end + else + if color == "brown" then + color = "orange" + shade = "medium" + elseif color == "pink" then + color = "red" + shade = "light" + end + if palette_type == "split" then -- it's colorfacedir + if unifieddyes.gpidx_hues_extended[color] and unifieddyes.gpidx_shades_split[shade] then + return (unifieddyes.gpidx_shades_split[shade] * 32), unifieddyes.gpidx_hues_extended[color]+1 + end + elseif palette_type == "extended" then + if unifieddyes.gpidx_hues_extended[color] and unifieddyes.gpidx_shades_extended[shade] then + return (unifieddyes.gpidx_hues_extended[color] + unifieddyes.gpidx_shades_extended[shade]*24), unifieddyes.gpidx_hues_extended[color] + end + end + end +end + +function unifieddyes.get_color_from_dye_name(name) + if name == "dye:black" then + return "000000" + elseif name == "dye:white" then + return "ffffff" + end + local item = minetest.registered_items[name] + if not item then return end + local inv_image = item.inventory_image + if not inv_image then return end + return string.match(inv_image,"colorize:#(......):200") +end + +-- get a node's dye color based on its palette and param2 + +function unifieddyes.color_to_name(param2, def) + if not param2 or not def or not def.palette then return end + + if def.palette == "unifieddyes_palette_extended.png" then + local color = param2 + + local v = 0 + local s = 1 + if color < 24 then v = 1 + elseif color > 23 and color < 48 then v = 2 + elseif color > 47 and color < 72 then v = 3 + elseif color > 71 and color < 96 then v = 4 + elseif color > 95 and color < 120 then v = 5 + elseif color > 119 and color < 144 then v = 5 s = 2 + elseif color > 143 and color < 168 then v = 6 + elseif color > 167 and color < 192 then v = 6 s = 2 + elseif color > 191 and color < 216 then v = 7 + elseif color > 215 and color < 240 then v = 7 s = 2 + end + + if color > 239 then + if color == 240 then return "white" + elseif color == 244 then return "light_grey" + elseif color == 247 then return "grey" + elseif color == 251 then return "dark_grey" + elseif color == 255 then return "black" + else return "grey_"..15-(color-240) + end + else + local h = color - math.floor(color/24)*24 + return unifieddyes.VALS_EXTENDED[v]..unifieddyes.HUES_EXTENDED[h+1][1]..unifieddyes.SATS[s] + end + + elseif def.palette == "unifieddyes_palette_colorwallmounted.png" then + local color = math.floor(param2 / 8) + if color == 0 then return "white" + elseif color == 1 then return "light_grey" + elseif color == 2 then return "grey" + elseif color == 3 then return "dark_grey" + elseif color == 4 then return "black" + elseif color == 5 then return "light_blue" + elseif color == 6 then return "light_green" + elseif color == 7 then return "pink" + end + local v = math.floor(color/8) + local h = color - v * 8 + return unifieddyes.VALS[v]..unifieddyes.HUES_WALLMOUNTED[h+1] + + elseif string.find(def.palette, "unifieddyes_palette") then -- it's the split palette + -- palette names in this mode are always "unifieddyes_palette_COLORs.png" + + local s = string.sub(def.palette, 21) + local color = string.sub(s, 1, string.find(s, "s.png")-1) + + local v = math.floor(param2/32) + if color ~= "grey" then + if v == 0 then return "faint_"..color + elseif v == 1 then return color + elseif v == 2 then return color.."_s50" + elseif v == 3 then return "light_"..color + elseif v == 4 then return "medium_"..color + elseif v == 5 then return "medium_"..color.."_s50" + elseif v == 6 then return "dark_"..color + elseif v == 7 then return "dark_"..color.."_s50" + end + else + if v > 0 and v < 6 then return unifieddyes.GREYS[v] + else return "white" + end + end + end +end diff --git a/unifieddyes/color-tables.lua b/unifieddyes/color-tables.lua new file mode 100644 index 0000000..12eaa32 --- /dev/null +++ b/unifieddyes/color-tables.lua @@ -0,0 +1,237 @@ + +-- the names of the various colors here came from http://www.procato.com/rgb+index/ + +unifieddyes.HUES_EXTENDED = { + { "red", 0xff, 0x00, 0x00 }, + { "vermilion", 0xff, 0x40, 0x00 }, + { "orange", 0xff, 0x80, 0x00 }, + { "amber", 0xff, 0xbf, 0x00 }, + { "yellow", 0xff, 0xff, 0x00 }, + { "lime", 0xbf, 0xff, 0x00 }, + { "chartreuse", 0x80, 0xff, 0x00 }, + { "harlequin", 0x40, 0xff, 0x00 }, + { "green", 0x00, 0xff, 0x00 }, + { "malachite", 0x00, 0xff, 0x40 }, + { "spring", 0x00, 0xff, 0x80 }, + { "turquoise", 0x00, 0xff, 0xbf }, + { "cyan", 0x00, 0xff, 0xff }, + { "cerulean", 0x00, 0xbf, 0xff }, + { "azure", 0x00, 0x80, 0xff }, + { "sapphire", 0x00, 0x40, 0xff }, + { "blue", 0x00, 0x00, 0xff }, + { "indigo", 0x40, 0x00, 0xff }, + { "violet", 0x80, 0x00, 0xff }, + { "mulberry", 0xbf, 0x00, 0xff }, + { "magenta", 0xff, 0x00, 0xff }, + { "fuchsia", 0xff, 0x00, 0xbf }, + { "rose", 0xff, 0x00, 0x80 }, + { "crimson", 0xff, 0x00, 0x40 } +} + +unifieddyes.HUES_WITH_GREY = {} + +for _,i in ipairs(unifieddyes.HUES_EXTENDED) do + table.insert(unifieddyes.HUES_WITH_GREY, i[1]) +end +table.insert(unifieddyes.HUES_WITH_GREY, "grey") + +unifieddyes.HUES_WALLMOUNTED = { + "red", + "orange", + "yellow", + "green", + "cyan", + "blue", + "violet", + "magenta" +} + +unifieddyes.SATS = { + "", + "_s50" +} + +unifieddyes.VALS = { + "", + "medium_", + "dark_" +} + +unifieddyes.VALS_SPLIT = { + "faint_", + "light_", + "", + "medium_", + "dark_" +} + +unifieddyes.VALS_EXTENDED = { + "faint_", + "pastel_", + "light_", + "bright_", + "", + "medium_", + "dark_" +} + +unifieddyes.GREYS = { + "white", + "light_grey", + "grey", + "dark_grey", + "black" +} + +unifieddyes.GREYS_EXTENDED = table.copy(unifieddyes.GREYS) + +for i = 1, 14 do + if i ~= 0 and i ~= 4 and i ~= 8 and i ~= 11 and i ~= 15 then + table.insert(unifieddyes.GREYS_EXTENDED, "grey_"..i) + end +end + +local default_dyes = { + "black", + "blue", + "brown", + "cyan", + "dark_green", + "dark_grey", + "green", + "grey", + "magenta", + "orange", + "pink", + "red", + "violet", + "white", + "yellow" +} + +-- reverse lookups for getpaletteidx() + +unifieddyes.gpidx_aliases = { + ["pink"] = "light_red", + ["brown"] = "medium_orange", + ["azure"] = "light_blue" +} + +unifieddyes.gpidx_grayscale = { + ["white"] = 1, + ["light_grey"] = 2, + ["grey"] = 3, + ["dark_grey"] = 4, + ["black"] = 5, +} + +unifieddyes.gpidx_grayscale_extended = { + ["white"] = 0, + ["grey_14"] = 1, + ["grey_13"] = 2, + ["grey_12"] = 3, + ["light_grey"] = 4, + ["grey_11"] = 4, + ["grey_10"] = 5, + ["grey_9"] = 6, + ["grey_8"] = 7, + ["grey"] = 7, + ["grey_7"] = 8, + ["grey_6"] = 9, + ["grey_5"] = 10, + ["grey_4"] = 11, + ["dark_grey"] = 11, + ["grey_3"] = 12, + ["grey_2"] = 13, + ["grey_1"] = 14, + ["black"] = 15, +} + +unifieddyes.gpidx_grayscale_wallmounted = { + ["white"] = 0, + ["light_grey"] = 1, + ["grey"] = 2, + ["dark_grey"] = 3, + ["black"] = 4, +} + +unifieddyes.gpidx_hues_extended = { + ["red"] = 0, + ["vermilion"] = 1, + ["orange"] = 2, + ["amber"] = 3, + ["yellow"] = 4, + ["lime"] = 5, + ["chartreuse"] = 6, + ["harlequin"] = 7, + ["green"] = 8, + ["malachite"] = 9, + ["spring"] = 10, + ["aqua"] = 10, + ["turquoise"] = 11, + ["cyan"] = 12, + ["cerulean"] = 13, + ["azure"] = 14, + ["skyblue"] = 14, + ["sapphire"] = 15, + ["blue"] = 16, + ["indigo"] = 17, + ["violet"] = 18, + ["mulberry"] = 19, + ["magenta"] = 20, + ["fuchsia"] = 21, + ["rose"] = 22, + ["redviolet"] = 22, + ["crimson"] = 23, +} + +unifieddyes.gpidx_hues_wallmounted = { + ["red"] = 0, + ["orange"] = 1, + ["yellow"] = 2, + ["green"] = 3, + ["cyan"] = 4, + ["blue"] = 5, + ["violet"] = 6, + ["magenta"] = 7 +} + +unifieddyes.gpidx_shades = { + [""] = 1, + ["s50"] = 2, + ["light"] = 3, + ["medium"] = 4, + ["mediums50"] = 5, + ["dark"] = 6, + ["darks50"] = 7, +} + +unifieddyes.gpidx_shades_split = { + ["faint"] = 0, + [""] = 1, + ["s50"] = 2, + ["light"] = 3, + ["medium"] = 4, + ["mediums50"] = 5, + ["dark"] = 6, + ["darks50"] = 7, +} + +unifieddyes.gpidx_shades_extended = { + ["faint"] = 0, + ["pastel"] = 1, + ["light"] = 2, + ["bright"] = 3, + [""] = 4, + ["s50"] = 5, + ["medium"] = 6, + ["mediums50"] = 7, + ["dark"] = 8, + ["darks50"] = 9 +} + +unifieddyes.gpidx_shades_wallmounted = { + [""] = 1, + ["medium"] = 2, + ["dark"] = 3 +} diff --git a/unifieddyes/depends.txt b/unifieddyes/depends.txt deleted file mode 100644 index b08c42c..0000000 --- a/unifieddyes/depends.txt +++ /dev/null @@ -1,4 +0,0 @@ -default -dye -intllib? - diff --git a/unifieddyes/description.txt b/unifieddyes/description.txt deleted file mode 100644 index ef5380e..0000000 --- a/unifieddyes/description.txt +++ /dev/null @@ -1 +0,0 @@ -Unified Dyes expands the standard dye set from 15 to 90 colors. diff --git a/unifieddyes/dyes-crafting.lua b/unifieddyes/dyes-crafting.lua new file mode 100644 index 0000000..2c11c41 --- /dev/null +++ b/unifieddyes/dyes-crafting.lua @@ -0,0 +1,309 @@ +-- crafting! + +-- Generate all dyes that are not part of the default minetest_game dyes mod + +local S = minetest.get_translator("unifieddyes") + +for _, h in ipairs(unifieddyes.HUES_EXTENDED) do + local hue = h[1] + local r = h[2] + local g = h[3] + local b = h[4] + + for v = 0, 6 do + local val = unifieddyes.VALS_EXTENDED[v+1] + + local factor = 40 + if v > 3 then factor = 75 end + + local r2 = math.max(math.min(r + (4-v)*factor, 255), 0) + local g2 = math.max(math.min(g + (4-v)*factor, 255), 0) + local b2 = math.max(math.min(b + (4-v)*factor, 255), 0) + + -- full-sat color + + local desc = hue:gsub("%a", string.upper, 1).." Dye" + + if val ~= "" then + desc = val:sub(1, -2):gsub("%a", string.upper, 1) .." "..desc + end + + local color = string.format("%02x", r2)..string.format("%02x", g2)..string.format("%02x", b2) + if minetest.registered_items["dye:"..val..hue] then + minetest.override_item("dye:"..val..hue, { + inventory_image = "unifieddyes_dye.png^[colorize:#"..color..":200", + }) + else + if (val..hue) ~= "medium_orange" + and (val..hue) ~= "light_red" then + minetest.register_craftitem(":dye:"..val..hue, { + description = S(desc), + inventory_image = "unifieddyes_dye.png^[colorize:#"..color..":200", + groups = { dye=1, not_in_creative_inventory=1 }, + }) + end + end + minetest.register_alias("unifieddyes:"..val..hue, "dye:"..val..hue) + + if v > 3 then -- also register the low-sat version + + local pr = 0.299 + local pg = 0.587 + local pb = 0.114 + + local p = math.sqrt(r2*r2*pr + g2*g2*pg + b2*b2*pb) + local r3 = math.floor(p+(r2-p)*0.5) + local g3 = math.floor(p+(g2-p)*0.5) + local b3 = math.floor(p+(b2-p)*0.5) + + local color = string.format("%02x", r3)..string.format("%02x", g3)..string.format("%02x", b3) + + minetest.register_craftitem(":dye:"..val..hue.."_s50", { + description = S(desc.." (low saturation)"), + inventory_image = "unifieddyes_dye.png^[colorize:#"..color..":200", + groups = { dye=1, not_in_creative_inventory=1 }, + }) + minetest.register_alias("unifieddyes:"..val..hue.."_s50", "dye:"..val..hue.."_s50") + end + end +end + +-- register the greyscales too :P + +for y = 1, 14 do -- colors 0 and 15 are black and white, default dyes + + if y ~= 4 and y ~= 8 and y~= 11 then -- don't register the three greys, they're done separately. + + local rgb = string.format("%02x", y*17)..string.format("%02x", y*17)..string.format("%02x", y*17) + local name = "grey_"..y + local desc = "Grey Dye #"..y + + minetest.register_craftitem(":dye:"..name, { + description = S(desc), + inventory_image = "unifieddyes_dye.png^[colorize:#"..rgb..":200", + groups = { dye=1, not_in_creative_inventory=1 }, + }) + minetest.register_alias("unifieddyes:"..name, "dye:"..name) + end +end + +minetest.override_item("dye:grey", { + inventory_image = "unifieddyes_dye.png^[colorize:#888888:200", +}) + +minetest.override_item("dye:dark_grey", { + inventory_image = "unifieddyes_dye.png^[colorize:#444444:200", +}) + +minetest.register_craftitem(":dye:light_grey", { + description = S("Light grey Dye"), + inventory_image = "unifieddyes_dye.png^[colorize:#cccccc:200", + groups = { dye=1, not_in_creative_inventory=1 }, +}) + +-- build a table of color <-> palette associations to reduce the need for +-- realtime lookups with getpaletteidx() + +for _, palette in ipairs({"extended", "split", "wallmounted"}) do + local palette2 = palette + + for i in ipairs(unifieddyes.SATS) do + local sat = (palette == "wallmounted") and "" or unifieddyes.SATS[i] + for _, hue in ipairs(unifieddyes.HUES_EXTENDED) do + for _, val in ipairs(unifieddyes.VALS_EXTENDED) do + local color = val..hue[1]..sat + if unifieddyes.getpaletteidx("dye:"..color, palette2) then + unifieddyes.palette_has_color[palette.."_"..color] = true + end + end + end + end + + for y = 0, 15 do + local grey = "grey_"..y + + if y == 0 then grey = "black" + elseif y == 4 then grey = "dark_grey" + elseif y == 8 then grey = "grey" + elseif y == 11 then grey = "light_grey" + elseif y == 15 then grey = "white" + end + if unifieddyes.getpaletteidx("dye:"..grey, palette2) then + unifieddyes.palette_has_color[palette.."_"..grey] = true + end + end +end + +unifieddyes.palette_has_color["wallmounted_light_red"] = true + +unifieddyes.base_color_crafts = { + { "red", "flowers:rose", nil, nil, nil, nil, 4 }, + { "vermilion", "dye:red", "dye:orange", nil, nil, nil, 3 }, + { "orange", "flowers:tulip", nil, nil, nil, nil, 4 }, + { "orange", "dye:red", "dye:yellow", nil, nil, nil, 2 }, + { "amber", "dye:orange", "dye:yellow", nil, nil, nil, 2 }, + { "yellow", "flowers:dandelion_yellow", nil, nil, nil, nil, 4 }, + { "lime", "dye:yellow", "dye:chartreuse", nil, nil, nil, 2 }, + { "lime", "dye:yellow", "dye:yellow", "dye:green", nil, nil, 3 }, + { "chartreuse", "dye:yellow", "dye:green", nil, nil, nil, 2 }, + { "harlequin", "dye:chartreuse", "dye:green", nil, nil, nil, 2 }, + { "harlequin", "dye:yellow", "dye:green", "dye:green", nil, nil, 3 }, + { "green", "default:cactus", nil, nil, nil, nil, 4 }, + { "green", "dye:yellow", "dye:blue", nil, nil, nil, 2 }, + { "malachite", "dye:green", "dye:spring", nil, nil, nil, 2 }, + { "malachite", "dye:green", "dye:green", "dye:cyan", nil, nil, 3 }, + { "malachite", "dye:green", "dye:green", "dye:green", "dye:blue", nil, 4 }, + { "spring", "dye:green", "dye:cyan", nil, nil, nil, 2 }, + { "spring", "dye:green", "dye:green", "dye:blue", nil, nil, 3 }, + { "turquoise", "dye:spring", "dye:cyan", nil, nil, nil, 2 }, + { "turquoise", "dye:green", "dye:cyan", "dye:cyan", nil, nil, 3 }, + { "turquoise", "dye:green", "dye:green", "dye:green", "dye:blue", "dye:blue", 5 }, + { "cyan", "dye:green", "dye:blue", nil, nil, nil, 2 }, + { "cerulean", "dye:cyan", "dye:azure", nil, nil, nil, 2 }, + { "cerulean", "dye:cyan", "dye:cyan", "dye:blue", nil, nil, 3 }, + { "cerulean", "dye:green", "dye:green", "dye:blue", "dye:blue", "dye:blue", 5 }, + { "azure", "dye:cyan", "dye:blue", nil, nil, nil, 2 }, + { "azure", "dye:green", "dye:blue", "dye:blue", nil, nil, 3 }, + { "sapphire", "dye:azure", "dye:blue", nil, nil, nil, 2 }, + { "sapphire", "dye:cyan", "dye:blue", "dye:blue", nil, nil, 3 }, + { "sapphire", "dye:green", "dye:blue", "dye:blue", "dye:blue", nil, 4 }, + { "blue", "flowers:geranium", nil, nil, nil, nil, 4 }, + { "indigo", "dye:blue", "dye:violet", nil, nil, nil, 2 }, + { "violet", "flowers:viola", nil, nil, nil, nil, 4 }, + { "violet", "dye:blue", "dye:magenta", nil, nil, nil, 2 }, + { "mulberry", "dye:violet", "dye:magenta", nil, nil, nil, 2 }, + { "mulberry", "dye:violet", "dye:blue", "dye:red", nil, nil, 3 }, + { "magenta", "dye:blue", "dye:red", nil, nil, nil, 2 }, + { "fuchsia", "dye:magenta", "dye:rose", nil, nil, nil, 2 }, + { "fuchsia", "dye:blue", "dye:red", "dye:rose", nil, nil, 3 }, + { "fuchsia", "dye:red", "dye:violet", nil, nil, nil, 2 }, + { "rose", "dye:magenta", "dye:red", nil, nil, nil, 2 }, + { "rose", "dye:red", "dye:red", "dye:blue", nil, nil, 3 }, + { "crimson", "dye:rose", "dye:red", nil, nil, nil, 2 }, + { "crimson", "dye:magenta", "dye:red", "dye:red", nil, nil, 3 }, + { "crimson", "dye:red", "dye:red", "dye:red", "dye:blue", nil, 4 }, + + { "black", "default:coal_lump", nil, nil, nil, nil, 4 }, + { "white", "flowers:dandelion_white", nil, nil, nil, nil, 4 }, +} + +unifieddyes.shade_crafts = { + { "faint_", "", "dye:white", "dye:white", "dye:white", 4 }, + { "pastel_", "", "dye:white", "dye:white", nil, 3 }, + { "light_", "", "dye:white", nil, nil, 2 }, + { "bright_", "", "color", "dye:white", nil, 3 }, + { "", "_s50", "dye:light_grey", nil, nil, 2 }, + { "", "_s50", "dye:black", "dye:white", "dye:white", 3 }, + { "medium_", "", "dye:black", nil, nil, 2 }, + { "medium_", "_s50", "dye:grey", nil, nil, 2 }, + { "medium_", "_s50", "dye:black", "dye:white", nil, 3 }, + { "dark_", "", "dye:black", "dye:black", nil, 3 }, + { "dark_", "_s50", "dye:dark_grey", nil, nil, 2 }, + { "dark_", "_s50", "dye:black", "dye:black", "dye:white", 4 }, +} + +for _,i in ipairs(unifieddyes.base_color_crafts) do + local color = i[1] + local yield = i[7] + + minetest.register_craft( { + type = "shapeless", + output = "dye:"..color.." "..yield, + recipe = { + i[2], + i[3], + i[4], + i[5], + i[6], + }, + }) + + for _,j in ipairs(unifieddyes.shade_crafts) do + local firstdye = j[3] + if firstdye == "color" then firstdye = "dye:"..color end + + -- ignore black, white, anything containing the word "grey" + + if color ~= "black" and color ~= "white" and not string.find(color, "grey") then + + minetest.register_craft( { + type = "shapeless", + output = "dye:"..j[1]..color..j[2].." "..j[6], + recipe = { + "dye:"..color, + firstdye, + j[4], + j[5] + }, + }) + end + end +end + +-- greys + +unifieddyes.greymixes = { + { 1, "dye:black", "dye:black", "dye:black", "dye:dark_grey", 4 }, + { 2, "dye:black", "dye:black", "dye:dark_grey", nil, 3 }, + { 3, "dye:black", "dye:dark_grey", nil, nil, 2 }, + { 4, "dye:white", "dye:black", "dye:black", nil, 3 }, + { 5, "dye:dark_grey", "dye:dark_grey", "dye:grey", nil, 3 }, + { 6, "dye:dark_grey", "dye:grey", nil, nil, 2 }, + { 7, "dye:dark_grey", "dye:grey", "dye:grey", nil, 3 }, + { 8, "dye:white", "dye:black", nil, nil, 2 }, + { 9, "dye:grey", "dye:grey", "dye:light_grey", nil, 3 }, + { 10, "dye:grey", "dye:light_grey", "dye:light_grey", nil, 3 }, + { 11, "dye:white", "dye:white", "dye:black", nil, 3 }, + { 12, "dye:light_grey", "dye:light_grey", "dye:white", nil, 3 }, + { 13, "dye:light_grey", "dye:white", nil, nil, 2 }, + { 14, "dye:white", "dye:white", "dye:light_grey", nil, 3 }, +} + +for _, i in ipairs(unifieddyes.greymixes) do + local shade = i[1] + local dye1 = i[2] + local dye2 = i[3] + local dye3 = i[4] + local dye4 = i[5] + local yield = i[6] + local color = "grey_"..shade + if shade == 4 then + color = "dark_grey" + elseif shade == 8 then + color = "grey" + elseif shade == 11 then + color = "light_grey" + end + + minetest.register_craft( { + type = "shapeless", + output = "dye:"..color.." "..yield, + recipe = { + dye1, + dye2, + dye3, + dye4, + }, + }) +end + +-- other crafts +-- we can't make dark orange anymore because brown/medium orange conflicts + +minetest.register_craft( { + type = "shapeless", + output = "dye:dark_orange", + recipe = { + "dye:brown", + "dye:brown" + }, +}) + +minetest.register_craft( { + output = "unifieddyes:airbrush", + recipe = { + { "basic_materials:brass_ingot", "", "basic_materials:plastic_sheet" }, + { "", "default:steel_ingot", "" }, + { "", "", "default:steel_ingot" } + }, +}) diff --git a/unifieddyes/init.lua b/unifieddyes/init.lua index b692810..a8e5092 100644 --- a/unifieddyes/init.lua +++ b/unifieddyes/init.lua @@ -2,12 +2,12 @@ Unified Dyes -This mod provides an extension to the Minetest 0.4.x dye system +This mod provides an extension to the Minetest dye system ============================================================================== -Copyright (C) 2012-2013, Vanessa Ezekowitz -Email: vanessaezekowitz@gmail.com +Copyright (C) 2012-2013, Vanessa Dannenberg +Email: vanessa.e.dannenberg@gmail.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,1499 +33,13 @@ unifieddyes = {} local creative_mode = minetest.settings:get_bool("creative_mode") --- Boilerplate to support localized strings if intllib mod is installed. -local S -if minetest.get_modpath("intllib") then - S = intllib.Getter() -else - S = function(s) return s end -end - --- the names of the various colors here came from http://www.procato.com/rgb+index/ - -unifieddyes.HUES_EXTENDED = { - { "red", 0xff, 0x00, 0x00 }, - { "vermilion", 0xff, 0x40, 0x00 }, - { "orange", 0xff, 0x80, 0x00 }, - { "amber", 0xff, 0xbf, 0x00 }, - { "yellow", 0xff, 0xff, 0x00 }, - { "lime", 0xbf, 0xff, 0x00 }, - { "chartreuse", 0x80, 0xff, 0x00 }, - { "harlequin", 0x40, 0xff, 0x00 }, - { "green", 0x00, 0xff, 0x00 }, - { "malachite", 0x00, 0xff, 0x40 }, - { "spring", 0x00, 0xff, 0x80 }, - { "turquoise", 0x00, 0xff, 0xbf }, - { "cyan", 0x00, 0xff, 0xff }, - { "cerulean", 0x00, 0xbf, 0xff }, - { "azure", 0x00, 0x80, 0xff }, - { "sapphire", 0x00, 0x40, 0xff }, - { "blue", 0x00, 0x00, 0xff }, - { "indigo", 0x40, 0x00, 0xff }, - { "violet", 0x80, 0x00, 0xff }, - { "mulberry", 0xbf, 0x00, 0xff }, - { "magenta", 0xff, 0x00, 0xff }, - { "fuchsia", 0xff, 0x00, 0xbf }, - { "rose", 0xff, 0x00, 0x80 }, - { "crimson", 0xff, 0x00, 0x40 } -} - -unifieddyes.HUES_WITH_GREY = {} - -for _,i in ipairs(unifieddyes.HUES_EXTENDED) do - table.insert(unifieddyes.HUES_WITH_GREY, i[1]) -end -table.insert(unifieddyes.HUES_WITH_GREY, "grey") - -unifieddyes.HUES_WALLMOUNTED = { - "red", - "orange", - "yellow", - "green", - "cyan", - "blue", - "violet", - "magenta" -} - -unifieddyes.SATS = { - "", - "_s50" -} - -unifieddyes.VALS = { - "", - "medium_", - "dark_" -} - -unifieddyes.VALS_SPLIT = { - "faint_", - "light_", - "", - "medium_", - "dark_" -} - -unifieddyes.VALS_EXTENDED = { - "faint_", - "pastel_", - "light_", - "bright_", - "", - "medium_", - "dark_" -} - -unifieddyes.GREYS = { - "white", - "light_grey", - "grey", - "dark_grey", - "black" -} - -unifieddyes.GREYS_EXTENDED = table.copy(unifieddyes.GREYS) - -for i = 1, 14 do - if i ~= 0 and i ~= 4 and i ~= 8 and i ~= 11 and i ~= 15 then - table.insert(unifieddyes.GREYS_EXTENDED, "grey_"..i) - end -end - -local default_dyes = { - "black", - "blue", - "brown", - "cyan", - "dark_green", - "dark_grey", - "green", - "grey", - "magenta", - "orange", - "pink", - "red", - "violet", - "white", - "yellow" -} - -unifieddyes.player_current_dye = {} -unifieddyes.player_selected_dye = {} -unifieddyes.player_last_right_clicked = {} -unifieddyes.palette_has_color = {} -unifieddyes.player_showall = {} - --- if a node with a palette is placed in the world, --- but the itemstack used to place it has no palette_index (color byte), --- create something appropriate to make it officially white. - -minetest.register_on_placenode( - function(pos, newnode, placer, oldnode, itemstack, pointed_thing) - local def = minetest.registered_items[newnode.name] - - if not def - or not def.palette - or def.after_place_node then - return false - end - - if not string.find(itemstack:to_string(), "palette_index") then - local param2 - local color = 0 - - if def.palette == "unifieddyes_palette_extended.png" - and def.paramtype2 == "color" then - param2 = 240 - color = 240 - elseif def.palette == "unifieddyes_palette_colorwallmounted.png" - and def.paramtype2 == "colorwallmounted" then - param2 = newnode.param2 % 8 - elseif string.find(def.palette, "unifieddyes_palette_") - and def.paramtype2 == "colorfacedir" then -- it's a split palette - param2 = newnode.param2 % 32 - end - - if param2 then - minetest.swap_node(pos, {name = newnode.name, param2 = param2}) - minetest.get_meta(pos):set_int("palette_index", color) - end - end - end -) - --- just stubs to keep old mods from crashing when expecting auto-coloring --- or getting back the dye on dig. - -function unifieddyes.recolor_on_place(foo) -end - -function unifieddyes.after_dig_node(foo) -end - --- This helper function creates multiple copies of the passed node, --- for the split palette - one per hue, plus grey - and assigns --- proper palettes and other attributes - -function unifieddyes.generate_split_palette_nodes(name, def, drop) - for _, color in ipairs(unifieddyes.HUES_WITH_GREY) do - local def2 = table.copy(def) - local desc_color = string.gsub(string.upper(string.sub(color, 1, 1))..string.sub(color, 2), "_", " ") - if string.sub(def2.description, -1) == ")" then - def2.description = string.sub(def2.description, 1, -2)..", "..desc_color.." shades)" - else - def2.description = def2.description.."("..desc_color.." shades)" - end - def2.palette = "unifieddyes_palette_"..color.."s.png" - def2.paramtype2 = "colorfacedir" - def2.groups.ud_param2_colorable = 1 - - if drop then - def2.drop = { - items = { - {items = {drop.."_"..color}, inherit_color = true }, - } - } - end - - minetest.register_node(":"..name.."_"..color, def2) - end -end - --- This helper function creates a colored itemstack - -function unifieddyes.make_colored_itemstack(item, palette, color) - local paletteidx = unifieddyes.getpaletteidx(color, palette) - local stack = ItemStack(item) - stack:get_meta():set_int("palette_index", paletteidx) - return stack:to_string(),paletteidx -end - --- these helper functions register all of the recipes needed to create colored --- nodes with any of the dyes supported by that node's palette. - -local function register_c(craft, h, sat, val) - local hue = (type(h) == "table") and h[1] or h - local color = "" - if val then - if craft.palette == "wallmounted" then - color = val..hue..sat - else - color = val..hue..sat - end - else - color = hue -- if val is nil, then it's grey. - end - - local dye = "dye:"..color - local recipe = minetest.serialize(craft.recipe) - recipe = string.gsub(recipe, "MAIN_DYE", dye) - recipe = string.gsub(recipe, "NEUTRAL_NODE", craft.neutral_node) - local newrecipe = minetest.deserialize(recipe) - - local coutput = craft.output or "" - local output = coutput - if craft.output_prefix then - if craft.palette ~= "split" then - output = craft.output_prefix..color..craft.output_suffix..coutput - else - if hue == "white" or hue == "black" or string.find(hue, "grey") then - output = craft.output_prefix.."grey"..craft.output_suffix..coutput - elseif hue == "pink" then - dye = "dye:light_red" - output = craft.output_prefix.."red"..craft.output_suffix..coutput - else - output = craft.output_prefix..hue..craft.output_suffix..coutput - end - end - end - - local colored_itemstack = - unifieddyes.make_colored_itemstack(output, craft.palette, dye) - - minetest.register_craft({ - output = colored_itemstack, - type = craft.type, - recipe = newrecipe - }) - -end - -function unifieddyes.register_color_craft(craft) - local hues_table = unifieddyes.HUES_EXTENDED - local sats_table = unifieddyes.SATS - local vals_table = unifieddyes.VALS_SPLIT - local greys_table = unifieddyes.GREYS - - if craft.palette == "wallmounted" then - register_c(craft, "green", "", "light_") - register_c(craft, "blue", "", "light_") - hues_table = unifieddyes.HUES_WALLMOUNTED - sats_table = {""} - vals_table = unifieddyes.VALS - elseif craft.palette == "extended" then - vals_table = unifieddyes.VALS_EXTENDED - greys_table = unifieddyes.GREYS_EXTENDED - end - - for _, hue in ipairs(hues_table) do - for _, val in ipairs(vals_table) do - for _, sat in ipairs(sats_table) do - - if sat == "_s50" and val ~= "" and val ~= "medium_" and val ~= "dark_" then break end - register_c(craft, hue, sat, val) - - end - end - end - - for _, grey in ipairs(greys_table) do - register_c(craft, grey) - end - - register_c(craft, "pink") - -end - --- code borrowed from homedecor --- call this function to reset the rotation of a "wallmounted" object on place - -function unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing) - local node = minetest.get_node(pos) - local colorbits = node.param2 - (node.param2 % 8) - - local yaw = placer:get_look_horizontal() - local dir = minetest.yaw_to_dir(yaw) -- -1.5) - local pitch = placer:get_look_vertical() - - local fdir = minetest.dir_to_wallmounted(dir) - - if pitch < -(math.pi/8) then - fdir = 0 - elseif pitch > math.pi/8 then - fdir = 1 - end - minetest.swap_node(pos, { name = node.name, param2 = fdir+colorbits }) -end - --- use this when you have a "wallmounted" node that should never be oriented --- to floor or ceiling... - -function unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing) - local node = minetest.get_node(pos) - local colorbits = node.param2 - (node.param2 % 8) - local yaw = placer:get_look_horizontal() - local dir = minetest.yaw_to_dir(yaw+1.5) - local fdir = minetest.dir_to_wallmounted(dir) - - minetest.swap_node(pos, { name = node.name, param2 = fdir+colorbits }) -end - --- ... and use this one to force that kind of node off of floor/ceiling --- orientation after the screwdriver rotates it. - -function unifieddyes.fix_after_screwdriver_nsew(pos, node, user, mode, new_param2) - local new_fdir = new_param2 % 8 - local color = new_param2 - new_fdir - if new_fdir < 2 then - new_fdir = 2 - minetest.swap_node(pos, { name = node.name, param2 = new_fdir + color }) - return true - end -end - -function unifieddyes.is_buildable_to(placer_name, ...) - for _, pos in ipairs({...}) do - local node = minetest.get_node_or_nil(pos) - local def = node and minetest.registered_nodes[node.name] - if not (def and def.buildable_to) or minetest.is_protected(pos, placer_name) then - return false - end - end - return true -end - -function unifieddyes.get_hsv(name) -- expects a node/item name - local hue = "" - local a,b - for _, i in ipairs(unifieddyes.HUES_EXTENDED) do - a,b = string.find(name, "_"..i[1]) - if a then - hue = i[1] - break - end - end - - if string.find(name, "_light_grey") then hue = "light_grey" - elseif string.find(name, "_lightgrey") then hue = "light_grey" - elseif string.find(name, "_dark_grey") then hue = "dark_grey" - elseif string.find(name, "_darkgrey") then hue = "dark_grey" - elseif string.find(name, "_grey") then hue = "grey" - elseif string.find(name, "_white") then hue = "white" - elseif string.find(name, "_black") then hue = "black" - end - - local sat = "" - if string.find(name, "_s50") then sat = "_s50" end - - local val = "" - if string.find(name, "dark_") then val = "dark_" end - if string.find(name, "medium_") then val = "medium_" end - if string.find(name, "light_") then val = "light_" end - - return hue, sat, val -end - --- code partially borrowed from cheapie's plasticbox mod - --- in the function below, color is just a color string, while --- palette_type can be: --- --- "extended" = 256 color palette --- "split" = 200 color palette split into pieces for colorfacedir --- "wallmounted" = 32-color abridged palette - - -function unifieddyes.getpaletteidx(color, palette_type) - - local origcolor = color - local aliases = { - ["pink"] = "light_red", - ["brown"] = "medium_orange", - ["azure"] = "light_blue" - } - - local grayscale = { - ["white"] = 1, - ["light_grey"] = 2, - ["grey"] = 3, - ["dark_grey"] = 4, - ["black"] = 5, - } - - local grayscale_extended = { - ["white"] = 0, - ["grey_14"] = 1, - ["grey_13"] = 2, - ["grey_12"] = 3, - ["light_grey"] = 4, - ["grey_11"] = 4, - ["grey_10"] = 5, - ["grey_9"] = 6, - ["grey_8"] = 7, - ["grey"] = 7, - ["grey_7"] = 8, - ["grey_6"] = 9, - ["grey_5"] = 10, - ["grey_4"] = 11, - ["dark_grey"] = 11, - ["grey_3"] = 12, - ["grey_2"] = 13, - ["grey_1"] = 14, - ["black"] = 15, - } - - local grayscale_wallmounted = { - ["white"] = 0, - ["light_grey"] = 1, - ["grey"] = 2, - ["dark_grey"] = 3, - ["black"] = 4, - } - - local hues_extended = { - ["red"] = 0, - ["vermilion"] = 1, - ["orange"] = 2, - ["amber"] = 3, - ["yellow"] = 4, - ["lime"] = 5, - ["chartreuse"] = 6, - ["harlequin"] = 7, - ["green"] = 8, - ["malachite"] = 9, - ["spring"] = 10, - ["aqua"] = 10, - ["turquoise"] = 11, - ["cyan"] = 12, - ["cerulean"] = 13, - ["azure"] = 14, - ["skyblue"] = 14, - ["sapphire"] = 15, - ["blue"] = 16, - ["indigo"] = 17, - ["violet"] = 18, - ["mulberry"] = 19, - ["magenta"] = 20, - ["fuchsia"] = 21, - ["rose"] = 22, - ["redviolet"] = 22, - ["crimson"] = 23, - } - - local hues_wallmounted = { - ["red"] = 0, - ["orange"] = 1, - ["yellow"] = 2, - ["green"] = 3, - ["cyan"] = 4, - ["blue"] = 5, - ["violet"] = 6, - ["magenta"] = 7 - } - - local shades = { - [""] = 1, - ["s50"] = 2, - ["light"] = 3, - ["medium"] = 4, - ["mediums50"] = 5, - ["dark"] = 6, - ["darks50"] = 7, - } - - local shades_split = { - ["faint"] = 0, - [""] = 1, - ["s50"] = 2, - ["light"] = 3, - ["medium"] = 4, - ["mediums50"] = 5, - ["dark"] = 6, - ["darks50"] = 7, - } - - local shades_extended = { - ["faint"] = 0, - ["pastel"] = 1, - ["light"] = 2, - ["bright"] = 3, - [""] = 4, - ["s50"] = 5, - ["medium"] = 6, - ["mediums50"] = 7, - ["dark"] = 8, - ["darks50"] = 9 - } - - local shades_wallmounted = { - [""] = 1, - ["medium"] = 2, - ["dark"] = 3 - } - - if string.sub(color,1,4) == "dye:" then - color = string.sub(color,5,-1) - elseif string.sub(color,1,12) == "unifieddyes:" then - color = string.sub(color,13,-1) - else - return - end - - if palette_type == "wallmounted" then - if grayscale_wallmounted[color] then - return (grayscale_wallmounted[color] * 8), 0 - end - elseif palette_type == "split" then - if grayscale[color] then - return (grayscale[color] * 32), 0 - end - elseif palette_type == "extended" then - if grayscale_extended[color] then - return grayscale_extended[color]+240, 0 - end - end - - local shade = "" -- assume full - if string.sub(color,1,6) == "faint_" then - shade = "faint" - color = string.sub(color,7,-1) - elseif string.sub(color,1,7) == "pastel_" then - shade = "pastel" - color = string.sub(color,8,-1) - elseif string.sub(color,1,6) == "light_" then - shade = "light" - color = string.sub(color,7,-1) - elseif string.sub(color,1,7) == "bright_" then - shade = "bright" - color = string.sub(color,8,-1) - elseif string.sub(color,1,7) == "medium_" then - shade = "medium" - color = string.sub(color,8,-1) - elseif string.sub(color,1,5) == "dark_" then - shade = "dark" - color = string.sub(color,6,-1) - end - if string.sub(color,-4,-1) == "_s50" then - shade = shade.."s50" - color = string.sub(color,1,-5) - end - - if palette_type == "wallmounted" then - if color == "green" and shade == "light" then return 48,3 - elseif color == "brown" then return 17,1 - elseif color == "pink" then return 56,7 - elseif color == "blue" and shade == "light" then return 40,5 - elseif hues_wallmounted[color] and shades_wallmounted[shade] then - return (shades_wallmounted[shade] * 64 + hues_wallmounted[color] * 8), hues_wallmounted[color] - end - else - if color == "brown" then - color = "orange" - shade = "medium" - elseif color == "pink" then - color = "red" - shade = "light" - end - if palette_type == "split" then -- it's colorfacedir - if hues_extended[color] and shades_split[shade] then - return (shades_split[shade] * 32), hues_extended[color]+1 - end - elseif palette_type == "extended" then - if hues_extended[color] and shades_extended[shade] then - return (hues_extended[color] + shades_extended[shade]*24), hues_extended[color] - end - end - end -end - -function unifieddyes.get_color_from_dye_name(name) - if name == "dye:black" then - return "000000" - elseif name == "dye:white" then - return "ffffff" - end - local item = minetest.registered_items[name] - if not item then return end - local inv_image = item.inventory_image - if not inv_image then return end - return string.match(inv_image,"colorize:#(......):200") -end - --- punch-to-recolor using the airbrush - -function unifieddyes.on_airbrush(itemstack, player, pointed_thing) - local player_name = player:get_player_name() - local painting_with = nil - - if unifieddyes.player_current_dye[player_name] then - painting_with = unifieddyes.player_current_dye[player_name] - end - - if not painting_with then - minetest.chat_send_player(player_name, "*** You need to set a color first.") - minetest.chat_send_player(player_name, "*** Right-click any random node to open the color selector,") - minetest.chat_send_player(player_name, "*** or shift+right-click a colorized node to use its color.") - minetest.chat_send_player(player_name, "*** Be sure to click \"Accept\", or the color you select will be ignored.") - return - end - - local pos = minetest.get_pointed_thing_position(pointed_thing) - if not pos then - local look_angle = player:get_look_vertical() - if look_angle > -1.55 then - minetest.chat_send_player(player_name, "*** No node selected") - else - local hexcolor = unifieddyes.get_color_from_dye_name(painting_with) - local r = tonumber(string.sub(hexcolor,1,2),16) - local g = tonumber(string.sub(hexcolor,3,4),16) - local b = tonumber(string.sub(hexcolor,5,6),16) - player:set_sky({r=r,g=g,b=b,a=255},"plain") - end - return - end - - local node = minetest.get_node(pos) - local def = minetest.registered_items[node.name] - if not def then return end - - if minetest.is_protected(pos, player_name) then - minetest.chat_send_player(player_name, "*** Sorry, someone else owns that node.") - return - end - - if not (def.groups and def.groups.ud_param2_colorable and def.groups.ud_param2_colorable > 0) then - minetest.chat_send_player(player_name, "*** That node can't be colored.") - return - end - - local palette = nil - local fdir = 0 - if not def or not def.palette then - minetest.chat_send_player(player_name, "*** That node can't be colored -- it's either undefined or has no palette.") - return - elseif def.palette == "unifieddyes_palette_extended.png" then - palette = "extended" - elseif def.palette == "unifieddyes_palette_colorwallmounted.png" then - palette = "wallmounted" - fdir = node.param2 % 8 - elseif def.palette ~= "unifieddyes_palette_extended.png" - and def.palette ~= "unifieddyes_palette_colorwallmounted.png" - and string.find(def.palette, "unifieddyes_palette_") then - palette = "split" - fdir = node.param2 % 32 - else - minetest.chat_send_player(player_name, "*** That node can't be colored -- it has an invalid color mode.") - return - end - - local idx, hue = unifieddyes.getpaletteidx(painting_with, palette) - local inv = player:get_inventory() - if (not creative or not creative.is_enabled_for(player_name)) and not inv:contains_item("main", painting_with) then - local suff = "" - if not idx then - suff = " Besides, "..string.sub(painting_with, 5).." can't be applied to that node." - end - minetest.chat_send_player(player_name, "*** You're in survival mode, and you're out of "..string.sub(painting_with, 5).."."..suff) - return - end - - if not idx then - minetest.chat_send_player(player_name, "*** "..string.sub(painting_with, 5).." can't be applied to that node.") - return - end - - local oldidx = node.param2 - fdir - local name = def.airbrush_replacement_node or node.name - - if palette == "split" then - - local modname = string.sub(name, 1, string.find(name, ":")-1) - local nodename2 = string.sub(name, string.find(name, ":")+1) - local oldcolor = "snozzberry" - local newcolor = "razzberry" -- intentionally misspelled ;-) - - if def.ud_color_start and def.ud_color_end then - oldcolor = string.sub(node.name, def.ud_color_start, def.ud_color_end) - newcolor = string.sub(painting_with, 5) - else - if hue ~= 0 then - newcolor = unifieddyes.HUES_EXTENDED[hue][1] - else - newcolor = "grey" - end - - if def.airbrush_replacement_node then - oldcolor = "grey" - else - local s = string.sub(def.palette, 21) - oldcolor = string.sub(s, 1, string.find(s, "s.png")-1) - end - end - - name = modname..":"..string.gsub(nodename2, oldcolor, newcolor) - - if not minetest.registered_items[name] then - minetest.chat_send_player(player_name, "*** "..string.sub(painting_with, 5).." can't be applied to that node.") - return - end - elseif idx == oldidx then - return - end - minetest.swap_node(pos, {name = name, param2 = fdir + idx}) - if not creative or not creative.is_enabled_for(player_name) then - inv:remove_item("main", painting_with) - return - end -end - --- get a node's dye color based on its palette and param2 - -function unifieddyes.color_to_name(param2, def) - if not param2 or not def or not def.palette then return end - - if def.palette == "unifieddyes_palette_extended.png" then - local color = param2 - - local v = 0 - local s = 1 - if color < 24 then v = 1 - elseif color > 23 and color < 48 then v = 2 - elseif color > 47 and color < 72 then v = 3 - elseif color > 71 and color < 96 then v = 4 - elseif color > 95 and color < 120 then v = 5 - elseif color > 119 and color < 144 then v = 5 s = 2 - elseif color > 143 and color < 168 then v = 6 - elseif color > 167 and color < 192 then v = 6 s = 2 - elseif color > 191 and color < 216 then v = 7 - elseif color > 215 and color < 240 then v = 7 s = 2 - end - - if color > 239 then - if color == 240 then return "white" - elseif color == 244 then return "light_grey" - elseif color == 247 then return "grey" - elseif color == 251 then return "dark_grey" - elseif color == 255 then return "black" - else return "grey_"..15-(color-240) - end - else - local h = color - math.floor(color/24)*24 - return unifieddyes.VALS_EXTENDED[v]..unifieddyes.HUES_EXTENDED[h+1][1]..unifieddyes.SATS[s] - end - - elseif def.palette == "unifieddyes_palette_colorwallmounted.png" then - local color = math.floor(param2 / 8) - if color == 0 then return "white" - elseif color == 1 then return "light_grey" - elseif color == 2 then return "grey" - elseif color == 3 then return "dark_grey" - elseif color == 4 then return "black" - elseif color == 5 then return "light_blue" - elseif color == 6 then return "light_green" - elseif color == 7 then return "pink" - end - local v = math.floor(color/8) - local h = color - v * 8 - return unifieddyes.VALS[v]..unifieddyes.HUES_WALLMOUNTED[h+1] - - elseif string.find(def.palette, "unifieddyes_palette") then -- it's the split palette - -- palette names in this mode are always "unifieddyes_palette_COLORs.png" - - local s = string.sub(def.palette, 21) - local color = string.sub(s, 1, string.find(s, "s.png")-1) - - local v = math.floor(param2/32) - if color ~= "grey" then - if v == 0 then return "faint_"..color - elseif v == 1 then return color - elseif v == 2 then return color.."_s50" - elseif v == 3 then return "light_"..color - elseif v == 4 then return "medium_"..color - elseif v == 5 then return "medium_"..color.."_s50" - elseif v == 6 then return "dark_"..color - elseif v == 7 then return "dark_"..color.."_s50" - end - else - if v > 0 and v < 6 then return unifieddyes.GREYS[v] - else return "white" - end - end - end -end - -local hps = 0.6 -- horizontal position scale -local vps = 1.3 -- vertical position scale -local vs = 0.1 -- vertical shift/offset - -local color_button_size = ";0.75,0.75;" -local color_square_size = ";0.69,0.69;" - -function unifieddyes.make_readable_color(color) - local s = string.gsub(color, "_", " ") - s = string.gsub(s, "s50", "(low saturation)") - return s -end - -function unifieddyes.make_colored_square(hexcolor, colorname, showall, creative, painting_with, nodepalette, hp, v2, selindic, inv, explist) - - local dye = "dye:"..colorname - - local overlay = "" - local colorize = minetest.formspec_escape("^[colorize:#"..hexcolor..":255") - - if not creative and inv:contains_item("main", dye) then - overlay = "^unifieddyes_onhand_overlay.png" - end - - local unavail_overlay = "" - if not showall and not unifieddyes.palette_has_color[nodepalette.."_"..colorname] - or (explist and not explist[colorname]) then - if overlay == "" then - unavail_overlay = "^unifieddyes_unavailable_overlay.png" - else - unavail_overlay = "^unifieddyes_onhand_unavailable_overlay.png" - end - end - - local tooltip = "tooltip["..colorname..";".. - unifieddyes.make_readable_color(colorname).. - "\n(dye:"..colorname..")]" - - if dye == painting_with then - overlay = "^unifieddyes_select_overlay.png" - selindic = "unifieddyes_white_square.png"..colorize..overlay..unavail_overlay.."]"..tooltip - end - - local form - if unavail_overlay == "" then - form = "image_button[".. - (hp*hps)..","..(v2*vps+vs).. - color_button_size.. - "unifieddyes_white_square.png"..colorize..overlay..unavail_overlay..";".. - colorname..";]".. - tooltip - else - form = "image[".. - (hp*hps)..","..(v2*vps+vs).. - color_square_size.. - "unifieddyes_white_square.png"..colorize..overlay..unavail_overlay.."]".. - tooltip - end - - return form, selindic -end - -function unifieddyes.show_airbrush_form(player) - if not player then return end - - local t = {} - - local player_name = player:get_player_name() - local painting_with = unifieddyes.player_selected_dye[player_name] or unifieddyes.player_current_dye[player_name] - local creative = creative and creative.is_enabled_for(player_name) - local inv = player:get_inventory() - local nodepalette = "extended" - local showall = unifieddyes.player_showall[player_name] - - t[1] = "size[14.5,8.5]label[7,-0.3;Select a color:]" - local selindic = "unifieddyes_select_overlay.png^unifieddyes_question.png]" - - local last_right_click = unifieddyes.player_last_right_clicked[player_name] - if last_right_click then - if last_right_click.def and last_right_click.def.palette then - if last_right_click.def.palette == "unifieddyes_palette_colorwallmounted.png" then - nodepalette = "wallmounted" - elseif last_right_click.def.palette == "unifieddyes_palette_extended.png" then - t[#t+1] = "label[0.5,8.25;(Right-clicked a node that supports all 256 colors, showing them all)]" - showall = true - elseif last_right_click.def.palette ~= "unifieddyes_palette_extended.png" - and last_right_click.def.palette ~= "unifieddyes_palette_colorwallmounted.png" - and string.find(last_right_click.def.palette, "unifieddyes_palette_") then - nodepalette = "split" - end - end - end - - if not last_right_click.def.groups - or not last_right_click.def.groups.ud_param2_colorable - or not last_right_click.def.palette - or not string.find(last_right_click.def.palette, "unifieddyes_palette_") then - t[#t+1] = "label[0.5,8.25;(Right-clicked a node not supported by the Airbrush, showing all colors)]" - end - - local explist = last_right_click.def.explist - - for v = 0, 6 do - local val = unifieddyes.VALS_EXTENDED[v+1] - - local sat = "" - local v2=(v/2) - - for hi, h in ipairs(unifieddyes.HUES_EXTENDED) do - local hue = h[1] - local hp=hi-1 - - local r = h[2] - local g = h[3] - local b = h[4] - - local factor = 40 - if v > 3 then - factor = 75 - v2 = (v-2) - end - - local r2 = math.max(math.min(r + (4-v)*factor, 255), 0) - local g2 = math.max(math.min(g + (4-v)*factor, 255), 0) - local b2 = math.max(math.min(b + (4-v)*factor, 255), 0) - - local hexcolor = string.format("%02x", r2)..string.format("%02x", g2)..string.format("%02x", b2) - local f - f, selindic = unifieddyes.make_colored_square(hexcolor, val..hue..sat, showall, creative, painting_with, nodepalette, hp, v2, selindic, inv, explist) - t[#t+1] = f - end - - if v > 3 then - sat = "_s50" - v2 = (v-1.5) - - for hi, h in ipairs(unifieddyes.HUES_EXTENDED) do - local hue = h[1] - local hp=hi-1 - - local r = h[2] - local g = h[3] - local b = h[4] - - local factor = 75 - - local pr = 0.299 - local pg = 0.587 - local pb = 0.114 - - local r2 = math.max(math.min(r + (4-v)*factor, 255), 0) - local g2 = math.max(math.min(g + (4-v)*factor, 255), 0) - local b2 = math.max(math.min(b + (4-v)*factor, 255), 0) - - local p = math.sqrt(r2*r2*pr + g2*g2*pg + b2*b2*pb) - local r3 = math.floor(p+(r2-p)*0.5) - local g3 = math.floor(p+(g2-p)*0.5) - local b3 = math.floor(p+(b2-p)*0.5) - - local hexcolor = string.format("%02x", r3)..string.format("%02x", g3)..string.format("%02x", b3) - local f - f, selindic = unifieddyes.make_colored_square(hexcolor, val..hue..sat, showall, creative, painting_with, nodepalette, hp, v2, selindic, inv, explist) - t[#t+1] = f - end - end - end - - local v2=5 - for y = 0, 15 do - - local hp=15-y - - local hexgrey = string.format("%02x", y*17)..string.format("%02x", y*17)..string.format("%02x", y*17) - local grey = "grey_"..y - - if y == 0 then grey = "black" - elseif y == 4 then grey = "dark_grey" - elseif y == 8 then grey = "grey" - elseif y == 11 then grey = "light_grey" - elseif y == 15 then grey = "white" - end - - local f - f, selindic = unifieddyes.make_colored_square(hexgrey, grey, showall, creative, painting_with, nodepalette, hp, v2, selindic, inv, explist) - t[#t+1] = f - - end - - if not creative then - t[#t+1] = "image[10," - t[#t+1] = (vps*5.55+vs) - t[#t+1] = color_button_size - t[#t+1] = "unifieddyes_onhand_overlay.png]label[10.7," - t[#t+1] = (vps*5.51+vs) - t[#t+1] = ";Dyes]" - t[#t+1] = "label[10.7," - t[#t+1] = (vps*5.67+vs) - t[#t+1] = ";on hand]" - - end - - t[#t+1] = "image[10," - t[#t+1] = (vps*5+vs) - t[#t+1] = color_button_size - t[#t+1] = selindic - - if painting_with then - t[#t+1] = "label[10.7," - t[#t+1] = (vps*4.90+vs) - t[#t+1] = ";Your selection:]" - t[#t+1] = "label[10.7," - t[#t+1] = (vps*5.07+vs) - t[#t+1] = ";" - t[#t+1] = unifieddyes.make_readable_color(string.sub(painting_with, 5)) - t[#t+1] = "]label[10.7," - t[#t+1] = (vps*5.24+vs) - t[#t+1] = ";(" - t[#t+1] = painting_with - t[#t+1] = ")]" - else - t[#t+1] = "label[10.7," - t[#t+1] = (vps*5.07+vs) - t[#t+1] = ";Your selection]" - end - - t[#t+1] = "button_exit[10.5,8;2,1;cancel;Cancel]button_exit[12.5,8;2,1;accept;Accept]" - - - if last_right_click and last_right_click.def and nodepalette ~= "extended" then - if showall then - t[#t+1] = "button[0,8;2,1;show_avail;Show Available]" - t[#t+1] = "label[2,8.25;(Currently showing all 256 colors)]" - else - t[#t+1] = "button[0,8;2,1;show_all;Show All Colors]" - t[#t+1] = "label[2,8.25;(Currently only showing what the right-clicked node can use)]" - end - end - - minetest.show_formspec(player_name, "unifieddyes:dye_select_form", table.concat(t)) -end - -minetest.register_tool("unifieddyes:airbrush", { - description = S("Dye Airbrush"), - inventory_image = "unifieddyes_airbrush.png", - use_texture_alpha = true, - tool_capabilities = { - full_punch_interval=0.1, - }, - range = 12, - on_use = unifieddyes.on_airbrush, - on_place = function(itemstack, placer, pointed_thing) - local keys = placer:get_player_control() - local player_name = placer:get_player_name() - local pos = minetest.get_pointed_thing_position(pointed_thing) - local node - local def - - if pos then node = minetest.get_node(pos) end - if node then def = minetest.registered_items[node.name] end - - unifieddyes.player_last_right_clicked[player_name] = {pos = pos, node = node, def = def} - - if not keys.sneak then - unifieddyes.show_airbrush_form(placer) - elseif keys.sneak then - - if not pos or not def then return end - local newcolor = unifieddyes.color_to_name(node.param2, def) - - if not newcolor then - minetest.chat_send_player(player_name, "*** That node is uncolored.") - return - end - minetest.chat_send_player(player_name, "*** Switching to "..newcolor.." for the airbrush, to match that node.") - unifieddyes.player_current_dye[player_name] = "dye:"..newcolor - end - end -}) - -minetest.register_craft( { - output = "unifieddyes:airbrush", - recipe = { - { "basic_materials:brass_ingot", "", "basic_materials:plastic_sheet" }, - { "", "default:steel_ingot", "" }, - { "", "", "default:steel_ingot" } - }, -}) - -minetest.register_on_player_receive_fields(function(player, formname, fields) - - if formname == "unifieddyes:dye_select_form" then - - local player_name = player:get_player_name() - local nodepalette = "extended" - local showall = unifieddyes.player_showall[player_name] - - local last_right_click = unifieddyes.player_last_right_clicked[player_name] - if last_right_click and last_right_click.def then - if last_right_click.def.palette then - if last_right_click.def.palette == "unifieddyes_palette_colorwallmounted.png" then - nodepalette = "wallmounted" - elseif last_right_click.def.palette ~= "unifieddyes_palette_extended.png" then - nodepalette = "split" - end - end - end - - if fields.show_all then - unifieddyes.player_showall[player_name] = true - unifieddyes.show_airbrush_form(player) - return - elseif fields.show_avail then - unifieddyes.player_showall[player_name] = false - unifieddyes.show_airbrush_form(player) - return - elseif fields.quit then - if fields.accept then - local dye = unifieddyes.player_selected_dye[player_name] - if not dye then - minetest.chat_send_player(player_name, "*** Clicked \"Accept\", but no color was selected!") - return - elseif not showall - and not unifieddyes.palette_has_color[nodepalette.."_"..string.sub(dye, 5)] then - minetest.chat_send_player(player_name, "*** Clicked \"Accept\", but the selected color can't be used on the") - minetest.chat_send_player(player_name, "*** node that was right-clicked (and \"Show All\" wasn't in effect).") - if unifieddyes.player_current_dye[player_name] then - minetest.chat_send_player(player_name, "*** Ignoring it and sticking with "..string.sub(unifieddyes.player_current_dye[player_name], 5)..".") - else - minetest.chat_send_player(player_name, "*** Ignoring it.") - end - return - else - unifieddyes.player_current_dye[player_name] = dye - unifieddyes.player_selected_dye[player_name] = nil - minetest.chat_send_player(player_name, "*** Selected "..string.sub(dye, 5).." for the airbrush.") - return - end - else -- assume "Cancel" or Esc. - unifieddyes.player_selected_dye[player_name] = nil - return - end - else - local s1 = string.sub(minetest.serialize(fields), 11) - local s3 = string.sub(s1,1, string.find(s1, '"')-1) - - local inv = player:get_inventory() - local creative = creative and creative.is_enabled_for(player_name) - local dye = "dye:"..s3 - - if (showall or unifieddyes.palette_has_color[nodepalette.."_"..s3]) and - (minetest.registered_items[dye] and (creative or inv:contains_item("main", dye))) then - unifieddyes.player_selected_dye[player_name] = dye - unifieddyes.show_airbrush_form(player) - end - end - end -end) - --- Generate all dyes that are not part of the default minetest_game dyes mod - -for _, h in ipairs(unifieddyes.HUES_EXTENDED) do - local hue = h[1] - local r = h[2] - local g = h[3] - local b = h[4] - - for v = 0, 6 do - local val = unifieddyes.VALS_EXTENDED[v+1] - - local factor = 40 - if v > 3 then factor = 75 end - - local r2 = math.max(math.min(r + (4-v)*factor, 255), 0) - local g2 = math.max(math.min(g + (4-v)*factor, 255), 0) - local b2 = math.max(math.min(b + (4-v)*factor, 255), 0) - - -- full-sat color - - local desc = hue:gsub("%a", string.upper, 1).." Dye" - - if val ~= "" then - desc = val:sub(1, -2):gsub("%a", string.upper, 1) .." "..desc - end - - local color = string.format("%02x", r2)..string.format("%02x", g2)..string.format("%02x", b2) - if minetest.registered_items["dye:"..val..hue] then - minetest.override_item("dye:"..val..hue, { - inventory_image = "unifieddyes_dye.png^[colorize:#"..color..":200", - }) - else - if (val..hue) ~= "medium_orange" - and (val..hue) ~= "light_red" then - minetest.register_craftitem(":dye:"..val..hue, { - description = S(desc), - inventory_image = "unifieddyes_dye.png^[colorize:#"..color..":200", - groups = { dye=1, not_in_creative_inventory=1 }, - }) - end - end - minetest.register_alias("unifieddyes:"..val..hue, "dye:"..val..hue) - - if v > 3 then -- also register the low-sat version - - local pr = 0.299 - local pg = 0.587 - local pb = 0.114 - - local p = math.sqrt(r2*r2*pr + g2*g2*pg + b2*b2*pb) - local r3 = math.floor(p+(r2-p)*0.5) - local g3 = math.floor(p+(g2-p)*0.5) - local b3 = math.floor(p+(b2-p)*0.5) - - local color = string.format("%02x", r3)..string.format("%02x", g3)..string.format("%02x", b3) - - minetest.register_craftitem(":dye:"..val..hue.."_s50", { - description = S(desc.." (low saturation)"), - inventory_image = "unifieddyes_dye.png^[colorize:#"..color..":200", - groups = { dye=1, not_in_creative_inventory=1 }, - }) - minetest.register_alias("unifieddyes:"..val..hue.."_s50", "dye:"..val..hue.."_s50") - end - end -end - --- register the greyscales too :P - -for y = 1, 14 do -- colors 0 and 15 are black and white, default dyes - - if y ~= 4 and y ~= 8 and y~= 11 then -- don't register the three greys, they're done separately. - - local rgb = string.format("%02x", y*17)..string.format("%02x", y*17)..string.format("%02x", y*17) - local name = "grey_"..y - local desc = "Grey Dye #"..y - - minetest.register_craftitem(":dye:"..name, { - description = S(desc), - inventory_image = "unifieddyes_dye.png^[colorize:#"..rgb..":200", - groups = { dye=1, not_in_creative_inventory=1 }, - }) - minetest.register_alias("unifieddyes:"..name, "dye:"..name) - end -end - -minetest.override_item("dye:grey", { - inventory_image = "unifieddyes_dye.png^[colorize:#888888:200", -}) - -minetest.override_item("dye:dark_grey", { - inventory_image = "unifieddyes_dye.png^[colorize:#444444:200", -}) - -minetest.register_craftitem(":dye:light_grey", { - description = S("Light grey Dye"), - inventory_image = "unifieddyes_dye.png^[colorize:#cccccc:200", - groups = { dye=1, not_in_creative_inventory=1 }, -}) - --- build a table of color <-> palette associations to reduce the need for --- realtime lookups with getpaletteidx() - -for _, palette in ipairs({"extended", "split", "wallmounted"}) do - local palette2 = palette - - for i in ipairs(unifieddyes.SATS) do - local sat = (palette == "wallmounted") and "" or unifieddyes.SATS[i] - for _, hue in ipairs(unifieddyes.HUES_EXTENDED) do - for _, val in ipairs(unifieddyes.VALS_EXTENDED) do - local color = val..hue[1]..sat - if unifieddyes.getpaletteidx("dye:"..color, palette2) then - unifieddyes.palette_has_color[palette.."_"..color] = true - end - end - end - end - - for y = 0, 15 do - local grey = "grey_"..y - - if y == 0 then grey = "black" - elseif y == 4 then grey = "dark_grey" - elseif y == 8 then grey = "grey" - elseif y == 11 then grey = "light_grey" - elseif y == 15 then grey = "white" - end - if unifieddyes.getpaletteidx("dye:"..grey, palette2) then - unifieddyes.palette_has_color[palette.."_"..grey] = true - end - end -end - -unifieddyes.palette_has_color["wallmounted_light_red"] = true - --- crafting! - -unifieddyes.base_color_crafts = { - { "red", "flowers:rose", nil, nil, nil, nil, 4 }, - { "vermilion", "dye:red", "dye:orange", nil, nil, nil, 3 }, - { "orange", "flowers:tulip", nil, nil, nil, nil, 4 }, - { "orange", "dye:red", "dye:yellow", nil, nil, nil, 2 }, - { "amber", "dye:orange", "dye:yellow", nil, nil, nil, 2 }, - { "yellow", "flowers:dandelion_yellow", nil, nil, nil, nil, 4 }, - { "lime", "dye:yellow", "dye:chartreuse", nil, nil, nil, 2 }, - { "lime", "dye:yellow", "dye:yellow", "dye:green", nil, nil, 3 }, - { "chartreuse", "dye:yellow", "dye:green", nil, nil, nil, 2 }, - { "harlequin", "dye:chartreuse", "dye:green", nil, nil, nil, 2 }, - { "harlequin", "dye:yellow", "dye:green", "dye:green", nil, nil, 3 }, - { "green", "default:cactus", nil, nil, nil, nil, 4 }, - { "green", "dye:yellow", "dye:blue", nil, nil, nil, 2 }, - { "malachite", "dye:green", "dye:spring", nil, nil, nil, 2 }, - { "malachite", "dye:green", "dye:green", "dye:cyan", nil, nil, 3 }, - { "malachite", "dye:green", "dye:green", "dye:green", "dye:blue", nil, 4 }, - { "spring", "dye:green", "dye:cyan", nil, nil, nil, 2 }, - { "spring", "dye:green", "dye:green", "dye:blue", nil, nil, 3 }, - { "turquoise", "dye:spring", "dye:cyan", nil, nil, nil, 2 }, - { "turquoise", "dye:green", "dye:cyan", "dye:cyan", nil, nil, 3 }, - { "turquoise", "dye:green", "dye:green", "dye:green", "dye:blue", "dye:blue", 5 }, - { "cyan", "dye:green", "dye:blue", nil, nil, nil, 2 }, - { "cerulean", "dye:cyan", "dye:azure", nil, nil, nil, 2 }, - { "cerulean", "dye:cyan", "dye:cyan", "dye:blue", nil, nil, 3 }, - { "cerulean", "dye:green", "dye:green", "dye:blue", "dye:blue", "dye:blue", 5 }, - { "azure", "dye:cyan", "dye:blue", nil, nil, nil, 2 }, - { "azure", "dye:green", "dye:blue", "dye:blue", nil, nil, 3 }, - { "sapphire", "dye:azure", "dye:blue", nil, nil, nil, 2 }, - { "sapphire", "dye:cyan", "dye:blue", "dye:blue", nil, nil, 3 }, - { "sapphire", "dye:green", "dye:blue", "dye:blue", "dye:blue", nil, 4 }, - { "blue", "flowers:geranium", nil, nil, nil, nil, 4 }, - { "indigo", "dye:blue", "dye:violet", nil, nil, nil, 2 }, - { "violet", "flowers:viola", nil, nil, nil, nil, 4 }, - { "violet", "dye:blue", "dye:magenta", nil, nil, nil, 2 }, - { "mulberry", "dye:violet", "dye:magenta", nil, nil, nil, 2 }, - { "mulberry", "dye:violet", "dye:blue", "dye:red", nil, nil, 3 }, - { "magenta", "dye:blue", "dye:red", nil, nil, nil, 2 }, - { "fuchsia", "dye:magenta", "dye:rose", nil, nil, nil, 2 }, - { "fuchsia", "dye:blue", "dye:red", "dye:rose", nil, nil, 3 }, - { "fuchsia", "dye:red", "dye:violet", nil, nil, nil, 2 }, - { "rose", "dye:magenta", "dye:red", nil, nil, nil, 2 }, - { "rose", "dye:red", "dye:red", "dye:blue", nil, nil, 3 }, - { "crimson", "dye:rose", "dye:red", nil, nil, nil, 2 }, - { "crimson", "dye:magenta", "dye:red", "dye:red", nil, nil, 3 }, - { "crimson", "dye:red", "dye:red", "dye:red", "dye:blue", nil, 4 }, - - { "black", "default:coal_lump", nil, nil, nil, nil, 4 }, - { "white", "flowers:dandelion_white", nil, nil, nil, nil, 4 }, -} - -unifieddyes.shade_crafts = { - { "faint_", "", "dye:white", "dye:white", "dye:white", 4 }, - { "pastel_", "", "dye:white", "dye:white", nil, 3 }, - { "light_", "", "dye:white", nil, nil, 2 }, - { "bright_", "", "color", "dye:white", nil, 3 }, - { "", "_s50", "dye:light_grey", nil, nil, 2 }, - { "", "_s50", "dye:black", "dye:white", "dye:white", 3 }, - { "medium_", "", "dye:black", nil, nil, 2 }, - { "medium_", "_s50", "dye:grey", nil, nil, 2 }, - { "medium_", "_s50", "dye:black", "dye:white", nil, 3 }, - { "dark_", "", "dye:black", "dye:black", nil, 3 }, - { "dark_", "_s50", "dye:dark_grey", nil, nil, 2 }, - { "dark_", "_s50", "dye:black", "dye:black", "dye:white", 4 }, -} - -for _,i in ipairs(unifieddyes.base_color_crafts) do - local color = i[1] - local yield = i[7] - - minetest.register_craft( { - type = "shapeless", - output = "dye:"..color.." "..yield, - recipe = { - i[2], - i[3], - i[4], - i[5], - i[6], - }, - }) - - for _,j in ipairs(unifieddyes.shade_crafts) do - local firstdye = j[3] - if firstdye == "color" then firstdye = "dye:"..color end - - -- ignore black, white, anything containing the word "grey" - - if color ~= "black" and color ~= "white" and not string.find(color, "grey") then - - minetest.register_craft( { - type = "shapeless", - output = "dye:"..j[1]..color..j[2].." "..j[6], - recipe = { - "dye:"..color, - firstdye, - j[4], - j[5] - }, - }) - end - end -end - --- greys - -unifieddyes.greymixes = { - { 1, "dye:black", "dye:black", "dye:black", "dye:dark_grey", 4 }, - { 2, "dye:black", "dye:black", "dye:dark_grey", nil, 3 }, - { 3, "dye:black", "dye:dark_grey", nil, nil, 2 }, - { 4, "dye:white", "dye:black", "dye:black", nil, 3 }, - { 5, "dye:dark_grey", "dye:dark_grey", "dye:grey", nil, 3 }, - { 6, "dye:dark_grey", "dye:grey", nil, nil, 2 }, - { 7, "dye:dark_grey", "dye:grey", "dye:grey", nil, 3 }, - { 8, "dye:white", "dye:black", nil, nil, 2 }, - { 9, "dye:grey", "dye:grey", "dye:light_grey", nil, 3 }, - { 10, "dye:grey", "dye:light_grey", "dye:light_grey", nil, 3 }, - { 11, "dye:white", "dye:white", "dye:black", nil, 3 }, - { 12, "dye:light_grey", "dye:light_grey", "dye:white", nil, 3 }, - { 13, "dye:light_grey", "dye:white", nil, nil, 2 }, - { 14, "dye:white", "dye:white", "dye:light_grey", nil, 3 }, -} - -for _, i in ipairs(unifieddyes.greymixes) do - local shade = i[1] - local dye1 = i[2] - local dye2 = i[3] - local dye3 = i[4] - local dye4 = i[5] - local yield = i[6] - local color = "grey_"..shade - if shade == 4 then - color = "dark_grey" - elseif shade == 8 then - color = "grey" - elseif shade == 11 then - color = "light_grey" - end - - minetest.register_craft( { - type = "shapeless", - output = "dye:"..color.." "..yield, - recipe = { - dye1, - dye2, - dye3, - dye4, - }, - }) -end - --- we can't make dark orange anymore because brown/medium orange conflicts - -minetest.register_craft( { - type = "shapeless", - output = "dye:dark_orange", - recipe = { - "dye:brown", - "dye:brown" - }, -}) - --- aliases - -minetest.register_alias("dye:light_red", "dye:pink") -minetest.register_alias("dye:medium_orange", "dye:brown") - -minetest.register_alias("unifieddyes:black", "dye:black") -minetest.register_alias("unifieddyes:dark_grey", "dye:dark_grey") -minetest.register_alias("unifieddyes:grey", "dye:grey") -minetest.register_alias("unifieddyes:light_grey", "dye:light_grey") -minetest.register_alias("unifieddyes:white", "dye:white") - -minetest.register_alias("unifieddyes:grey_0", "dye:black") -minetest.register_alias("unifieddyes:grey_4", "dye:dark_grey") -minetest.register_alias("unifieddyes:grey_8", "dye:grey") -minetest.register_alias("unifieddyes:grey_11", "dye:light_grey") -minetest.register_alias("unifieddyes:grey_15", "dye:white") - -minetest.register_alias("unifieddyes:white_paint", "dye:white") -minetest.register_alias("unifieddyes:titanium_dioxide", "dye:white") -minetest.register_alias("unifieddyes:lightgrey_paint", "dye:light_grey") -minetest.register_alias("unifieddyes:grey_paint", "dye:grey") -minetest.register_alias("unifieddyes:darkgrey_paint", "dye:dark_grey") -minetest.register_alias("unifieddyes:carbon_black", "dye:black") - -minetest.register_alias("unifieddyes:brown", "dye:brown") +local S = minetest.get_translator("unifieddyes") +local modpath=minetest.get_modpath(minetest.get_current_modname()) + +dofile(modpath.."/color-tables.lua") +dofile(modpath.."/api.lua") +dofile(modpath.."/airbrush.lua") +dofile(modpath.."/dyes-crafting.lua") +dofile(modpath.."/aliases.lua") print(S("[UnifiedDyes] Loaded!")) - diff --git a/unifieddyes/locale/de.txt b/unifieddyes/locale/de.txt deleted file mode 100644 index 01d6da4..0000000 --- a/unifieddyes/locale/de.txt +++ /dev/null @@ -1,74 +0,0 @@ -# Translation by Xanthin - -Lime Dye = Gelbgruener Farbstoff (Gelbgruen) -Aqua Dye = Aqua Farbstoff -Sky-blue Dye = Himmelblauer Farbstoff -Red-violet Dye = Rotvioletter Farbstoff -Light Grey Dye = Hellgrauer Farbstoff - -Dark Red Dye (low saturation) = Dunkelroter Farbstoff (geringe Saettigung) -Dark Orange Dye (low saturation) = Dunkeloranger Farbstoff (geringe Saettigung) -Dark Yellow Dye (low saturation) = Dunkelgelber Farbstoff (geringe Saettigung) -Dark Lime Dye (low saturation) = Gelbgruenerlime Farbstoff (geringe Saettigung) -Dark Green Dye (low saturation) = Dunkelgruener Farbstoff (geringe Saettigung) -Dark Aqua Dye (low saturation) = Dunkelaqua Farbstoff (geringe Saettigung) -Dark Cyan Dye (low saturation) = Dunkeltuerkiser Farbstoff (geringe Saettigung) -Dark Sky-blue Dye (low saturation) = Dunkelhimmelblauer Farbstoff (geringe Saettigung) -Dark Blue Dye (low saturation) = Dunkelblauer Farbstoff (geringe Saettigung) -Dark Violet Dye (low saturation) = Dunkelvioletter Farbstoff (geringe Saettigung) -Dark Magenta Dye (low saturation) = Dunkelmagenta Farbstoff (geringe Saettigung) -Dark Red-violet Dye (low saturation) = Dunkelrotvioletter Farbstoff (geringe Saettigung) - -Dark Red Dye = Dunkelroter Farbstoff -Dark Orange Dye = Dunkeloranger Farbstoff -Dark Yellow Dye = Dunkelgelber Farbstoff -Dark Lime Dye = Dunkelgelbgruener Farbstoff -Dark Green Dye = Dunkelgruener Farbstoff -Dark Aqua Dye = Dunkelaqua Farbstoff -Dark Cyan Dye = Dunkeltuerkiser Farbstoff -Dark Sky-blue Dye = Dunkelhimmelblauer Farbstoff -Dark Blue Dye = Dunkelblauer Farbstoff -Dark Violet Dye = Dunkelvioletter Farbstoff -Dark Magenta Dye = Dunkelmagenta Farbstoff -Dark Red-violet Dye = Dunkelrotvioletter Farbstoff - -Medium Red Dye (low saturation) = Mittelroter Farbstoff (geringe Saettigung) -Medium Orange Dye (low saturation) = Mitteloranger Farbstoff (geringe Saettigung) -Medium Yellow Dye (low saturation) = Mittelgelber Farbstoff (geringe Saettigung) -Medium Lime Dye (low saturation) = Mittelgelbgruener Farbstoff (geringe Saettigung) -Medium Green Dye (low saturation) = Mittelgruener Farbstoff (geringe Saettigung) -Medium Aqua Dye (low saturation) = Mittelaqua Farbstoff (geringe Saettigung) -Medium Cyan Dye (low saturation) = Mitteltuerkiser Farbstoff (geringe Saettigung) -Medium Sky-blue Dye (low saturation) = Mittelhimmelblauer Farbstoff (geringe Saettigung) -Medium Blue Dye (low saturation) = Mittelblauer Farbstoff (geringe Saettigung) -Medium Violet Dye (low saturation) = Mittelvioletter Farbstoff (geringe Saettigung) -Medium Magenta Dye (low saturation) = Mittelmagenta Farbstoff (geringe Saettigung) -Medium Red-violet Dye (low saturation) = Mittelrotvioletter Farbstoff (geringe Saettigung) - -Medium Red Dye = Mittelroter Farbstoff -Medium Orange Dye = Mitteloranger Farbstoff -Medium Yellow Dye = Mittelgelber Farbstoff -Medium Lime Dye = Mittelgelbgruener Farbstoff -Medium Green Dye = Mittelgruener Farbstoff -Medium Aqua Dye = Mittelaqua Farbstoff -Medium Cyan Dye = Mitteltuerkiser Farbstoff -Medium Sky-blue = Mittelhimmelblauer Farbstoff -Medium Blue Dye = Mittelblauer Farbstoff -Medium Violet Dye = Mittelvioletter Farbstoff -Medium Magenta Dye = Mittelmagenta Farbstoff -Medium Red-violet Dye = Mittelrotvioletter Farbstoff - -Red Dye (low saturation) = Roter Farbstoff (geringe Saettigung) -Orange Dye (low saturation) = Oranger Farbstoff (geringe Saettigung) -Yellow Dye (low saturation) = Gelber Farbstoff (geringe Saettigung) -Lime Dye (low saturation) = Gelbgruener Farbstoff (geringe Saettigung) -Green Dye (low saturation) = Gruener Farbstoff (geringe Saettigung) -Aqua Dye (low saturation) = Aqua Farbstoff (geringe Saettigung) -Cyan Dye (low saturation) = Tuerkiser Farbstoff (geringe Saettigung) -Sky-blue Dye (low saturation) = Himmelblauer Farbstoff (geringe Saettigung) -Blue Dye (low saturation) = Blauer Farbstoff (geringe Saettigung) -Violet Dye (low saturation) = Violetter Farbstoff (geringe Saettigung) -Magenta Dye (low saturation) = Magenta Farbstoff (geringe Saettigung) lila -Red-violet Dye (low saturation) = Rotvioletter Farbstoff (geringe Saettigung) - -[UnifiedDyes] Loaded! = [UnifiedDyes] geladen! diff --git a/unifieddyes/locale/es.txt b/unifieddyes/locale/es.txt deleted file mode 100644 index 7b46b48..0000000 --- a/unifieddyes/locale/es.txt +++ /dev/null @@ -1,87 +0,0 @@ -# Traducido por Carlos Barraza - -Lime Dye = Colorante Lima -Aqua Dye = Colorante Agua -Sky-blue Dye = Colorante Azul Cielo -Red-violet Dye = Colorante Rojo Violeta -Light Grey Dye = Colorante Gris Claro - -Dark Red Dye (low saturation) = Colorante Rojo Oscuro (baja saturación) -Dark Orange Dye (low saturation) = Colorante Naranja Oscuro (baja saturación) -Dark Yellow Dye (low saturation) = Colorante Amarillo Oscuro (baja saturación) -Dark Lime Dye (low saturation) = Colorante Lima Oscuro (baja saturación) -Dark Green Dye (low saturation) = Colorante Verde Oscuro (baja saturación) -Dark Aqua Dye (low saturation) = Colorante Agua Oscuro (baja saturación) -Dark Cyan Dye (low saturation) = Colorante Cian Oscuro (baja saturación) -Dark Sky-blue Dye (low saturation) = Colorante Azul Cielo Oscuro (baja saturación) -Dark Blue Dye (low saturation) = Colorante Azul Oscuro (baja saturación) -Dark Violet Dye (low saturation) = Colorante Violeta Oscuro (baja saturación) -Dark Magenta Dye (low saturation) = Colorante Magenta Oscuro (baja saturación) -Dark Red-violet Dye (low saturation) = Colorante Rojo Violeta Oscuro (baja saturación) - -Dark Red Dye = Colorante Rojo Oscuro -Dark Orange Dye = Colorante Naranja Oscuro -Dark Yellow Dye = Colorante Amarillo Oscuro -Dark Lime Dye = Colorante Lima Oscuro -Dark Green Dye = Colorante Verde Oscuro -Dark Aqua Dye = Colorante Agua Oscuro -Dark Cyan Dye = Colorante Cian Oscuro -Dark Sky-blue Dye = Colorante Azul Cielo Oscuro -Dark Blue Dye = Colorante Azul Oscuro -Dark Violet Dye = Colorante Violeta Oscuro -Dark Magenta Dye = Colorante Magenta Oscuro -Dark Red-violet Dye = Colorante Rojo Violeta Oscuro - -Medium Red Dye (low saturation) = Colorante Rojo Claro (baja saturación) -Medium Orange Dye (low saturation) = Colorante Naranja Claro (baja saturación) -Medium Yellow Dye (low saturation) = Colorante Amarillo Claro (baja saturación) -Medium Lime Dye (low saturation) = Colorante Lima Claro (baja saturación) -Medium Green Dye (low saturation) = Colorante Verde Claro (baja saturación) -Medium Aqua Dye (low saturation) = Colorante Agua Claro (baja saturación) -Medium Cyan Dye (low saturation) = Colorante Cian Claro (baja saturación) -Medium Sky-blue Dye (low saturation) = Colorante Azul Cielo Claro (baja saturación) -Medium Blue Dye (low saturation) = Colorante Azul Claro (baja saturación) -Medium Violet Dye (low saturation) = Colorante Violeta Claro (baja saturación) -Medium Magenta Dye (low saturation) = Colorante Magenta Claro (baja saturación) -Medium Red-violet Dye (low saturation) = Colorante Rojo Violeta Claro (baja saturación) - -Medium Red Dye = Colorante Rojo Claro -Medium Orange Dye = Colorante Naranja Claro -Medium Yellow Dye = Colorante Amarillo Claro -Medium Lime Dye = Colorante Lima Claro -Medium Green Dye = Colorante Verde Claro -Medium Aqua Dye = Colorante Agua Claro -Medium Cyan Dye = Colorante Cian Claro -Medium Sky-blue = Colorante Azul Cielo Claro -Medium Blue Dye = Colorante Azul Claro -Medium Violet Dye = Colorante Violeta Claro -Medium Magenta Dye = Colorante Magenta Claro -Medium Red-violet Dye = Colorante Rojo Violeta Claro - -Red Dye (low saturation) = Colorante Rojo (baja saturación) -Orange Dye (low saturation) = Colorante Naranja (baja saturación) -Yellow Dye (low saturation) = Colorante Amarillo (baja saturación) -Lime Dye (low saturation) = Colorante Lima (baja saturación) -Green Dye (low saturation) = Colorante Verde (baja saturación) -Aqua Dye (low saturation) = Colorante Agua (baja saturación) -Cyan Dye (low saturation) = Colorante Cian (baja saturación) -Sky-blue Dye (low saturation) = Colorante Azul Cielo (baja saturación) -Blue Dye (low saturation) = Colorante Azul (baja saturación) -Violet Dye (low saturation) = Colorante Violeta (baja saturación) -Magenta Dye (low saturation) = Colorante Magenta (baja saturación) -Red-violet Dye (low saturation) = Colorante Rojo Violeta (baja saturación) - -Red Dye = Colorante Rojo -Orange Dye = Colorante Naranja -Yellow Dye = Colorante Amarillo -Lime Dye = Colorante Lima -Green Dye = Colorante Verde -Aqua Dye = Colorante Agua -Cyan Dye = Colorante Cian -Sky-blue Dye = Colorante Azul Cielo -Blue Dye = Colorante Azul -Violet Dye = Colorante Violeta -Magenta Dye = Colorante Magenta -Red-violet Dye = Colorante Rojo Violeta - -[UnifiedDyes] Loaded! = [ColorantesUnificados] Cargado. diff --git a/unifieddyes/locale/fr.txt b/unifieddyes/locale/fr.txt deleted file mode 100644 index f8e48e2..0000000 --- a/unifieddyes/locale/fr.txt +++ /dev/null @@ -1,87 +0,0 @@ -# Template - -Lime Dye = Teinture citron-vert -Aqua Dye = Teinture aqua -Sky-blue Dye = Teinture bleu ciel -Red-violet Dye = Teinture rouge-violet -Light Grey Dye = Teinture gris clair - -Dark Red Dye (low saturation) = Teinture rouge foncé (basse saturation) -Dark Orange Dye (low saturation) = Teinture orange foncé (basse saturation) -Dark Yellow Dye (low saturation) = Teinture jaune foncé (basse saturation) -Dark Lime Dye (low saturation) = Teinture citron-vert foncé (basse saturation) -Dark Green Dye (low saturation) = Teinture vert foncé (basse saturation) -Dark Aqua Dye (low saturation) = Teinture aqua foncé (basse saturation) -Dark Cyan Dye (low saturation) = Teinture cyan foncé (basse saturation) -Dark Sky-blue Dye (low saturation) = Teinture bleu ciel foncé (basse saturation) -Dark Blue Dye (low saturation) = Teinture bleu foncé (basse saturation) -Dark Violet Dye (low saturation) = Teinture violet foncé (basse saturation) -Dark Magenta Dye (low saturation) = Teinture magenta foncé (basse saturation) -Dark Red-violet Dye (low saturation) = Teinture rouge-violet foncé (basse saturation) - -Dark Red Dye = Teinture rouge foncé -Dark Orange Dye = Teinture orange foncé -Dark Yellow Dye = Teinture jaune foncé -Dark Lime Dye = Teinture citron-vert foncé -Dark Green Dye = Teinture vert foncé -Dark Aqua Dye = Teinture aqua foncé -Dark Cyan Dye = Teinture cyan foncé -Dark Sky-blue Dye = Teinture bleu ciel foncé -Dark Blue Dye = Teinture bleu foncé -Dark Violet Dye = Teinture violet foncé -Dark Magenta Dye = Teinture magenta foncé -Dark Red-violet Dye = Teinture rouge-violet foncé - -Medium Red Dye (low saturation) = Teinture rouge moyen (basse saturation) -Medium Orange Dye (low saturation) = Teinture orange moyen (basse saturation) -Medium Yellow Dye (low saturation) = Teinture jaune moyen (basse saturation) -Medium Lime Dye (low saturation) = Teinture citron-vert moyen (basse saturation) -Medium Green Dye (low saturation) = Teinture vert moyen (basse saturation) -Medium Aqua Dye (low saturation) = Teinture aqua moyen (basse saturation) -Medium Cyan Dye (low saturation) = Teinture cyan moyen (basse saturation) -Medium Sky-blue Dye (low saturation) = Teinture bleu ciel moyen (basse saturation) -Medium Blue Dye (low saturation) = Teinture bleu moyen (basse saturation) -Medium Violet Dye (low saturation) = Teinture violet moyen (basse saturation) -Medium Magenta Dye (low saturation) = Teinture magenta moyen (basse saturation) -Medium Red-violet Dye (low saturation) = Teinture rouge-violet moyen (basse saturation) - -Medium Red Dye = Teinture rouge moyen -Medium Orange Dye = Teinture orange moyen -Medium Yellow Dye = Teinture jaune moyen -Medium Lime Dye = Teinture citron-vert moyen -Medium Green Dye = Teinture vert moyen -Medium Aqua Dye = Teinture aqua moyen -Medium Cyan Dye = Teinture cyan moyen -Medium Sky-blue = Teinture bleu ciel moyen -Medium Blue Dye = Teinture bleu moyen -Medium Violet Dye = Teinture violet moyen -Medium Magenta Dye = Teinture magenta moyen -Medium Red-violet Dye = Teinture rouge-violet moyen - -Red Dye (low saturation) = Teinture rouge (basse saturation) -Orange Dye (low saturation) = Teinture orange (basse saturation) -Yellow Dye (low saturation) = Teinture jaune (basse saturation) -Lime Dye (low saturation) = Teinture citron-vert (basse saturation) -Green Dye (low saturation) = Teinture vert (basse saturation) -Aqua Dye (low saturation) = Teinture aqua (basse saturation) -Cyan Dye (low saturation) = Teinture cyan (basse saturation) -Sky-blue Dye (low saturation) = Teinture bleu ciel (basse saturation) -Blue Dye (low saturation) = Teinture bleu (basse saturation) -Violet Dye (low saturation) = Teinture violet (basse saturation) -Magenta Dye (low saturation) = Teinture magenta (basse saturation) -Red-violet Dye (low saturation) = Teinture rouge-violet (basse saturation) - -Red Dye = Teinture rouge -Orange Dye = Teinture orange -Yellow Dye = Teinture jaune -Lime Dye = Teinture citron-vert -Green Dye = Teinture vert -Aqua Dye = Teinture aqua -Cyan Dye = Teinture cyan -Sky-blue Dye = Teinture bleu ciel -Blue Dye = Teinture bleu -Violet Dye = Teinture violet -Magenta Dye = Teinture magenta -Red-violet Dye = Teinture rouge-violet - -[UnifiedDyes] Loaded! = [UnifiedDyes] chargé ! diff --git a/unifieddyes/locale/ms.txt b/unifieddyes/locale/ms.txt deleted file mode 100644 index 9ecf80e..0000000 --- a/unifieddyes/locale/ms.txt +++ /dev/null @@ -1,87 +0,0 @@ -# Malay translation by MuhdNurHidayat - -Lime Dye = Pewarna Hijau Pucuk Pisang -Aqua Dye = Pewarna Akuamarin -Sky-blue Dye = Pewarna Biru Langit -Red-violet Dye = Pewarna Merah Lembayung -Light Grey Dye = Pewarna Kelabu Muda - -Dark Red Dye (low saturation) = Pewarna Merah Tua (penepuan rendah) -Dark Orange Dye (low saturation) = Pewarna Jingga Tua (penepuan rendah) -Dark Yellow Dye (low saturation) = Pewarna Kuning Tua (penepuan rendah) -Dark Lime Dye (low saturation) = Pewarna Hijau Pucuk Pisang Tua (penepuan rendah) -Dark Green Dye (low saturation) = Pewarna Hijau Tua (penepuan rendah) -Dark Aqua Dye (low saturation) = Pewarna Akuamarin Tua (penepuan rendah) -Dark Cyan Dye (low saturation) = Pewarna Sian Tua (penepuan rendah) -Dark Sky-blue Dye (low saturation) = Pewarna Biru Langit Tua (penepuan rendah) -Dark Blue Dye (low saturation) = Pewarna Biru Tua (penepuan rendah) -Dark Violet Dye (low saturation) = Pewarna Lembayung Tua (penepuan rendah) -Dark Magenta Dye (low saturation) = Pewarna Magenta Tua (penepuan rendah) -Dark Red-violet Dye (low saturation) = Pewarna Merah Lembayung Tua (penepuan rendah) - -Dark Red Dye = Pewarna Merah Tua -Dark Orange Dye = Pewarna Jingga Tua -Dark Yellow Dye = Pewarna Kuning Tua -Dark Lime Dye = Pewarna Hijau Pucuk Pisang Tua -Dark Green Dye = Pewarna Hijau Tua -Dark Aqua Dye = Pewarna Akuamarin Tua -Dark Cyan Dye = Pewarna Sian Tua -Dark Sky-blue Dye = Pewarna Biru Langit Tua -Dark Blue Dye = Pewarna Biru Tua -Dark Violet Dye = Pewarna Lembayung Tua -Dark Magenta Dye = Pewarna Magenta Tua -Dark Red-violet Dye = Pewarna Merah Lembayung Tua - -Medium Red Dye (low saturation) = Pewarna Merah Sederhana (penepuan rendah) -Medium Orange Dye (low saturation) = Pewarna Jingga Sederhana (penepuan rendah) -Medium Yellow Dye (low saturation) = Pewarna Kuning Sederhana (penepuan rendah) -Medium Lime Dye (low saturation) = Pewarna Hijau Pucuk Pisang Sederhana (penepuan rendah) -Medium Green Dye (low saturation) = Pewarna Hijau Sederhana (penepuan rendah) -Medium Aqua Dye (low saturation) = Pewarna Akuamarin Sederhana (penepuan rendah) -Medium Cyan Dye (low saturation) = Pewarna Sian Sederhana (penepuan rendah) -Medium Sky-blue Dye (low saturation) = Pewarna Biru Langit Sederhana (penepuan rendah) -Medium Blue Dye (low saturation) = Pewarna Biru Sederhana (penepuan rendah) -Medium Violet Dye (low saturation) = Pewarna Lembayung Sederhana (penepuan rendah) -Medium Magenta Dye (low saturation) = Pewarna Magenta Sederhana (penepuan rendah) -Medium Red-violet Dye (low saturation) = Pewarna Merah Lembayung Sederhana (penepuan rendah) - -Medium Red Dye = Pewarna Merah Sederhana -Medium Orange Dye = Pewarna Jingga Sederhana -Medium Yellow Dye = Pewarna Kuning Sederhana -Medium Lime Dye = Pewarna Hijau Pucuk Pisang Sederhana -Medium Green Dye = Pewarna Hijau Sederhana -Medium Aqua Dye = Pewarna Akuamarin Sederhana -Medium Cyan Dye = Pewarna Sian Sederhana -Medium Sky-blue = Pewarna Biru Langit Sederhana -Medium Blue Dye = Pewarna Biru Sederhana -Medium Violet Dye = Pewarna Lembayung Sederhana -Medium Magenta Dye = Pewarna Magenta Sederhana -Medium Red-violet Dye = Pewarna Merah Lembayung Sederhana - -Red Dye (low saturation) = Pewarna Merah (penepuan rendah) -Orange Dye (low saturation) = Pewarna Jingga (penepuan rendah) -Yellow Dye (low saturation) = Pewarna Kuning (penepuan rendah) -Lime Dye (low saturation) = Pewarna Hijau Pucuk Pisang (penepuan rendah) -Green Dye (low saturation) = Pewarna Hijau (penepuan rendah) -Aqua Dye (low saturation) = Pewarna Akuamarin (penepuan rendah) -Cyan Dye (low saturation) = Pewarna Sian (penepuan rendah) -Sky-blue Dye (low saturation) = Pewarna Biru Langit (penepuan rendah) -Blue Dye (low saturation) = Pewarna Biru (penepuan rendah) -Violet Dye (low saturation) = Pewarna Lembayung (penepuan rendah) -Magenta Dye (low saturation) = Pewarna Magenta (penepuan rendah) -Red-violet Dye (low saturation) = Pewarna Merah Lembayung(penepuan rendah) - -Red Dye = Pewarna Merah -Orange Dye = Pewarna Jingga -Yellow Dye = Pewarna Kuning -Lime Dye = Pewarna Hijau Pucuk Pisang -Green Dye = Pewarna Hijau -Aqua Dye = Pewarna Akuamarin -Cyan Dye = Pewarna Sian -Sky-blue Dye = Pewarna Biru Langit -Blue Dye = Pewarna Biru -Violet Dye = Pewarna Lembayung -Magenta Dye = Pewarna Magenta -Red-violet Dye = Pewarna Merah Lembayung - -[UnifiedDyes] Loaded! = [UnifiedDyes] Telah Dimuatkan! diff --git a/unifieddyes/locale/pt.txt b/unifieddyes/locale/pt.txt deleted file mode 100644 index def3571..0000000 --- a/unifieddyes/locale/pt.txt +++ /dev/null @@ -1,85 +0,0 @@ -Lime Dye = Corante Lima -Aqua Dye = Corante Água -Sky-blue Dye = Corante Azul-Céu -Red-violet Dye = Corante Vermelho-Violeta -Light Grey Dye = Corante Cinza Claro - -Dark Red Dye (low saturation) = Corante Vermelho Escuro (baixa saturação) -Dark Orange Dye (low saturation) = Corante Laranja Escuro (baixa saturação) -Dark Yellow Dye (low saturation) = Corante Amarelo Escuro (baixa saturação) -Dark Lime Dye (low saturation) = Corante Lima Escuro (baixa saturação) -Dark Green Dye (low saturation) = Corante Verde Escuro (baixa saturação) -Dark Aqua Dye (low saturation) = Corante Água Escuro (baixa saturação) -Dark Cyan Dye (low saturation) = Corante Ciano Escuro (baixa saturação) -Dark Sky-blue Dye (low saturation) = Corante Azul-Céu Escuro (baixa saturação) -Dark Blue Dye (low saturation) = Corante Azul Escuro (baixa saturação) -Dark Violet Dye (low saturation) = Corante Violeta Escuro (baixa saturação) -Dark Magenta Dye (low saturation) = Corante Magenta Escuro (baixa saturação) -Dark Red-violet Dye (low saturation) = Corante Vermelho-Violeta Escuro (baixa saturação) - -Dark Red Dye = Corante Vermelho Escuro -Dark Orange Dye = Corante Laranja Escuro -Dark Yellow Dye = Corante Amarelo Escuro -Dark Lime Dye = Corante Lima Escuro -Dark Green Dye = Corante Verde Escuro -Dark Aqua Dye = Corante Água Escuro -Dark Cyan Dye = Corante Ciano Escuro -Dark Sky-blue Dye = Corante Azul-Céu Escuro -Dark Blue Dye = Corante Azul Escuro -Dark Violet Dye = Corante Violeta Escuro -Dark Magenta Dye = Corante Magenta Escuro -Dark Red-violet Dye = Corante Vermelho-Violeta Escuro - -Medium Red Dye (low saturation) = Corante Vermelho Médio (baixa saturação) -Medium Orange Dye (low saturation) = Corante Laranja Médio (baixa saturação) -Medium Yellow Dye (low saturation) = Corante Amarelo Médio (baixa saturação) -Medium Lime Dye (low saturation) = Corante Lima Médio (baixa saturação) -Medium Green Dye (low saturation) = Corante Verde Médio (baixa saturação) -Medium Aqua Dye (low saturation) = Corante Água Médio (baixa saturação) -Medium Cyan Dye (low saturation) = Corante Ciano Médio (baixa saturação) -Medium Sky-blue Dye (low saturation) = Corante Azul-Céu Médio (baixa saturação) -Medium Blue Dye (low saturation) = Corante Azul Médio (baixa saturação) -Medium Violet Dye (low saturation) = Corante Violeta Médio (baixa saturação) -Medium Magenta Dye (low saturation) = Corante Magenta Médio (baixa saturação) -Medium Red-violet Dye (low saturation) = Corante Vermelho-Violeta Médio (baixa saturação) - -Medium Red Dye = Corante Vermelho Médio -Medium Orange Dye = Corante Laranja Médio -Medium Yellow Dye = Corante Amarelo Médio -Medium Lime Dye = Corante Lima Médio -Medium Green Dye = Corante Verde Médio -Medium Aqua Dye = Corante Água Médio -Medium Cyan Dye = Corante Ciano Médio -Medium Sky-blue = Corante Azul-Céu Médio -Medium Blue Dye = Corante Azul Médio -Medium Violet Dye = Corante Violeta Médio -Medium Magenta Dye = Corante Magenta Médio -Medium Red-violet Dye = Corante Vermelho-Violeta Médio - -Red Dye (low saturation) = Corante Vermelho (baixa saturação) -Orange Dye (low saturation) = Corante Laranja (baixa saturação) -Yellow Dye (low saturation) = Corante Amarelo (baixa saturação) -Lime Dye (low saturation) = Corante Lima (baixa saturação) -Green Dye (low saturation) = Corante Vermelho (baixa saturação) -Aqua Dye (low saturation) = Corante Água (baixa saturação) -Cyan Dye (low saturation) = Corante Ciano (baixa saturação) -Sky-blue Dye (low saturation) = Corante Azul-Céu (baixa saturação) -Blue Dye (low saturation) = Corante Azul (baixa saturação) -Violet Dye (low saturation) = Corante Violeta (baixa saturação) -Magenta Dye (low saturation) = Corante Magenta (baixa saturação) -Red-violet Dye (low saturation) = Corante Vermelho-Violeta (baixa saturação) - -Red Dye = Corante Vermelho -Orange Dye = Corante Laranja -Yellow Dye = Corante Amarelo -Lime Dye = Corante Lima -Green Dye = Corante Verde -Aqua Dye = Corante Água -Cyan Dye = Corano Ciano -Sky-blue Dye = Corante Azul-Céu -Blue Dye = Corante Azul -Violet Dye = Corante Violeta -Magenta Dye = Corante Magenta -Red-violet Dye = Corante Vermelho-Violeta - -[UnifiedDyes] Loaded! = [UnifiedDyes] Carregado! diff --git a/unifieddyes/locale/template.txt b/unifieddyes/locale/template.txt index 126bef8..d793116 100644 --- a/unifieddyes/locale/template.txt +++ b/unifieddyes/locale/template.txt @@ -1,87 +1,104 @@ +# textdomain: unifieddyes + # Template -Lime Dye = -Aqua Dye = -Sky-blue Dye = -Red-violet Dye = -Light Grey Dye = +Lime Dye= +Aqua Dye= +Sky-blue Dye= +Red-violet Dye= +Light Grey Dye= -Dark Red Dye (low saturation) = -Dark Orange Dye (low saturation) = -Dark Yellow Dye (low saturation) = -Dark Lime Dye (low saturation) = -Dark Green Dye (low saturation) = -Dark Aqua Dye (low saturation) = -Dark Cyan Dye (low saturation) = -Dark Sky-blue Dye (low saturation) = -Dark Blue Dye (low saturation) = -Dark Violet Dye (low saturation) = -Dark Magenta Dye (low saturation) = -Dark Red-violet Dye (low saturation) = +Dark Red Dye (low saturation)= +Dark Orange Dye (low saturation)= +Dark Yellow Dye (low saturation)= +Dark Lime Dye (low saturation)= +Dark Green Dye (low saturation)= +Dark Aqua Dye (low saturation)= +Dark Cyan Dye (low saturation)= +Dark Sky-blue Dye (low saturation)= +Dark Blue Dye (low saturation)= +Dark Violet Dye (low saturation)= +Dark Magenta Dye (low saturation)= +Dark Red-violet Dye (low saturation)= -Dark Red Dye = -Dark Orange Dye = -Dark Yellow Dye = -Dark Lime Dye = -Dark Green Dye = -Dark Aqua Dye = -Dark Cyan Dye = -Dark Sky-blue Dye = -Dark Blue Dye = -Dark Violet Dye = -Dark Magenta Dye = -Dark Red-violet Dye = +Dark Red Dye= +Dark Orange Dye= +Dark Yellow Dye= +Dark Lime Dye= +Dark Green Dye= +Dark Aqua Dye= +Dark Cyan Dye= +Dark Sky-blue Dye= +Dark Blue Dye= +Dark Violet Dye= +Dark Magenta Dye= +Dark Red-violet Dye= -Medium Red Dye (low saturation) = -Medium Orange Dye (low saturation) = -Medium Yellow Dye (low saturation) = -Medium Lime Dye (low saturation) = -Medium Green Dye (low saturation) = -Medium Aqua Dye (low saturation) = -Medium Cyan Dye (low saturation) = -Medium Sky-blue Dye (low saturation) = -Medium Blue Dye (low saturation) = -Medium Violet Dye (low saturation) = -Medium Magenta Dye (low saturation) = -Medium Red-violet Dye (low saturation) = +Medium Red Dye (low saturation)= +Medium Orange Dye (low saturation)= +Medium Yellow Dye (low saturation)= +Medium Lime Dye (low saturation)= +Medium Green Dye (low saturation)= +Medium Aqua Dye (low saturation)= +Medium Cyan Dye (low saturation)= +Medium Sky-blue Dye (low saturation)= +Medium Blue Dye (low saturation)= +Medium Violet Dye (low saturation)= +Medium Magenta Dye (low saturation)= +Medium Red-violet Dye (low saturation)= -Medium Red Dye = -Medium Orange Dye = -Medium Yellow Dye = -Medium Lime Dye = -Medium Green Dye = -Medium Aqua Dye = -Medium Cyan Dye = -Medium Sky-blue = -Medium Blue Dye = -Medium Violet Dye = -Medium Magenta Dye = -Medium Red-violet Dye = +Medium Red Dye= +Medium Orange Dye= +Medium Yellow Dye= +Medium Lime Dye= +Medium Green Dye= +Medium Aqua Dye= +Medium Cyan Dye= +Medium Sky-blue= +Medium Blue Dye= +Medium Violet Dye= +Medium Magenta Dye= +Medium Red-violet Dye= -Red Dye (low saturation) = -Orange Dye (low saturation) = -Yellow Dye (low saturation) = -Lime Dye (low saturation) = -Green Dye (low saturation) = -Aqua Dye (low saturation) = -Cyan Dye (low saturation) = -Sky-blue Dye (low saturation) = -Blue Dye (low saturation) = -Violet Dye (low saturation) = -Magenta Dye (low saturation) = -Red-violet Dye (low saturation) = +Red Dye (low saturation)= +Orange Dye (low saturation)= +Yellow Dye (low saturation)= +Lime Dye (low saturation)= +Green Dye (low saturation)= +Aqua Dye (low saturation)= +Cyan Dye (low saturation)= +Sky-blue Dye (low saturation)= +Blue Dye (low saturation)= +Violet Dye (low saturation)= +Magenta Dye (low saturation)= +Red-violet Dye (low saturation)= -Red Dye = -Orange Dye = -Yellow Dye = -Lime Dye = -Green Dye = -Aqua Dye = -Cyan Dye = -Sky-blue Dye = -Blue Dye = -Violet Dye = -Magenta Dye = -Red-violet Dye = +Red Dye= +Orange Dye= +Yellow Dye= +Lime Dye= +Green Dye= +Aqua Dye= +Cyan Dye= +Sky-blue Dye= +Blue Dye= +Violet Dye= +Magenta Dye= +Red-violet Dye= -[UnifiedDyes] Loaded! = +[UnifiedDyes] Loaded!= + +Dye Airbrush= + +Select a color:= +(Right-clicked a node that supports all 256 colors, showing them all)= +(Right-clicked a node not supported by the Airbrush, showing all colors)= +Dyes= +Your selection= +Your selection:= +Cancel= +Accept= +Show Available= +(Currently showing all 256 colors)= +Show All Colors= +(Currently only showing what the right-clicked node can use)= diff --git a/unifieddyes/locale/tr.txt b/unifieddyes/locale/tr.txt deleted file mode 100644 index 6109389..0000000 --- a/unifieddyes/locale/tr.txt +++ /dev/null @@ -1,88 +0,0 @@ -# TUrkish translation -# Mahmutelmas06@hotmail.com - -Lime Dye = Limon Yeşili Boya -Aqua Dye = Deniz mavisi Boya -Sky-blue Dye = Gök-Mavi Boya -Red-violet Dye = Kırmızılı Boya -Light Grey Dye = Açık Grey Boya - -Dark Red Dye (low saturation) = Koyu Kırmızı Boya (düşük doygunluk) -Dark Orange Dye (low saturation) = Koyu Turuncu Boya (düşük doygunluk) -Dark Yellow Dye (low saturation) = Koyu Sarı Boya (düşük doygunluk) -Dark Lime Dye (low saturation) = Koyu Limon Yeşili Boya (düşük doygunluk) -Dark Green Dye (low saturation) = Koyu Yeşil Boya (düşük doygunluk) -Dark Aqua Dye (low saturation) = Koyu Deniz mavisi boya (düşük doygunluk) -Dark Cyan Dye (low saturation) = Koyu Cam göbeği Boya (düşük doygunluk) -Dark Sky-blue Dye (low saturation) = Koyu Gök-Mavi Boya (düşük doygunluk) -Dark Blue Dye (low saturation) = Koyu Mavi Boya (düşük doygunluk) -Dark Violet Dye (low saturation) = Koyu mor Boya (düşük doygunluk) -Dark Magenta Dye (low saturation) = Koyu Kızılımsı Mor Boya (düşük doygunluk) -Dark Red-violet Dye (low saturation) = Koyu Kırmızılı Boya (düşük doygunluk) - -Dark Red Dye = Koyu Kırmızı Boya -Dark Orange Dye = Koyu Turuncu Boya -Dark Yellow Dye = Koyu Sarı Boya -Dark Lime Dye = Koyu Limon Yeşili Boya -Dark Green Dye = Koyu Yeşil Boya -Dark Aqua Dye = Koyu Deniz mavisi Boya -Dark Cyan Dye = Koyu Cam göbeği Boya -Dark Sky-blue Dye = Koyu Gök-Mavi Boya -Dark Blue Dye = Koyu Mavi Boya -Dark Violet Dye = Koyu mor Boya -Dark Magenta Dye = Koyu Kızılımsı Mor Boya -Dark Red-violet Dye = Koyu Kırmızılı Boya - -Medium Red Dye (low saturation) = Kırmızı Boya (düşük doygunluk) -Medium Orange Dye (low saturation) = Turuncu Boya (düşük doygunluk) -Medium Yellow Dye (low saturation) = Sarı Boya (düşük doygunluk) -Medium Lime Dye (low saturation) = Limon Yeşili Boya (düşük doygunluk) -Medium Green Dye (low saturation) = Yeşil Boya (düşük doygunluk) -Medium Aqua Dye (low saturation) = Deniz mavisi Boya (düşük doygunluk) -Medium Cyan Dye (low saturation) = Cam göbeği Boya (düşük doygunluk) -Medium Sky-blue Dye (low saturation) = Gök-Mavi Boya (düşük doygunluk) -Medium Blue Dye (low saturation) = Mavi Boya (düşük doygunluk) -Medium Violet Dye (low saturation) = Koyu mor Boya (düşük doygunluk) -Medium Magenta Dye (low saturation) = Kızılımsı Mor Boya (düşük doygunluk) -Medium Red-violet Dye (low saturation) = Kırmızılı Boya (düşük doygunluk) - -Medium Red Dye = Kırmızı Boya -Medium Orange Dye = Turuncu Boya -Medium Yellow Dye = Sarı Boya -Medium Lime Dye = Limon Yeşili Boya -Medium Green Dye = Yeşil Boya -Medium Aqua Dye = Deniz mavisi Boya -Medium Cyan Dye = Cam göbeği Boya -Medium Sky-blue = Gök-Mavi -Medium Blue Dye = Mavi Boya -Medium Violet Dye = Koyu mor Boya -Medium Magenta Dye = Kızılımsı Mor Boya -Medium Red-violet Dye = Kırmızılı Boya - -Red Dye (low saturation) = Kırmızı Boya (düşük doygunluk) -Orange Dye (low saturation) = Turuncu Boya (düşük doygunluk) -Yellow Dye (low saturation) = Sarı Boya (düşük doygunluk) -Lime Dye (low saturation) = Limon Yeşili Boya (düşük doygunluk) -Green Dye (low saturation) = Yeşil Boya (düşük doygunluk) -Aqua Dye (low saturation) = Deniz mavisi Boya (düşük doygunluk) -Cyan Dye (low saturation) = Cam göbeği Boya (düşük doygunluk) -Sky-blue Dye (low saturation) = Gök-Mavi Boya (düşük doygunluk) -Blue Dye (low saturation) = Mavi Boya (düşük doygunluk) -Violet Dye (low saturation) = Koyu mor Boya (düşük doygunluk) -Magenta Dye (low saturation) = Kızılımsı Mor Boya (düşük doygunluk) -Red-violet Dye (low saturation) = Kırmızılı Boya (düşük doygunluk) - -Red Dye = Kırmızı Boya -Orange Dye = Turuncu Boya -Yellow Dye = Sarı Boya -Lime Dye = Limon Yeşili Boya -Green Dye = Yeşil Boya -Aqua Dye = Deniz mavisi Boya -Cyan Dye = Cam göbeği Boya -Sky-blue Dye = Gök-Mavi Boya -Blue Dye = Mavi Boya -Violet Dye = Koyu mor Boya -Magenta Dye = Kızılımsı Mor Boya -Red-violet Dye = Kırmızılı Boya - -[UnifiedDyes] Loaded! = [UnifiedBoyas] yüklendi! diff --git a/unifieddyes/locale/unifieddyes.de.tr b/unifieddyes/locale/unifieddyes.de.tr new file mode 100644 index 0000000..b9f198b --- /dev/null +++ b/unifieddyes/locale/unifieddyes.de.tr @@ -0,0 +1,91 @@ +# textdomain: unifieddyes + +# Translation by Xanthin + +Lime Dye=Gelbgruener Farbstoff (Gelbgruen) +Aqua Dye=Aqua Farbstoff +Sky-blue Dye=Himmelblauer Farbstoff +Red-violet Dye=Rotvioletter Farbstoff +Light Grey Dye=Hellgrauer Farbstoff + +Dark Red Dye (low saturation)=Dunkelroter Farbstoff (geringe Saettigung) +Dark Orange Dye (low saturation)=Dunkeloranger Farbstoff (geringe Saettigung) +Dark Yellow Dye (low saturation)=Dunkelgelber Farbstoff (geringe Saettigung) +Dark Lime Dye (low saturation)=Gelbgruenerlime Farbstoff (geringe Saettigung) +Dark Green Dye (low saturation)=Dunkelgruener Farbstoff (geringe Saettigung) +Dark Aqua Dye (low saturation)=Dunkelaqua Farbstoff (geringe Saettigung) +Dark Cyan Dye (low saturation)=Dunkeltuerkiser Farbstoff (geringe Saettigung) +Dark Sky-blue Dye (low saturation)=Dunkelhimmelblauer Farbstoff (geringe Saettigung) +Dark Blue Dye (low saturation)=Dunkelblauer Farbstoff (geringe Saettigung) +Dark Violet Dye (low saturation)=Dunkelvioletter Farbstoff (geringe Saettigung) +Dark Magenta Dye (low saturation)=Dunkelmagenta Farbstoff (geringe Saettigung) +Dark Red-violet Dye (low saturation)=Dunkelrotvioletter Farbstoff (geringe Saettigung) + +Dark Red Dye=Dunkelroter Farbstoff +Dark Orange Dye=Dunkeloranger Farbstoff +Dark Yellow Dye=Dunkelgelber Farbstoff +Dark Lime Dye=Dunkelgelbgruener Farbstoff +Dark Green Dye=Dunkelgruener Farbstoff +Dark Aqua Dye=Dunkelaqua Farbstoff +Dark Cyan Dye=Dunkeltuerkiser Farbstoff +Dark Sky-blue Dye=Dunkelhimmelblauer Farbstoff +Dark Blue Dye=Dunkelblauer Farbstoff +Dark Violet Dye=Dunkelvioletter Farbstoff +Dark Magenta Dye=Dunkelmagenta Farbstoff +Dark Red-violet Dye=Dunkelrotvioletter Farbstoff + +Medium Red Dye (low saturation)=Mittelroter Farbstoff (geringe Saettigung) +Medium Orange Dye (low saturation)=Mitteloranger Farbstoff (geringe Saettigung) +Medium Yellow Dye (low saturation)=Mittelgelber Farbstoff (geringe Saettigung) +Medium Lime Dye (low saturation)=Mittelgelbgruener Farbstoff (geringe Saettigung) +Medium Green Dye (low saturation)=Mittelgruener Farbstoff (geringe Saettigung) +Medium Aqua Dye (low saturation)=Mittelaqua Farbstoff (geringe Saettigung) +Medium Cyan Dye (low saturation)=Mitteltuerkiser Farbstoff (geringe Saettigung) +Medium Sky-blue Dye (low saturation)=Mittelhimmelblauer Farbstoff (geringe Saettigung) +Medium Blue Dye (low saturation)=Mittelblauer Farbstoff (geringe Saettigung) +Medium Violet Dye (low saturation)=Mittelvioletter Farbstoff (geringe Saettigung) +Medium Magenta Dye (low saturation)=Mittelmagenta Farbstoff (geringe Saettigung) +Medium Red-violet Dye (low saturation)=Mittelrotvioletter Farbstoff (geringe Saettigung) + +Medium Red Dye=Mittelroter Farbstoff +Medium Orange Dye=Mitteloranger Farbstoff +Medium Yellow Dye=Mittelgelber Farbstoff +Medium Lime Dye=Mittelgelbgruener Farbstoff +Medium Green Dye=Mittelgruener Farbstoff +Medium Aqua Dye=Mittelaqua Farbstoff +Medium Cyan Dye=Mitteltuerkiser Farbstoff +Medium Sky-blue=Mittelhimmelblauer Farbstoff +Medium Blue Dye=Mittelblauer Farbstoff +Medium Violet Dye=Mittelvioletter Farbstoff +Medium Magenta Dye=Mittelmagenta Farbstoff +Medium Red-violet Dye=Mittelrotvioletter Farbstoff + +Red Dye (low saturation)=Roter Farbstoff (geringe Saettigung) +Orange Dye (low saturation)=Oranger Farbstoff (geringe Saettigung) +Yellow Dye (low saturation)=Gelber Farbstoff (geringe Saettigung) +Lime Dye (low saturation)=Gelbgruener Farbstoff (geringe Saettigung) +Green Dye (low saturation)=Gruener Farbstoff (geringe Saettigung) +Aqua Dye (low saturation)=Aqua Farbstoff (geringe Saettigung) +Cyan Dye (low saturation)=Tuerkiser Farbstoff (geringe Saettigung) +Sky-blue Dye (low saturation)=Himmelblauer Farbstoff (geringe Saettigung) +Blue Dye (low saturation)=Blauer Farbstoff (geringe Saettigung) +Violet Dye (low saturation)=Violetter Farbstoff (geringe Saettigung) +Magenta Dye (low saturation)=Magenta Farbstoff (geringe Saettigung) lila +Red-violet Dye (low saturation)=Rotvioletter Farbstoff (geringe Saettigung) + +[UnifiedDyes] Loaded!=[UnifiedDyes] geladen! + +Dye Airbrush=Farbstroff Airbrush + +Select a color:=Wähle eine Farbe +(Right-clicked a node that supports all 256 colors, showing them all)=(Angeklickter Block unterstützt alle 256 Farben, zeige alle) +(Right-clicked a node not supported by the Airbrush, showing all colors)=(Angeklickter Block unterstützt kein Airbrush, zeige alle Farben) +Dyes=Farbstoffe +Your selection=Deine Auswahl +Your selection:=Deine Auswahl: +Cancel=Abbrechen +Accept=Übernehmen +Show Available=Zeige verfügbare +(Currently showing all 256 colors)=(Zeige alle 256 Farben) +Show All Colors=Zeige alle Farben +(Currently only showing what the right-clicked node can use)=(Zeige alle, die der angeklickte Block verwenden kann) diff --git a/unifieddyes/locale/unifieddyes.es.tr b/unifieddyes/locale/unifieddyes.es.tr new file mode 100644 index 0000000..05a474c --- /dev/null +++ b/unifieddyes/locale/unifieddyes.es.tr @@ -0,0 +1,89 @@ +# textdomain: unifieddyes + +# Traducido por Carlos Barraza + +Lime Dye=Colorante Lima +Aqua Dye=Colorante Agua +Sky-blue Dye=Colorante Azul Cielo +Red-violet Dye=Colorante Rojo Violeta +Light Grey Dye=Colorante Gris Claro + +Dark Red Dye (low saturation)=Colorante Rojo Oscuro (baja saturación) +Dark Orange Dye (low saturation)=Colorante Naranja Oscuro (baja saturación) +Dark Yellow Dye (low saturation)=Colorante Amarillo Oscuro (baja saturación) +Dark Lime Dye (low saturation)=Colorante Lima Oscuro (baja saturación) +Dark Green Dye (low saturation)=Colorante Verde Oscuro (baja saturación) +Dark Aqua Dye (low saturation)=Colorante Agua Oscuro (baja saturación) +Dark Cyan Dye (low saturation)=Colorante Cian Oscuro (baja saturación) +Dark Sky-blue Dye (low saturation)=Colorante Azul Cielo Oscuro (baja saturación) +Dark Blue Dye (low saturation)=Colorante Azul Oscuro (baja saturación) +Dark Violet Dye (low saturation)=Colorante Violeta Oscuro (baja saturación) +Dark Magenta Dye (low saturation)=Colorante Magenta Oscuro (baja saturación) +Dark Red-violet Dye (low saturation)=Colorante Rojo Violeta Oscuro (baja saturación) + +Dark Red Dye=Colorante Rojo Oscuro +Dark Orange Dye=Colorante Naranja Oscuro +Dark Yellow Dye=Colorante Amarillo Oscuro +Dark Lime Dye=Colorante Lima Oscuro +Dark Green Dye=Colorante Verde Oscuro +Dark Aqua Dye=Colorante Agua Oscuro +Dark Cyan Dye=Colorante Cian Oscuro +Dark Sky-blue Dye=Colorante Azul Cielo Oscuro +Dark Blue Dye=Colorante Azul Oscuro +Dark Violet Dye=Colorante Violeta Oscuro +Dark Magenta Dye=Colorante Magenta Oscuro +Dark Red-violet Dye=Colorante Rojo Violeta Oscuro + +Medium Red Dye (low saturation)=Colorante Rojo Claro (baja saturación) +Medium Orange Dye (low saturation)=Colorante Naranja Claro (baja saturación) +Medium Yellow Dye (low saturation)=Colorante Amarillo Claro (baja saturación) +Medium Lime Dye (low saturation)=Colorante Lima Claro (baja saturación) +Medium Green Dye (low saturation)=Colorante Verde Claro (baja saturación) +Medium Aqua Dye (low saturation)=Colorante Agua Claro (baja saturación) +Medium Cyan Dye (low saturation)=Colorante Cian Claro (baja saturación) +Medium Sky-blue Dye (low saturation)=Colorante Azul Cielo Claro (baja saturación) +Medium Blue Dye (low saturation)=Colorante Azul Claro (baja saturación) +Medium Violet Dye (low saturation)=Colorante Violeta Claro (baja saturación) +Medium Magenta Dye (low saturation)=Colorante Magenta Claro (baja saturación) +Medium Red-violet Dye (low saturation)=Colorante Rojo Violeta Claro (baja saturación) + +Medium Red Dye=Colorante Rojo Claro +Medium Orange Dye=Colorante Naranja Claro +Medium Yellow Dye=Colorante Amarillo Claro +Medium Lime Dye=Colorante Lima Claro +Medium Green Dye=Colorante Verde Claro +Medium Aqua Dye=Colorante Agua Claro +Medium Cyan Dye=Colorante Cian Claro +Medium Sky-blue=Colorante Azul Cielo Claro +Medium Blue Dye=Colorante Azul Claro +Medium Violet Dye=Colorante Violeta Claro +Medium Magenta Dye=Colorante Magenta Claro +Medium Red-violet Dye=Colorante Rojo Violeta Claro + +Red Dye (low saturation)=Colorante Rojo (baja saturación) +Orange Dye (low saturation)=Colorante Naranja (baja saturación) +Yellow Dye (low saturation)=Colorante Amarillo (baja saturación) +Lime Dye (low saturation)=Colorante Lima (baja saturación) +Green Dye (low saturation)=Colorante Verde (baja saturación) +Aqua Dye (low saturation)=Colorante Agua (baja saturación) +Cyan Dye (low saturation)=Colorante Cian (baja saturación) +Sky-blue Dye (low saturation)=Colorante Azul Cielo (baja saturación) +Blue Dye (low saturation)=Colorante Azul (baja saturación) +Violet Dye (low saturation)=Colorante Violeta (baja saturación) +Magenta Dye (low saturation)=Colorante Magenta (baja saturación) +Red-violet Dye (low saturation)=Colorante Rojo Violeta (baja saturación) + +Red Dye=Colorante Rojo +Orange Dye=Colorante Naranja +Yellow Dye=Colorante Amarillo +Lime Dye=Colorante Lima +Green Dye=Colorante Verde +Aqua Dye=Colorante Agua +Cyan Dye=Colorante Cian +Sky-blue Dye=Colorante Azul Cielo +Blue Dye=Colorante Azul +Violet Dye=Colorante Violeta +Magenta Dye=Colorante Magenta +Red-violet Dye=Colorante Rojo Violeta + +[UnifiedDyes] Loaded!=[ColorantesUnificados] Cargado. diff --git a/unifieddyes/locale/unifieddyes.fr.tr b/unifieddyes/locale/unifieddyes.fr.tr new file mode 100644 index 0000000..24c839c --- /dev/null +++ b/unifieddyes/locale/unifieddyes.fr.tr @@ -0,0 +1,104 @@ +# textdomain: unifieddyes + +# Template + +Lime Dye=Teinture citron-vert +Aqua Dye=Teinture aqua +Sky-blue Dye=Teinture bleu ciel +Red-violet Dye=Teinture rouge-violet +Light Grey Dye=Teinture gris clair + +Dark Red Dye (low saturation)=Teinture rouge foncé (basse saturation) +Dark Orange Dye (low saturation)=Teinture orange foncé (basse saturation) +Dark Yellow Dye (low saturation)=Teinture jaune foncé (basse saturation) +Dark Lime Dye (low saturation)=Teinture citron-vert foncé (basse saturation) +Dark Green Dye (low saturation)=Teinture vert foncé (basse saturation) +Dark Aqua Dye (low saturation)=Teinture aqua foncé (basse saturation) +Dark Cyan Dye (low saturation)=Teinture cyan foncé (basse saturation) +Dark Sky-blue Dye (low saturation)=Teinture bleu ciel foncé (basse saturation) +Dark Blue Dye (low saturation)=Teinture bleu foncé (basse saturation) +Dark Violet Dye (low saturation)=Teinture violet foncé (basse saturation) +Dark Magenta Dye (low saturation)=Teinture magenta foncé (basse saturation) +Dark Red-violet Dye (low saturation)=Teinture rouge-violet foncé (basse saturation) + +Dark Red Dye=Teinture rouge foncé +Dark Orange Dye=Teinture orange foncé +Dark Yellow Dye=Teinture jaune foncé +Dark Lime Dye=Teinture citron-vert foncé +Dark Green Dye=Teinture vert foncé +Dark Aqua Dye=Teinture aqua foncé +Dark Cyan Dye=Teinture cyan foncé +Dark Sky-blue Dye=Teinture bleu ciel foncé +Dark Blue Dye=Teinture bleu foncé +Dark Violet Dye=Teinture violet foncé +Dark Magenta Dye=Teinture magenta foncé +Dark Red-violet Dye=Teinture rouge-violet foncé + +Medium Red Dye (low saturation)=Teinture rouge moyen (basse saturation) +Medium Orange Dye (low saturation)=Teinture orange moyen (basse saturation) +Medium Yellow Dye (low saturation)=Teinture jaune moyen (basse saturation) +Medium Lime Dye (low saturation)=Teinture citron-vert moyen (basse saturation) +Medium Green Dye (low saturation)=Teinture vert moyen (basse saturation) +Medium Aqua Dye (low saturation)=Teinture aqua moyen (basse saturation) +Medium Cyan Dye (low saturation)=Teinture cyan moyen (basse saturation) +Medium Sky-blue Dye (low saturation)=Teinture bleu ciel moyen (basse saturation) +Medium Blue Dye (low saturation)=Teinture bleu moyen (basse saturation) +Medium Violet Dye (low saturation)=Teinture violet moyen (basse saturation) +Medium Magenta Dye (low saturation)=Teinture magenta moyen (basse saturation) +Medium Red-violet Dye (low saturation)=Teinture rouge-violet moyen (basse saturation) + +Medium Red Dye=Teinture rouge moyen +Medium Orange Dye=Teinture orange moyen +Medium Yellow Dye=Teinture jaune moyen +Medium Lime Dye=Teinture citron-vert moyen +Medium Green Dye=Teinture vert moyen +Medium Aqua Dye=Teinture aqua moyen +Medium Cyan Dye=Teinture cyan moyen +Medium Sky-blue=Teinture bleu ciel moyen +Medium Blue Dye=Teinture bleu moyen +Medium Violet Dye=Teinture violet moyen +Medium Magenta Dye=Teinture magenta moyen +Medium Red-violet Dye=Teinture rouge-violet moyen + +Red Dye (low saturation)=Teinture rouge (basse saturation) +Orange Dye (low saturation)=Teinture orange (basse saturation) +Yellow Dye (low saturation)=Teinture jaune (basse saturation) +Lime Dye (low saturation)=Teinture citron-vert (basse saturation) +Green Dye (low saturation)=Teinture vert (basse saturation) +Aqua Dye (low saturation)=Teinture aqua (basse saturation) +Cyan Dye (low saturation)=Teinture cyan (basse saturation) +Sky-blue Dye (low saturation)=Teinture bleu ciel (basse saturation) +Blue Dye (low saturation)=Teinture bleu (basse saturation) +Violet Dye (low saturation)=Teinture violet (basse saturation) +Magenta Dye (low saturation)=Teinture magenta (basse saturation) +Red-violet Dye (low saturation)=Teinture rouge-violet (basse saturation) + +Red Dye=Teinture rouge +Orange Dye=Teinture orange +Yellow Dye=Teinture jaune +Lime Dye=Teinture citron-vert +Green Dye=Teinture vert +Aqua Dye=Teinture aqua +Cyan Dye=Teinture cyan +Sky-blue Dye=Teinture bleu ciel +Blue Dye=Teinture bleu +Violet Dye=Teinture violet +Magenta Dye=Teinture magenta +Red-violet Dye=Teinture rouge-violet + +[UnifiedDyes] Loaded!=[UnifiedDyes] chargé ! + +Dye Airbrush=Aérographe à colorants + +Select a color:=Choisissez une couleur +(Right-clicked a node that supports all 256 colors, showing them all)=(Le bloc supporte toutes les 256 couleurs, affichage de toutes celles-ci) +(Right-clicked a node not supported by the Airbrush, showing all colors)=(Le bloc n’est pas supporté par l’aérographe, affichage de toutes les couleurs) +Dyes=Teintures +Your selection=Votre sélection +Your selection:=Votre sélection : +Cancel=Annuler +Accept=Valider +Show Available=Voir dispo. +(Currently showing all 256 colors)=(Actuellement en train d’afficher toutes les 256 couleurs) +Show All Colors=Voir toutes +(Currently only showing what the right-clicked node can use)=(Actuellement en train d’afficher uniquement ce que le bloc peut utiliser) diff --git a/unifieddyes/locale/unifieddyes.ms.tr b/unifieddyes/locale/unifieddyes.ms.tr new file mode 100644 index 0000000..120e43c --- /dev/null +++ b/unifieddyes/locale/unifieddyes.ms.tr @@ -0,0 +1,89 @@ +# textdomain: unifieddyes + +# Malay translation by MuhdNurHidayat + +Lime Dye=Pewarna Hijau Pucuk Pisang +Aqua Dye=Pewarna Akuamarin +Sky-blue Dye=Pewarna Biru Langit +Red-violet Dye=Pewarna Merah Lembayung +Light Grey Dye=Pewarna Kelabu Muda + +Dark Red Dye (low saturation)=Pewarna Merah Tua (penepuan rendah) +Dark Orange Dye (low saturation)=Pewarna Jingga Tua (penepuan rendah) +Dark Yellow Dye (low saturation)=Pewarna Kuning Tua (penepuan rendah) +Dark Lime Dye (low saturation)=Pewarna Hijau Pucuk Pisang Tua (penepuan rendah) +Dark Green Dye (low saturation)=Pewarna Hijau Tua (penepuan rendah) +Dark Aqua Dye (low saturation)=Pewarna Akuamarin Tua (penepuan rendah) +Dark Cyan Dye (low saturation)=Pewarna Sian Tua (penepuan rendah) +Dark Sky-blue Dye (low saturation)=Pewarna Biru Langit Tua (penepuan rendah) +Dark Blue Dye (low saturation)=Pewarna Biru Tua (penepuan rendah) +Dark Violet Dye (low saturation)=Pewarna Lembayung Tua (penepuan rendah) +Dark Magenta Dye (low saturation)=Pewarna Magenta Tua (penepuan rendah) +Dark Red-violet Dye (low saturation)=Pewarna Merah Lembayung Tua (penepuan rendah) + +Dark Red Dye=Pewarna Merah Tua +Dark Orange Dye=Pewarna Jingga Tua +Dark Yellow Dye=Pewarna Kuning Tua +Dark Lime Dye=Pewarna Hijau Pucuk Pisang Tua +Dark Green Dye=Pewarna Hijau Tua +Dark Aqua Dye=Pewarna Akuamarin Tua +Dark Cyan Dye=Pewarna Sian Tua +Dark Sky-blue Dye=Pewarna Biru Langit Tua +Dark Blue Dye=Pewarna Biru Tua +Dark Violet Dye=Pewarna Lembayung Tua +Dark Magenta Dye=Pewarna Magenta Tua +Dark Red-violet Dye=Pewarna Merah Lembayung Tua + +Medium Red Dye (low saturation)=Pewarna Merah Sederhana (penepuan rendah) +Medium Orange Dye (low saturation)=Pewarna Jingga Sederhana (penepuan rendah) +Medium Yellow Dye (low saturation)=Pewarna Kuning Sederhana (penepuan rendah) +Medium Lime Dye (low saturation)=Pewarna Hijau Pucuk Pisang Sederhana (penepuan rendah) +Medium Green Dye (low saturation)=Pewarna Hijau Sederhana (penepuan rendah) +Medium Aqua Dye (low saturation)=Pewarna Akuamarin Sederhana (penepuan rendah) +Medium Cyan Dye (low saturation)=Pewarna Sian Sederhana (penepuan rendah) +Medium Sky-blue Dye (low saturation)=Pewarna Biru Langit Sederhana (penepuan rendah) +Medium Blue Dye (low saturation)=Pewarna Biru Sederhana (penepuan rendah) +Medium Violet Dye (low saturation)=Pewarna Lembayung Sederhana (penepuan rendah) +Medium Magenta Dye (low saturation)=Pewarna Magenta Sederhana (penepuan rendah) +Medium Red-violet Dye (low saturation)=Pewarna Merah Lembayung Sederhana (penepuan rendah) + +Medium Red Dye=Pewarna Merah Sederhana +Medium Orange Dye=Pewarna Jingga Sederhana +Medium Yellow Dye=Pewarna Kuning Sederhana +Medium Lime Dye=Pewarna Hijau Pucuk Pisang Sederhana +Medium Green Dye=Pewarna Hijau Sederhana +Medium Aqua Dye=Pewarna Akuamarin Sederhana +Medium Cyan Dye=Pewarna Sian Sederhana +Medium Sky-blue=Pewarna Biru Langit Sederhana +Medium Blue Dye=Pewarna Biru Sederhana +Medium Violet Dye=Pewarna Lembayung Sederhana +Medium Magenta Dye=Pewarna Magenta Sederhana +Medium Red-violet Dye=Pewarna Merah Lembayung Sederhana + +Red Dye (low saturation)=Pewarna Merah (penepuan rendah) +Orange Dye (low saturation)=Pewarna Jingga (penepuan rendah) +Yellow Dye (low saturation)=Pewarna Kuning (penepuan rendah) +Lime Dye (low saturation)=Pewarna Hijau Pucuk Pisang (penepuan rendah) +Green Dye (low saturation)=Pewarna Hijau (penepuan rendah) +Aqua Dye (low saturation)=Pewarna Akuamarin (penepuan rendah) +Cyan Dye (low saturation)=Pewarna Sian (penepuan rendah) +Sky-blue Dye (low saturation)=Pewarna Biru Langit (penepuan rendah) +Blue Dye (low saturation)=Pewarna Biru (penepuan rendah) +Violet Dye (low saturation)=Pewarna Lembayung (penepuan rendah) +Magenta Dye (low saturation)=Pewarna Magenta (penepuan rendah) +Red-violet Dye (low saturation)=Pewarna Merah Lembayung(penepuan rendah) + +Red Dye=Pewarna Merah +Orange Dye=Pewarna Jingga +Yellow Dye=Pewarna Kuning +Lime Dye=Pewarna Hijau Pucuk Pisang +Green Dye=Pewarna Hijau +Aqua Dye=Pewarna Akuamarin +Cyan Dye=Pewarna Sian +Sky-blue Dye=Pewarna Biru Langit +Blue Dye=Pewarna Biru +Violet Dye=Pewarna Lembayung +Magenta Dye=Pewarna Magenta +Red-violet Dye=Pewarna Merah Lembayung + +[UnifiedDyes] Loaded!=[UnifiedDyes] Telah Dimuatkan! diff --git a/unifieddyes/locale/unifieddyes.pt.tr b/unifieddyes/locale/unifieddyes.pt.tr new file mode 100644 index 0000000..f461667 --- /dev/null +++ b/unifieddyes/locale/unifieddyes.pt.tr @@ -0,0 +1,87 @@ +# textdomain: unifieddyes + +Lime Dye=Corante Lima +Aqua Dye=Corante Água +Sky-blue Dye=Corante Azul-Céu +Red-violet Dye=Corante Vermelho-Violeta +Light Grey Dye=Corante Cinza Claro + +Dark Red Dye (low saturation)=Corante Vermelho Escuro (baixa saturação) +Dark Orange Dye (low saturation)=Corante Laranja Escuro (baixa saturação) +Dark Yellow Dye (low saturation)=Corante Amarelo Escuro (baixa saturação) +Dark Lime Dye (low saturation)=Corante Lima Escuro (baixa saturação) +Dark Green Dye (low saturation)=Corante Verde Escuro (baixa saturação) +Dark Aqua Dye (low saturation)=Corante Água Escuro (baixa saturação) +Dark Cyan Dye (low saturation)=Corante Ciano Escuro (baixa saturação) +Dark Sky-blue Dye (low saturation)=Corante Azul-Céu Escuro (baixa saturação) +Dark Blue Dye (low saturation)=Corante Azul Escuro (baixa saturação) +Dark Violet Dye (low saturation)=Corante Violeta Escuro (baixa saturação) +Dark Magenta Dye (low saturation)=Corante Magenta Escuro (baixa saturação) +Dark Red-violet Dye (low saturation)=Corante Vermelho-Violeta Escuro (baixa saturação) + +Dark Red Dye=Corante Vermelho Escuro +Dark Orange Dye=Corante Laranja Escuro +Dark Yellow Dye=Corante Amarelo Escuro +Dark Lime Dye=Corante Lima Escuro +Dark Green Dye=Corante Verde Escuro +Dark Aqua Dye=Corante Água Escuro +Dark Cyan Dye=Corante Ciano Escuro +Dark Sky-blue Dye=Corante Azul-Céu Escuro +Dark Blue Dye=Corante Azul Escuro +Dark Violet Dye=Corante Violeta Escuro +Dark Magenta Dye=Corante Magenta Escuro +Dark Red-violet Dye=Corante Vermelho-Violeta Escuro + +Medium Red Dye (low saturation)=Corante Vermelho Médio (baixa saturação) +Medium Orange Dye (low saturation)=Corante Laranja Médio (baixa saturação) +Medium Yellow Dye (low saturation)=Corante Amarelo Médio (baixa saturação) +Medium Lime Dye (low saturation)=Corante Lima Médio (baixa saturação) +Medium Green Dye (low saturation)=Corante Verde Médio (baixa saturação) +Medium Aqua Dye (low saturation)=Corante Água Médio (baixa saturação) +Medium Cyan Dye (low saturation)=Corante Ciano Médio (baixa saturação) +Medium Sky-blue Dye (low saturation)=Corante Azul-Céu Médio (baixa saturação) +Medium Blue Dye (low saturation)=Corante Azul Médio (baixa saturação) +Medium Violet Dye (low saturation)=Corante Violeta Médio (baixa saturação) +Medium Magenta Dye (low saturation)=Corante Magenta Médio (baixa saturação) +Medium Red-violet Dye (low saturation)=Corante Vermelho-Violeta Médio (baixa saturação) + +Medium Red Dye=Corante Vermelho Médio +Medium Orange Dye=Corante Laranja Médio +Medium Yellow Dye=Corante Amarelo Médio +Medium Lime Dye=Corante Lima Médio +Medium Green Dye=Corante Verde Médio +Medium Aqua Dye=Corante Água Médio +Medium Cyan Dye=Corante Ciano Médio +Medium Sky-blue=Corante Azul-Céu Médio +Medium Blue Dye=Corante Azul Médio +Medium Violet Dye=Corante Violeta Médio +Medium Magenta Dye=Corante Magenta Médio +Medium Red-violet Dye=Corante Vermelho-Violeta Médio + +Red Dye (low saturation)=Corante Vermelho (baixa saturação) +Orange Dye (low saturation)=Corante Laranja (baixa saturação) +Yellow Dye (low saturation)=Corante Amarelo (baixa saturação) +Lime Dye (low saturation)=Corante Lima (baixa saturação) +Green Dye (low saturation)=Corante Vermelho (baixa saturação) +Aqua Dye (low saturation)=Corante Água (baixa saturação) +Cyan Dye (low saturation)=Corante Ciano (baixa saturação) +Sky-blue Dye (low saturation)=Corante Azul-Céu (baixa saturação) +Blue Dye (low saturation)=Corante Azul (baixa saturação) +Violet Dye (low saturation)=Corante Violeta (baixa saturação) +Magenta Dye (low saturation)=Corante Magenta (baixa saturação) +Red-violet Dye (low saturation)=Corante Vermelho-Violeta (baixa saturação) + +Red Dye=Corante Vermelho +Orange Dye=Corante Laranja +Yellow Dye=Corante Amarelo +Lime Dye=Corante Lima +Green Dye=Corante Verde +Aqua Dye=Corante Água +Cyan Dye=Corano Ciano +Sky-blue Dye=Corante Azul-Céu +Blue Dye=Corante Azul +Violet Dye=Corante Violeta +Magenta Dye=Corante Magenta +Red-violet Dye=Corante Vermelho-Violeta + +[UnifiedDyes] Loaded!=[UnifiedDyes] Carregado! diff --git a/unifieddyes/locale/unifieddyes.ru.tr b/unifieddyes/locale/unifieddyes.ru.tr new file mode 100644 index 0000000..0aec3ff --- /dev/null +++ b/unifieddyes/locale/unifieddyes.ru.tr @@ -0,0 +1,76 @@ +# textdomain: unifieddyes + +# Translation by @drakes_journey + +Lime Dye=Лаймовая краска +Aqua Dye=Аквамариновая краска +Sky-blue Dye=Голубая краска +Red-violet Dye=Красно-фиолетовая краска +Light Grey Dye=Светло-серая краска + +Dark Red Dye (low saturation)=Темная красная краска (низкая насыщенность) +Dark Orange Dye (low saturation)=Темная оранжевая краска (низкая насыщенность) +Dark Yellow Dye (low saturation)=Темная желтая краска (низкая насыщенность) +Dark Lime Dye (low saturation)=Темная лаймовая краска (низкая насыщенность) +Dark Green Dye (low saturation)=Темная зеленая краска (низкая насыщенность) +Dark Aqua Dye (low saturation)=Темная аквамариновая краска (низкая насыщенность) +Dark Cyan Dye (low saturation)=Темная бирюзовая краска (низкая насыщенность) +Dark Sky-blue Dye (low saturation)=Темная голубая краска (низкая насыщенность) +Dark Blue Dye (low saturation)=Темная синяя краска (низкая насыщенность) +Dark Violet Dye (low saturation)=Темная фиолетовая краска (низкая насыщенность) +Dark Magenta Dye (low saturation)=Темная пурпурная краска (низкая насыщенность) +Dark Red-violet Dye (low saturation)=Темная краснофиолетовая краска (низкая насыщенность) + +Dark Red Dye=Темная красная краска +Dark Orange Dye=Темная оранжевая краска +Dark Yellow Dye=Темная желтая краска +Dark Lime Dye=Темная зеленая краска +Dark Green Dye=Темная зеленая краска +Dark Aqua Dye=Темная аквамариновая краска +Dark Cyan Dye=Темная бирюзовая краска +Dark Sky-blue Dye=Темная голубая краска +Dark Blue Dye=Темная синяя краска +Dark Violet Dye=Темная фиолетовая краска +Dark Magenta Dye=Темная пурпурная краска +Dark Red-violet Dye=Темная красно-фиолетовая краска + +Medium Red Dye (low saturation)=Средне-красная краска (низкая насыщенность) +Medium Orange Dye (low saturation)=Средне-оранжевая краска (низкая насыщенность) +Medium Yellow Dye (low saturation)=Средне-желтая краска (низкая насыщенность) +Medium Lime Dye (low saturation)=Средне-зеленая краска (низкая насыщенность) +Medium Green Dye (low saturation)=Средне-зеленая краска (низкая насыщенность) +Medium Aqua Dye (low saturation)=Средне-аквамариновая краска (низкая насыщенность) +Medium Cyan Dye (low saturation)=Средне-бирюзовая краска (низкая насыщенность) +Medium Sky-blue Dye (low saturation)=Средне-голубая краска (низкая насыщенность) +Medium Blue Dye (low saturation)=Средне-синяя краска (низкая насыщенность) +Medium Violet Dye (low saturation)=Средне-фиолетовая краска (низкая насыщенность) +Medium Magenta Dye (low saturation)=Средне-пурпурная краска (низкая насыщенность) +Medium Red-violet Dye (low saturation)=Средне-краснофиолетовая краска (низкая насыщенность) + +Medium Red Dye=Средне-красная краска +Medium Orange Dye=Средне-оранжевая краска +Medium Yellow Dye=Средне-желтая краска +Medium Lime Dye=Средне-лаймовая краска +Medium Green Dye=Средне-зеленая краска +Medium Aqua Dye=Средне-аквамариновая краска +Medium Cyan Dye=Средне-бирюзовая краска +Medium Sky-blue=Средне-голубая краска +Medium Blue Dye=Средне-синяя краска +Medium Violet Dye=Средне-фиолетовая краска +Medium Magenta Dye=Средне-пурпурная краска +Medium Red-violet Dye=Средне-краснофиолетовая краска + +Red Dye (low saturation)=Красная краска (низкая насыщенность) +Orange Dye (low saturation)=Оранжевая краска (низкая насыщенность) +Yellow Dye (low saturation)=Желтая краска (низкая насыщенность) +Lime Dye (low saturation)=Лаймовая краска (низкая насыщенность) +Green Dye (low saturation)=Зеленая краска (низкая насыщенность) +Aqua Dye (low saturation)=Аквамариновая краска (низкая насыщенность) +Cyan Dye (low saturation)=Бирюзовая краска (низкая насыщенность) +Sky-blue Dye (low saturation)=Голубая краска (низкая насыщенность) +Blue Dye (low saturation)=Синяя краска (низкая насыщенность) +Violet Dye (low saturation)=Фиолетовая краска (низкая насыщенность) +Magenta Dye (low saturation)=Пурпурная краска (низкая насыщенность) +Red-violet Dye (low saturation)=Краснофиолетовая краска (низкая насыщенность) + +[UnifiedDyes] Loaded!=[UnifiedDyes] загружен! diff --git a/unifieddyes/locale/unifieddyes.tr.tr b/unifieddyes/locale/unifieddyes.tr.tr new file mode 100644 index 0000000..a3ecfd3 --- /dev/null +++ b/unifieddyes/locale/unifieddyes.tr.tr @@ -0,0 +1,90 @@ +# textdomain: unifieddyes + +# TUrkish translation +# Mahmutelmas06@hotmail.com + +Lime Dye=Limon Yeşili Boya +Aqua Dye=Deniz mavisi Boya +Sky-blue Dye=Gök-Mavi Boya +Red-violet Dye=Kırmızılı Boya +Light Grey Dye=Açık Grey Boya + +Dark Red Dye (low saturation)=Koyu Kırmızı Boya (düşük doygunluk) +Dark Orange Dye (low saturation)=Koyu Turuncu Boya (düşük doygunluk) +Dark Yellow Dye (low saturation)=Koyu Sarı Boya (düşük doygunluk) +Dark Lime Dye (low saturation)=Koyu Limon Yeşili Boya (düşük doygunluk) +Dark Green Dye (low saturation)=Koyu Yeşil Boya (düşük doygunluk) +Dark Aqua Dye (low saturation)=Koyu Deniz mavisi boya (düşük doygunluk) +Dark Cyan Dye (low saturation)=Koyu Cam göbeği Boya (düşük doygunluk) +Dark Sky-blue Dye (low saturation)=Koyu Gök-Mavi Boya (düşük doygunluk) +Dark Blue Dye (low saturation)=Koyu Mavi Boya (düşük doygunluk) +Dark Violet Dye (low saturation)=Koyu mor Boya (düşük doygunluk) +Dark Magenta Dye (low saturation)=Koyu Kızılımsı Mor Boya (düşük doygunluk) +Dark Red-violet Dye (low saturation)=Koyu Kırmızılı Boya (düşük doygunluk) + +Dark Red Dye=Koyu Kırmızı Boya +Dark Orange Dye=Koyu Turuncu Boya +Dark Yellow Dye=Koyu Sarı Boya +Dark Lime Dye=Koyu Limon Yeşili Boya +Dark Green Dye=Koyu Yeşil Boya +Dark Aqua Dye=Koyu Deniz mavisi Boya +Dark Cyan Dye=Koyu Cam göbeği Boya +Dark Sky-blue Dye=Koyu Gök-Mavi Boya +Dark Blue Dye=Koyu Mavi Boya +Dark Violet Dye=Koyu mor Boya +Dark Magenta Dye=Koyu Kızılımsı Mor Boya +Dark Red-violet Dye=Koyu Kırmızılı Boya + +Medium Red Dye (low saturation)=Kırmızı Boya (düşük doygunluk) +Medium Orange Dye (low saturation)=Turuncu Boya (düşük doygunluk) +Medium Yellow Dye (low saturation)=Sarı Boya (düşük doygunluk) +Medium Lime Dye (low saturation)=Limon Yeşili Boya (düşük doygunluk) +Medium Green Dye (low saturation)=Yeşil Boya (düşük doygunluk) +Medium Aqua Dye (low saturation)=Deniz mavisi Boya (düşük doygunluk) +Medium Cyan Dye (low saturation)=Cam göbeği Boya (düşük doygunluk) +Medium Sky-blue Dye (low saturation)=Gök-Mavi Boya (düşük doygunluk) +Medium Blue Dye (low saturation)=Mavi Boya (düşük doygunluk) +Medium Violet Dye (low saturation)=Koyu mor Boya (düşük doygunluk) +Medium Magenta Dye (low saturation)=Kızılımsı Mor Boya (düşük doygunluk) +Medium Red-violet Dye (low saturation)=Kırmızılı Boya (düşük doygunluk) + +Medium Red Dye=Kırmızı Boya +Medium Orange Dye=Turuncu Boya +Medium Yellow Dye=Sarı Boya +Medium Lime Dye=Limon Yeşili Boya +Medium Green Dye=Yeşil Boya +Medium Aqua Dye=Deniz mavisi Boya +Medium Cyan Dye=Cam göbeği Boya +Medium Sky-blue=Gök-Mavi +Medium Blue Dye=Mavi Boya +Medium Violet Dye=Koyu mor Boya +Medium Magenta Dye=Kızılımsı Mor Boya +Medium Red-violet Dye=Kırmızılı Boya + +Red Dye (low saturation)=Kırmızı Boya (düşük doygunluk) +Orange Dye (low saturation)=Turuncu Boya (düşük doygunluk) +Yellow Dye (low saturation)=Sarı Boya (düşük doygunluk) +Lime Dye (low saturation)=Limon Yeşili Boya (düşük doygunluk) +Green Dye (low saturation)=Yeşil Boya (düşük doygunluk) +Aqua Dye (low saturation)=Deniz mavisi Boya (düşük doygunluk) +Cyan Dye (low saturation)=Cam göbeği Boya (düşük doygunluk) +Sky-blue Dye (low saturation)=Gök-Mavi Boya (düşük doygunluk) +Blue Dye (low saturation)=Mavi Boya (düşük doygunluk) +Violet Dye (low saturation)=Koyu mor Boya (düşük doygunluk) +Magenta Dye (low saturation)=Kızılımsı Mor Boya (düşük doygunluk) +Red-violet Dye (low saturation)=Kırmızılı Boya (düşük doygunluk) + +Red Dye=Kırmızı Boya +Orange Dye=Turuncu Boya +Yellow Dye=Sarı Boya +Lime Dye=Limon Yeşili Boya +Green Dye=Yeşil Boya +Aqua Dye=Deniz mavisi Boya +Cyan Dye=Cam göbeği Boya +Sky-blue Dye=Gök-Mavi Boya +Blue Dye=Mavi Boya +Violet Dye=Koyu mor Boya +Magenta Dye=Kızılımsı Mor Boya +Red-violet Dye=Kırmızılı Boya + +[UnifiedDyes] Loaded!=[UnifiedBoyas] yüklendi! diff --git a/unifieddyes/mod.conf b/unifieddyes/mod.conf index 861cb26..8afae56 100644 --- a/unifieddyes/mod.conf +++ b/unifieddyes/mod.conf @@ -1 +1,4 @@ name = unifieddyes +description = Unified Dyes expands the standard dye set from 15 to 90 colors. +depends = default, dye, basic_materials +min_minetest_version = 5.2.0 diff --git a/worldedit/.gitignore b/worldedit/.gitignore new file mode 100644 index 0000000..5236e1e --- /dev/null +++ b/worldedit/.gitignore @@ -0,0 +1,2 @@ +*~ + diff --git a/worldedit/ChatCommands.md b/worldedit/ChatCommands.md index 528f2df..1d3b4e9 100644 --- a/worldedit/ChatCommands.md +++ b/worldedit/ChatCommands.md @@ -29,24 +29,26 @@ Many commands also have shorter names that can be typed faster. For example, if ### `//about` -Get information about the mod. +Get information about the WorldEdit mod. //about -### `//inspect on/off/1/0/true/false/yes/no/enable/disable/` +### `//help [all/]` + +Get help for WorldEdit commands. `all` shows all WorldEdit commands, `` +the help text for the given command. + + //help + //help all + //help hollowpyramid + + +### `//inspect [on/off/1/0/true/false/yes/no/enable/disable]` Enable or disable node inspection. //inspect on //inspect off - //inspect 1 - //inspect 0 - //inspect true - //inspect false - //inspect yes - //inspect no - //inspect enable - //inspect disable //inspect ### `//reset` @@ -81,18 +83,19 @@ Set WorldEdit region position 2 to the player's location. ### `//p set/set1/set2/get` -Set WorldEdit region, WorldEdit position 1, or WorldEdit position 2 by punching nodes, or display the current WorldEdit region. +Set WorldEdit region, WorldEdit position 1, or WorldEdit position 2 by +punching nodes, or print the current WorldEdit region. //p set //p set1 //p set2 //p get -### `//fixedpos set1 x y z` +### `//fixedpos set1/set2 ` -Set a WorldEdit region position to the position at (``, ``, ``). +Set the WorldEdit region position 1 or 2 to the position (``, ``, ``). - //fixedpos set1 0 0 0 + //fixedpos set1 0 0 0 //fixedpos set1 -30 5 28 //fixedpos set2 1004 -200 432 @@ -121,9 +124,12 @@ Set the current WorldEdit region to ``. Set the param2 value of all nodes in the current WorldEdit region to ``. -### `//mix [] []...` + //param2 8 -Fill the current WorldEdit region with a random mix of ``, ``, `...`. Weightings can be optionally specified via a number after a node name. +### `//mix [count1] [count2] ...` + +Fill the current WorldEdit region with a random mix of ``, ``, `...`. +Weightings can be optionally specified via the `[count1]`, `[count2]`, `...` parameters after a node name. //mix air //mix cactus stone glass sandstone @@ -152,13 +158,15 @@ Replace all nodes other than `` with `` in the curren ### `//hollowcube ` -Adds a hollow cube with its ground level centered at WorldEdit position 1 with dimensions `` x `` x ``, composed of ``. +Adds a hollow cube with its ground level centered at WorldEdit position 1 with +dimensions `` x `` x ``, composed of ``. //hollowcube 6 5 6 Diamond Block ### `//cube ` -Adds a cube with its ground level centered at WorldEdit position 1 with dimensions `` x `` x ``, composed of ``. +Adds a cube with its ground level centered at WorldEdit position 1 with +dimensions `` x `` x ``, composed of ``. //cube 6 5 6 Diamond Block //cube 7 2 1 default:cobble @@ -197,7 +205,8 @@ Add dome centered at WorldEdit position 1 with radius ``, composed of `< ### `//hollowcylinder x/y/z/? [radius2] ` -Add hollow cylinder at WorldEdit position 1 along the x/y/z/? axis with length ``, base radius `` (and top radius `[radius2]`), composed of ``. +Add hollow cylinder at WorldEdit position 1 along the given axis with length ``, +base radius `` (and top radius `[radius2]`), composed of ``. Despite its name this command allows you to create cones (`radius2` = 0) as well as any shapes inbetween (0 < `radius2` < `radius1`). Swapping `radius1` and `radius2` will create the same object but upside-down. @@ -213,7 +222,8 @@ Swapping `radius1` and `radius2` will create the same object but upside-down. ### `//cylinder x/y/z/? [radius2] ` -Add cylinder at WorldEdit position 1 along the x/y/z/? axis with length ``, base radius `` (and top radius `[radius2]`), composed of ``. +Add cylinder at WorldEdit position 1 along the given axis with length ``, +base radius `` (and top radius `[radius2]`), composed of ``. Can also create shapes other than cylinders, e.g. cones (see documentation above). //cylinder x +5 8 Bronze Block @@ -225,18 +235,18 @@ Can also create shapes other than cylinders, e.g. cones (see documentation above //cylinder x 6 0 5 Dirt //cylinder z 20 10 20 default:desert_stone -### `//hollowpyramid x/y/z? ` +### `//hollowpyramid x/y/z/? ` -Add hollow pyramid centered at WorldEdit position 1 along the x/y/z/? axis with height ``, composed of ``. +Add hollow pyramid centered at WorldEdit position 1 along the given axis with height `` composed of ``. //hollowpyramid x 8 Diamond Block //hollowpyramid y -5 glass //hollowpyramid z 2 mesecons:wire_00000000_off //hollowpyramid ? 12 mesecons:wire_00000000_off -### `//pyramid x/y/z? ` +### `//pyramid x/y/z/? ` -Add pyramid centered at WorldEdit position 1 along the x/y/z/? axis with height ``, composed of ``. +Add pyramid centered at WorldEdit position 1 along the given axis with height `` composed of ``. //pyramid x 8 Diamond Block //pyramid y -5 glass @@ -245,7 +255,8 @@ Add pyramid centered at WorldEdit position 1 along the x/y/z/? axis with height ### `//spiral ` -Add spiral centered at WorldEdit position 1 with side length ``, height ``, space between walls ``, composed of ``. +Add spiral centered at WorldEdit position 1 with side length ``, +height ``, space between walls ``, composed of ``. //spiral 20 5 3 Diamond Block //spiral 5 2 1 glass @@ -253,7 +264,7 @@ Add spiral centered at WorldEdit position 1 with side length ``, height ### `//copy x/y/z/? ` -Copy the current WorldEdit region along the x/y/z/? axis by `` nodes. +Copy the current WorldEdit region along the given axis by `` nodes. //copy x 15 //copy y -7 @@ -262,7 +273,7 @@ Copy the current WorldEdit region along the x/y/z/? axis by `` nodes. ### `//move x/y/z/? ` -Move the current WorldEdit positions and region along the x/y/z/? axis by `` nodes. +Move the current WorldEdit positions and region along the given axis by `` nodes. //move x 15 //move y -7 @@ -271,7 +282,7 @@ Move the current WorldEdit positions and region along the x/y/z/? axis by `` -Stack the current WorldEdit region along the x/y/z/? axis `` times. +Stack the current WorldEdit region along the given axis `` times. //stack x 3 //stack y -1 @@ -287,7 +298,9 @@ Stack the current WorldEdit region `` times by offset ``, ``, `` ### `//stretch ` -Scale the current WorldEdit positions and region by a factor of ``, ``, `` along the X, Y, and Z axes, repectively, with position 1 as the origin. +Scale the current WorldEdit positions and region by a factor of +``, ``, `` along the X, Y, and Z axes, +respectively, with position 1 as the origin. //stretch 2 2 2 //stretch 1 2 1 @@ -295,25 +308,22 @@ Scale the current WorldEdit positions and region by a factor of ``, `< ### `//transpose x/y/z/? x/y/z/?` -Transpose the current WorldEdit positions and region along the x/y/z/? and x/y/z/? axes. +Transpose the current WorldEdit positions and region along given axes. //transpose x y - //transpose x z //transpose y z //transpose ? y ### `//flip x/y/z/?` -Flip the current WorldEdit region along the x/y/z/? axis. +Flip the current WorldEdit region along the given axis. //flip x - //flip y - //flip z //flip ? ### `//rotate x/y/z/? ` -Rotate the current WorldEdit positions and region along the x/y/z/? axis by angle `` (90 degree increment). +Rotate the current WorldEdit positions and region along the given axis by angle `` (90 degree increment). //rotate x 90 //rotate y 180 @@ -341,6 +351,13 @@ Removes any fluid node within the current WorldEdit region. //drain +### `//clearcut` + +Removes any plant, tree or foilage-like nodes in the selected region. +The idea is to remove anything that isn't part of the terrain, leaving a "natural" empty space ready for building. + + //clearcut + ### `//hide` Hide all nodes in the current WorldEdit region non-destructively. @@ -349,7 +366,7 @@ Hide all nodes in the current WorldEdit region non-destructively. ### `//suppress ` -Suppress all in the current WorldEdit region non-destructively. +Suppress all `` in the current WorldEdit region non-destructively. //suppress Diamond Block //suppress glass @@ -357,7 +374,7 @@ Suppress all in the current WorldEdit region non-destructively. ### `//highlight ` -Highlight in the current WorldEdit region by hiding everything else non-destructively. +Highlight `` in the current WorldEdit region by hiding everything else non-destructively. //highlight Diamond Block //highlight glass @@ -401,8 +418,8 @@ Executes `` as a Lua chunk in the global namespace. Executes `` as a Lua chunk in the global namespace with the variable pos available, for each node in the current WorldEdit region. - //luatransform minetest.add_node(pos, {name="default:stone"}) - //luatransform if minetest.get_node(pos).name == "air" then minetest.add_node(pos, {name="default:water_source"}) + //luatransform minetest.swap_node(pos, {name="default:stone"}) + //luatransform if minetest.get_node(pos).name == "air" then minetest.add_node(pos, {name="default:water_source"}) end ### `//mtschemcreate ` @@ -431,42 +448,44 @@ Clears all objects within the WorldEdit region. //clearobjects -### `//shift x/y/z/?/up/down/left/right/front/back [+|-]` +### `//shift x/y/z/?/up/down/left/right/front/back [+/-]` -Shifts the selection area by `[+|-]` without touching its contents. The shifting axis can be absolute (`x/y/z`) or -relative (`up/down/left/right/front/back`). +Shifts the selection area by `[+|-]` without moving its contents. +The shifting axis can be absolute (`x/y/z`) or relative (`up/down/left/right/front/back`). //shift left 5 -### `//expand [+|-]x/y/z/?/up/down/left/right/front/back [reverse-amount]` +### `//expand [+/-]x/y/z/?/up/down/left/right/front/back [reverse amount]` -Expands the selection by `` in the selected absolute or relative axis. If specified, the selection can be expanded in the -opposite direction over the same axis by `[reverse-amount]`. +Expands the selection by `` in the selected absolute or relative axis. +If specified, the selection can be expanded in the opposite direction over the same axis by `[reverse amount]`. //expand right 7 5 -### `//contract [+|-]x/y/z/?/up/down/left/right/front/back [reverse-amount]` +### `//contract [+/-]x/y/z/?/up/down/left/right/front/back [reverse amount]` -Contracts the selection by `` in the selected absolute or relative axis. If specified, the selection can be contracted in the -opposite direction over the same axis by `[reverse-amount]`. +Contracts the selection by `` in the selected absolute or relative axis. +If specified, the selection can be contracted in the opposite direction over the same axis by `[reverse amount]`. //expand right 7 5 -### `//outset [hv] ` +### `//outset [h/v] ` -Expands the selection in all directions by ``. If specified, the selection can be expanded horizontally in the x and z axes `[h]` -or vertically in the y axis `[v]`. +Expands the selection in all directions by ``. If specified, +the selection can be expanded horizontally in the x and z axes using `h` +or vertically in the y axis using `v`. //outset v 5 -### `//inset [hv] ` +### `//inset [h/v] ` -Contracts the selection in all directions by ``. If specified, the selection can be contracted horizontally in the x and z axes `[h]` -or vertically in the y axis `[v]`. +Contracts the selection in all directions by ``. If specified, +the selection can be contracted horizontally in the x and z axes using `h` +or vertically in the y axis using `v`. - //outset v 5 + //inset h 5 -### `//brush none/ [parameters]` +### `//brush none/( [parameters])` Assigns the given `` to the currently held brush item, it will be ran with the first pointed solid node (as determined via raycast) as WorldEdit position 1 when using that specific brush item. @@ -476,3 +495,14 @@ Note that this functionality requires the `worldedit_brush` mod enabled. //brush cube 8 8 8 Cobblestone //brush spr 12 glass //brush none + +### `//cubeapply /( ) [parameters]` + +Selects a cube with side length of `` around the WorldEdit position 1 and runs the given `` on the newly selected region. +If ``, `` and `` are given, they instead specify the length of the cuboid in X, Y, Z direction. +This is mostly useful for brushes since it allows commands such as `//replace` to be ran, but it can also be used standalone. + + //cubeapply 10 replaceinverse air default:water_source + //brush cubeapply 15 drain + //brush cubeapply 12 3 12 drain + //brush cubeapply 1 deleteblocks diff --git a/worldedit/README.md b/worldedit/README.md index c781e57..ad47b3e 100644 --- a/worldedit/README.md +++ b/worldedit/README.md @@ -1,4 +1,4 @@ -WorldEdit v1.2 +WorldEdit v1.3 ============== The ultimate in-game world editing tool for [Minetest](http://minetest.net/)! Tons of functionality to help with building, fixing, and more. @@ -11,47 +11,52 @@ For more information, see the [forum topic](https://forum.minetest.net/viewtopic Installing ---------- -If you are using Windows, consider installing this mod using [MODSTER](https://forum.minetest.net/viewtopic.php?id=6497), a super simple mod installer that will take care of everything for you. If you are using MODSTER, skip directly to step 6 in the instructions below. - There is a nice installation guide over at the [Minetest Wiki](http://wiki.minetest.com/wiki/Installing_mods). Here is a short summary: -1. Download the mod from the [official releases page](https://github.com/Uberi/Minetest-WorldEdit/releases). The download links are labelled "Source Code". If you are using Windows, you will probably want to download the ZIP version. -2. You should have a file named `SOMETHING.zip` or `SOMETHING.tar.gz`. +1. Download the mod from the [official releases page](https://github.com/Uberi/Minetest-WorldEdit/releases). The download links are labelled "Source Code". If you are using Windows, you'll want to download the ZIP version. +2. You should have a file named `Minetest-WorldEdit-x.x.zip`. 3. Extract this file using your archiver of choice. If you are using Windows, open the ZIP file and move the folder inside to a safe place outside of the ZIP file. -4. Make sure that you now have a folder with a file named README.md inside it. If you just have another folder inside this folder, use this nested folder instead. +4. Make sure that you now have a folder with a file named README.md inside it. If you just have another folder inside this folder, use the nested folder instead. 5. Move this folder into the `MINETEST_FOLDER/mods` folder, where `MINETEST_FOLDER` is the folder Minetest is located in. 6. Open Minetest to a world selection screen. -7. Select a world you want to use WorldEdit in by left clicking on it once, and press the **Configure** button. -8. You should have a mod selection screen. Select the one named something like `Minetest-WorldEdit` by left clicking once and press the **Enable MP** button. +7. Select a world you want to use WorldEdit in by left clicking on it once and press the **Configure** button. +8. You should have a mod selection screen. Select the one named something like `Minetest-WorldEdit` by left clicking once and press the **Enable Modpack** button. 9. Press the **Save** button. You can now use WorldEdit in that world. Repeat steps 7 to 9 to enable WorldEdit for other worlds too. -If you are having trouble, try asking for help in the [IRC channel](http://webchat.freenode.net/?channels=#minetest) (faster but may not always have helpers online) or ask on the [forum topic](https://forum.minetest.net/viewtopic.php?id=572) (slower but more likely to get help). +If you are having trouble, try asking for help in the [IRC channel](https://webchat.freenode.net/?channels=#minetest) (faster but may not always have helpers online) +or ask on the [forum topic](https://forum.minetest.net/viewtopic.php?id=572) (slower but more likely to get help). Usage ----- -WorldEdit works primarily through the WorldEdit GUI and chat commands. Depending on your key bindings, you can invoke chat entry with the "t" key, and open the chat console with the "F10" key. +WorldEdit works primarily through the WorldEdit GUI and chat commands. Depending on your key bindings, you can invoke chat entry with the "T" key and open the chat console with the "F10" key. -WorldEdit has a huge potential for abuse by untrusted players. Therefore, users will not be able to use WorldEdit unless they have the `worldedit` privelege. This is available by default in single player, but in multiplayer the permission must be explicitly given by someone with the right credentials, using the follwoing chat command: `/grant worldedit`. This privelege can later be removed using the following chat command: `/revoke worldedit`. +WorldEdit has a huge potential for abuse by untrusted players. Therefore, users will not be able to use WorldEdit unless they have the `worldedit` privilege. +This is available by default in singleplayer, but in multiplayer the permission must be explicitly given by someone with the right credentials, +using the following chat command: `/grant worldedit`. This privilege can later be removed using the following chat command: `/revoke worldedit`. -Certain functions/commands such as WorldEdit `//lua` and `//luatransform` chat commands additionally require the `server` privilege. This is because it is extremely dangerous to give access to these commands to untrusted players, since they essentially are able to control the computer the server is running on. Give this privilege only to people you trust with your computer. +Certain functions/commands such as WorldEdit `//lua` and `//luatransform` chat commands additionally require the `server` privilege. +This is because it is extremely dangerous to give access to these commands to untrusted players, since they essentially are able to control the computer the server is running on. +Give this privilege only to people you trust with your computer. -For in-game information about these commands, type `/help ` in the chat. For example, to learn more about the `//copy` command, simply type `/help /copy` to display information relevant to copying a region. +For in-game information about these commands, type `//help ` in the chat. For example, to learn more about the `//copy` command, simply type `//help copy` to display information relevant to copying a region. Interface --------- WorldEdit is accessed in-game in two main ways. -The GUI adds a screen to each player's inventory that gives access to various WorldEdit functions. The [tutorial](Tutorial.md) and the [Chat Commands Reference](ChatCommands.md) may be helpful in learning to use it. +The GUI adds a screen to each player's inventory that gives access to various WorldEdit functions. The [tutorial](Tutorial.md) may be helpful in learning to use it. The chat interface adds many chat commands that perform various WorldEdit powered tasks. It is documented in the [Chat Commands Reference](ChatCommands.md). Compatibility ------------- -This mod supports Minetest versions 0.4.8 and newer. Older versions of WorldEdit may work with older versions of Minetest, but are not recommended or supported. +This mod supports Minetest versions 5.0 and newer. Older versions of WorldEdit may work with older versions of Minetest, but are not recommended or supported. -WorldEdit works quite well with other mods, and does not have any known mod conflicts. +WorldEdit works quite well with other mods and does not have any known mod conflicts. -WorldEdit GUI requires one of [sfinv](https://github.com/minetest/minetest_game/tree/master/mods/sfinv) (included in minetest_game since 0.4.15), [Unified Inventory](https://forum.minetest.net/viewtopic.php?id=3933) or [Inventory++](https://forum.minetest.net/viewtopic.php?id=6204). +WorldEdit GUI requires one of [sfinv](https://github.com/minetest/minetest_game/tree/master/mods/sfinv) (included in minetest_game), +[Unified Inventory](https://forum.minetest.net/viewtopic.php?t=12767), +[Inventory++](https://forum.minetest.net/viewtopic.php?id=6204) or [Smart Inventory](https://forum.minetest.net/viewtopic.php?t=16597). If you use any other inventory manager mods, note that they may conflict with the WorldEdit GUI. If this is the case, it may be necessary to disable them. @@ -59,9 +64,9 @@ WorldEdit API ------------- WorldEdit exposes all significant functionality in a simple Lua interface. -Adding WorldEdit to the file "depends.txt" in your mod gives you access to all of the `worldedit` functions. The API is useful for tasks such as high-performance node manipulation, alternative interfaces, and map creation. +Adding WorldEdit as a dependency to your mod gives you access to all of the `worldedit` functions. The API is useful for tasks such as high-performance node manipulation, alternative interfaces and map creation. -AGPLv3 compatible mods may further include WorldEdit files in their own mods. This may be useful if a modder wishes to completely avoid any dependencies on WorldEdit. Note that it is required to give credit to the authors. +AGPLv3 compatible mods may further include WorldEdit files in their own mods. This can be useful if a modder wishes to completely avoid any dependency on WorldEdit. Note that it is required to give credit to the authors in this case. This API is documented in the [WorldEdit API Reference](WorldEdit%20API.md). @@ -79,13 +84,16 @@ Nodes ----- Node names are required for many types of commands that identify or modify specific types of nodes. They can be specified in a number of ways. -First, by description - the tooltip that appears when hovering over the item in an inventory. This is case insensitive and includes values such as "Cobblestone" and "bronze block". Note that certain commands (namely, `//replace` and `//replaceinverse`) do not support descriptions that contain spaces in the `` field. +First, by description - the tooltip that appears when hovering over the item in an inventory. This is case insensitive and includes values such as "Cobblestone" and "bronze block". +Note that certain commands (namely, `//replace` and `//replaceinverse`) do not support descriptions that contain spaces in the `` field. -Second, by name - the node name that is defined by code, but without the mod name prefix. This is case sensitive and includes values such as "piston_normal_off" and "cactus". Nodes defined in the `default` mod always take precedence over other nodes when searching for the correct one, and if there are multiple possible nodes (such as "a:celery" and "b:celery"), one is chosen in no particular order. +Second, by name - the node name that is defined by code, but without the mod name prefix. This is case sensitive and includes values such as "piston_normal_off" and "cactus". +If there are multiple possible nodes (such as "a:celery" and "b:celery"), one is chosen in no particular order. Finally, by full name - the unambiguous identifier of the node, prefixes and all. This is case sensitive and includes values such as "default:stone" and "mesecons:wire_00000000_off". -The node name "air" can be used anywhere a normal node name can, and acts as a blank node. This is useful for clearing or removing nodes. For example, `//set air` would remove all the nodes in the current WorldEdit region. Similarly, `//sphere 10 air`, when WorldEdit position 1 underground, would dig a large sphere out of the ground. +The node name "air" can be used anywhere a normal node name can and acts as a blank node. This is useful for clearing or removing nodes. +For example, `//set air` would remove all the nodes in the current WorldEdit region. Similarly, `//sphere 10 air`, when WorldEdit position 1 underground, would dig a large sphere out of the ground. Regions ------- @@ -93,11 +101,11 @@ Most WorldEdit commands operate on regions. Regions are a set of two positions t Each positions together define two opposing corners of the cube. With two opposing corners it is possible to determine both the location and dimensions of the region. -Regions are not saved between server restarts. They start off as empty regions, and cannot be used with most WorldEdit commands until they are set to valid values. +Regions are not saved between server restarts. They start off as empty regions and cannot be used with most WorldEdit commands until they are set to valid values. Markers ------- -Entities are used to mark the location of the WorldEdit regions. They appear as boxes containing the number 1 or 2, and represent position 1 and 2 of the WorldEdit region, respectively. +Entities are used to mark the location of the WorldEdit regions. They appear as boxes containing the number 1 or 2 and represent the first and second position of the WorldEdit region, respectively. To remove the entities, simply punch them. This does not reset the positions themselves. @@ -105,9 +113,11 @@ Schematics ---------- WorldEdit supports two different types of schematics. -The first is the WorldEdit Schematic format, with the file extension ".we", and in some older versions, ".wem". There have been several previous versions of the WorldEdit Schematic format, but WorldEdit is capable of loading any past versions, and will always support them - there is no need to worry about schematics becoming obselete. +The first is the WorldEdit Schematic format, with the file extension ".we", and in some older versions, ".wem". +There have been several previous versions of the WorldEdit Schematic format, but WorldEdit is capable of loading any past versions, and will always support them - there is no need to worry about schematics becoming obsolete. -As of version 5, WorldEdit schematics include a header. The header is seperated from the content by a colon (`:`). It contains fields seperated by commas (`,`). Currently only one field is used, which contains the version in ASCII decimal. +As of version 5, WorldEdit schematics include a header. The header is seperated from the content by a colon (`:`). It may contain fields seperated by commas (`,`). +Currently only one field is used, which contains the version as an ASCII decimal. The current version of the WorldEdit Schematic format is essentially an array of node data tables in Lua 5.1 table syntax preceded by a header. Specifically it looks like this: @@ -130,32 +140,53 @@ The ordering of the values and minor aspects of the syntax, such as trailing com The WorldEdit Schematic format is accessed via the WorldEdit API, or WorldEdit serialization chat commands such as `//serialize` and `//deserialize`. -The second is the Minetest Schematic format (MTS). The details of this format may be found in the Minetest documentation and are out of the scope of this document. Access to this format is done via specialized MTS commands such as `//mtschemcreate` and `//mtschemplace`. +The second is the Minetest Schematic format (MTS). The details of this format may be found in the Minetest documentation and are out of the scope of this document. +Access to this format is done via specialized MTS commands such as `//mtschemcreate` and `//mtschemplace`. Authors ------- WorldEdit would not be possible without the contributions of many developers and designers. Below, they are listed alphabetically: - cheapie + Alexander Weber + ANAND + beyondlimits + Carter Kolwey cornernote - cyisfor - danierukun + Cy + Daniel Sosa electricface est31 + Eugen Wesseloh + h3ndrik + HybridDog + Isidor Zeuner + Jean-Patrick Guerrero + Joseph Pickard kaeza - khonkhortisan - pickardjoe + kilbith + KodexKy + Kyle + MT-Modder + Niwla23 + Panquesito7 + Pedro Gimeno + Rui Sebastien Ponce sfan5 ShadowNinja + shivajiva101 spillz + Starbeamrainbowlabs + TalkLounge + tenplus1 Uberi/Temperest + Wuzzy License ------- -Copyright 2013 sfan5, Anthony Zhang (Uberi/Temperest), and Brett O'Donnell (cornernote). +Copyright (c) 2012 sfan5, Anthony Zhang (Uberi/Temperest), and Brett O'Donnell (cornernote). -This mod is licensed under the [GNU Affero General Public License](http://www.gnu.org/licenses/agpl-3.0.html). +This mod is licensed under the [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html). Basically, this means everyone is free to use, modify, and distribute the files, as long as these modifications are also licensed the same way. Most importantly, the Affero variant of the GPL requires you to publish your modifications in source form, even if the mod is run only on the server, and not distributed. diff --git a/worldedit/Tutorial.md b/worldedit/Tutorial.md index 1ed3998..d3c58a4 100644 --- a/worldedit/Tutorial.md +++ b/worldedit/Tutorial.md @@ -1,13 +1,11 @@ WorldEdit Tutorial ================== -This is a step-by-step tutorial outlining the basic usage of WorldEdit. For more information, see the [README](README.md). +This is a step-by-step tutorial outlining the basic usage of WorldEdit. Let's start with a few assumptions: -* You have a compatible version of Minetest working. - * See the [README](README.md) for compatibility information. +* You have a compatible version of Minetest working, that is 5.0 or later. * You have WorldEdit installed as a mod. - * If using Windows, [MODSTER](https://forum.minetest.net/viewtopic.php?pid=101463) makes installing mods totally painless. * Simply download the file, extract the archive, and move it to the correct mod folder for Minetest. * See the installation instructions in [README](README.md) if you need more details. * You are familiar with the basics of the game. @@ -59,7 +57,7 @@ Look at the place between the two markers: it is now filled with MESE blocks! The `//set ` command fills the region with whatever node you want. It is a region-oriented command, which means it works inside the WorldEdit region only. -Now, try a few different variations, such as `//set torch`, `//set cobble`, and `//set water`. +Now, try a few different variations, such as `//set torch`, `//set cobble`, and `//set water source`. ### WorldEdit GUI @@ -75,7 +73,7 @@ Look at the place between the two markers: it is now filled with MESE blocks! The "Set Nodes" function fills the region with whatever node you want. It is a region-oriented command, which means it works inside the WorldEdit region only. -Now, try a few different variations on the node name, such as "torch", "cobble", and "water". +Now, try a few different variations on the node name, such as "torch", "cobble", and "water source". Step 3: Position commands ------------------------- @@ -117,4 +115,4 @@ A very useful command to check out is the `//save ` command, which ca This only scratches the surface of what WorldEdit is capable of. Most of the functions in the WorldEdit GUI correspond to chat commands, and so the [Chat Commands Reference](ChatCommands.md) may be useful if you get stuck. -It is helpful to explore the various buttons in the interface and check out what they do. Learning the chat command interface is also useful if you use WorldEdit intensively - an experienced chat command user can usually work faster than an experienced WorldEdit GUI user. \ No newline at end of file +It is helpful to explore the various buttons in the interface and check out what they do. Learning the chat command interface is also useful if you use WorldEdit intensively - an experienced chat command user can usually work faster than an experienced WorldEdit GUI user. diff --git a/worldedit/WorldEdit API.md b/worldedit/WorldEdit API.md index 9bcb4e8..fc9cf65 100644 --- a/worldedit/WorldEdit API.md +++ b/worldedit/WorldEdit API.md @@ -24,6 +24,7 @@ Contained in manipulations.lua, this module allows several node operations to be ### count = worldedit.set(pos1, pos2, node_name) Sets a region defined by positions `pos1` and `pos2` to `node_name`. To clear a region, use "air" as the value of `node_name`. +If `node_name` is a list of nodes, each set node is randomly picked from it. Returns the number of nodes set. @@ -54,6 +55,7 @@ Returns the number of nodes copied. ### count = worldedit.copy2(pos1, pos2, off) Copies the region defined by positions `pos1` and `pos2` by the offset vector `off`. +Note that the offset needs to be big enough that there is no overlap. Returns the number of nodes copied. @@ -72,6 +74,7 @@ Returns the number of nodes stacked. ### count = worldedit.stack2(pos1, pos2, direction, amount) Duplicates the region defined by positions `pos1` and `pos2` `amount` times with offset vector `direction`. +Note that the offset vector needs to be big enough that there is no overlap. Returns the number of nodes stacked. diff --git a/worldedit/modpack.conf b/worldedit/modpack.conf new file mode 100644 index 0000000..4d9e6f5 --- /dev/null +++ b/worldedit/modpack.conf @@ -0,0 +1,2 @@ +name = Minetest-WorldEdit +description = WorldEdit is an in-game world editor. Use it to repair griefing, or just create awesome buildings in seconds. diff --git a/worldedit/modpack.txt b/worldedit/modpack.txt deleted file mode 100644 index e69de29..0000000 diff --git a/worldedit/worldedit/code.lua b/worldedit/worldedit/code.lua index 948cb27..48c992e 100644 --- a/worldedit/worldedit/code.lua +++ b/worldedit/worldedit/code.lua @@ -50,10 +50,3 @@ function worldedit.luatransform(pos1, pos2, code) return nil end - -local input = io.open(minetest.get_worldpath().."/init.lua", "r") -if input then - local code = input:read("*a") - input:close() - worldedit.lua(code) -end \ No newline at end of file diff --git a/worldedit/worldedit/common.lua b/worldedit/worldedit/common.lua index be9a2c9..9a2215d 100644 --- a/worldedit/worldedit/common.lua +++ b/worldedit/worldedit/common.lua @@ -46,6 +46,9 @@ end function worldedit.keep_loaded(pos1, pos2) + -- Create a vmanip and read the area from map, this + -- causes all MapBlocks to be loaded into memory. + -- This doesn't actually *keep* them loaded, unlike the name implies. local manip = minetest.get_voxel_manip() manip:read_from_map(pos1, pos2) end @@ -107,7 +110,9 @@ end function mh.finish(manip, data) -- Update map - manip:set_data(data) + if data ~= nil then + manip:set_data(data) + end manip:write_to_map() manip:update_map() end diff --git a/worldedit/worldedit/cuboid.lua b/worldedit/worldedit/cuboid.lua index ce20761..d27e233 100644 --- a/worldedit/worldedit/cuboid.lua +++ b/worldedit/worldedit/cuboid.lua @@ -98,21 +98,6 @@ worldedit.marker_move = function(name, marker, deltavector) return true end --- Updates the location ingame of the markers -worldedit.marker_update = function(name, marker) - if marker == nil then - worldedit.mark_pos1(name) - worldedit.mark_pos2(name) - elseif marker == 1 then - worldedit.mark_pos1(name) - elseif marker == 2 then - worldedit.mark_pos2(name) - else - minetest.debug( - "worldedit: Invalid execution of function update_markers") - end -end - -- Returns two vectors with the directions for volumetric expansion worldedit.get_expansion_directions = function(mark1, mark2) @@ -149,7 +134,7 @@ end -- Return the marker that is closest to the player worldedit.marker_get_closest_to_player = function(name) - local playerpos = minetest.get_player_by_name(name):getpos() + local playerpos = minetest.get_player_by_name(name):get_pos() local dist1 = vector.distance(playerpos, worldedit.pos1[name]) local dist2 = vector.distance(playerpos, worldedit.pos2[name]) @@ -255,4 +240,4 @@ worldedit.translate_direction = function(name, direction) end return resaxis, resdir -end \ No newline at end of file +end diff --git a/worldedit/worldedit/init.lua b/worldedit/worldedit/init.lua index a38e3e6..67e1c40 100644 --- a/worldedit/worldedit/init.lua +++ b/worldedit/worldedit/init.lua @@ -1,7 +1,7 @@ ---- Worldedit. +--- WorldEdit mod for the Minetest engine -- @module worldedit --- @release 1.2 --- @copyright 2013 sfan5, Anthony Zhang (Uberi/Temperest), and Brett O'Donnell (cornernote). +-- @release 1.3 +-- @copyright 2012 sfan5, Anthony Zhang (Uberi/Temperest), and Brett O'Donnell (cornernote) -- @license GNU Affero General Public License version 3 (AGPLv3) -- @author sfan5 -- @author Anthony Zang (Uberi/Temperest) @@ -11,18 +11,10 @@ worldedit = {} -local ver = {major=1, minor=2} +local ver = {major=1, minor=3} worldedit.version = ver worldedit.version_string = string.format("%d.%d", ver.major, ver.minor) -if not minetest.get_voxel_manip then - local err_msg = "This version of WorldEdit requires Minetest 0.4.8 or later! You have an old version." - minetest.log("error", string.rep("#", 128)) - minetest.log("error", err_msg) - minetest.log("error", string.rep("#", 128)) - error(err_msg) -end - local path = minetest.get_modpath(minetest.get_current_modname()) local function load_module(path) diff --git a/worldedit/worldedit/manipulations.lua b/worldedit/worldedit/manipulations.lua index ee51561..3bad0dd 100644 --- a/worldedit/worldedit/manipulations.lua +++ b/worldedit/worldedit/manipulations.lua @@ -76,9 +76,6 @@ function worldedit.replace(pos1, pos2, search_node, replace_node, inverse) local count = 0 - --- TODO: This could be shortened by checking `inverse` in the loop, - -- but that would have a speed penalty. Is the penalty big enough - -- to matter? if not inverse then for i in area:iterp(pos1, pos2) do if data[i] == search_id then @@ -101,27 +98,47 @@ function worldedit.replace(pos1, pos2, search_node, replace_node, inverse) end +local function deferred_execution(next_one, finished) + -- Allocate 100% of server step for execution (might lag a little) + local allocated_usecs = + tonumber(minetest.settings:get("dedicated_server_step")) * 1000000 + local function f() + local deadline = minetest.get_us_time() + allocated_usecs + repeat + local is_done = next_one() + if is_done then + if finished then + finished() + end + return + end + until minetest.get_us_time() >= deadline + minetest.after(0, f) + end + f() +end + --- Duplicates a region `amount` times with offset vector `direction`. --- Stacking is spread across server steps, one copy per step. +-- Stacking is spread across server steps. -- @return The number of nodes stacked. function worldedit.stack2(pos1, pos2, direction, amount, finished) + -- Protect arguments from external changes during execution + pos1 = table.copy(pos1) + pos2 = table.copy(pos2) + direction = table.copy(direction) + local i = 0 local translated = {x=0, y=0, z=0} - local function next_one() - if i < amount then - i = i + 1 - translated.x = translated.x + direction.x - translated.y = translated.y + direction.y - translated.z = translated.z + direction.z - worldedit.copy2(pos1, pos2, translated) - minetest.after(0, next_one) - else - if finished then - finished() - end - end + local function step() + translated.x = translated.x + direction.x + translated.y = translated.y + direction.y + translated.z = translated.z + direction.z + worldedit.copy2(pos1, pos2, translated) + i = i + 1 + return i >= amount end - next_one() + deferred_execution(step, finished) + return worldedit.volume(pos1, pos2) * amount end @@ -135,181 +152,187 @@ end function worldedit.copy(pos1, pos2, axis, amount) local pos1, pos2 = worldedit.sort_pos(pos1, pos2) - worldedit.keep_loaded(pos1, pos2) + -- Decide if we need to copy stuff backwards (only applies to metadata) + local backwards = amount > 0 and amount < (pos2[axis] - pos1[axis] + 1) - local get_node, get_meta, set_node = minetest.get_node, - minetest.get_meta, minetest.set_node - -- Copy things backwards when negative to avoid corruption. - -- FIXME: Lots of code duplication here. - if amount < 0 then - local pos = {} - pos.x = pos1.x - while pos.x <= pos2.x do - pos.y = pos1.y - while pos.y <= pos2.y do - pos.z = pos1.z - while pos.z <= pos2.z do - local node = get_node(pos) -- Obtain current node - local meta = get_meta(pos):to_table() -- Get meta of current node - local value = pos[axis] -- Store current position - pos[axis] = value + amount -- Move along axis - set_node(pos, node) -- Copy node to new position - get_meta(pos):from_table(meta) -- Set metadata of new node - pos[axis] = value -- Restore old position - pos.z = pos.z + 1 - end - pos.y = pos.y + 1 - end - pos.x = pos.x + 1 - end - else - local pos = {} - pos.x = pos2.x - while pos.x >= pos1.x do - pos.y = pos2.y - while pos.y >= pos1.y do - pos.z = pos2.z - while pos.z >= pos1.z do - local node = get_node(pos) -- Obtain current node - local meta = get_meta(pos):to_table() -- Get meta of current node - local value = pos[axis] -- Store current position - pos[axis] = value + amount -- Move along axis - set_node(pos, node) -- Copy node to new position - get_meta(pos):from_table(meta) -- Set metadata of new node - pos[axis] = value -- Restore old position - pos.z = pos.z - 1 - end - pos.y = pos.y - 1 - end - pos.x = pos.x - 1 - end - end - return worldedit.volume(pos1, pos2) + local off = {x=0, y=0, z=0} + off[axis] = amount + return worldedit.copy2(pos1, pos2, off, backwards) end --- Copies a region by offset vector `off`. -- @param pos1 -- @param pos2 -- @param off +-- @param meta_backwards (not officially part of API) -- @return The number of nodes copied. -function worldedit.copy2(pos1, pos2, off) +function worldedit.copy2(pos1, pos2, off, meta_backwards) local pos1, pos2 = worldedit.sort_pos(pos1, pos2) - worldedit.keep_loaded(pos1, pos2) + local src_manip, src_area = mh.init(pos1, pos2) + local src_stride = {x=1, y=src_area.ystride, z=src_area.zstride} + local src_offset = vector.subtract(pos1, src_area.MinEdge) - local get_node, get_meta, set_node = minetest.get_node, - minetest.get_meta, minetest.set_node - local pos = {} - pos.x = pos2.x - while pos.x >= pos1.x do - pos.y = pos2.y - while pos.y >= pos1.y do - pos.z = pos2.z - while pos.z >= pos1.z do - local node = get_node(pos) -- Obtain current node - local meta = get_meta(pos):to_table() -- Get meta of current node - local newpos = vector.add(pos, off) -- Calculate new position - set_node(newpos, node) -- Copy node to new position - get_meta(newpos):from_table(meta) -- Set metadata of new node - pos.z = pos.z - 1 + local dpos1 = vector.add(pos1, off) + local dpos2 = vector.add(pos2, off) + local dim = vector.add(vector.subtract(pos2, pos1), 1) + + local dst_manip, dst_area = mh.init(dpos1, dpos2) + local dst_stride = {x=1, y=dst_area.ystride, z=dst_area.zstride} + local dst_offset = vector.subtract(dpos1, dst_area.MinEdge) + + local function do_copy(src_data, dst_data) + for z = 0, dim.z-1 do + local src_index_z = (src_offset.z + z) * src_stride.z + 1 -- +1 for 1-based indexing + local dst_index_z = (dst_offset.z + z) * dst_stride.z + 1 + for y = 0, dim.y-1 do + local src_index_y = src_index_z + (src_offset.y + y) * src_stride.y + local dst_index_y = dst_index_z + (dst_offset.y + y) * dst_stride.y + -- Copy entire row at once + local src_index_x = src_index_y + src_offset.x + local dst_index_x = dst_index_y + dst_offset.x + for x = 0, dim.x-1 do + dst_data[dst_index_x + x] = src_data[src_index_x + x] + end end - pos.y = pos.y - 1 end - pos.x = pos.x - 1 end + + -- Copy node data + local src_data = src_manip:get_data() + local dst_data = dst_manip:get_data() + do_copy(src_data, dst_data) + dst_manip:set_data(dst_data) + + -- Copy param1 + src_manip:get_light_data(src_data) + dst_manip:get_light_data(dst_data) + do_copy(src_data, dst_data) + dst_manip:set_light_data(dst_data) + + -- Copy param2 + src_manip:get_param2_data(src_data) + dst_manip:get_param2_data(dst_data) + do_copy(src_data, dst_data) + dst_manip:set_param2_data(dst_data) + + mh.finish(dst_manip) + src_data = nil + dst_data = nil + + -- Copy metadata + local get_meta = minetest.get_meta + if meta_backwards then + for z = dim.z-1, 0, -1 do + for y = dim.y-1, 0, -1 do + for x = dim.x-1, 0, -1 do + local pos = {x=pos1.x+x, y=pos1.y+y, z=pos1.z+z} + local meta = get_meta(pos):to_table() + pos = vector.add(pos, off) + get_meta(pos):from_table(meta) + end + end + end + else + for z = 0, dim.z-1 do + for y = 0, dim.y-1 do + for x = 0, dim.x-1 do + local pos = {x=pos1.x+x, y=pos1.y+y, z=pos1.z+z} + local meta = get_meta(pos):to_table() + pos = vector.add(pos, off) + get_meta(pos):from_table(meta) + end + end + end + end + return worldedit.volume(pos1, pos2) end +--- Deletes all node metadata in the region +-- @param pos1 +-- @param pos2 +-- @return The number of nodes that had their meta deleted. +function worldedit.delete_meta(pos1, pos2) + local pos1, pos2 = worldedit.sort_pos(pos1, pos2) + + local meta_positions = minetest.find_nodes_with_meta(pos1, pos2) + local get_meta = minetest.get_meta + for _, pos in ipairs(meta_positions) do + get_meta(pos):from_table(nil) + end + + return #meta_positions +end + --- Moves a region along `axis` by `amount` nodes. -- @return The number of nodes moved. function worldedit.move(pos1, pos2, axis, amount) local pos1, pos2 = worldedit.sort_pos(pos1, pos2) - worldedit.keep_loaded(pos1, pos2) + local dim = vector.add(vector.subtract(pos2, pos1), 1) + local overlap = math.abs(amount) < dim[axis] + -- Decide if we need to copy metadata backwards + local backwards = overlap and amount > 0 - --- TODO: Move slice by slice using schematic method in the move axis - -- and transfer metadata in separate loop (and if the amount is - -- greater than the length in the axis, copy whole thing at a time and - -- erase original after, using schematic method). - local get_node, get_meta, set_node, remove_node = minetest.get_node, - minetest.get_meta, minetest.set_node, minetest.remove_node - -- Copy things backwards when negative to avoid corruption. - --- FIXME: Lots of code duplication here. - if amount < 0 then - local pos = {} - pos.x = pos1.x - while pos.x <= pos2.x do - pos.y = pos1.y - while pos.y <= pos2.y do - pos.z = pos1.z - while pos.z <= pos2.z do - local node = get_node(pos) -- Obtain current node - local meta = get_meta(pos):to_table() -- Get metadata of current node - remove_node(pos) -- Remove current node - local value = pos[axis] -- Store current position - pos[axis] = value + amount -- Move along axis - set_node(pos, node) -- Move node to new position - get_meta(pos):from_table(meta) -- Set metadata of new node - pos[axis] = value -- Restore old position - pos.z = pos.z + 1 - end - pos.y = pos.y + 1 - end - pos.x = pos.x + 1 + local function nuke_area(my_off, my_dim) + if my_dim.x == 0 or my_dim.y == 0 or my_dim.z == 0 then + return end + local my_pos1 = vector.add(pos1, my_off) + local my_pos2 = vector.subtract(vector.add(my_pos1, my_dim), 1) + worldedit.set(my_pos1, my_pos2, "air") + worldedit.delete_meta(my_pos1, my_pos2) + end + + -- Copy stuff to new location + local off = {x=0, y=0, z=0} + off[axis] = amount + worldedit.copy2(pos1, pos2, off, backwards) + -- Nuke old area + if not overlap then + nuke_area({x=0, y=0, z=0}, dim) else - local pos = {} - pos.x = pos2.x - while pos.x >= pos1.x do - pos.y = pos2.y - while pos.y >= pos1.y do - pos.z = pos2.z - while pos.z >= pos1.z do - local node = get_node(pos) -- Obtain current node - local meta = get_meta(pos):to_table() -- Get metadata of current node - remove_node(pos) -- Remove current node - local value = pos[axis] -- Store current position - pos[axis] = value + amount -- Move along axis - set_node(pos, node) -- Move node to new position - get_meta(pos):from_table(meta) -- Set metadata of new node - pos[axis] = value -- Restore old position - pos.z = pos.z - 1 - end - pos.y = pos.y - 1 - end - pos.x = pos.x - 1 + -- Source and destination region are overlapping, which means we can't + -- blindly delete the [pos1, pos2] area + local leftover = vector.new(dim) -- size of the leftover slice + leftover[axis] = math.abs(amount) + if amount > 0 then + nuke_area({x=0, y=0, z=0}, leftover) + else + local top = {x=0, y=0, z=0} -- offset of the leftover slice from pos1 + top[axis] = dim[axis] - math.abs(amount) + nuke_area(top, leftover) end end + return worldedit.volume(pos1, pos2) end - --- Duplicates a region along `axis` `amount` times. --- Stacking is spread across server steps, one copy per step. +-- Stacking is spread across server steps. -- @param pos1 -- @param pos2 -- @param axis Axis direction, "x", "y", or "z". -- @param count -- @return The number of nodes stacked. -function worldedit.stack(pos1, pos2, axis, count) +function worldedit.stack(pos1, pos2, axis, count, finished) local pos1, pos2 = worldedit.sort_pos(pos1, pos2) local length = pos2[axis] - pos1[axis] + 1 if count < 0 then count = -count length = -length end - local amount = 0 - local copy = worldedit.copy - local i = 1 - local function next_one() - if i <= count then - i = i + 1 - amount = amount + length - copy(pos1, pos2, axis, amount) - minetest.after(0, next_one) - end + + local i, distance = 0, 0 + local function step() + distance = distance + length + worldedit.copy(pos1, pos2, axis, distance) + i = i + 1 + return i >= count end - next_one() + deferred_execution(step, finished) + return worldedit.volume(pos1, pos2) * count end @@ -529,20 +552,22 @@ end -- @param pos2 -- @param angle Angle in degrees (90 degree increments only). -- @return The number of nodes oriented. --- TODO: Support 6D facedir rotation along arbitrary axis. function worldedit.orient(pos1, pos2, angle) local pos1, pos2 = worldedit.sort_pos(pos1, pos2) local registered_nodes = minetest.registered_nodes local wallmounted = { - [90] = {[0]=0, 1, 5, 4, 2, 3}, - [180] = {[0]=0, 1, 3, 2, 5, 4}, - [270] = {[0]=0, 1, 4, 5, 3, 2} + [90] = {0, 1, 5, 4, 2, 3, 0, 0}, + [180] = {0, 1, 3, 2, 5, 4, 0, 0}, + [270] = {0, 1, 4, 5, 3, 2, 0, 0} } local facedir = { - [90] = {[0]=1, 2, 3, 0}, - [180] = {[0]=2, 3, 0, 1}, - [270] = {[0]=3, 0, 1, 2} + [90] = { 1, 2, 3, 0, 13, 14, 15, 12, 17, 18, 19, 16, + 9, 10, 11, 8, 5, 6, 7, 4, 23, 20, 21, 22}, + [180] = { 2, 3, 0, 1, 10, 11, 8, 9, 6, 7, 4, 5, + 18, 19, 16, 17, 14, 15, 12, 13, 22, 23, 20, 21}, + [270] = { 3, 0, 1, 2, 19, 16, 17, 18, 15, 12, 13, 14, + 7, 4, 5, 6, 11, 8, 9, 10, 21, 22, 23, 20} } angle = angle % 360 @@ -558,8 +583,7 @@ function worldedit.orient(pos1, pos2, angle) worldedit.keep_loaded(pos1, pos2) local count = 0 - local set_node, get_node, get_meta, swap_node = minetest.set_node, - minetest.get_node, minetest.get_meta, minetest.swap_node + local get_node, swap_node = minetest.get_node, minetest.swap_node local pos = {x=pos1.x, y=0, z=0} while pos.x <= pos2.x do pos.y = pos1.y @@ -569,17 +593,20 @@ function worldedit.orient(pos1, pos2, angle) local node = get_node(pos) local def = registered_nodes[node.name] if def then - if def.paramtype2 == "wallmounted" then - node.param2 = wallmounted_substitution[node.param2] - local meta = get_meta(pos):to_table() - set_node(pos, node) - get_meta(pos):from_table(meta) + local paramtype2 = def.paramtype2 + if paramtype2 == "wallmounted" or + paramtype2 == "colorwallmounted" then + local orient = node.param2 % 8 + node.param2 = node.param2 - orient + + wallmounted_substitution[orient + 1] + swap_node(pos, node) count = count + 1 - elseif def.paramtype2 == "facedir" then - node.param2 = facedir_substitution[node.param2] - local meta = get_meta(pos):to_table() - set_node(pos, node) - get_meta(pos):from_table(meta) + elseif paramtype2 == "facedir" or + paramtype2 == "colorfacedir" then + local orient = node.param2 % 32 + node.param2 = node.param2 - orient + + facedir_substitution[orient + 1] + swap_node(pos, node) count = count + 1 end end @@ -634,7 +661,7 @@ function worldedit.clear_objects(pos1, pos2) -- Avoid players and WorldEdit entities if not obj:is_player() and (not entity or not entity.name:find("^worldedit:")) then - local pos = obj:getpos() + local pos = obj:get_pos() if pos.x >= pos1x and pos.x <= pos2x and pos.y >= pos1y and pos.y <= pos2y and pos.z >= pos1z and pos.z <= pos2z then diff --git a/worldedit/worldedit/mod.conf b/worldedit/worldedit/mod.conf new file mode 100644 index 0000000..9563477 --- /dev/null +++ b/worldedit/worldedit/mod.conf @@ -0,0 +1,2 @@ +name = worldedit +description = WorldEdit main functionality & API diff --git a/worldedit/worldedit/serialization.lua b/worldedit/worldedit/serialization.lua index a0848e2..c3793b2 100644 --- a/worldedit/worldedit/serialization.lua +++ b/worldedit/worldedit/serialization.lua @@ -24,7 +24,7 @@ Serialization version history: -- @return Extra header fields as a list of strings, or nil if not supported. -- @return Content (data after header). function worldedit.read_header(value) - if value:find("^[0-9]+[%-:]") then + if value:find("^[0-9]+[,:]") then local header_end = value:find(":", 1, true) local header = value:sub(1, header_end - 1):split(",") local version = tonumber(header[1]) @@ -56,10 +56,19 @@ function worldedit.serialize(pos1, pos2) worldedit.keep_loaded(pos1, pos2) + local get_node, get_meta, hash_node_position = + minetest.get_node, minetest.get_meta, minetest.hash_node_position + + -- Find the positions which have metadata + local has_meta = {} + local meta_positions = minetest.find_nodes_with_meta(pos1, pos2) + for i = 1, #meta_positions do + has_meta[hash_node_position(meta_positions[i])] = true + end + local pos = {x=pos1.x, y=0, z=0} local count = 0 local result = {} - local get_node, get_meta = minetest.get_node, minetest.get_meta while pos.x <= pos2.x do pos.y = pos1.y while pos.y <= pos2.y do @@ -68,20 +77,19 @@ function worldedit.serialize(pos1, pos2) local node = get_node(pos) if node.name ~= "air" and node.name ~= "ignore" then count = count + 1 - local meta = get_meta(pos):to_table() - local meta_empty = true - -- Convert metadata item stacks to item strings - for name, inventory in pairs(meta.inventory) do - for index, stack in ipairs(inventory) do - meta_empty = false - inventory[index] = stack.to_string and stack:to_string() or stack - end - end - for k in pairs(meta) do - if k ~= "inventory" then - meta_empty = false - break + local meta + if has_meta[hash_node_position(pos)] then + meta = get_meta(pos):to_table() + + -- Convert metadata item stacks to item strings + for _, invlist in pairs(meta.inventory) do + for index = 1, #invlist do + local itemstack = invlist[index] + if itemstack.to_string then + invlist[index] = itemstack:to_string() + end + end end end @@ -92,7 +100,7 @@ function worldedit.serialize(pos1, pos2) name = node.name, param1 = node.param1 ~= 0 and node.param1 or nil, param2 = node.param2 ~= 0 and node.param2 or nil, - meta = not meta_empty and meta or nil, + meta = meta, } end pos.z = pos.z + 1 @@ -106,16 +114,44 @@ function worldedit.serialize(pos1, pos2) return LATEST_SERIALIZATION_HEADER .. result, count end - ---- Loads the schematic in `value` into a node list in the latest format. -- Contains code based on [table.save/table.load](http://lua-users.org/wiki/SaveTableToFile) -- by ChillCode, available under the MIT license. +local function deserialize_workaround(content) + local nodes + if not jit then + nodes = minetest.deserialize(content, true) + else + -- XXX: This is a filthy hack that works surprisingly well + -- in LuaJIT, `minetest.deserialize` will fail due to the register limit + nodes = {} + content = content:gsub("^%s*return%s*{", "", 1):gsub("}%s*$", "", 1) -- remove the starting and ending values to leave only the node data + -- remove string contents strings while preserving their length + local escaped = content:gsub("\\\\", "@@"):gsub("\\\"", "@@"):gsub("(\"[^\"]*\")", function(s) return string.rep("@", #s) end) + local startpos, startpos1 = 1, 1 + local endpos + while true do -- go through each individual node entry (except the last) + startpos, endpos = escaped:find("},%s*{", startpos) + if not startpos then + break + end + local current = content:sub(startpos1, startpos) + local entry = minetest.deserialize("return " .. current, true) + table.insert(nodes, entry) + startpos, startpos1 = endpos, endpos + end + local entry = minetest.deserialize("return " .. content:sub(startpos1), true) -- process the last entry + table.insert(nodes, entry) + end + return nodes +end + +--- Loads the schematic in `value` into a node list in the latest format. -- @return A node list in the latest format, or nil on failure. local function load_schematic(value) local version, header, content = worldedit.read_header(value) local nodes = {} if version == 1 or version == 2 then -- Original flat table format - local tables = minetest.deserialize(content) + local tables = minetest.deserialize(content, true) if not tables then return nil end -- Transform the node table into an array of nodes @@ -153,28 +189,7 @@ local function load_schematic(value) }) end elseif version == 4 or version == 5 then -- Nested table format - if not jit then - -- This is broken for larger tables in the current version of LuaJIT - nodes = minetest.deserialize(content) - else - -- XXX: This is a filthy hack that works surprisingly well - in LuaJIT, `minetest.deserialize` will fail due to the register limit - nodes = {} - content = content:gsub("return%s*{", "", 1):gsub("}%s*$", "", 1) -- remove the starting and ending values to leave only the node data - local escaped = content:gsub("\\\\", "@@"):gsub("\\\"", "@@"):gsub("(\"[^\"]*\")", function(s) return string.rep("@", #s) end) - local startpos, startpos1, endpos = 1, 1 - while true do -- go through each individual node entry (except the last) - startpos, endpos = escaped:find("},%s*{", startpos) - if not startpos then - break - end - local current = content:sub(startpos1, startpos) - local entry = minetest.deserialize("return " .. current) - table.insert(nodes, entry) - startpos, startpos1 = endpos, endpos - end - local entry = minetest.deserialize("return " .. content:sub(startpos1)) -- process the last entry - table.insert(nodes, entry) - end + nodes = deserialize_workaround(content) else return nil end @@ -188,7 +203,7 @@ end -- @return The number of nodes. function worldedit.allocate(origin_pos, value) local nodes = load_schematic(value) - if not nodes then return nil end + if not nodes or #nodes == 0 then return nil end return worldedit.allocate_with_nodes(origin_pos, nodes) end @@ -219,6 +234,7 @@ end function worldedit.deserialize(origin_pos, value) local nodes = load_schematic(value) if not nodes then return nil end + if #nodes == 0 then return #nodes end local pos1, pos2 = worldedit.allocate_with_nodes(origin_pos, nodes) worldedit.keep_loaded(pos1, pos2) diff --git a/worldedit/worldedit/visualization.lua b/worldedit/worldedit/visualization.lua index 5ac49f3..326a6c1 100644 --- a/worldedit/worldedit/visualization.lua +++ b/worldedit/worldedit/visualization.lua @@ -6,6 +6,7 @@ minetest.register_node("worldedit:placeholder", { paramtype = "light", sunlight_propagates = true, diggable = false, + pointable = false, walkable = false, groups = {not_in_creative_inventory=1}, }) diff --git a/worldedit/worldedit_brush/depends.txt b/worldedit/worldedit_brush/depends.txt deleted file mode 100644 index f886436..0000000 --- a/worldedit/worldedit_brush/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -worldedit -worldedit_commands diff --git a/worldedit/worldedit_brush/init.lua b/worldedit/worldedit_brush/init.lua index 21de630..78c1bd1 100644 --- a/worldedit/worldedit_brush/init.lua +++ b/worldedit/worldedit_brush/init.lua @@ -1,57 +1,10 @@ -local modname = minetest.get_current_modname() - --- check compatibility if minetest.raycast == nil then - function log_unavailable_error() - minetest.log("error", - "[MOD] " .. modname .. " is not compatible with current game version, " .. - "you can disable it in the game settings!" - ) - minetest.log("verbose", - "[MOD] " .. modname .. " requires a suitable version of 0.4.16-dev or higher, " .. - "that includes support for minetest.raycast() [since 7th July 2017]" - ) - end - - if minetest.is_singleplayer() then - -- delay message until player is connected - minetest.register_on_joinplayer(log_unavailable_error) - else - log_unavailable_error() - end - - -- exit here / do not load this mod - return + error( + "worldedit_brush requires at least Minetest 5.0" + ) end local BRUSH_MAX_DIST = 150 -local BRUSH_ALLOWED_COMMANDS = { - -- basically everything that only needs pos1 - "cube", - "cylinder", - "dome", - "hollowcube", - "hollowcylinder", - "hollowdome", - "hollowpyramid", - "hollowsphere", - "load", - "pyramid", - "sphere", - "spiral", - - "cyl", - "do", - "hcube", - "hcyl", - "hdo", - "hpyr", - "hspr", - "l", - "pyr", - "spr", - "spl", -} local brush_on_use = function(itemstack, placer) local meta = itemstack:get_meta() local name = placer:get_player_name() @@ -62,8 +15,10 @@ local brush_on_use = function(itemstack, placer) "This brush is not bound, use //brush to bind a command to it.") return false end - local cmddef = minetest.registered_chatcommands["/" .. cmd] + + local cmddef = worldedit.registered_commands[cmd] if cmddef == nil then return false end -- shouldn't happen as //brush checks this + local has_privs, missing_privs = minetest.check_player_privs(name, cmddef.privs) if not has_privs then worldedit.player_notify(name, @@ -71,7 +26,8 @@ local brush_on_use = function(itemstack, placer) return false end - local raybegin = vector.add(placer:get_pos(), {x=0, y=2, z=0}) -- player head + local raybegin = vector.add(placer:get_pos(), + {x=0, y=placer:get_properties().eye_height, z=0}) local rayend = vector.add(raybegin, vector.multiply(placer:get_look_dir(), BRUSH_MAX_DIST)) local ray = minetest.raycast(raybegin, rayend, false, true) local pointed_thing = ray:next() @@ -83,20 +39,23 @@ local brush_on_use = function(itemstack, placer) assert(pointed_thing.type == "node") worldedit.pos1[name] = pointed_thing.under worldedit.pos2[name] = nil - worldedit.mark_region(name) - -- is this a horrible hack? oh yes. - worldedit._override_safe_regions = true + worldedit.marker_update(name) + + -- this isn't really clean... local player_notify_old = worldedit.player_notify worldedit.player_notify = function(name, msg) if string.match(msg, "^%d") then return end -- discard "1234 nodes added." return player_notify_old(name, msg) end + assert(cmddef.require_pos < 2) + local parsed = {cmddef.parse(meta:get_string("params"))} + if not table.remove(parsed, 1) then return false end -- shouldn't happen + minetest.log("action", string.format("%s uses WorldEdit brush (//%s) at %s", name, cmd, minetest.pos_to_string(pointed_thing.under))) - cmddef.func(name, meta:get_string("params")) + cmddef.func(name, unpack(parsed)) - worldedit._override_safe_regions = false worldedit.player_notify = player_notify_old return true end @@ -112,21 +71,22 @@ minetest.register_tool(":worldedit:brush", { end, }) -minetest.register_chatcommand("/brush", { +worldedit.register_command("brush", { privs = {worldedit=true}, params = "none/ [parameters]", description = "Assign command to WorldEdit brush item", - func = function(name, param) + parse = function(param) local found, _, cmd, params = param:find("^([^%s]+)%s+(.+)$") if not found then params = "" found, _, cmd = param:find("^(.+)$") end if not found then - worldedit.player_notify(name, "Invalid usage.") - return + return false end - + return true, cmd, params + end, + func = function(name, cmd, params) local itemstack = minetest.get_player_by_name(name):get_wielded_item() if itemstack == nil or itemstack:get_name() ~= "worldedit:brush" then worldedit.player_notify(name, "Not holding brush item.") @@ -139,16 +99,20 @@ minetest.register_chatcommand("/brush", { meta:from_table(nil) worldedit.player_notify(name, "Brush assignment cleared.") else - local cmddef - if table.indexof(BRUSH_ALLOWED_COMMANDS, cmd) ~= -1 then - cmddef = minetest.registered_chatcommands["/" .. cmd] - else - cmddef = nil - end - if cmddef == nil then - worldedit.player_notify(name, "Invalid command for brush use: //" .. cmd) + local cmddef = worldedit.registered_commands[cmd] + if cmddef == nil or cmddef.require_pos ~= 1 then + worldedit.player_notify(name, "//" .. cmd .. " cannot be used with brushes") return end + + -- Try parsing command params so we can give the user feedback + local ok, err = cmddef.parse(params) + if not ok then + err = err or "invalid usage" + worldedit.player_notify(name, "Error with brush command: " .. err) + return + end + meta:set_string("command", cmd) meta:set_string("params", params) local fullcmd = "//" .. cmd .. " " .. params diff --git a/worldedit/worldedit_brush/mod.conf b/worldedit/worldedit_brush/mod.conf new file mode 100644 index 0000000..2974de1 --- /dev/null +++ b/worldedit/worldedit_brush/mod.conf @@ -0,0 +1,3 @@ +name = worldedit_brush +description = WorldEdit brush +depends = worldedit, worldedit_commands diff --git a/worldedit/worldedit_commands/cuboid.lua b/worldedit/worldedit_commands/cuboid.lua index 88f0260..93e45fa 100644 --- a/worldedit/worldedit_commands/cuboid.lua +++ b/worldedit/worldedit_commands/cuboid.lua @@ -1,28 +1,22 @@ -minetest.register_chatcommand("/outset", { - params = "[h|v] ", - description = "outset the selection", +worldedit.register_command("outset", { + params = "[h/v] ", + description = "Outset the selected region.", privs = {worldedit=true}, - func = function(name, param) + require_pos = 2, + parse = function(param) local find, _, dir, amount = param:find("(%a*)%s*([+-]?%d+)") - if find == nil then - return false, "invalid usage: " .. param + return false end - - local pos1 = worldedit.pos1[name] - local pos2 = worldedit.pos2[name] - - if pos1 == nil or pos2 == nil then - return false, - "Undefined region. Region must be defined beforehand." - end - + local hv_test = dir:find("[^hv]+") - if hv_test ~= nil then return false, "Invalid direction." end - + + return true, dir, tonumber(amount) + end, + func = function(name, dir, amount) if dir == "" or dir == "hv" or dir == "vh" then assert(worldedit.cuboid_volumetric_expand(name, amount)) elseif dir == "h" then @@ -36,39 +30,30 @@ minetest.register_chatcommand("/outset", { else return false, "Invalid number of arguments" end - + worldedit.marker_update(name) return true, "Region outset by " .. amount .. " blocks" end, - } -) +}) -minetest.register_chatcommand("/inset", { - params = "[h|v] ", - description = "inset the selection", +worldedit.register_command("inset", { + params = "[h/v] ", + description = "Inset the selected region.", privs = {worldedit=true}, - func = function(name, param) + require_pos = 2, + parse = function(param) local find, _, dir, amount = param:find("(%a*)%s*([+-]?%d+)") - if find == nil then - return false, "invalid usage: " .. param + return false end - - local pos1 = worldedit.pos1[name] - local pos2 = worldedit.pos2[name] - - if pos1 == nil or pos2 == nil then - return false, - "Undefined region. Region must be defined beforehand." - end - - local hv_test = dir:find("[^hv]+") - - if hv_test ~= nil then + if dir:find("[^hv]") ~= nil then return false, "Invalid direction." end - + + return true, dir, tonumber(amount) + end, + func = function(name, dir, amount) if dir == "" or dir == "vh" or dir == "hv" then assert(worldedit.cuboid_volumetric_expand(name, -amount)) elseif dir == "h" then @@ -82,34 +67,27 @@ minetest.register_chatcommand("/inset", { else return false, "Invalid number of arguments" end - + worldedit.marker_update(name) return true, "Region inset by " .. amount .. " blocks" end, - } -) +}) -minetest.register_chatcommand("/shift", { - params = "[x|y|z|?|up|down|left|right|front|back] [+|-]", - description = "Moves the selection region. Does not move contents.", +worldedit.register_command("shift", { + params = "x/y/z/?/up/down/left/right/front/back [+/-]", + description = "Shifts the selection area without moving its contents", privs = {worldedit=true}, - func = function(name, param) - local pos1 = worldedit.pos1[name] - local pos2 = worldedit.pos2[name] + require_pos = 2, + parse = function(param) local find, _, direction, amount = param:find("([%?%l]+)%s*([+-]?%d+)") - if find == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return + return false end - - if pos1 == nil or pos2 == nil then - worldedit.player_notify(name, - "Undefined region. Region must be defined beforehand.") - return - end - + + return true, direction, tonumber(amount) + end, + func = function(name, direction, amount) local axis, dir if direction == "x" or direction == "y" or direction == "z" then axis, dir = direction, 1 @@ -118,123 +96,171 @@ minetest.register_chatcommand("/shift", { else axis, dir = worldedit.translate_direction(name, direction) end - + if axis == nil or dir == nil then return false, "Invalid if looking straight up or down" end - + assert(worldedit.cuboid_shift(name, axis, amount * dir)) worldedit.marker_update(name) - + return true, "Region shifted by " .. amount .. " nodes" end, - } -) +}) -minetest.register_chatcommand("/expand", { - params = "[+|-] [reverse-amount]", - description = "expand the selection in one or two directions at once", +worldedit.register_command("expand", { + params = "[+/-]x/y/z/?/up/down/left/right/front/back [reverse amount]", + description = "Expands the selection in the selected absolute or relative axis", privs = {worldedit=true}, - func = function(name, param) - local find, _, sign, direction, amount, - rev_amount = param:find("([+-]?)([%?%l]+)%s*(%d+)%s*(%d*)") - - if find == nil then - worldedit.player_notify(name, "invalid use: " .. param) - return - end - - if worldedit.pos1[name] == nil or worldedit.pos2[name] == nil then - worldedit.player_notify(name, - "Undefined region. Region must be defined beforehand.") - return - end - - local absolute = direction:find("[xyz?]") - local dir, axis - - if rev_amount == "" then - rev_amount = 0 - end - - if absolute == nil then - axis, dir = worldedit.translate_direction(name, direction) - - if axis == nil or dir == nil then - return false, "Invalid if looking straight up or down" + require_pos = 2, + parse = function(param) + local find, _, sign, direction, amount, + rev_amount = param:find("([+-]?)([%?%l]+)%s*(%d+)%s*(%d*)") + if find == nil then + return false end - else - if direction == "?" then - axis, dir = worldedit.player_axis(name) + + if rev_amount == "" then + rev_amount = "0" + end + + return true, sign, direction, tonumber(amount), tonumber(rev_amount) + end, + func = function(name, sign, direction, amount, rev_amount) + local absolute = direction:find("[xyz?]") + local dir, axis + + if absolute == nil then + axis, dir = worldedit.translate_direction(name, direction) + + if axis == nil or dir == nil then + return false, "Invalid if looking straight up or down" + end else - axis = direction - dir = 1 + if direction == "?" then + axis, dir = worldedit.player_axis(name) + else + axis = direction + dir = 1 + end end - end - - if sign == "-" then - dir = -dir - end - - worldedit.cuboid_linear_expand(name, axis, dir, amount) - worldedit.cuboid_linear_expand(name, axis, -dir, rev_amount) - worldedit.marker_update(name) - return true, "Region expanded by " .. (amount + rev_amount) .. " nodes" - end, - } -) + + if sign == "-" then + dir = -dir + end + + worldedit.cuboid_linear_expand(name, axis, dir, amount) + worldedit.cuboid_linear_expand(name, axis, -dir, rev_amount) + worldedit.marker_update(name) + return true, "Region expanded by " .. (amount + rev_amount) .. " nodes" + end, +}) -minetest.register_chatcommand("/contract", { - params = "[+|-] [reverse-amount]", - description = "contract the selection in one or two directions at once", +worldedit.register_command("contract", { + params = "[+/-]x/y/z/?/up/down/left/right/front/back [reverse amount]", + description = "Contracts the selection in the selected absolute or relative axis", privs = {worldedit=true}, - func = function(name, param) - local find, _, sign, direction, amount, - rev_amount = param:find("([+-]?)([%?%l]+)%s*(%d+)%s*(%d*)") - - if find == nil then - worldedit.player_notify(name, "invalid use: " .. param) - return - end - - if worldedit.pos1[name] == nil or worldedit.pos2[name] == nil then - worldedit.player_notify(name, - "Undefined region. Region must be defined beforehand.") - return - end - - local absolute = direction:find("[xyz?]") - local dir, axis - - if rev_amount == "" then - rev_amount = 0 - end - - if absolute == nil then - axis, dir = worldedit.translate_direction(name, direction) - - if axis == nil or dir == nil then - return false, "Invalid if looking straight up or down" + require_pos = 2, + parse = function(param) + local find, _, sign, direction, amount, + rev_amount = param:find("([+-]?)([%?%l]+)%s*(%d+)%s*(%d*)") + if find == nil then + return false end - else - if direction == "?" then - axis, dir = worldedit.player_axis(name) + + if rev_amount == "" then + rev_amount = "0" + end + + return true, sign, direction, tonumber(amount), tonumber(rev_amount) + end, + func = function(name, sign, direction, amount, rev_amount) + local absolute = direction:find("[xyz?]") + local dir, axis + + if absolute == nil then + axis, dir = worldedit.translate_direction(name, direction) + + if axis == nil or dir == nil then + return false, "Invalid if looking straight up or down" + end else - axis = direction - dir = 1 + if direction == "?" then + axis, dir = worldedit.player_axis(name) + else + axis = direction + dir = 1 + end end - end - - if sign == "-" then - dir = -dir - end - - worldedit.cuboid_linear_expand(name, axis, dir, -amount) - worldedit.cuboid_linear_expand(name, axis, -dir, -rev_amount) - worldedit.marker_update(name) - return true, "Region contracted by " .. (amount + rev_amount) .. " nodes" - end, - } -) + + if sign == "-" then + dir = -dir + end + + worldedit.cuboid_linear_expand(name, axis, dir, -amount) + worldedit.cuboid_linear_expand(name, axis, -dir, -rev_amount) + worldedit.marker_update(name) + return true, "Region contracted by " .. (amount + rev_amount) .. " nodes" + end, +}) + +worldedit.register_command("cubeapply", { + params = "/( ) [parameters]", + description = "Select a cube with side length around position 1 and run on region", + privs = {worldedit=true}, + require_pos = 1, + parse = function(param) + local found, _, sidex, sidey, sidez, cmd, args = + param:find("^(%d+)%s+(%d+)%s+(%d+)%s+([^%s]+)%s*(.*)$") + if found == nil then + found, _, sidex, cmd, args = param:find("^(%d+)%s+([^%s]+)%s*(.*)$") + if found == nil then + return false + end + sidey = sidex + sidez = sidex + end + sidex = tonumber(sidex) + sidey = tonumber(sidey) + sidez = tonumber(sidez) + if sidex < 1 or sidey < 1 or sidez < 1 then + return false + end + local cmddef = worldedit.registered_commands[cmd] + if cmddef == nil or cmddef.require_pos ~= 2 then + return false, "invalid usage: //" .. cmd .. " cannot be used with cubeapply" + end + -- run parsing of target command + local parsed = {cmddef.parse(args)} + if not table.remove(parsed, 1) then + return false, parsed[1] + end + return true, sidex, sidey, sidez, cmd, parsed + end, + nodes_needed = function(name, sidex, sidey, sidez, cmd, parsed) + -- its not possible to defer to the target command at this point + return sidex * sidey * sidez + end, + func = function(name, sidex, sidey, sidez, cmd, parsed) + local cmddef = assert(worldedit.registered_commands[cmd]) + local success, missing_privs = minetest.check_player_privs(name, cmddef.privs) + if not success then + worldedit.player_notify(name, "Missing privileges: " .. + table.concat(missing_privs, ", ")) + return + end + + -- update region to be the cuboid the user wanted + local half = vector.divide(vector.new(sidex, sidey, sidez), 2) + local sizea, sizeb = vector.apply(half, math.floor), vector.apply(half, math.ceil) + local center = worldedit.pos1[name] + worldedit.pos1[name] = vector.subtract(center, sizea) + worldedit.pos2[name] = vector.add(center, vector.subtract(sizeb, 1)) + worldedit.marker_update(name) + + -- actually run target command + return cmddef.func(name, unpack(parsed)) + end, +}) diff --git a/worldedit/worldedit_commands/depends.txt b/worldedit/worldedit_commands/depends.txt deleted file mode 100644 index df8caff..0000000 --- a/worldedit/worldedit_commands/depends.txt +++ /dev/null @@ -1 +0,0 @@ -worldedit \ No newline at end of file diff --git a/worldedit/worldedit_commands/init.lua b/worldedit/worldedit_commands/init.lua index 61aafc1..1cdb107 100644 --- a/worldedit/worldedit_commands/init.lua +++ b/worldedit/worldedit_commands/init.lua @@ -1,46 +1,161 @@ minetest.register_privilege("worldedit", "Can use WorldEdit commands") -worldedit.set_pos = {} -worldedit.inspect = {} - worldedit.pos1 = {} worldedit.pos2 = {} -if minetest.place_schematic then - worldedit.prob_pos = {} - worldedit.prob_list = {} -end -dofile(minetest.get_modpath("worldedit_commands") .. "/cuboid.lua") -dofile(minetest.get_modpath("worldedit_commands") .. "/mark.lua") -dofile(minetest.get_modpath("worldedit_commands") .. "/wand.lua") -local safe_region, check_region, reset_pending = dofile(minetest.get_modpath("worldedit_commands") .. "/safe.lua") +worldedit.set_pos = {} +worldedit.inspect = {} +worldedit.prob_pos = {} +worldedit.prob_list = {} -local function get_position(name) --position 1 retrieval function for when not using `safe_region` - local pos1 = worldedit.pos1[name] - if pos1 == nil then - worldedit.player_notify(name, "no position 1 selected") - end - return pos1 -end --- normalize_nodename wrapper for convenience purposes -local function get_node(name, nodename) - local node = worldedit.normalize_nodename(nodename) - if not node then - worldedit.player_notify(name, "invalid node name: " .. nodename) - return nil - end - return node -end + +local safe_region, reset_pending = dofile(minetest.get_modpath("worldedit_commands") .. "/safe.lua") function worldedit.player_notify(name, message) minetest.chat_send_player(name, "WorldEdit -!- " .. message, false) end +worldedit.registered_commands = {} + +local function chatcommand_handler(cmd_name, name, param) + local def = assert(worldedit.registered_commands[cmd_name]) + + if def.require_pos == 2 then + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + if pos1 == nil or pos2 == nil then + worldedit.player_notify(name, "no region selected") + return + end + elseif def.require_pos == 1 then + local pos1 = worldedit.pos1[name] + if pos1 == nil then + worldedit.player_notify(name, "no position 1 selected") + return + end + end + + local parsed = {def.parse(param)} + local success = table.remove(parsed, 1) + if not success then + worldedit.player_notify(name, parsed[1] or "invalid usage") + return + end + + if def.nodes_needed then + local count = def.nodes_needed(name, unpack(parsed)) + safe_region(name, count, function() + local success, msg = def.func(name, unpack(parsed)) + if msg then + minetest.chat_send_player(name, msg) + end + end) + else + -- no "safe region" check + local success, msg = def.func(name, unpack(parsed)) + if msg then + minetest.chat_send_player(name, msg) + end + end +end + +-- Registers a chatcommand for WorldEdit +-- name = "about" -- Name of the chat command (without any /) +-- def = { +-- privs = {}, -- Privileges needed +-- params = "", -- Human readable parameter list (optional) +-- -- setting params = "" will automatically provide a parse() if not given +-- description = "", -- Description +-- require_pos = 0, -- Number of positions required to be set (optional) +-- parse = function(param) +-- return true, foo, bar, ... +-- -- or +-- return false +-- -- or +-- return false, "error message" +-- end, +-- nodes_needed = function(name, foo, bar, ...), -- (optional) +-- return n +-- end, +-- func = function(name, foo, bar, ...) +-- return success, "message" +-- end, +-- } +function worldedit.register_command(name, def) + local def = table.copy(def) + assert(name and #name > 0) + assert(def.privs) + def.require_pos = def.require_pos or 0 + assert(def.require_pos >= 0 and def.require_pos < 3) + if def.params == "" and not def.parse then + def.parse = function(param) return true end + else + assert(def.parse) + end + assert(def.nodes_needed == nil or type(def.nodes_needed) == "function") + assert(def.func) + + -- for development + --[[if def.require_pos == 2 and not def.nodes_needed then + minetest.log("warning", "//" .. name .. " might be missing nodes_needed") + end--]] + + minetest.register_chatcommand("/" .. name, { + privs = def.privs, + params = def.params, + description = def.description, + func = function(player_name, param) + return chatcommand_handler(name, player_name, param) + end, + }) + worldedit.registered_commands[name] = def +end + + + +dofile(minetest.get_modpath("worldedit_commands") .. "/cuboid.lua") +dofile(minetest.get_modpath("worldedit_commands") .. "/mark.lua") +dofile(minetest.get_modpath("worldedit_commands") .. "/wand.lua") + + +local function check_region(name) + return worldedit.volume(worldedit.pos1[name], worldedit.pos2[name]) +end + +-- Strips any kind of escape codes (translation, colors) from a string +-- https://github.com/minetest/minetest/blob/53dd7819277c53954d1298dfffa5287c306db8d0/src/util/string.cpp#L777 +local function strip_escapes(input) + local s = function(idx) return input:sub(idx, idx) end + local out = "" + local i = 1 + while i <= #input do + if s(i) == "\027" then -- escape sequence + i = i + 1 + if s(i) == "(" then -- enclosed + i = i + 1 + while i <= #input and s(i) ~= ")" do + if s(i) == "\\" then + i = i + 2 + else + i = i + 1 + end + end + end + else + out = out .. s(i) + end + i = i + 1 + end + --print(("%q -> %q"):format(input, out)) + return out +end + local function string_endswith(full, part) return full:find(part, 1, true) == #full - #part + 1 end +local description_cache = nil + -- normalizes node "description" `nodename`, returning a string (or nil) worldedit.normalize_nodename = function(nodename) nodename = nodename:gsub("^%s*(.-)%s*$", "%1") -- strip spaces @@ -50,26 +165,40 @@ worldedit.normalize_nodename = function(nodename) if minetest.registered_nodes[fullname] or fullname == "air" then -- full name return fullname end - for key, value in pairs(minetest.registered_nodes) do - if string_endswith(key, ":" .. nodename) then -- matches name (w/o mod part) + nodename = nodename:lower() + + for key, _ in pairs(minetest.registered_nodes) do + if string_endswith(key:lower(), ":" .. nodename) then -- matches name (w/o mod part) return key end end - nodename = nodename:lower() -- lowercase both for case insensitive comparison - for key, value in pairs(minetest.registered_nodes) do - local desc = value.description:lower() + + if description_cache == nil then + -- cache stripped descriptions + description_cache = {} + for key, value in pairs(minetest.registered_nodes) do + local desc = strip_escapes(value.description):gsub("\n.*", "", 1):lower() + if desc ~= "" then + description_cache[key] = desc + end + end + end + + for key, desc in pairs(description_cache) do if desc == nodename then -- matches description return key end - if string_endswith(desc, " block") and desc == nodename.." block" then + end + for key, desc in pairs(description_cache) do + if desc == nodename .. " block" then -- fuzzy description match (e.g. "Steel" == "Steel Block") return key end end local match = nil - for key, value in pairs(minetest.registered_nodes) do - if value.description:lower():find(nodename, 1, true) ~= nil then + for key, value in pairs(description_cache) do + if value:find(nodename, 1, true) ~= nil then if match ~= nil then return nil end @@ -93,38 +222,34 @@ function worldedit.player_axis(name) return "z", dir.z > 0 and 1 or -1 end -local function mkdir(path) - if minetest.mkdir then - minetest.mkdir(path) - else - os.execute('mkdir "' .. path .. '"') - end -end - local function check_filename(name) return name:find("^[%w%s%^&'@{}%[%],%$=!%-#%(%)%%%.%+~_]+$") ~= nil end -minetest.register_chatcommand("/about", { +worldedit.register_command("about", { + privs = {}, params = "", description = "Get information about the WorldEdit mod", - func = function(name, param) - worldedit.player_notify(name, "WorldEdit " .. worldedit.version_string .. " is available on this server. Type /help to get a list of commands, or get more information at https://github.com/Uberi/Minetest-WorldEdit/") + func = function(name) + worldedit.player_notify(name, "WorldEdit " .. worldedit.version_string.. + " is available on this server. Type //help to get a list of ".. + "commands, or get more information at ".. + "https://github.com/Uberi/Minetest-WorldEdit") end, }) -- mostly copied from builtin/chatcommands.lua with minor modifications -minetest.register_chatcommand("/help", { +worldedit.register_command("help", { privs = {}, params = "[all/]", description = "Get help for WorldEdit commands", + parse = function(param) + return true, param + end, func = function(name, param) - local function is_we_command(cmd) - return cmd:sub(0, 1) == "/" - end local function format_help_line(cmd, def) - local msg = minetest.colorize("#00ffff", "/"..cmd) + local msg = minetest.colorize("#00ffff", "//"..cmd) if def.params and def.params ~= "" then msg = msg .. " " .. def.params end @@ -140,9 +265,9 @@ minetest.register_chatcommand("/help", { if param == "" then local msg = "" local cmds = {} - for cmd, def in pairs(minetest.chatcommands) do - if is_we_command(cmd) and minetest.check_player_privs(name, def.privs) then - cmds[#cmds + 1] = cmd:sub(2) -- strip the / + for cmd, def in pairs(worldedit.registered_commands) do + if minetest.check_player_privs(name, def.privs) then + cmds[#cmds + 1] = cmd end end table.sort(cmds) @@ -151,34 +276,45 @@ minetest.register_chatcommand("/help", { .. " or '//help all' to list everything." elseif param == "all" then local cmds = {} - for cmd, def in pairs(minetest.chatcommands) do - if is_we_command(cmd) and minetest.check_player_privs(name, def.privs) then + for cmd, def in pairs(worldedit.registered_commands) do + if minetest.check_player_privs(name, def.privs) then cmds[#cmds + 1] = format_help_line(cmd, def) end end table.sort(cmds) return true, "Available commands:\n"..table.concat(cmds, "\n") else - return minetest.chatcommands["help"].func(name, "/" .. param) + local def = worldedit.registered_commands[param] + if not def then + return false, "Command not available: " .. param + else + return true, format_help_line(param, def) + end end end, }) -minetest.register_chatcommand("/inspect", { - params = "on/off/1/0/true/false/yes/no/enable/disable/", +worldedit.register_command("inspect", { + params = "[on/off/1/0/true/false/yes/no/enable/disable]", description = "Enable or disable node inspection", privs = {worldedit=true}, - func = function(name, param) + parse = function(param) if param == "on" or param == "1" or param == "true" or param == "yes" or param == "enable" or param == "" then + return true, true + elseif param == "off" or param == "0" or param == "false" or param == "no" or param == "disable" then + return true, false + end + return false + end, + func = function(name, enable) + if enable then worldedit.inspect[name] = true local axis, sign = worldedit.player_axis(name) worldedit.player_notify(name, string.format("inspector: inspection enabled for %s, currently facing the %s axis", name, axis .. (sign > 0 and "+" or "-"))) - elseif param == "off" or param == "0" or param == "false" or param == "no" or param == "disable" then + else worldedit.inspect[name] = nil worldedit.player_notify(name, "inspector: inspection disabled") - else - worldedit.player_notify(name, "invalid usage: " .. param) end end, }) @@ -209,15 +345,14 @@ minetest.register_on_punchnode(function(pos, node, puncher) end end) -minetest.register_chatcommand("/reset", { +worldedit.register_command("reset", { params = "", description = "Reset the region so that it is empty", privs = {worldedit=true}, - func = function(name, param) + func = function(name) worldedit.pos1[name] = nil worldedit.pos2[name] = nil - worldedit.mark_pos1(name) - worldedit.mark_pos2(name) + worldedit.marker_update(name) worldedit.set_pos[name] = nil --make sure the user does not try to confirm an operation after resetting pos: reset_pending(name) @@ -225,39 +360,37 @@ minetest.register_chatcommand("/reset", { end, }) -minetest.register_chatcommand("/mark", { +worldedit.register_command("mark", { params = "", description = "Show markers at the region positions", privs = {worldedit=true}, - func = function(name, param) - worldedit.mark_pos1(name) - worldedit.mark_pos2(name) + func = function(name) + worldedit.marker_update(name) worldedit.player_notify(name, "region marked") end, }) -minetest.register_chatcommand("/unmark", { +worldedit.register_command("unmark", { params = "", description = "Hide markers if currently shown", privs = {worldedit=true}, - func = function(name, param) + func = function(name) local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] worldedit.pos1[name] = nil worldedit.pos2[name] = nil - worldedit.mark_pos1(name) - worldedit.mark_pos2(name) + worldedit.marker_update(name) worldedit.pos1[name] = pos1 worldedit.pos2[name] = pos2 worldedit.player_notify(name, "region unmarked") end, }) -minetest.register_chatcommand("/pos1", { +worldedit.register_command("pos1", { params = "", description = "Set WorldEdit region position 1 to the player's location", privs = {worldedit=true}, - func = function(name, param) - local pos = minetest.get_player_by_name(name):getpos() + func = function(name) + local pos = minetest.get_player_by_name(name):get_pos() pos.x, pos.y, pos.z = math.floor(pos.x + 0.5), math.floor(pos.y + 0.5), math.floor(pos.z + 0.5) worldedit.pos1[name] = pos worldedit.mark_pos1(name) @@ -265,12 +398,12 @@ minetest.register_chatcommand("/pos1", { end, }) -minetest.register_chatcommand("/pos2", { +worldedit.register_command("pos2", { params = "", description = "Set WorldEdit region position 2 to the player's location", privs = {worldedit=true}, - func = function(name, param) - local pos = minetest.get_player_by_name(name):getpos() + func = function(name) + local pos = minetest.get_player_by_name(name):get_pos() pos.x, pos.y, pos.z = math.floor(pos.x + 0.5), math.floor(pos.y + 0.5), math.floor(pos.z + 0.5) worldedit.pos2[name] = pos worldedit.mark_pos2(name) @@ -278,10 +411,16 @@ minetest.register_chatcommand("/pos2", { end, }) -minetest.register_chatcommand("/p", { +worldedit.register_command("p", { params = "set/set1/set2/get", description = "Set WorldEdit region, WorldEdit position 1, or WorldEdit position 2 by punching nodes, or display the current WorldEdit region", privs = {worldedit=true}, + parse = function(param) + if param == "set" or param == "set1" or param == "set2" or param == "get" then + return true, param + end + return false, "unknown subcommand: " .. param + end, func = function(name, param) if param == "set" then --set both WorldEdit positions worldedit.set_pos[name] = "pos1" @@ -303,23 +442,22 @@ minetest.register_chatcommand("/p", { else worldedit.player_notify(name, "position 2 not set") end - else - worldedit.player_notify(name, "unknown subcommand: " .. param) end end, }) -minetest.register_chatcommand("/fixedpos", { - params = "set1/set2 x y z", +worldedit.register_command("fixedpos", { + params = "set1/set2 ", description = "Set a WorldEdit region position to the position at (, , )", privs = {worldedit=true}, - func = function(name, param) + parse = function(param) local found, _, flag, x, y, z = param:find("^(set[12])%s+([+-]?%d+)%s+([+-]?%d+)%s+([+-]?%d+)$") if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return + return false end - local pos = {x=tonumber(x), y=tonumber(y), z=tonumber(z)} + return true, flag, {x=tonumber(x), y=tonumber(y), z=tonumber(z)} + end, + func = function(name, flag, pos) if flag == "set1" then worldedit.pos1[name] = pos worldedit.mark_pos1(name) @@ -357,16 +495,13 @@ minetest.register_on_punchnode(function(pos, node, puncher) end end) -minetest.register_chatcommand("/volume", { +worldedit.register_command("volume", { params = "", description = "Display the volume of the current WorldEdit region", privs = {worldedit=true}, - func = function(name, param) + require_pos = 2, + func = function(name) local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] - if pos1 == nil or pos2 == nil then - worldedit.player_notify(name, "no region selected") - return nil - end local volume = worldedit.volume(pos1, pos2) local abs = math.abs @@ -377,11 +512,13 @@ minetest.register_chatcommand("/volume", { end, }) -minetest.register_chatcommand("/deleteblocks", { +worldedit.register_command("deleteblocks", { params = "", description = "remove all MapBlocks (16x16x16) containing the selected area from the map", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + nodes_needed = check_region, + func = function(name) local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] local success = minetest.delete_area(pos1, pos2) if success then @@ -389,46 +526,55 @@ minetest.register_chatcommand("/deleteblocks", { else worldedit.player_notify(name, "There was an error during deletion of the area.") end - end), + end, }) -minetest.register_chatcommand("/set", { +worldedit.register_command("set", { params = "", description = "Set the current WorldEdit region to ", privs = {worldedit=true}, - func = safe_region(function(name, param) - local node = get_node(name, param) - if not node then return end - + require_pos = 2, + parse = function(param) + local node = worldedit.normalize_nodename(param) + if not node then + return false, "invalid node name: " .. param + end + return true, node + end, + nodes_needed = check_region, + func = function(name, node) local count = worldedit.set(worldedit.pos1[name], worldedit.pos2[name], node) worldedit.player_notify(name, count .. " nodes set") - end, check_region), + end, }) -minetest.register_chatcommand("/param2", { +worldedit.register_command("param2", { params = "", description = "Set param2 of all nodes in the current WorldEdit region to ", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + parse = function(param) local param2 = tonumber(param) if not param2 then - worldedit.player_notify(name, "Invalid or missing param2 argument") - return + return false elseif param2 < 0 or param2 > 255 then - worldedit.player_notify(name, "Param2 is out of range (must be between 0 and 255 inclusive)!") - return + return false, "Param2 is out of range (must be between 0 and 255 inclusive!)" end - + return true, param2 + end, + nodes_needed = check_region, + func = function(name, param2) local count = worldedit.set_param2(worldedit.pos1[name], worldedit.pos2[name], param2) worldedit.player_notify(name, count .. " nodes altered") - end, check_region), + end, }) -minetest.register_chatcommand("/mix", { - params = " [] [ []] ...", +worldedit.register_command("mix", { + params = " [count1] [count2] ...", description = "Fill the current WorldEdit region with a random mix of , ...", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + parse = function(param) local nodes = {} for nodename in param:gmatch("[^%s]+") do if tonumber(nodename) ~= nil and #nodes > 0 then @@ -437,187 +583,197 @@ minetest.register_chatcommand("/mix", { nodes[#nodes + 1] = last_node end else - local node = get_node(name, nodename) - if not node then return end + local node = worldedit.normalize_nodename(nodename) + if not node then + return false, "invalid node name: " .. nodename + end nodes[#nodes + 1] = node end end - + if #nodes == 0 then + return false + end + return true, nodes + end, + nodes_needed = check_region, + func = function(name, nodes) local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] local count = worldedit.set(pos1, pos2, nodes) worldedit.player_notify(name, count .. " nodes set") - end, check_region), + end, }) -local check_replace = function(name, param) +local check_replace = function(param) local found, _, searchnode, replacenode = param:find("^([^%s]+)%s+(.+)$") if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil + return false end local newsearchnode = worldedit.normalize_nodename(searchnode) if not newsearchnode then - worldedit.player_notify(name, "invalid search node name: " .. searchnode) - return nil + return false, "invalid search node name: " .. searchnode end local newreplacenode = worldedit.normalize_nodename(replacenode) if not newreplacenode then - worldedit.player_notify(name, "invalid replace node name: " .. replacenode) - return nil + return false, "invalid replace node name: " .. replacenode end - return check_region(name, param) + return true, newsearchnode, newreplacenode end -minetest.register_chatcommand("/replace", { +worldedit.register_command("replace", { params = " ", description = "Replace all instances of with in the current WorldEdit region", privs = {worldedit=true}, - func = safe_region(function(name, param) - local found, _, search_node, replace_node = param:find("^([^%s]+)%s+(.+)$") - local norm_search_node = worldedit.normalize_nodename(search_node) - local norm_replace_node = worldedit.normalize_nodename(replace_node) + require_pos = 2, + parse = check_replace, + nodes_needed = check_region, + func = function(name, search_node, replace_node) local count = worldedit.replace(worldedit.pos1[name], worldedit.pos2[name], - norm_search_node, norm_replace_node) + search_node, replace_node) worldedit.player_notify(name, count .. " nodes replaced") - end, check_replace), + end, }) -minetest.register_chatcommand("/replaceinverse", { +worldedit.register_command("replaceinverse", { params = " ", description = "Replace all nodes other than with in the current WorldEdit region", privs = {worldedit=true}, - func = safe_region(function(name, param) - local found, _, search_node, replace_node = param:find("^([^%s]+)%s+(.+)$") - local norm_search_node = worldedit.normalize_nodename(search_node) - local norm_replace_node = worldedit.normalize_nodename(replace_node) + require_pos = 2, + parse = check_replace, + nodes_needed = check_region, + func = function(name, search_node, replace_node) local count = worldedit.replace(worldedit.pos1[name], worldedit.pos2[name], - norm_search_node, norm_replace_node, true) + search_node, replace_node, true) worldedit.player_notify(name, count .. " nodes replaced") - end, check_replace), + end, }) -local check_cube = function(name, param) - if worldedit.pos1[name] == nil then - worldedit.player_notify(name, "no position 1 selected") - return nil - end +local check_cube = function(param) local found, _, w, h, l, nodename = param:find("^(%d+)%s+(%d+)%s+(%d+)%s+(.+)$") if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil + return false end - local node = get_node(name, nodename) - if not node then return nil end - return tonumber(w) * tonumber(h) * tonumber(l) + local node = worldedit.normalize_nodename(nodename) + if not node then + return false, "invalid node name: " .. nodename + end + return true, tonumber(w), tonumber(h), tonumber(l), node end -minetest.register_chatcommand("/hollowcube", { +worldedit.register_command("hollowcube", { params = " ", description = "Add a hollow cube with its ground level centered at WorldEdit position 1 with dimensions x x , composed of .", privs = {worldedit=true}, - func = safe_region(function(name, param) - local found, _, w, h, l, nodename = param:find("^(%d+)%s+(%d+)%s+(%d+)%s+(.+)$") - local node = get_node(name, nodename) - local count = worldedit.cube(worldedit.pos1[name], tonumber(w), tonumber(h), tonumber(l), node, true) + require_pos = 1, + parse = check_cube, + nodes_needed = function(name, w, h, l, node) + return w * h * l + end, + func = function(name, w, h, l, node) + local count = worldedit.cube(worldedit.pos1[name], w, h, l, node, true) worldedit.player_notify(name, count .. " nodes added") - end, check_cube), + end, }) -minetest.register_chatcommand("/cube", { +worldedit.register_command("cube", { params = " ", description = "Add a cube with its ground level centered at WorldEdit position 1 with dimensions x x , composed of .", privs = {worldedit=true}, - func = safe_region(function(name, param) - local found, _, w, h, l, nodename = param:find("^(%d+)%s+(%d+)%s+(%d+)%s+(.+)$") - local node = get_node(name, nodename) - local count = worldedit.cube(worldedit.pos1[name], tonumber(w), tonumber(h), tonumber(l), node) + require_pos = 1, + parse = check_cube, + nodes_needed = function(name, w, h, l, node) + return w * h * l + end, + func = function(name, w, h, l, node) + local count = worldedit.cube(worldedit.pos1[name], w, h, l, node) worldedit.player_notify(name, count .. " nodes added") - end, check_cube), + end, }) -local check_sphere = function(name, param) - if worldedit.pos1[name] == nil then - worldedit.player_notify(name, "no position 1 selected") - return nil - end +local check_sphere = function(param) local found, _, radius, nodename = param:find("^(%d+)%s+(.+)$") if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil + return false end - local node = get_node(name, nodename) - if not node then return nil end - return math.ceil((4 * math.pi * (tonumber(radius) ^ 3)) / 3) --volume of sphere + local node = worldedit.normalize_nodename(nodename) + if not node then + return false, "invalid node name: " .. nodename + end + return true, tonumber(radius), node end -minetest.register_chatcommand("/hollowsphere", { +worldedit.register_command("hollowsphere", { params = " ", description = "Add hollow sphere centered at WorldEdit position 1 with radius , composed of ", privs = {worldedit=true}, - func = safe_region(function(name, param) - local found, _, radius, nodename = param:find("^(%d+)%s+(.+)$") - local node = get_node(name, nodename) - local count = worldedit.sphere(worldedit.pos1[name], tonumber(radius), node, true) + require_pos = 1, + parse = check_sphere, + nodes_needed = function(name, radius, node) + return math.ceil((4 * math.pi * (radius ^ 3)) / 3) --volume of sphere + end, + func = function(name, radius, node) + local count = worldedit.sphere(worldedit.pos1[name], radius, node, true) worldedit.player_notify(name, count .. " nodes added") - end, check_sphere), + end, }) -minetest.register_chatcommand("/sphere", { +worldedit.register_command("sphere", { params = " ", description = "Add sphere centered at WorldEdit position 1 with radius , composed of ", privs = {worldedit=true}, - func = safe_region(function(name, param) - local found, _, radius, nodename = param:find("^(%d+)%s+(.+)$") - local node = get_node(name, nodename) - local count = worldedit.sphere(worldedit.pos1[name], tonumber(radius), node) + require_pos = 1, + parse = check_sphere, + nodes_needed = function(name, radius, node) + return math.ceil((4 * math.pi * (radius ^ 3)) / 3) --volume of sphere + end, + func = function(name, radius, node) + local count = worldedit.sphere(worldedit.pos1[name], radius, node) worldedit.player_notify(name, count .. " nodes added") - end, check_sphere), + end, }) -local check_dome = function(name, param) - if worldedit.pos1[name] == nil then - worldedit.player_notify(name, "no position 1 selected") - return nil - end +local check_dome = function(param) local found, _, radius, nodename = param:find("^(%d+)%s+(.+)$") if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil + return false end - local node = get_node(name, nodename) - if not node then return nil end - return math.ceil((2 * math.pi * (tonumber(radius) ^ 3)) / 3) --volume of dome + local node = worldedit.normalize_nodename(nodename) + if not node then + return false, "invalid node name: " .. nodename + end + return true, tonumber(radius), node end -minetest.register_chatcommand("/hollowdome", { +worldedit.register_command("hollowdome", { params = " ", description = "Add hollow dome centered at WorldEdit position 1 with radius , composed of ", privs = {worldedit=true}, - func = safe_region(function(name, param) - local found, _, radius, nodename = param:find("^(%d+)%s+(.+)$") - local node = get_node(name, nodename) - local count = worldedit.dome(worldedit.pos1[name], tonumber(radius), node, true) + require_pos = 1, + parse = check_dome, + nodes_needed = function(name, radius, node) + return math.ceil((2 * math.pi * (radius ^ 3)) / 3) --volume of dome + end, + func = function(name, radius, node) + local count = worldedit.dome(worldedit.pos1[name], radius, node, true) worldedit.player_notify(name, count .. " nodes added") - end, check_dome), + end, }) -minetest.register_chatcommand("/dome", { +worldedit.register_command("dome", { params = " ", description = "Add dome centered at WorldEdit position 1 with radius , composed of ", privs = {worldedit=true}, - func = safe_region(function(name, param) - local found, _, radius, nodename = param:find("^(%d+)%s+(.+)$") - local node = get_node(name, nodename) - local count = worldedit.dome(worldedit.pos1[name], tonumber(radius), node) + require_pos = 1, + parse = check_dome, + nodes_needed = function(name, radius, node) + return math.ceil((2 * math.pi * (radius ^ 3)) / 3) --volume of dome + end, + func = function(name, radius, node) + local count = worldedit.dome(worldedit.pos1[name], radius, node) worldedit.player_notify(name, count .. " nodes added") - end, check_dome), + end, }) -local check_cylinder = function(name, param) - if worldedit.pos1[name] == nil then - worldedit.player_notify(name, "no position 1 selected") - return nil - end +local check_cylinder = function(param) -- two radii local found, _, axis, length, radius1, radius2, nodename = param:find("^([xyz%?])%s+([+-]?%d+)%s+(%d+)%s+(%d+)%s+(.+)$") if found == nil then @@ -626,152 +782,150 @@ local check_cylinder = function(name, param) radius2 = radius1 end if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil + return false end - local node = get_node(name, nodename) - if not node then return nil end - local radius = math.max(tonumber(radius1), tonumber(radius2)) - return math.ceil(math.pi * (radius ^ 2) * tonumber(length)) + local node = worldedit.normalize_nodename(nodename) + if not node then + return false, "invalid node name: " .. nodename + end + return true, axis, tonumber(length), tonumber(radius1), tonumber(radius2), node end -minetest.register_chatcommand("/hollowcylinder", { +worldedit.register_command("hollowcylinder", { params = "x/y/z/? [radius2] ", - description = "Add hollow cylinder at WorldEdit position 1 along the x/y/z/? axis with length , base radius (and top radius [radius2]), composed of ", + description = "Add hollow cylinder at WorldEdit position 1 along the given axis with length , base radius (and top radius [radius2]), composed of ", privs = {worldedit=true}, - func = safe_region(function(name, param) - -- two radii - local found, _, axis, length, radius1, radius2, nodename = param:find("^([xyz%?])%s+([+-]?%d+)%s+(%d+)%s+(%d+)%s+(.+)$") - if found == nil then - -- single radius - found, _, axis, length, radius1, nodename = param:find("^([xyz%?])%s+([+-]?%d+)%s+(%d+)%s+(.+)$") - radius2 = radius1 - end - length = tonumber(length) + require_pos = 1, + parse = check_cylinder, + nodes_needed = function(name, axis, length, radius1, radius2, node) + local radius = math.max(radius1, radius2) + return math.ceil(math.pi * (radius ^ 2) * length) + end, + func = function(name, axis, length, radius1, radius2, node) if axis == "?" then local sign axis, sign = worldedit.player_axis(name) length = length * sign end - local node = get_node(name, nodename) - local count = worldedit.cylinder(worldedit.pos1[name], axis, length, tonumber(radius1), tonumber(radius2), node, true) + local count = worldedit.cylinder(worldedit.pos1[name], axis, length, radius1, radius2, node, true) worldedit.player_notify(name, count .. " nodes added") - end, check_cylinder), + end, }) -minetest.register_chatcommand("/cylinder", { +worldedit.register_command("cylinder", { params = "x/y/z/? [radius2] ", - description = "Add cylinder at WorldEdit position 1 along the x/y/z/? axis with length , base radius (and top radius [radius2]), composed of ", + description = "Add cylinder at WorldEdit position 1 along the given axis with length , base radius (and top radius [radius2]), composed of ", privs = {worldedit=true}, - func = safe_region(function(name, param) - -- two radii - local found, _, axis, length, radius1, radius2, nodename = param:find("^([xyz%?])%s+([+-]?%d+)%s+(%d+)%s+(%d+)%s+(.+)$") - if found == nil then - -- single radius - found, _, axis, length, radius1, nodename = param:find("^([xyz%?])%s+([+-]?%d+)%s+(%d+)%s+(.+)$") - radius2 = radius1 - end - length = tonumber(length) + require_pos = 1, + parse = check_cylinder, + nodes_needed = function(name, axis, length, radius1, radius2, node) + local radius = math.max(radius1, radius2) + return math.ceil(math.pi * (radius ^ 2) * length) + end, + func = function(name, axis, length, radius1, radius2, node) if axis == "?" then local sign axis, sign = worldedit.player_axis(name) length = length * sign end - local node = get_node(name, nodename) - local count = worldedit.cylinder(worldedit.pos1[name], axis, length, tonumber(radius1), tonumber(radius2), node) + local count = worldedit.cylinder(worldedit.pos1[name], axis, length, radius1, radius2, node) worldedit.player_notify(name, count .. " nodes added") - end, check_cylinder), + end, }) -local check_pyramid = function(name, param) - if worldedit.pos1[name] == nil then - worldedit.player_notify(name, "no position 1 selected") - return nil - end +local check_pyramid = function(param) local found, _, axis, height, nodename = param:find("^([xyz%?])%s+([+-]?%d+)%s+(.+)$") if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil + return false end - local node = get_node(name, nodename) - if not node then return nil end - height = tonumber(height) - return math.ceil(((height * 2 + 1) ^ 2) * height / 3) + local node = worldedit.normalize_nodename(nodename) + if not node then + return false, "invalid node name: " .. nodename + end + return true, axis, tonumber(height), node end -minetest.register_chatcommand("/hollowpyramid", { +worldedit.register_command("hollowpyramid", { params = "x/y/z/? ", - description = "Add hollow pyramid centered at WorldEdit position 1 along the x/y/z/? axis with height , composed of ", + description = "Add hollow pyramid centered at WorldEdit position 1 along the given axis with height , composed of ", privs = {worldedit=true}, - func = safe_region(function(name, param) - local found, _, axis, height, nodename = param:find("^([xyz%?])%s+([+-]?%d+)%s+(.+)$") - height = tonumber(height) + require_pos = 1, + parse = check_pyramid, + nodes_needed = function(name, axis, height, node) + return math.ceil(((height * 2 + 1) ^ 2) * height / 3) + end, + func = function(name, axis, height, node) if axis == "?" then local sign axis, sign = worldedit.player_axis(name) height = height * sign end - local node = get_node(name, nodename) local count = worldedit.pyramid(worldedit.pos1[name], axis, height, node, true) worldedit.player_notify(name, count .. " nodes added") - end, check_pyramid), + end, }) -minetest.register_chatcommand("/pyramid", { +worldedit.register_command("pyramid", { params = "x/y/z/? ", - description = "Add pyramid centered at WorldEdit position 1 along the x/y/z/? axis with height , composed of ", + description = "Add pyramid centered at WorldEdit position 1 along the given axis with height , composed of ", privs = {worldedit=true}, - func = safe_region(function(name, param) - local found, _, axis, height, nodename = param:find("^([xyz%?])%s+([+-]?%d+)%s+(.+)$") - height = tonumber(height) + require_pos = 1, + parse = check_pyramid, + nodes_needed = function(name, axis, height, node) + return math.ceil(((height * 2 + 1) ^ 2) * height / 3) + end, + func = function(name, axis, height, node) if axis == "?" then local sign axis, sign = worldedit.player_axis(name) height = height * sign end - local node = get_node(name, nodename) local count = worldedit.pyramid(worldedit.pos1[name], axis, height, node) worldedit.player_notify(name, count .. " nodes added") - end, check_pyramid), + end, }) -minetest.register_chatcommand("/spiral", { +worldedit.register_command("spiral", { params = " ", description = "Add spiral centered at WorldEdit position 1 with side length , height , space between walls , composed of ", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 1, + parse = function(param) local found, _, length, height, space, nodename = param:find("^(%d+)%s+(%d+)%s+(%d+)%s+(.+)$") - local node = get_node(name, nodename) - local count = worldedit.spiral(worldedit.pos1[name], tonumber(length), tonumber(height), tonumber(space), node) + if found == nil then + return false + end + local node = worldedit.normalize_nodename(nodename) + if not node then + return false, "invalid node name: " .. nodename + end + return true, tonumber(length), tonumber(height), tonumber(space), node + end, + nodes_needed = function(name, length, height, space, node) + return (length + space) * height -- TODO: this is not the upper bound + end, + func = function(name, length, height, space, node) + local count = worldedit.spiral(worldedit.pos1[name], length, height, space, node) worldedit.player_notify(name, count .. " nodes added") end, - function(name, param) - if worldedit.pos1[name] == nil then - worldedit.player_notify(name, "no position 1 selected") - return nil - end - local found, _, length, height, space, nodename = param:find("^(%d+)%s+(%d+)%s+(%d+)%s+(.+)$") - if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil - end - local node = get_node(name, nodename) - if not node then return nil end - return 1 -- TODO: return an useful value - end), }) -minetest.register_chatcommand("/copy", { +worldedit.register_command("copy", { params = "x/y/z/? ", - description = "Copy the current WorldEdit region along the x/y/z/? axis by nodes", + description = "Copy the current WorldEdit region along the given axis by nodes", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + parse = function(param) local found, _, axis, amount = param:find("^([xyz%?])%s+([+-]?%d+)$") if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return + return false end - amount = tonumber(amount) + return true, axis, tonumber(amount) + end, + nodes_needed = function(name, axis, amount) + return check_region(name) * 2 + end, + func = function(name, axis, amount) if axis == "?" then local sign axis, sign = worldedit.player_axis(name) @@ -781,147 +935,149 @@ minetest.register_chatcommand("/copy", { local count = worldedit.copy(worldedit.pos1[name], worldedit.pos2[name], axis, amount) worldedit.player_notify(name, count .. " nodes copied") end, - function(name, param) - local volume = check_region(name, param) - return volume and volume * 2 or volume - end), }) -minetest.register_chatcommand("/move", { +worldedit.register_command("move", { params = "x/y/z/? ", - description = "Move the current WorldEdit region along the x/y/z/? axis by nodes", + description = "Move the current WorldEdit region along the given axis by nodes", privs = {worldedit=true}, - func = safe_region(function(name, param) - local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + require_pos = 2, + parse = function(param) local found, _, axis, amount = param:find("^([xyz%?])%s+([+-]?%d+)$") if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return + return false end - amount = tonumber(amount) + return true, axis, tonumber(amount) + end, + nodes_needed = function(name, axis, amount) + return check_region(name) * 2 + end, + func = function(name, axis, amount) if axis == "?" then local sign axis, sign = worldedit.player_axis(name) amount = amount * sign end + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] local count = worldedit.move(pos1, pos2, axis, amount) pos1[axis] = pos1[axis] + amount pos2[axis] = pos2[axis] + amount - worldedit.mark_pos1(name) - worldedit.mark_pos2(name) + worldedit.marker_update(name) worldedit.player_notify(name, count .. " nodes moved") - end, check_region), + end, }) -minetest.register_chatcommand("/stack", { +worldedit.register_command("stack", { params = "x/y/z/? ", - description = "Stack the current WorldEdit region along the x/y/z/? axis times", + description = "Stack the current WorldEdit region along the given axis times", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + parse = function(param) local found, _, axis, repetitions = param:find("^([xyz%?])%s+([+-]?%d+)$") - repetitions = tonumber(repetitions) + if found == nil then + return false + end + return true, axis, tonumber(repetitions) + end, + nodes_needed = function(name, axis, repetitions) + return check_region(name) * math.abs(repetitions) + end, + func = function(name, axis, repetitions) if axis == "?" then local sign axis, sign = worldedit.player_axis(name) repetitions = repetitions * sign end - local count = worldedit.stack(worldedit.pos1[name], worldedit.pos2[name], axis, repetitions) - worldedit.player_notify(name, count .. " nodes stacked") + + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + local count = worldedit.volume(pos1, pos2) * math.abs(repetitions) + worldedit.stack(pos1, pos2, axis, repetitions, function() + worldedit.player_notify(name, count .. " nodes stacked") + end) end, - function(name, param) - local found, _, axis, repetitions = param:find("^([xyz%?])%s+([+-]?%d+)$") - if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return - end - local count = check_region(name, param) - if count then return (tonumber(repetitions) + 1) * count end - return nil - end), }) -minetest.register_chatcommand("/stack2", { +worldedit.register_command("stack2", { params = " ", description = "Stack the current WorldEdit region times by offset , , ", privs = {worldedit=true}, - func = function(name, param) - local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] - if pos1 == nil or pos2 == nil then - worldedit.player_notify(name, "Select a position first!") - return - end + require_pos = 2, + parse = function(param) local repetitions, incs = param:match("(%d+)%s*(.+)") if repetitions == nil then - worldedit.player_notify(name, "invalid count: " .. param) - return + return false, "invalid count: " .. param end - repetitions = tonumber(repetitions) - local x, y, z = incs:match("([+-]?%d+) ([+-]?%d+) ([+-]?%d+)") if x == nil then - worldedit.player_notify(name, "invalid increments: " .. param) - return + return false, "invalid increments: " .. param end - x, y, z = tonumber(x), tonumber(y), tonumber(z) + return true, tonumber(repetitions), {x=tonumber(x), y=tonumber(y), z=tonumber(z)} + end, + nodes_needed = function(name, repetitions, offset) + return check_region(name) * repetitions + end, + func = function(name, repetitions, offset) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] local count = worldedit.volume(pos1, pos2) * repetitions - - return safe_region(function() - worldedit.stack2(pos1, pos2, {x=x, y=y, z=z}, repetitions, - function() worldedit.player_notify(name, count .. " nodes stacked") end) - end, function() - return count - end)(name,param) -- more hax --wip: clean this up a little bit - end + worldedit.stack2(pos1, pos2, offset, repetitions, function() + worldedit.player_notify(name, count .. " nodes stacked") + end) + end, }) -minetest.register_chatcommand("/stretch", { +worldedit.register_command("stretch", { params = " ", description = "Scale the current WorldEdit positions and region by a factor of , , along the X, Y, and Z axes, repectively, with position 1 as the origin", privs = {worldedit=true}, - func = safe_region(function(name, param) - local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + require_pos = 2, + parse = function(param) local found, _, stretchx, stretchy, stretchz = param:find("^(%d+)%s+(%d+)%s+(%d+)$") + if found == nil then + return false + end stretchx, stretchy, stretchz = tonumber(stretchx), tonumber(stretchy), tonumber(stretchz) + if stretchx == 0 or stretchy == 0 or stretchz == 0 then + return false, "invalid scaling factors: " .. param + end + return true, stretchx, stretchy, stretchz + end, + nodes_needed = function(name, stretchx, stretchy, stretchz) + return check_region(name) * stretchx * stretchy * stretchz + end, + func = function(name, stretchx, stretchy, stretchz) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] local count, pos1, pos2 = worldedit.stretch(pos1, pos2, stretchx, stretchy, stretchz) --reset markers to scaled positions worldedit.pos1[name] = pos1 worldedit.pos2[name] = pos2 - worldedit.mark_pos1(name) - worldedit.mark_pos2(name) + worldedit.marker_update(name) worldedit.player_notify(name, count .. " nodes stretched") end, - function(name, param) - local found, _, stretchx, stretchy, stretchz = param:find("^(%d+)%s+(%d+)%s+(%d+)$") - if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil - end - stretchx, stretchy, stretchz = tonumber(stretchx), tonumber(stretchy), tonumber(stretchz) - if stretchx == 0 or stretchy == 0 or stretchz == 0 then - worldedit.player_notify(name, "invalid scaling factors: " .. param) - return nil - end - local count = check_region(name, param) - if count then - return stretchx * stretchy * stretchz * count - end - return nil - end), }) -minetest.register_chatcommand("/transpose", { +worldedit.register_command("transpose", { params = "x/y/z/? x/y/z/?", - description = "Transpose the current WorldEdit region along the x/y/z/? and x/y/z/? axes", + description = "Transpose the current WorldEdit region along the given axes", privs = {worldedit=true}, - func = safe_region(function(name, param) - local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + require_pos = 2, + parse = function(param) local found, _, axis1, axis2 = param:find("^([xyz%?])%s+([xyz%?])$") + if found == nil then + return false + elseif axis1 == axis2 then + return false, "invalid usage: axes must be different" + end + return true, axis1, axis2 + end, + nodes_needed = check_region, + func = function(name, axis1, axis2) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] if axis1 == "?" then axis1 = worldedit.player_axis(name) end if axis2 == "?" then axis2 = worldedit.player_axis(name) end local count, pos1, pos2 = worldedit.transpose(pos1, pos2, axis1, axis2) @@ -929,113 +1085,104 @@ minetest.register_chatcommand("/transpose", { --reset markers to transposed positions worldedit.pos1[name] = pos1 worldedit.pos2[name] = pos2 - worldedit.mark_pos1(name) - worldedit.mark_pos2(name) + worldedit.marker_update(name) worldedit.player_notify(name, count .. " nodes transposed") end, - function(name, param) - local found, _, axis1, axis2 = param:find("^([xyz%?])%s+([xyz%?])$") - if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil - end - if axis1 == axis2 then - worldedit.player_notify(name, "invalid usage: axes must be different") - return nil - end - return check_region(name, param) - end), }) -minetest.register_chatcommand("/flip", { +worldedit.register_command("flip", { params = "x/y/z/?", - description = "Flip the current WorldEdit region along the x/y/z/? axis", + description = "Flip the current WorldEdit region along the given axis", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + parse = function(param) + if param ~= "x" and param ~= "y" and param ~= "z" and param ~= "?" then + return false + end + return true, param + end, + nodes_needed = check_region, + func = function(name, param) if param == "?" then param = worldedit.player_axis(name) end local count = worldedit.flip(worldedit.pos1[name], worldedit.pos2[name], param) worldedit.player_notify(name, count .. " nodes flipped") end, - function(name, param) - if param ~= "x" and param ~= "y" and param ~= "z" and param ~= "?" then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil - end - return check_region(name, param) - end), }) -minetest.register_chatcommand("/rotate", { - params = " ", - description = "Rotate the current WorldEdit region around the axis by angle (90 degree increment)", +worldedit.register_command("rotate", { + params = "x/y/z/? ", + description = "Rotate the current WorldEdit region around the given axis by angle (90 degree increment)", privs = {worldedit=true}, - func = safe_region(function(name, param) - local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] + require_pos = 2, + parse = function(param) local found, _, axis, angle = param:find("^([xyz%?])%s+([+-]?%d+)$") + if found == nil then + return false + end + angle = tonumber(angle) + if angle % 90 ~= 0 or angle % 360 == 0 then + return false, "invalid usage: angle must be multiple of 90" + end + return true, axis, angle + end, + nodes_needed = check_region, + func = function(name, axis, angle) + local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] if axis == "?" then axis = worldedit.player_axis(name) end local count, pos1, pos2 = worldedit.rotate(pos1, pos2, axis, angle) --reset markers to rotated positions worldedit.pos1[name] = pos1 worldedit.pos2[name] = pos2 - worldedit.mark_pos1(name) - worldedit.mark_pos2(name) + worldedit.marker_update(name) worldedit.player_notify(name, count .. " nodes rotated") end, - function(name, param) - local found, _, axis, angle = param:find("^([xyz%?])%s+([+-]?%d+)$") - if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil - end - if angle % 90 ~= 0 then - worldedit.player_notify(name, "invalid usage: angle must be multiple of 90") - return nil - end - return check_region(name, param) - end), }) -minetest.register_chatcommand("/orient", { +worldedit.register_command("orient", { params = "", description = "Rotate oriented nodes in the current WorldEdit region around the Y axis by angle (90 degree increment)", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + parse = function(param) local found, _, angle = param:find("^([+-]?%d+)$") + if found == nil then + return false + end + angle = tonumber(angle) + if angle % 90 ~= 0 then + return false, "invalid usage: angle must be multiple of 90" + end + return true, angle + end, + nodes_needed = check_region, + func = function(name, angle) local count = worldedit.orient(worldedit.pos1[name], worldedit.pos2[name], angle) worldedit.player_notify(name, count .. " nodes oriented") end, - function(name, param) - local found, _, angle = param:find("^([+-]?%d+)$") - if found == nil then - worldedit.player_notify(name, "invalid usage: " .. param) - return nil - end - if angle % 90 ~= 0 then - worldedit.player_notify(name, "invalid usage: angle must be multiple of 90") - return nil - end - return check_region(name, param) - end), }) -minetest.register_chatcommand("/fixlight", { +worldedit.register_command("fixlight", { params = "", description = "Fix the lighting in the current WorldEdit region", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + nodes_needed = check_region, + func = function(name) local count = worldedit.fixlight(worldedit.pos1[name], worldedit.pos2[name]) worldedit.player_notify(name, count .. " nodes updated") - end), + end, }) -minetest.register_chatcommand("/drain", { +worldedit.register_command("drain", { params = "", description = "Remove any fluid node within the current WorldEdit region", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + nodes_needed = check_region, + func = function(name) -- TODO: make an API function for this local count = 0 local pos1, pos2 = worldedit.sort_pos(worldedit.pos1[name], worldedit.pos2[name]) @@ -1052,70 +1199,190 @@ minetest.register_chatcommand("/drain", { end end worldedit.player_notify(name, count .. " nodes updated") - end), + end, }) -minetest.register_chatcommand("/hide", { +local clearcut_cache + +local function clearcut(pos1, pos2) + -- decide which nodes we consider plants + if clearcut_cache == nil then + clearcut_cache = {} + for name, def in pairs(minetest.registered_nodes) do + local groups = def.groups or {} + if ( + -- the groups say so + groups.flower or groups.grass or groups.flora or groups.plant or + groups.leaves or groups.tree or groups.leafdecay or groups.sapling or + -- drawtype heuristic + (def.is_ground_content and def.buildable_to and + (def.sunlight_propagates or not def.walkable) + and def.drawtype == "plantlike") or + -- if it's flammable, it probably needs to go too + (def.is_ground_content and not def.walkable and groups.flammable) + ) then + clearcut_cache[name] = true + end + end + end + local plants = clearcut_cache + + local count = 0 + local prev, any + + for x = pos1.x, pos2.x do + for z = pos1.z, pos2.z do + prev = false + any = false + -- first pass: remove floating nodes that would be left over + for y = pos1.y, pos2.y do + local n = minetest.get_node({x=x, y=y, z=z}).name + if plants[n] then + prev = true + any = true + elseif prev then + local def = minetest.registered_nodes[n] or {} + local groups = def.groups or {} + if groups.attached_node or (def.buildable_to and groups.falling_node) then + minetest.remove_node({x=x, y=y, z=z}) + count = count + 1 + else + prev = false + end + end + end + + -- second pass: remove plants, top-to-bottom to avoid item drops + if any then + for y = pos2.y, pos1.y, -1 do + local n = minetest.get_node({x=x, y=y, z=z}).name + if plants[n] then + minetest.remove_node({x=x, y=y, z=z}) + count = count + 1 + end + end + end + end + end + + return count +end + +worldedit.register_command("clearcut", { + params = "", + description = "Remove any plant, tree or foilage-like nodes in the selected region", + privs = {worldedit=true}, + require_pos = 2, + nodes_needed = check_region, + func = function(name) + local pos1, pos2 = worldedit.sort_pos(worldedit.pos1[name], worldedit.pos2[name]) + local count = clearcut(pos1, pos2) + worldedit.player_notify(name, count .. " nodes removed") + end, +}) + +worldedit.register_command("hide", { params = "", description = "Hide all nodes in the current WorldEdit region non-destructively", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + nodes_needed = check_region, + func = function(name) local count = worldedit.hide(worldedit.pos1[name], worldedit.pos2[name]) worldedit.player_notify(name, count .. " nodes hidden") - end), + end, }) -minetest.register_chatcommand("/suppress", { +worldedit.register_command("suppress", { params = "", description = "Suppress all in the current WorldEdit region non-destructively", privs = {worldedit=true}, - func = safe_region(function(name, param) - local node = get_node(name, param) + require_pos = 2, + parse = function(param) + local node = worldedit.normalize_nodename(param) + if not node then + return false, "invalid node name: " .. param + end + return true, node + end, + nodes_needed = check_region, + func = function(name, node) local count = worldedit.suppress(worldedit.pos1[name], worldedit.pos2[name], node) worldedit.player_notify(name, count .. " nodes suppressed") - end, check_region), + end, }) -minetest.register_chatcommand("/highlight", { +worldedit.register_command("highlight", { params = "", description = "Highlight in the current WorldEdit region by hiding everything else non-destructively", privs = {worldedit=true}, - func = safe_region(function(name, param) - local node = get_node(name, param) + require_pos = 2, + parse = function(param) + local node = worldedit.normalize_nodename(param) + if not node then + return false, "invalid node name: " .. param + end + return true, node + end, + nodes_needed = check_region, + func = function(name, node) local count = worldedit.highlight(worldedit.pos1[name], worldedit.pos2[name], node) worldedit.player_notify(name, count .. " nodes highlighted") - end, check_region), + end, }) -minetest.register_chatcommand("/restore", { +worldedit.register_command("restore", { params = "", description = "Restores nodes hidden with WorldEdit in the current WorldEdit region", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + nodes_needed = check_region, + func = function(name) local count = worldedit.restore(worldedit.pos1[name], worldedit.pos2[name]) worldedit.player_notify(name, count .. " nodes restored") - end), + end, }) -minetest.register_chatcommand("/save", { +local function detect_misaligned_schematic(name, pos1, pos2) + pos1, pos2 = worldedit.sort_pos(pos1, pos2) + -- Check that allocate/save can position the schematic correctly + -- The expected behaviour is that the (0,0,0) corner of the schematic stays + -- sat pos1, this only works when the minimum position is actually present + -- in the schematic. + local node = minetest.get_node(pos1) + local have_node_at_origin = node.name ~= "air" and node.name ~= "ignore" + if not have_node_at_origin then + worldedit.player_notify(name, + "Warning: The schematic contains excessive free space and WILL be ".. + "misaligned when allocated or loaded. To avoid this, shrink your ".. + "area to cover exactly the nodes to be saved." + ) + end +end + +worldedit.register_command("save", { params = "", description = "Save the current WorldEdit region to \"(world folder)/schems/.we\"", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + parse = function(param) if param == "" then - worldedit.player_notify(name, "invalid usage: " .. param) - return + return false end if not check_filename(param) then - worldedit.player_notify(name, "Disallowed file name: " .. param) - return + return false, "Disallowed file name: " .. param end + return true, param + end, + nodes_needed = check_region, + func = function(name, param) local result, count = worldedit.serialize(worldedit.pos1[name], worldedit.pos2[name]) + detect_misaligned_schematic(name, worldedit.pos1[name], worldedit.pos2[name]) local path = minetest.get_worldpath() .. "/schems" -- Create directory if it does not already exist - mkdir(path) + minetest.mkdir(path) local filename = path .. "/" .. param .. ".we" local file, err = io.open(filename, "wb") @@ -1128,25 +1395,25 @@ minetest.register_chatcommand("/save", { file:close() worldedit.player_notify(name, count .. " nodes saved") - end), + end, }) -minetest.register_chatcommand("/allocate", { +worldedit.register_command("allocate", { params = "", description = "Set the region defined by nodes from \"(world folder)/schems/.we\" as the current WorldEdit region", privs = {worldedit=true}, - func = function(name, param) - local pos = get_position(name) - if pos == nil then return end - + require_pos = 1, + parse = function(param) if param == "" then - worldedit.player_notify(name, "invalid usage: " .. param) - return + return false end if not check_filename(param) then - worldedit.player_notify(name, "Disallowed file name: " .. param) - return + return false, "Disallowed file name: " .. param end + return true, param + end, + func = function(name, param) + local pos = worldedit.pos1[name] local filename = minetest.get_worldpath() .. "/schems/" .. param .. ".we" local file, err = io.open(filename, "rb") @@ -1158,30 +1425,44 @@ minetest.register_chatcommand("/allocate", { file:close() local version = worldedit.read_header(value) - if version == 0 then + if version == nil or version == 0 then worldedit.player_notify(name, "File is invalid!") return elseif version > worldedit.LATEST_SERIALIZATION_VERSION then worldedit.player_notify(name, "File was created with newer version of WorldEdit!") + return end local nodepos1, nodepos2, count = worldedit.allocate(pos, value) + if not nodepos1 then + worldedit.player_notify(name, "Schematic empty, nothing allocated") + return + end + worldedit.pos1[name] = nodepos1 - worldedit.mark_pos1(name) worldedit.pos2[name] = nodepos2 - worldedit.mark_pos2(name) + worldedit.marker_update(name) worldedit.player_notify(name, count .. " nodes allocated") end, }) -minetest.register_chatcommand("/load", { +worldedit.register_command("load", { params = "", description = "Load nodes from \"(world folder)/schems/[.we[m]]\" with position 1 of the current WorldEdit region as the origin", privs = {worldedit=true}, + require_pos = 1, + parse = function(param) + if param == "" then + return false + end + if not check_filename(param) then + return false, "Disallowed file name: " .. param + end + return true, param + end, func = function(name, param) - local pos = get_position(name) - if pos == nil then return end + local pos = worldedit.pos1[name] if param == "" then worldedit.player_notify(name, "invalid usage: " .. param) @@ -1213,7 +1494,7 @@ minetest.register_chatcommand("/load", { file:close() local version = worldedit.read_header(value) - if version == 0 then + if version == nil or version == 0 then worldedit.player_notify(name, "File is invalid!") return elseif version > worldedit.LATEST_SERIALIZATION_VERSION then @@ -1227,10 +1508,13 @@ minetest.register_chatcommand("/load", { end, }) -minetest.register_chatcommand("/lua", { +worldedit.register_command("lua", { params = "", description = "Executes as a Lua chunk in the global namespace", privs = {worldedit=true, server=true}, + parse = function(param) + return true, param + end, func = function(name, param) local err = worldedit.lua(param) if err then @@ -1243,11 +1527,16 @@ minetest.register_chatcommand("/lua", { end, }) -minetest.register_chatcommand("/luatransform", { +worldedit.register_command("luatransform", { params = "", description = "Executes as a Lua chunk in the global namespace with the variable pos available, for each node in the current WorldEdit region", privs = {worldedit=true, server=true}, - func = safe_region(function(name, param) + require_pos = 2, + parse = function(param) + return true, param + end, + nodes_needed = check_region, + func = function(name, param) local err = worldedit.luatransform(worldedit.pos1[name], worldedit.pos2[name], param) if err then worldedit.player_notify(name, "code error: " .. err, false) @@ -1256,72 +1545,80 @@ minetest.register_chatcommand("/luatransform", { worldedit.player_notify(name, "code successfully executed", false) minetest.log("action", name.." executed luatransform "..param) end - end), + end, }) -minetest.register_chatcommand("/mtschemcreate", { +worldedit.register_command("mtschemcreate", { params = "", description = "Save the current WorldEdit region using the Minetest ".. "Schematic format to \"(world folder)/schems/.mts\"", privs = {worldedit=true}, - func = safe_region(function(name, param) - if param == nil then - worldedit.player_notify(name, "No filename specified") - return + require_pos = 2, + parse = function(param) + if param == "" then + return false end if not check_filename(param) then - worldedit.player_notify(name, "Disallowed file name: " .. param) - return + return false, "Disallowed file name: " .. param end - + return true, param + end, + nodes_needed = check_region, + func = function(name, param) local path = minetest.get_worldpath() .. "/schems" -- Create directory if it does not already exist - mkdir(path) + minetest.mkdir(path) local filename = path .. "/" .. param .. ".mts" local ret = minetest.create_schematic(worldedit.pos1[name], worldedit.pos2[name], worldedit.prob_list[name], filename) if ret == nil then - worldedit.player_notify(name, "Failed to create Minetest schematic", false) + worldedit.player_notify(name, "Failed to create Minetest schematic") else - worldedit.player_notify(name, "Saved Minetest schematic to " .. param, false) + worldedit.player_notify(name, "Saved Minetest schematic to " .. param) end worldedit.prob_list[name] = {} - end), + end, }) -minetest.register_chatcommand("/mtschemplace", { +worldedit.register_command("mtschemplace", { params = "", description = "Load nodes from \"(world folder)/schems/.mts\" with position 1 of the current WorldEdit region as the origin", privs = {worldedit=true}, - func = function(name, param) + require_pos = 1, + parse = function(param) if param == "" then - worldedit.player_notify(name, "no filename specified") - return + return false end if not check_filename(param) then - worldedit.player_notify(name, "Disallowed file name: " .. param) - return + return false, "Disallowed file name: " .. param end - - local pos = get_position(name) - if pos == nil then return end + return true, param + end, + func = function(name, param) + local pos = worldedit.pos1[name] local path = minetest.get_worldpath() .. "/schems/" .. param .. ".mts" if minetest.place_schematic(pos, path) == nil then - worldedit.player_notify(name, "failed to place Minetest schematic", false) + worldedit.player_notify(name, "failed to place Minetest schematic") else worldedit.player_notify(name, "placed Minetest schematic " .. param .. - " at " .. minetest.pos_to_string(pos), false) + " at " .. minetest.pos_to_string(pos)) end end, }) -minetest.register_chatcommand("/mtschemprob", { +worldedit.register_command("mtschemprob", { params = "start/finish/get", description = "Begins node probability entry for Minetest schematics, gets the nodes that have probabilities set, or ends node probability entry", privs = {worldedit=true}, + parse = function(param) + if param ~= "start" and param ~= "finish" and param ~= "get" then + return false, "unknown subcommand: " .. param + end + return true, param + end, func = function(name, param) if param == "start" then --start probability setting worldedit.set_pos[name] = "prob" @@ -1342,8 +1639,6 @@ minetest.register_chatcommand("/mtschemprob", { end worldedit.player_notify(name, "currently set node probabilities:") worldedit.player_notify(name, text) - else - worldedit.player_notify(name, "unknown subcommand: " .. param) end end, }) @@ -1357,12 +1652,14 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end) -minetest.register_chatcommand("/clearobjects", { +worldedit.register_command("clearobjects", { params = "", description = "Clears all objects within the WorldEdit region", privs = {worldedit=true}, - func = safe_region(function(name, param) + require_pos = 2, + nodes_needed = check_region, + func = function(name) local count = worldedit.clear_objects(worldedit.pos1[name], worldedit.pos2[name]) worldedit.player_notify(name, count .. " objects cleared") - end), + end, }) diff --git a/worldedit/worldedit_commands/mark.lua b/worldedit/worldedit_commands/mark.lua index 9d41bda..a195280 100644 --- a/worldedit/worldedit_commands/mark.lua +++ b/worldedit/worldedit_commands/mark.lua @@ -2,57 +2,60 @@ worldedit.marker1 = {} worldedit.marker2 = {} worldedit.marker_region = {} +local init_sentinel = "new" .. tostring(math.random(99999)) + --marks worldedit region position 1 -worldedit.mark_pos1 = function(name) +worldedit.mark_pos1 = function(name, region_too) local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] - if pos1 ~= nil then - --make area stay loaded - local manip = minetest.get_voxel_manip() - manip:read_from_map(pos1, pos1) - end if worldedit.marker1[name] ~= nil then --marker already exists worldedit.marker1[name]:remove() --remove marker worldedit.marker1[name] = nil end if pos1 ~= nil then + --make area stay loaded + local manip = minetest.get_voxel_manip() + manip:read_from_map(pos1, pos1) + --add marker - worldedit.marker1[name] = minetest.add_entity(pos1, "worldedit:pos1") + worldedit.marker1[name] = minetest.add_entity(pos1, "worldedit:pos1", init_sentinel) if worldedit.marker1[name] ~= nil then worldedit.marker1[name]:get_luaentity().player_name = name end end - worldedit.mark_region(name) + if region_too == nil or region_too then + worldedit.mark_region(name) + end end --marks worldedit region position 2 -worldedit.mark_pos2 = function(name) +worldedit.mark_pos2 = function(name, region_too) local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] - if pos2 ~= nil then - --make area stay loaded - local manip = minetest.get_voxel_manip() - manip:read_from_map(pos2, pos2) - end if worldedit.marker2[name] ~= nil then --marker already exists worldedit.marker2[name]:remove() --remove marker worldedit.marker2[name] = nil end if pos2 ~= nil then + --make area stay loaded + local manip = minetest.get_voxel_manip() + manip:read_from_map(pos2, pos2) + --add marker - worldedit.marker2[name] = minetest.add_entity(pos2, "worldedit:pos2") + worldedit.marker2[name] = minetest.add_entity(pos2, "worldedit:pos2", init_sentinel) if worldedit.marker2[name] ~= nil then worldedit.marker2[name]:get_luaentity().player_name = name end end - worldedit.mark_region(name) + if region_too == nil or region_too then + worldedit.mark_region(name) + end end worldedit.mark_region = function(name) local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] if worldedit.marker_region[name] ~= nil then --marker already exists - --wip: make the area stay loaded somehow for _, entity in ipairs(worldedit.marker_region[name]) do entity:remove() end @@ -64,7 +67,7 @@ worldedit.mark_region = function(name) local vec = vector.subtract(pos2, pos1) local maxside = math.max(vec.x, math.max(vec.y, vec.z)) - local limit = tonumber(minetest.setting_get("active_object_send_range_blocks")) * 16 + local limit = tonumber(minetest.settings:get("active_object_send_range_blocks")) * 16 if maxside > limit * 1.5 then -- The client likely won't be able to see the plane markers as intended anyway, -- thus don't place them and also don't load the area into memory @@ -82,7 +85,8 @@ worldedit.mark_region = function(name) --XY plane markers for _, z in ipairs({pos1.z - 0.5, pos2.z + 0.5}) do - local marker = minetest.add_entity({x=pos1.x + sizex - 0.5, y=pos1.y + sizey - 0.5, z=z}, "worldedit:region_cube") + local entpos = {x=pos1.x + sizex - 0.5, y=pos1.y + sizey - 0.5, z=z} + local marker = minetest.add_entity(entpos, "worldedit:region_cube", init_sentinel) if marker ~= nil then marker:set_properties({ visual_size={x=sizex * 2, y=sizey * 2}, @@ -95,13 +99,14 @@ worldedit.mark_region = function(name) --YZ plane markers for _, x in ipairs({pos1.x - 0.5, pos2.x + 0.5}) do - local marker = minetest.add_entity({x=x, y=pos1.y + sizey - 0.5, z=pos1.z + sizez - 0.5}, "worldedit:region_cube") + local entpos = {x=x, y=pos1.y + sizey - 0.5, z=pos1.z + sizez - 0.5} + local marker = minetest.add_entity(entpos, "worldedit:region_cube", init_sentinel) if marker ~= nil then marker:set_properties({ visual_size={x=sizez * 2, y=sizey * 2}, collisionbox = {-thickness, -sizey, -sizez, thickness, sizey, sizez}, }) - marker:setyaw(math.pi / 2) + marker:set_yaw(math.pi / 2) marker:get_luaentity().player_name = name table.insert(markers, marker) end @@ -111,6 +116,13 @@ worldedit.mark_region = function(name) end end +--convenience function that calls everything +worldedit.marker_update = function(name) + worldedit.mark_pos1(name, false) + worldedit.mark_pos2(name, false) + worldedit.mark_region(name) +end + minetest.register_entity(":worldedit:pos1", { initial_properties = { visual = "cube", @@ -120,9 +132,11 @@ minetest.register_entity(":worldedit:pos1", { "worldedit_pos1.png", "worldedit_pos1.png"}, collisionbox = {-0.55, -0.55, -0.55, 0.55, 0.55, 0.55}, physical = false, + static_save = false, }, - on_step = function(self, dtime) - if worldedit.marker1[self.player_name] == nil then + on_activate = function(self, staticdata, dtime_s) + if staticdata ~= init_sentinel then + -- we were loaded from before static_save = false was added self.object:remove() end end, @@ -130,6 +144,9 @@ minetest.register_entity(":worldedit:pos1", { self.object:remove() worldedit.marker1[self.player_name] = nil end, + on_blast = function(self, damage) + return false, false, {} -- don't damage or knockback + end, }) minetest.register_entity(":worldedit:pos2", { @@ -141,9 +158,11 @@ minetest.register_entity(":worldedit:pos2", { "worldedit_pos2.png", "worldedit_pos2.png"}, collisionbox = {-0.55, -0.55, -0.55, 0.55, 0.55, 0.55}, physical = false, + static_save = false, }, - on_step = function(self, dtime) - if worldedit.marker2[self.player_name] == nil then + on_activate = function(self, staticdata, dtime_s) + if staticdata ~= init_sentinel then + -- we were loaded from before static_save = false was added self.object:remove() end end, @@ -151,20 +170,23 @@ minetest.register_entity(":worldedit:pos2", { self.object:remove() worldedit.marker2[self.player_name] = nil end, + on_blast = function(self, damage) + return false, false, {} -- don't damage or knockback + end, }) minetest.register_entity(":worldedit:region_cube", { initial_properties = { visual = "upright_sprite", - visual_size = {x=1.1, y=1.1}, textures = {"worldedit_cube.png"}, visual_size = {x=10, y=10}, physical = false, + static_save = false, }, - on_step = function(self, dtime) - if worldedit.marker_region[self.player_name] == nil then + on_activate = function(self, staticdata, dtime_s) + if staticdata ~= init_sentinel then + -- we were loaded from before static_save = false was added self.object:remove() - return end end, on_punch = function(self, hitter) @@ -177,5 +199,8 @@ minetest.register_entity(":worldedit:region_cube", { end worldedit.marker_region[self.player_name] = nil end, + on_blast = function(self, damage) + return false, false, {} -- don't damage or knockback + end, }) diff --git a/worldedit/worldedit_commands/mod.conf b/worldedit/worldedit_commands/mod.conf new file mode 100644 index 0000000..28e9ac8 --- /dev/null +++ b/worldedit/worldedit_commands/mod.conf @@ -0,0 +1,3 @@ +name = worldedit_commands +description = WorldEdit chat commands +depends = worldedit diff --git a/worldedit/worldedit_commands/safe.lua b/worldedit/worldedit_commands/safe.lua index 0bd30d7..c83cac8 100644 --- a/worldedit/worldedit_commands/safe.lua +++ b/worldedit/worldedit_commands/safe.lua @@ -1,53 +1,33 @@ local safe_region_callback = {} -local safe_region_param = {} - -worldedit._override_safe_regions = false -- internal use ONLY! - -local function check_region(name, param) - local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] --obtain positions - if pos1 == nil or pos2 == nil then - worldedit.player_notify(name, "no region selected") - return nil - end - return worldedit.volume(pos1, pos2) -end +--`count` is the number of nodes that would possibly be modified --`callback` is a callback to run when the user confirms ---`nodes_needed` is a function accepting `param`, `pos1`, and `pos2` to calculate the number of nodes needed -local function safe_region(callback, nodes_needed) - --default node volume calculation - nodes_needed = nodes_needed or check_region - - return function(name, param) - --check if the operation applies to a safe number of nodes - local count = nodes_needed(name, param) - if count == nil then return end --invalid command - if worldedit._override_safe_regions or count < 10000 then - return callback(name, param) - end - - --save callback to call later - safe_region_callback[name], safe_region_param[name] = callback, param - worldedit.player_notify(name, "WARNING: this operation could affect up to " .. count .. " nodes; type //y to continue or //n to cancel") +local function safe_region(name, count, callback) + if count < 20000 then + return callback() end + + --save callback to call later + safe_region_callback[name] = callback + worldedit.player_notify(name, "WARNING: this operation could affect up to " .. count .. " nodes; type //y to continue or //n to cancel") end local function reset_pending(name) - safe_region_callback[name], safe_region_param[name] = nil, nil + safe_region_callback[name] = nil end minetest.register_chatcommand("/y", { params = "", description = "Confirm a pending operation", func = function(name) - local callback, param = safe_region_callback[name], safe_region_param[name] + local callback = safe_region_callback[name] if not callback then worldedit.player_notify(name, "no operation pending") return end reset_pending(name) - callback(name, param) + callback(name) end, }) @@ -65,4 +45,4 @@ minetest.register_chatcommand("/n", { }) -return safe_region, check_region, reset_pending +return safe_region, reset_pending diff --git a/worldedit/worldedit_commands/wand.lua b/worldedit/worldedit_commands/wand.lua index c93fa9c..faa77ff 100644 --- a/worldedit/worldedit_commands/wand.lua +++ b/worldedit/worldedit_commands/wand.lua @@ -6,25 +6,58 @@ local function above_or_under(placer, pointed_thing) end end +local punched_air_time = {} + minetest.register_tool(":worldedit:wand", { - description = "WorldEdit Wand tool, Left-click to set 1st position, right-click to set 2nd", + description = "WorldEdit Wand tool\nLeft-click to set 1st position, right-click to set 2nd", inventory_image = "worldedit_wand.png", stack_max = 1, -- there is no need to have more than one liquids_pointable = true, -- ground with only water on can be selected as well on_use = function(itemstack, placer, pointed_thing) - if placer ~= nil and pointed_thing ~= nil and pointed_thing.type == "node" then - local name = placer:get_player_name() + if placer == nil or pointed_thing == nil then return end + local name = placer:get_player_name() + if pointed_thing.type == "node" then + -- set and mark pos1 worldedit.pos1[name] = above_or_under(placer, pointed_thing) worldedit.mark_pos1(name) + elseif pointed_thing.type == "nothing" then + local now = minetest.get_us_time() + if now - (punched_air_time[name] or 0) < 1000 * 1000 then + -- reset markers + worldedit.registered_commands["reset"].func(name) + end + punched_air_time[name] = now + elseif pointed_thing.type == "object" then + local entity = pointed_thing.ref:get_luaentity() + if entity and entity.name == "worldedit:pos2" then + -- set pos1 = pos2 + worldedit.pos1[name] = worldedit.pos2[name] + worldedit.mark_pos1(name) + end end + end, + + on_place = function(itemstack, placer, pointed_thing) + if placer == nil or (pointed_thing or {}).type ~= "node" then + return itemstack + end + local name = placer:get_player_name() + -- set and mark pos2 + worldedit.pos2[name] = above_or_under(placer, pointed_thing) + worldedit.mark_pos2(name) return itemstack -- nothing consumed, nothing changed end, - on_place = function(itemstack, placer, pointed_thing) -- Left Click - if placer ~= nil and pointed_thing ~= nil and pointed_thing.type == "node" then - local name = placer:get_player_name() - worldedit.pos2[name] = above_or_under(placer, pointed_thing) + on_secondary_use = function(itemstack, user, pointed_thing) + if user == nil or (pointed_thing or {}).type ~= "object" then + return itemstack + end + local name = user:get_player_name() + local entity = pointed_thing.ref:get_luaentity() + if entity and entity.name == "worldedit:pos1" then + -- set pos2 = pos1 + worldedit.pos2[name] = worldedit.pos1[name] worldedit.mark_pos2(name) end return itemstack -- nothing consumed, nothing changed diff --git a/worldedit/worldedit_gui/depends.txt b/worldedit/worldedit_gui/depends.txt deleted file mode 100644 index dbc8f19..0000000 --- a/worldedit/worldedit_gui/depends.txt +++ /dev/null @@ -1,7 +0,0 @@ -worldedit -worldedit_commands -unified_inventory? -inventory_plus? -sfinv? -creative? -smart_inventory? diff --git a/worldedit/worldedit_gui/functionality.lua b/worldedit/worldedit_gui/functionality.lua index 912fd59..2efbf9a 100644 --- a/worldedit/worldedit_gui/functionality.lua +++ b/worldedit/worldedit_gui/functionality.lua @@ -52,13 +52,18 @@ end -- display node (or unknown_node image otherwise) at specified pos in formspec local formspec_node = function(pos, nodename) - return nodename and string.format("item_image[%s;1,1;%s]", pos, nodename) - or string.format("image[%s;1,1;worldedit_gui_unknown.png]", pos) + local ndef = nodename and minetest.registered_nodes[nodename] + if nodename and ndef then + return string.format("item_image[%s;1,1;%s]", pos, nodename) .. + string.format("tooltip[%s;1,1;%s]", pos, minetest.formspec_escape(ndef.description)) + else + return string.format("image[%s;1,1;worldedit_gui_unknown.png]", pos) + end end -- two further priv helpers local function we_privs(command) - return minetest.chatcommands["/" .. command].privs + return worldedit.registered_commands[command].privs end local function combine_we_privs(list) @@ -69,11 +74,79 @@ local function combine_we_privs(list) return combine_privs(unpack(args)) end +-- functions that handle value changing & page reshowing (without submitting) +local function copy_changes(name, fields, def) + for field, into in pairs(def) do + if into ~= true and fields[field] then + local value = tostring(fields[field]) + if into == gui_axis1 or into == gui_axis2 then + into[name] = axis_indices[value] + elseif into == gui_angle then + into[name] = angle_indices[value] + else + into[name] = value + end + end + end +end + +local function handle_changes(name, identifier, fields, def) + local any = false + for field, into in pairs(def) do + if fields.key_enter_field == field then + any = true + end + -- first condition: buttons (value not saved) + -- others: dropdowns which will be sent when their value changes + if into == true or into == gui_axis1 or into == gui_axis2 or into == gui_angle then + if fields[field] then + any = true + end + end + end + if not any then + return false + end + + any = false + for field, into in pairs(def) do + if into ~= true and fields[field] then + local value = tostring(fields[field]) + if into == gui_axis1 or into == gui_axis2 then + into[name] = axis_indices[value] + elseif into == gui_angle then + into[name] = angle_indices[value] + else + into[name] = value + end + + if into == gui_nodename1 or into == gui_nodename2 then + any = true + end + end + end + -- Only nodename fields change based on the value, so only re-show the page if necessary + if any then + worldedit.show_page(name, identifier) + end + return true +end + +-- This has the same behaviour as the player invoking the chat command +local function execute_worldedit_command(command_name, player_name, params) + local chatcmd = minetest.registered_chatcommands["/" .. command_name] + assert(chatcmd, "unknown command: " .. command_name) + local _, msg = chatcmd.func(player_name, params) + if msg then + worldedit.player_notify(player_name, msg) + end +end + worldedit.register_gui_function("worldedit_gui_about", { name = "About", privs = {interact=true}, on_select = function(name) - minetest.chatcommands["/about"].func(name, "") + execute_worldedit_command("about", name, "") end, }) @@ -81,7 +154,8 @@ worldedit.register_gui_function("worldedit_gui_inspect", { name = "Toggle Inspect", privs = we_privs("inspect"), on_select = function(name) - minetest.chatcommands["/inspect"].func(name, worldedit.inspect[name] and "disable" or "enable") + execute_worldedit_command("inspect", name, + worldedit.inspect[name] and "disable" or "enable") end, }) @@ -115,47 +189,47 @@ worldedit.register_gui_function("worldedit_gui_region", { worldedit.register_gui_handler("worldedit_gui_region", function(name, fields) if fields.worldedit_gui_p_get then - minetest.chatcommands["/p"].func(name, "get") + execute_worldedit_command("p", name, "get") return true elseif fields.worldedit_gui_p_set1 then - minetest.chatcommands["/p"].func(name, "set1") + execute_worldedit_command("p", name, "set1") return true elseif fields.worldedit_gui_p_set2 then - minetest.chatcommands["/p"].func(name, "set2") + execute_worldedit_command("p", name, "set2") return true elseif fields.worldedit_gui_pos1 then - minetest.chatcommands["/pos1"].func(name, "") + execute_worldedit_command("pos1", name, "") worldedit.show_page(name, "worldedit_gui_region") return true elseif fields.worldedit_gui_pos2 then - minetest.chatcommands["/pos2"].func(name, "") + execute_worldedit_command("pos2", name, "") worldedit.show_page(name, "worldedit_gui_region") return true elseif fields.worldedit_gui_reset then - minetest.chatcommands["/reset"].func(name, "") + execute_worldedit_command("reset", name, "") worldedit.show_page(name, "worldedit_gui_region") return true elseif fields.worldedit_gui_mark then - minetest.chatcommands["/mark"].func(name, "") + execute_worldedit_command("mark", name, "") worldedit.show_page(name, "worldedit_gui_region") return true elseif fields.worldedit_gui_unmark then - minetest.chatcommands["/unmark"].func(name, "") + execute_worldedit_command("unmark", name, "") worldedit.show_page(name, "worldedit_gui_region") return true elseif fields.worldedit_gui_volume then - minetest.chatcommands["/volume"].func(name, "") + execute_worldedit_command("volume", name, "") worldedit.show_page(name, "worldedit_gui_region") return true elseif fields.worldedit_gui_fixedpos_pos1_submit then - minetest.chatcommands["/fixedpos"].func(name, string.format("set1 %s %s %s", + execute_worldedit_command("fixedpos", name, ("set1 %s %s %s"):format( tostring(fields.worldedit_gui_fixedpos_pos1x), tostring(fields.worldedit_gui_fixedpos_pos1y), tostring(fields.worldedit_gui_fixedpos_pos1z))) worldedit.show_page(name, "worldedit_gui_region") return true elseif fields.worldedit_gui_fixedpos_pos2_submit then - minetest.chatcommands["/fixedpos"].func(name, string.format("set2 %s %s %s", + execute_worldedit_command("fixedpos", name, ("set2 %s %s %s"):format( tostring(fields.worldedit_gui_fixedpos_pos2x), tostring(fields.worldedit_gui_fixedpos_pos2y), tostring(fields.worldedit_gui_fixedpos_pos2z))) @@ -173,6 +247,7 @@ worldedit.register_gui_function("worldedit_gui_set", { local nodename = worldedit.normalize_nodename(node) return "size[6.5,3]" .. worldedit.get_formspec_header("worldedit_gui_set") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_set_node;Name;%s]", minetest.formspec_escape(node)) .. + "field_close_on_enter[worldedit_gui_set_node;false]" .. "button[4,1.18;1.5,0.8;worldedit_gui_set_search;Search]" .. formspec_node("5.5,1.1", nodename) .. "button_exit[0,2.5;3,0.8;worldedit_gui_set_submit;Set Nodes]" @@ -180,18 +255,22 @@ worldedit.register_gui_function("worldedit_gui_set", { }) worldedit.register_gui_handler("worldedit_gui_set", function(name, fields) - if fields.worldedit_gui_set_search or fields.worldedit_gui_set_submit then - gui_nodename1[name] = tostring(fields.worldedit_gui_set_node) + local cg = { + worldedit_gui_set_search = true, + worldedit_gui_set_node = gui_nodename1, + } + local ret = handle_changes(name, "worldedit_gui_set", fields, cg) + if fields.worldedit_gui_set_submit then + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_set") - if fields.worldedit_gui_set_submit then - local n = worldedit.normalize_nodename(gui_nodename1[name]) - if n then - minetest.chatcommands["/set"].func(name, n) - end + + local n = worldedit.normalize_nodename(gui_nodename1[name]) + if n then + execute_worldedit_command("set", name, n) end return true end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_replace", { @@ -202,9 +281,11 @@ worldedit.register_gui_function("worldedit_gui_replace", { local search_nodename, replace_nodename = worldedit.normalize_nodename(search), worldedit.normalize_nodename(replace) return "size[6.5,4]" .. worldedit.get_formspec_header("worldedit_gui_replace") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_replace_search;Name;%s]", minetest.formspec_escape(search)) .. + "field_close_on_enter[worldedit_gui_replace_search;false]" .. "button[4,1.18;1.5,0.8;worldedit_gui_replace_search_search;Search]" .. formspec_node("5.5,1.1", search_nodename) .. string.format("field[0.5,2.5;4,0.8;worldedit_gui_replace_replace;Name;%s]", minetest.formspec_escape(replace)) .. + "field_close_on_enter[worldedit_gui_replace_replace;false]" .. "button[4,2.18;1.5,0.8;worldedit_gui_replace_replace_search;Search]" .. formspec_node("5.5,2.1", replace_nodename) .. "button_exit[0,3.5;3,0.8;worldedit_gui_replace_submit;Replace Nodes]" .. @@ -213,28 +294,29 @@ worldedit.register_gui_function("worldedit_gui_replace", { }) worldedit.register_gui_handler("worldedit_gui_replace", function(name, fields) - if fields.worldedit_gui_replace_search_search or fields.worldedit_gui_replace_replace_search - or fields.worldedit_gui_replace_submit or fields.worldedit_gui_replace_submit_inverse then - gui_nodename1[name] = tostring(fields.worldedit_gui_replace_search) - gui_nodename2[name] = tostring(fields.worldedit_gui_replace_replace) + local cg = { + worldedit_gui_replace_search_search = true, + worldedit_gui_replace_replace_search = true, + worldedit_gui_replace_search = gui_nodename1, + worldedit_gui_replace_replace = gui_nodename2, + } + local ret = handle_changes(name, "worldedit_gui_replace", fields, cg) + if fields.worldedit_gui_replace_submit or fields.worldedit_gui_replace_submit_inverse then + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_replace") - local submit = nil - if fields.worldedit_gui_replace_submit then - submit = "replace" - elseif fields.worldedit_gui_replace_submit_inverse then + local submit = "replace" + if fields.worldedit_gui_replace_submit_inverse then submit = "replaceinverse" end - if submit then - local n1 = worldedit.normalize_nodename(gui_nodename1[name]) - local n2 = worldedit.normalize_nodename(gui_nodename2[name]) - if n1 and n2 then - minetest.chatcommands["/"..submit].func(name, string.format("%s %s", n1, n2)) - end + local n1 = worldedit.normalize_nodename(gui_nodename1[name]) + local n2 = worldedit.normalize_nodename(gui_nodename2[name]) + if n1 and n2 then + execute_worldedit_command(submit, name, n1 .. " " .. n2) end return true end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_sphere_dome", { @@ -245,9 +327,11 @@ worldedit.register_gui_function("worldedit_gui_sphere_dome", { local nodename = worldedit.normalize_nodename(node) return "size[6.5,5]" .. worldedit.get_formspec_header("worldedit_gui_sphere_dome") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_sphere_dome_node;Name;%s]", minetest.formspec_escape(node)) .. + "field_close_on_enter[worldedit_gui_sphere_dome_node;false]" .. "button[4,1.18;1.5,0.8;worldedit_gui_sphere_dome_search;Search]" .. formspec_node("5.5,1.1", nodename) .. string.format("field[0.5,2.5;4,0.8;worldedit_gui_sphere_dome_radius;Radius;%s]", minetest.formspec_escape(radius)) .. + "field_close_on_enter[worldedit_gui_sphere_dome_radius;false]" .. "button_exit[0,3.5;3,0.8;worldedit_gui_sphere_dome_submit_hollow;Hollow Sphere]" .. "button_exit[3.5,3.5;3,0.8;worldedit_gui_sphere_dome_submit_solid;Solid Sphere]" .. "button_exit[0,4.5;3,0.8;worldedit_gui_sphere_dome_submit_hollow_dome;Hollow Dome]" .. @@ -256,32 +340,33 @@ worldedit.register_gui_function("worldedit_gui_sphere_dome", { }) worldedit.register_gui_handler("worldedit_gui_sphere_dome", function(name, fields) - if fields.worldedit_gui_sphere_dome_search - or fields.worldedit_gui_sphere_dome_submit_hollow or fields.worldedit_gui_sphere_dome_submit_solid + local cg = { + worldedit_gui_sphere_dome_search = true, + worldedit_gui_sphere_dome_node = gui_nodename1, + worldedit_gui_sphere_dome_radius = gui_distance2, + } + local ret = handle_changes(name, "worldedit_gui_sphere_dome", fields, cg) + if fields.worldedit_gui_sphere_dome_submit_hollow or fields.worldedit_gui_sphere_dome_submit_solid or fields.worldedit_gui_sphere_dome_submit_hollow_dome or fields.worldedit_gui_sphere_dome_submit_solid_dome then - gui_nodename1[name] = tostring(fields.worldedit_gui_sphere_dome_node) - gui_distance2[name] = tostring(fields.worldedit_gui_sphere_dome_radius) + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_sphere_dome") - local submit = nil - if fields.worldedit_gui_sphere_dome_submit_hollow then - submit = "hollowsphere" - elseif fields.worldedit_gui_sphere_dome_submit_solid then + local submit = "hollowsphere" + if fields.worldedit_gui_sphere_dome_submit_solid then submit = "sphere" elseif fields.worldedit_gui_sphere_dome_submit_hollow_dome then submit = "hollowdome" elseif fields.worldedit_gui_sphere_dome_submit_solid_dome then submit = "dome" end - if submit then - local n = worldedit.normalize_nodename(gui_nodename1[name]) - if n then - minetest.chatcommands["/"..submit].func(name, string.format("%s %s", gui_distance2[name], n)) - end + local n = worldedit.normalize_nodename(gui_nodename1[name]) + if n then + execute_worldedit_command(submit, name, + gui_distance2[name] .. " " .. n) end return true end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_cylinder", { @@ -293,12 +378,16 @@ worldedit.register_gui_function("worldedit_gui_cylinder", { local nodename = worldedit.normalize_nodename(node) return "size[6.5,6]" .. worldedit.get_formspec_header("worldedit_gui_cylinder") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_cylinder_node;Name;%s]", minetest.formspec_escape(node)) .. + "field_close_on_enter[worldedit_gui_cylinder_node;false]" .. "button[4,1.18;1.5,0.8;worldedit_gui_cylinder_search;Search]" .. formspec_node("5.5,1.1", nodename) .. string.format("field[0.5,2.5;4,0.8;worldedit_gui_cylinder_length;Length;%s]", minetest.formspec_escape(length)) .. string.format("dropdown[4,2.18;2.5;worldedit_gui_cylinder_axis;X axis,Y axis,Z axis,Look direction;%d]", axis) .. string.format("field[0.5,3.5;2,0.8;worldedit_gui_cylinder_radius1;Base Radius;%s]", minetest.formspec_escape(radius1)) .. string.format("field[2.5,3.5;2,0.8;worldedit_gui_cylinder_radius2;Top Radius;%s]", minetest.formspec_escape(radius2)) .. + "field_close_on_enter[worldedit_gui_cylinder_length;false]" .. + "field_close_on_enter[worldedit_gui_cylinder_radius1;false]" .. + "field_close_on_enter[worldedit_gui_cylinder_radius2;false]" .. "label[0.25,4;Equal base and top radius creates a cylinder,\n".. "zero top radius creates a cone.\nConsult documentation for more information.]".. "button_exit[0,5.5;3,0.8;worldedit_gui_cylinder_submit_hollow;Hollow Cylinder]" .. @@ -307,36 +396,31 @@ worldedit.register_gui_function("worldedit_gui_cylinder", { }) worldedit.register_gui_handler("worldedit_gui_cylinder", function(name, fields) - if fields.worldedit_gui_cylinder_search - or fields.worldedit_gui_cylinder_submit_hollow or fields.worldedit_gui_cylinder_submit_solid then - gui_nodename1[name] = tostring(fields.worldedit_gui_cylinder_node) - gui_axis1[name] = axis_indices[fields.worldedit_gui_cylinder_axis] - gui_distance1[name] = tostring(fields.worldedit_gui_cylinder_length) - gui_distance2[name] = tostring(fields.worldedit_gui_cylinder_radius1) - gui_distance3[name] = tostring(fields.worldedit_gui_cylinder_radius2) + local cg = { + worldedit_gui_cylinder_search = true, + worldedit_gui_cylinder_node = gui_nodename1, + worldedit_gui_cylinder_axis = gui_axis1, + worldedit_gui_cylinder_length = gui_distance1, + worldedit_gui_cylinder_radius1 = gui_distance2, + worldedit_gui_cylinder_radius2 = gui_distance3, + } + local ret = handle_changes(name, "worldedit_gui_cylinder", fields, cg) + if fields.worldedit_gui_cylinder_submit_hollow or fields.worldedit_gui_cylinder_submit_solid then + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_cylinder") - local submit = nil - if fields.worldedit_gui_cylinder_submit_hollow then - submit = "hollowcylinder" - elseif fields.worldedit_gui_cylinder_submit_solid then + local submit = "hollowcylinder" + if fields.worldedit_gui_cylinder_submit_solid then submit = "cylinder" end - if submit then - local n = worldedit.normalize_nodename(gui_nodename1[name]) - if n then - local args = string.format("%s %s %s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], gui_distance2[name], gui_distance3[name], n) - minetest.chatcommands["/"..submit].func(name, args) - end + local n = worldedit.normalize_nodename(gui_nodename1[name]) + if n then + local args = string.format("%s %s %s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], gui_distance2[name], gui_distance3[name], n) + execute_worldedit_command(submit, name, args) end return true end - if fields.worldedit_gui_cylinder_axis then - gui_axis1[name] = axis_indices[fields.worldedit_gui_cylinder_axis] - worldedit.show_page(name, "worldedit_gui_cylinder") - return true - end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_pyramid", { @@ -347,42 +431,42 @@ worldedit.register_gui_function("worldedit_gui_pyramid", { local nodename = worldedit.normalize_nodename(node) return "size[6.5,4]" .. worldedit.get_formspec_header("worldedit_gui_pyramid") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_pyramid_node;Name;%s]", minetest.formspec_escape(node)) .. + "field_close_on_enter[worldedit_gui_pyramid_node;false]" .. "button[4,1.18;1.5,0.8;worldedit_gui_pyramid_search;Search]" .. formspec_node("5.5,1.1", nodename) .. string.format("field[0.5,2.5;4,0.8;worldedit_gui_pyramid_length;Length;%s]", minetest.formspec_escape(length)) .. string.format("dropdown[4,2.18;2.5;worldedit_gui_pyramid_axis;X axis,Y axis,Z axis,Look direction;%d]", axis) .. + "field_close_on_enter[worldedit_gui_pyramid_length;false]" .. "button_exit[0,3.5;3,0.8;worldedit_gui_pyramid_submit_hollow;Hollow Pyramid]" .. "button_exit[3.5,3.5;3,0.8;worldedit_gui_pyramid_submit_solid;Solid Pyramid]" end, }) worldedit.register_gui_handler("worldedit_gui_pyramid", function(name, fields) - if fields.worldedit_gui_pyramid_search or fields.worldedit_gui_pyramid_submit_solid or fields.worldedit_gui_pyramid_submit_hollow or fields.worldedit_gui_pyramid_axis then - gui_nodename1[name] = tostring(fields.worldedit_gui_pyramid_node) - gui_axis1[name] = axis_indices[fields.worldedit_gui_pyramid_axis] - gui_distance1[name] = tostring(fields.worldedit_gui_pyramid_length) + local cg = { + worldedit_gui_pyramid_search = true, + worldedit_gui_pyramid_node = gui_nodename1, + worldedit_gui_pyramid_axis = gui_axis1, + worldedit_gui_pyramid_length = gui_distance1, + } + local ret = handle_changes(name, "worldedit_gui_pyramid", fields, cg) + if fields.worldedit_gui_pyramid_submit_solid or fields.worldedit_gui_pyramid_submit_hollow then + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_pyramid") - local submit = nil - if fields.worldedit_gui_pyramid_submit_solid then - submit = "pyramid" - elseif fields.worldedit_gui_pyramid_submit_hollow then + local submit = "pyramid" + if fields.worldedit_gui_pyramid_submit_hollow then submit = "hollowpyramid" end - if submit then - local n = worldedit.normalize_nodename(gui_nodename1[name]) - if n then - minetest.chatcommands["/"..submit].func(name, string.format("%s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], n)) - end + local n = worldedit.normalize_nodename(gui_nodename1[name]) + if n then + execute_worldedit_command(submit, name, + string.format("%s %s %s", axis_values[gui_axis1[name]], + gui_distance1[name], n)) end return true end - if fields.worldedit_gui_pyramid_axis then - gui_axis1[name] = axis_indices[fields.worldedit_gui_pyramid_axis] - worldedit.show_page(name, "worldedit_gui_pyramid") - return true - end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_spiral", { @@ -393,31 +477,41 @@ worldedit.register_gui_function("worldedit_gui_spiral", { local nodename = worldedit.normalize_nodename(node) return "size[6.5,6]" .. worldedit.get_formspec_header("worldedit_gui_spiral") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_spiral_node;Name;%s]", minetest.formspec_escape(node)) .. + "field_close_on_enter[worldedit_gui_spiral_node;false]" .. "button[4,1.18;1.5,0.8;worldedit_gui_spiral_search;Search]" .. formspec_node("5.5,1.1", nodename) .. string.format("field[0.5,2.5;4,0.8;worldedit_gui_spiral_length;Side Length;%s]", minetest.formspec_escape(length)) .. string.format("field[0.5,3.5;4,0.8;worldedit_gui_spiral_height;Height;%s]", minetest.formspec_escape(height)) .. string.format("field[0.5,4.5;4,0.8;worldedit_gui_spiral_space;Wall Spacing;%s]", minetest.formspec_escape(space)) .. + "field_close_on_enter[worldedit_gui_spiral_length;false]" .. + "field_close_on_enter[worldedit_gui_spiral_height;false]" .. + "field_close_on_enter[worldedit_gui_spiral_space;false]" .. "button_exit[0,5.5;3,0.8;worldedit_gui_spiral_submit;Spiral]" end, }) worldedit.register_gui_handler("worldedit_gui_spiral", function(name, fields) - if fields.worldedit_gui_spiral_search or fields.worldedit_gui_spiral_submit then - gui_nodename1[name] = fields.worldedit_gui_spiral_node - gui_distance1[name] = tostring(fields.worldedit_gui_spiral_length) - gui_distance2[name] = tostring(fields.worldedit_gui_spiral_height) - gui_distance3[name] = tostring(fields.worldedit_gui_spiral_space) + local cg = { + worldedit_gui_spiral_search = true, + worldedit_gui_spiral_node = gui_nodename1, + worldedit_gui_spiral_length = gui_distance1, + worldedit_gui_spiral_height = gui_distance2, + worldedit_gui_spiral_space = gui_distance3, + } + local ret = handle_changes(name, "worldedit_gui_spiral", fields, cg) + if fields.worldedit_gui_spiral_submit then + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_spiral") - if fields.worldedit_gui_spiral_submit then - local n = worldedit.normalize_nodename(gui_nodename1[name]) - if n then - minetest.chatcommands["/spiral"].func(name, string.format("%s %s %s %s", gui_distance1[name], gui_distance2[name], gui_distance3[name], n)) - end + + local n = worldedit.normalize_nodename(gui_nodename1[name]) + if n then + execute_worldedit_command("spiral", name, + string.format("%s %s %s %s", gui_distance1[name], + gui_distance2[name], gui_distance3[name], n)) end return true end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_copy_move", { @@ -429,29 +523,31 @@ worldedit.register_gui_function("worldedit_gui_copy_move", { return "size[6.5,3]" .. worldedit.get_formspec_header("worldedit_gui_copy_move") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_copy_move_amount;Amount;%s]", minetest.formspec_escape(amount)) .. string.format("dropdown[4,1.18;2.5;worldedit_gui_copy_move_axis;X axis,Y axis,Z axis,Look direction;%d]", axis) .. + "field_close_on_enter[worldedit_gui_copy_move_amount;false]" .. "button_exit[0,2.5;3,0.8;worldedit_gui_copy_move_copy;Copy Region]" .. "button_exit[3.5,2.5;3,0.8;worldedit_gui_copy_move_move;Move Region]" end, }) worldedit.register_gui_handler("worldedit_gui_copy_move", function(name, fields) + local cg = { + worldedit_gui_copy_move_amount = gui_distance1, + worldedit_gui_copy_move_axis = gui_axis1, + } + local ret = handle_changes(name, "worldedit_gui_spiral", fields, cg) if fields.worldedit_gui_copy_move_copy or fields.worldedit_gui_copy_move_move then - gui_axis1[name] = axis_indices[fields.worldedit_gui_copy_move_axis] or 4 - gui_distance1[name] = tostring(fields.worldedit_gui_copy_move_amount) + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_copy_move") - if fields.worldedit_gui_copy_move_copy then - minetest.chatcommands["/copy"].func(name, string.format("%s %s", axis_values[gui_axis1[name]], gui_distance1[name])) - else --fields.worldedit_gui_copy_move_move - minetest.chatcommands["/move"].func(name, string.format("%s %s", axis_values[gui_axis1[name]], gui_distance1[name])) + + local submit = "copy" + if fields.worldedit_gui_copy_move_move then + submit = "move" end + execute_worldedit_command(submit, name, + axis_values[gui_axis1[name]] .. " " .. gui_distance1[name]) return true end - if fields.worldedit_gui_copy_move_axis then - gui_axis1[name] = axis_indices[fields.worldedit_gui_copy_move_axis] or 4 - worldedit.show_page(name, "worldedit_gui_copy_move") - return true - end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_stack", { @@ -462,24 +558,26 @@ worldedit.register_gui_function("worldedit_gui_stack", { return "size[6.5,3]" .. worldedit.get_formspec_header("worldedit_gui_stack") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_stack_count;Count;%s]", minetest.formspec_escape(count)) .. string.format("dropdown[4,1.18;2.5;worldedit_gui_stack_axis;X axis,Y axis,Z axis,Look direction;%d]", axis) .. + "field_close_on_enter[worldedit_gui_stack_count;false]" .. "button_exit[0,2.5;3,0.8;worldedit_gui_stack_submit;Stack]" end, }) worldedit.register_gui_handler("worldedit_gui_stack", function(name, fields) + local cg = { + worldedit_gui_stack_axis = gui_axis1, + worldedit_gui_stack_count = gui_count1, + } + local ret = handle_changes(name, "worldedit_gui_stack", fields, cg) if fields.worldedit_gui_stack_submit then - gui_axis1[name] = axis_indices[fields.worldedit_gui_stack_axis] - gui_count1[name] = tostring(fields.worldedit_gui_stack_count) + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_stack") - minetest.chatcommands["/stack"].func(name, string.format("%s %s", axis_values[gui_axis1[name]], gui_count1[name])) + + execute_worldedit_command("stack", name, + axis_values[gui_axis1[name]] .. " " .. gui_count1[name]) return true end - if fields.worldedit_gui_stack_axis then - gui_axis1[name] = axis_indices[fields.worldedit_gui_stack_axis] - worldedit.show_page(name, "worldedit_gui_stack") - return true - end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_stretch", { @@ -491,20 +589,29 @@ worldedit.register_gui_function("worldedit_gui_stretch", { string.format("field[0.5,1.5;4,0.8;worldedit_gui_stretch_x;Stretch X;%s]", minetest.formspec_escape(stretchx)) .. string.format("field[0.5,2.5;4,0.8;worldedit_gui_stretch_y;Stretch Y;%s]", minetest.formspec_escape(stretchy)) .. string.format("field[0.5,3.5;4,0.8;worldedit_gui_stretch_z;Stretch Z;%s]", minetest.formspec_escape(stretchz)) .. + "field_close_on_enter[worldedit_gui_stretch_x;false]" .. + "field_close_on_enter[worldedit_gui_stretch_y;false]" .. + "field_close_on_enter[worldedit_gui_stretch_z;false]" .. "button_exit[0,4.5;3,0.8;worldedit_gui_stretch_submit;Stretch]" end, }) worldedit.register_gui_handler("worldedit_gui_stretch", function(name, fields) + local cg = { + worldedit_gui_stretch_x = gui_count1, + worldedit_gui_stretch_y = gui_count2, + worldedit_gui_stretch_z = gui_count3, + } + local ret = handle_changes(name, "worldedit_gui_stretch", fields, cg) if fields.worldedit_gui_stretch_submit then - gui_count1[name] = tostring(fields.worldedit_gui_stretch_x) - gui_count2[name] = tostring(fields.worldedit_gui_stretch_y) - gui_count3[name] = tostring(fields.worldedit_gui_stretch_z) + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_stretch") - minetest.chatcommands["/stretch"].func(name, string.format("%s %s %s", gui_count1[name], gui_count2[name], gui_count3[name])) + + execute_worldedit_command("stretch", name, string.format("%s %s %s", + gui_count1[name], gui_count2[name], gui_count3[name])) return true end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_transpose", { @@ -520,23 +627,19 @@ worldedit.register_gui_function("worldedit_gui_transpose", { }) worldedit.register_gui_handler("worldedit_gui_transpose", function(name, fields) + local cg = { + worldedit_gui_transpose_axis1 = gui_axis1, + worldedit_gui_transpose_axis2 = gui_axis2, + } + local ret = handle_changes(name, "worldedit_gui_transpose", fields, cg) if fields.worldedit_gui_transpose_submit then - gui_axis1[name] = axis_indices[fields.worldedit_gui_transpose_axis1] - worldedit.show_page(name, "worldedit_gui_transpose") - minetest.chatcommands["/transpose"].func(name, string.format("%s %s", axis_values[gui_axis1[name]], axis_values[gui_axis2[name]])) + copy_changes(name, fields, cg) + + execute_worldedit_command("transpose", name, + axis_values[gui_axis1[name]] .. " " .. axis_values[gui_axis2[name]]) return true end - if fields.worldedit_gui_transpose_axis1 then - gui_axis1[name] = axis_indices[fields.worldedit_gui_transpose_axis1] - worldedit.show_page(name, "worldedit_gui_transpose") - return true - end - if fields.worldedit_gui_transpose_axis2 then - gui_axis2[name] = axis_indices[fields.worldedit_gui_transpose_axis2] - worldedit.show_page(name, "worldedit_gui_transpose") - return true - end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_flip", { @@ -551,18 +654,18 @@ worldedit.register_gui_function("worldedit_gui_flip", { }) worldedit.register_gui_handler("worldedit_gui_flip", function(name, fields) + local cg = { + worldedit_gui_flip_axis = gui_axis1 + } + local ret = handle_changes(name, "worldedit_gui_flip", fields, cg) if fields.worldedit_gui_flip_submit then - gui_axis1[name] = axis_indices[fields.worldedit_gui_flip_axis] + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_flip") - minetest.chatcommands["/flip"].func(name, axis_values[gui_axis1[name]]) + + execute_worldedit_command("flip", name, axis_values[gui_axis1[name]]) return true end - if fields.worldedit_gui_flip_axis then - gui_axis1[name] = axis_indices[fields.worldedit_gui_flip_axis] - worldedit.show_page(name, "worldedit_gui_flip") - return true - end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_rotate", { @@ -578,24 +681,20 @@ worldedit.register_gui_function("worldedit_gui_rotate", { }) worldedit.register_gui_handler("worldedit_gui_rotate", function(name, fields) + local cg = { + worldedit_gui_rotate_axis = gui_axis1, + worldedit_gui_rotate_angle = gui_angle, + } + local ret = handle_changes(name, "worldedit_gui_rotate", fields, cg) if fields.worldedit_gui_rotate_submit then - gui_axis1[name] = axis_indices[fields.worldedit_gui_rotate_axis] - gui_angle[name] = angle_indices[fields.worldedit_gui_rotate_angle] + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_rotate") - minetest.chatcommands["/rotate"].func(name, string.format("%s %s", axis_values[gui_axis1[name]], angle_values[gui_angle[name]])) + + execute_worldedit_command("rotate", name, + axis_values[gui_axis1[name]] .. " " .. angle_values[gui_angle[name]]) return true end - if fields.worldedit_gui_rotate_axis then - gui_axis1[name] = axis_indices[fields.worldedit_gui_rotate_axis] - worldedit.show_page(name, "worldedit_gui_rotate") - return true - end - if fields.worldedit_gui_rotate_angle then - gui_angle[name] = angle_indices[fields.worldedit_gui_rotate_angle] - worldedit.show_page(name, "worldedit_gui_rotate") - return true - end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_orient", { @@ -610,25 +709,26 @@ worldedit.register_gui_function("worldedit_gui_orient", { }) worldedit.register_gui_handler("worldedit_gui_orient", function(name, fields) + local cg = { + worldedit_gui_orient_angle = gui_angle, + } + local ret = handle_changes(name, "worldedit_gui_orient", fields, cg) if fields.worldedit_gui_orient_submit then - gui_angle[name] = angle_indices[fields.worldedit_gui_orient_angle] + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_orient") - minetest.chatcommands["/orient"].func(name, tostring(angle_values[gui_angle[name]])) + + execute_worldedit_command("orient", name, + tostring(angle_values[gui_angle[name]])) return true end - if fields.worldedit_gui_orient_angle then - gui_angle[name] = angle_indices[fields.worldedit_gui_orient_angle] - worldedit.show_page(name, "worldedit_gui_orient") - return true - end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_fixlight", { name = "Fix Lighting", privs = we_privs("fixlight"), on_select = function(name) - minetest.chatcommands["/fixlight"].func(name, "") + execute_worldedit_command("fixlight", name, "") end, }) @@ -636,7 +736,7 @@ worldedit.register_gui_function("worldedit_gui_hide", { name = "Hide Region", privs = we_privs("hide"), on_select = function(name) - minetest.chatcommands["/hide"].func(name, "") + execute_worldedit_command("hide", name, "") end, }) @@ -648,6 +748,7 @@ worldedit.register_gui_function("worldedit_gui_suppress", { local nodename = worldedit.normalize_nodename(node) return "size[6.5,3]" .. worldedit.get_formspec_header("worldedit_gui_suppress") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_suppress_node;Name;%s]", minetest.formspec_escape(node)) .. + "field_close_on_enter[worldedit_gui_suppress_node;false]" .. "button[4,1.18;1.5,0.8;worldedit_gui_suppress_search;Search]" .. formspec_node("5.5,1.1", nodename) .. "button_exit[0,2.5;3,0.8;worldedit_gui_suppress_submit;Suppress Nodes]" @@ -655,18 +756,22 @@ worldedit.register_gui_function("worldedit_gui_suppress", { }) worldedit.register_gui_handler("worldedit_gui_suppress", function(name, fields) - if fields.worldedit_gui_suppress_search or fields.worldedit_gui_suppress_submit then - gui_nodename1[name] = tostring(fields.worldedit_gui_suppress_node) + local cg = { + worldedit_gui_suppress_search = true, + worldedit_gui_suppress_node = gui_nodename1, + } + local ret = handle_changes(name, "worldedit_gui_suppress", fields, cg) + if fields.worldedit_gui_suppress_submit then + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_suppress") - if fields.worldedit_gui_suppress_submit then - local n = worldedit.normalize_nodename(gui_nodename1[name]) - if n then - minetest.chatcommands["/suppress"].func(name, n) - end + + local n = worldedit.normalize_nodename(gui_nodename1[name]) + if n then + execute_worldedit_command("suppress", name, n) end return true end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_highlight", { @@ -677,6 +782,7 @@ worldedit.register_gui_function("worldedit_gui_highlight", { local nodename = worldedit.normalize_nodename(node) return "size[6.5,3]" .. worldedit.get_formspec_header("worldedit_gui_highlight") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_highlight_node;Name;%s]", minetest.formspec_escape(node)) .. + "field_close_on_enter[worldedit_gui_highlight_node;false]" .. "button[4,1.18;1.5,0.8;worldedit_gui_highlight_search;Search]" .. formspec_node("5.5,1.1", nodename) .. "button_exit[0,2.5;3,0.8;worldedit_gui_highlight_submit;Highlight Nodes]" @@ -684,25 +790,29 @@ worldedit.register_gui_function("worldedit_gui_highlight", { }) worldedit.register_gui_handler("worldedit_gui_highlight", function(name, fields) - if fields.worldedit_gui_highlight_search or fields.worldedit_gui_highlight_submit then - gui_nodename1[name] = tostring(fields.worldedit_gui_highlight_node) + local cg = { + worldedit_gui_highlight_search = true, + worldedit_gui_highlight_node = gui_nodename1, + } + local ret = handle_changes(name, "worldedit_gui_highlight", fields, cg) + if fields.worldedit_gui_highlight_submit then + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_highlight") - if fields.worldedit_gui_highlight_submit then - local n = worldedit.normalize_nodename(gui_nodename1[name]) - if n then - minetest.chatcommands["/highlight"].func(name, n) - end + + local n = worldedit.normalize_nodename(gui_nodename1[name]) + if n then + execute_worldedit_command("highlight", name, n) end return true end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_restore", { name = "Restore Region", privs = we_privs("restore"), on_select = function(name) - minetest.chatcommands["/restore"].func(name, "") + execute_worldedit_command("restore", name, "") end, }) @@ -713,6 +823,7 @@ worldedit.register_gui_function("worldedit_gui_save_load", { local filename = gui_filename[name] return "size[6,4]" .. worldedit.get_formspec_header("worldedit_gui_save_load") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_save_filename;Filename;%s]", minetest.formspec_escape(filename)) .. + "field_close_on_enter[worldedit_gui_save_filename;false]" .. "button_exit[0,2.5;3,0.8;worldedit_gui_save_load_submit_save;Save]" .. "button_exit[3,2.5;3,0.8;worldedit_gui_save_load_submit_allocate;Allocate]" .. "button_exit[0,3.5;3,0.8;worldedit_gui_save_load_submit_load;Load]" @@ -723,12 +834,13 @@ worldedit.register_gui_handler("worldedit_gui_save_load", function(name, fields) if fields.worldedit_gui_save_load_submit_save or fields.worldedit_gui_save_load_submit_allocate or fields.worldedit_gui_save_load_submit_load then gui_filename[name] = tostring(fields.worldedit_gui_save_filename) worldedit.show_page(name, "worldedit_gui_save_load") + if fields.worldedit_gui_save_load_submit_save then - minetest.chatcommands["/save"].func(name, gui_filename[name]) + execute_worldedit_command("save", name, gui_filename[name]) elseif fields.worldedit_gui_save_load_submit_allocate then - minetest.chatcommands["/allocate"].func(name, gui_filename[name]) + execute_worldedit_command("allocate", name, gui_filename[name]) else --fields.worldedit_gui_save_load_submit_load - minetest.chatcommands["/load"].func(name, gui_filename[name]) + execute_worldedit_command("load", name, gui_filename[name]) end return true end @@ -736,7 +848,7 @@ worldedit.register_gui_handler("worldedit_gui_save_load", function(name, fields) end) worldedit.register_gui_function("worldedit_gui_cube", { - name = "Cuboid", -- technically the command is misnamed, I know... + name = "Cube", privs = combine_we_privs({"hollowcube", "cube"}), get_formspec = function(name) local width, height, length = gui_distance1[name], gui_distance2[name], gui_distance3[name] @@ -744,47 +856,51 @@ worldedit.register_gui_function("worldedit_gui_cube", { local nodename = worldedit.normalize_nodename(node) return "size[6.5,4]" .. worldedit.get_formspec_header("worldedit_gui_cube") .. string.format("field[0.5,1.5;4,0.8;worldedit_gui_cube_node;Name;%s]", minetest.formspec_escape(node)) .. + "field_close_on_enter[worldedit_gui_cube_node;false]" .. "button[4,1.18;1.5,0.8;worldedit_gui_cube_search;Search]" .. formspec_node("5.5,1.1", nodename) .. string.format("field[0.5,2.5;1,0.8;worldedit_gui_cube_width;Width;%s]", minetest.formspec_escape(width)) .. string.format("field[1.5,2.5;1,0.8;worldedit_gui_cube_height;Height;%s]", minetest.formspec_escape(height)) .. string.format("field[2.5,2.5;1,0.8;worldedit_gui_cube_length;Length;%s]", minetest.formspec_escape(length)) .. + "field_close_on_enter[worldedit_gui_cube_width;false]" .. + "field_close_on_enter[worldedit_gui_cube_height;false]" .. + "field_close_on_enter[worldedit_gui_cube_length;false]" .. "button_exit[0,3.5;3,0.8;worldedit_gui_cube_submit_hollow;Hollow Cuboid]" .. "button_exit[3.5,3.5;3,0.8;worldedit_gui_cube_submit_solid;Solid Cuboid]" end, }) worldedit.register_gui_handler("worldedit_gui_cube", function(name, fields) - if fields.worldedit_gui_cube_search - or fields.worldedit_gui_cube_submit_hollow or fields.worldedit_gui_cube_submit_solid then - gui_nodename1[name] = tostring(fields.worldedit_gui_cube_node) - gui_distance1[name] = tostring(fields.worldedit_gui_cube_width) - gui_distance2[name] = tostring(fields.worldedit_gui_cube_height) - gui_distance3[name] = tostring(fields.worldedit_gui_cube_length) + local cg = { + worldedit_gui_cube_search = true, + worldedit_gui_cube_node = gui_nodename1, + worldedit_gui_cube_width = gui_distance1, + worldedit_gui_cube_height = gui_distance2, + worldedit_gui_cube_length = gui_distance3, + } + local ret = handle_changes(name, "worldedit_gui_cube", fields, cg) + if fields.worldedit_gui_cube_submit_hollow or fields.worldedit_gui_cube_submit_solid then + copy_changes(name, fields, cg) worldedit.show_page(name, "worldedit_gui_cube") - local submit = nil - if fields.worldedit_gui_cube_submit_hollow then - submit = "hollowcube" - elseif fields.worldedit_gui_cube_submit_solid then + local submit = "hollowcube" + if fields.worldedit_gui_cube_submit_solid then submit = "cube" end - if submit then - local n = worldedit.normalize_nodename(gui_nodename1[name]) - if n then - local args = string.format("%s %s %s %s", gui_distance1[name], gui_distance2[name], gui_distance3[name], n) - minetest.chatcommands["/"..submit].func(name, args) - end + local n = worldedit.normalize_nodename(gui_nodename1[name]) + if n then + local args = string.format("%s %s %s %s", gui_distance1[name], gui_distance2[name], gui_distance3[name], n) + execute_worldedit_command(submit, name, args) end return true end - return false + return ret end) worldedit.register_gui_function("worldedit_gui_clearobjects", { name = "Clear Objects", privs = we_privs("clearobjects"), on_select = function(name) - minetest.chatcommands["/clearobjects"].func(name, "") + execute_worldedit_command("clearobjects", name, "") end, }) diff --git a/worldedit/worldedit_gui/init.lua b/worldedit/worldedit_gui/init.lua index b88a82e..08ecc1b 100644 --- a/worldedit/worldedit_gui/init.lua +++ b/worldedit/worldedit_gui/init.lua @@ -70,7 +70,7 @@ local get_formspec = function(name, identifier) end --implement worldedit.show_page(name, page) in different ways depending on the available APIs -if rawget(_G, "unified_inventory") then --unified inventory installed +if minetest.global_exists("unified_inventory") then -- unified inventory installed local old_func = worldedit.register_gui_function worldedit.register_gui_function = function(identifier, options) old_func(identifier, options) @@ -80,6 +80,9 @@ if rawget(_G, "unified_inventory") then --unified inventory installed unified_inventory.register_button("worldedit_gui", { type = "image", image = "inventory_plus_worldedit_gui.png", + condition = function(player) + return minetest.check_player_privs(player:get_player_name(), {worldedit=true}) + end, }) minetest.register_on_player_receive_fields(function(player, formname, fields) @@ -103,7 +106,7 @@ if rawget(_G, "unified_inventory") then --unified inventory installed player:set_inventory_formspec(get_formspec(name, page)) end end -elseif rawget(_G, "inventory_plus") then --inventory++ installed +elseif minetest.global_exists("inventory_plus") then -- inventory++ installed minetest.register_on_joinplayer(function(player) local can_worldedit = minetest.check_player_privs(player:get_player_name(), {worldedit=true}) if can_worldedit then @@ -134,7 +137,7 @@ elseif rawget(_G, "inventory_plus") then --inventory++ installed inventory_plus.set_inventory_formspec(player, get_formspec(name, page)) end end -elseif rawget(_G, "smart_inventory") then -- smart_inventory installed +elseif minetest.global_exists("smart_inventory") then -- smart_inventory installed -- redefinition: Update the code element on inventory page to show the we-page function worldedit.show_page(name, page) local state = smart_inventory.get_page_state("worldedit_gui", name) @@ -183,7 +186,7 @@ elseif rawget(_G, "smart_inventory") then -- smart_inventory installed smartfs_callback = smart_worldedit_gui_callback, sequence = 99 }) -elseif rawget(_G, "sfinv") then --sfinv installed (part of minetest_game since 0.4.15) +elseif minetest.global_exists("sfinv") then -- sfinv installed assert(sfinv.enabled) local orig_get = sfinv.pages["sfinv:crafting"].get sfinv.override_page("sfinv:crafting", { @@ -194,21 +197,13 @@ elseif rawget(_G, "sfinv") then --sfinv installed (part of minetest_game since 0 end }) - --compatibility with pre-0.4.16 sfinv - local set_page = sfinv.set_page or function(player, name) - --assumptions: src pg has no leave callback, dst pg has no enter callback - local ctx = {page=name} - sfinv.contexts[player:get_player_name()] = ctx - sfinv.set_player_inventory_formspec(player, ctx) - end - --show the form when the button is pressed and hide it when done minetest.register_on_player_receive_fields(function(player, formname, fields) if fields.worldedit_gui then --main page worldedit.show_page(player:get_player_name(), "worldedit_gui") return true elseif fields.worldedit_gui_exit then --return to original page - set_page(player, "sfinv:crafting") + sfinv.set_page(player, "sfinv:crafting") return true end return false @@ -222,11 +217,11 @@ elseif rawget(_G, "sfinv") then --sfinv installed (part of minetest_game since 0 end else error( - "worldedit_gui requires a supported \"gui management\" mod to be installed\n".. - "To use the GUI you need to either\n".. - "* Use minetest_game (at least 0.4.15) or a subgame with compatible sfinv\n".. - "* Install Unified Inventory or Inventory++\n".. - "If you do not want to use worldedit_gui, disable it by editing world.mt or from the Main Menu" + "worldedit_gui requires a supported gui management mod to be installed.\n".. + "To use the it you need to either:\n".. + "* use minetest_game or another sfinv-compatible subgame\n".. + "* install Unified Inventory, Inventory++ or Smart Inventory\n".. + "If you don't want to use worldedit_gui, disable it by editing world.mt or from the main menu." ) end diff --git a/worldedit/worldedit_gui/mod.conf b/worldedit/worldedit_gui/mod.conf new file mode 100644 index 0000000..d5b2fd5 --- /dev/null +++ b/worldedit/worldedit_gui/mod.conf @@ -0,0 +1,4 @@ +name = worldedit_gui +description = WorldEdit GUI +depends = worldedit, worldedit_commands +optional_depends = unified_inventory, inventory_plus, sfinv, creative, smart_inventory diff --git a/worldedit/worldedit_shortcommands/depends.txt b/worldedit/worldedit_shortcommands/depends.txt deleted file mode 100644 index de1cb6c..0000000 --- a/worldedit/worldedit_shortcommands/depends.txt +++ /dev/null @@ -1 +0,0 @@ -worldedit_commands diff --git a/worldedit/worldedit_shortcommands/init.lua b/worldedit/worldedit_shortcommands/init.lua index da02b75..5f755cc 100644 --- a/worldedit/worldedit_shortcommands/init.lua +++ b/worldedit/worldedit_shortcommands/init.lua @@ -1,52 +1,52 @@ --provides shorter names for the commands in `worldedit_commands` ---returns true if command could not be aliased, false otherwise -worldedit.alias_chatcommand = function(alias, original_command) - if not minetest.chatcommands[original_command] then - minetest.log("error", "worldedit_shortcommands: original command " .. original_command .. " does not exist") - return true +worldedit.alias_command = function(alias, original) + if not worldedit.registered_commands[original] then + minetest.log("error", "worldedit_shortcommands: original " .. original .. " does not exist") + return end - if minetest.chatcommands[alias] then + if minetest.chatcommands["/" .. alias] then minetest.log("error", "worldedit_shortcommands: alias " .. alias .. " already exists") - return true + return end - minetest.register_chatcommand(alias, minetest.chatcommands[original_command]) - return false + + minetest.register_chatcommand("/" .. alias, minetest.chatcommands["/" .. original]) + worldedit.registered_commands[alias] = worldedit.registered_commands[original] end -worldedit.alias_chatcommand("/i", "/inspect") -worldedit.alias_chatcommand("/rst", "/reset") -worldedit.alias_chatcommand("/mk", "/mark") -worldedit.alias_chatcommand("/umk", "/unmark") -worldedit.alias_chatcommand("/1", "/pos1") -worldedit.alias_chatcommand("/2", "/pos2") -worldedit.alias_chatcommand("/fp", "/fixedpos") -worldedit.alias_chatcommand("/v", "/volume") -worldedit.alias_chatcommand("/s", "/set") -worldedit.alias_chatcommand("/r", "/replace") -worldedit.alias_chatcommand("/ri", "/replaceinverse") -worldedit.alias_chatcommand("/hcube", "/hollowcube") -worldedit.alias_chatcommand("/hspr", "/hollowsphere") -worldedit.alias_chatcommand("/spr", "/sphere") -worldedit.alias_chatcommand("/hdo", "/hollowdome") -worldedit.alias_chatcommand("/do", "/dome") -worldedit.alias_chatcommand("/hcyl", "/hollowcylinder") -worldedit.alias_chatcommand("/cyl", "/cylinder") -worldedit.alias_chatcommand("/hpyr", "/hollowpyramid") -worldedit.alias_chatcommand("/pyr", "/pyramid") -worldedit.alias_chatcommand("/spl", "/spiral") -worldedit.alias_chatcommand("/m", "/move") -worldedit.alias_chatcommand("/c", "/copy") -worldedit.alias_chatcommand("/stk", "/stack") -worldedit.alias_chatcommand("/sch", "/stretch") -worldedit.alias_chatcommand("/tps", "/transpose") -worldedit.alias_chatcommand("/fl", "/flip") -worldedit.alias_chatcommand("/rot", "/rotate") -worldedit.alias_chatcommand("/ort", "/orient") -worldedit.alias_chatcommand("/hi", "/hide") -worldedit.alias_chatcommand("/sup", "/suppress") -worldedit.alias_chatcommand("/hlt", "/highlight") -worldedit.alias_chatcommand("/rsr", "/restore") -worldedit.alias_chatcommand("/l", "/lua") -worldedit.alias_chatcommand("/lt", "/luatransform") -worldedit.alias_chatcommand("/clro", "/clearobjects") +worldedit.alias_command("i", "inspect") +worldedit.alias_command("rst", "reset") +worldedit.alias_command("mk", "mark") +worldedit.alias_command("umk", "unmark") +worldedit.alias_command("1", "pos1") +worldedit.alias_command("2", "pos2") +worldedit.alias_command("fp", "fixedpos") +worldedit.alias_command("v", "volume") +worldedit.alias_command("s", "set") +worldedit.alias_command("r", "replace") +worldedit.alias_command("ri", "replaceinverse") +worldedit.alias_command("hcube", "hollowcube") +worldedit.alias_command("hspr", "hollowsphere") +worldedit.alias_command("spr", "sphere") +worldedit.alias_command("hdo", "hollowdome") +worldedit.alias_command("do", "dome") +worldedit.alias_command("hcyl", "hollowcylinder") +worldedit.alias_command("cyl", "cylinder") +worldedit.alias_command("hpyr", "hollowpyramid") +worldedit.alias_command("pyr", "pyramid") +worldedit.alias_command("spl", "spiral") +worldedit.alias_command("m", "move") +worldedit.alias_command("c", "copy") +worldedit.alias_command("stk", "stack") +worldedit.alias_command("sch", "stretch") +worldedit.alias_command("tps", "transpose") +worldedit.alias_command("fl", "flip") +worldedit.alias_command("rot", "rotate") +worldedit.alias_command("ort", "orient") +worldedit.alias_command("hi", "hide") +worldedit.alias_command("sup", "suppress") +worldedit.alias_command("hlt", "highlight") +worldedit.alias_command("rsr", "restore") +worldedit.alias_command("l", "lua") +worldedit.alias_command("lt", "luatransform") +worldedit.alias_command("clro", "clearobjects") diff --git a/worldedit/worldedit_shortcommands/mod.conf b/worldedit/worldedit_shortcommands/mod.conf new file mode 100644 index 0000000..8df801c --- /dev/null +++ b/worldedit/worldedit_shortcommands/mod.conf @@ -0,0 +1,3 @@ +name = worldedit_shortcommands +description = WorldEdit command short aliases +depends = worldedit_commands

      (_P^-2Kl$?m9?{~vax(=rKco~aX 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 -beyondlimits <> - diff --git a/realchess/LICENSE b/realchess/LICENSE deleted file mode 100644 index d9cfc4c..0000000 --- a/realchess/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - -Copyright (C) 2004 Sam Hocevar - -Everyone is permitted to copy and distribute verbatim or modified -copies of this license document, and changing it is allowed as long -as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/realchess/README.md b/realchess/README.md deleted file mode 100644 index 551bc44..0000000 --- a/realchess/README.md +++ /dev/null @@ -1,3 +0,0 @@ -A mod for Minetest to play a realistic chess game (GUI-based). - -![Preview](https://i.imgur.com/xNwxC5Y.png) diff --git a/realchess/depends.txt b/realchess/depends.txt deleted file mode 100644 index 0a162e6..0000000 --- a/realchess/depends.txt +++ /dev/null @@ -1,4 +0,0 @@ -default -stairs -dye - diff --git a/realchess/description.txt b/realchess/description.txt deleted file mode 100644 index 94bef31..0000000 --- a/realchess/description.txt +++ /dev/null @@ -1 +0,0 @@ -Play a life-like chess game (formspec-based). diff --git a/realchess/init.lua b/realchess/init.lua deleted file mode 100644 index f037eee..0000000 --- a/realchess/init.lua +++ /dev/null @@ -1,892 +0,0 @@ -local realchess = {} -screwdriver = screwdriver or {} - -local function index_to_xy(idx) - idx = idx - 1 - local x = idx % 8 - local y = (idx - x) / 8 - return x, y -end - -local function xy_to_index(x, y) - return x + y * 8 + 1 -end - -local function get_square(a, b) - return (a * 8) - (8 - b) -end - -local chat_prefix = minetest.colorize("#FFFF00", "[Chess] ") -local letters = {'A','B','C','D','E','F','G','H'} - -local rowDirs = {-1, -1, -1, 0, 0, 1, 1, 1} -local colDirs = {-1, 0, 1, -1, 1, -1, 0, 1} - -local bishopThreats = {true, false, true, false, false, true, false, true} -local rookThreats = {false, true, false, true, true, false, true, false} -local queenThreats = {true, true, true, true, true, true, true, true} -local kingThreats = {true, true, true, true, true, true, true, true} - -local function board_to_table(inv) - local t = {} - for i = 1, 64 do - t[#t + 1] = inv:get_stack("board", i):get_name() - end - - return t -end - -local function attacked(color, idx, board) - local threatDetected = false - local kill = color == "white" - local pawnThreats = {kill, false, kill, false, false, not kill, false, not kill} - - for dir = 1, 8 do - if not threatDetected then - local col, row = index_to_xy(idx) - col, row = col + 1, row + 1 - - for step = 1, 8 do - row = row + rowDirs[dir] - col = col + colDirs[dir] - - if row >= 1 and row <= 8 and col >= 1 and col <= 8 then - local square = get_square(row, col) - local square_name = board[square] - local piece, pieceColor = square_name:match(":(%w+)_(%w+)") - - if piece then - if pieceColor ~= color then - if piece == "bishop" and bishopThreats[dir] then - threatDetected = true - elseif piece == "rook" and rookThreats[dir] then - threatDetected = true - elseif piece == "queen" and queenThreats[dir] then - threatDetected = true - else - if step == 1 then - if piece == "pawn" and pawnThreats[dir] then - threatDetected = true - end - if piece == "king" and kingThreats[dir] then - threatDetected = true - end - end - end - end - break - end - end - end - end - end - - return threatDetected -end - -local function locate_kings(board) - local Bidx, Widx - for i = 1, 64 do - local piece, color = board[i]:match(":(%w+)_(%w+)") - if piece == "king" then - if color == "black" then - Bidx = i - else - Widx = i - end - end - end - - return Bidx, Widx -end - -local pieces = { - "realchess:rook_black_1", - "realchess:knight_black_1", - "realchess:bishop_black_1", - "realchess:queen_black", - "realchess:king_black", - "realchess:bishop_black_2", - "realchess:knight_black_2", - "realchess:rook_black_2", - "realchess:pawn_black_1", - "realchess:pawn_black_2", - "realchess:pawn_black_3", - "realchess:pawn_black_4", - "realchess:pawn_black_5", - "realchess:pawn_black_6", - "realchess:pawn_black_7", - "realchess:pawn_black_8", - '','','','','','','','','','','','','','','','', - '','','','','','','','','','','','','','','','', - "realchess:pawn_white_1", - "realchess:pawn_white_2", - "realchess:pawn_white_3", - "realchess:pawn_white_4", - "realchess:pawn_white_5", - "realchess:pawn_white_6", - "realchess:pawn_white_7", - "realchess:pawn_white_8", - "realchess:rook_white_1", - "realchess:knight_white_1", - "realchess:bishop_white_1", - "realchess:queen_white", - "realchess:king_white", - "realchess:bishop_white_2", - "realchess:knight_white_2", - "realchess:rook_white_2" -} - -local pieces_str, x = "", 0 -for i = 1, #pieces do - local p = pieces[i]:match(":(%w+_%w+)") - if pieces[i]:find(":(%w+)_(%w+)") and not pieces_str:find(p) then - pieces_str = pieces_str .. x .. "=" .. p .. ".png," - x = x + 1 - end -end -pieces_str = pieces_str .. "69=mailbox_blank16.png" - -local fs = [[ - size[14.7,10;] - no_prepend[] - bgcolor[#080808BB;true] - background[0,0;14.7,10;chess_bg.png] - list[context;board;0.3,1;8,8;] - listcolors[#00000000;#00000000;#00000000;#30434C;#FFF] - tableoptions[background=#00000000;highlight=#00000000;border=false] - button[10.5,8.5;2,2;new;New game] -]] .. "tablecolumns[image," .. pieces_str .. - ";text;color;text;color;text;image," .. pieces_str .. "]" - -local function get_moves_list(meta, pieceFrom, pieceTo, pieceTo_s, from_x, to_x, from_y, to_y) - local moves = meta:get_string("moves") - local pieceFrom_s = pieceFrom:match(":(%w+_%w+)") - local pieceFrom_si_id = pieces_str:match("(%d+)=" .. pieceFrom_s) - local pieceTo_si_id = pieceTo_s ~= "" and pieces_str:match("(%d+)=" .. pieceTo_s) or "" - - local coordFrom = letters[from_x + 1] .. math.abs(from_y - 8) - local coordTo = letters[to_x + 1] .. math.abs(to_y - 8) - - local new_moves = pieceFrom_si_id .. "," .. - coordFrom .. "," .. - (pieceTo ~= "" and "#33FF33" or "#FFFFFF") .. ", > ,#FFFFFF," .. - coordTo .. "," .. - (pieceTo ~= "" and pieceTo_si_id or "69") .. "," .. - moves - - meta:set_string("moves", new_moves) -end - -local function get_eaten_list(meta, pieceTo, pieceTo_s) - local eaten = meta:get_string("eaten") - if pieceTo ~= "" then - eaten = eaten .. pieceTo_s .. "," - end - - meta:set_string("eaten", eaten) - - local eaten_t = string.split(eaten, ",") - local eaten_img = "" - - local a, b = 0, 0 - for i = 1, #eaten_t do - local is_white = eaten_t[i]:sub(-5,-1) == "white" - local X = (is_white and a or b) % 4 - local Y = ((is_white and a or b) % 16 - X) / 4 - - if is_white then - a = a + 1 - else - b = b + 1 - end - - eaten_img = eaten_img .. - "image[" .. ((X + (is_white and 11.7 or 8.8)) - (X * 0.45)) .. "," .. - ((Y + 5.56) - (Y * 0.2)) .. ";1,1;" .. eaten_t[i] .. ".png]" - end - - meta:set_string("eaten_img", eaten_img) -end - -function realchess.init(pos) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - - meta:set_string("formspec", fs) - meta:set_string("infotext", "Chess Board") - meta:set_string("playerBlack", "") - meta:set_string("playerWhite", "") - meta:set_string("lastMove", "") - meta:set_string("blackAttacked", "") - meta:set_string("whiteAttacked", "") - - meta:set_int("lastMoveTime", 0) - meta:set_int("castlingBlackL", 1) - meta:set_int("castlingBlackR", 1) - meta:set_int("castlingWhiteL", 1) - meta:set_int("castlingWhiteR", 1) - - meta:set_string("moves", "") - meta:set_string("eaten", "") - - inv:set_list("board", pieces) - inv:set_size("board", 64) -end - -function realchess.move(pos, from_list, from_index, to_list, to_index, _, player) - if from_list ~= "board" and to_list ~= "board" then - return 0 - end - - local meta = minetest.get_meta(pos) - local playerName = player:get_player_name() - local inv = meta:get_inventory() - local pieceFrom = inv:get_stack(from_list, from_index):get_name() - local pieceTo = inv:get_stack(to_list, to_index):get_name() - local lastMove = meta:get_string("lastMove") - local playerWhite = meta:get_string("playerWhite") - local playerBlack = meta:get_string("playerBlack") - local thisMove -- Will replace lastMove when move is legal - - if pieceFrom:find("white") then - if playerWhite ~= "" and playerWhite ~= playerName then - minetest.chat_send_player(playerName, chat_prefix .. "Someone else plays white pieces!") - return 0 - end - - if lastMove ~= "" and lastMove ~= "black" then - return 0 - end - - if pieceTo:find("white") then - -- Don't replace pieces of same color - return 0 - end - - playerWhite = playerName - thisMove = "white" - - elseif pieceFrom:find("black") then - if playerBlack ~= "" and playerBlack ~= playerName then - minetest.chat_send_player(playerName, chat_prefix .. "Someone else plays black pieces!") - return 0 - end - - if lastMove ~= "" and lastMove ~= "white" then - return 0 - end - - if pieceTo:find("black") then - -- Don't replace pieces of same color - return 0 - end - - playerBlack = playerName - thisMove = "black" - end - - -- MOVE LOGIC - - local from_x, from_y = index_to_xy(from_index) - local to_x, to_y = index_to_xy(to_index) - - -- PAWN - if pieceFrom:sub(11,14) == "pawn" then - if thisMove == "white" then - local pawnWhiteMove = inv:get_stack(from_list, xy_to_index(from_x, from_y - 1)):get_name() - -- white pawns can go up only - if from_y - 1 == to_y then - if from_x == to_x then - if pieceTo ~= "" then - return 0 - elseif to_index >= 1 and to_index <= 8 then - inv:set_stack(from_list, from_index, "realchess:queen_white") - end - elseif from_x - 1 == to_x or from_x + 1 == to_x then - if not pieceTo:find("black") then - return 0 - elseif to_index >= 1 and to_index <= 8 then - inv:set_stack(from_list, from_index, "realchess:queen_white") - end - else - return 0 - end - elseif from_y - 2 == to_y then - if pieceTo ~= "" or from_y < 6 or pawnWhiteMove ~= "" then - return 0 - end - else - return 0 - end - - --[[ - if x not changed - ensure that destination cell is empty - elseif x changed one unit left or right - ensure the pawn is killing opponent piece - else - move is not legal - abort - ]] - - if from_x == to_x then - if pieceTo ~= "" then - return 0 - end - elseif from_x - 1 == to_x or from_x + 1 == to_x then - if not pieceTo:find("black") then - return 0 - end - else - return 0 - end - - elseif thisMove == "black" then - local pawnBlackMove = inv:get_stack(from_list, xy_to_index(from_x, from_y + 1)):get_name() - -- black pawns can go down only - if from_y + 1 == to_y then - if from_x == to_x then - if pieceTo ~= "" then - return 0 - elseif to_index >= 57 and to_index <= 64 then - inv:set_stack(from_list, from_index, "realchess:queen_black") - end - elseif from_x - 1 == to_x or from_x + 1 == to_x then - if not pieceTo:find("white") then - return 0 - elseif to_index >= 57 and to_index <= 64 then - inv:set_stack(from_list, from_index, "realchess:queen_black") - end - else - return 0 - end - elseif from_y + 2 == to_y then - if pieceTo ~= "" or from_y > 1 or pawnBlackMove ~= "" then - return 0 - end - else - return 0 - end - - --[[ - if x not changed - ensure that destination cell is empty - elseif x changed one unit left or right - ensure the pawn is killing opponent piece - else - move is not legal - abort - ]] - - if from_x == to_x then - if pieceTo ~= "" then - return 0 - end - elseif from_x - 1 == to_x or from_x + 1 == to_x then - if not pieceTo:find("white") then - return 0 - end - else - return 0 - end - else - return 0 - end - - -- ROOK - elseif pieceFrom:sub(11,14) == "rook" then - if from_x == to_x then - -- Moving vertically - if from_y < to_y then - -- Moving down - -- Ensure that no piece disturbs the way - for i = from_y + 1, to_y - 1 do - if inv:get_stack(from_list, xy_to_index(from_x, i)):get_name() ~= "" then - return 0 - end - end - else - -- Mocing up - -- Ensure that no piece disturbs the way - for i = to_y + 1, from_y - 1 do - if inv:get_stack(from_list, xy_to_index(from_x, i)):get_name() ~= "" then - return 0 - end - end - end - elseif from_y == to_y then - -- Mocing horizontally - if from_x < to_x then - -- mocing right - -- ensure that no piece disturbs the way - for i = from_x + 1, to_x - 1 do - if inv:get_stack(from_list, xy_to_index(i, from_y)):get_name() ~= "" then - return 0 - end - end - else - -- Mocing left - -- Ensure that no piece disturbs the way - for i = to_x + 1, from_x - 1 do - if inv:get_stack(from_list, xy_to_index(i, from_y)):get_name() ~= "" then - return 0 - end - end - end - else - -- Attempt to move arbitrarily -> abort - return 0 - end - - if thisMove == "white" or thisMove == "black" then - if pieceFrom:sub(-1) == "1" then - meta:set_int("castlingWhiteL", 0) - elseif pieceFrom:sub(-1) == "2" then - meta:set_int("castlingWhiteR", 0) - end - end - - -- KNIGHT - elseif pieceFrom:sub(11,16) == "knight" then - -- Get relative pos - local dx = from_x - to_x - local dy = from_y - to_y - - -- Get absolute values - if dx < 0 then dx = -dx end - if dy < 0 then dy = -dy end - - -- Sort x and y - if dx > dy then dx, dy = dy, dx end - - -- Ensure that dx == 1 and dy == 2 - if dx ~= 1 or dy ~= 2 then - return 0 - end - -- Just ensure that destination cell does not contain friend piece - -- ^ It was done already thus everything ok - - -- BISHOP - elseif pieceFrom:sub(11,16) == "bishop" then - -- Get relative pos - local dx = from_x - to_x - local dy = from_y - to_y - - -- Get absolute values - if dx < 0 then dx = -dx end - if dy < 0 then dy = -dy end - - -- Ensure dx and dy are equal - if dx ~= dy then return 0 end - - if from_x < to_x then - if from_y < to_y then - -- Moving right-down - -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x + i, from_y + i)):get_name() ~= "" then - return 0 - end - end - else - -- Moving right-up - -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x + i, from_y - i)):get_name() ~= "" then - return 0 - end - end - end - else - if from_y < to_y then - -- Moving left-down - -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x - i, from_y + i)):get_name() ~= "" then - return 0 - end - end - else - -- Moving left-up - -- ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x - i, from_y - i)):get_name() ~= "" then - return 0 - end - end - end - end - - -- QUEEN - elseif pieceFrom:sub(11,15) == "queen" then - local dx = from_x - to_x - local dy = from_y - to_y - - -- Get absolute values - if dx < 0 then dx = -dx end - if dy < 0 then dy = -dy end - - -- Ensure valid relative move - if dx ~= 0 and dy ~= 0 and dx ~= dy then - return 0 - end - - if from_x == to_x then - if from_y < to_y then - -- Goes down - -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x, from_y + i)):get_name() ~= "" then - return 0 - end - end - else - -- Goes up - -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x, from_y - i)):get_name() ~= "" then - return 0 - end - end - end - elseif from_x < to_x then - if from_y == to_y then - -- Goes right - -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x + i, from_y)):get_name() ~= "" then - return 0 - end - end - elseif from_y < to_y then - -- Goes right-down - -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x + i, from_y + i)):get_name() ~= "" then - return 0 - end - end - else - -- Goes right-up - -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x + i, from_y - i)):get_name() ~= "" then - return 0 - end - end - end - else - if from_y == to_y then - -- Goes left - -- Ensure that no piece disturbs the way and destination cell does - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x - i, from_y)):get_name() ~= "" then - return 0 - end - end - elseif from_y < to_y then - -- Goes left-down - -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x - i, from_y + i)):get_name() ~= "" then - return 0 - end - end - else - -- Goes left-up - -- Ensure that no piece disturbs the way - for i = 1, dx - 1 do - if inv:get_stack(from_list, xy_to_index(from_x - i, from_y - i)):get_name() ~= "" then - return 0 - end - end - end - end - - -- KING - elseif pieceFrom:sub(11,14) == "king" then - local dx = from_x - to_x - local dy = from_y - to_y - local check = true - - if thisMove == "white" then - if from_y == 7 and to_y == 7 then - if to_x == 1 then - local castlingWhiteL = meta:get_int("castlingWhiteL") - local idx57 = inv:get_stack(from_list, 57):get_name() - - if castlingWhiteL == 1 and idx57 == "realchess:rook_white_1" then - for i = 58, from_index - 1 do - if inv:get_stack(from_list, i):get_name() ~= "" then - return 0 - end - end - inv:set_stack(from_list, 57, "") - inv:set_stack(from_list, 59, "realchess:rook_white_1") - check = false - end - elseif to_x == 6 then - local castlingWhiteR = meta:get_int("castlingWhiteR") - local idx64 = inv:get_stack(from_list, 64):get_name() - - if castlingWhiteR == 1 and idx64 == "realchess:rook_white_2" then - for i = from_index + 1, 63 do - if inv:get_stack(from_list, i):get_name() ~= "" then - return 0 - end - end - inv:set_stack(from_list, 62, "realchess:rook_white_2") - inv:set_stack(from_list, 64, "") - check = false - end - end - end - elseif thisMove == "black" then - if from_y == 0 and to_y == 0 then - if to_x == 1 then - local castlingBlackL = meta:get_int("castlingBlackL") - local idx1 = inv:get_stack(from_list, 1):get_name() - - if castlingBlackL == 1 and idx1 == "realchess:rook_black_1" then - for i = 2, from_index - 1 do - if inv:get_stack(from_list, i):get_name() ~= "" then - return 0 - end - end - - inv:set_stack(from_list, 1, "") - inv:set_stack(from_list, 3, "realchess:rook_black_1") - check = false - end - elseif to_x == 6 then - local castlingBlackR = meta:get_int("castlingBlackR") - local idx8 = inv:get_stack(from_list, 1):get_name() - - if castlingBlackR == 1 and idx8 == "realchess:rook_black_2" then - for i = from_index + 1, 7 do - if inv:get_stack(from_list, i):get_name() ~= "" then - return 0 - end - end - - inv:set_stack(from_list, 6, "realchess:rook_black_2") - inv:set_stack(from_list, 8, "") - check = false - end - end - end - end - - if check then - if dx < 0 then - dx = -dx - end - - if dy < 0 then - dy = -dy - end - - if dx > 1 or dy > 1 then - return 0 - end - end - - if thisMove == "white" then - meta:set_int("castlingWhiteL", 0) - meta:set_int("castlingWhiteR", 0) - - elseif thisMove == "black" then - meta:set_int("castlingBlackL", 0) - meta:set_int("castlingBlackR", 0) - end - end - - local board = board_to_table(inv) - board[to_index] = board[from_index] - board[from_index] = "" - - local black_king_idx, white_king_idx = locate_kings(board) - local blackAttacked = attacked("black", black_king_idx, board) - local whiteAttacked = attacked("white", white_king_idx, board) - - if blackAttacked then - if thisMove == "black" and meta:get_string("blackAttacked") == "true" then - return 0 - else - meta:set_string("blackAttacked", "true") - end - else - meta:set_string("blackAttacked", "") - end - - if whiteAttacked then - if thisMove == "white" and meta:get_string("whiteAttacked") == "true" then - return 0 - else - meta:set_string("whiteAttacked", "true") - end - else - meta:set_string("whiteAttacked", "") - end - - lastMove = thisMove - - meta:set_string("lastMove", lastMove) - meta:set_int("lastMoveTime", minetest.get_gametime()) - meta:set_string("playerWhite", playerWhite) - meta:set_string("playerBlack", playerBlack) - - local pieceTo_s = pieceTo ~= "" and pieceTo:match(":(%w+_%w+)") or "" - get_moves_list(meta, pieceFrom, pieceTo, pieceTo_s, from_x, to_x, from_y, to_y) - get_eaten_list(meta, pieceTo, pieceTo_s) - - return 1 -end - -function realchess.on_move(pos, from_list, from_index) - local meta = minetest.get_meta(pos) - local inv = meta:get_inventory() - inv:set_stack(from_list, from_index, '') - - local black_king_attacked = meta:get_string("blackAttacked") == "true" - local white_king_attacked = meta:get_string("whiteAttacked") == "true" - - local playerWhite = meta:get_string("playerWhite") - local playerBlack = meta:get_string("playerBlack") - - local moves = meta:get_string("moves") - local eaten_img = meta:get_string("eaten_img") - local lastMove = meta:get_string("lastMove") - local turnBlack = minetest.colorize("#000001", (lastMove == "white" and playerBlack ~= "") and - playerBlack .. "..." or playerBlack) - local turnWhite = minetest.colorize("#000001", (lastMove == "black" and playerWhite ~= "") and - playerWhite .. "..." or playerWhite) - local check_s = minetest.colorize("#FF0000", "\\[check\\]") - - local formspec = fs .. - "label[1.9,0.3;" .. turnBlack .. (black_king_attacked and " " .. check_s or "") .. "]" .. - "label[1.9,9.15;" .. turnWhite .. (white_king_attacked and " " .. check_s or "") .. "]" .. - "table[8.9,1.05;5.07,3.75;moves;" .. moves:sub(1,-2) .. ";1]" .. - eaten_img - - meta:set_string("formspec", formspec) - - return false -end - -local function timeout_format(timeout_limit) - local time_remaining = timeout_limit - minetest.get_gametime() - local minutes = math.floor(time_remaining / 60) - local seconds = time_remaining % 60 - - if minutes == 0 then - return seconds .. " sec." - end - - return minutes .. " min. " .. seconds .. " sec." -end - -function realchess.fields(pos, _, fields, sender) - local playerName = sender:get_player_name() - local meta = minetest.get_meta(pos) - local timeout_limit = meta:get_int("lastMoveTime") + 300 - local playerWhite = meta:get_string("playerWhite") - local playerBlack = meta:get_string("playerBlack") - local lastMoveTime = meta:get_int("lastMoveTime") - if fields.quit then return end - - -- Timeout is 5 min. by default for resetting the game (non-players only) - if fields.new then - if (playerWhite == playerName or playerBlack == playerName) then - realchess.init(pos) - - elseif lastMoveTime ~= 0 then - if minetest.get_gametime() >= timeout_limit and - (playerWhite ~= playerName or playerBlack ~= playerName) then - realchess.init(pos) - else - minetest.chat_send_player(playerName, chat_prefix .. - "You can't reset the chessboard, a game has been started. " .. - "If you aren't a current player, try again in " .. - timeout_format(timeout_limit)) - end - end - end -end - -function realchess.dig(pos, player) - if not player then - return false - end - - local meta = minetest.get_meta(pos) - local playerName = player:get_player_name() - local timeout_limit = meta:get_int("lastMoveTime") + 300 - local lastMoveTime = meta:get_int("lastMoveTime") - - -- Timeout is 5 min. by default for digging the chessboard (non-players only) - return (lastMoveTime == 0 and minetest.get_gametime() > timeout_limit) or - minetest.chat_send_player(playerName, chat_prefix .. - "You can't dig the chessboard, a game has been started. " .. - "Reset it first if you're a current player, or dig it again in " .. - timeout_format(timeout_limit)) -end - -minetest.register_node(":realchess:chessboard", { - description = "Chess Board", - drawtype = "nodebox", - paramtype = "light", - paramtype2 = "facedir", - inventory_image = "chessboard_top.png", - wield_image = "chessboard_top.png", - tiles = {"chessboard_top.png", "chessboard_top.png", "chessboard_sides.png"}, - groups = {choppy=3, oddly_breakable_by_hand=2, flammable=3}, - sounds = default.node_sound_wood_defaults(), - node_box = {type = "fixed", fixed = {-.375, -.5, -.375, .375, -.4375, .375}}, - sunlight_propagates = true, - on_rotate = screwdriver.rotate_simple, - can_dig = realchess.dig, - on_construct = realchess.init, - on_receive_fields = realchess.fields, - allow_metadata_inventory_move = realchess.move, - on_metadata_inventory_move = realchess.on_move, - allow_metadata_inventory_take = function() return 0 end -}) - -local function register_piece(name, count) - for _, color in pairs({"black", "white"}) do - if not count then - minetest.register_craftitem(":realchess:" .. name .. "_" .. color, { - description = color:gsub("^%l", string.upper) .. " " .. name:gsub("^%l", string.upper), - inventory_image = name .. "_" .. color .. ".png", - stack_max = 1, - groups = {not_in_creative_inventory=1} - }) - else - for i = 1, count do - minetest.register_craftitem(":realchess:" .. name .. "_" .. color .. "_" .. i, { - description = color:gsub("^%l", string.upper) .. " " .. name:gsub("^%l", string.upper), - inventory_image = name .. "_" .. color .. ".png", - stack_max = 1, - groups = {not_in_creative_inventory=1} - }) - end - end - end -end - -register_piece("pawn", 8) -register_piece("rook", 2) -register_piece("knight", 2) -register_piece("bishop", 2) -register_piece("queen") -register_piece("king") - --- Recipes - -minetest.register_craft({ - output = "realchess:chessboard", - recipe = { - {"dye:black", "dye:white", "dye:black"}, - {"stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood"} - } -}) diff --git a/realchess/mod.conf b/realchess/mod.conf deleted file mode 100644 index f03738b..0000000 --- a/realchess/mod.conf +++ /dev/null @@ -1 +0,0 @@ -name = realchess diff --git a/realchess/screenshot.png b/realchess/screenshot.png deleted file mode 100644 index 14587af9ac5933661e1b4b606ebff083e2c7514a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79984 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 zς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ñ<5 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

G`Gk=bf-=Zd-#&Kk&?kvf}UmuCui5l#N;zrrHxj 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